[PATCH] emacs: show: stop display of appliaction/* parts

Tomi Ollila tomi.ollila at iki.fi
Sun Jan 8 09:44:36 PST 2017


On Sun, Jan 08 2017, Tomi Ollila <tomi.ollila at iki.fi> wrote:

> On Sat, Jan 07 2017, Mark Walters <markwalters1009 at gmail.com> wrote:
>
>> Gnus seems to display application/zip and application/tar by
>> default. This doesn't seem desirable so we override it.
>>
>> We only override ifthe user has not customized
>> mm-inline-override-types themselves.
>> ---
>
> I suggest 2 things:
>
> 1) fix typos ;)
> 2) do it like this: 
> +	 (if (equal mm-inline-override-types
> +		    (car (get 'mm-inline-override-types 'standard-value)))

I tried to test the above in emacs *scratch* buffer, but cannot get
either of the formats work when variable is non-nil.
example tries

(defcustom a '(a b) "a")
(defcustom b (list "a" "b") "b")
(defcustom c (cons 1 nil) "c")

then

(equal a (car (get 'a 'standard-value))) C-j
nil

(equal (list a) (get 'a 'standard-value)) C-j
nil

same with b & c

with (defcustom n nil "n") the above work

According to defcustom documentation the expression of STANDARD
is also stored -- when evaluating (get 'var 'standard-value) the
output looks like it: for example (get 'c 'standard-value)
((cons 1 nil))

If the same happens when using the patch, then we need to look alternative
-- there might be something good, as customize knows when variable is
modified...

Tomi

>
> Tomas: you can also pick the full function definition from notmuch-show.el
> and write it to ~/.emacs.d/notmuch-config.el -- if you do this you
> have to remember to remove it whenever you're upgrading to notmuch 0.24(?)
>
> Tomi
>
>> This was mentioned on irc today and this might be a reasonable way of
>> doing this.
>>
>> It does mean that if a user adds, for example, image/* to
>> mm-inline-override-types then application/* will be displayed again.
>>
>> It also makes it slightly awkward to allow all types (eg setting
>> mm-inline-override-types to non/existent would do).
>>
>> Also I feel there ought to be a better way to tell if a variable has
>> been customized (or otherwise set), but I didn't find one.
>>
>> Best wishes
>>
>> Mark
>>
>>
>> emacs/notmuch-show.el | 10 +++++++++-
>>  1 file changed, 9 insertions(+), 1 deletion(-)
>>
>> diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el
>> index 364004b..42734ac 100644
>> --- a/emacs/notmuch-show.el
>> +++ b/emacs/notmuch-show.el
>> @@ -1227,7 +1227,15 @@ matched."
>>    (interactive "sNotmuch show: \nP")
>>    (let ((buffer-name (generate-new-buffer-name
>>  		      (or buffer-name
>> -			  (concat "*notmuch-" thread-id "*")))))
>> +			  (concat "*notmuch-" thread-id "*"))))
>> +	;; We override mm-inline-override-types to stop appliacation/*
>> +	;; parts from being displayed unless the user has customized
>> +	;; it themselves.
>> +	(mm-inline-override-types
>> +	 (if (equal (list mm-inline-override-types)
>> +		    (get 'mm-inline-override-types 'standard-value))
>> +	     (cons "application/*" mm-inline-override-types)
>> +	   mm-inline-override-types)))
>>      (switch-to-buffer (get-buffer-create buffer-name))
>>      ;; No need to track undo information for this buffer.
>>      (setq buffer-undo-list t)
>> -- 
>> 2.1.4
>>
>> _______________________________________________
>> notmuch mailing list
>> notmuch at notmuchmail.org
>> https://notmuchmail.org/mailman/listinfo/notmuch
> _______________________________________________
> notmuch mailing list
> notmuch at notmuchmail.org
> https://notmuchmail.org/mailman/listinfo/notmuch


More information about the notmuch mailing list