                      (format svn-status-line-format
                              (svn-status-line-info->filemark line-info)
                              (or (svn-status-line-info->propmark line-info) ? )
+                             (or (svn-status-line-info->historymark line-info) ? )
                              (or (svn-status-line-info->localrev line-info) "")
                              (or (svn-status-line-info->lastchangerev line-info) "")
                              (svn-status-line-info->author line-info)))
              'svn-status-marked-face)
             (if svn-status-short-mod-flag-p external filename)
             (if svn-status-short-mod-flag-p filename external)
+            (svn-status-maybe-add-string (svn-status-line-info->locked line-info)
+                                         " [ LOCKED ]" 'svn-status-locked-face)
+            (svn-status-maybe-add-string (svn-status-line-info->switched line-info)
+                                         " (switched)" 'svn-status-switched-face)
             elide-hint
             "\n")))
 

(defvar svn-status-default-column 23)
(defvar svn-status-default-revision-width 4)
(defvar svn-status-default-author-width 9)
(defvar svn-status-line-format " %c%c %4s %4s %-9s")
(defvar svn-status-short-mod-flag-p t)
(defvar svn-start-of-file-list-line-number 0)
(defvar svn-status-files-to-commit nil)

    (let ((action)
          (name)
          (done)
          (skip)
          (result))
      (goto-char (point-min))
      (setq svn-status-commit-rev-number nil)
      (setq skip nil) ; set to t whenever we find a line not about a committed file
      (while (< (point) (point-max))
        (cond ((= (point-at-eol) (point-at-bol)) ;skip blank lines
               (setq skip t))
              ((looking-at "Sending")
               (setq action 'committed))
              ((looking-at "Adding")
               (setq action 'added))
              ((looking-at "Deleting")
               (setq action 'deleted))
              ((looking-at "Transmitting file data")
               (setq skip t))
              ((looking-at "Committed revision \([0-9]+\)")
               (setq svn-status-commit-rev-number
                     (string-to-number (match-string-no-properties 1)))
               (setq skip t))
              (t ;; this should never be needed(?)
               (setq action 'unknown)))
        (unless skip                                ;found an interesting line
          (forward-char 15)
          (when svn-status-operated-on-dot
            ;; when the commit used . as argument, delete the trailing directory
