From 56cb580c4d342ff7a6178db123d070d7abccb1bc Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Thu, 26 Sep 2024 16:40:54 -0400 Subject: [PATCH] * lisp/emacs-lisp/pcase.el (pcase--expand-\`): Improve warning message And also move the warning "out of the way" so it doesn't confuse optimizations. (cherry picked from commit 4591d93a8e5e79e7fea8a67c84c6adf0ea8add28) --- lisp/emacs-lisp/pcase.el | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/lisp/emacs-lisp/pcase.el b/lisp/emacs-lisp/pcase.el index fe62820f0cb..898d460c144 100644 --- a/lisp/emacs-lisp/pcase.el +++ b/lisp/emacs-lisp/pcase.el @@ -1172,12 +1172,13 @@ The predicate is the logical-AND of: (upatd (pcase--expand-\` (cdr qpat)))) (if (and (eq (car-safe upata) 'quote) (eq (car-safe upatd) 'quote)) `'(,(cadr upata) . ,(cadr upatd)) - `(and ,@(when (eq (car qpat) '\`) - `((guard ,(macroexp-warn-and-return - "Nested ` are not supported" t nil nil qpat)))) - (pred consp) + `(and (pred consp) (app car-safe ,upata) - (app cdr-safe ,upatd))))) + (app cdr-safe ,upatd) + ,@(when (eq (car qpat) '\`) + `((guard ,(macroexp-warn-and-return + "Nested ` are not supported in Pcase patterns" + t nil nil qpat)))))))) ((or (stringp qpat) (numberp qpat) (symbolp qpat)) `',qpat) ;; In all other cases just raise an error so we can't break ;; backward compatibility when adding \` support for other -- 2.39.5