]> git.eshelyaron.com Git - emacs.git/commitdiff
(desktop-buffer-misc-data-function): Rename to desktop-save-buffer and change docstring.
authorLars Hansen <larsh@soem.dk>
Mon, 26 Apr 2004 18:58:19 +0000 (18:58 +0000)
committerLars Hansen <larsh@soem.dk>
Mon, 26 Apr 2004 18:58:19 +0000 (18:58 +0000)
(desktop-buffer-modes-to-save): Delete.
(desktop-save-buffer-p): Use desktop-save-buffer instead of
desktop-buffer-modes-to-save.
(desktop-save): Rename desktop-buffer-misc-data-function to
desktop-save-buffer and allow non-function value.
(desktop-missing-file-warning): Correct docstring.

lisp/ChangeLog
lisp/desktop.el

index cf2c0aad49f8aa6f939b4ba863caf6b48f0e3e7c..5390465e7e1f1482f7ca075b2835b3969ce23866 100644 (file)
@@ -1,3 +1,19 @@
+2004-04-26  Lars Hansen  <larsh@math.ku.dk>
+       * desktop.el (desktop-buffer-misc-data-function): Rename to
+       desktop-save-buffer and change docstring.
+       (desktop-buffer-modes-to-save): Delete.
+       (desktop-save-buffer-p): Use desktop-save-buffer instead of
+       desktop-buffer-modes-to-save.
+       (desktop-save): Rename desktop-buffer-misc-data-function to
+       desktop-save-buffer and allow non-function value.
+       (desktop-missing-file-warning): Correct docstring.
+       * dired.el (dired-mode): Rename desktop-buffer-misc-data-function
+       to desktop-save-buffer.
+       * info.el (Info-mode): Rename desktop-buffer-misc-data-function to
+       desktop-save-buffer.
+       * mail/rmail.el (rmail-variables): Bind desktop-save-buffer to t.
+       * mh-e/mh-e.el (mh-folder-mode): Bind desktop-save-buffer to t.
+
 2004-04-25  Luc Teirlinck  <teirllm@auburn.edu>
 
        * ielm.el (ielm-prompt-read-only, ielm-prompt): Expand docstring.
index 5589097dfde6d0d3f8efcf0c2f0ea7365d37d2a4..e9b130388a29a684c568e4c5e119e6bba26c19b4 100644 (file)
@@ -145,8 +145,11 @@ The base name of the file is specified in `desktop-base-file-name'."
   :group 'desktop)
 
 (defcustom desktop-missing-file-warning nil
-  "*If non-nil then `desktop-read' warns when a file no longer exists.
-Otherwise it simply ignores that file."
+  "*If non-nil then `desktop-read' asks if a non-existent file should be recreated.
+Also pause for a moment to display message about errors signaled in
+`desktop-buffer-mode-handlers'.
+
+If nil, just print error messages in the message buffer."
   :type 'boolean
   :group 'desktop)
 
@@ -244,15 +247,6 @@ The variables are saved only when they really are local."
   :type 'regexp
   :group 'desktop)
 
-(defcustom desktop-buffer-modes-to-save
-  '(Info-mode rmail-mode)
-  "If a buffer is of one of these major modes, save the buffer state.
-This applies to buffers not visiting a file and not beeing a dired buffer.
-Modes specified here must have a handler in `desktop-buffer-mode-handlers'
-to be restored."
-  :type '(repeat symbol)
-  :group 'desktop)
-
 (defcustom desktop-modes-not-to-save nil
   "List of major modes whose buffers should not be saved."
   :type '(repeat symbol)
@@ -268,21 +262,25 @@ Possible values are:
   :group 'desktop)
 
 ;;;###autoload
-(defvar desktop-buffer-misc-data-function nil
-  "Function returning major mode specific data for desktop file.
+(defvar desktop-save-buffer nil
+  "When non-nil, save buffer status in desktop file.
 This variable becomes buffer local when set.
-The function specified is called by `desktop-save', with argument
-DESKTOP-DIRNAME.  If it returns non-nil, its value is saved along
-with the state of the buffer for which it was called.
+
+If the value is a function, it called by `desktop-save' with argument
+DESKTOP-DIRNAME to obtain auxiliary information to saved in the desktop
+file along with the state of the buffer for which it was called.
 
 When file names are returned, they should be formatted using the call
 \"(desktop-file-name FILE-NAME DESKTOP-DIRNAME)\".
 
 Later, when `desktop-read' calls a function in `desktop-buffer-mode-handlers'
-to restore the buffer, the auxiliary information is passed as argument.")
-(make-variable-buffer-local 'desktop-buffer-misc-data-function)
+to restore the buffer, the auxiliary information is passed as the argument
+DESKTOP-BUFFER-MISC.")
+(make-variable-buffer-local 'desktop-save-buffer)
+(make-obsolete-variable 'desktop-buffer-modes-to-save
+                        'desktop-save-buffer)
 (make-obsolete-variable 'desktop-buffer-misc-functions
-                        'desktop-buffer-misc-data-function)
+                        'desktop-save-buffer)
 
 (defcustom desktop-buffer-mode-handlers '(
   (dired-mode . dired-restore-desktop-buffer)
@@ -541,21 +539,20 @@ which means to truncate VAR's value to at most MAX-SIZE elements
 
 ;; ----------------------------------------------------------------------------
 (defun desktop-save-buffer-p (filename bufname mode &rest dummy)
-  "Return t if the desktop should record a particular buffer for next startup.
+  "Return t if buffer should have its state saved in the desktop file.
 FILENAME is the visited file name, BUFNAME is the buffer name, and
 MODE is the major mode."
   (let ((case-fold-search nil))
     (and (not (string-match desktop-buffers-not-to-save bufname))
-        (not (memq mode desktop-modes-not-to-save))
-        (or (and filename
-                 (not (string-match desktop-files-not-to-save filename)))
-            (and (eq mode 'dired-mode)
-                 (save-excursion
-                   (set-buffer (get-buffer bufname))
-                   (not (string-match desktop-files-not-to-save
-                                      default-directory))))
-            (and (null filename)
-                 (memq mode desktop-buffer-modes-to-save))))))
+         (not (memq mode desktop-modes-not-to-save))
+         (or (and filename
+                  (not (string-match desktop-files-not-to-save filename)))
+             (and (eq mode 'dired-mode)
+                  (with-current-buffer bufname
+                    (not (string-match desktop-files-not-to-save
+                                       default-directory))))
+             (and (null filename)
+                 (with-current-buffer bufname desktop-save-buffer))))))
 
 ;; ----------------------------------------------------------------------------
 (defun desktop-file-name (filename dirname)
@@ -610,8 +607,8 @@ See also `desktop-base-file-name'."
                     (list (mark t) mark-active)
                     buffer-read-only
                     ;; Auxiliary information
-                    (when desktop-buffer-misc-data-function
-                      (funcall desktop-buffer-misc-data-function dirname))
+                    (when (functionp desktop-save-buffer)
+                      (funcall desktop-save-buffer dirname))
                     (let ((locals desktop-locals-to-save)
                           (loclist (buffer-local-variables))
                           (ll))