Subject: Re: bug#25458: 25.1; tar mode does not handle compressed archives without specific extensions

From: Francesco Potortì <[email-masked]>
Date: Fri, 13 May 2022 16:45:42 +0200

>> Cc: [email-masked]
>> From: Lars Ingebrigtsen <[email-masked]>
>> Date: Fri, 13 May 2022 16:12:24 +0200
>> 
>> Francesco Potortì <[email-masked]> writes:
>> 
>> > By looking at the comments on top of tar-mode.el, I get that it does not
>> > rely on tar to get the archive listing, but reads the archive itself, so
>> > correcting this problem does not appear straightforward to me...
>> 
>> (I'm going through old bug reports that unfortunately weren't resolved
>> at the time.)
>> 
>> If Emacs had code to automatically recognise compressed data, I guess
>> tar-mode could decompress the buffer before it started working on it.
>> (Does Emacs have that?  I guess we could add stuff to
>> `magic-fallback-mode-alist' or something in that region...)
>
>But decompressing means, for most compression types, running an
>external program on the file.  Or does OP suggest that we link Emacs
>against libbz2, liblz4, liblzma, etc. to have these decompression
>methods available in core?

If Emacs parses the tar file itself, without relying on tar, in principle it should read compressed tar files too.  It could do that by using external compression tools, or more efficiently by natively handling compression.

However, I think that in general this requires uncompressing the whole tar file in memory or on disk, which is against one of the main purposes stated in the inital comments of tar-mode.el.