aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/doc-view.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/doc-view.el')
-rw-r--r--lisp/doc-view.el23
1 files changed, 13 insertions, 10 deletions
diff --git a/lisp/doc-view.el b/lisp/doc-view.el
index 6706865e598..09d5925b3e2 100644
--- a/lisp/doc-view.el
+++ b/lisp/doc-view.el
@@ -1862,20 +1862,23 @@ See the command `doc-view-mode' for more information on this mode."
1862 `((page . ,(doc-view-current-page)) 1862 `((page . ,(doc-view-current-page))
1863 (handler . doc-view-bookmark-jump)))) 1863 (handler . doc-view-bookmark-jump))))
1864 1864
1865
1866;;;###autoload 1865;;;###autoload
1867(defun doc-view-bookmark-jump (bmk) 1866(defun doc-view-bookmark-jump (bmk)
1868 ;; This implements the `handler' function interface for record type 1867 ;; This implements the `handler' function interface for record type
1869 ;; returned by `doc-view-bookmark-make-record', which see. 1868 ;; returned by `doc-view-bookmark-make-record', which see.
1870 (prog1 (bookmark-default-handler bmk) 1869 (let ((page (bookmark-prop-get bmk 'page))
1871 (let ((page (bookmark-prop-get bmk 'page))) 1870 (show-fn-sym (make-symbol "doc-view-bookmark-after-jump-hook")))
1872 (when (not (eq major-mode 'doc-view-mode)) 1871 (fset show-fn-sym
1873 (doc-view-toggle-display)) 1872 (lambda ()
1874 (with-selected-window 1873 (remove-hook 'bookmark-after-jump-hook show-fn-sym)
1875 (or (get-buffer-window (current-buffer) 0) 1874 (when (not (eq major-mode 'doc-view-mode))
1876 (selected-window)) 1875 (doc-view-toggle-display))
1877 (doc-view-goto-page page))))) 1876 (with-selected-window
1878 1877 (or (get-buffer-window (current-buffer) 0)
1878 (selected-window))
1879 (doc-view-goto-page page))))
1880 (add-hook 'bookmark-after-jump-hook show-fn-sym)
1881 (bookmark-default-handler bmk)))
1879 1882
1880(provide 'doc-view) 1883(provide 'doc-view)
1881 1884