* 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.
This commit is contained in:
parent
37bed70f4c
commit
4591d93a8e
1 changed files with 6 additions and 5 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue