Mark Walters <markwalters1009@gmail.com> writes: > 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 ++++++++++++++++++++++++---- > 1 file changed, 24 insertions(+), 4 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. > + > + > + Seems to be a lot of blank lines. > +;; 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)))))) I'm just parroting what I've read, but it makes it hard for people to manage hooks when you use a lambda instead of a named function. What do you think about defining something notmuch-message--fold-long-headers (using your code above) and adding that to the hook is message--fold-long-headers is unbound? d