Documentation update from Driver sources
Change-Id: Ide409fb7a65ec5fefaccdcc821705d80af10e343
diff --git a/doc/LPC/functions b/doc/LPC/functions
index 50c39a0..06949ea 100644
--- a/doc/LPC/functions
+++ b/doc/LPC/functions
@@ -33,11 +33,19 @@
- name is the name of the function, e.g. "short", or "Nice_Try",
under which it is made known.
- <arguments> is a list of variable definitions in the
- normal '<type> <name>' style, separated by comma.
+ normal '<type> <name> = <default value>' style, separated
+ by comma.
Examples: () : no argument taken
(int a) : takes on integer argument
(mixed a, object *b): takes two arguments, one
arbitrary type, one array of objects.
+ (int a = 42) : takes zero or one integer argument.
+ if none is given, 42 is used instead.
+ If default values are given, they must be given for all
+ following arguments except a varargs argument. If a function
+ has a prototype, the default values should be specified
+ there instead of the definition (otherwise it might not
+ be known that these arguments are optional).
- { statements... } defines the code for this function. This
is a normal block (see block(LPC)) and as such can define
its own local variables.
@@ -169,6 +177,9 @@
function inherited at all, the statement will just return
an empty array.
+HISTORY
+ LDMud 3.6.4 introduced default values for function arguments.
+
SEE ALSO
types(LPC), modifiers(LPC), varargs(LPC), references(LPC),
call_other(E), simul_efun(C), call_out(E)