aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKim F. Storm2005-06-01 11:42:19 +0000
committerKim F. Storm2005-06-01 11:42:19 +0000
commit859463640aab206bbead70e359e5e480c8b11750 (patch)
tree1de150b23dad258eefdc8c1e63e9be78053e6d9a /src
parent89fe657e114b167461e54cb1f4d0193514d4a850 (diff)
downloademacs-859463640aab206bbead70e359e5e480c8b11750.tar.gz
emacs-859463640aab206bbead70e359e5e480c8b11750.zip
(mapcar1): Maybe exit loop if original sequence was modified.
Diffstat (limited to 'src')
-rw-r--r--src/fns.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/fns.c b/src/fns.c
index bd3893f7538..e910c87375b 100644
--- a/src/fns.c
+++ b/src/fns.c
@@ -3132,9 +3132,9 @@ mapcar1 (leni, vals, fn, seq)
3132 else /* Must be a list, since Flength did not get an error */ 3132 else /* Must be a list, since Flength did not get an error */
3133 { 3133 {
3134 tail = seq; 3134 tail = seq;
3135 for (i = 0; i < leni; i++) 3135 for (i = 0; i < leni && CONSP (tail); i++)
3136 { 3136 {
3137 dummy = call1 (fn, Fcar (tail)); 3137 dummy = call1 (fn, XCAR (tail));
3138 if (vals) 3138 if (vals)
3139 vals[i] = dummy; 3139 vals[i] = dummy;
3140 tail = XCDR (tail); 3140 tail = XCDR (tail);
@@ -3172,7 +3172,7 @@ SEQUENCE may be a list, a vector, a bool-vector, or a string. */)
3172 mapcar1 (leni, args, function, sequence); 3172 mapcar1 (leni, args, function, sequence);
3173 UNGCPRO; 3173 UNGCPRO;
3174 3174
3175 for (i = leni - 1; i >= 0; i--) 3175 for (i = leni - 1; i > 0; i--)
3176 args[i + i] = args[i]; 3176 args[i + i] = args[i];
3177 3177
3178 for (i = 1; i < nargs; i += 2) 3178 for (i = 1; i < nargs; i += 2)