GNU bug report logs - #15880
Compute C declarations for DEFSYMs automatically.

Previous Next

Package: emacs;

Reported by: Paul Eggert <eggert <at> cs.ucla.edu>

Date: Wed, 13 Nov 2013 00:35:02 UTC

Severity: wishlist

Tags: patch

Done: Paul Eggert <eggert <at> cs.ucla.edu>

Bug is archived. No further changes may be made.

Full log


Message #56 received at 15880 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: monnier <at> iro.umontreal.ca, 15880 <at> debbugs.gnu.org
Subject: Re: bug#15880: Compute C declarations for DEFSYMs automatically.
Date: Thu, 14 Nov 2013 18:28:46 +0200
> Date: Wed, 13 Nov 2013 20:13:33 -0800
> From: Paul Eggert <eggert <at> cs.ucla.edu>
> Cc: 15880 <at> 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.




This bug report was last modified 10 years and 130 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.