GNU bug report logs - #77083
31.0.50; submit-emacs-patch doesn't work in compressed lisp files

Previous Next

Package: emacs;

Reported by: Elijah Gabe Pérez <eg642616 <at> gmail.com>

Date: Mon, 17 Mar 2025 20:38:02 UTC

Severity: normal

Found in version 31.0.50

Done: Philip Kaludercic <philipk <at> posteo.net>

Bug is archived. No further changes may be made.

Full log


Message #14 received at 77083 <at> debbugs.gnu.org (full text, mbox):

From: Elijah Gabe Pérez <eg642616 <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: Philip Kaludercic <philipk <at> posteo.net>, 77083 <at> debbugs.gnu.org
Subject: Re: bug#77083: 31.0.50; submit-emacs-patch doesn't work in
 compressed lisp files
Date: Tue, 18 Mar 2025 12:50:56 -0600
[Message part 1 (text/plain, inline)]
Eli Zaretskii <eliz <at> gnu.org> writes:

>> From: Elijah Gabe Pérez <eg642616 <at> gmail.com>
>> 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

#+begin_example
  To: bug-gnu-emacs <at> gnu.org
  Subject: 
  From:
  X-Debbugs-Cc: --text follows this line--
#+end_example

and give an error:

#+begin_example
  Opening input file: The file or directory does not exist, /usr/share/emacs/31.0.50/lisp/simple.el
#+end_example

> 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.

However I haven't found any documentation about this variable and
changing its value, so I see it very dangerous do it.

> Or maybe I'm missing something obvious, in which case please point out
> what I missed.

You didn't miss anything, I think I've explained enough.

[Message part 2 (text/html, inline)]
[test.patch (text/x-patch, attachment)]
[Message part 4 (text/plain, inline)]
-- 
                                          - E.G via GNU Emacs and Org.

This bug report was last modified 62 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.