           (svn-marks)
           (svn-file-mark)
           (svn-property-mark)
+          (svn-locked-mark)
+          (svn-with-history-mark)
+          (svn-switched-mark)
           (svn-update-mark)
           (local-rev)
           (last-change-rev)

    nil))
(defun svn-status-line-info->author (line-info) (nth 6 line-info))
(defun svn-status-line-info->modified-external (line-info) (nth 7 line-info))

(defun svn-status-line-info->is-visiblep (line-info)
  (not (or (svn-status-line-info->hide-because-unknown line-info)

            (setq svn-status-head-revision (match-string 1))))
         ((looking-at "Performing status on external item at '\(.*\)'")
          ;; The *next* line has info about the directory named in svn:externals
          ;; [ie the directory in (match-string 1)]
          ;; we should parse it, and merge the info with what we have already know
          ;; but for now just ignore the line completely
          (forward-line)
          )
         (t
          (setq svn-marks (buffer-substring (point) (+ (point) 8))
                svn-file-mark (elt svn-marks 0)         ; 1st column - M,A,C,D,G,? etc
                svn-property-mark (elt svn-marks 1)     ; 2nd column - M,C (properties)
                svn-locked-mark (elt svn-marks 2)       ; 3rd column - L or blank
                svn-with-history-mark (elt svn-marks 3) ; 4th column - + or blank
                svn-switched-mark (elt svn-marks 4)     ; 5th column - S or blank
                svn-update-mark (elt svn-marks 7))      ; 8th column - * or blank

          (when (eq svn-property-mark ?\ )     (setq svn-property-mark nil))
          (when (eq svn-locked-mark ?\ )       (setq svn-locked-mark nil))
          (when (eq svn-with-history-mark ?\ ) (setq svn-with-history-mark nil))
          (when (eq svn-switched-mark ?\ )     (setq svn-switched-mark nil))
          (when (eq svn-update-mark ?\ )       (setq svn-update-mark nil))
          (forward-char 8)
          (skip-chars-forward " ")
          (cond
