diff options
| author | Juri Linkov | 2014-02-07 09:44:29 +0200 |
|---|---|---|
| committer | Juri Linkov | 2014-02-07 09:44:29 +0200 |
| commit | 2b777cd9a2bb84a5d3c3b14c70eb2efc0b8de124 (patch) | |
| tree | a8c7954e5c3f30ed4f189b0a89f67a651f62a1ff | |
| parent | 99cf38598cd4ac71407b542ba0054fa0df018eb1 (diff) | |
| download | emacs-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/ChangeLog | 10 | ||||
| -rw-r--r-- | lisp/desktop.el | 17 |
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 @@ | |||
| 1 | 2014-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 | |||
| 1 | 2014-02-07 Glenn Morris <rgm@gnu.org> | 11 | 2014-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 | |||
| 162 | one session to another. See variable `desktop-save' and function | 162 | one 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'." | |||
| 1216 | Cancel any previous timer. When `desktop-auto-save-timeout' is a positive | 1219 | Cancel any previous timer. When `desktop-auto-save-timeout' is a positive |
| 1217 | integer, start a new idle timer to call `desktop-auto-save' repeatedly | 1220 | integer, start a new idle timer to call `desktop-auto-save' repeatedly |
| 1218 | after that many seconds of idle time." | 1221 | after 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. |