1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-22 07:09:54 +00:00

Fix warning-suppress for list type "warning type"

Per the documentation of 'warning-suppress-types' and the
implementation of 'warning-suppress-p', a warning type can
be either a symbol or a list of symbols.  The previous
implementation could generate wrong 'warning-suppress-types':

  old behavior:
  type              warning-suppress-types
  pkg           ->    '((pkg))                  Correct
  (pkg subtype) ->    '(((pkg subtype)))        Incorrect

Now we check whether type is a cons cell first.  (Should not
use listp here, as listp returns t for nil.)

  new behavior:
  type              warning-suppress-types
  pkg           ->    '((pkg))                Correct
  (pkg subtype) ->    '((pkg subtype))        Correct

* lisp/emacs-lisp/warnings.el (warnings-suppress): Fix saving
warning types in 'warning-suppress-types'.  (Bug#70063)

Copyright-paperwork-exempt: yes
This commit is contained in:
Xuan Wang 2024-03-28 20:34:23 -04:00 committed by Eli Zaretskii
parent 910ea5f1e5
commit 46b8746b38

View File

@ -224,10 +224,14 @@ SUPPRESS-LIST is the list of kinds of warnings to suppress."
(?q "quit and do nothing"))))
(?y
(customize-save-variable 'warning-suppress-log-types
(cons (list type) warning-suppress-log-types)))
(if (consp type)
(cons type warning-suppress-log-types)
(cons (list type) warning-suppress-log-types))))
(?n
(customize-save-variable 'warning-suppress-types
(cons (list type) warning-suppress-types)))
(if (consp type)
(cons type warning-suppress-types)
(cons (list type) warning-suppress-types))))
(_ (message "Exiting"))))
;;;###autoload