[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Can UNREAD completely undo READCHAR?
From: |
Leo |
Subject: |
Can UNREAD completely undo READCHAR? |
Date: |
Tue, 28 Dec 2010 20:34:11 +0000 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.2.91 (Mac OS X 10.6.5) |
Hello all,
I tried the following experiment (as in the attached patch) and emacs
failed to dump. Any ideas? Thanks in advance.
(gdb) r -batch -l loadup
Starting program: /Users/Shared/emacs/src/temacs -batch -l loadup
Reading symbols for shared libraries
.++++++++++++........................................................................................
done
Loading loadup.el (source)...
Using load-path (/Users/Shared/emacs/lisp)
Loading emacs-lisp/byte-run...
Invalid read syntax: "#"
Program exited with code 0377.
(gdb) bt
No stack.
(gdb)
diff --git a/src/lread.c b/src/lread.c
index 94d47d5..e28e70a 100644
--- a/src/lread.c
+++ b/src/lread.c
@@ -1664,7 +1664,7 @@ readevalloop (readcharfun, stream, sourcename, evalfun,
Lisp_Object unibyte, readfun;
Lisp_Object start, end;
{
- register int c;
+ register int c, c2;
register Lisp_Object val;
int count = SPECPDL_INDEX ();
struct gcpro gcpro1, gcpro2, gcpro3, gcpro4;
@@ -1760,6 +1760,9 @@ readevalloop (readcharfun, stream, sourcename, evalfun,
|| c == 0x8a0) /* NBSP */
goto read_next;
+ c2 = READCHAR;
+ UNREAD (c2);
+
if (!NILP (Vpurify_flag) && c == '(')
{
record_unwind_protect (unreadpure, Qnil);
Leo
- Can UNREAD completely undo READCHAR?,
Leo <=