diff lisp/modes/lisp-mode.el @ 155:43dd3413c7c7 r20-3b4

Import from CVS: tag r20-3b4
author cvs
date Mon, 13 Aug 2007 09:39:39 +0200
parents 25f70ba0133c
children 28f395d8dc7a
line wrap: on
line diff
--- a/lisp/modes/lisp-mode.el	Mon Aug 13 09:38:27 2007 +0200
+++ b/lisp/modes/lisp-mode.el	Mon Aug 13 09:39:39 2007 +0200
@@ -366,11 +366,17 @@
 (defun eval-interactive (expr)
   "Like `eval' except that it transforms defvars to defconsts."
   ;; by Stig@hackvan.com
-  (if (and (consp expr)
-	   (eq (car expr) 'defvar)
-	   (> (length expr) 2))
-      (eval (cons 'defconst (cdr expr)))
-    (eval expr)))
+  (cond ((and (consp expr)
+	      (eq (car expr) 'defvar)
+	      (> (length expr) 2))
+	 (eval (cons 'defconst (cdr expr))))
+	((and (consp expr)
+	      (eq (car expr) 'defcustom)
+	      (> (length expr) 2))
+	 (makunbound (nth 1 expr))
+	 (eval expr))
+	(t
+	 (eval expr))))
 
 ;; XEmacs change, based on Bob Weiner suggestion
 (defun eval-last-sexp (eval-last-sexp-arg-internal) ;dynamic scoping wonderment