# HG changeset patch # User Glenn Morris # Date 1248151336 0 # Node ID f0176ca49d34efa0cc387975a6b43cfeaa8417d1 # Parent e33bcaf2d8c18884fa027622b4b3ab3e0bb10093 (cl-debug-env): Only define for compiler. (edebug-eval): Check cl-debug-env is bound. (print-level, print-circle): Don't redefine built-in variables. diff -r e33bcaf2d8c1 -r f0176ca49d34 lisp/emacs-lisp/edebug.el --- a/lisp/emacs-lisp/edebug.el Tue Jul 21 04:41:29 2009 +0000 +++ b/lisp/emacs-lisp/edebug.el Tue Jul 21 04:42:16 2009 +0000 @@ -3653,11 +3653,11 @@ )) ; let )) -(defvar cl-debug-env nil) ;; defined in cl; non-nil when lexical env used. +(defvar cl-debug-env) ; defined in cl; non-nil when lexical env used. (defun edebug-eval (edebug-expr) ;; Are there cl lexical variables active? - (if cl-debug-env + (if (bound-and-true-p cl-debug-env) (eval (cl-macroexpand-all edebug-expr cl-debug-env)) (eval edebug-expr))) @@ -3685,10 +3685,7 @@ (prin1-to-string edebug-arg))) (cdr edebug-value) ", "))) -;; Define here in case they are not already defined. -(defvar print-level nil) -(defvar print-circle nil) -(defvar print-readably) ;; defined by lemacs +(defvar print-readably) ; defined by lemacs ;; Alternatively, we could change the definition of ;; edebug-safe-prin1-to-string to only use these if defined. @@ -3697,7 +3694,7 @@ (print-length (or edebug-print-length print-length)) (print-level (or edebug-print-level print-level)) (print-circle (or edebug-print-circle print-circle)) - (print-readably nil)) ;; lemacs uses this. + (print-readably nil)) ; lemacs uses this. (condition-case nil (edebug-prin1-to-string value) (error "#Apparently circular structure#")))) @@ -3760,6 +3757,7 @@ ;;; Edebug Minor Mode +;; FIXME eh? (defvar gud-inhibit-global-bindings "*Non-nil means don't do global rebindings of C-x C-a subcommands.")