           (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)

  (if condition
      (svn-add-face text face1)
    (svn-add-face text face2)))

; compatibility
; emacs 20

    (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
