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.
This commit is contained in:
Eli Zaretskii 2010-07-09 11:38:50 +03:00
parent 0508c67f47
commit b88746ba3f
2 changed files with 15 additions and 11 deletions

View file

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

View file

@ -518,8 +518,7 @@ If all args return nil, return nil.
@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 @@ All the usual rules for documentation strings in Lisp code
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