]> git.eshelyaron.com Git - emacs.git/commitdiff
(cvs-map): Avoid recursion :-(
authorStefan Monnier <monnier@iro.umontreal.ca>
Mon, 7 Apr 2008 14:25:02 +0000 (14:25 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Mon, 7 Apr 2008 14:25:02 +0000 (14:25 +0000)
lisp/ChangeLog
lisp/pcvs-util.el

index 79a74b684886ecdd5ce91dda8d065c1c3b26dbb8..9f51e4a0ab8d76bca011fefd0949768562841d3d 100644 (file)
@@ -1,3 +1,7 @@
+2008-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * pcvs-util.el (cvs-map): Avoid recursion :-(
+
 2008-04-07  Glenn Morris  <rgm@gnu.org>
 
        * calendar/calendar.el (calendar-mode-map): Replace use of kbd.
index bd4efef8d55194a4dce7c4390e064c37281a4d0a..1cbe72796c267d442d32c4b15fbcc08be0d0daf4 100644 (file)
       (unless (member x ys) (push x zs)))))
 
 (defun cvs-map (-cvs-map-f &rest -cvs-map-ls)
-  (unless (cvs-every 'null -cvs-map-ls)
-    (cons (apply -cvs-map-f (mapcar 'car -cvs-map-ls))
-         (apply 'cvs-map -cvs-map-f (mapcar 'cdr -cvs-map-ls)))))
+  (let ((accum ()))
+    (while (not (cvs-every 'null -cvs-map-ls))
+      (push (apply -cvs-map-f (mapcar 'car -cvs-map-ls)) accum)
+      (setq -cvs-map-ls (mapcar 'cdr -cvs-map-ls)))
+    (nreverse accum)))
 
 (defun cvs-first (l &optional n)
   (if (null n) (car l)