emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: stop using P_, __P in header files


From: Dan Nicolaescu
Subject: Re: stop using P_, __P in header files
Date: Mon, 05 Jul 2010 22:50:20 -0400
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1 (gnu/linux)

Ken Raeburn <address@hidden> writes:

> On Jul 5, 2010, at 01:51, Dan Nicolaescu wrote:
>> Ken Raeburn <address@hidden> writes:
>>> Also, I believe make-docfile scans the argument lists; it may need to be 
>>> taught about the new syntax.
>> 
>> Good point.  If you are familiar with that code, please do it.
>
> I'm not, but I can look into it.
>
>>> Or, the explicit old-style argument declarations can go away, and
>>> DEFUN can be taught how to expand a list of argument names into a
>>> list of new-style argument declarations.  I thought about doing this
>>> back in May when we were discussing the DOC file name handling and
>>> version number definition; I think it would require making a bunch
>>> of helper macros for each MAXARGS value that could get passed.  (I
>>> was thinking about it in the context of putting the doc strings in a
>>> section of the executable that only gets paged in when needed on
>>> most platforms, rather than having to copy them to and then load
>>> from a separate file.)
>
> This would be a different approach for tackling the same problem.
> Question is, do we want the explicit argument types in each
> function, and more work for make-docfile, or keep things simple for
> make-docfile and macro-expand the argument name list into
> appropriate declarations?  The set of macros would basically be
> parallel to the existing DEFUN_ARGS_* macros, except with names to
> substitute.

IMHO the simplest solution should be done first.

>> Something also needs to be done about the type for  lisp.h:Lisp_Subr.function
>
> Either leave the arg list unspecified, or we have to do a bunch of
> casting; I don't think there are any other options...

Using a union for lisp.h:Lisp_Subr.function works too (I have a patch
ready to go).  A single cast is needed in DEFUN.  (with designated
initializers no cast should be needed, but that's many years away).



reply via email to

[Prev in Thread] Current Thread [Next in Thread]