 
 (defvar svn-status-load-state-before-svn-status t
   "*Whether to automatically restore state from ++psvn.state file before running svn-status.")
+
+(defvar svn-log-link-handlers nil "A list of link handlers in *svn-log* buffers.
+These link handlers must be registered via `svn-log-register-link-handler'")
 
 ;;; hooks
 (defvar svn-status-mode-hook nil "Hook run when entering `svn-status-mode'.")

  (define-key svn-log-view-mode-map (kbd "~") 'svn-log-get-specific-revision)
  (define-key svn-log-view-mode-map (kbd "E") 'svn-log-ediff-specific-revision)
  (define-key svn-log-view-mode-map (kbd "=") 'svn-log-view-diff)
  (define-key svn-log-view-mode-map (kbd "RET") 'svn-log-find-file-at-point)
  (define-key svn-log-view-mode-map (kbd "e") 'svn-log-edit-log-entry)
  (define-key svn-log-view-mode-map (kbd "q") 'bury-buffer))

      (let ((default-directory (svn-status-base-dir)))
        ;;(message "svn-log-file-name-at-point: %s, default-directory: %s" file-name default-directory)
        (find-file file-name)))))

(defun svn-log-next-link ()
  "Jump to the next external link in this buffer"
  (interactive)
  (let ((start-pos (if (get-text-property (point) 'link-handler)
                       (next-single-property-change (point) 'link-handler)
                     (point))))
    (goto-char (or (next-single-property-change start-pos 'link-handler) (point)))))

(defun svn-log-prev-link ()
  "Jump to the previous external link in this buffer"
  (interactive)
  (let ((start-pos (if (get-text-property (point) 'link-handler)
                       (previous-single-property-change (point) 'link-handler)
                     (point))))
    (goto-char (or (previous-single-property-change (or start-pos (point)) 'link-handler) (point)))))

(defun svn-log-view-diff (arg)
  "Show the changeset for a given log entry.
