Macroexpand before evaluating in eval-expression (bis)
authorCharles A. Roelli <charles@aurox.ch>
Sat, 22 Dec 2018 16:28:35 +0000 (17:28 +0100)
committerCharles A. Roelli <charles@aurox.ch>
Sat, 22 Dec 2018 16:29:37 +0000 (17:29 +0100)
* lisp/simple.el (eval-expression): Macroexpand before
evaluating.  This repeats the fix made for Bug#20730 in
another branch of the code a few lines down.

lisp/simple.el

index 6765f1c995525f4f6c200e66bb7811490669a5ff..905477a1420f6ba59b99611bad42bd6b4b958f84 100644 (file)
@@ -1615,7 +1615,7 @@ this command arranges for all errors to enter the debugger."
          (eval-expression-get-print-arguments current-prefix-arg)))
 
   (if (null eval-expression-debug-on-error)
-      (push (eval exp lexical-binding) values)
+      (push (eval (macroexpand-all exp) lexical-binding) values)
     (let ((old-value (make-symbol "t")) new-value)
       ;; Bind debug-on-error to something unique so that we can
       ;; detect when evalled code changes it.