From d1341ef3f0d7f2e64d26791ea41c752feef3fd3c Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Sat, 16 Dec 2023 13:03:46 -0500 Subject: [PATCH] * lisp/subr.el (derived-mode-p): Disable warnings for old convention --- lisp/subr.el | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lisp/subr.el b/lisp/subr.el index 7f2dcdc4d90..7b52f4f68f9 100644 --- a/lisp/subr.el +++ b/lisp/subr.el @@ -2804,7 +2804,11 @@ MODES should be a list of symbols or a single mode symbol instead of a list. We also still support the deprecated calling convention: \(derived-mode-p &rest MODES)." (declare (side-effect-free t) - (advertised-calling-convention (modes) "30.1")) + ;; FIXME: It's cumbersome for external packages to write code which + ;; accommodates both the old and the new calling conventions *and* + ;; doesn't cause spurious warnings. So let's be more lenient + ;; for now and maybe remove `deprecated-args' for Emacs-31. + (advertised-calling-convention (modes &rest deprecated-args) "30.1")) (provided-mode-derived-p major-mode (if old-modes (cons modes old-modes) modes))) -- 2.39.2