all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Luc Teirlinck <teirllm@dms.auburn.edu>
Cc: monnier@iro.umontreal.ca, emacs-devel@gnu.org
Subject: Re: autorevert.el
Date: Fri, 12 Mar 2004 21:10:08 -0600 (CST)	[thread overview]
Message-ID: <200403130310.i2D3A8w28676@raven.dms.auburn.edu> (raw)
In-Reply-To: <200403050400.i2540VQ21715@raven.dms.auburn.edu> (message from Luc Teirlinck on Thu, 4 Mar 2004 22:00:31 -0600 (CST))

Three weeks ago a (without further changes) for all practical purposes
unusable, patch to autorevert.el, to make dired buffers as well as
some other non-file buffers autorevert, was applied.  I proposed
changes that would make the dired part completely functional.  I have
tested those changes for three weeks now, not only in routine, but
also in various rather extreme situations and I never encountered any
problems.  I do find autoreverting dired buffers useful.

Nevertheless, there _are_ potential severe problems with autoreverting
non-file, non-vc, non-dired buffers.  *Only* the fact that many
non-file buffers mark themselves modified even though the _user_ never
modified them, saves the non-file autoreverting from complete disaster
(by preventing it from kicking in).  Currently non-file autoreverting
applies to all non-file buffers with a revert-buffer-function.  But
many revert-buffer-function's were not written to be called by
auto-revert.  Some pop up buffers.  For instance the buffer-menu uses
a revert-buffer-function that is just `list-buffers' with two dummy
arguments.  *Fortunately*, the buffer-menu marks its buffer modified
so it does _not_ get auto-reverted.  I tried to change the buffer-menu
so it no longer marked its buffer modified.  With auto-reverting of
non-file buffers enabled, Emacs became unusable because *Buffer List*
kept continuously popping up.

Stefan had one objection to my original patch.  The fact that I used a
variable, `auto-revert-flag' to prevent dired from displaying its
usual "Reading directory /home/teirllm/...done" messages which
otherwise can occasionally get so noisy that they are not only
excessively distracting but interfere with normal minibuffer usage.

Stefan proposed to instead get rid of these messages completely.

So a first question is:

What do people think of just completely getting rid of these dired
"Reading directory /home/teirllm/...done" messages?

The second question is:

How do we prevent autorevert.el from using inappropriate
revert-buffer-function's?

One, trivial to implement, possibility, would be an
`auto-revert-buffer-function' for non-file, non-vc, non-dired buffers,
which could always, of course, just be set to the regular
revert-buffer-function if appropriate.  The buffer would only get
auto-reverted by global-auto-revert-mode if
`auto-revert-buffer-function' is non-nil.  Or else we could just stick
to autoreverting dired and vc-buffers and give up on other non-file
buffers altogether.  But the current situation is just to dangerous.
There are disasters waiting to happen.

If we are actually going to seriously implement auto-reverting for
non-file, non-vc, non-dired buffers (actually it _already_ is
implemented right now in a very dangerous way) then I probably might
eventually need that `auto-revert-flag' variable Stefan objects to
anyway, in order to use the same function as both
revert-buffer-function and auto-revert-buffer-function.

Would anybody actually find auto-reverting the buffer-menu useful?  It
might be a good test case, but I do not know whether it really would
be useful enough.  Or are there any other non-file, non-vc, non-dired
buffers people would like to autorevert?

Sincerely,

Luc.

  reply	other threads:[~2004-03-13  3:10 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-03-02 23:19 autorevert.el Luc Teirlinck
2004-03-03 13:24 ` autorevert.el Stefan Monnier
2004-03-04  5:08   ` autorevert.el Luc Teirlinck
2004-03-04 20:43     ` autorevert.el Stefan Monnier
2004-03-05  4:00       ` autorevert.el Luc Teirlinck
2004-03-13  3:10         ` Luc Teirlinck [this message]
2004-03-13 11:29           ` autorevert.el Kai Grossjohann
2004-03-14 23:15           ` autorevert.el Stefan Monnier
2004-03-15  0:08             ` autorevert.el Luc Teirlinck
2004-03-15  2:58               ` autorevert.el Stefan Monnier
2004-03-15  7:04               ` autorevert.el Eli Zaretskii
2004-03-16  4:56                 ` autorevert.el Luc Teirlinck
2004-03-16 19:40                   ` autorevert.el Eli Zaretskii
2004-03-19  4:48                     ` autorevert.el Luc Teirlinck
2004-03-19  6:06                       ` autorevert.el Stefan Monnier
2004-03-21  2:42                         ` autorevert.el Luc Teirlinck
2004-03-23 15:26                           ` autorevert.el Stefan Monnier
2004-03-24  4:20                             ` autorevert.el Luc Teirlinck
2004-03-24  4:25                               ` autorevert.el Luc Teirlinck
2004-03-21  4:19                         ` autorevert.el Luc Teirlinck
2004-03-19 10:19                     ` autorevert.el Kim F. Storm
2004-03-19 14:46                       ` autorevert.el Eli Zaretskii
2004-03-21  3:26                         ` autorevert.el Luc Teirlinck
2004-03-21  6:46                           ` autorevert.el Eli Zaretskii
2004-03-22  2:44                             ` autorevert.el Luc Teirlinck
2004-03-22  6:51                               ` autorevert.el Eli Zaretskii
2004-03-22 19:39                                 ` autorevert.el Luc Teirlinck
2004-03-23 19:40                                   ` autorevert.el Eli Zaretskii
2004-03-23 20:09                                     ` autorevert.el Stefan Monnier
2004-03-24  4:10                                     ` autorevert.el Luc Teirlinck
2004-03-24  6:58                                       ` autorevert.el Eli Zaretskii
2004-03-24 18:03                                         ` autorevert.el Stefan Monnier
2004-03-25  6:56                                           ` autorevert.el Eli Zaretskii
2004-03-25 17:01                                             ` autorevert.el Stefan Monnier
2004-03-24 18:56                                         ` autorevert.el Luc Teirlinck
2004-03-25  6:20                                         ` autorevert.el Luc Teirlinck
2004-03-25  6:49                                           ` autorevert.el Luc Teirlinck
2004-03-25  7:21                                           ` autorevert.el Eli Zaretskii
2004-03-22 19:47                                 ` autorevert.el Luc Teirlinck
2004-03-22 16:23                               ` autorevert.el Stefan Monnier
2004-03-23  4:24                                 ` autorevert.el Eli Zaretskii
2004-03-21 19:22                           ` autorevert.el Richard Stallman
2004-03-16  5:06                 ` autorevert.el Luc Teirlinck
2004-03-05  4:25       ` autorevert.el Luc Teirlinck
2004-03-05  5:55       ` autorevert.el Luc Teirlinck
2004-03-04  5:34   ` autorevert.el Luc Teirlinck

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

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

  git send-email \
    --in-reply-to=200403130310.i2D3A8w28676@raven.dms.auburn.edu \
    --to=teirllm@dms.auburn.edu \
    --cc=emacs-devel@gnu.org \
    --cc=monnier@iro.umontreal.ca \
    /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 external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.