diff options
author | Tassilo Horn <tsdh@gnu.org> | 2014-04-04 19:42:55 +0200 |
---|---|---|
committer | Tassilo Horn <tsdh@gnu.org> | 2014-04-04 19:42:55 +0200 |
commit | 3ccd4eafd3d51285b2d9eb4e5e83b3be20dbfe9f (patch) | |
tree | d355357d98979671bfb8431f3a4381b28149e72f /lisp/doc-view.el | |
parent | 114d739befb17f62f8927d6dfeb334cfca394671 (diff) | |
download | emacs-3ccd4eafd3d51285b2d9eb4e5e83b3be20dbfe9f.tar.gz |
Fix bug#16090.
* lisp/doc-view.el (doc-view-bookmark-jump): Use
`bookmark-after-jump-hook' to jump to the right page after the
buffer is shown in a window.
Diffstat (limited to 'lisp/doc-view.el')
-rw-r--r-- | lisp/doc-view.el | 23 |
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." `((page . ,(doc-view-current-page)) (handler . doc-view-bookmark-jump)))) - ;;;###autoload (defun doc-view-bookmark-jump (bmk) ;; This implements the `handler' function interface for record type ;; returned by `doc-view-bookmark-make-record', which see. - (prog1 (bookmark-default-handler bmk) - (let ((page (bookmark-prop-get bmk 'page))) - (when (not (eq major-mode 'doc-view-mode)) - (doc-view-toggle-display)) - (with-selected-window - (or (get-buffer-window (current-buffer) 0) - (selected-window)) - (doc-view-goto-page page))))) - + (let ((page (bookmark-prop-get bmk 'page)) + (show-fn-sym (make-symbol "doc-view-bookmark-after-jump-hook"))) + (fset show-fn-sym + (lambda () + (remove-hook 'bookmark-after-jump-hook show-fn-sym) + (when (not (eq major-mode 'doc-view-mode)) + (doc-view-toggle-display)) + (with-selected-window + (or (get-buffer-window (current-buffer) 0) + (selected-window)) + (doc-view-goto-page page)))) + (add-hook 'bookmark-after-jump-hook show-fn-sym) + (bookmark-default-handler bmk))) (provide 'doc-view) |