[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r112712: * doc-view.el: Integrate wit
From: |
Tassilo Horn |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r112712: * doc-view.el: Integrate with desktop.el. (Bug#14435) |
Date: |
Fri, 24 May 2013 12:54:20 +0200 |
User-agent: |
Bazaar (2.6b2) |
------------------------------------------------------------
revno: 112712
committer: Tassilo Horn <address@hidden>
branch nick: trunk
timestamp: Fri 2013-05-24 12:54:20 +0200
message:
* doc-view.el: Integrate with desktop.el. (Bug#14435)
(doc-view-desktop-save-buffer): New function.
(doc-view-restore-desktop-buffer): New function.
(desktop-buffer-mode-handlers): Add
`doc-view-restore-desktop-buffer' as desktop.el buffer mode
handler.
(doc-view-mode): Set `doc-view-desktop-save-buffer' as custom
`desktop-save-buffer' function.
modified:
lisp/ChangeLog
lisp/doc-view.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog 2013-05-24 10:35:56 +0000
+++ b/lisp/ChangeLog 2013-05-24 10:54:20 +0000
@@ -1,3 +1,14 @@
+2013-05-24 Tassilo Horn <address@hidden>
+
+ * doc-view.el: Integrate with desktop.el. (Bug#14435)
+ (doc-view-desktop-save-buffer): New function.
+ (doc-view-restore-desktop-buffer): New function.
+ (desktop-buffer-mode-handlers): Add
+ `doc-view-restore-desktop-buffer' as desktop.el buffer mode
+ handler.
+ (doc-view-mode): Set `doc-view-desktop-save-buffer' as custom
+ `desktop-save-buffer' function.
+
2013-05-24 Michael Albinus <address@hidden>
* net/tramp-gvfs.el (tramp-gvfs-enabled): New defconst.
=== modified file 'lisp/doc-view.el'
--- a/lisp/doc-view.el 2013-05-21 07:25:14 +0000
+++ b/lisp/doc-view.el 2013-05-24 10:54:20 +0000
@@ -1649,6 +1649,25 @@
(setq-local doc-view--image-type type)
(setq-local doc-view--image-file-pattern (concat "page-%s." extension))))
+;; desktop.el integration
+
+(defun doc-view-desktop-save-buffer (desktop-dirname)
+ `((page . ,(doc-view-current-page))
+ (slice . ,(doc-view-current-slice))))
+
+(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))
+ (with-selected-window (or (get-buffer-window (current-buffer) 0)
+ (selected-window))
+ (doc-view-goto-page page)
+ (when slice (apply 'doc-view-set-slice slice)))))
+
+(setq desktop-buffer-mode-handlers
+ (cons '(doc-view-mode . doc-view-restore-desktop-buffer)
+ desktop-buffer-mode-handlers))
+
;;;###autoload
(defun doc-view-mode ()
"Major mode in DocView buffers.
@@ -1715,6 +1734,9 @@
nil t)
(add-hook 'clone-indirect-buffer-hook 'doc-view-clone-buffer-hook nil t)
(add-hook 'kill-buffer-hook 'doc-view-kill-proc nil t)
+ (when (and (boundp 'desktop-save-mode)
+ desktop-save-mode)
+ (setq-local desktop-save-buffer 'doc-view-desktop-save-buffer))
(remove-overlays (point-min) (point-max) 'doc-view t) ;Just in case.
;; Keep track of display info ([vh]scroll, page number, overlay,
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r112712: * doc-view.el: Integrate with desktop.el. (Bug#14435),
Tassilo Horn <=