Subject: bug#77083: 31.0.50; submit-emacs-patch doesn't work in compressed lisp files

From: Eli Zaretskii <[email-masked]>
Date: Tue, 18 Mar 2025 22:52:57 +0200

> From: Elijah Gabe Pérez <[email-masked]>
> Cc: Philip Kaludercic <[email-masked]>,  [email-masked]
> Date: Tue, 18 Mar 2025 12:50:56 -0600
> 
> Eli Zaretskii <[email-masked]> writes:
> 
>  From: Elijah Gabe Pérez <[email-masked]>
>  Date: Mon, 17 Mar 2025 14:37:04 -0600
> 
>  When Emacs was compiled with compress-install, using submit-emacs-patch gives an error because it
>  search for maintainer address in file.el instead file.el.gz.
> 
>  Thanks, but this lacks details, IMO. AFAIU, submit-emacs-patch gleans
>  source file names from the patch file you are about to submit, and it
>  expands each file name in the patch against source-directory, before
>  looking them up for their maintainers. In the source tree (if you
>  still have it around) the files are not compressed. OTOH, if your
>  patch names files by their absolute file name (in which case
>  source-directory is not used), and the files are compressed in the
>  installation tree, then how did you produce the patch from compressed
>  files in the first place in a way that names the files without the .gz
>  extensions?
> 
> My emacs-git directory (where i use to contribute) doesn't have the lisp
> files compressed, it seems that submit-emacs-patch search in
> source-directory (which i have it pointing to usr/share/emacs/31.0.50)
> for lisp.el, however my installed emacs was built with compress-install
> which i have lisp.el.gz instead.
> 
>  IOW, please show an example of a patch that could be used to reproduce
>  this issue and the recipe to reproduce,
> 
> Sure, here is:
> 
> Steps to reproduce:
> 
> 1 emacs -Q
> 2 eval: (setq source-directory "usr/share/emacs/31.0.50")
> 3 M-x submit-emacs-patch RET /path/to/test.patch RET RET
> 
> and should display mail/message buffer with this
> 
> 
> To: [email-masked]
> Subject: 
> From:
> X-Debbugs-Cc: --text follows this line--
> 
> and give an error:
> 
> 
> Opening input file: The file or directory does not exist, /usr/share/emacs/31.0.50/lisp/simple.el
> 
>  and please tell whether you do or don't have the Emacs source tree
>  pointed to by source-directory.
> 
> I have source-directory pointing to usr/share/emacs/31.0.50, changing
> it to my emacs-git directory path fix this.

So the problem in your case is not that the files are compressed, the
problem is that the source tree doesn't exist on that system?  In that
case, I believe the patch suggested by Philip up-thread will solve
this.  Can you try it?

Thanks.