Am 10.08.22 um 13:26 schrieb Harald Judt: > Hi, > > I have a question regarding using dired programmatically in Emacs 28.1. Say I > do the following call to open a dired buffer and insert the files: > > (dired (cons "/home/user" '("/home/user/tmp/test/a/a" > "/home/user/tmp/test/b/b" "/home/user/tmp/test/c/c"))) > > It works fine, I get a nice listing and can move around like expected, mark > files and try to delete them. Now it gets interesting: Usually after hitting > "x" to execute, then confirming the deletion, the buffer will refresh. But not > in this case, not when I open dired using the cons above. I can revert the > buffer using "g". > > Note that when I simply do (dired "/home/user/tmp/test"), then insert the > subdir to show the files and delete them, this is not reproducible. The buffer > will be refreshed immediately after the delete operation completes. > > Why? Am I missing something? Is this a (known) bug or expected behaviour? I've > tried with emacs -Q, so it seems to be no configuration problem. > > Regards, > Harald I have found an explanation for my own question: The problem is that after a dired-do-xxxx command, the buffer of the _target_ directory will be refreshed. But the target directory of /home/user/tmp/test/a/a would be /home/user/tmp/test/a/, and that is different from the one used in the base dir of the cons (/home/user/). In fact, if I add a file /home/user/x and add that to the file list and delete it, the buffer will be reverted correctly. If I delete any of the other files, it won't. Now, what could I do to programmatically revert the current dired buffer after executing a dired-do command? Harald -- `Experience is the best teacher.' PGP Key ID: 4FFFAB21B8580ABD Fingerprint: E073 6DD8 FF40 9CF2 0665 11D4 4FFF AB21 B858 0ABD