[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: 23.0.50; ielm doesn't handle comments
From: |
Lawrence Mitchell |
Subject: |
Re: 23.0.50; ielm doesn't handle comments |
Date: |
Thu, 14 Feb 2008 16:10:16 +0000 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux) |
Adam Winiecki wrote:
> --text follows this line--
> while using ielm in emacs 23.0.50 and emacs 22.1, any code run in ielm
> with a comment will cause ielm to fail:
> ELISP> (message "hi") ;;ouch
> *** IELM error *** More than one sexp in input
> ELISP> (setq foo 1) ;;ouch
> *** IELM error *** More than one sexp in input
This didn't work in 21 either. The problem is that
ielm-eval-input considers a comment on the end of the final input
line to be a second form (it isn't ignore like whitespace is).
The following patch, while perhaps not TRT fixes this problem.
diff --git a/lisp/ielm.el b/lisp/ielm.el
index 764e78b..8a77ba8 100644
--- a/lisp/ielm.el
+++ b/lisp/ielm.el
@@ -300,9 +300,9 @@ simply inserts a newline."
;;; 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 +327,7 @@ simply inserts a newline."
(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 +342,8 @@ simply inserts a newline."
(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
ChangeLog entry:
Lawrence Mitchell <address@hidden>
* ielm.el (ielm-is-whitespace): Remove.
(ielm-is-whitespace-or-comment): New function.
(ielm-eval-input): Use it.
--
Lawrence Mitchell <address@hidden>
- 23.0.50; ielm doesn't handle comments, Adam Winiecki, 2008/02/13
- Re: 23.0.50; ielm doesn't handle comments,
Lawrence Mitchell <=
- Re: 23.0.50; ielm doesn't handle comments, Richard Stallman, 2008/02/14
- Re: 23.0.50; ielm doesn't handle comments, Bastien Guerry, 2008/02/14
- Re: 23.0.50; ielm doesn't handle comments, Reiner Steib, 2008/02/14
- Re: 23.0.50; ielm doesn't handle comments, Bastien Guerry, 2008/02/14
- Re: 23.0.50; ielm doesn't handle comments, Lawrence Mitchell, 2008/02/14
- Re: 23.0.50; ielm doesn't handle comments, Bastien, 2008/02/14
- Re: 23.0.50; ielm doesn't handle comments, Lawrence Mitchell, 2008/02/15
- Re: 23.0.50; ielm doesn't handle comments, Bastien Guerry, 2008/02/15
- Re: 23.0.50; ielm doesn't handle comments, Bastien Guerry, 2008/02/15