From 6f70aa334f6f388d2ea86e8e14747f6bb11e6795 Mon Sep 17 00:00:00 2001 From: Tassilo Horn Date: Tue, 29 Jan 2008 13:50:35 +0000 Subject: [PATCH] 2008-01-29 Tassilo Horn * doc-view.el (doc-view-mode): Use facilities of image-mode to restore [vh]scroll when switching buffers. --- lisp/ChangeLog | 15 +++++++++++++++ lisp/doc-view.el | 9 +++++++++ 2 files changed, 24 insertions(+) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 51a033602ff..5c68efb5298 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,18 @@ +2008-01-29 Tassilo Horn + + * doc-view.el (doc-view-mode): Use facilities below to + restore [vh]scroll when switching buffers. + + * image-mode.el (image-mode-current-vscroll) + (image-mode-current-hscroll): New variables. + (image-set-window-hscroll, image-set-window-vscroll): New + functions. + (image-forward-hscroll, image-next-line, image-bol, image-eol) + (image-bob, image-eob): Use them. + (image-reset-current-vhscroll): New function. + (image-mode): Make new variables buffer-local and reset [vh]scroll + on window configuration changes. + 2008-01-27 Nick Roberts * progmodes/gdb-ui.el (gdb-create-define-alist): Don't call diff --git a/lisp/doc-view.el b/lisp/doc-view.el index 034eace3dfb..047785e844c 100644 --- a/lisp/doc-view.el +++ b/lisp/doc-view.el @@ -987,6 +987,15 @@ toggle between displaying the document or editing it as text." (add-hook 'change-major-mode-hook (lambda () (delete-overlay doc-view-current-overlay)) nil t) + + ;; Keep track of [vh]scroll when switching buffers + (set (make-local-variable 'image-mode-current-hscroll) + (window-hscroll (selected-window))) + (set (make-local-variable 'image-mode-current-vscroll) + (window-vscroll (selected-window))) + (add-hook 'window-configuration-change-hook + 'image-reset-current-vhscroll nil t) + (set (make-local-variable 'mode-line-position) '(" P" (:eval (number-to-string doc-view-current-page)) "/" (:eval (number-to-string (length doc-view-current-files))))) -- 2.39.2