 
 ARGLIST is a list of arguments \(which must include the command name,
 for example: '(\"revert\" \"file1\"\)
+ARGLIST is flattened and any every nil value is discarded.
 
 If the variable `svn-status-edit-svn-command' is non-nil then the user
 is prompted for give extra arguments, which are appended to ARGLIST."
+  (setq arglist (delete nil (svn-status-flatten-list arglist)))
   (if (eq (process-status "svn") nil)
       (progn
         (when svn-status-edit-svn-command

                       (goto-char (previous-overlay-change cached-pos)))
                     (point)))
        (found))
	;; performance optimization: search from point to end of buffer
	(while (and (not found) (< (point) (point-max)))
	  (goto-char (next-overlay-change (point)))
	  (when (string= name (svn-status-line-info->filename
                           (svn-status-get-line-information)))
        (setq start-pos (+ (point) svn-status-default-column))
        (setq found t)))
	;; search from buffer start to point
	(goto-char (point-min))
	(while (and (not found) (< (point) start-pos))
	  (goto-char (next-overlay-change (point)))
	  (when (string= name (svn-status-line-info->filename
                           (svn-status-get-line-information)))
        (setq start-pos (+ (point) svn-status-default-column))
        (setq found t)))
	(and found start-pos)))

(defun svn-status-goto-file-name (name)
  "Move the cursor the the line that displays NAME."

                         "BASE"
                       (if (svn-status-line-info->update-available (car fl)) "HEAD" "BASE")))))
    (while fl
      (svn-run-svn nil clear-buf 'diff "diff" svn-status-default-diff-arguments
                   "-r" revision (svn-status-line-info->filename (car fl)))
      (setq clear-buf nil)
      (setq fl (cdr fl))))
  (svn-status-diff-mode))
