From: Stefan Monnier Date: Wed, 10 Jun 2015 02:14:47 +0000 (-0400) Subject: * lisp/simple.el (eval-expression): Macroexpand before evaluating (bug#20730) X-Git-Tag: emacs-25.0.90~1814 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=0fad7268a8c552274c842ab24a085bd43946f2db;p=emacs.git * lisp/simple.el (eval-expression): Macroexpand before evaluating (bug#20730) --- diff --git a/lisp/simple.el b/lisp/simple.el index 4ef45c5d45d..9dfb3f25181 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -353,27 +353,6 @@ Other major modes are defined by comparison with this one." (kill-all-local-variables) (run-mode-hooks)) -;; Special major modes to view specially formatted data rather than files. - -(defvar special-mode-map - (let ((map (make-sparse-keymap))) - (suppress-keymap map) - (define-key map "q" 'quit-window) - (define-key map " " 'scroll-up-command) - (define-key map [?\S-\ ] 'scroll-down-command) - (define-key map "\C-?" 'scroll-down-command) - (define-key map "?" 'describe-mode) - (define-key map "h" 'describe-mode) - (define-key map ">" 'end-of-buffer) - (define-key map "<" 'beginning-of-buffer) - (define-key map "g" 'revert-buffer) - map)) - -(put 'special-mode 'mode-class 'special) -(define-derived-mode special-mode nil "Special" - "Parent major mode from which special major modes should inherit." - (setq buffer-read-only t)) - ;; Making and deleting lines. (defvar self-insert-uses-region-functions nil @@ -1448,7 +1427,7 @@ this command arranges for all errors to enter the debugger." ;; Bind debug-on-error to something unique so that we can ;; detect when evalled code changes it. (let ((debug-on-error old-value)) - (push (eval exp lexical-binding) values) + (push (eval (macroexpand-all exp) lexical-binding) values) (setq new-value debug-on-error)) ;; If evalled code has changed the value of debug-on-error, ;; propagate that change to the global binding.