Mercurial > emacs
changeset 109182:843d932d732e
Adapt docs of primitives to ANSI C arg list.
internals.texi (Writing Emacs Primitives): Adapt to ANSI C
calling sequences, which are now the standard.
author | Eli Zaretskii <eliz@gnu.org> |
---|---|
date | Fri, 09 Jul 2010 11:38:50 +0300 |
parents | 61d8d0cf32a8 |
children | a0cffb71f267 |
files | doc/lispref/ChangeLog doc/lispref/internals.texi |
diffstat | 2 files changed, 15 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/doc/lispref/ChangeLog Thu Jul 08 18:09:50 2010 -0700 +++ b/doc/lispref/ChangeLog Fri Jul 09 11:38:50 2010 +0300 @@ -1,3 +1,8 @@ +2010-07-09 Eli Zaretskii <eliz@gnu.org> + + * internals.texi (Writing Emacs Primitives): Adapt to ANSI C + calling sequences, which are now the standard. + 2010-06-02 Chong Yidong <cyd@stupidchicken.com> * searching.texi (Regexp Special): Remove obsolete information
--- a/doc/lispref/internals.texi Thu Jul 08 18:09:50 2010 -0700 +++ b/doc/lispref/internals.texi Fri Jul 09 11:38:50 2010 +0300 @@ -518,8 +518,7 @@ @end group @group usage: (or CONDITIONS ...) */) - (args) - Lisp_Object args; + (Lisp_Object args) @{ register Lisp_Object val = Qnil; struct gcpro gcpro1; @@ -618,15 +617,15 @@ too. @end table - After the call to the @code{DEFUN} macro, you must write the argument -name list that every C function must have, followed by ordinary C -declarations for the arguments. For a function with a fixed maximum -number of arguments, declare a C argument for each Lisp argument, and -give them all type @code{Lisp_Object}. When a Lisp function has no -upper limit on the number of arguments, its implementation in C actually -receives exactly two arguments: the first is the number of Lisp -arguments, and the second is the address of a block containing their -values. They have types @code{int} and @w{@code{Lisp_Object *}}. + After the call to the @code{DEFUN} macro, you must write the +argument list that every C function must have, including the types for +the arguments. For a function with a fixed maximum number of +arguments, declare a C argument for each Lisp argument, and give them +all type @code{Lisp_Object}. When a Lisp function has no upper limit +on the number of arguments, its implementation in C actually receives +exactly two arguments: the first is the number of Lisp arguments, and +the second is the address of a block containing their values. They +have types @code{int} and @w{@code{Lisp_Object *}}. @cindex @code{GCPRO} and @code{UNGCPRO} @cindex protect C variables from garbage collection