From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Dan Nicolaescu Newsgroups: gmane.emacs.devel Subject: Re: stop using P_, __P in header files Date: Mon, 05 Jul 2010 22:50:20 -0400 Message-ID: References: <4C2DB1E0.7010305@swipnet.se> <83aaqa9ml7.fsf@gnu.org> <9A690AC5-8C59-4691-88AC-EDDABCF2F704@raeburn.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: dough.gmane.org 1278384631 27136 80.91.229.12 (6 Jul 2010 02:50:31 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Tue, 6 Jul 2010 02:50:31 +0000 (UTC) Cc: Emacs Developers To: Ken Raeburn Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Jul 06 04:50:30 2010 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1OVyEu-0002tn-Mr for ged-emacs-devel@m.gmane.org; Tue, 06 Jul 2010 04:50:29 +0200 Original-Received: from localhost ([127.0.0.1]:52807 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OVyEu-0001Tq-5Z for ged-emacs-devel@m.gmane.org; Mon, 05 Jul 2010 22:50:28 -0400 Original-Received: from [199.232.76.173] (port=58616 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OVyEo-0001Tb-Ux for emacs-devel@gnu.org; Mon, 05 Jul 2010 22:50:22 -0400 Original-Received: from Debian-exim by monty-python.gnu.org with spam-scanned (Exim 4.60) (envelope-from ) id 1OVyEn-0000YX-Ig for emacs-devel@gnu.org; Mon, 05 Jul 2010 22:50:22 -0400 Original-Received: from fencepost.gnu.org ([140.186.70.10]:41935) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1OVyEn-0000YT-B3 for emacs-devel@gnu.org; Mon, 05 Jul 2010 22:50:21 -0400 Original-Received: from dann by fencepost.gnu.org with local (Exim 4.69) (envelope-from ) id 1OVyEm-0005xe-Tx; Mon, 05 Jul 2010 22:50:20 -0400 In-Reply-To: (Ken Raeburn's message of "Mon\, 5 Jul 2010 02\:14\:37 -0400") User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1 (gnu/linux) X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 3) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:126814 Archived-At: Ken Raeburn writes: > On Jul 5, 2010, at 01:51, Dan Nicolaescu wrote: >> Ken Raeburn 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).