]> git.eshelyaron.com Git - emacs.git/commitdiff
(bookmark-buffer-file-name, bookmark-prop-get): Declare.
authorStefan Monnier <monnier@iro.umontreal.ca>
Sun, 9 Mar 2008 21:37:16 +0000 (21:37 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Sun, 9 Mar 2008 21:37:16 +0000 (21:37 +0000)
(doc-view-bookmark-make-record): Use them.
(doc-view-bookmark-jump): Use them.  Fix find-file -> find-file-noselect.
(bookmark-get-filename, bookmark-get-bookmark-record): Remove.

lisp/ChangeLog
lisp/doc-view.el

index 7d194ed5300d6d71422698ad60f5025f70b4889d..bb2291dc3e98c4478aa28524d9b034c123417638 100644 (file)
@@ -1,5 +1,10 @@
 2008-03-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 
+       * doc-view.el (bookmark-buffer-file-name, bookmark-prop-get): Declare.
+       (doc-view-bookmark-make-record): Use them.
+       (doc-view-bookmark-jump): Use them.  Fix find-file -> find-file-noselect.
+       (bookmark-get-filename, bookmark-get-bookmark-record): Remove.
+
        * bookmark.el (bookmark-make-record-function): Change expected return value
        to include a suggested bookmark name.
        (bookmark-make): Split into bookmark-make-record and bookmark-store.
index 43d06f3c077c9c9e551a0129aa17ca603969b841..bb98b4a8af1047026bad15e34c50d8719e15588c 100644 (file)
@@ -1082,26 +1082,28 @@ See the command `doc-view-mode' for more information on this mode."
 
 ;;;; Bookmark integration
 
+(declare-function bookmark-buffer-file-name "bookmark" ())
+(declare-function bookmark-prop-get "bookmark" (bookmark prop))
+
 (defun doc-view-bookmark-make-record ()
-  `((filename . ,buffer-file-name)
+  `((filename . ,(bookmark-buffer-file-name))
     (page     . ,(doc-view-current-page))
     (handler  . doc-view-bookmark-jump)))
 
 
-(declare-function bookmark-get-filename        "bookmark" (bookmark))
-(declare-function bookmark-get-bookmark-record "bookmark" (bookmark))
-
 ;;;###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.
-  (save-window-excursion
-    (let ((filename (bookmark-get-filename bmk))
-         (page (cdr (assq 'page (bookmark-get-bookmark-record bmk)))))
-      (find-file filename)
+  (let ((filename (bookmark-prop-get bmk 'filename))
+        (page (bookmark-prop-get bmk 'page)))
+    (with-current-buffer (find-file-noselect filename)
       (when (not (eq major-mode 'doc-view-mode))
        (doc-view-toggle-display))
-      (doc-view-goto-page page)
+      (with-selected-window
+          (or (get-buffer-window (current-buffer) 0)
+              (selected-window))
+        (doc-view-goto-page page))
       `((buffer ,(current-buffer)) (position ,1)))))