Index: ielm.el =================================================================== RCS file: /sources/emacs/emacs/lisp/ielm.el,v retrieving revision 1.58 diff -u -r1.58 ielm.el --- ielm.el 8 Jan 2008 20:44:50 -0000 1.58 +++ ielm.el 15 Feb 2008 14:19:32 -0000 @@ -300,9 +300,10 @@ ;;; Utility functions -(defun ielm-is-whitespace (string) +(defun ielm-is-whitespace-or-comment (string) "Return non-nil if STRING is all whitespace." - (or (string= string "") (string-match "\\`[ \t\n]+\\'" string))) + (or (string= string "") + (string-match "\\`[ \t\n]*\\(?:;.*\\)*\\'" string))) ;;; Evaluation @@ -327,7 +328,7 @@ (ielm-output "") ; result to display (ielm-wbuf ielm-working-buffer) ; current buffer after evaluation (ielm-pmark (ielm-pm))) - (if (not (ielm-is-whitespace ielm-string)) + (if (not (ielm-is-whitespace-or-comment ielm-string)) (progn (condition-case err (let (rout) @@ -342,7 +343,8 @@ (setq ielm-result "Working buffer has been killed" ielm-error-type "IELM Error" ielm-wbuf (current-buffer)) - (if (ielm-is-whitespace (substring ielm-string ielm-pos)) + (if (ielm-is-whitespace-or-comment + (substring ielm-string ielm-pos)) ;; To correctly handle the ielm-local variables *, ;; ** and ***, we need a temporary buffer to be ;; current at entry to the inner of the next two let