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)