all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Dan Nicolaescu <dann@gnu.org>
To: Ken Raeburn <raeburn@raeburn.org>
Cc: Emacs Developers <emacs-devel@gnu.org>
Subject: Re: stop using P_, __P in header files
Date: Mon, 05 Jul 2010 01:51:28 -0400	[thread overview]
Message-ID: <yxqsk3ylbmn.fsf@fencepost.gnu.org> (raw)
In-Reply-To: <9A690AC5-8C59-4691-88AC-EDDABCF2F704@raeburn.org> (Ken Raeburn's message of "Sun\, 4 Jul 2010 17\:24\:49 -0400")

Ken Raeburn <raeburn@raeburn.org> writes:

> On Jul 4, 2010, at 12:46, Dan Nicolaescu wrote:
>> There are some remaining issues to solve:
>> 
>> - DEFUNs need to be converted by hand, protoize does not know anything about them.
>
> (By *hand*??  Ugh.  We really need a tool that implements some kind of editing macros... :-)

The macros don't just exist, so manual work is needed as opposed to
just running protoize for most of the rest. :-)

> 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.

> 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.)

>> - the error and message functions in lisp.h are called with variable
>>  number of arguments, but are defined with a fixed number of arguments.
>
> They should probably be fixed to be standard variadic functions, which means doprnt() has to be taught about va_arg.  I can take a shot at that, if no one else feels like it; it's probably easy.

Please do. [I have a patch to turn on -Wstrict-prototypes by default
if available, but it would produce 4 warnings per file including
lisp.h, so it won't be very popular until the above is fixed].

Something also needs to be done about the type for  lisp.h:Lisp_Subr.function

> We could also probably ditch the "register" declarations that date
> back to pre-GCC days; do they do *any* good now?

Very likely no.



  parent reply	other threads:[~2010-07-05  5:51 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-01 21:16 stop using P_, __P in header files Dan Nicolaescu
2010-07-02  8:50 ` Juanma Barranquero
2010-07-02  9:31   ` Jan Djärv
2010-07-02  9:37     ` Juanma Barranquero
2010-07-02 13:09       ` Jan Djärv
2010-07-02 14:19         ` Juanma Barranquero
2010-07-02 15:55           ` Jan Djärv
2010-07-02 17:31             ` Juanma Barranquero
2010-07-02 20:41               ` Eli Zaretskii
2010-07-02 20:57                 ` Andreas Schwab
2010-07-03  7:07                   ` Eli Zaretskii
2010-07-02 18:26         ` Dan Nicolaescu
2010-07-02 10:58     ` Eli Zaretskii
2010-07-02 18:28       ` Dan Nicolaescu
2010-07-03  0:58       ` Dan Nicolaescu
     [not found]       ` <yxq7hlblldz.fsf@fencepost.gnu.org>
2010-07-04 15:35         ` Juanma Barranquero
2010-07-04 15:55           ` Dan Nicolaescu
2010-07-04 16:26             ` Juanma Barranquero
2010-07-04 16:42               ` Dan Nicolaescu
2010-07-04 20:42                 ` Juanma Barranquero
2010-07-04 20:20           ` Chong Yidong
2010-07-04 16:46       ` Dan Nicolaescu
2010-07-04 19:12         ` Dan Nicolaescu
2010-07-04 19:16           ` Dan Nicolaescu
2010-07-04 23:58             ` Juanma Barranquero
2010-07-05  0:05               ` Juanma Barranquero
2010-07-05  0:28                 ` Juanma Barranquero
2010-07-05  1:25                   ` Juanma Barranquero
2010-07-05  4:57                     ` Dan Nicolaescu
2010-07-05 17:19                 ` Andreas Schwab
2010-07-04 21:24         ` Ken Raeburn
2010-07-05  0:29           ` Juanma Barranquero
2010-07-05  3:05           ` Eli Zaretskii
2010-07-05  3:38             ` Juanma Barranquero
2010-07-05 17:31               ` Eli Zaretskii
2010-07-05 18:59                 ` Ken Raeburn
2010-07-05 23:48                 ` Juanma Barranquero
2010-07-06  3:00                   ` Eli Zaretskii
2010-07-06  3:23                 ` Dan Nicolaescu
2010-07-09 22:19                 ` Dan Nicolaescu
2010-07-10  8:45               ` David Kastrup
2010-07-10 23:51                 ` Juanma Barranquero
2010-07-05  3:42             ` Ken Raeburn
2010-07-06  4:32               ` Stephen J. Turnbull
2010-07-06  6:37                 ` Ken Raeburn
2010-07-06  7:50                   ` Stephen J. Turnbull
2010-07-05  5:51           ` Dan Nicolaescu [this message]
2010-07-05  6:14             ` Ken Raeburn
2010-07-06  2:50               ` Dan Nicolaescu
2010-07-02  8:56 ` Andreas Schwab
2010-07-02 18:30   ` Dan Nicolaescu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=yxqsk3ylbmn.fsf@fencepost.gnu.org \
    --to=dann@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=raeburn@raeburn.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.