Subject: bug#30757: Better manipulation (suppressing, examining type) of warnings from *Warnings* buffer

From: Eli Zaretskii <[email-masked]>
Date: Fri, 09 Mar 2018 20:28:49 +0200

> From: Robert Pluim <[email-masked]>
> Cc: [email-masked],  [email-masked]
> Date: Fri, 09 Mar 2018 17:54:23 +0100
> 
> > "+++" means this change was documented in the manual(s), but this
> > change wasn't, AFAIU.  Shkuld this be documented in the ELisp manual?
> >
> 
> etc/NEWS says:
> 
>   +++ indicates that all necessary documentation updates are complete.
>       (This means all relevant manuals in doc/ AND lisp doc-strings.)
> 
> I'd looked through the manuals and couldn't see anywhere where I
> thought it should be documented, hence I only changed the
> doc-string. We can go for '---' in that case.

"---" is correct if a change needs not be documented, yes.

In this case, I wonder whether we should document this where
warning-suppress-types etc. are documented.

> +---
> +** Specific warnings can now be disabled from the warning buffer.
> +When a warning is displayed to the user, the resulting buffer now has
> +buttons which allow making permanent changes to the treatment of that
> +warning.  Automatic showing of the warning can be disabled (although
> +it is still generated), or generation of the warning can be disabled
> +entirely.

Instead of the vague "generation" I'd suggest to say explicitly that
its logged in the *Messages* buffer.  Otherwise, this text is a
significant improvement, thanks.

> +(define-button-type 'warning-suppress-warning
> +  'action #'warning-suppress-action
> +  'help-echo "mouse-2, RET: Don't display this warning automatically")
> +(defun warning-suppress-action (button)
> +  (customize-save-variable 'warning-suppress-types
> +                           (cons (list (button-get button 'warning-type))
> +                                 warning-suppress-types)))
> +(define-button-type 'warning-suppress-log-warning
> +  'action #'warning-suppress-log-action
> +  'help-echo "mouse-2, RET: Never generate this warning again")
> +(defun warning-suppress-log-action (button)
> +  (customize-save-variable 'warning-suppress-log-types
> +                           (cons (list (button-get button 'warning-type))
> +                                 warning-suppress-types)))

I think we should make similar changes in the help-echo strings.

> +              (insert-button "Disable showing automatically" 'type 'warning-suppress-warning 'warning-type type)
> +              (insert " ")
> +              (insert-button "Never generate" 'type 'warning-suppress-log-warning 'warning-type type)

And here.