# HG changeset patch # User Stefan Monnier # Date 1214406333 0 # Node ID b0ac9927a5c0a534343942d89b7e3862cb5e9a71 # Parent a9507acee8022fb7dc46f98ceab4742c51e8e968 (eshell-manipulate): Check eshell-debug-command is bound before using it. diff -r a9507acee802 -r b0ac9927a5c0 lisp/ChangeLog --- a/lisp/ChangeLog Wed Jun 25 15:01:47 2008 +0000 +++ b/lisp/ChangeLog Wed Jun 25 15:05:33 2008 +0000 @@ -1,3 +1,8 @@ +2008-06-25 Stefan Monnier + + * eshell/esh-cmd.el (eshell-manipulate): Check eshell-debug-command + is bound before using it. + 2008-06-25 Kenichi Handa * image.el (image-jpeg-p): Convert DATA to unibyte at first. @@ -20,13 +25,13 @@ 2008-06-25 Andreas Schwab - * faces.el (face-font-family-alternatives, variable-pitch): Use - "Sans Serif", not "Sans-Serif". + * faces.el (face-font-family-alternatives, variable-pitch): + Use "Sans Serif", not "Sans-Serif". 2008-06-24 Chong Yidong - * faces.el (face-font-family-alternatives, variable-pitch): Change - "Sans" to the canonical name "Sans-Serif". + * faces.el (face-font-family-alternatives, variable-pitch): + Change "Sans" to the canonical name "Sans-Serif". 2008-06-24 Jay Belanger diff -r a9507acee802 -r b0ac9927a5c0 lisp/eshell/esh-cmd.el --- a/lisp/eshell/esh-cmd.el Wed Jun 25 15:01:47 2008 +0000 +++ b/lisp/eshell/esh-cmd.el Wed Jun 25 15:05:33 2008 +0000 @@ -397,8 +397,7 @@ "Output a debugging message to '*eshell last cmd*'." (let ((buf (get-buffer-create "*eshell last cmd*")) (text (eshell-stringify eshell-current-command))) - (save-excursion - (set-buffer buf) + (with-current-buffer buf (if (not tag) (erase-buffer) (insert "\n\C-l\n" tag "\n\n" text @@ -997,11 +996,9 @@ (list 'eshell-do-eval (list 'quote command))))) (and eshell-debug-command - (save-excursion - (let ((buf (get-buffer-create "*eshell last cmd*"))) - (set-buffer buf) - (erase-buffer) - (insert "command: \"" input "\"\n")))) + (with-current-buffer (get-buffer-create "*eshell last cmd*") + (erase-buffer) + (insert "command: \"" input "\"\n"))) (setq eshell-current-command command) (let ((delim (catch 'eshell-incomplete (eshell-resume-eval)))) @@ -1041,7 +1038,9 @@ (defmacro eshell-manipulate (tag &rest commands) "Manipulate a COMMAND form, with TAG as a debug identifier." - (if (not eshell-debug-command) + ;; Check `bound'ness since at compile time the code until here has not + ;; executed yet. + (if (not (and (boundp 'eshell-debug-command) eshell-debug-command)) `(progn ,@commands) `(progn (eshell-debug-command ,(eval tag) form)