]> code.delx.au - gnu-emacs/blobdiff - lisp/desktop.el
Fix typos in comments.
[gnu-emacs] / lisp / desktop.el
index 6dc91a6cd5b4cf980afede320dd87b05c1f10af1..01573be7dba5b8f51b66d8402228c322e8dbe601 100644 (file)
@@ -1,7 +1,7 @@
 ;;; desktop.el --- save partial status of Emacs when killed
 
 ;; Copyright (C) 1993, 1994, 1995, 1997, 2000, 2001, 2002, 2003,
-;;   2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+;;   2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
 
 ;; Author: Morten Welinder <terra@diku.dk>
 ;; Keywords: convenience
@@ -40,7 +40,7 @@
 ;;     (desktop-save-mode 1)
 ;;
 ;; For further usage information, look at the section
-;; "Saving Emacs Sessions" in the GNU Emacs Manual.
+;; (info "(emacs)Saving Emacs Sessions") in the GNU Emacs Manual.
 
 ;; When the desktop module is loaded, the function `desktop-kill' is
 ;; added to the `kill-emacs-hook'.  This function is responsible for
@@ -165,7 +165,7 @@ and function `desktop-read' for details."
   (desktop-save-mode 0))
 
 (defcustom desktop-save 'ask-if-new
-  "*Specifies whether the desktop should be saved when it is killed.
+  "Specifies whether the desktop should be saved when it is killed.
 A desktop is killed when the user changes desktop or quits Emacs.
 Possible values are:
    t             -- always save.
@@ -220,7 +220,7 @@ the normal hook `desktop-not-loaded-hook' is run."
   :group 'desktop
   :version "22.2")
 
-(defcustom desktop-path '("." "~")
+(defcustom desktop-path (list "." user-emacs-directory "~")
   "List of directories to search for the desktop file.
 The base name of the file is specified in `desktop-base-file-name'."
   :type '(repeat directory)
@@ -276,7 +276,8 @@ for example."
     tags-table-list
     search-ring
     regexp-search-ring
-    register-alist)
+    register-alist
+    file-name-history)
   "List of global variables saved by `desktop-save'.
 An element may be variable name (a symbol) or a cons cell of the form
 \(VAR . MAX-SIZE), which means to truncate VAR's value to at most
@@ -302,7 +303,7 @@ to the value obtained by evaluating FORM."
 
 (defcustom desktop-clear-preserve-buffers
   '("\\*scratch\\*" "\\*Messages\\*" "\\*server\\*" "\\*tramp/.+\\*")
-  "*List of buffers that `desktop-clear' should not delete.
+  "List of buffers that `desktop-clear' should not delete.
 Each element is a regular expression.  Buffers with a name matched by any of
 these won't be deleted."
   :type '(repeat string)
@@ -332,19 +333,19 @@ modes are restored automatically; they should not be listed here."
   :type '(repeat symbol)
   :group 'desktop)
 
-;; We skip .log files because they are normally temporary.
-;;         (ftp) files because they require passwords and whatnot.
-(defcustom desktop-buffers-not-to-save
-  "\\(^nn\\.a[0-9]+\\|\\.log\\|(ftp)\\)$"
+(defcustom desktop-buffers-not-to-save nil
   "Regexp identifying buffers that are to be excluded from saving."
-  :type 'regexp
+  :type '(choice (const :tag "None" nil)
+                regexp)
+  :version "23.2"                       ; set to nil
   :group 'desktop)
 
 ;; Skip tramp and ange-ftp files
 (defcustom desktop-files-not-to-save
-  "^/[^/:]*:"
+  "\\(^/[^/:]*:\\|(ftp)$\\)"
   "Regexp identifying files whose buffers are to be excluded from saving."
-  :type 'regexp
+  :type '(choice (const :tag "None" nil)
+                regexp)
   :group 'desktop)
 
 ;; We skip TAGS files to save time (tags-file-name is saved instead).
@@ -355,7 +356,7 @@ modes are restored automatically; they should not be listed here."
   :group 'desktop)
 
 (defcustom desktop-file-name-format 'absolute
-  "*Format in which desktop file names should be saved.
+  "Format in which desktop file names should be saved.
 Possible values are:
    absolute -- Absolute file name.
    tilde    -- Relative to ~.
@@ -811,9 +812,12 @@ FILENAME is the visited file name, BUFNAME is the buffer name, and
 MODE is the major mode.
 \n\(fn FILENAME BUFNAME MODE)"
   (let ((case-fold-search nil))
-    (and (not (string-match desktop-buffers-not-to-save bufname))
+    (and (not (and (stringp desktop-buffers-not-to-save)
+                  (not filename)
+                  (string-match desktop-buffers-not-to-save bufname)))
          (not (memq mode desktop-modes-not-to-save))
          (or (and filename
+                 (stringp desktop-files-not-to-save)
                   (not (string-match desktop-files-not-to-save filename)))
              (and (eq mode 'dired-mode)
                   (with-current-buffer bufname
@@ -1047,7 +1051,7 @@ directory DIRNAME."
   (if desktop-dirname
       (desktop-save desktop-dirname)
     (call-interactively 'desktop-save))
-  (message "Desktop saved in %s" desktop-dirname))
+  (message "Desktop saved in %s" (abbreviate-file-name desktop-dirname)))
 
 ;; ----------------------------------------------------------------------------
 ;;;###autoload
@@ -1276,7 +1280,7 @@ If there are no buffers left to create, kill the timer."
     (setq desktop-lazy-timer nil))
   (when desktop-buffer-args-list
     (setq desktop-buffer-args-list nil)
-    (when (interactive-p)
+    (when (called-interactively-p 'interactive)
       (message "Lazy desktop load aborted"))))
 
 ;; ----------------------------------------------------------------------------