]> git.eshelyaron.com Git - emacs.git/commitdiff
Improve documentation of 'copy-sequence'
authorEli Zaretskii <eliz@gnu.org>
Sat, 30 Sep 2017 13:01:00 +0000 (16:01 +0300)
committerEli Zaretskii <eliz@gnu.org>
Sat, 30 Sep 2017 13:01:00 +0000 (16:01 +0300)
* src/fns.c (Fcopy_sequence):
* doc/lispref/sequences.texi (Sequence Functions): Mention the
exception when copying an empty sequence.  (Bug#28627)

doc/lispref/sequences.texi
src/fns.c

index c7cf9f5e1af62d4af18bce1291c5f2a7378aaa5d..5ae1567c1283a650d98f7ba7e1a581e060ef5fb6 100644 (file)
@@ -155,7 +155,10 @@ This function generalizes @code{aref} (@pxref{Array Functions}) and
 @cindex copying sequences
 This function returns a copy of @var{seqr}, which should be either a
 sequence or a record.  The copy is the same type of object as the
-original, and it has the same elements in the same order.
+original, and it has the same elements in the same order.  However, if
+@var{seqr} is empty, like a string or a vector of zero length, the
+value returned by this function might not be a copy, but an empty
+object of the same type and identical to @var{seqr}.
 
 Storing a new element into the copy does not affect the original
 @var{seqr}, and vice versa.  However, the elements of the copy
index 4524ff9b268dcc15e2ab19aebcc789602b5f8d17..2311a6e041b38084861bf363b882c4eb6008b2ab 100644 (file)
--- a/src/fns.c
+++ b/src/fns.c
@@ -482,7 +482,9 @@ usage: (vconcat &rest SEQUENCES)   */)
 DEFUN ("copy-sequence", Fcopy_sequence, Scopy_sequence, 1, 1, 0,
        doc: /* Return a copy of a list, vector, string, char-table or record.
 The elements of a list, vector or record are not copied; they are
-shared with the original.  */)
+shared with the original.
+If the original sequence is empty, this function may return
+the same empty object instead of its copy.  */)
   (Lisp_Object arg)
 {
   if (NILP (arg)) return arg;