# HG changeset patch # User Stefan Monnier # Date 1205098636 0 # Node ID 0574109ed8bc65b7dd1c99aaed29dc15fca0f9e4 # Parent ae00481eacc14912c1db61a70ac830164418d0c3 (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. diff -r ae00481eacc1 -r 0574109ed8bc lisp/ChangeLog --- a/lisp/ChangeLog Sun Mar 09 21:35:01 2008 +0000 +++ b/lisp/ChangeLog Sun Mar 09 21:37:16 2008 +0000 @@ -1,5 +1,10 @@ 2008-03-09 Stefan Monnier + * 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. diff -r ae00481eacc1 -r 0574109ed8bc lisp/doc-view.el --- a/lisp/doc-view.el Sun Mar 09 21:35:01 2008 +0000 +++ b/lisp/doc-view.el Sun Mar 09 21:37:16 2008 +0000 @@ -1082,26 +1082,28 @@ ;;;; 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)))))