aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJuri Linkov2014-02-07 09:44:29 +0200
committerJuri Linkov2014-02-07 09:44:29 +0200
commit2b777cd9a2bb84a5d3c3b14c70eb2efc0b8de124 (patch)
treea8c7954e5c3f30ed4f189b0a89f67a651f62a1ff
parent99cf38598cd4ac71407b542ba0054fa0df018eb1 (diff)
downloademacs-2b777cd9a2bb84a5d3c3b14c70eb2efc0b8de124.tar.gz
emacs-2b777cd9a2bb84a5d3c3b14c70eb2efc0b8de124.zip
* lisp/desktop.el (desktop-save-mode): Call `desktop-auto-save-set-timer'
when enabling, and `desktop-auto-save-cancel-timer' when disabling. (desktop-auto-save-cancel-timer): New function with some code from `desktop-auto-save-set-timer'. (after-init-hook): Don't call `desktop-auto-save-set-timer'. Instead of setting `desktop-save-mode' to nil, call `desktop-save-mode' with arg 0. Fixes: debbugs:16630
-rw-r--r--lisp/ChangeLog10
-rw-r--r--lisp/desktop.el17
2 files changed, 21 insertions, 6 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 97fc72e90ed..ca224a78108 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,13 @@
12014-02-07 Juri Linkov <juri@jurta.org>
2
3 * desktop.el (desktop-save-mode): Call `desktop-auto-save-set-timer'
4 when enabling, and `desktop-auto-save-cancel-timer' when disabling.
5 (desktop-auto-save-cancel-timer): New function with some code from
6 `desktop-auto-save-set-timer'.
7 (after-init-hook): Don't call `desktop-auto-save-set-timer'.
8 Instead of setting `desktop-save-mode' to nil, call
9 `desktop-save-mode' with arg 0. (Bug#16630)
10
12014-02-07 Glenn Morris <rgm@gnu.org> 112014-02-07 Glenn Morris <rgm@gnu.org>
2 12
3 * hi-lock.el (hi-lock-auto-select-face, hi-lock-line-face-buffer) 13 * hi-lock.el (hi-lock-auto-select-face, hi-lock-line-face-buffer)
diff --git a/lisp/desktop.el b/lisp/desktop.el
index 78ecc2f5376..161ddc717cc 100644
--- a/lisp/desktop.el
+++ b/lisp/desktop.el
@@ -162,7 +162,10 @@ If Desktop Save mode is enabled, the state of Emacs is saved from
162one session to another. See variable `desktop-save' and function 162one session to another. See variable `desktop-save' and function
163`desktop-read' for details." 163`desktop-read' for details."
164 :global t 164 :global t
165 :group 'desktop) 165 :group 'desktop
166 (if desktop-save-mode
167 (desktop-auto-save-set-timer)
168 (desktop-auto-save-cancel-timer)))
166 169
167(defun desktop-save-mode-off () 170(defun desktop-save-mode-off ()
168 "Disable `desktop-save-mode'. Provided for use in hooks." 171 "Disable `desktop-save-mode'. Provided for use in hooks."
@@ -1216,15 +1219,18 @@ Called by the timer created in `desktop-auto-save-set-timer'."
1216Cancel any previous timer. When `desktop-auto-save-timeout' is a positive 1219Cancel any previous timer. When `desktop-auto-save-timeout' is a positive
1217integer, start a new idle timer to call `desktop-auto-save' repeatedly 1220integer, start a new idle timer to call `desktop-auto-save' repeatedly
1218after that many seconds of idle time." 1221after that many seconds of idle time."
1219 (when desktop-auto-save-timer 1222 (desktop-auto-save-cancel-timer)
1220 (cancel-timer desktop-auto-save-timer)
1221 (setq desktop-auto-save-timer nil))
1222 (when (and (integerp desktop-auto-save-timeout) 1223 (when (and (integerp desktop-auto-save-timeout)
1223 (> desktop-auto-save-timeout 0)) 1224 (> desktop-auto-save-timeout 0))
1224 (setq desktop-auto-save-timer 1225 (setq desktop-auto-save-timer
1225 (run-with-idle-timer desktop-auto-save-timeout t 1226 (run-with-idle-timer desktop-auto-save-timeout t
1226 'desktop-auto-save)))) 1227 'desktop-auto-save))))
1227 1228
1229(defun desktop-auto-save-cancel-timer ()
1230 (when desktop-auto-save-timer
1231 (cancel-timer desktop-auto-save-timer)
1232 (setq desktop-auto-save-timer nil)))
1233
1228;; ---------------------------------------------------------------------------- 1234;; ----------------------------------------------------------------------------
1229;;;###autoload 1235;;;###autoload
1230(defun desktop-revert () 1236(defun desktop-revert ()
@@ -1465,10 +1471,9 @@ If there are no buffers left to create, kill the timer."
1465 (let ((key "--no-desktop")) 1471 (let ((key "--no-desktop"))
1466 (when (member key command-line-args) 1472 (when (member key command-line-args)
1467 (setq command-line-args (delete key command-line-args)) 1473 (setq command-line-args (delete key command-line-args))
1468 (setq desktop-save-mode nil))) 1474 (desktop-save-mode 0)))
1469 (when desktop-save-mode 1475 (when desktop-save-mode
1470 (desktop-read) 1476 (desktop-read)
1471 (desktop-auto-save-set-timer)
1472 (setq inhibit-startup-screen t)))) 1477 (setq inhibit-startup-screen t))))
1473 1478
1474;; So we can restore vc-dir buffers. 1479;; So we can restore vc-dir buffers.