[PATCH] emacs: wash: make word-wrap bound message width

Mark Walters markwalters1009 at gmail.com
Sun Aug 21 23:49:18 PDT 2016


On Sat, 20 Aug 2016, Tomi Ollila <tomi.ollila at iki.fi> wrote:
> On Wed, Jul 06 2016, Mark Walters <markwalters1009 at gmail.com> wrote:
>
>> Previously if notmuch-wash-wrap-lines-length was set then all messages
>> would be wrapped at this value (or window-width if that is
>> smaller). This was done regardless of the message's depth in a thread:
>> for example, if the n.w.w.l.l is 80 and the messages depth is 20
>> (so indented 20 by default) the messages text only got 60 characters
>> of space.
>>
>> This commit changes that so a message always gets the full n.w.w.l.l
>> of width regardless of its indentation (unless that goes over
>> window-width of course).
>> ---
>>
>> This is what I would like -- I don't know if anyone would like to keep
>> the previous behaviour as an option. The code-part for that is easy, but getting
>> the docstrings and and defcustoms right is not clear.
>
> The change looks good to me -- but I just don't understand why someone
> would set notmuch-wash-wrap-lines-length to something else than nil
> -- and if it is set to some number what the behaviour should be ?

I like to run notmuch in a very wide window as that make search view
work better. But I don't like to read very wide text in show
view. Emails sent from notmuch are fine as they hard-wrapped at
something like 80 characters (usually), but some clients seem to make
each paragraph one line and leave the recipient to wrap the text.

notmuch-word-wrap-long-lines just controls where to wrap this text. The
problem with the current version is that it ignores the indentation due
to being deep in a thread, so if I set it to 80, then deep messages
(even ones hard wrapped to 80) get wrapped at say 60 characters.

Mine wraps at indentation+80 (if you set nw.w.l.l to 80) which means no
hard-wrapped message get further wrapped however deep in a thread it is.

Best wishes

Mark

>> emacs/notmuch-wash.el | 6 +++---
>>  1 file changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/emacs/notmuch-wash.el b/emacs/notmuch-wash.el
>> index 57e6dfa..e16b8cc 100644
>> --- a/emacs/notmuch-wash.el
>> +++ b/emacs/notmuch-wash.el
>> @@ -121,8 +121,8 @@ collapse the remaining lines into a button."
>>  
>>  If this is nil, lines in messages will be wrapped to fit in the
>>  current window. If this is a number, lines will be wrapped after
>> -this many characters or at the window width (whichever one is
>> -lower)."
>> +this many characters (ignoring indentation due to thread depth)
>> +or at the window width (whichever one is lower)."
>>    :type '(choice (const :tag "window width" nil)
>>  		 (integer :tag "number of characters"))
>>    :group 'notmuch-wash)
>> @@ -336,7 +336,7 @@ the wrapped text are maintained."
>>  
>>    (let* ((coolj-wrap-follows-window-size nil)
>>  	 (limit (if (numberp notmuch-wash-wrap-lines-length)
>> -		    (min notmuch-wash-wrap-lines-length
>> +		    (min (+ notmuch-wash-wrap-lines-length depth)
>>  			 (window-width))
>>  		  (window-width)))
>>  	 (fill-column (- limit
>> -- 
>> 2.1.4
>>
>> _______________________________________________
>> notmuch mailing list
>> notmuch at notmuchmail.org
>> https://notmuchmail.org/mailman/listinfo/notmuch


More information about the notmuch mailing list