[PATCH] emacs: Remove over-eager regular expressions from notmuch-wash-tidy-citations.
David Edmondson
dme at dme.org
Wed Nov 17 05:32:33 PST 2010
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.
---
Carl, I was not able to find a version of the regular expressions that
didn't easily overflow. For now, this patch removes the problematic
expressions and I'll look for a better solution.
emacs/notmuch-wash.el | 14 ++------------
1 files changed, 2 insertions(+), 12 deletions(-)
diff --git a/emacs/notmuch-wash.el b/emacs/notmuch-wash.el
index cfcfb21..c4a7a41 100644
--- a/emacs/notmuch-wash.el
+++ b/emacs/notmuch-wash.el
@@ -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")))
;;
--
1.7.2.3
More information about the notmuch
mailing list