From: Carl Worth Date: Mon, 16 Nov 2009 22:53:02 +0000 (-0800) Subject: notmuch.el: Insert a newline if the last line of a part is missing one. X-Git-Tag: 0.1~485 X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=commitdiff_plain;h=ea484f0ebf3f25fbc701b061f36e2fe167057cc3 notmuch.el: Insert a newline if the last line of a part is missing one. I think there's a GMime bug that we're getting parts decoded without a final newline (the encoded parts seem to have them just fine). We can workaround the bug easily enough by finding a part-closing delimiter that is not at the beginning of a line, and if so, just insert a newline. Without this, the one-line-summary of the next message would continue on the same line as the last line of the previous message, (and this would often happen for mailing-list messages where mailman would add an extra part for its signature block). --- diff --git a/notmuch.el b/notmuch.el index 6d609dba..f1523ac0 100644 --- a/notmuch.el +++ b/notmuch.el @@ -464,11 +464,15 @@ which this thread was originally shown." (let ((beg (point-marker))) (re-search-forward notmuch-show-part-end-regexp) (let ((end (copy-marker (match-beginning 0)))) + (goto-char end) + (if (not (bolp)) + (insert "\n")) (indent-rigidly beg end depth) (notmuch-show-markup-citations-region beg end depth) ; Advance to the next part (if any) (so the outer loop can ; determine whether we've left the current message. - (re-search-forward notmuch-show-part-begin-regexp nil t)))) + (if (re-search-forward notmuch-show-part-begin-regexp nil t) + (beginning-of-line))))) (goto-char end))) (defun notmuch-show-markup-parts-region (beg end depth)