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#15880: Compute C declarations for DEFSYMs automatically. Date: Thu, 14 Nov 2013 18:28:46 +0200 Message-ID: <83wqkbymkh.fsf@gnu.org> References: <5282C8F4.5010806@cs.ucla.edu> <52830A35.2020005@cs.ucla.edu> <5283A805.7030609@cs.ucla.edu> <5284281F.3050504@cs.ucla.edu> <52844DED.1070404@cs.ucla.edu> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1384446670 21045 80.91.229.3 (14 Nov 2013 16:31:10 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 14 Nov 2013 16:31:10 +0000 (UTC) Cc: 15880@debbugs.gnu.org To: Paul Eggert Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Nov 14 17:31:13 2013 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 1Vgzp3-0004So-0C for geb-bug-gnu-emacs@m.gmane.org; Thu, 14 Nov 2013 17:31:13 +0100 Original-Received: from localhost ([::1]:56175 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vgzp2-0006kT-Iw for geb-bug-gnu-emacs@m.gmane.org; Thu, 14 Nov 2013 11:31:12 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:51770) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vgzo3-0006at-An for bug-gnu-emacs@gnu.org; Thu, 14 Nov 2013 11:31:09 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Vgznx-0003dm-TE for bug-gnu-emacs@gnu.org; Thu, 14 Nov 2013 11:30:11 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:38275) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vgznx-0003dO-O2 for bug-gnu-emacs@gnu.org; Thu, 14 Nov 2013 11:30:05 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1Vgznw-0007QZ-7U for bug-gnu-emacs@gnu.org; Thu, 14 Nov 2013 11:30:04 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Nov 2013 16:30:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 15880 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 15880-submit@debbugs.gnu.org id=B15880.138444658428494 (code B ref 15880); Thu, 14 Nov 2013 16:30:03 +0000 Original-Received: (at 15880) by debbugs.gnu.org; 14 Nov 2013 16:29:44 +0000 Original-Received: from localhost ([127.0.0.1]:52294 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vgznb-0007PV-Bv for submit@debbugs.gnu.org; Thu, 14 Nov 2013 11:29:43 -0500 Original-Received: from mtaout20.012.net.il ([80.179.55.166]:33915) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VgznY-0007PG-14 for 15880@debbugs.gnu.org; Thu, 14 Nov 2013 11:29:41 -0500 Original-Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0MW900000HN46500@a-mtaout20.012.net.il> for 15880@debbugs.gnu.org; Thu, 14 Nov 2013 18:29:02 +0200 (IST) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MW900053HSE1O60@a-mtaout20.012.net.il>; Thu, 14 Nov 2013 18:29:02 +0200 (IST) In-reply-to: <52844DED.1070404@cs.ucla.edu> X-012-Sender: halo1@inter.net.il X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x 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:80428 Archived-At: > Date: Wed, 13 Nov 2013 20:13:33 -0800 > From: Paul Eggert > Cc: 15880@debbugs.gnu.org > > I was thinking of something that didn't have a symbol_vals table, like this: > > struct Lisp_Symbol symbol_structs[N]; > #define Qnil make_lisp_ptr (symbol_structs + 0, Lisp_Symbol) > #define Qt make_lisp_ptr (symbol_structs + 1, Lisp_Symbol) > ... > > Qnil, Qt etc. should evaluate to compile-time constants for > any reasonably modern C compiler. Please leave at least Qnil and Qt out of this arrangement, so that they continue being variables, not macros. Macros are a nuisance in the debugger (e.g., if the compilation was not with -g3, or with old versions of GCC). These two are very useful in the debugger, both for calling functions and for comparing Lisp values against them. The other symbols could become macros, although that, too, would cause inconvenience.