From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Leo Newsgroups: gmane.emacs.devel Subject: Can UNREAD completely undo READCHAR? Date: Tue, 28 Dec 2010 20:34:11 +0000 Message-ID: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: dough.gmane.org 1293568523 28000 80.91.229.12 (28 Dec 2010 20:35:23 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Tue, 28 Dec 2010 20:35:23 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Dec 28 21:35:17 2010 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1PXgGK-0006v8-07 for ged-emacs-devel@m.gmane.org; Tue, 28 Dec 2010 21:35:16 +0100 Original-Received: from localhost ([127.0.0.1]:39862 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PXgGI-0006hy-Rl for ged-emacs-devel@m.gmane.org; Tue, 28 Dec 2010 15:35:14 -0500 Original-Received: from [140.186.70.92] (port=37202 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PXgFx-0006dB-6B for emacs-devel@gnu.org; Tue, 28 Dec 2010 15:35:08 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PXgFe-0002OA-8U for emacs-devel@gnu.org; Tue, 28 Dec 2010 15:34:53 -0500 Original-Received: from lo.gmane.org ([80.91.229.12]:37227) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PXgFe-0002Na-2s for emacs-devel@gnu.org; Tue, 28 Dec 2010 15:34:34 -0500 Original-Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1PXgFX-0006eS-1t for emacs-devel@gnu.org; Tue, 28 Dec 2010 21:34:27 +0100 Original-Received: from cpc1-cmbg13-0-0-cust596.5-4.cable.virginmedia.com ([86.9.122.85]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 28 Dec 2010 21:34:27 +0100 Original-Received: from sdl.web by cpc1-cmbg13-0-0-cust596.5-4.cable.virginmedia.com with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 28 Dec 2010 21:34:27 +0100 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 45 Original-X-Complaints-To: usenet@dough.gmane.org X-Gmane-NNTP-Posting-Host: cpc1-cmbg13-0-0-cust596.5-4.cable.virginmedia.com Face: iVBORw0KGgoAAAANSUhEUgAAACgAAAAoAgMAAADxkFD+AAAADFBMVEUvT09qWs3/pQD///+J kUVcAAAAAWJLR0QAiAUdSAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9cBBwMLOd3veKQA AACuSURBVBjTldE9CgIxEAXgB+lEyFUC2wo5ikdZ8DSypxhMY7H9VuIVwlqkGRgnm59VsHGafIQ3 CZlAtmKIRaHETgYa12lqvEsPYKf8wXHsPGfqPaUM0g9aJPKFXkmNQmSDqwzz4Fpgpz+6WAPY2z5o uPJJpu0uypcl4nyCibMLQ8lCiVjayLoQvw5LsVKQuHPRR958HZbOcVsKeepcLxpByjycGvnKmY+c MBvrtyjfe0vmuLvdq/kAAAAASUVORK5CYII= User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2.91 (Mac OS X 10.6.5) Cancel-Lock: sha1:x/ZFfXNdeOqqg3aV/Fi6iMx+DzI= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:134016 Archived-At: 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