]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix bug#16090.
authorTassilo Horn <tsdh@gnu.org>
Fri, 4 Apr 2014 17:42:55 +0000 (19:42 +0200)
committerTassilo Horn <tsdh@gnu.org>
Fri, 4 Apr 2014 17:42:55 +0000 (19:42 +0200)
* 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.

lisp/ChangeLog
lisp/doc-view.el

index a49b0e7dc7c9914fbfbd7efbea8e0d46ad57e2ef..7ab920990b4e47f086f743bce28ea0f197159a6f 100644 (file)
@@ -1,3 +1,9 @@
+2014-04-04  Tassilo Horn  <tsdh@gnu.org>
+
+       * 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.  (bug#16090)
+
 2014-04-04  Eli Zaretskii  <eliz@gnu.org>
 
        * international/characters.el (mirroring): Fix last change:
index 6706865e5984154c2e9b91311784ab7c92429ffc..09d5925b3e2cb644f7a13ba9a5fa293dd4c38b58 100644 (file)
@@ -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)