[PATCH 2/2] emacs: compat: backport fix for folding long headers when sending

Mark Walters markwalters1009 at gmail.com
Sun Jan 29 02:04:41 PST 2017


This backports the fix from emacs master (commit
77bbca8c82f6e553c42abbfafca28f55fc995d00) to notmuch-emacs to wrap
long headers.

This fixes the test introduced in the previous changeset.
---
 emacs/notmuch-compat.el | 28 ++++++++++++++++++++++++----
 test/T310-emacs.sh      |  1 -
 2 files changed, 24 insertions(+), 5 deletions(-)

diff --git a/emacs/notmuch-compat.el b/emacs/notmuch-compat.el
index c3d827a..e71e861 100644
--- a/emacs/notmuch-compat.el
+++ b/emacs/notmuch-compat.el
@@ -1,8 +1,28 @@
-;; Compatibility functions for emacs 23 and 24 pre 24.4
+;; Compatibility functions for earlier versions of emacs
 
-;; The functions in this file are copied from eamcs 24.4 and are
-;; Copyright (C) 1985-1986, 1992, 1994-1995, 1999-2014 Free Software
-;; Foundation, Inc.
+;; The functions in this file are copied from more modern versions of
+;; emacs and are Copyright (C) 1985-1986, 1992, 1994-1995, 1999-2017
+;; Free Software Foundation, Inc.
+
+
+
+;; emacs master has a bugfix for folding long headers when sending
+;; messages. Include the fix for earlier versions of emacs. To avoid
+;; interfering with gnus we only run the hook when called from
+;; notmuch-message-mode.
+
+(declare-function mail-header-fold-field "mail-parse" nil)
+
+(unless (fboundp 'message--fold-long-headers)
+  (add-hook 'message-header-hook
+	    (lambda ()
+	      (when (eq major-mode 'notmuch-message-mode)
+		(goto-char (point-min))
+		(while (not (eobp))
+		  (when (and (looking-at "[^:]+:")
+			     (> (- (line-end-position) (point)) 998))
+		    (mail-header-fold-field))
+		  (forward-line 1))))))
 
 (if (fboundp 'setq-local)
     (defalias 'notmuch-setq-local 'setq-local)
diff --git a/test/T310-emacs.sh b/test/T310-emacs.sh
index 5331514..a486df8 100755
--- a/test/T310-emacs.sh
+++ b/test/T310-emacs.sh
@@ -209,7 +209,6 @@ EOF
 test_expect_equal_file OUTPUT EXPECTED
 
 test_begin_subtest "Folding a long header when sending via (fake) SMTP"
-test_subtest_known_broken
 long_subject="This is a long subject `seq -s ' ' 1 1000`"
 emacs_deliver_message \
     "${long_subject}" \
-- 
2.1.4



More information about the notmuch mailing list