      ("Jump to bookmark" . (lambda (candidate)
                              (bookmark-jump candidate)
                              (anything-update)
-                             (condition-case nil
-                                 (when bookmark-use-region
-                                   (let ((bmk-name (or (bookmark-get-buffername candidate)
-                                                       (file-name-nondirectory
-                                                        (bookmark-get-filename candidate)))))
-                                     (when bmk-name
-                                       (with-current-buffer bmk-name
-                                         (setq deactivate-mark nil)))))
-                               (error nil))))
+                             (anything-bookmark-active-region-maybe candidate)))
      ("Jump to BM other window" . (lambda (candidate)
                                     (bookmark-jump-other-window candidate)
-                                    (anything-update)))
+                                    (anything-update)
+                                    (anything-bookmark-active-region-maybe candidate)))
      ("Bookmark edit annotation" . (lambda (candidate)
                                      (bookmark-edit-annotation candidate)))
      ("Bookmark show annotation" . (lambda (candidate)
                                      (bookmark-show-annotation candidate)))
-     ("Delete bookmark" . anything-delete-marked-bookmarks)
+     ("Delete bookmark(s)" . anything-delete-marked-bookmarks)
      ("Rename bookmark" . bookmark-rename)
      ("Relocate bookmark" . bookmark-relocate)))
   "Bookmark name.")

RedOnWhite ==> Directory."
  (loop for i in files
     for pred = (bookmark-get-filename i)
     for bufp = (and (fboundp 'bookmark-get-buffername)
                     (bookmark-get-buffername i))
     for regp = (and (fboundp 'bookmark-get-endposition)
                     (bookmark-get-endposition i)
                     (/= (bookmark-get-position i)
                         (bookmark-get-endposition i)))
     for handlerp = (and (fboundp 'bookmark-get-handler)
                         (bookmark-get-handler i))
     if (and pred ;; directories
             (file-directory-p pred))
     collect (propertize i 'face anything-c-bookmarks-face1)
     if (and pred ;; regular files
             (not (file-directory-p pred))
             (file-exists-p pred)
             (not regp))
     collect (propertize i 'face anything-c-bookmarks-face2)
     if (and pred ;; regular files with regions saved
             (not (file-directory-p pred))
             (file-exists-p pred)
             regp)
     collect (propertize i 'face '((:foreground "Indianred2")))
     if (and (fboundp 'bookmark-get-buffername) ;; buffer non--filename
             bufp
             (not pred))
     collect (propertize i 'face '((:foreground "grey")))
     if (and (fboundp 'bookmark-get-buffername) ;; w3m buffers
             (string= bufp "*w3m*")
             (when pred
               (not (file-exists-p pred))))
     collect (propertize i 'face '((:foreground "yellow")))
     if (and (fboundp 'bookmark-get-buffername) ;; info buffers
             (eq handlerp 'Info-bookmark-jump)
             (string= bufp "*info*"))
     collect (propertize i 'face '((:foreground "green")))))
       

(defvar anything-c-source-bookmarks-local

;;     `anything-c-source-icicle-region' (Icicle Regions)
;;  Kill ring:
;;     `anything-c-source-kill-ring' (Kill Ring)
;;  Mark ring:
;;     `anything-c-source-mark-ring'        (mark-ring)
;;     `anything-c-source-global-mark-ring' (global-mark-ring)
;;  Register:
;;     `anything-c-source-register' (Registers)
;;  Headline Extraction:
