From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.bugs Subject: bug#14412: 24.3.50; emacs_backtrace.txt Date: Sat, 26 Dec 2015 09:43:25 -0800 Organization: UCLA Computer Science Department Message-ID: <567ED1BD.2040702@cs.ucla.edu> References: <8C813F37B4B14362BEDAE9C4BCC38589@us.oracle.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------010008080608010802070008" X-Trace: ger.gmane.org 1451151863 10032 80.91.229.3 (26 Dec 2015 17:44:23 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 26 Dec 2015 17:44:23 +0000 (UTC) Cc: Lars Ingebrigtsen , 14412@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sat Dec 26 18:44:12 2015 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1aCst1-0002UB-CU for geb-bug-gnu-emacs@m.gmane.org; Sat, 26 Dec 2015 18:44:11 +0100 Original-Received: from localhost ([::1]:39391 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aCst0-0007rA-At for geb-bug-gnu-emacs@m.gmane.org; Sat, 26 Dec 2015 12:44:10 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:57632) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aCssv-0007qp-OJ for bug-gnu-emacs@gnu.org; Sat, 26 Dec 2015 12:44:06 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aCsss-0002Is-Ge for bug-gnu-emacs@gnu.org; Sat, 26 Dec 2015 12:44:05 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:34341) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aCsss-0002Ij-DM for bug-gnu-emacs@gnu.org; Sat, 26 Dec 2015 12:44:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84) (envelope-from ) id 1aCsss-0003c1-45 for bug-gnu-emacs@gnu.org; Sat, 26 Dec 2015 12:44:02 -0500 X-Loop: help-debbugs@gnu.org In-Reply-To: <8C813F37B4B14362BEDAE9C4BCC38589@us.oracle.com> Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 26 Dec 2015 17:44:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 14412 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: moreinfo Original-Received: via spool by 14412-submit@debbugs.gnu.org id=B14412.145115181413843 (code B ref 14412); Sat, 26 Dec 2015 17:44:02 +0000 Original-Received: (at 14412) by debbugs.gnu.org; 26 Dec 2015 17:43:34 +0000 Original-Received: from localhost ([127.0.0.1]:41943 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aCssQ-0003bD-K8 for submit@debbugs.gnu.org; Sat, 26 Dec 2015 12:43:34 -0500 Original-Received: from zimbra.cs.ucla.edu ([131.179.128.68]:58605) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aCssO-0003ax-9Z for 14412@debbugs.gnu.org; Sat, 26 Dec 2015 12:43:32 -0500 Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id A5A04160CC0; Sat, 26 Dec 2015 09:43:26 -0800 (PST) Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id UYKC4IDikFgB; Sat, 26 Dec 2015 09:43:25 -0800 (PST) Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id C61E7160D77; Sat, 26 Dec 2015 09:43:25 -0800 (PST) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id 0PsLRNnOG6DZ; Sat, 26 Dec 2015 09:43:25 -0800 (PST) Original-Received: from [192.168.1.9] (pool-100-32-155-148.lsanca.fios.verizon.net [100.32.155.148]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 9A826160CC0; Sat, 26 Dec 2015 09:43:25 -0800 (PST) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:110710 Archived-At: This is a multi-part message in MIME format. --------------010008080608010802070008 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Eli, thanks for fixing that. There's parallel code in backtrace_eval_unrewind that presumably should be fixed in a similar way. Also, it's clearer to keep the FALLTHROUGH!! comment at the actual fallthrough point. I installed the attached additional patch to try to address these issues. --------------010008080608010802070008 Content-Type: text/x-diff; name="0001-Propagate-Bug-14412-fix-to-backtrace_eval_unrewind.patch" Content-Disposition: attachment; filename*0="0001-Propagate-Bug-14412-fix-to-backtrace_eval_unrewind.patc"; filename*1="h" Content-Transfer-Encoding: quoted-printable >From 60764d06b76ce39c2c902c302c29954945ed0e9c Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sat, 26 Dec 2015 09:30:22 -0800 Subject: [PATCH] Propagate Bug#14412 fix to backtrace_eval_unrewind MIME-Version: 1.0 Content-Type: text/plain; charset=3DUTF-8 Content-Transfer-Encoding: 8bit * src/eval.c (unbind_to): Redo so that the FALLTHROUGH!! comment becomes accurate again. This shouldn=E2=80=99t affect behavior. (backtrace_eval_unrewind): Apply the recent unbind_to fix here, too. --- src/eval.c | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/src/eval.c b/src/eval.c index 571681c..bd0cf68 100644 --- a/src/eval.c +++ b/src/eval.c @@ -3196,15 +3196,12 @@ unbind_to (ptrdiff_t count, Lisp_Object value) { /* If variable has a trivial value (no forwarding), we can just set it. No need to check for constant symbols here, since that was already done by specbind. */ - Lisp_Object symbol =3D specpdl_symbol (specpdl_ptr); - if (SYMBOLP (symbol)) + Lisp_Object sym =3D specpdl_symbol (specpdl_ptr); + if (SYMBOLP (sym) && XSYMBOL (sym)->redirect =3D=3D SYMBOL_PLAINVAL= ) { - struct Lisp_Symbol *sym =3D XSYMBOL (symbol); - if (sym->redirect =3D=3D SYMBOL_PLAINVAL) - { - SET_SYMBOL_VAL (sym, specpdl_old_value (specpdl_ptr)); - break; - } + SET_SYMBOL_VAL (XSYMBOL (sym), + specpdl_old_value (specpdl_ptr)); + break; } else { /* FALLTHROUGH!! @@ -3412,12 +3409,12 @@ backtrace_eval_unrewind (int distance) { /* If variable has a trivial value (no forwarding), we can just set it. No need to check for constant symbols here, since that was already done by specbind. */ - struct Lisp_Symbol *sym =3D XSYMBOL (specpdl_symbol (tmp)); - if (sym->redirect =3D=3D SYMBOL_PLAINVAL) + Lisp_Object sym =3D specpdl_symbol (tmp); + if (SYMBOLP (sym) && XSYMBOL (sym)->redirect =3D=3D SYMBOL_PLAINVAL= ) { Lisp_Object old_value =3D specpdl_old_value (tmp); - set_specpdl_old_value (tmp, SYMBOL_VAL (sym)); - SET_SYMBOL_VAL (sym, old_value); + set_specpdl_old_value (tmp, SYMBOL_VAL (XSYMBOL (sym))); + SET_SYMBOL_VAL (XSYMBOL (sym), old_value); break; } else --=20 2.5.0 --------------010008080608010802070008--