* lisp/emacs-lisp/pcase.el (pcase--fgrep): Look inside vectors
This commit is contained in:
parent
703115829b
commit
a69ef94e22
1 changed files with 9 additions and 4 deletions
|
@ -698,10 +698,15 @@ MATCH is the pattern that needs to be matched, of the form:
|
|||
(dolist (binding (pcase--fgrep bindings (pop sexp)))
|
||||
(push binding res)
|
||||
(setq bindings (remove binding bindings))))
|
||||
(let ((tmp (assq sexp bindings)))
|
||||
(if tmp
|
||||
(cons tmp res)
|
||||
res))))
|
||||
(if (vectorp sexp)
|
||||
;; With backquote, code can appear within vectors as well.
|
||||
;; This wouldn't be needed if we `macroexpand-all' before
|
||||
;; calling pcase--fgrep, OTOH.
|
||||
(pcase--fgrep bindings (mapcar #'identity sexp))
|
||||
(let ((tmp (assq sexp bindings)))
|
||||
(if tmp
|
||||
(cons tmp res)
|
||||
res)))))
|
||||
|
||||
(defun pcase--self-quoting-p (upat)
|
||||
(or (keywordp upat) (integerp upat) (stringp upat)))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue