From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#12036: 24.1.50; xvectype and xpr broken by change in PVEC_TYPE_MASK when macro information not available Date: Thu, 26 Jul 2012 21:03:24 +0300 Message-ID: <83obn2jt77.fsf@gnu.org> References: <83eho2z6q4.fsf@gnu.org> <50110A8E.7030101@cs.ucla.edu> <83sjcejwao.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: dough.gmane.org 1343325868 23632 80.91.229.3 (26 Jul 2012 18:04:28 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Thu, 26 Jul 2012 18:04:28 +0000 (UTC) Cc: 12036@debbugs.gnu.org To: eggert@cs.ucla.edu Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Jul 26 20:04:27 2012 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 1SuSQA-0008OK-HK for geb-bug-gnu-emacs@m.gmane.org; Thu, 26 Jul 2012 20:04:22 +0200 Original-Received: from localhost ([::1]:53627 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SuSQ9-0000xb-Qs for geb-bug-gnu-emacs@m.gmane.org; Thu, 26 Jul 2012 14:04:21 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:33603) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SuSQ3-0000i2-Iz for bug-gnu-emacs@gnu.org; Thu, 26 Jul 2012 14:04:18 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SuSPy-0002gK-G4 for bug-gnu-emacs@gnu.org; Thu, 26 Jul 2012 14:04:15 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:60076) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SuSPy-0002gG-Cd for bug-gnu-emacs@gnu.org; Thu, 26 Jul 2012 14:04:10 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1SuSWc-0003TH-47 for bug-gnu-emacs@gnu.org; Thu, 26 Jul 2012 14:11:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 26 Jul 2012 18:11:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 12036 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 12036-submit@debbugs.gnu.org id=B12036.134332623113306 (code B ref 12036); Thu, 26 Jul 2012 18:11:02 +0000 Original-Received: (at 12036) by debbugs.gnu.org; 26 Jul 2012 18:10:31 +0000 Original-Received: from localhost ([127.0.0.1]:41389 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SuSW6-0003SZ-NE for submit@debbugs.gnu.org; Thu, 26 Jul 2012 14:10:31 -0400 Original-Received: from mtaout22.012.net.il ([80.179.55.172]:34487) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SuSW4-0003SQ-8v for 12036@debbugs.gnu.org; Thu, 26 Jul 2012 14:10:29 -0400 Original-Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0M7S002004QES400@a-mtaout22.012.net.il> for 12036@debbugs.gnu.org; Thu, 26 Jul 2012 21:03:19 +0300 (IDT) Original-Received: from HOME-C4E4A596F7 ([87.69.210.75]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0M7S002UZ4TI42F0@a-mtaout22.012.net.il>; Thu, 26 Jul 2012 21:03:19 +0300 (IDT) In-reply-to: <83sjcejwao.fsf@gnu.org> X-012-Sender: halo1@inter.net.il X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 140.186.70.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:62428 Archived-At: > Date: Thu, 26 Jul 2012 19:56:31 +0300 > From: Eli Zaretskii > Cc: 12036@debbugs.gnu.org > > > Date: Thu, 26 Jul 2012 02:14:54 -0700 > > From: Paul Eggert > > > > I ran into this problem independently and fixed it in > > trunk bzr 109213. I just now found this bug report and > > am marking it as done. > > Thanks, but it doesn't appear to be entirely fixed. Somehow, the > CHECK_LISP_OBJECT_TYPE thing is unknown to GDB: > > D:\gnu\bzr\emacs\trunk\src>gdb ./oo/i386/emacs.exe > GNU gdb (GDB) 7.4.1 > Copyright (C) 2012 Free Software Foundation, Inc. > [...] > .gdbinit:1197: Error in sourced command file: > No symbol "CHECK_LISP_OBJECT_TYPE" in current context. <<<<<<<<<<<<<<<< > (gdb) break decode_any_window > Breakpoint 1 at 0x11de1b8: file window.c, line 149. > (gdb) r -Q > Starting program: D:\gnu\bzr\emacs\trunk\src/./oo/i386/emacs.exe -Q > [New Thread 5748.0xa3c] > > Breakpoint 1, decode_any_window (window=54888269) at window.c:149 > 149 if (NILP (window)) > (gdb) n > 152 CHECK_WINDOW (window); > (gdb) p window > $1 = 54888269 > (gdb) xtype > No symbol "CHECK_LISP_OBJECT_TYPE" in current context. <<<<<<<<<<<<<<< It looks like the enum values are known to GDB only if there's a variable which has that enum type. E.g., if I change the enum like this: enum { CHECK_LISP_OBJECT_TYPE = gdb_CHECK_LISP_OBJECT_TYPE, DATA_SEG_BITS = gdb_DATA_SEG_BITS, GCTYPEBITS = gdb_GCTYPEBITS, USE_LSB_TAG = gdb_USE_LSB_TAG } foo; then there's no problem with CHECK_LISP_OBJECT_TYPE. However, the next problem in line is with VALBITS: (gdb) break decode_any_window Breakpoint 3 at 0x11de1b8: file window.c, line 149. (gdb) r -Q Starting program: D:\gnu\bzr\emacs\trunk\src/./oo/i386/emacs.exe -Q [New Thread 5144.0xe24] Breakpoint 3, decode_any_window (window=54888269) at window.c:149 149 if (NILP (window)) (gdb) n 152 CHECK_WINDOW (window); (gdb) p window $1 = 54888269 (gdb) xtype No symbol "VALBITS" in current context. This is again because no variable uses this enum: enum { VALBITS = BITS_PER_EMACS_INT - GCTYPEBITS }; If I declare a variable with this enum, I get past VALBITS, but then bump into pvec_type: Breakpoint 3, decode_any_window (window=54888269) at window.c:149 149 if (NILP (window)) (gdb) n 152 CHECK_WINDOW (window); (gdb) p window $1 = 54888269 (gdb) xtype Lisp_Vectorlike No enum type named pvec_type. Etc., etc. The old code had real variables that used the enumerated types.