From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Emacs trunk crash Date: Wed, 25 Mar 2015 22:38:07 +0200 Message-ID: <83k2y4olsg.fsf@gnu.org> References: <834mpevkao.fsf@gnu.org> <837fu8srym.fsf@gnu.org> <831tkfsp68.fsf@gnu.org> <83wq26pawf.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1427315952 8632 80.91.229.3 (25 Mar 2015 20:39:12 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 25 Mar 2015 20:39:12 +0000 (UTC) Cc: emacs-devel@gnu.org To: Fabrice Popineau Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Mar 25 21:39:04 2015 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Yas4o-000647-GY for ged-emacs-devel@m.gmane.org; Wed, 25 Mar 2015 21:38:58 +0100 Original-Received: from localhost ([::1]:41289 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yas4n-00037M-UK for ged-emacs-devel@m.gmane.org; Wed, 25 Mar 2015 16:38:57 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:45446) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yas4k-00036J-GX for emacs-devel@gnu.org; Wed, 25 Mar 2015 16:38:55 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Yas4g-0006rP-8v for emacs-devel@gnu.org; Wed, 25 Mar 2015 16:38:54 -0400 Original-Received: from mtaout20.012.net.il ([80.179.55.166]:49480) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yas4f-0006rI-V5 for emacs-devel@gnu.org; Wed, 25 Mar 2015 16:38:50 -0400 Original-Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0NLS00300BWXEC00@a-mtaout20.012.net.il> for emacs-devel@gnu.org; Wed, 25 Mar 2015 22:38:14 +0200 (IST) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NLS003PPBZQ8060@a-mtaout20.012.net.il>; Wed, 25 Mar 2015 22:38:14 +0200 (IST) In-reply-to: X-012-Sender: halo1@inter.net.il X-detected-operating-system: by eggs.gnu.org: Solaris 10 X-Received-From: 80.179.55.166 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:184264 Archived-At: > From: Fabrice Popineau > Date: Tue, 24 Mar 2015 22:10:16 +0100 > Cc: Emacs developers > > The file is attached. > Put the point at the beginning of the second line on the bracket > and M-: (read (current-buffer)) Try the patch below. It solves the crash with the file you sent, but the question is: does it also solve your real-life use case? diff --git a/src/lread.c b/src/lread.c index ae17529..050e43e 100644 --- a/src/lread.c +++ b/src/lread.c @@ -3280,7 +3280,7 @@ BUFFER is the buffer to evaluate (nil means use current buffer). { case Lisp_Vectorlike: { - ptrdiff_t i, length = 0; + ptrdiff_t i = 0, length = 0; if (BOOL_VECTOR_P (subtree)) return subtree; /* No sub-objects anyway. */ else if (CHAR_TABLE_P (subtree) || SUB_CHAR_TABLE_P (subtree) @@ -3295,7 +3295,9 @@ BUFFER is the buffer to evaluate (nil means use current buffer). behavior. */ wrong_type_argument (Qsequencep, subtree); - for (i = 0; i < length; i++) + if (SUB_CHAR_TABLE_P (subtree)) + i = 2; + for ( ; i < length; i++) SUBSTITUTE (AREF (subtree, i), ASET (subtree, i, true_value)); return subtree;