     (defalias 'puthash 'cl-puthash))
 
 ; xemacs
-(if (fboundp 'match-string-no-properties)
-    nil ;; great
-  (defsubst match-string-no-properties (match)
-    (buffer-substring-no-properties (match-beginning match) (match-end match))))
+;; Evaluate the defsubst at compile time, so that the byte compiler
+;; knows the definition and can inline calls.  It cannot detect the
+;; defsubst automatically from within the if form.
+(eval-and-compile
+  (if (fboundp 'match-string-no-properties)
+      nil ;; great
+    (defsubst match-string-no-properties (match)
+      (buffer-substring-no-properties (match-beginning match) (match-end match)))))
 
 (defvar svn-global-keymap nil "Global keymap for psvn.el.
 To bind this to a different key, customize `svn-status-prefix-key'.")

  ;(svn-status-show-process-buffer-internal t)
  (message "svn-status-property-parse-property-names")
  (let ((pl)
        (pfl)
        (prop-name)
        (prop-value))
    (save-excursion

  (setq svn-status-head-revision nil)
  (save-excursion
    (let ((old-ui-information (svn-status-ui-information-hash-table))
          (svn-marks)
          (svn-file-mark)
          (svn-property-mark)
