summaryrefslogtreecommitdiff
path: root/lisp/doc-view.el
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2013-05-24 13:42:23 -0400
committerStefan Monnier <monnier@iro.umontreal.ca>2013-05-24 13:42:23 -0400
commit5010583555fce883d83e7a50e26d9d34f9e108ce (patch)
tree4de9abcb55be0e5bc8bb4f1860ffc0ed331636fa /lisp/doc-view.el
parenta4f59c0fb9e684f06ab82236474fbf4586968dad (diff)
downloademacs-5010583555fce883d83e7a50e26d9d34f9e108ce.tar.gz
* lisp/image-mode.el (image-mode-winprops): Add winprops to
image-mode-winprops-alist before running image-mode-new-window-functions. * lisp/doc-view.el (doc-view-new-window-function): Don't delay doc-view-goto-page via timers. Fixes: debbugs:14435
Diffstat (limited to 'lisp/doc-view.el')
-rw-r--r--lisp/doc-view.el34
1 files changed, 14 insertions, 20 deletions
diff --git a/lisp/doc-view.el b/lisp/doc-view.el
index d7476114fcb..3a4a8138237 100644
--- a/lisp/doc-view.el
+++ b/lisp/doc-view.el
@@ -328,24 +328,15 @@ of the page moves to the previous page."
(cl-assert (eq t (car winprops)))
(delete-overlay ol))
(image-mode-window-put 'overlay ol winprops)
- (when (windowp (car winprops))
- (if (stringp (overlay-get ol 'display))
- ;; We're not already displaying an image, so this is the
- ;; initial window showing the document.
- (run-with-timer nil nil
- (lambda ()
- ;; In case a conversion is running, the
- ;; refresh will happen as defined by
- ;; `doc-view-conversion-refresh-interval'.
- (unless doc-view-current-converter-processes
- (with-selected-window (car winprops)
- (doc-view-goto-page 1)))))
- ;; We've split the window showing the document. All we need
- ;; to do is selecting the new window to cause a redisplay to
- ;; make the image appear there, too.
- (run-with-timer nil nil
- (lambda ()
- (with-selected-window (car winprops))))))))
+ (when (and (windowp (car winprops))
+ (stringp (overlay-get ol 'display))
+ (null doc-view-current-converter-processes))
+ ;; We're not displaying an image yet, so let's do so. This happens when
+ ;; the buffer is displayed for the first time.
+ ;; Don't do it if there's a conversion is running, since in that case, it
+ ;; will be done later.
+ (with-selected-window (car winprops)
+ (doc-view-goto-page 1)))))
(defvar doc-view-current-files nil
"Only used internally.")
@@ -1651,14 +1642,17 @@ If BACKWARD is non-nil, jump to the previous match."
;; desktop.el integration
-(defun doc-view-desktop-save-buffer (desktop-dirname)
+(defun doc-view-desktop-save-buffer (_desktop-dirname)
`((page . ,(doc-view-current-page))
(slice . ,(doc-view-current-slice))))
+(declare-function desktop-restore-file-buffer "desktop"
+ (buffer-filename buffer-name buffer-misc))
+
(defun doc-view-restore-desktop-buffer (file name misc)
(let ((page (cdr (assq 'page misc)))
(slice (cdr (assq 'slice misc))))
- (prog1 (desktop-restore-file-buffer file name misc))
+ (desktop-restore-file-buffer file name misc)
(with-selected-window (or (get-buffer-window (current-buffer) 0)
(selected-window))
(doc-view-goto-page page)