diff lisp/emacs-lisp/lisp-mode.el @ 90979:988f1edc9674

Merge from emacs--devo--0 Patches applied: * emacs--devo--0 (patch 803-805) - Update from CVS Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-227
author Miles Bader <miles@gnu.org>
date Mon, 09 Jul 2007 08:00:55 +0000
parents 4ef881a120fe 4e74ad9f4345
children a66921565bcb
line wrap: on
line diff
--- a/lisp/emacs-lisp/lisp-mode.el	Sun Jul 08 18:09:12 2007 +0000
+++ b/lisp/emacs-lisp/lisp-mode.el	Mon Jul 09 08:00:55 2007 +0000
@@ -628,13 +628,13 @@
   (interactive "P")
   (if (null eval-expression-debug-on-error)
       (eval-last-sexp-1 eval-last-sexp-arg-internal)
-    (let ((old-value eval-last-sexp-fake-value) new-value value)
-      (let ((debug-on-error old-value))
-	(setq value (eval-last-sexp-1 eval-last-sexp-arg-internal))
-	(setq new-value debug-on-error))
-      (unless (eq old-value new-value)
-	(setq debug-on-error new-value))
-      value)))
+    (let ((value
+	   (let ((debug-on-error eval-last-sexp-fake-value))
+	     (cons (eval-last-sexp-1 eval-last-sexp-arg-internal)
+		   debug-on-error))))
+      (unless (eq (cdr value) eval-last-sexp-fake-value)
+	(setq debug-on-error (cdr value)))
+      (car value))))
 
 (defun eval-defun-1 (form)
   "Treat some expressions specially.