From: Xuan Wang Date: Fri, 29 Mar 2024 00:34:23 +0000 (-0400) Subject: Fix warning-suppress for list type "warning type" X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=c5e6ab2bdd159187b325c705a1fe08af0b36fa4a;p=emacs.git 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 (cherry picked from commit 46b8746b38e26ae3f216f57f231f5fc8aec22873) --- diff --git a/lisp/emacs-lisp/warnings.el b/lisp/emacs-lisp/warnings.el index 6c62a56e99c..8b43c6a8726 100644 --- a/lisp/emacs-lisp/warnings.el +++ b/lisp/emacs-lisp/warnings.el @@ -225,10 +225,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