From cde4c3f133e7aa85e28383988797e2f9802cf268 Mon Sep 17 00:00:00 2001 From: Tassilo Horn Date: Thu, 5 Mar 2009 08:24:26 +0000 Subject: [PATCH] (doc-view-convert-current-doc): Save the current resolution in the cache directory. (doc-view-initiate-display): Restore the saved resolution when using cached image files. --- lisp/ChangeLog | 7 +++++++ lisp/doc-view.el | 18 ++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 5f9a617aa44..1b00c6f0fdc 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,10 @@ +2009-03-05 Tassilo Horn + + * doc-view.el (doc-view-convert-current-doc): Save the current + resolution in the cache directory. + (doc-view-initiate-display): Restore the saved resolution when + using cached image files. + 2009-03-05 Glenn Morris * mail/rmail.el (rmail-perm-variables): rmail-overlay-list needs to be diff --git a/lisp/doc-view.el b/lisp/doc-view.el index c9ad392a0b7..bfdc40d50b0 100644 --- a/lisp/doc-view.el +++ b/lisp/doc-view.el @@ -721,8 +721,16 @@ Those files are saved in the directory given by the function ;; resets during the redisplay). (setq doc-view-pending-cache-flush t) (let ((png-file (expand-file-name "page-%d.png" + (doc-view-current-cache-dir))) + (res-file (expand-file-name "resolution.el" (doc-view-current-cache-dir)))) (make-directory (doc-view-current-cache-dir) t) + ;; Save the used resolution so that it can be restored when + ;; reading the cached files. + (let ((res doc-view-resolution)) + (with-temp-buffer + (princ res (current-buffer)) + (write-file res-file))) (case doc-view-doc-type (dvi ;; DVI files have to be converted to PDF before Ghostscript can process @@ -1045,6 +1053,16 @@ If BACKWARD is non-nil, jump to the previous match." (if (doc-view-already-converted-p) (progn (message "DocView: using cached files!") + ;; Load the saved resolution + (let ((res-file (expand-file-name "resolution.el" + (doc-view-current-cache-dir))) + (res doc-view-resolution)) + (with-temp-buffer + (when (file-exists-p res-file) + (insert-file-contents res-file) + (setq res (read (current-buffer))))) + (when (numberp res) + (set (make-local-variable 'doc-view-resolution) res))) (doc-view-display (current-buffer) 'force)) (doc-view-convert-current-doc)) (message -- 2.39.5