Subject: bug#47058: 28.0.50; Dired Z: insert-directory: Reading directory: No such file or directory, CrossLine_linux_x86

From: Marco Centurion <[email-masked]>
Date: Tue, 31 Aug 2021 18:33:14 -0300

I can confirm that this bug is present and pretty easy to reproduce.
Steps to reproduce:

----
$ touch test1
$ tar czf test.tar.gz test1
$ rm test1

In dired, press Z (`dired-do-compress`) when the point is on test.tar.gz
----

The error doesn't seem to be only because there's only a file inside the
compressed one, but also that the name of the decompressed file doesn't
coincide with the compressed one.  If one compresses and decompresses a
single file, dired works exactly as expected.

Also, when decompressing a `tar.gz` file, the dired buffer doesn't show
the tar.gz after pressing Z, which seems to imply that the original file
was deleted, but that's not the case.

Another case that I found is that if there's more than a single file
inside the compressed one, dired doesn't show the extracted files until
`revert-buffer` is invoked:

----
$ touch test test2
$ tar czf test.tar.gz test test2
$ rm test test2

In dired, press Z (`dired-do-compress`) when the point is on test.tar.gz

The expected result is a dired buffer that shows all extracted files,
but it only shows test
----

I'm not really sure how these problems could be fixed without some
pretty significant changes in how files are decompressed.

-- 
Marco Centurion
Unidad de Recursos Informáticos
Facultad de Ingeniería - UdelaR