Subject: Re: bug#60233: 30.0.50; Dired buffer not updating sometimes

From: Jean Louis <[email-masked]>
Date: Fri, 23 Dec 2022 08:23:10 +0300

Hello Eli,

Now I can reproduce the bug "why Dired buffer does not update" with
`emacs -Q'.

The new video for those who can see it is here: 
https://gnu.support/images/tmp/2022-12-23/2022-12-23-07:56:46.ogv

Conditions that Dired buffer will not update is related to default
directory being changed, being something else than what is the Dired
buffer. 

To reproduce it in `emacs -Q' you please do following:

- go into any Dired buffer;

- M-x cd RET and change default directory to something else than Dired
  buffer

- key B will inject new lines of a byte-compiled file without
  refreshing, delete by moving to Trash will delete without refreshing
  the Dired buffer.

I can only assume that variable `default-directory' shall remain local
to Dired buffer even if user invokes `M-x cd' or programmatically `cd'.

And I never invoke `M-x cd' in Dired buffers, but I may invoke it in
other functions such as below:

(defun cf-send-sms (id)
  "Sends the SMS by using default SMS function"
  (cd (getenv "HOME"))

And the reason to `cd' to HOME directory is to escape programs to try
external commands within Tramp directories. I will try using
`executable-find' for external programs, but again I think that when
my functions get Tramp directory as default directory then they don't
find either executables or directories, that is why I am changing to
$HOME.

For Dired updating, I think that M-x cd shall not change the
default-directory for Dired buffer -- and again -- I am not using it
interactively but in functions.

Now I can't remember how I invoked a function that uses `cd' but I can
focus on it next time. Maybe I just launched some of functions.

--
Jean

Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns

In support of Richard M. Stallman
https://stallmansupport.org/