[[[
Speed up O(m+n^2) to O(m+n) in svn-status-marked-files of psvn.

* contrib/client-side/psvn/psvn.el
  (svn-status-marked-files): Use (loop ... collect ...) instead of
    append, thus avoiding quadratic complexity.  I don't think this
    ever was too slow, but the new code is shorter too.
]]]

--- psvn.el	(revision 15394 variant kon.4.freevar)
+++ psvn.el	(revision 15394 variant kon.5.complexity)
@@ -2065,12 +2065,9 @@ (defun svn-status-find-info-for-file-nam
 (defun svn-status-marked-files ()
   "Return all files marked by `svn-status-set-user-mark',
 or (if no files were marked) the file under point."
-  (let* ((st-info svn-status-info)
-         (file-list))
-    (while st-info
-      (when (svn-status-line-info->has-usermark (car st-info))
-        (setq file-list (append file-list (list (car st-info)))))
-      (setq st-info (cdr st-info)))
+  (let ((file-list (loop for file in svn-status-info
+                         when (svn-status-line-info->has-usermark file)
+                           collect file)))
     (or file-list
         (if (svn-status-get-line-information)
             (list (svn-status-get-line-information))

