emacs: Remove over-eager regular expressions from notmuch-wash-tidy-citations.
authorDavid Edmondson <dme@dme.org>
Wed, 17 Nov 2010 13:32:33 +0000 (13:32 +0000)
committerCarl Worth <cworth@cworth.org>
Tue, 7 Dec 2010 22:10:43 +0000 (14:10 -0800)
The removed expressions, which were used to ensure that citations were
both preceded and followed by a blank line, were poorly implemented
and caused a regexp stack overflow on messages more than a few
thousand lines long.

emacs/notmuch-wash.el

index cfcfb21c01d4982ad2482ea3133708cfd6af40b2..c4a7a4103726dddbea1e8ebb439180608e615a37 100644 (file)
@@ -190,7 +190,7 @@ is what to put on the button."
 (defun notmuch-wash-tidy-citations (depth)
   "Improve the display of cited regions of a message.
 
-Perform four transformations on the message body:
+Perform several transformations on the message body:
 
 - Remove lines of repeated citation leaders with no other
   content,
@@ -214,17 +214,7 @@ Perform four transformations on the message body:
   ;; text.
   (goto-char (point-min))
   (while (re-search-forward "\\(^>[> ]*\n\\)\\(^$\\|^[^>].*\\)" nil t)
-    (replace-match "\\2"))
-
-  ;; Insert a blank line before a citation if there isn't one.
-  (goto-char (point-min))
-  (while (re-search-forward "\\(^[^>]+\\)\n>" nil t)
-    (replace-match "\\1\n\n>"))
-
-  ;; Insert a blank line after a citation if there isn't one.
-  (goto-char (point-min))
-  (while (re-search-forward "\\(^>.+\\)\n\\([^>]\\)" nil t)
-    (replace-match "\\1\n\n\\2")))
+    (replace-match "\\2")))
 
 ;;