From decdfedf029904c3ecaa082e59e2501572ec77c9 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 23 Jun 2018 10:38:44 +0300 Subject: [PATCH] Clarify wording about functions' argument lists * doc/lispref/functions.texi (Argument List): Clarify the wording. (Bug#31872) --- doc/lispref/functions.texi | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/doc/lispref/functions.texi b/doc/lispref/functions.texi index 86181f1b491..93059e8e3a6 100644 --- a/doc/lispref/functions.texi +++ b/doc/lispref/functions.texi @@ -412,10 +412,14 @@ variables that tell you whether an argument was explicitly passed. binds @code{a} and @code{b} to the first two actual arguments, which are required. If one or two more arguments are provided, @code{c} and @code{d} are bound to them respectively; any arguments after the first -four are collected into a list and @code{e} is bound to that list. If -there are only two arguments, @code{c} is @code{nil}; if two or three -arguments, @code{d} is @code{nil}; if four arguments or fewer, @code{e} -is @code{nil}. +four are collected into a list and @code{e} is bound to that list. +Thus, if there are only two arguments, @code{c}, @code{d} and @code{e} +are @code{nil}; if two or three arguments, @code{d} and @code{e} are +@code{nil}; if four arguments or fewer, @code{e} is @code{nil}. Note +that exactly five arguments with an explicit @code{nil} argument +provided for @code{e} will cause that @code{nil} argument to be passed +as a list with one element, @code{(nil)}, as with any other single +value for @code{e}. There is no way to have required arguments following optional ones---it would not make sense. To see why this must be so, suppose -- 2.39.5