unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#55109: Emacs build fails: Symbol’s function definition is void: byte-compile-set-symbol-position
@ 2022-04-25 12:54 Vincent Lefevre
  2022-04-25 12:59 ` Eli Zaretskii
  2022-04-25 13:00 ` Lars Ingebrigtsen
  0 siblings, 2 replies; 9+ messages in thread
From: Vincent Lefevre @ 2022-04-25 12:54 UTC (permalink / raw)
  To: 55109

I've tried to build master (ec4dabc2381df6d803bb6ff4c294ef0d374857b4)
under Linux/x86_64 (Debian/unstable) with ./configure --with-cairo,
but the "make" output terminated with:

[...]
ANCIENT=yes make -C ../lisp compile-first EMACS="../src/bootstrap-emacs"
make[2]: Entering directory '/home/vlefevre/software/emacs/lisp'
  ELC      emacs-lisp/macroexp.elc
  ELC      emacs-lisp/cconv.elc
  ELC      emacs-lisp/byte-opt.elc
  ELC      emacs-lisp/bytecomp.elc
  ELC      emacs-lisp/autoload.elc
Source file ‘/home/vlefevre/software/emacs/lisp/emacs-lisp/bytecomp.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/emacs-lisp/bytecomp.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/emacs-lisp/bytecomp.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/emacs-lisp/bytecomp.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/emacs-lisp/bytecomp.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/emacs-lisp/cconv.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/emacs-lisp/cconv.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/emacs-lisp/cconv.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/emacs-lisp/cconv.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/emacs-lisp/cconv.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/progmodes/bug-reference.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/progmodes/bug-reference.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/progmodes/bug-reference.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/progmodes/bug-reference.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/progmodes/bug-reference.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/emacs-lisp/byte-opt.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/emacs-lisp/byte-opt.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/emacs-lisp/byte-opt.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/emacs-lisp/byte-opt.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/emacs-lisp/byte-opt.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/emacs-lisp/lisp-mnt.el’ newer than byte-compiled file; using older file

In byte-compile--log-warning-for-byte-compile:
emacs-lisp/bytecomp.el:1325:1:Warning: function byte-compile--log-warning-for-byte-compile used to take 1-4 arguments, now takes 2-4
Source file ‘/home/vlefevre/software/emacs/lisp/emacs-lisp/radix-tree.el’ newer than byte-compiled file; using older file

In end of data:
emacs-lisp/macroexp.el:786:1:Warning: the function ‘byte-compile-warn-x’ is not known to be defined.

In end of data:
emacs-lisp/cconv.el:843:1:Warning: the function ‘byte-compile-warn-x’ is not known to be defined.

In end of data:
emacs-lisp/byte-opt.el:2447:1:Warning: the following functions are not known to be defined: byte-compile--check-arity-bytecode, byte-compile-warn-x
make[2]: Leaving directory '/home/vlefevre/software/emacs/lisp'
make -C ../lisp compile-first EMACS="../src/bootstrap-emacs"
make[2]: Entering directory '/home/vlefevre/software/emacs/lisp'
make[2]: Nothing to be done for 'compile-first'.
make[2]: Leaving directory '/home/vlefevre/software/emacs/lisp'
make -C ../lisp autoloads EMACS="../src/bootstrap-emacs"
make[2]: Entering directory '/home/vlefevre/software/emacs/lisp'
  ELC      ../lisp/bindings.elc
  ELC      ../lisp/abbrev.elc
  ELC      ../lisp/button.elc
  ELC      international/titdic-cnv.elc
  ELC      ../lisp/buff-menu.elc
  ELC      ../lisp/case-table.elc
  ELC      ../lisp/cus-face.elc
  ELC      ../lisp/composite.elc
  ELC      ../lisp/disp-table.elc
  ELC      ../lisp/custom.elc
  ELC      ../lisp/cus-start.elc
  ELC      ../lisp/dnd.elc


In toplevel form:

button.el:54:10: Error: Symbol’s function definition is void: byte-compile-set-symbol-position

In toplevel form:
In toplevel form:
disp-table.el:31:7: Error: Symbol’s function definition is void: byte-compile-set-symbol-position
buff-menu.el:33:11: Error: Symbol’s function definition is void: byte-compile-set-symbol-position

In toplevel form:
cus-start.el:38:14: Error: Symbol’s function definition is void: byte-compile-set-symbol-position
In toplevel form:
abbrev.el:35:30: Error: Symbol’s function definition is void: byte-compile-set-symbol-position

In toplevel form:
case-table.el:39:40: Error: Symbol’s function definition is void: byte-compile-set-symbol-position

In toplevel form:
custom.el:36:11: Error: Symbol’s function definition is void: byte-compile-set-symbol-position

In toplevel form:
bindings.el:34:30: Error: Symbol’s function definition is void: byte-compile-set-symbol-position

In toplevel form:
dnd.el:36:11: Error: Symbol’s function definition is void: byte-compile-set-symbol-position
make[2]: *** [Makefile:285: ../lisp/abbrev.elc] Error 1
make[2]: *** [Makefile:285: ../lisp/buff-menu.elc] Error 1
make[2]: *** [Makefile:285: ../lisp/case-table.elc] Error 1

In toplevel form:
composite.el:102:10: Error: Symbol’s function definition is void: byte-compile-set-symbol-position
make[2]: *** [Makefile:285: ../lisp/cus-start.elc] Error 1
make[2]: *** [Makefile:285: ../lisp/disp-table.elc] Error 1
make[1]: *** [Makefile:843: ../lisp/abbrev.elc] Error 2
make[1]: *** Waiting for unfinished jobs....
make[1]: *** [Makefile:843: ../lisp/buff-menu.elc] Error 2
make -C ../admin/grammars all EMACS="../../src/bootstrap-emacs"
make[1]: *** [Makefile:843: ../lisp/case-table.elc] Error 2
make[1]: *** [Makefile:843: ../lisp/cus-start.elc] Error 2
make[2]: *** [Makefile:285: ../lisp/button.elc] Error 1
make[1]: *** [Makefile:843: ../lisp/disp-table.elc] Error 2

In toplevel form:
cus-face.el:37:22: Error: Symbol’s function definition is void: byte-compile-set-symbol-position
make[2]: *** [Makefile:285: ../lisp/custom.elc] Error 1
  GEN      calendar/cal-loaddefs.el
make[1]: *** [Makefile:843: ../lisp/button.elc] Error 2
make[1]: *** [Makefile:843: ../lisp/custom.elc] Error 2
  GEN      mh-e/mh-loaddefs.el
make[2]: *** [Makefile:285: ../lisp/bindings.elc] Error 1
  GEN      net/tramp-loaddefs.el
make[1]: *** [Makefile:843: ../lisp/bindings.elc] Error 2
make[2]: *** [Makefile:285: ../lisp/dnd.elc] Error 1
make[1]: *** [Makefile:843: ../lisp/dnd.elc] Error 2
make[2]: *** [Makefile:285: ../lisp/composite.elc] Error 1
make[3]: Entering directory '/home/vlefevre/software/emacs/admin/grammars'
  GEN      ../../lisp/cedet/semantic/bovine/c-by.el
make[1]: *** [Makefile:843: ../lisp/composite.elc] Error 2
make[2]: *** [Makefile:285: ../lisp/cus-face.elc] Error 1
  GEN      ../../lisp/cedet/semantic/bovine/make-by.el
make[1]: *** [Makefile:843: ../lisp/cus-face.elc] Error 2
  GEN      ../../lisp/cedet/semantic/bovine/scm-by.el
  GEN      ../../lisp/cedet/semantic/grammar-wy.el
  GEN      ../../lisp/cedet/semantic/wisent/javat-wy.el
  GEN      ../../lisp/cedet/semantic/wisent/js-wy.el
  GEN      ../../lisp/cedet/semantic/wisent/python-wy.el
  GEN      ../../lisp/cedet/srecode/srt-wy.el
Source file ‘/home/vlefevre/software/emacs/lisp/emacs-lisp/lisp-mnt.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/emacs-lisp/lisp-mnt.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/emacs-lisp/lisp-mnt.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/emacs-lisp/radix-tree.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/emacs-lisp/radix-tree.el’ newer than byte-compiled file; using older file
  SCRAPE   ./net
Source file ‘/home/vlefevre/software/emacs/lisp/emacs-lisp/radix-tree.el’ newer than byte-compiled file; using older file
  SCRAPE   ./calendar
  SCRAPE   ./mh-e
Source file ‘/home/vlefevre/software/emacs/lisp/progmodes/bug-reference.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/progmodes/bug-reference.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/progmodes/bug-reference.el’ newer than byte-compiled file; using older file

In toplevel form:
international/titdic-cnv.el:64:11: Error: Symbol’s function definition is void: byte-compile-set-symbol-position
make[2]: *** [Makefile:329: international/titdic-cnv.elc] Error 1
make[2]: *** Waiting for unfinished jobs....
  INFO     Scraping files for tramp-loaddefs.el... 
  INFO     Scraping files for cal-loaddefs.el... 
  INFO     Scraping files for tramp-loaddefs.el...11% 
  INFO     Scraping files for cal-loaddefs.el...66% 
  INFO     Scraping files for tramp-loaddefs.el...22% 
  INFO     Scraping files for mh-loaddefs.el... 
  INFO     Scraping files for cal-loaddefs.el...done
  INFO     Scraping files for mh-loaddefs.el...done
  INFO     Scraping files for tramp-loaddefs.el...32% 
  INFO     Scraping files for tramp-loaddefs.el...43% 
  INFO     Scraping files for tramp-loaddefs.el...53% 
  INFO     Scraping files for tramp-loaddefs.el...64% 
  INFO     Scraping files for tramp-loaddefs.el...74% 
  INFO     Scraping files for tramp-loaddefs.el...85% 
  INFO     Scraping files for tramp-loaddefs.el...95% 
  INFO     Scraping files for tramp-loaddefs.el...100% 
  INFO     Scraping files for tramp-loaddefs.el...done
make[3]: Leaving directory '/home/vlefevre/software/emacs/admin/grammars'
make[2]: Leaving directory '/home/vlefevre/software/emacs/lisp'
make[1]: *** [Makefile:898: ../lisp/loaddefs.el] Error 2
make[1]: Leaving directory '/home/vlefevre/software/emacs/src'
make: *** [Makefile:469: src] Error 2

-- 
Vincent Lefèvre <vincent@vinc17.net> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#55109: Emacs build fails: Symbol’s function definition is void: byte-compile-set-symbol-position
  2022-04-25 12:54 bug#55109: Emacs build fails: Symbol’s function definition is void: byte-compile-set-symbol-position Vincent Lefevre
@ 2022-04-25 12:59 ` Eli Zaretskii
  2022-04-25 13:19   ` Vincent Lefevre
  2022-04-25 13:00 ` Lars Ingebrigtsen
  1 sibling, 1 reply; 9+ messages in thread
From: Eli Zaretskii @ 2022-04-25 12:59 UTC (permalink / raw)
  To: Vincent Lefevre; +Cc: 55109

> Date: Mon, 25 Apr 2022 14:54:32 +0200
> From: Vincent Lefevre <vincent@vinc17.net>
> 
> I've tried to build master (ec4dabc2381df6d803bb6ff4c294ef0d374857b4)
> under Linux/x86_64 (Debian/unstable) with ./configure --with-cairo,
> but the "make" output terminated with:
> 
> [...]
> In toplevel form:
> international/titdic-cnv.el:64:11: Error: Symbol’s function definition is void: byte-compile-set-symbol-position
> make[2]: *** [Makefile:329: international/titdic-cnv.elc] Error 1
> make[2]: *** Waiting for unfinished jobs....

If this was not a freshly cloned repository, did you try "make
bootstrap"?





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#55109: Emacs build fails: Symbol’s function definition is void: byte-compile-set-symbol-position
  2022-04-25 12:54 bug#55109: Emacs build fails: Symbol’s function definition is void: byte-compile-set-symbol-position Vincent Lefevre
  2022-04-25 12:59 ` Eli Zaretskii
@ 2022-04-25 13:00 ` Lars Ingebrigtsen
  1 sibling, 0 replies; 9+ messages in thread
From: Lars Ingebrigtsen @ 2022-04-25 13:00 UTC (permalink / raw)
  To: Vincent Lefevre; +Cc: 55109

Vincent Lefevre <vincent@vinc17.net> writes:

> I've tried to build master (ec4dabc2381df6d803bb6ff4c294ef0d374857b4)
> under Linux/x86_64 (Debian/unstable) with ./configure --with-cairo,
> but the "make" output terminated with:

Have you tried a "make bootstrap"?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#55109: Emacs build fails: Symbol’s function definition is void: byte-compile-set-symbol-position
  2022-04-25 12:59 ` Eli Zaretskii
@ 2022-04-25 13:19   ` Vincent Lefevre
  2022-04-25 13:27     ` Eli Zaretskii
  0 siblings, 1 reply; 9+ messages in thread
From: Vincent Lefevre @ 2022-04-25 13:19 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 55109

On 2022-04-25 15:59:15 +0300, Eli Zaretskii wrote:
> If this was not a freshly cloned repository, did you try "make
> bootstrap"?

Indeed, this solves the issue. Shouldn't this be detected
automatically via dependency tracking?

(I usually do a "make distclean" first, but I think I forgot.
Not sure whether this is related here.)

-- 
Vincent Lefèvre <vincent@vinc17.net> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#55109: Emacs build fails: Symbol’s function definition is void: byte-compile-set-symbol-position
  2022-04-25 13:19   ` Vincent Lefevre
@ 2022-04-25 13:27     ` Eli Zaretskii
  2022-04-25 13:40       ` Lars Ingebrigtsen
  0 siblings, 1 reply; 9+ messages in thread
From: Eli Zaretskii @ 2022-04-25 13:27 UTC (permalink / raw)
  To: Vincent Lefevre; +Cc: 55109

> Date: Mon, 25 Apr 2022 15:19:38 +0200
> From: Vincent Lefevre <vincent@vinc17.net>
> Cc: 55109@debbugs.gnu.org
> 
> On 2022-04-25 15:59:15 +0300, Eli Zaretskii wrote:
> > If this was not a freshly cloned repository, did you try "make
> > bootstrap"?
> 
> Indeed, this solves the issue. Shouldn't this be detected
> automatically via dependency tracking?

We don't really have any dependency tracking for Emacs Lisp files.  It
would be a great addition, if someone develops that, I think, because
such problems are quite frequent during active development.

> (I usually do a "make distclean" first, but I think I forgot.
> Not sure whether this is related here.)

"make distclean" is not enough, AFAIR, because it doesn't delete *.elc
files (again AFAIR).  You really need to remove all the *.elc files in
such cases, because the problem is with stale macros that are expanded
into the *.elc files.





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#55109: Emacs build fails: Symbol’s function definition is void: byte-compile-set-symbol-position
  2022-04-25 13:27     ` Eli Zaretskii
@ 2022-04-25 13:40       ` Lars Ingebrigtsen
  2022-04-25 13:52         ` Vincent Lefevre
  0 siblings, 1 reply; 9+ messages in thread
From: Lars Ingebrigtsen @ 2022-04-25 13:40 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 55109, Vincent Lefevre

Eli Zaretskii <eliz@gnu.org> writes:

> We don't really have any dependency tracking for Emacs Lisp files.  It
> would be a great addition, if someone develops that, I think, because
> such problems are quite frequent during active development.

It's a complicated problem, though -- basically if any file that defines
a macro/variable changes, then all .elc files that depend on it should
be recompiled.  Which means that if you make a trivial edit in files.el,
then that would trigger a compilation of absolutely all .elc files,
which would make development pretty much impossible.

We would have to arrange the Lisp sources in a very different way to
dependency tracking to be practical.

So instead people who pull Emacs have to say "make bootstrap" once in a
while.  It'd be nice if it were possible to have the makefile output
"Did you try 'make boostrap'?" if it fails, but that's apparently not
something make allows.

Anyway, closing this bug report.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#55109: Emacs build fails: Symbol’s function definition is void: byte-compile-set-symbol-position
  2022-04-25 13:40       ` Lars Ingebrigtsen
@ 2022-04-25 13:52         ` Vincent Lefevre
  2022-04-25 14:32           ` Lars Ingebrigtsen
  0 siblings, 1 reply; 9+ messages in thread
From: Vincent Lefevre @ 2022-04-25 13:52 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: 55109

On 2022-04-25 15:40:12 +0200, Lars Ingebrigtsen wrote:
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> > We don't really have any dependency tracking for Emacs Lisp files.  It
> > would be a great addition, if someone develops that, I think, because
> > such problems are quite frequent during active development.
> 
> It's a complicated problem, though -- basically if any file that defines
> a macro/variable changes, then all .elc files that depend on it should
> be recompiled.  Which means that if you make a trivial edit in files.el,
> then that would trigger a compilation of absolutely all .elc files,
> which would make development pretty much impossible.

How about putting these explanations about the .elc files in
"Makefile.in" (together with the other comments)?

> We would have to arrange the Lisp sources in a very different way to
> dependency tracking to be practical.
> 
> So instead people who pull Emacs have to say "make bootstrap" once in a
> while.  It'd be nice if it were possible to have the makefile output
> "Did you try 'make boostrap'?" if it fails, but that's apparently not
> something make allows.

It seems that "make boostrap" will do a rebuild with a default
configure, thus shouldn't be used if one needs configure options
(I find a configure variable impractical due to quoting and working
poorly with various shell advanced features). I suppose that
"make maintainer-clean" or "make extraclean" should be sufficient.

-- 
Vincent Lefèvre <vincent@vinc17.net> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#55109: Emacs build fails: Symbol’s function definition is void: byte-compile-set-symbol-position
  2022-04-25 13:52         ` Vincent Lefevre
@ 2022-04-25 14:32           ` Lars Ingebrigtsen
  2022-04-25 14:50             ` Vincent Lefevre
  0 siblings, 1 reply; 9+ messages in thread
From: Lars Ingebrigtsen @ 2022-04-25 14:32 UTC (permalink / raw)
  To: Vincent Lefevre; +Cc: 55109

Vincent Lefevre <vincent@vinc17.net> writes:

> It seems that "make boostrap" will do a rebuild with a default
> configure, thus shouldn't be used if one needs configure options
> (I find a configure variable impractical due to quoting and working
> poorly with various shell advanced features). I suppose that
> "make maintainer-clean" or "make extraclean" should be sufficient.

"make bootstrap" should use the same config options as the previous
./configure you ran.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#55109: Emacs build fails: Symbol’s function definition is void: byte-compile-set-symbol-position
  2022-04-25 14:32           ` Lars Ingebrigtsen
@ 2022-04-25 14:50             ` Vincent Lefevre
  0 siblings, 0 replies; 9+ messages in thread
From: Vincent Lefevre @ 2022-04-25 14:50 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: 55109

On 2022-04-25 16:32:21 +0200, Lars Ingebrigtsen wrote:
> "make bootstrap" should use the same config options as the previous
> ./configure you ran.

OK. There was no indication in Makefile.in:

# make bootstrap
#      Removes all the compiled files to force a new bootstrap from a
#      clean slate, and then build in the normal way.

-- 
Vincent Lefèvre <vincent@vinc17.net> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)





^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2022-04-25 14:50 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-25 12:54 bug#55109: Emacs build fails: Symbol’s function definition is void: byte-compile-set-symbol-position Vincent Lefevre
2022-04-25 12:59 ` Eli Zaretskii
2022-04-25 13:19   ` Vincent Lefevre
2022-04-25 13:27     ` Eli Zaretskii
2022-04-25 13:40       ` Lars Ingebrigtsen
2022-04-25 13:52         ` Vincent Lefevre
2022-04-25 14:32           ` Lars Ingebrigtsen
2022-04-25 14:50             ` Vincent Lefevre
2022-04-25 13:00 ` Lars Ingebrigtsen

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).