* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup @ 2022-09-06 11:38 German Pacenza 2022-09-06 15:02 ` Lars Ingebrigtsen 2024-08-28 2:04 ` Phil Sainty 0 siblings, 2 replies; 51+ messages in thread From: German Pacenza @ 2022-09-06 11:38 UTC (permalink / raw) To: 57627 Hi, every time I start emacs cl-loaddefs.el gets native-compiled. Compiling /usr/share/emacs/29.0.50/lisp/emacs-lisp/cl-loaddefs.el... I think it is related to 6c11214dc1124bcb459088e89334e16e46127e16 Thanks In GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.34, cairo version 1.17.6) of 2022-09-06 built on KRONOS Repository revision: 015fb4ac1c84485c563934087884f8a7dfe51955 Repository branch: master System Description: Manjaro Linux Configured using: 'configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib --localstatedir=/var --mandir=/usr/share/man --with-gameuser=:games --with-modules --without-libotf --without-m17n-flt --without-gconf --with-native-compilation --with-xinput2 --with-pgtk --without-xaw3d --with-sound=no --without-gpm --without-compress-install '--program-transform-name=s/\([ec]tags\)/\1.emacs/' 'CFLAGS=-march=native -mtune=native -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection' LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON LCMS2 LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PGTK PNG RSVG SECCOMP SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS WEBP XIM GTK3 ZLIB Important settings: value of $LC_MONETARY: es_AR.UTF-8 value of $LC_NUMERIC: es_AR.UTF-8 value of $LC_TIME: es_AR.UTF-8 value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Fundamental Minor modes in effect: savehist-mode: t vertico-multiform-mode: t vertico-mode: t popper-mode: t minibuffer-depth-indicate-mode: t delete-selection-mode: t mood-line-mode: t straight-use-package-mode: t straight-package-neutering-mode: t straight-live-modifications-mode: t global-so-long-mode: t tooltip-mode: t global-eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t buffer-read-only: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: /home/german/.emacs.d/straight/build/transient/transient hides /usr/share/emacs/29.0.50/lisp/transient Features: (shadow sort mail-extr emacsbug message mailcap yank-media puny dired dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg rfc6068 epg-config gnus-util time-date mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils orderless savehist vc-hg vc-git diff-mode vc vc-dispatcher project byte-opt consult-vertico consult compat-28 compat compat-macs recentf tree-widget wid-edit kmacro bookmark text-property-search pp comp comp-cstr warnings icons rx elec-pair vertico-flat vertico-multiform pcase vertico helpful-autoloads elisp-refs-autoloads f-autoloads s-autoloads denote-autoloads popper popper-autoloads magit-autoloads magit-section-autoloads git-commit-autoloads with-editor-autoloads transient-autoloads dash-autoloads elfeed-autoloads vertico-autoloads embark-autoloads consult-autoloads compat-autoloads mb-depth orderless-autoloads delsel xah-fly-keys xah-fly-keys-autoloads rainbow-mode-autoloads easy-mmode g3r-dark-theme ef-themes-autoloads info mood-line mood-line-autoloads straight-autoloads cl-seq cl-extra help-mode straight subr-x cl-macs gv bytecomp byte-compile cconv so-long cl-loaddefs cl-lib rmc iso-transl tooltip eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/pgtk-win pgtk-win term/common-win pgtk-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads dbusbind inotify dynamic-setting system-font-setting font-render-setting cairo gtk pgtk lcms2 multi-tty make-network-process native-compile emacs) Memory information: ((conses 16 158819 71652) (symbols 48 11974 2) (strings 32 43101 34802) (string-bytes 1 1641507) (vectors 16 26765) (vector-slots 8 465341 172223) (floats 8 83 459) (intervals 56 357 144) (buffers 1000 11)) -- German Pacenza ^ permalink raw reply [flat|nested] 51+ messages in thread
* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup 2022-09-06 11:38 bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup German Pacenza @ 2022-09-06 15:02 ` Lars Ingebrigtsen 2022-09-06 15:46 ` German Pacenza 2024-08-28 2:04 ` Phil Sainty 1 sibling, 1 reply; 51+ messages in thread From: Lars Ingebrigtsen @ 2022-09-06 15:02 UTC (permalink / raw) To: German Pacenza; +Cc: 57627 German Pacenza <germanp82@hotmail.com> writes: > Hi, every time I start emacs cl-loaddefs.el gets native-compiled. > > Compiling /usr/share/emacs/29.0.50/lisp/emacs-lisp/cl-loaddefs.el... > > I think it is related to 6c11214dc1124bcb459088e89334e16e46127e16 Is there a ;; no-native-compile: t cookie in your cl-loaddefs.el file? If not, try saying "make bootstrap". ^ permalink raw reply [flat|nested] 51+ messages in thread
* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup 2022-09-06 15:02 ` Lars Ingebrigtsen @ 2022-09-06 15:46 ` German Pacenza 2022-09-06 15:51 ` Lars Ingebrigtsen 0 siblings, 1 reply; 51+ messages in thread From: German Pacenza @ 2022-09-06 15:46 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: 57627 Lars Ingebrigtsen <larsi@gnus.org> writes: > > Is there a > > ;; no-native-compile: t > > cookie in your cl-loaddefs.el file? If not, try saying "make > bootstrap". Yes at the end of the file, make bootstrap didn't help ;; Local Variables: ;; version-control: never ;; no-update-autoloads: t ;; no-native-compile: t ;; coding: utf-8-emacs-unix ;; End: -- German Pacenza ^ permalink raw reply [flat|nested] 51+ messages in thread
* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup 2022-09-06 15:46 ` German Pacenza @ 2022-09-06 15:51 ` Lars Ingebrigtsen 2022-09-06 16:33 ` Andrea Corallo 0 siblings, 1 reply; 51+ messages in thread From: Lars Ingebrigtsen @ 2022-09-06 15:51 UTC (permalink / raw) To: German Pacenza; +Cc: 57627, Andrea Corallo German Pacenza <germanp82@hotmail.com> writes: > Yes at the end of the file, make bootstrap didn't help Hm, yes -- I can reproduce the problem here, too. So the ;; no-native-compile: t cookie doesn't seem to actually work? I've added Andrea to the CCs; perhaps he has some comments. ^ permalink raw reply [flat|nested] 51+ messages in thread
* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup 2022-09-06 15:51 ` Lars Ingebrigtsen @ 2022-09-06 16:33 ` Andrea Corallo 2022-09-06 16:41 ` Eli Zaretskii 0 siblings, 1 reply; 51+ messages in thread From: Andrea Corallo @ 2022-09-06 16:33 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: German Pacenza, 57627 Lars Ingebrigtsen <larsi@gnus.org> writes: > German Pacenza <germanp82@hotmail.com> writes: > >> Yes at the end of the file, make bootstrap didn't help > > Hm, yes -- I can reproduce the problem here, too. > > So the > > ;; no-native-compile: t > > cookie doesn't seem to actually work? I've added Andrea to the CCs; > perhaps he has some comments. Hi all, AFAICS it does work, the issue is that we print the "Compiling blablabla.el" message before we giving up because we realize no-native-compile is set... :/ I'll think about how to fix this. Andrea ^ permalink raw reply [flat|nested] 51+ messages in thread
* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup 2022-09-06 16:33 ` Andrea Corallo @ 2022-09-06 16:41 ` Eli Zaretskii 2022-09-06 19:23 ` Andrea Corallo 0 siblings, 1 reply; 51+ messages in thread From: Eli Zaretskii @ 2022-09-06 16:41 UTC (permalink / raw) To: Andrea Corallo; +Cc: germanp82, 57627, larsi > Cc: German Pacenza <germanp82@hotmail.com>, 57627@debbugs.gnu.org > From: Andrea Corallo <akrl@sdf.org> > Date: Tue, 06 Sep 2022 16:33:54 +0000 > > > So the > > > > ;; no-native-compile: t > > > > cookie doesn't seem to actually work? I've added Andrea to the CCs; > > perhaps he has some comments. > > Hi all, > > AFAICS it does work, the issue is that we print the "Compiling > blablabla.el" message before we giving up because we realize > no-native-compile is set... :/ Are you sure? If I do "M-x list-processes" right after starting Emacs, I see this in the list: Compiling: /ho… 5370 run *Async-native-compile-lo… /dev/pts/2 Main /home/eliz/git/emacs/native-comp/src/emacs --batch -l /tmp/emacs-async-comp-cl-loaddefs-UlziS9.el which tells me we really do native-compile cl-loaddefs.el. ^ permalink raw reply [flat|nested] 51+ messages in thread
* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup 2022-09-06 16:41 ` Eli Zaretskii @ 2022-09-06 19:23 ` Andrea Corallo 2022-09-06 20:40 ` Lars Ingebrigtsen 0 siblings, 1 reply; 51+ messages in thread From: Andrea Corallo @ 2022-09-06 19:23 UTC (permalink / raw) To: Eli Zaretskii; +Cc: germanp82, 57627, larsi Eli Zaretskii <eliz@gnu.org> writes: >> Cc: German Pacenza <germanp82@hotmail.com>, 57627@debbugs.gnu.org >> From: Andrea Corallo <akrl@sdf.org> >> Date: Tue, 06 Sep 2022 16:33:54 +0000 >> >> > So the >> > >> > ;; no-native-compile: t >> > >> > cookie doesn't seem to actually work? I've added Andrea to the CCs; >> > perhaps he has some comments. >> >> Hi all, >> >> AFAICS it does work, the issue is that we print the "Compiling >> blablabla.el" message before we giving up because we realize >> no-native-compile is set... :/ > > Are you sure? If I do "M-x list-processes" right after starting > Emacs, I see this in the list: > > Compiling: /ho… 5370 run *Async-native-compile-lo… /dev/pts/2 Main > /home/eliz/git/emacs/native-comp/src/emacs --batch -l > /tmp/emacs-async-comp-cl-loaddefs-UlziS9.el > > which tells me we really do native-compile cl-loaddefs.el. I think so, we emit the "Compiling" message already in the subprocess. So yeah, if the requirement is not to spawn a process, `no-native-compile' is not up to the job. Andrea ^ permalink raw reply [flat|nested] 51+ messages in thread
* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup 2022-09-06 19:23 ` Andrea Corallo @ 2022-09-06 20:40 ` Lars Ingebrigtsen 2022-09-07 2:33 ` Eli Zaretskii 2022-09-07 18:06 ` Andrea Corallo 0 siblings, 2 replies; 51+ messages in thread From: Lars Ingebrigtsen @ 2022-09-06 20:40 UTC (permalink / raw) To: Andrea Corallo; +Cc: germanp82, 57627, Eli Zaretskii Andrea Corallo <akrl@sdf.org> writes: > I think so, we emit the "Compiling" message already in the subprocess. > So yeah, if the requirement is not to spawn a process, > `no-native-compile' is not up to the job. It'd be better to detect this earlier. And... since the .eln file is never written, it'll fork these Emacsen every time you start Emacs? That seems to be the case -- I get Compiling /home/larsi/src/emacs/nativecomp/lisp/emacs-lisp/cl-loaddefs.el... in the async buffer on every Emacs restart. ^ permalink raw reply [flat|nested] 51+ messages in thread
* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup 2022-09-06 20:40 ` Lars Ingebrigtsen @ 2022-09-07 2:33 ` Eli Zaretskii 2022-09-07 12:47 ` Lars Ingebrigtsen 2022-09-07 18:06 ` Andrea Corallo 1 sibling, 1 reply; 51+ messages in thread From: Eli Zaretskii @ 2022-09-07 2:33 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: germanp82, 57627, akrl > From: Lars Ingebrigtsen <larsi@gnus.org> > Cc: Eli Zaretskii <eliz@gnu.org>, germanp82@hotmail.com, > 57627@debbugs.gnu.org > Date: Tue, 06 Sep 2022 22:40:47 +0200 > > And... since the .eln file is never written, it'll fork these Emacsen > every time you start Emacs? That seems to be the case -- I get > > Compiling /home/larsi/src/emacs/nativecomp/lisp/emacs-lisp/cl-loaddefs.el... > > in the async buffer on every Emacs restart. If you let it finish, i.e. wait until list-processes shows an empty buffer, it won't start these compilations in the next invocations. At least that's what happens to me. Btw, is that a GUI session or a -nw session? I see this in a -nw session, which I can explain: we load the terminal-specific file from lisp/term/, and that requires compilation, so we load comp.el to start compilation, and that then loads all the dependencies of comp.el and compiles them, which of course includes cl-lib, cl-macs, cl-loaddefs, etc. In a GUI session I don't expect all this to happen, so if it does, we should investigate why we load something at startup in that case. ^ permalink raw reply [flat|nested] 51+ messages in thread
* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup 2022-09-07 2:33 ` Eli Zaretskii @ 2022-09-07 12:47 ` Lars Ingebrigtsen 2022-09-07 13:01 ` German Pacenza 2022-09-07 13:08 ` Eli Zaretskii 0 siblings, 2 replies; 51+ messages in thread From: Lars Ingebrigtsen @ 2022-09-07 12:47 UTC (permalink / raw) To: Eli Zaretskii; +Cc: germanp82, 57627, akrl Eli Zaretskii <eliz@gnu.org> writes: > If you let it finish, i.e. wait until list-processes shows an empty > buffer, it won't start these compilations in the next invocations. At > least that's what happens to me. It's not what happens to me. Every time I start Emacs (not -Q), it says: --- Compiling /home/larsi/src/emacs/nativecomp/lisp/emacs-lisp/cl-loaddefs.el... Compiling /home/larsi/src/emacs/nativecomp/lisp/net/tramp-loaddefs.el... Compilation finished. --- > Btw, is that a GUI session or a -nw session? GUI. ^ permalink raw reply [flat|nested] 51+ messages in thread
* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup 2022-09-07 12:47 ` Lars Ingebrigtsen @ 2022-09-07 13:01 ` German Pacenza 2022-09-07 13:06 ` Lars Ingebrigtsen 2022-09-07 13:08 ` Eli Zaretskii 1 sibling, 1 reply; 51+ messages in thread From: German Pacenza @ 2022-09-07 13:01 UTC (permalink / raw) To: Lars Ingebrigtsen, Eli Zaretskii; +Cc: 57627, akrl Lars Ingebrigtsen <larsi@gnus.org> writes: > It's not what happens to me. Every time I start Emacs (not -Q), it > says: > > --- > Compiling /home/larsi/src/emacs/nativecomp/lisp/emacs-lisp/cl-loaddefs.el... > Compiling /home/larsi/src/emacs/nativecomp/lisp/net/tramp-loaddefs.el... > Compilation finished. > --- > For me it happens in both GUI and -nw . If I add: (setq native-comp-deferred-compilation-deny-list '("cl-loaddefs.el")) The *Async-native-compile-log* buffer is still created but it only says: Compilation finished. -- German Pacenza ^ permalink raw reply [flat|nested] 51+ messages in thread
* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup 2022-09-07 13:01 ` German Pacenza @ 2022-09-07 13:06 ` Lars Ingebrigtsen 2022-09-07 13:41 ` Lars Ingebrigtsen 0 siblings, 1 reply; 51+ messages in thread From: Lars Ingebrigtsen @ 2022-09-07 13:06 UTC (permalink / raw) To: German Pacenza; +Cc: 57627, Eli Zaretskii, akrl German Pacenza <germanp82@hotmail.com> writes: > For me it happens in both GUI and -nw . If I add: > (setq native-comp-deferred-compilation-deny-list '("cl-loaddefs.el")) I think perhaps the easiest solution here would be to just pre-populate that defcustom with '("loaddefs.el\\'"). > The *Async-native-compile-log* buffer is still created but it only says: > Compilation finished. Hm, that sounds like a bug -- it shouldn't create that buffer at all if there's nothing to compile. But perhaps it does the native-comp-deferred-compilation-deny-list filtering at a too-late time now? ^ permalink raw reply [flat|nested] 51+ messages in thread
* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup 2022-09-07 13:06 ` Lars Ingebrigtsen @ 2022-09-07 13:41 ` Lars Ingebrigtsen 0 siblings, 0 replies; 51+ messages in thread From: Lars Ingebrigtsen @ 2022-09-07 13:41 UTC (permalink / raw) To: German Pacenza; +Cc: 57627, Eli Zaretskii, akrl Lars Ingebrigtsen <larsi@gnus.org> writes: > I think perhaps the easiest solution here would be to just pre-populate > that defcustom with '("loaddefs.el\\'"). Or perhaps remove the cookies again and arrange to have lisp/loaddefs.elc native-compiled. That would be even simpler, I guess. ^ permalink raw reply [flat|nested] 51+ messages in thread
* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup 2022-09-07 12:47 ` Lars Ingebrigtsen 2022-09-07 13:01 ` German Pacenza @ 2022-09-07 13:08 ` Eli Zaretskii 2022-09-07 13:10 ` Lars Ingebrigtsen 1 sibling, 1 reply; 51+ messages in thread From: Eli Zaretskii @ 2022-09-07 13:08 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: germanp82, 57627, akrl > From: Lars Ingebrigtsen <larsi@gnus.org> > Cc: akrl@sdf.org, germanp82@hotmail.com, 57627@debbugs.gnu.org > Date: Wed, 07 Sep 2022 14:47:37 +0200 > > Eli Zaretskii <eliz@gnu.org> writes: > > > If you let it finish, i.e. wait until list-processes shows an empty > > buffer, it won't start these compilations in the next invocations. At > > least that's what happens to me. > > It's not what happens to me. Every time I start Emacs (not -Q), it > says: > > --- > Compiling /home/larsi/src/emacs/nativecomp/lisp/emacs-lisp/cl-loaddefs.el... > Compiling /home/larsi/src/emacs/nativecomp/lisp/net/tramp-loaddefs.el... > Compilation finished. > --- > > > Btw, is that a GUI session or a -nw session? > > GUI. Then maybe it's a different issue than what I see here. Since this is not a -Q session, I don't know what you load there. Suggest to start Emacs under GDB with a breakpoint in Fload, and see what are we loading that leads to those two. In general, if you let Emacs native-compile everything it loads at startup, the next startup it will not need to compile anything, since the *.eln files are already available. So if anything still tries to load and thus native-compile those *-loaddefs files should be the stuff you load itself, not the compilation infrastructure. OTOH, I don't see a problem in Emacs starting an async compilation that ends up not compiling anything. It runs in the background, so I don't think it interferes with anything? ^ permalink raw reply [flat|nested] 51+ messages in thread
* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup 2022-09-07 13:08 ` Eli Zaretskii @ 2022-09-07 13:10 ` Lars Ingebrigtsen 0 siblings, 0 replies; 51+ messages in thread From: Lars Ingebrigtsen @ 2022-09-07 13:10 UTC (permalink / raw) To: Eli Zaretskii; +Cc: germanp82, 57627, akrl Eli Zaretskii <eliz@gnu.org> writes: > In general, if you let Emacs native-compile everything it loads at > startup, the next startup it will not need to compile anything, since > the *.eln files are already available. The loaddefs files aren't compiled, since they have a cookie stopping that from happening. So no .eln file is made. > OTOH, I don't see a problem in Emacs starting an async compilation > that ends up not compiling anything. It runs in the background, so I > don't think it interferes with anything? It's inefficient and confusing. ^ permalink raw reply [flat|nested] 51+ messages in thread
* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup 2022-09-06 20:40 ` Lars Ingebrigtsen 2022-09-07 2:33 ` Eli Zaretskii @ 2022-09-07 18:06 ` Andrea Corallo 2022-09-08 11:57 ` Lars Ingebrigtsen 1 sibling, 1 reply; 51+ messages in thread From: Andrea Corallo @ 2022-09-07 18:06 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: germanp82, 57627, Eli Zaretskii Lars Ingebrigtsen <larsi@gnus.org> writes: > Andrea Corallo <akrl@sdf.org> writes: > >> I think so, we emit the "Compiling" message already in the subprocess. >> So yeah, if the requirement is not to spawn a process, >> `no-native-compile' is not up to the job. > > It'd be better to detect this earlier. Yeah I think we should probably check directly in 'maybe_swap_for_eln' and if the cookie is present just return (if that works). I can try to prepare and test a patch but not before Friday sorry. Best Regards Andrea ^ permalink raw reply [flat|nested] 51+ messages in thread
* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup 2022-09-07 18:06 ` Andrea Corallo @ 2022-09-08 11:57 ` Lars Ingebrigtsen 2022-09-09 12:57 ` Andrea Corallo 0 siblings, 1 reply; 51+ messages in thread From: Lars Ingebrigtsen @ 2022-09-08 11:57 UTC (permalink / raw) To: Andrea Corallo; +Cc: germanp82, 57627, Eli Zaretskii Andrea Corallo <akrl@sdf.org> writes: > Yeah I think we should probably check directly in 'maybe_swap_for_eln' > and if the cookie is present just return (if that works). It would require reading the .el file in the main Emacs before forking off the sub-Emacs, I guess? So it'd be slightly slower in general... But I guess there's no way around that. ^ permalink raw reply [flat|nested] 51+ messages in thread
* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup 2022-09-08 11:57 ` Lars Ingebrigtsen @ 2022-09-09 12:57 ` Andrea Corallo 2022-09-09 17:09 ` Lars Ingebrigtsen 0 siblings, 1 reply; 51+ messages in thread From: Andrea Corallo @ 2022-09-09 12:57 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: germanp82, 57627, Eli Zaretskii Lars Ingebrigtsen <larsi@gnus.org> writes: > Andrea Corallo <akrl@sdf.org> writes: > >> Yeah I think we should probably check directly in 'maybe_swap_for_eln' >> and if the cookie is present just return (if that works). > > It would require reading the .el file in the main Emacs before forking > off the sub-Emacs, I guess? So it'd be slightly slower in general... > > But I guess there's no way around that. Hi Lars, I'm not sure, shouldn't the cookie already be present in the bytecode? Andrea ^ permalink raw reply [flat|nested] 51+ messages in thread
* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup 2022-09-09 12:57 ` Andrea Corallo @ 2022-09-09 17:09 ` Lars Ingebrigtsen 2022-09-09 19:03 ` Andrea Corallo 0 siblings, 1 reply; 51+ messages in thread From: Lars Ingebrigtsen @ 2022-09-09 17:09 UTC (permalink / raw) To: Andrea Corallo; +Cc: germanp82, 57627, Eli Zaretskii Andrea Corallo <akrl@sdf.org> writes: > I'm not sure, shouldn't the cookie already be present in the > bytecode? It's not at present -- it's just a comment in the .el file, after all. But perhaps we could propagate that to the .elc file somehow? ^ permalink raw reply [flat|nested] 51+ messages in thread
* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup 2022-09-09 17:09 ` Lars Ingebrigtsen @ 2022-09-09 19:03 ` Andrea Corallo 2022-09-10 4:33 ` Lars Ingebrigtsen 0 siblings, 1 reply; 51+ messages in thread From: Andrea Corallo @ 2022-09-09 19:03 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: germanp82, 57627, Eli Zaretskii Lars Ingebrigtsen <larsi@gnus.org> writes: > Andrea Corallo <akrl@sdf.org> writes: > >> I'm not sure, shouldn't the cookie already be present in the >> bytecode? > > It's not at present -- it's just a comment in the .el file, after all. > > But perhaps we could propagate that to the .elc file somehow? Uh you are right! Dunno why I was convinced cookies are present in the .elc :/ Yes I think we should propapgate them, well at least `no-native-compile' (I'm not sure of the others). Opinions are very welcome :) Andrea ^ permalink raw reply [flat|nested] 51+ messages in thread
* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup 2022-09-09 19:03 ` Andrea Corallo @ 2022-09-10 4:33 ` Lars Ingebrigtsen 2022-09-10 4:38 ` Lars Ingebrigtsen 2022-10-14 10:53 ` Lars Ingebrigtsen 0 siblings, 2 replies; 51+ messages in thread From: Lars Ingebrigtsen @ 2022-09-10 4:33 UTC (permalink / raw) To: Andrea Corallo; +Cc: germanp82, 57627, Eli Zaretskii Andrea Corallo <akrl@sdf.org> writes: > Yes I think we should propapgate them, well at least `no-native-compile' > (I'm not sure of the others). Opinions are very welcome :) Perhaps we should make the no-native-compile thing into code instead of having it as a comment? I.e., we could put (push #$ native-comp-deferred-compilation-inhibited-list) into the files instead? (And then use that variable in addition to the native-comp-deferred-compilation-deny-list defcustom.) ^ permalink raw reply [flat|nested] 51+ messages in thread
* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup 2022-09-10 4:33 ` Lars Ingebrigtsen @ 2022-09-10 4:38 ` Lars Ingebrigtsen 2022-10-14 10:53 ` Lars Ingebrigtsen 1 sibling, 0 replies; 51+ messages in thread From: Lars Ingebrigtsen @ 2022-09-10 4:38 UTC (permalink / raw) To: Andrea Corallo; +Cc: germanp82, 57627, Eli Zaretskii Lars Ingebrigtsen <larsi@gnus.org> writes: > (push #$ native-comp-deferred-compilation-inhibited-list) (Or not actually #$, since that byte-compiles away, but (push "foo-loaddefs.el" native-comp-deferred-compilation-inhibited-list) and so on, I guess. ^ permalink raw reply [flat|nested] 51+ messages in thread
* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup 2022-09-10 4:33 ` Lars Ingebrigtsen 2022-09-10 4:38 ` Lars Ingebrigtsen @ 2022-10-14 10:53 ` Lars Ingebrigtsen 2022-10-14 19:00 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors 1 sibling, 1 reply; 51+ messages in thread From: Lars Ingebrigtsen @ 2022-10-14 10:53 UTC (permalink / raw) To: Andrea Corallo; +Cc: germanp82, 57627, Eli Zaretskii, Stefan Monnier Lars Ingebrigtsen <larsi@gnus.org> writes: > Perhaps we should make the no-native-compile thing into code instead of > having it as a comment? I started futzing around with this again, but then wondered whether we should have a more general language mechanism for stuff like this. So I've added Stefan to the CCs; perhaps he's thought about this stuff before. So to recap the practical problem we have today and would like to fix: We put ;; no-native-compile: t into .el files to signal that we don't want them to be native-compiled. However, the machinery today doesn't see that when we want it to. That is, we load the .elc file, the nativecomp machinery then kicks in and adds the file to the async .eln list, which then forks off an Emacs which then loads the .el file and sees that cookie, and then does nothing. (And this will happen on every Emacs run.) So the machinery either has to inspect the .el file in addition to the .elc file (which is inefficient), or we need to put something into the .elc file to tell the machinery not to bother with generating the .eln. This is simple enough, of course -- we could just introduce a (no-native-compile) function that hooks into the machinery at the right point. But this reminds me of other "file-wide directives" that have been previously discussed over the years, and makes me wonder whether we should introduce something more general. As an example of an ad-hoc one that already exists, we have `defgroup' that makes all subsequent `defcustom' forms use that group in the same file. We've previously discussed (in i18n contexts) whether it should be possible to specify the translation domain of the file. And we have different Emacs Lisp dialects, and we have shorthands, which use comments to change the behaviour of the code, which is unsatisfactory. So... is it time to introduce something like `pragma'? That is, in this case, we'd say (pragma 'no-native-compile) somewhere in the file. We could have (pragma 'dynamic-binding) for future versions of Emacs when lexical binding is default but we want to allow people files to still be dynamic. And we could have (pragma 'shorthands "snu-" "some-nice-string-utils-") And, of course, for backwards/forwards compat, any unknown pragmas would be ignored. ^ permalink raw reply [flat|nested] 51+ messages in thread
* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup 2022-10-14 10:53 ` Lars Ingebrigtsen @ 2022-10-14 19:00 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors 2022-10-15 10:13 ` Lars Ingebrigtsen 0 siblings, 1 reply; 51+ messages in thread From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-10-14 19:00 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: germanp82, 57627, Eli Zaretskii, Andrea Corallo > ;; no-native-compile: t > > into .el files to signal that we don't want them to be native-compiled. > However, the machinery today doesn't see that when we want it to. That > is, we load the .elc file, the nativecomp machinery then kicks in and > adds the file to the async .eln list, which then forks off an Emacs > which then loads the .el file and sees that cookie, and then does > nothing. (And this will happen on every Emacs run.) > > So the machinery either has to inspect the .el file in addition to the > .elc file (which is inefficient), or we need to put something into the > .elc file to tell the machinery not to bother with generating the .eln. After spending many milliseconds thinking about it, my conclusion is that the bytecompiler should add a little code snippet like (puthash load-file-name t comp--no-native-compile) in the file if `no-native-compile` was specified. So it then be easy for the lazy native compilation to detect that it should skip this file (since lazy native compilation is triggered after loading the file) by just consulting `comp--no-native-compile`. For that, there's no need to change the way `no-native-compile` is specified. > So... is it time to introduce something like `pragma'? > > That is, in this case, we'd say > > (pragma 'no-native-compile) > > somewhere in the file. I guess that could work for `no-native-compile`, indeed. But if you ask to native compile this file and the pragma is halfway down the file, what happens? > We could have > > (pragma 'dynamic-binding) I guess this one could work (of course, it'd have to be at top-level), and we could switch back&forth within the same file (yuck!). But if we allow such `pragma` to be output by macros, then it becomes tricky for `eval-region` to reliably decide which dialect to use. > And we could have > > (pragma 'shorthands "snu-" "some-nice-string-utils-") Same question: the tooling will often want to have access to that information but without necessarily wanting to run (or macroexpand) all the code first. So we could allow such `pragma`, but we'd likely end up restricting its syntax so we're able to find it with something like a regexp search, so in the end it's not clear what's the advantage over file-local variables. Stefan ^ permalink raw reply [flat|nested] 51+ messages in thread
* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup 2022-10-14 19:00 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-10-15 10:13 ` Lars Ingebrigtsen 2022-10-15 14:19 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors 0 siblings, 1 reply; 51+ messages in thread From: Lars Ingebrigtsen @ 2022-10-15 10:13 UTC (permalink / raw) To: Stefan Monnier; +Cc: germanp82, 57627, Eli Zaretskii, Andrea Corallo Stefan Monnier <monnier@iro.umontreal.ca> writes: > After spending many milliseconds thinking about it, my conclusion is > that the bytecompiler should add a little code snippet like > (puthash load-file-name t comp--no-native-compile) in the > file if `no-native-compile` was specified. So it then be easy for the > lazy native compilation to detect that it should skip this file (since > lazy native compilation is triggered after loading the file) by just > consulting `comp--no-native-compile`. > > For that, there's no need to change the way `no-native-compile` is specified. True, but it's kinda hacky, and if possible, I'd like to avoid adding more hacks in this area... >> That is, in this case, we'd say >> >> (pragma 'no-native-compile) >> >> somewhere in the file. > > I guess that could work for `no-native-compile`, indeed. But if you ask > to native compile this file and the pragma is halfway down the file, > what happens? Yes, that's no good. Uhm... we could make a rule that all `pragma's have to appear as the first form(s) in a Lisp file? And error out if somebody tries to add a `pragma' later in the file. I think that would make sense in general -- we're trying to express something about the file as a whole, after all. >> We could have >> >> (pragma 'dynamic-binding) > > I guess this one could work (of course, it'd have to be at top-level), > and we could switch back&forth within the same file (yuck!). > > But if we allow such `pragma` to be output by macros, then it becomes > tricky for `eval-region` to reliably decide which dialect to use. Hm, yes... But we have the same issue today, don't we? That is (progn (pop-to-buffer "*foo*") (emacs-lisp-mode) (insert ";;; -*- lexical-binding: t -*-\n(message \"Lex: %s\" lexical-binding)") (eval-region (pos-bol) (point))) Well, OK, that's the same result with point-min, but... > So we could allow such `pragma`, but we'd likely end up restricting its > syntax so we're able to find it with something like a regexp search, so > in the end it's not clear what's the advantage over > file-local variables. If they have to be the first forms, there may be some advantages... ^ permalink raw reply [flat|nested] 51+ messages in thread
* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup 2022-10-15 10:13 ` Lars Ingebrigtsen @ 2022-10-15 14:19 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors 2022-10-16 8:21 ` Lars Ingebrigtsen 0 siblings, 1 reply; 51+ messages in thread From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-10-15 14:19 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: germanp82, 57627, Eli Zaretskii, Andrea Corallo Re-reading this discussion what I see is two different options, neither of which is significantly better than the other. So the motivation to change is not very high. Stefan Lars Ingebrigtsen [2022-10-15 12:13:32] wrote: > Stefan Monnier <monnier@iro.umontreal.ca> writes: > >> After spending many milliseconds thinking about it, my conclusion is >> that the bytecompiler should add a little code snippet like >> (puthash load-file-name t comp--no-native-compile) in the >> file if `no-native-compile` was specified. So it then be easy for the >> lazy native compilation to detect that it should skip this file (since >> lazy native compilation is triggered after loading the file) by just >> consulting `comp--no-native-compile`. >> >> For that, there's no need to change the way `no-native-compile` is specified. > > True, but it's kinda hacky, and if possible, I'd like to avoid adding > more hacks in this area... > >>> That is, in this case, we'd say >>> >>> (pragma 'no-native-compile) >>> >>> somewhere in the file. >> >> I guess that could work for `no-native-compile`, indeed. But if you ask >> to native compile this file and the pragma is halfway down the file, >> what happens? > > Yes, that's no good. Uhm... we could make a rule that all `pragma's > have to appear as the first form(s) in a Lisp file? And error out if > somebody tries to add a `pragma' later in the file. > > I think that would make sense in general -- we're trying to express > something about the file as a whole, after all. > >>> We could have >>> >>> (pragma 'dynamic-binding) >> >> I guess this one could work (of course, it'd have to be at top-level), >> and we could switch back&forth within the same file (yuck!). >> >> But if we allow such `pragma` to be output by macros, then it becomes >> tricky for `eval-region` to reliably decide which dialect to use. > > Hm, yes... But we have the same issue today, don't we? That is > > (progn > (pop-to-buffer "*foo*") > (emacs-lisp-mode) > (insert ";;; -*- lexical-binding: t -*-\n(message \"Lex: %s\" lexical-binding)") > (eval-region (pos-bol) (point))) > > Well, OK, that's the same result with point-min, but... > >> So we could allow such `pragma`, but we'd likely end up restricting its >> syntax so we're able to find it with something like a regexp search, so >> in the end it's not clear what's the advantage over >> file-local variables. > > If they have to be the first forms, there may be some advantages... ^ permalink raw reply [flat|nested] 51+ messages in thread
* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup 2022-10-15 14:19 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-10-16 8:21 ` Lars Ingebrigtsen 2022-10-17 7:47 ` Andrea Corallo 2022-10-17 11:59 ` Arash Esbati 0 siblings, 2 replies; 51+ messages in thread From: Lars Ingebrigtsen @ 2022-10-16 8:21 UTC (permalink / raw) To: Stefan Monnier; +Cc: germanp82, 57627, Eli Zaretskii, Andrea Corallo Stefan Monnier <monnier@iro.umontreal.ca> writes: > Re-reading this discussion what I see is two different options, neither > of which is significantly better than the other. > So the motivation to change is not very high. True. So I've now implemented Stefan's suggestion (i.e., just putting a puthash into the .elc file if the file-local variable says so), and it seems to work fine. Andrea, does this look OK to you? diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el index 74ba8984f2..1dc5442716 100644 --- a/lisp/emacs-lisp/bytecomp.el +++ b/lisp/emacs-lisp/bytecomp.el @@ -2323,9 +2323,15 @@ byte-compile-from-buffer (setq case-fold-search nil)) (displaying-byte-compile-warnings (with-current-buffer inbuffer - (and byte-compile-current-file - (byte-compile-insert-header byte-compile-current-file - byte-compile--outbuffer)) + (when byte-compile-current-file + (byte-compile-insert-header byte-compile-current-file + byte-compile--outbuffer) + ;; Instruct native-comp to ignore this file. + (when (bound-and-true-p no-native-compile) + (with-current-buffer byte-compile--outbuffer + (insert + "(when (boundp 'native-comp--no-native-compile) + (puthash load-file-name t native-comp--no-native-compile))\n\n")))) (goto-char (point-min)) ;; Should we always do this? When calling multiple files, it ;; would be useful to delay this warning until all have been diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el index 889bffa3f5..3c64f472a0 100644 --- a/lisp/emacs-lisp/comp.el +++ b/lisp/emacs-lisp/comp.el @@ -4119,6 +4119,8 @@ native-compile-async-skip-p LOAD and SELECTOR work as described in `native--compile-async'." ;; Make sure we are not already compiling `file' (bug#40838). (or (gethash file comp-async-compilations) + (gethash (file-name-with-extension file "elc") + native-comp--no-native-compile) (cond ((null selector) nil) ((functionp selector) (not (funcall selector file))) diff --git a/lisp/loadup.el b/lisp/loadup.el index c01c827a75..95bfbc502e 100644 --- a/lisp/loadup.el +++ b/lisp/loadup.el @@ -501,7 +501,10 @@ bin-dest-dir) ;; Relative filename from the built uninstalled binary. (file-relative-name file invocation-directory))))) - comp-loaded-comp-units-h)))) + comp-loaded-comp-units-h))) + ;; Set up the mechanism to allow inhibiting native-comp via + ;; file-local variables. + (defvar native-comp--no-native-compile (make-hash-table :test #'equal))) (when (hash-table-p purify-flag) (let ((strings 0) ^ permalink raw reply related [flat|nested] 51+ messages in thread
* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup 2022-10-16 8:21 ` Lars Ingebrigtsen @ 2022-10-17 7:47 ` Andrea Corallo 2022-10-17 8:49 ` Lars Ingebrigtsen 2022-10-17 11:59 ` Arash Esbati 1 sibling, 1 reply; 51+ messages in thread From: Andrea Corallo @ 2022-10-17 7:47 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: germanp82, 57627, Eli Zaretskii, Stefan Monnier Lars Ingebrigtsen <larsi@gnus.org> writes: > Stefan Monnier <monnier@iro.umontreal.ca> writes: > >> Re-reading this discussion what I see is two different options, neither >> of which is significantly better than the other. >> So the motivation to change is not very high. > > True. > > So I've now implemented Stefan's suggestion (i.e., just putting a > puthash into the .elc file if the file-local variable says so), and it > seems to work fine. > > Andrea, does this look OK to you? In principle absolutely, but I've two questions: Why not to use `native-comp-deferred-compilation-deny-list' instead of adding `native-comp--no-native-compile'? If we can't use `native-comp-deferred-compilation-deny-list' maybe we should rename `native-comp--no-native-compile' to `comp--no-native-compile'? This is the scheme we used for variables that are not supposed to be manipulated by the user. Thanks Andrea ^ permalink raw reply [flat|nested] 51+ messages in thread
* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup 2022-10-17 7:47 ` Andrea Corallo @ 2022-10-17 8:49 ` Lars Ingebrigtsen 2022-10-17 8:52 ` Andrea Corallo 2022-10-17 9:06 ` Eli Zaretskii 0 siblings, 2 replies; 51+ messages in thread From: Lars Ingebrigtsen @ 2022-10-17 8:49 UTC (permalink / raw) To: Andrea Corallo; +Cc: germanp82, 57627, Eli Zaretskii, Stefan Monnier Andrea Corallo <akrl@sdf.org> writes: > Why not to use `native-comp-deferred-compilation-deny-list' instead of > adding `native-comp--no-native-compile'? `native-comp-deferred-compilation-deny-list' is a user option, so it shouldn't be used for programmatic updates like this. (I.e., a user may overwrite the automatic updates.) > If we can't use `native-comp-deferred-compilation-deny-list' maybe we > should rename `native-comp--no-native-compile' to > `comp--no-native-compile'? This is the scheme we used for variables > that are not supposed to be manipulated by the user. Right; now done, and change pushed to master. ^ permalink raw reply [flat|nested] 51+ messages in thread
* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup 2022-10-17 8:49 ` Lars Ingebrigtsen @ 2022-10-17 8:52 ` Andrea Corallo 2022-10-17 9:06 ` Eli Zaretskii 1 sibling, 0 replies; 51+ messages in thread From: Andrea Corallo @ 2022-10-17 8:52 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: germanp82, 57627, Eli Zaretskii, Stefan Monnier Lars Ingebrigtsen <larsi@gnus.org> writes: > Andrea Corallo <akrl@sdf.org> writes: > >> Why not to use `native-comp-deferred-compilation-deny-list' instead of >> adding `native-comp--no-native-compile'? > > `native-comp-deferred-compilation-deny-list' is a user option, so it > shouldn't be used for programmatic updates like this. (I.e., a user may > overwrite the automatic updates.) Right >> If we can't use `native-comp-deferred-compilation-deny-list' maybe we >> should rename `native-comp--no-native-compile' to >> `comp--no-native-compile'? This is the scheme we used for variables >> that are not supposed to be manipulated by the user. > > Right; now done, and change pushed to master. Thanks Andrea ^ permalink raw reply [flat|nested] 51+ messages in thread
* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup 2022-10-17 8:49 ` Lars Ingebrigtsen 2022-10-17 8:52 ` Andrea Corallo @ 2022-10-17 9:06 ` Eli Zaretskii 2022-10-17 9:13 ` Lars Ingebrigtsen 1 sibling, 1 reply; 51+ messages in thread From: Eli Zaretskii @ 2022-10-17 9:06 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: germanp82, 57627, monnier, akrl > From: Lars Ingebrigtsen <larsi@gnus.org> > Cc: Stefan Monnier <monnier@iro.umontreal.ca>, germanp82@hotmail.com, > 57627@debbugs.gnu.org, Eli Zaretskii <eliz@gnu.org> > Date: Mon, 17 Oct 2022 10:49:23 +0200 > > > If we can't use `native-comp-deferred-compilation-deny-list' maybe we > > should rename `native-comp--no-native-compile' to > > `comp--no-native-compile'? This is the scheme we used for variables > > that are not supposed to be manipulated by the user. > > Right; now done, and change pushed to master. I suggest some minimally suitable doc string for that variable. At least something which says "Internal use only.". And why doesn't "C-h v" say in what file was the variable defined? is that a bug? ^ permalink raw reply [flat|nested] 51+ messages in thread
* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup 2022-10-17 9:06 ` Eli Zaretskii @ 2022-10-17 9:13 ` Lars Ingebrigtsen 0 siblings, 0 replies; 51+ messages in thread From: Lars Ingebrigtsen @ 2022-10-17 9:13 UTC (permalink / raw) To: Eli Zaretskii; +Cc: germanp82, 57627, monnier, akrl Eli Zaretskii <eliz@gnu.org> writes: > I suggest some minimally suitable doc string for that variable. At > least something which says "Internal use only.". We commonly don't add doc strings to internal variables (except when their usage has to be explained to other developers, which I don't think is the case here). > And why doesn't "C-h v" say in what file was the variable defined? is > that a bug? Good question. Could it be because it's not defined at top-level? (Which I'm not sure is the correct solution anyway.) ^ permalink raw reply [flat|nested] 51+ messages in thread
* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup 2022-10-16 8:21 ` Lars Ingebrigtsen 2022-10-17 7:47 ` Andrea Corallo @ 2022-10-17 11:59 ` Arash Esbati 2022-10-17 12:01 ` Lars Ingebrigtsen 1 sibling, 1 reply; 51+ messages in thread From: Arash Esbati @ 2022-10-17 11:59 UTC (permalink / raw) To: Lars Ingebrigtsen Cc: germanp82, 57627, Eli Zaretskii, Stefan Monnier, Andrea Corallo Lars Ingebrigtsen <larsi@gnus.org> writes: > So I've now implemented Stefan's suggestion (i.e., just putting a > puthash into the .elc file if the file-local variable says so), and it > seems to work fine. Thanks for looking at this. When I re-start Emacs (after initial native-compiling all .elc files I'm using), it creates a *Async-native-compile-log* buffer with this single line in it: Compilation finished. Is this the intended behavior? I.e., will there always be the *Async-native-compile-log* at start up telling me that no new .elc file was compiled? Best, Arash ^ permalink raw reply [flat|nested] 51+ messages in thread
* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup 2022-10-17 11:59 ` Arash Esbati @ 2022-10-17 12:01 ` Lars Ingebrigtsen 2022-10-17 12:09 ` Arash Esbati 0 siblings, 1 reply; 51+ messages in thread From: Lars Ingebrigtsen @ 2022-10-17 12:01 UTC (permalink / raw) To: Arash Esbati Cc: germanp82, 57627, Eli Zaretskii, Stefan Monnier, Andrea Corallo Arash Esbati <arash@gnu.org> writes: > Thanks for looking at this. When I re-start Emacs (after initial > native-compiling all .elc files I'm using), it creates a > *Async-native-compile-log* buffer with this single line in it: > > Compilation finished. > > Is this the intended behavior? I.e., will there always be the > *Async-native-compile-log* at start up telling me that no new .elc file > was compiled? No, I think this means that you haven't regenerated all the relevant loaddef*elc files. Try saying "make bootstrap" and see whether the problem goes away. If it doesn't, it a bug somewhere. ^ permalink raw reply [flat|nested] 51+ messages in thread
* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup 2022-10-17 12:01 ` Lars Ingebrigtsen @ 2022-10-17 12:09 ` Arash Esbati 2022-10-17 12:21 ` Lars Ingebrigtsen 0 siblings, 1 reply; 51+ messages in thread From: Arash Esbati @ 2022-10-17 12:09 UTC (permalink / raw) To: Lars Ingebrigtsen Cc: germanp82, 57627, Eli Zaretskii, Stefan Monnier, Andrea Corallo Lars Ingebrigtsen <larsi@gnus.org> writes: > Arash Esbati <arash@gnu.org> writes: > >> Thanks for looking at this. When I re-start Emacs (after initial >> native-compiling all .elc files I'm using), it creates a >> *Async-native-compile-log* buffer with this single line in it: >> >> Compilation finished. >> >> Is this the intended behavior? I.e., will there always be the >> *Async-native-compile-log* at start up telling me that no new .elc file >> was compiled? > > No, I think this means that you haven't regenerated all the relevant > loaddef*elc files. Try saying "make bootstrap" and see whether the > problem goes away. > > If it doesn't, it a bug somewhere. My build script does git clean -fdx --exclude=ChangeLog ./autogen.sh ... So I think I'm on the safe side reg. regenerated files. Best, Arash ^ permalink raw reply [flat|nested] 51+ messages in thread
* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup 2022-10-17 12:09 ` Arash Esbati @ 2022-10-17 12:21 ` Lars Ingebrigtsen 2022-10-17 12:31 ` Lars Ingebrigtsen 0 siblings, 1 reply; 51+ messages in thread From: Lars Ingebrigtsen @ 2022-10-17 12:21 UTC (permalink / raw) To: Arash Esbati Cc: germanp82, 57627, Eli Zaretskii, Stefan Monnier, Andrea Corallo Arash Esbati <arash@gnu.org> writes: > My build script does > > git clean -fdx --exclude=ChangeLog > ./autogen.sh > ... > > So I think I'm on the safe side reg. regenerated files. Hm... Oh, I think I see the problem... ^ permalink raw reply [flat|nested] 51+ messages in thread
* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup 2022-10-17 12:21 ` Lars Ingebrigtsen @ 2022-10-17 12:31 ` Lars Ingebrigtsen 2022-10-17 12:53 ` Arash Esbati 2022-10-17 12:59 ` German Pacenza 0 siblings, 2 replies; 51+ messages in thread From: Lars Ingebrigtsen @ 2022-10-17 12:31 UTC (permalink / raw) To: Arash Esbati Cc: germanp82, 57627, Eli Zaretskii, Stefan Monnier, Andrea Corallo Lars Ingebrigtsen <larsi@gnus.org> writes: > Hm... Oh, I think I see the problem... Now fixed, I think. (I've tested a full new built to see whether this tweak leads to any problems, but looks OK so far.) ^ permalink raw reply [flat|nested] 51+ messages in thread
* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup 2022-10-17 12:31 ` Lars Ingebrigtsen @ 2022-10-17 12:53 ` Arash Esbati 2022-10-17 12:59 ` German Pacenza 1 sibling, 0 replies; 51+ messages in thread From: Arash Esbati @ 2022-10-17 12:53 UTC (permalink / raw) To: Lars Ingebrigtsen Cc: germanp82, 57627, Eli Zaretskii, Stefan Monnier, Andrea Corallo Lars Ingebrigtsen <larsi@gnus.org> writes: > Now fixed, I think. (I've tested a full new built to see whether this > tweak leads to any problems, but looks OK so far.) Thanks for the quick fix, the issue is gone. Best, Arash ^ permalink raw reply [flat|nested] 51+ messages in thread
* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup 2022-10-17 12:31 ` Lars Ingebrigtsen 2022-10-17 12:53 ` Arash Esbati @ 2022-10-17 12:59 ` German Pacenza 1 sibling, 0 replies; 51+ messages in thread From: German Pacenza @ 2022-10-17 12:59 UTC (permalink / raw) To: Lars Ingebrigtsen, Arash Esbati Cc: 57627, Eli Zaretskii, Stefan Monnier, Andrea Corallo Lars Ingebrigtsen <larsi@gnus.org> writes: > Lars Ingebrigtsen <larsi@gnus.org> writes: > > Now fixed, I think. (I've tested a full new built to see whether this > tweak leads to any problems, but looks OK so far.) It looks OK on my machine. No problems detected. Thanks. -- German Pacenza ^ permalink raw reply [flat|nested] 51+ messages in thread
* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup 2022-09-06 11:38 bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup German Pacenza 2022-09-06 15:02 ` Lars Ingebrigtsen @ 2024-08-28 2:04 ` Phil Sainty 2024-09-06 8:44 ` Andrea Corallo 1 sibling, 1 reply; 51+ messages in thread From: Phil Sainty @ 2024-08-28 2:04 UTC (permalink / raw) To: 57627 Cc: Lars Ingebrigtsen, Andrea Corallo, Eli Zaretskii, Arash Esbati, Stefan Monnier https://emacs.stackexchange.com/questions/82010 indicates that this bug was fixed for *.el files, but remains in effect for the *.el.gz case. ^ permalink raw reply [flat|nested] 51+ messages in thread
* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup 2024-08-28 2:04 ` Phil Sainty @ 2024-09-06 8:44 ` Andrea Corallo 2024-09-14 7:50 ` Eli Zaretskii 0 siblings, 1 reply; 51+ messages in thread From: Andrea Corallo @ 2024-09-06 8:44 UTC (permalink / raw) To: Phil Sainty Cc: 57627, Arash Esbati, Stefan Monnier, Lars Ingebrigtsen, Eli Zaretskii, Andrea Corallo Phil Sainty <psainty@orcon.net.nz> writes: > https://emacs.stackexchange.com/questions/82010 indicates > that this bug was fixed for *.el files, but remains in effect > for the *.el.gz case. Hi Phil, can you reproduce this? ATM I cannot with my emacs 30 installed. Andrea ^ permalink raw reply [flat|nested] 51+ messages in thread
* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup 2024-09-06 8:44 ` Andrea Corallo @ 2024-09-14 7:50 ` Eli Zaretskii 2024-09-14 12:13 ` Phil Sainty 0 siblings, 1 reply; 51+ messages in thread From: Eli Zaretskii @ 2024-09-14 7:50 UTC (permalink / raw) To: psainty, Andrea Corallo; +Cc: 57627, larsi, arash, monnier, akrl > From: Andrea Corallo <acorallo@gnu.org> > Cc: 57627@debbugs.gnu.org, Lars Ingebrigtsen <larsi@gnus.org>, Andrea > Corallo <akrl@sdf.org>, Eli Zaretskii <eliz@gnu.org>, Arash Esbati > <arash@gnu.org>, Stefan Monnier <monnier@iro.umontreal.ca> > Date: Fri, 06 Sep 2024 04:44:06 -0400 > > Phil Sainty <psainty@orcon.net.nz> writes: > > > https://emacs.stackexchange.com/questions/82010 indicates > > that this bug was fixed for *.el files, but remains in effect > > for the *.el.gz case. > > Hi Phil, > > can you reproduce this? ATM I cannot with my emacs 30 installed. Ping! Phil, can you please respond? I'd like to make some progress with this issue. ^ permalink raw reply [flat|nested] 51+ messages in thread
* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup 2024-09-14 7:50 ` Eli Zaretskii @ 2024-09-14 12:13 ` Phil Sainty 2024-09-28 8:53 ` Eli Zaretskii 0 siblings, 1 reply; 51+ messages in thread From: Phil Sainty @ 2024-09-14 12:13 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 57627, arash, monnier, larsi, Andrea Corallo, akrl On 2024-09-14 19:50, Eli Zaretskii wrote: >> From: Andrea Corallo <acorallo@gnu.org> >> Phil Sainty <psainty@orcon.net.nz> writes: >> > https://emacs.stackexchange.com/questions/82010 indicates >> > that this bug was fixed for *.el files, but remains in effect >> > for the *.el.gz case. >> >> Hi Phil, >> can you reproduce this? ATM I cannot with my emacs 30 installed. > > Ping! Phil, can you please respond? I'd like to make some progress > with this issue. Hi Eli, Andrea, I requested a follow-up from the reporter at emacs.stackexchange.com after Andrea's initial response, but they have not replied. However, I see the following in 30.0.91: (let* ((lib "cl-loaddefs") (dir (file-name-directory (locate-library lib)))) (mapcar (lambda (f) (native--compile-async-skip-p (expand-file-name f dir) nil nil)) (list lib (concat lib ".el") (concat lib ".elc") (concat lib ".el.gz")))) (t t t nil) ^ permalink raw reply [flat|nested] 51+ messages in thread
* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup 2024-09-14 12:13 ` Phil Sainty @ 2024-09-28 8:53 ` Eli Zaretskii 2024-10-12 11:21 ` Eli Zaretskii 0 siblings, 1 reply; 51+ messages in thread From: Eli Zaretskii @ 2024-09-28 8:53 UTC (permalink / raw) To: acorallo, Phil Sainty; +Cc: 57627, larsi, arash, monnier > Date: Sun, 15 Sep 2024 00:13:00 +1200 > From: Phil Sainty <psainty@orcon.net.nz> > Cc: Andrea Corallo <acorallo@gnu.org>, 57627@debbugs.gnu.org, > larsi@gnus.org, akrl@sdf.org, arash@gnu.org, monnier@iro.umontreal.ca > > On 2024-09-14 19:50, Eli Zaretskii wrote: > >> From: Andrea Corallo <acorallo@gnu.org> > >> Phil Sainty <psainty@orcon.net.nz> writes: > >> > https://emacs.stackexchange.com/questions/82010 indicates > >> > that this bug was fixed for *.el files, but remains in effect > >> > for the *.el.gz case. > >> > >> Hi Phil, > >> can you reproduce this? ATM I cannot with my emacs 30 installed. > > > > Ping! Phil, can you please respond? I'd like to make some progress > > with this issue. > > Hi Eli, Andrea, > > I requested a follow-up from the reporter at emacs.stackexchange.com > after Andrea's initial response, but they have not replied. > > However, I see the following in 30.0.91: > > (let* ((lib "cl-loaddefs") > (dir (file-name-directory (locate-library lib)))) > (mapcar (lambda (f) > (native--compile-async-skip-p (expand-file-name f dir) nil > nil)) > (list lib > (concat lib ".el") > (concat lib ".elc") > (concat lib ".el.gz")))) > > (t t t nil) Andrea, any comments? ^ permalink raw reply [flat|nested] 51+ messages in thread
* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup 2024-09-28 8:53 ` Eli Zaretskii @ 2024-10-12 11:21 ` Eli Zaretskii 2024-10-13 21:20 ` Andrea Corallo 0 siblings, 1 reply; 51+ messages in thread From: Eli Zaretskii @ 2024-10-12 11:21 UTC (permalink / raw) To: acorallo; +Cc: psainty, 57627, larsi, arash, monnier Ping! > Cc: 57627@debbugs.gnu.org, larsi@gnus.org, arash@gnu.org, > monnier@iro.umontreal.ca > Date: Sat, 28 Sep 2024 11:53:44 +0300 > From: Eli Zaretskii <eliz@gnu.org> > > > Date: Sun, 15 Sep 2024 00:13:00 +1200 > > From: Phil Sainty <psainty@orcon.net.nz> > > Cc: Andrea Corallo <acorallo@gnu.org>, 57627@debbugs.gnu.org, > > larsi@gnus.org, akrl@sdf.org, arash@gnu.org, monnier@iro.umontreal.ca > > > > On 2024-09-14 19:50, Eli Zaretskii wrote: > > >> From: Andrea Corallo <acorallo@gnu.org> > > >> Phil Sainty <psainty@orcon.net.nz> writes: > > >> > https://emacs.stackexchange.com/questions/82010 indicates > > >> > that this bug was fixed for *.el files, but remains in effect > > >> > for the *.el.gz case. > > >> > > >> Hi Phil, > > >> can you reproduce this? ATM I cannot with my emacs 30 installed. > > > > > > Ping! Phil, can you please respond? I'd like to make some progress > > > with this issue. > > > > Hi Eli, Andrea, > > > > I requested a follow-up from the reporter at emacs.stackexchange.com > > after Andrea's initial response, but they have not replied. > > > > However, I see the following in 30.0.91: > > > > (let* ((lib "cl-loaddefs") > > (dir (file-name-directory (locate-library lib)))) > > (mapcar (lambda (f) > > (native--compile-async-skip-p (expand-file-name f dir) nil > > nil)) > > (list lib > > (concat lib ".el") > > (concat lib ".elc") > > (concat lib ".el.gz")))) > > > > (t t t nil) > > Andrea, any comments? > > > > ^ permalink raw reply [flat|nested] 51+ messages in thread
* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup 2024-10-12 11:21 ` Eli Zaretskii @ 2024-10-13 21:20 ` Andrea Corallo 2024-10-13 22:12 ` Andrea Corallo 0 siblings, 1 reply; 51+ messages in thread From: Andrea Corallo @ 2024-10-13 21:20 UTC (permalink / raw) To: Eli Zaretskii; +Cc: psainty, 57627, larsi, arash, monnier Eli Zaretskii <eliz@gnu.org> writes: > Ping! Here I'm. I tried again reproducing the bug but with no success, maybe it depends on the configuration? Anyway the following patch makes Phil test return (t t t t), essentially if "file" ends with ".el.gz" we just remove the final ".gz" and keep the previous logic. ================== modified lisp/emacs-lisp/comp-run.el @@ -143,20 +143,24 @@ native--compile-async-skip-p LOAD and SELECTOR work as described in `native--compile-async'." ;; Make sure we are not already compiling `file' (bug#40838). - (or (gethash file comp-async-compilations) - (gethash (file-name-with-extension file "elc") comp--no-native-compile) - (cond - ((null selector) nil) - ((functionp selector) (not (funcall selector file))) - ((stringp selector) (not (string-match-p selector file))) - (t (error "SELECTOR must be a function a regexp or nil"))) - ;; Also exclude files from deferred compilation if - ;; any of the regexps in - ;; `native-comp-jit-compilation-deny-list' matches. - (and (eq load 'late) - (seq-some (lambda (re) - (string-match-p re file)) - native-comp-jit-compilation-deny-list)))) + (let ((file (if (string-match (rx (group-n 1 (one-or-more nonl) ".el") ".gz" eol) + file) + (match-string 1 file) + file))) + (or (gethash file comp-async-compilations) + (gethash (file-name-with-extension file "elc") comp--no-native-compile) + (cond + ((null selector) nil) + ((functionp selector) (not (funcall selector file))) + ((stringp selector) (not (string-match-p selector file))) + (t (error "SELECTOR must be a function a regexp or nil"))) + ;; Also exclude files from deferred compilation if + ;; any of the regexps in + ;; `native-comp-jit-compilation-deny-list' matches. + (and (eq load 'late) + (seq-some (lambda (re) + (string-match-p re file)) + native-comp-jit-compilation-deny-list))))) (defvar comp-files-queue () "List of Emacs Lisp files to be compiled.") ================== Andrea ^ permalink raw reply [flat|nested] 51+ messages in thread
* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup 2024-10-13 21:20 ` Andrea Corallo @ 2024-10-13 22:12 ` Andrea Corallo 2024-10-15 13:01 ` Phil Sainty 0 siblings, 1 reply; 51+ messages in thread From: Andrea Corallo @ 2024-10-13 22:12 UTC (permalink / raw) To: Eli Zaretskii; +Cc: psainty, 57627, larsi, arash, monnier Andrea Corallo <acorallo@gnu.org> writes: > Eli Zaretskii <eliz@gnu.org> writes: > >> Ping! > > Here I'm. > > I tried again reproducing the bug but with no success, maybe it depends > on the configuration? > > Anyway the following patch makes Phil test return (t t t t), essentially > if "file" ends with ".el.gz" we just remove the final ".gz" and keep the > previous logic. > [...] Ops, better to save the match data to avoid side effects: =================== modified lisp/emacs-lisp/comp-run.el @@ -143,20 +143,25 @@ native--compile-async-skip-p LOAD and SELECTOR work as described in `native--compile-async'." ;; Make sure we are not already compiling `file' (bug#40838). - (or (gethash file comp-async-compilations) - (gethash (file-name-with-extension file "elc") comp--no-native-compile) - (cond - ((null selector) nil) - ((functionp selector) (not (funcall selector file))) - ((stringp selector) (not (string-match-p selector file))) - (t (error "SELECTOR must be a function a regexp or nil"))) - ;; Also exclude files from deferred compilation if - ;; any of the regexps in - ;; `native-comp-jit-compilation-deny-list' matches. - (and (eq load 'late) - (seq-some (lambda (re) - (string-match-p re file)) - native-comp-jit-compilation-deny-list)))) + (let ((file (save-match-data + (if (string-match (rx (group-n 1 (one-or-more nonl) ".el") ".gz" eol) + file) + (match-string 1 file) + file)))) + (or (gethash file comp-async-compilations) + (gethash (file-name-with-extension file "elc") comp--no-native-compile) + (cond + ((null selector) nil) + ((functionp selector) (not (funcall selector file))) + ((stringp selector) (not (string-match-p selector file))) + (t (error "SELECTOR must be a function a regexp or nil"))) + ;; Also exclude files from deferred compilation if + ;; any of the regexps in + ;; `native-comp-jit-compilation-deny-list' matches. + (and (eq load 'late) + (seq-some (lambda (re) + (string-match-p re file)) + native-comp-jit-compilation-deny-list))))) (defvar comp-files-queue () "List of Emacs Lisp files to be compiled.") =========================== Andrea ^ permalink raw reply [flat|nested] 51+ messages in thread
* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup 2024-10-13 22:12 ` Andrea Corallo @ 2024-10-15 13:01 ` Phil Sainty 2024-10-15 19:20 ` Andrea Corallo 0 siblings, 1 reply; 51+ messages in thread From: Phil Sainty @ 2024-10-15 13:01 UTC (permalink / raw) To: Andrea Corallo; +Cc: 57627, arash, Eli Zaretskii, larsi, monnier On 2024-10-14 11:12, Andrea Corallo wrote: > + (let ((file (save-match-data > + (if (string-match (rx (group-n 1 (one-or-more nonl) > ".el") ".gz" eol) > + file) > + (match-string 1 file) > + file)))) Newlines are valid in filenames, though. Maybe start with the file name extension function? (when (equal (file-name-extension file) "gz") (let ((filenogz (file-name-sans-extension file))) (when (string-match-p "\\.el\\'" filenogz) (setq file filenogz)))) As a by-product, that will also support filenames with version strings attached. (Assuming that's a good thing here.) (Also: Maybe not a practical issue here, but if Emacs supports loading compressed elisp files using any compression format besides .gz then maybe this should be more general.) -Phil ^ permalink raw reply [flat|nested] 51+ messages in thread
* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup 2024-10-15 13:01 ` Phil Sainty @ 2024-10-15 19:20 ` Andrea Corallo 2024-10-15 19:56 ` Phil Sainty 0 siblings, 1 reply; 51+ messages in thread From: Andrea Corallo @ 2024-10-15 19:20 UTC (permalink / raw) To: Phil Sainty; +Cc: 57627, arash, Eli Zaretskii, larsi, monnier Phil Sainty <psainty@orcon.net.nz> writes: > On 2024-10-14 11:12, Andrea Corallo wrote: >> + (let ((file (save-match-data >> + (if (string-match (rx (group-n 1 (one-or-more nonl) >> ".el") ".gz" eol) >> + file) >> + (match-string 1 file) >> + file)))) > > Newlines are valid in filenames, though. Ops sorry, I think I wanted to write (one-or-more (not eos)) > Maybe start with the file > name extension function? > > (when (equal (file-name-extension file) "gz") > (let ((filenogz (file-name-sans-extension file))) > (when (string-match-p "\\.el\\'" filenogz) > (setq file filenogz)))) I like this approach. > As a by-product, that will also support filenames with version > strings attached. Like? > (Assuming that's a good thing here.) > > (Also: Maybe not a practical issue here, but if Emacs supports > loading compressed elisp files using any compression format > besides .gz then maybe this should be more general.) AFAIK we only support .gz Thanks Andrea ^ permalink raw reply [flat|nested] 51+ messages in thread
* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup 2024-10-15 19:20 ` Andrea Corallo @ 2024-10-15 19:56 ` Phil Sainty 2024-10-15 20:27 ` Andrea Corallo 0 siblings, 1 reply; 51+ messages in thread From: Phil Sainty @ 2024-10-15 19:56 UTC (permalink / raw) To: Andrea Corallo; +Cc: 57627, arash, Eli Zaretskii, larsi, monnier On 2024-10-16 08:20, Andrea Corallo wrote: > Phil Sainty <psainty@orcon.net.nz> writes: >> As a by-product, that will also support filenames with version >> strings attached. > > Like? See: (describe-function 'file-name-sans-versions) (info "(emacs)Backup Names") >> (Assuming that's a good thing here.) ^ permalink raw reply [flat|nested] 51+ messages in thread
* bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup 2024-10-15 19:56 ` Phil Sainty @ 2024-10-15 20:27 ` Andrea Corallo 0 siblings, 0 replies; 51+ messages in thread From: Andrea Corallo @ 2024-10-15 20:27 UTC (permalink / raw) To: Phil Sainty; +Cc: 57627, arash, Eli Zaretskii, larsi, monnier Phil Sainty <psainty@orcon.net.nz> writes: > On 2024-10-16 08:20, Andrea Corallo wrote: >> Phil Sainty <psainty@orcon.net.nz> writes: >>> As a by-product, that will also support filenames with version >>> strings attached. >> Like? > > See: > > (describe-function 'file-name-sans-versions) > > (info "(emacs)Backup Names") Okay but we don't compile backup files, I don't think this is a plus nor a minus in this case as shouldn't be a practical case. Andrea ^ permalink raw reply [flat|nested] 51+ messages in thread
end of thread, other threads:[~2024-10-15 20:27 UTC | newest] Thread overview: 51+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2022-09-06 11:38 bug#57627: 29.0.50; [native-compilation] cl-loaddefs.el recompiled on startup German Pacenza 2022-09-06 15:02 ` Lars Ingebrigtsen 2022-09-06 15:46 ` German Pacenza 2022-09-06 15:51 ` Lars Ingebrigtsen 2022-09-06 16:33 ` Andrea Corallo 2022-09-06 16:41 ` Eli Zaretskii 2022-09-06 19:23 ` Andrea Corallo 2022-09-06 20:40 ` Lars Ingebrigtsen 2022-09-07 2:33 ` Eli Zaretskii 2022-09-07 12:47 ` Lars Ingebrigtsen 2022-09-07 13:01 ` German Pacenza 2022-09-07 13:06 ` Lars Ingebrigtsen 2022-09-07 13:41 ` Lars Ingebrigtsen 2022-09-07 13:08 ` Eli Zaretskii 2022-09-07 13:10 ` Lars Ingebrigtsen 2022-09-07 18:06 ` Andrea Corallo 2022-09-08 11:57 ` Lars Ingebrigtsen 2022-09-09 12:57 ` Andrea Corallo 2022-09-09 17:09 ` Lars Ingebrigtsen 2022-09-09 19:03 ` Andrea Corallo 2022-09-10 4:33 ` Lars Ingebrigtsen 2022-09-10 4:38 ` Lars Ingebrigtsen 2022-10-14 10:53 ` Lars Ingebrigtsen 2022-10-14 19:00 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors 2022-10-15 10:13 ` Lars Ingebrigtsen 2022-10-15 14:19 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors 2022-10-16 8:21 ` Lars Ingebrigtsen 2022-10-17 7:47 ` Andrea Corallo 2022-10-17 8:49 ` Lars Ingebrigtsen 2022-10-17 8:52 ` Andrea Corallo 2022-10-17 9:06 ` Eli Zaretskii 2022-10-17 9:13 ` Lars Ingebrigtsen 2022-10-17 11:59 ` Arash Esbati 2022-10-17 12:01 ` Lars Ingebrigtsen 2022-10-17 12:09 ` Arash Esbati 2022-10-17 12:21 ` Lars Ingebrigtsen 2022-10-17 12:31 ` Lars Ingebrigtsen 2022-10-17 12:53 ` Arash Esbati 2022-10-17 12:59 ` German Pacenza 2024-08-28 2:04 ` Phil Sainty 2024-09-06 8:44 ` Andrea Corallo 2024-09-14 7:50 ` Eli Zaretskii 2024-09-14 12:13 ` Phil Sainty 2024-09-28 8:53 ` Eli Zaretskii 2024-10-12 11:21 ` Eli Zaretskii 2024-10-13 21:20 ` Andrea Corallo 2024-10-13 22:12 ` Andrea Corallo 2024-10-15 13:01 ` Phil Sainty 2024-10-15 19:20 ` Andrea Corallo 2024-10-15 19:56 ` Phil Sainty 2024-10-15 20:27 ` Andrea Corallo
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/emacs.git https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.