diff options
author | Paul Pogonyshev <pogonyshev@gmail.com> | 2017-03-12 09:51:23 +0100 |
---|---|---|
committer | Mark Oteiza <mvoteiza@udel.edu> | 2017-03-19 15:03:35 -0400 |
commit | 0d112c00ba0ec14bd3014efcd3430b9ddcfe1fc1 (patch) | |
tree | ba0111024dbfb91bfb1aab36c5648255fbf81452 /lisp | |
parent | d602785139c57274e835e7b56305d42e72a28b0d (diff) | |
download | emacs-0d112c00ba0ec14bd3014efcd3430b9ddcfe1fc1.tar.gz emacs-0d112c00ba0ec14bd3014efcd3430b9ddcfe1fc1.tar.bz2 emacs-0d112c00ba0ec14bd3014efcd3430b9ddcfe1fc1.zip |
Fix bug in generator function with pcase (Bug#26068)
* lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand): Remove some calls
to symbol-name.
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/emacs-lisp/cl-macs.el | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el index 40342f3fe48..58bcdd52acf 100644 --- a/lisp/emacs-lisp/cl-macs.el +++ b/lisp/emacs-lisp/cl-macs.el @@ -2059,8 +2059,8 @@ except that it additionally expands symbol macros." (pcase exp ((pred symbolp) ;; Perform symbol-macro expansion. - (when (cdr (assq (symbol-name exp) env)) - (setq exp (cadr (assq (symbol-name exp) env))))) + (when (cdr (assq exp env)) + (setq exp (cadr (assq exp env))))) (`(setq . ,_) ;; Convert setq to setf if required by symbol-macro expansion. (let* ((args (mapcar (lambda (f) (cl--sm-macroexpand f env)) @@ -2078,7 +2078,7 @@ except that it additionally expands symbol macros." (let ((letf nil) (found nil) (nbs ())) (dolist (binding bindings) (let* ((var (if (symbolp binding) binding (car binding))) - (sm (assq (symbol-name var) env))) + (sm (assq var env))) (push (if (not (cdr sm)) binding (let ((nexp (cadr sm))) @@ -2149,7 +2149,7 @@ by EXPANSION, and (setq NAME ...) will act like (setf EXPANSION ...). (let ((expansion ;; FIXME: For N bindings, this will traverse `body' N times! (macroexpand-all (macroexp-progn body) - (cons (list (symbol-name (caar bindings)) + (cons (list (caar bindings) (cl-cadar bindings)) macroexpand-all-environment)))) (if (or (null (cdar bindings)) (cl-cddar bindings)) |