sequence.
@defun sequencep object
-Returns @code{t} if @var{object} is a list, vector, or
-string, @code{nil} otherwise.
+Returns @code{t} if @var{object} is a list, vector, string,
+bool-vector, or char-table, @code{nil} otherwise.
@end defun
@defun length sequence
@cindex list length
@cindex vector length
@cindex sequence length
+@cindex char-table length
This function returns the number of elements in @var{sequence}. If
-@var{sequence} is a cons cell that is not a list (because the final
-@sc{cdr} is not @code{nil}), a @code{wrong-type-argument} error is
-signaled.
+@var{sequence} is a dotted list, a @code{wrong-type-argument} error is
+signaled. Circular lists may cause an infinite loop. For a
+char-table, the value returned is always one more than the maximum
+Emacs character code.
-@xref{List Elements}, for the related function @code{safe-length}.
+@xref{Definition of safe-length}, for the related function @code{safe-length}.
@example
@group
@end example
@end defun
+@defun string-bytes string
+@cindex string, number of bytes
+This function returns the number of bytes in @var{string}.
+If @var{string} is a multibyte string, this is greater than
+@code{(length @var{string})}.
+@end defun
+
@defun elt sequence index
@cindex elements of sequences
This function returns the element of @var{sequence} indexed by
-@var{index}. Legitimate values of @var{index} are integers ranging from
-0 up to one less than the length of @var{sequence}. If @var{sequence}
-is a list, then out-of-range values of @var{index} return @code{nil};
-otherwise, they trigger an @code{args-out-of-range} error.
+@var{index}. Legitimate values of @var{index} are integers ranging
+from 0 up to one less than the length of @var{sequence}. If
+@var{sequence} is a list, out-of-range values behave as for
+@code{nth}. @xref{Definition of nth}. Otherwise, out-of-range values
+trigger an @code{args-out-of-range} error.
@example
@group
@end example
This function generalizes @code{aref} (@pxref{Array Functions}) and
-@code{nth} (@pxref{List Elements}).
+@code{nth} (@pxref{Definition of nth}).
@end defun
@defun copy-sequence sequence
list. However, the actual values of the properties are shared.
@xref{Text Properties}.
+This function does not work for dotted lists. Trying to copy a
+circular list may cause an infinite loop.
+
See also @code{append} in @ref{Building Lists}, @code{concat} in
-@ref{Creating Strings}, and @code{vconcat} in @ref{Vectors}, for other
-ways to copy sequences.
+@ref{Creating Strings}, and @code{vconcat} in @ref{Vector Functions},
+for other ways to copy sequences.
@example
@group
change the length of an existing array.
@item
-The array is a constant, for evaluation---in other words, it evaluates
-to itself.
+for purposes of evaluation, the array is a constant---in other words,
+it evaluates to itself.
@item
The elements of an array may be referenced or changed with the functions
@end group
@group
(aref "abcdefg" 1)
- @result{} 98 ; @r{@samp{b} is @sc{ascii} code 98.}
+ @result{} 98 ; @r{@samp{b} is @acronym{ASCII} code 98.}
@end group
@end example
@defun vconcat &rest sequences
@cindex copying vectors
This function returns a new vector containing all the elements of the
-@var{sequences}. The arguments @var{sequences} may be any kind of
-arrays, including lists, vectors, or strings. If no @var{sequences} are
-given, an empty vector is returned.
+@var{sequences}. The arguments @var{sequences} may be true lists,
+vectors, strings or bool-vectors. If no @var{sequences} are given, an
+empty vector is returned.
The value is a newly constructed vector that is not @code{eq} to any
existing vector.
This function returns the subtype symbol of @var{char-table}.
@end defun
-@defun set-char-table-default char-table new-default
-This function sets the default value of @var{char-table} to
-@var{new-default}.
+@defun set-char-table-default char-table char new-default
+This function sets the default value of generic character @var{char}
+in @var{char-table} to @var{new-default}.
-There is no special function to access the default value of a char-table.
-To do that, use @code{(char-table-range @var{char-table} nil)}.
+There is no special function to access default values in a char-table.
+To do that, use @code{char-table-range} (see below).
@end defun
@defun char-table-parent char-table
@var{charset} (@pxref{Character Sets}).
@item @var{generic-char}
-A generic character stands for a character set; specifying the generic
-character as argument is equivalent to specifying the character set
-name. @xref{Splitting Characters}, for a description of generic characters.
+A generic character stands for a character set, or a row of a
+character set; specifying the generic character as argument is
+equivalent to specifying the character set name. @xref{Splitting
+Characters}, for a description of generic characters.
@end table
@end defun