1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-23 07:19:15 +00:00

(desktop-enable): New variable.

(after-init-hook): Add a hook to test desktop-enable.
(desktop-save-hook): Doc fix.
This commit is contained in:
Richard M. Stallman 1997-12-29 20:58:19 +00:00
parent 2d60724455
commit 813dbb2d58

View File

@ -1,6 +1,6 @@
;;; desktop.el --- save partial status of Emacs when killed ;;; desktop.el --- save partial status of Emacs when killed
;; Copyright (C) 1993, 1994, 1995 Free Software Foundation, Inc. ;; Copyright (C) 1993, 1994, 1995, 1997 Free Software Foundation, Inc.
;; Author: Morten Welinder <terra@diku.dk> ;; Author: Morten Welinder <terra@diku.dk>
;; Keywords: customization ;; Keywords: customization
@ -109,9 +109,18 @@
"Save status of Emacs when you exit." "Save status of Emacs when you exit."
:group 'frames) :group 'frames)
(defconst desktop-basefilename (defcustom desktop-enable nil
"*Non-nil enable Desktop to save the state of Emacs when you exit."
:group 'desktop
:type 'boolean
:require 'desktop
:initialize 'custom-initialize-default)
(defcustom desktop-basefilename
(convert-standard-filename ".emacs.desktop") (convert-standard-filename ".emacs.desktop")
"File for Emacs desktop, not including the directory name.") "File for Emacs desktop, not including the directory name."
:type 'file
:group 'desktop)
(defcustom desktop-missing-file-warning nil (defcustom desktop-missing-file-warning nil
"*If non-nil then desktop warns when a file no longer exists. "*If non-nil then desktop warns when a file no longer exists.
@ -204,10 +213,11 @@ If the function returns t then the buffer is considered created."
"Opening of form for creation of new buffers.") "Opening of form for creation of new buffers.")
(defcustom desktop-save-hook nil (defcustom desktop-save-hook nil
"Hook run before saving the desktop to allow you to cut history lists and "Hook run before desktop saves the state of Emacs.
the like shorter." This is useful for truncating history lists, for example."
:type 'hook :type 'hook
:group 'desktop) :group 'desktop)
;; ---------------------------------------------------------------------------- ;; ----------------------------------------------------------------------------
(defvar desktop-dirname nil (defvar desktop-dirname nil
"The directory in which the current desktop file resides.") "The directory in which the current desktop file resides.")
@ -220,6 +230,7 @@ the like shorter."
(defvar desktop-delay-hook nil (defvar desktop-delay-hook nil
"Hooks run after all buffers are loaded; intended for internal use.") "Hooks run after all buffers are loaded; intended for internal use.")
;; ---------------------------------------------------------------------------- ;; ----------------------------------------------------------------------------
(defun desktop-truncate (l n) (defun desktop-truncate (l n)
"Truncate LIST to at most N elements destructively." "Truncate LIST to at most N elements destructively."
@ -619,6 +630,16 @@ to provide correct modes for autoloaded files."
(cons 'case-replace cr) (cons 'case-replace cr)
(cons 'overwrite-mode (car mim))))) (cons 'overwrite-mode (car mim)))))
;; ---------------------------------------------------------------------------- ;; ----------------------------------------------------------------------------
;; If the user set desktop-enable to t with Custom,
;; do the rest of what it takes to use desktop,
;; but do it after finishing loading the init file.
(add-hook 'after-init-hook
'(lambda ()
(when desktop-enable
(desktop-load-default)
(desktop-read))))
(provide 'desktop) (provide 'desktop)
;; desktop.el ends here. ;; desktop.el ends here.