Subject: bug#54636: dired fails to update subdirs when files are created/deleted/renamed

From: Eli Zaretskii <[email-masked]>
Date: Wed, 30 Mar 2022 19:30:20 +0300

> From: Tassilo Horn <[email-masked]>
> Cc: [email-masked], [email-masked]
> Date: Wed, 30 Mar 2022 18:02:15 +0200
> 
> Eli Zaretskii <[email-masked]> writes:
> 
> > So when will SUBDIRS be non-nil?  dired-clean-up-after-deletion is
> > called not only when a directory is deleted, I think.
> 
> Yes, it's also called when deleting a file but in that case
> dired-buffers-for-dir will return nil, so no buffer will be deleted.

What about moving/renaming a directory?

> I think my patch is valid but now I think I should just create a
> separate function dired-buffers-for-cleanup and use that from
> dired-clean-up-after-deletion (or just collect the buffers in that
> function) and remove the SUBDIRS argument from dired-buffers-for-dir as
> it changes its logic too drastically.
> 
> I'll prepare a patch in that direction later.

At this point, I'd prefer the safest, simplest patch for the release
branch, because I intend to release Emacs 28.1 VSN.  We can make a
cleaner fix on master later.

Do you think this patch you posted is safe enough for Emacs 28.1?