bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#17873: 24.4.50; `desktop-save'


From: Juri Linkov
Subject: bug#17873: 24.4.50; `desktop-save'
Date: Mon, 30 Jun 2014 02:59:20 +0300
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (x86_64-pc-linux-gnu)

> 1. The doc string says:
>
>  If AUTO-SAVE is non-nil, compare the saved contents to the one last saved,
>  and don't save the buffer if they are the same.
>
> Saved contents of what?  One what last saved?  Saved contents cannot be
> compared to "the one" anything.
>
> I think you mean "compare the current desktop information to that in the
> desktop file."  If you are avoiding saving (because the contents are the
> same) then you cannot speak of comparing the "saved contents" - the
> contents have not yet been saved.
>
> And what buffer?  This is about saving a desktop in a desktop-file.
> There is no notion of a buffer here - at the user level.  The code puts
> the desktop info into a buffer (which then might get saved), but that is
> implementation-level.
>
> What `desktop-save' does needs to be described at a user level (what,
> not how, unless that is important to users).  Just say that if the
> desktop information has not changed since it was last saved then the
> file is not rewritten.

Is this how you propose to fix the docstring?

=== modified file 'lisp/desktop.el'
--- lisp/desktop.el     2014-06-24 23:23:41 +0000
+++ lisp/desktop.el     2014-06-29 23:58:41 +0000
@@ -946,8 +946,9 @@ (defun desktop-save (dirname &optional r
   "Save the desktop in a desktop file.
 Parameter DIRNAME specifies where to save the desktop file.
 Optional parameter RELEASE says whether we're done with this desktop.
-If AUTO-SAVE is non-nil, compare the saved contents to the one last saved,
-and don't save the buffer if they are the same."
+If AUTO-SAVE is non-nil, compare the current desktop information
+to that in the desktop file, and if the desktop information has not
+changed since it was last saved then the file is not rewritten."
   (interactive (list
                 ;; Or should we just use (car desktop-path)?
                 (let ((default (if (member "." desktop-path)

> 2. I also have a question about the behavior: Why is writing the
> file even when the content is unchanged the default behavior?  Why the
> need to specify AUTO-SAVE instead of an optional SAVE-EVEN-IF-NO-CHANGE?
> Is this just for backward compatibility?  (Before AUTO-SAVE was
> introduced the behavior was to update the file even if the desktop
> info was not changed.)

When the user executes `M-x desktop-save RET' explicitly, the desktop
has to be saved unconditionally as expected by users, e.g. it will
update the file timestamp, and do other usual things.

The only missing thing that `desktop-save' doesn't do yet is creating
a backup copy, but this is currently under discussion in bug#17351.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]