Subject: Re: bug#20943: 25.0.50; Dired buffers are not always auto-reverterd

From: Mark Karpov <[email-masked]>
Date: Thu, 02 Jul 2015 14:02:02 +0600

> Are all of the changes in the same directory?

Yes.

> Also, can you show the list of changes that script does in a single
> invocation, in terms of how many files are created, how many deleted,
> and in which order?

Typically it's something like this:

Initial state:

  Something.cue
  Something.ape

Changes:

  Created ‘01 Track Title.flac’
  Created ‘02 Another Track Title.flac’
  …
  Created ‘NN Track Title.flac’
  Deleted ‘Something.cue’
  Deleted ‘Something.ape’

> You need to change that via customize-variable, because this option
> has a non-trivial setting function.  Did you do that?

No, I didn't know that until now. See results of new experiments below.

> For the record, I can't reproduce any of this.  I tried both with file
> notifications and without them, and I could never see a change that
> was skipped.

It's sort of bug that is not easy to catch. I've noticed it some time
ago in different circumstances, but ignored it, because it seemed too
minor.

> When this happens to you, i.e. in those 50% of cases, did you try
> waiting for some time for the changes to be reflected in the buffer?

I don't know how long I'm supposed to wait, it certainly takes quite a
while. A couple days ago I started the script, then went away from my
laptop to do other things, then when I returned contents of directory
were still “frozen”. I don't think waiting can help here.

> Also, if you disable auto-revert-use-notify, reproduce the problem
> (i.e. run the script and observe no changes), and then type the
> following
>
>   M-: (dired-directory-changed-p DIRNAME) RET
>
> where DIRNAME is the absolute file name of the directory shown by
> Dired, what does Emacs show?  If it shows nil, please step through the
> body of dired-directory-changed-p, and see why it doesn't see the
> directory as changed.  (It relies on the time stamp of the directory
> -- does that somehow fail to change on your system?)

I've set ‘auto-revert-use-nofity’ like this:

  (custom-set-variables
   '(auto-revert-use-notify nil))

Then I managed to reproduce this behavior. After that, I evaluated

  (dired-directory-changed-p DIRNAME)

and result was t. Any ideas what's going on?