unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Uday S Reddy <u.s.reddy@cs.bham.ac.uk>
To: 5314@debbugs.gnu.org
Subject: bug#5314: Acknowledgement (23.1; Inconsistent treatment of auto-save files)
Date: Tue, 5 Jan 2010 14:29:30 +0000	[thread overview]
Message-ID: <19267.19658.406000.307675@gargle.gargle.HOWL> (raw)
In-Reply-To: <handler.5314.B.126270052714260.ack@debbugs.gnu.org>

I did some more testing of the functions after my initial report.  The
situation seems a lot more complex than I had imagined.

With an old auto-save file on the disk, the following sequence done on
a buffer seems to always return nil:

  (progn (insert "x") (recent-auto-save-p))

Killing the buffer in this case does not affect the old auto-save
file.

The following sequence seems to always return t

  (progn (set-buffer-modified-p t) (recent-auto-save-p))

Killing the buffer in this case deletes the old auto-save file.

So, it appears that recent-auto-save-p and kill-buffer are consistent
with each other.  But their behaviour is paradoxical with regard to
set-buffer-modified-p.

Cheers,
Uday

-------

Uday S Reddy writes:

> Hi, I am a maintainer of VM.  In trying to figure out some problems to
> do with auto-save files of VM mail buffers, I discovered that the
> current Emacs treatment of auto-save files is inconsistent.  Functions
> involved are kill-buffer, delete-auto-save-file-if-necessary and
> recent-auto-save-p.
> 
> 1. If there is an old auto-save file, and you visit the file, make
> some changes and kill the buffer without saving, then the old
> auto-save file is silently deleted.  This seems bad, because the very
> reason for killing the buffer without saving might be to compare it
> with the auto-save file.  
> 
> I think the old auto-save files should always be preserved unless the
> user does a recover-file.
> 
> Then there is the question of what kill-buffer should do if there is a
> "recent" auto-save file (as determined by recent-auto-save-p).  It
> would make sense to delete it.
> 
> 2. The inline documentation for delete-auto-save-file-if-necessary
> says "Normally delete only if the file was written by this Emacs since
> the last real save".  This gives one the impression that Emacs is
> keeping track of when the last real save was done, but in reality it
> only seems to be checking the buffer-modified-p status.  If so, a more
> accurate way to word the doc string might be
> 
> "Normally delete only if the file was written by this Emacs and the
> buffer has been modified since the last real save."
> 
> If the buffer-modified-p is nil, then even recent auto-save files seem
> to be left lying around.  This is the opposite problem of that in
> point 1.
> 
> 3. The inline documentation for recent-auto-save-p needs to be
> modified along the same lines as point 2.
> 
> 4. The Elisp manual descriptions for
> delete-auto-save-file-if-necessary and 
> recent-auto-save-p need to be similarly modified.
> 
> 5. It would be useful to mention these issues in the documentation of
> kill-buffer as well.  
> 
> Cheers,
> Uday Reddy
> 
> 
> In GNU Emacs 23.1.1 (i386-mingw-nt5.1.2600)
>  of 2009-07-30 on SOFT-MJASON
> Windowing system distributor `Microsoft Corp.', version 5.1.2600
> configured using `configure --with-gcc (4.4)'
> 
> Important settings:
>   value of $LC_ALL: nil
>   value of $LC_COLLATE: nil
>   value of $LC_CTYPE: nil
>   value of $LC_MESSAGES: nil
>   value of $LC_MONETARY: nil
>   value of $LC_NUMERIC: nil
>   value of $LC_TIME: nil
>   value of $LANG: ENU
>   value of $XMODIFIERS: nil
>   locale-coding-system: cp1252
>   default-enable-multibyte-characters: t
> 
> Major mode: Fundamental
> 
> Minor modes in effect:
>   savehist-mode: t
>   tooltip-mode: t
>   mouse-wheel-mode: t
>   menu-bar-mode: t
>   file-name-shadow-mode: t
>   global-font-lock-mode: t
>   font-lock-mode: t
>   blink-cursor-mode: t
>   global-auto-composition-mode: t
>   auto-composition-mode: t
>   auto-encryption-mode: t
>   line-number-mode: t
>   transient-mark-mode: t
> 
> Recent input:
> SPC <return> C-s b u g C-s C-a m <return> <help-echo> 
> <down-mouse-2> <mouse-2> q C-h i u <up> <up> m <return> 
> C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n m n e w SPC 
> SPC SPC SPC SPC 3 SPC <return> <help-echo> <help-echo> 
> <help-echo> <down-mouse-1> <mouse-1> <wheel-up> <wheel-down> 
> <wheel-up> l m l a t SPC SPC <return> u u u m e m SPC 
> <return> SPC m b u g SPC SPC <backspace> <backspace> 
> <backspace> <backspace> <backspace> <backspace> <backspace> 
> <backspace> <backspace> <backspace> g s <return> m 
> u n d e r s t SPC SPC SPC <return> SPC <backspace> 
> p SPC <backspace> SPC n SPC n SPC SPC SPC SPC SPC SPC 
> SPC SPC SPC SPC SPC SPC SPC <backspace> <backspace> 
> <backspace> <backspace> <backspace> <backspace> <backspace> 
> <backspace> <backspace> <backspace> <backspace> <backspace> 
> <backspace> M-x r e p o r t - e m a c s - b u SPC <return> 
> I n c o s <backspace> n s i s t e n t SPC t r e a t 
> m e n t SPC o f SPC a u t o SPC s a v e SPC f i l e 
> s <return> <f1> C-v C-v C-v C-x , C-n C-n C-n C-n C-p 
> C-f C-f C-f C-f C-f C-f C-f C-f C-f C-f C-f C-f C-f 
> C-f <return> C-p C-p C-p C-f C-f C-f C-f C-f C-b C-k 
> u d r C-a C-c C-c y C-n C-n C-k C-k C-c C-c y SPC SPC 
> SPC f SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC 
> SPC M-x v m <return> C-g C-x b * M e SPC <return> <f1> 
> C-x . <help-echo> M-x r e p o r t = e m a <backspace> 
> <backspace> <backspace> <backspace> - e m SPC SPC 
> <return>
> 
> Recent messages:
> Generating summary... 2120
> Generating summary markers... 
> Generating summary... done
> Decoding MIME message...
> Decoding quoted-printable... done
> Decoding MIME message... done
> 2138 messages, 0 new, 605 unread, 0 deleted
> Checking for new mail for d:/Home/udr/mail/imap-cache-d0e95a10f3bde2de73bdc69e586ec456...
> Quit [2 times]
> Mark set
> 








  parent reply	other threads:[~2010-01-05 14:29 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-04 15:47 bug#5314: 23.1; Inconsistent treatment of auto-save files Uday S Reddy
     [not found] ` <handler.5314.B.126270052714260.ack@debbugs.gnu.org>
2010-01-05 14:29   ` Uday S Reddy [this message]
2010-01-06  6:29     ` bug#5314: Acknowledgement (23.1; Inconsistent treatment of auto-save files) Kevin Rodgers
2010-01-06 16:08     ` Stefan Monnier
2010-01-06 16:33       ` Uday S Reddy
2016-07-17  4:29         ` Andrew Hyatt
2010-01-05 19:28 ` bug#5314: 23.1; Inconsistent treatment of auto-save files Stefan Monnier
2010-01-06  2:14   ` Uday S Reddy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=19267.19658.406000.307675@gargle.gargle.HOWL \
    --to=u.s.reddy@cs.bham.ac.uk \
    --cc=5314@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).