emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] emacs-24 r116909: Fix bug#16090.


From: Tassilo Horn
Subject: [Emacs-diffs] emacs-24 r116909: Fix bug#16090.
Date: Fri, 04 Apr 2014 17:43:50 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 116909
revision-id: address@hidden
parent: address@hidden
fixes bug: http://debbugs.gnu.org/16090
committer: Tassilo Horn <address@hidden>
branch nick: emacs-24
timestamp: Fri 2014-04-04 19:42:55 +0200
message:
  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.
modified:
  lisp/ChangeLog                 changelog-20091113204419-o5vbwnq5f7feedwu-1432
  lisp/doc-view.el               docview.el-20091113204419-o5vbwnq5f7feedwu-6334
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2014-04-04 08:26:00 +0000
+++ b/lisp/ChangeLog    2014-04-04 17:42:55 +0000
@@ -1,3 +1,9 @@
+2014-04-04  Tassilo Horn  <address@hidden>
+
+       * 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  <address@hidden>
 
        * international/characters.el (mirroring): Fix last change:

=== modified file 'lisp/doc-view.el'
--- a/lisp/doc-view.el  2014-01-01 07:43:34 +0000
+++ b/lisp/doc-view.el  2014-04-04 17:42:55 +0000
@@ -1862,20 +1862,23 @@
          `((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)
 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]