mirror of
https://github.com/masscollaborationlabs/emacs.git
synced 2025-07-14 16:02:12 +00:00
Improve documentation of 'emacs_function' in modules
* doc/lispref/internals.texi (Module Functions): Warn about accessing the ARGS array in module functions.
This commit is contained in:
parent
a08e6423cc
commit
c494a6e879
1 changed files with 9 additions and 0 deletions
|
@ -1371,6 +1371,15 @@ objects between Emacs and the module (@pxref{Module Values}). The
|
||||||
provides facilities for conversion between basic C data types and the
|
provides facilities for conversion between basic C data types and the
|
||||||
corresponding @code{emacs_value} objects.
|
corresponding @code{emacs_value} objects.
|
||||||
|
|
||||||
|
In the module function's body, do @emph{not} attempt to access
|
||||||
|
elements of the @var{args} array beyond the index
|
||||||
|
@code{@var{nargs}-1}: memory for the @var{args} array is allocated
|
||||||
|
exactly to accommodate @var{nargs} values, and accessing beyond that
|
||||||
|
will most probably crash your module. In particular, if the value of
|
||||||
|
@var{nargs} passed to the function at run time is zero, it must not
|
||||||
|
access @var{args} at all, as no memory will have been allocated for it
|
||||||
|
in that case.
|
||||||
|
|
||||||
A module function always returns a value. If the function returns
|
A module function always returns a value. If the function returns
|
||||||
normally, the Lisp code which called it will see the Lisp object
|
normally, the Lisp code which called it will see the Lisp object
|
||||||
corresponding to the @code{emacs_value} value the function returned.
|
corresponding to the @code{emacs_value} value the function returned.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue