   (interactive)
   (pop-to-buffer svn-status-buffer-name))
 
+(defun svn-status-via-bookmark (bookmark)
+  "Allows a quick selection of a bookmark in `svn-bookmark-list'.
+Run `svn-status' on the selected bookmark."
+  (interactive
+   (list
+    (let ((completion-ignore-case t)
+          (completion-function (if (fboundp 'ido-completing-read) 'ido-completing-read 'completing-read)))
+      (funcall completion-function "SVN status bookmark: " svn-bookmark-list))))
+  (unless bookmark
+    (error "No bookmark specified"))
+  (let ((directory (cdr (assoc bookmark svn-bookmark-list))))
+    (if (file-directory-p directory)
+        (svn-status directory)
+      (error "%s is not a directory" directory))))
+
 (defun svn-status-export ()
   "Run `svn export' for the current working copy.
 Ask the user for the destination path.

;;; Commentary

;; psvn.el is tested with GNU Emacs 21.3 on windows, debian linux,
;; freebsd5, red hat el3 with svn 1.2.3

;; psvn.el is an interface for the revision control tool subversion
;; (see http://subversion.tigris.org)


See `svn-status-message' for the meaning of values for that variable.")

(defvar svn-bookmark-list "A list of locations for a quick access via `svn-status-via-bookmark'" nil)
;;(setq svn-bookmark-list '(("proj1" . "~/work/proj1")
;;                          ("doc1" . "~/docs/doc1")))

(defvar svn-status-buffer-name "*svn-status*" "Name for the svn status buffer")
(defvar svn-process-buffer-name "*svn-process*" "Name for the svn process buffer")
(defvar svn-log-edit-buffer-name "*svn-log-edit*" "Name for the svn log-edit buffer")
