[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