Refer to "proper lists" instead of "true lists"
* doc/lispref/lists.texi (Cons Cells, Building Lists): * doc/lispref/sequences.texi (Vector Functions): Use the more popular term "proper", rather than "true", to qualify nil-terminated lists. For discussion, see the following emacs-devel subthreads: https://lists.gnu.org/archive/html/emacs-devel/2018-06/msg00112.html https://lists.gnu.org/archive/html/emacs-devel/2018-06/msg00138.html
This commit is contained in:
parent
35e0305dc2
commit
db3874b161
2 changed files with 13 additions and 10 deletions
|
@ -50,16 +50,19 @@ convention; at the level of cons cells, the @sc{car} and @sc{cdr}
|
||||||
slots have similar properties). Hence, the @sc{cdr} slot of each cons
|
slots have similar properties). Hence, the @sc{cdr} slot of each cons
|
||||||
cell in a list refers to the following cons cell.
|
cell in a list refers to the following cons cell.
|
||||||
|
|
||||||
|
@cindex proper list
|
||||||
@cindex true list
|
@cindex true list
|
||||||
Also by convention, the @sc{cdr} of the last cons cell in a list is
|
Also by convention, the @sc{cdr} of the last cons cell in a list is
|
||||||
@code{nil}. We call such a @code{nil}-terminated structure a
|
@code{nil}. We call such a @code{nil}-terminated structure a
|
||||||
@dfn{true list}. In Emacs Lisp, the symbol @code{nil} is both a
|
@dfn{proper list}@footnote{It is sometimes also referred to as a
|
||||||
symbol and a list with no elements. For convenience, the symbol
|
@dfn{true list}, but we generally do not use this terminology in this
|
||||||
@code{nil} is considered to have @code{nil} as its @sc{cdr} (and also
|
manual.}. In Emacs Lisp, the symbol @code{nil} is both a symbol and a
|
||||||
as its @sc{car}).
|
list with no elements. For convenience, the symbol @code{nil} is
|
||||||
|
considered to have @code{nil} as its @sc{cdr} (and also as its
|
||||||
|
@sc{car}).
|
||||||
|
|
||||||
Hence, the @sc{cdr} of a true list is always a true list. The
|
Hence, the @sc{cdr} of a proper list is always a proper list. The
|
||||||
@sc{cdr} of a nonempty true list is a true list containing all the
|
@sc{cdr} of a nonempty proper list is a proper list containing all the
|
||||||
elements except the first.
|
elements except the first.
|
||||||
|
|
||||||
@cindex dotted list
|
@cindex dotted list
|
||||||
|
@ -71,10 +74,10 @@ Pair Notation}). There is one other possibility: some cons cell's
|
||||||
@sc{cdr} could point to one of the previous cons cells in the list.
|
@sc{cdr} could point to one of the previous cons cells in the list.
|
||||||
We call that structure a @dfn{circular list}.
|
We call that structure a @dfn{circular list}.
|
||||||
|
|
||||||
For some purposes, it does not matter whether a list is true,
|
For some purposes, it does not matter whether a list is proper,
|
||||||
circular or dotted. If a program doesn't look far enough down the
|
circular or dotted. If a program doesn't look far enough down the
|
||||||
list to see the @sc{cdr} of the final cons cell, it won't care.
|
list to see the @sc{cdr} of the final cons cell, it won't care.
|
||||||
However, some functions that operate on lists demand true lists and
|
However, some functions that operate on lists demand proper lists and
|
||||||
signal errors if given a dotted list. Most functions that try to find
|
signal errors if given a dotted list. Most functions that try to find
|
||||||
the end of a list enter infinite loops if given a circular list.
|
the end of a list enter infinite loops if given a circular list.
|
||||||
|
|
||||||
|
@ -522,7 +525,7 @@ object. The final argument is not copied or converted; it becomes the
|
||||||
is itself a list, then its elements become in effect elements of the
|
is itself a list, then its elements become in effect elements of the
|
||||||
result list. If the final element is not a list, the result is a
|
result list. If the final element is not a list, the result is a
|
||||||
dotted list since its final @sc{cdr} is not @code{nil} as required
|
dotted list since its final @sc{cdr} is not @code{nil} as required
|
||||||
in a true list.
|
in a proper list (@pxref{Cons Cells}).
|
||||||
@end defun
|
@end defun
|
||||||
|
|
||||||
Here is an example of using @code{append}:
|
Here is an example of using @code{append}:
|
||||||
|
|
|
@ -1355,7 +1355,7 @@ each initialized to @var{object}.
|
||||||
@defun vconcat &rest sequences
|
@defun vconcat &rest sequences
|
||||||
@cindex copying vectors
|
@cindex copying vectors
|
||||||
This function returns a new vector containing all the elements of
|
This function returns a new vector containing all the elements of
|
||||||
@var{sequences}. The arguments @var{sequences} may be true lists,
|
@var{sequences}. The arguments @var{sequences} may be proper lists,
|
||||||
vectors, strings or bool-vectors. If no @var{sequences} are given,
|
vectors, strings or bool-vectors. If no @var{sequences} are given,
|
||||||
the empty vector is returned.
|
the empty vector is returned.
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue