[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#67260] [PATCH v6 1/7] gnu: emacs: Wrap EMACSNATIVELOADPATH.
From: |
Suhail |
Subject: |
[bug#67260] [PATCH v6 1/7] gnu: emacs: Wrap EMACSNATIVELOADPATH. |
Date: |
Sun, 28 Jan 2024 00:13:21 +0000 |
Liliana Marie Prikler <liliana.prikler@gmail.com> writes:
>> > 2. failure to load natively-compiled version of some builtin
>> > libraries like uniquify due to incorrect naming of .eln files
>>
>> This issue remains as of v7 of the patch series.
> I fixed this one locally,
I can confirm that the .eln filenames are no longer truncated (as far as
I can tell).
> but ‘uniquify’ remains byte-compiled for no explainable reason.
And too that as of v8 patch, uniquify still isn't natively-compiled.
However, if you unload it and then reload it, it becomes
natively-compiled.
#+begin_src bash
emacs --batch --eval "(message \"%s\" (progn (unload-feature 'uniquify)
(require 'uniquify) (take 1 (split-string (substring-no-properties
(describe-function 'uniquify-item-p)) \"\\n\" t))))"
#+end_src
#+RESULTS:
: Type q in help window to delete it
: (uniquify-item-p is a native-compiled Lisp function in `uniquify.el'.)
I think the issue is because uniquify (along with some others such as
prog-mode, backquote etc that I tested) are preloaded in Emacs. I
believe that these preloaded packages need to be treated specially. In
a non-Guix system, these preloaded packages have their .eln files stored
under something like
<native-comp-eln-load-path-entry>/29.x-<hash>/preloaded/ , whereas in
the v8 series there is no "preloaded" directory. Instead .eln files for
packages such as uniquify, prog-mode, backquote etc. are in various
locations:
- uniquify :: <n-c-e-l-p-entry>/29.2-<hash>/uniquify.eln
- prog-mode :: <n-c-e-l-p-entry>/29.2-<hash>/progmodes/prog-mode.eln
- backquote :: <n-c-e-l-p-entry>/29.2-<hash>/emacs-lisp/backquote.eln
I suspect that the code which does the preloading may need to be patched
and/or the preloaded packages may need to have their .eln files
generated under a preloaded sub-directory (similar to what happens in
non-Guix systems).
Below is a list of .eln files that exist in the preloaded sub-directory
in Emacs 29.1 on a non-Guix system. It's possible that the set of
preloaded packages on Emacs 29.2 is different. I suspect that all of
these packages are similarly affected.
#+begin_example
abbrev.eln
backquote.eln
bindings.eln
buff-menu.eln
burmese.eln
button.eln
byte-run.eln
case-table.eln
cconv.eln
cham.eln
characters.eln
chinese.eln
cl-generic.eln
cl-preloaded.eln
common-win.eln
composite.eln
cp51932.eln
cus-face.eln
cus-start.eln
custom.eln
cyrillic.eln
czech.eln
debug-early.eln
disp-table.eln
dnd.eln
dos-fns.eln
dos-vars.eln
dos-w32.eln
dynamic-setting.eln
easymenu.eln
ediff-hook.eln
eldoc.eln
electric.eln
elisp-mode.eln
english.eln
env.eln
epa-hook.eln
ethiopic.eln
eucjp-ms.eln
european.eln
faces.eln
files.eln
fill.eln
float-sup.eln
font-core.eln
font-lock.eln
fontset.eln
format.eln
frame.eln
fringe.eln
georgian.eln
greek.eln
haiku-win.eln
hebrew.eln
help.eln
image.eln
indent.eln
indian.eln
indonesian.eln
internal.eln
isearch.eln
iso-transl.eln
japanese.eln
jit-lock.eln
jka-cmpr-hook.eln
keymap.eln
khmer.eln
korean.eln
lao.eln
lisp.eln
lisp-mode.eln
ls-lisp.eln
macroexp.eln
map-ynp.eln
menu-bar.eln
minibuffer.eln
misc-lang.eln
mouse.eln
mule.eln
mule-cmds.eln
mule-conf.eln
mule-util.eln
mwheel.eln
nadvice.eln
newcomment.eln
ns-win.eln
obarray.eln
oclosure.eln
page.eln
paragraphs.eln
paren.eln
pc-win.eln
pgtk-dnd.eln
pgtk-win.eln
philippine.eln
prog-mode.eln
regexp-opt.eln
register.eln
replace.eln
rfn-eshadow.eln
rmc.eln
romanian.eln
scroll-bar.eln
select.eln
seq.eln
shorthands.eln
simple.eln
sinhala.eln
slovak.eln
startup.eln
subr.eln
syntax.eln
tab-bar.eln
tabulated-list.eln
tai-viet.eln
text-mode.eln
thai.eln
tibetan.eln
timer.eln
tool-bar.eln
tooltip.eln
tty-colors.eln
ucs-normalize.eln
uniquify.eln
utf-8-lang.eln
vc-hooks.eln
version.eln
vietnamese.eln
w32-fns.eln
w32-vars.eln
w32-win.eln
widget.eln
window.eln
x-dnd.eln
x-win.eln
#+end_example
--
Suhail
This email is not an offer capable of acceptance, does not evidence an
intention to enter into an agreement, has no operative effect until a
definitive agreement is signed in writing by both parties, and that no
party should act in reliance on the email or any representations of the
sender until a definitive agreement is signed in writing by both
parties.
- [bug#67260] [PATCH v6 1/7] gnu: emacs: Wrap EMACSNATIVELOADPATH., (continued)
- [bug#67260] [PATCH v6 1/7] gnu: emacs: Wrap EMACSNATIVELOADPATH., Liliana Marie Prikler, 2024/01/26
- [bug#67260] [PATCH v6 1/7] gnu: emacs: Wrap EMACSNATIVELOADPATH., Suhail, 2024/01/26
- [bug#67260] [PATCH v6 1/7] gnu: emacs: Wrap EMACSNATIVELOADPATH., Liliana Marie Prikler, 2024/01/27
- [bug#67260] [PATCH v6 1/7] gnu: emacs: Wrap EMACSNATIVELOADPATH., Suhail, 2024/01/27
- [bug#67260] [PATCH v6 1/7] gnu: emacs: Wrap EMACSNATIVELOADPATH., Suhail, 2024/01/27
- [bug#67260] [PATCH v6 1/7] gnu: emacs: Wrap EMACSNATIVELOADPATH., Liliana Marie Prikler, 2024/01/27
- [bug#67260] [PATCH v6 1/7] gnu: emacs: Wrap EMACSNATIVELOADPATH., Suhail, 2024/01/27
- [bug#67260] [PATCH v6 1/7] gnu: emacs: Wrap EMACSNATIVELOADPATH., Liliana Marie Prikler, 2024/01/27
- [bug#67260] [PATCH v6 1/7] gnu: emacs: Wrap EMACSNATIVELOADPATH., Suhail, 2024/01/27
- [bug#67260] [PATCH v6 1/7] gnu: emacs: Wrap EMACSNATIVELOADPATH., Liliana Marie Prikler, 2024/01/27
- [bug#67260] [PATCH v6 1/7] gnu: emacs: Wrap EMACSNATIVELOADPATH.,
Suhail <=
- [bug#67260] [PATCH v6 1/7] gnu: emacs: Wrap EMACSNATIVELOADPATH., Suhail, 2024/01/27
- [bug#67260] [PATCH v6 1/7] gnu: emacs: Wrap EMACSNATIVELOADPATH., Liliana Marie Prikler, 2024/01/28
- [bug#67260] [PATCH v6 1/7] gnu: emacs: Wrap EMACSNATIVELOADPATH., Suhail, 2024/01/28
- [bug#67260] [PATCH v6 1/7] gnu: emacs: Wrap EMACSNATIVELOADPATH., Liliana Marie Prikler, 2024/01/28