[[[
Bind a free variable, and mark an intentionally dynamic binding as such.

* contrib/client-side/psvn/psvn.el
  (svn-status-make-dummy-dirs, svn-parse-status-result): Added comments
    about the dynamic binding of ui-status.
  (svn-status-apply-elide-list): Bind elided-list, which was apparently
    not intended to be a free variable.

Possibly we should also (defvar ui-status) to reduce compiler warnings,
but I'm not sure that would work in all Emacs versions psvn.el supports.
]]]

--- psvn.el	(revision 15394 variant kon.3.docstr)
+++ psvn.el	(revision 15394 variant kon.4.freevar)
@@ -768,6 +768,7 @@ (defun svn-parse-rev-num (str)
 
 
 (defun svn-status-make-dummy-dirs (dir-list)
+  ;; This is called from `svn-parse-status-result', which binds `ui-status'.
   (append (mapcar (lambda (dir)
                     (list ui-status 32 nil dir -1 -1 "?" nil nil nil nil))
                   dir-list)
@@ -794,6 +795,7 @@ (defun svn-parse-status-result ()
           (author)
           (path)
           (user-elide nil)
+          ;; `svn-status-make-dummy-dirs' uses this dynamic `ui-status' binding.
           (ui-status '(nil nil))     ; contains (user-mark user-elide)
           (revision-width svn-status-default-revision-width)
           (author-width svn-status-default-author-width)
@@ -1386,6 +1388,7 @@ (defun svn-status-apply-elide-list ()
         (len-fname)
         (test)
         (len-test)
+        (elided-list)
         (elide-mark))
     (while st-info
       (setq fname (svn-status-line-info->filename (car st-info)))

