- Package:
- emacs-bin-common
- Source:
- emacs-bin-common
- Description:
- GNU Emacs editor's shared, architecture dependent files
- Submitter:
- Dan Jacobson
- Date:
- 2023-08-03 10:39:05 UTC
- Severity:
- normal
These are piling up on user's disks, $ du -sh .emacs.d/eln-cache/* 4.0K .emacs.d/eln-cache/28.2-43f520ab 19M .emacs.d/eln-cache/28.2-467432cd 4.0K .emacs.d/eln-cache/28.2-7a6329ed 23M .emacs.d/eln-cache/28.2-8ab3e389 31M .emacs.d/eln-cache/28.2-e4556eb6 26M .emacs.d/eln-cache/28.2-fd960886 with no cleaning happening. https://gitlab.alpinelinux.org/alpine/aports/-/issues/13684 mentions it might be some flag left on during compiling.
Hello, Upstreams intent is to leave it to users to clean them up, e.g. with M-x native-compile-prune-cache. It would be nice to do better than that, but the discussion should probably happen upstream.
All I know is based on https://emacs.stackexchange.com/questions/71825/how-often-should-emacs-28-1-native-compile-basic-emacs-files and https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1041767 I am not even sure that these files piling up in individual Debian users' $HOME/.emacs.d/eln-cache/28.2-* and never getting deleted should be piling up there in the first place. As far as "native-compile-prune-cache", that is not something regular users know how to find or use. Anyway, this is like some big oil spill.
tags 64829 notabug wontfix close 64829 thanks Noted. We provide means to clean up the cache, but those means are disregarded with some vague hand-waving. Closing.
Dear Maintainer, the rapid piling up of files in .emacs.d/eln-cache/ is a serious problem for those whose everyday workflow is based on Emacs, especially on slow machines and in environments with synchronisation processes. Would it at least be possible to provide an alternative package without `--with-native-compilation`? An editor is not limited to programming tasks, I'm generating all kind of documents with Emacs.
Hello, We don't want to try to support both at present.
I notice the Debian's emacs comes with e.g.,
/usr/lib/emacs/28.2/native-lisp/28.2-66fa0d00/preloaded/elisp-mode-90dbfe40-c7c8
already installed, So no extra version needs to be made (involuntarily,
with no way to turn off apparently, by the user.)
So the answer is: Debian should come with all the .eln files, not just
some of them.
Or they could be split into a second optional debian package.
Then there wouldn't be the one useful version, and also left over
versions, for each file, left on the users' disks:
# find .emacs.d/eln-cache/*/url-his* |xargs ls -ogt
-rwxr-xr-x 1 39464 08-03 02:05 .emacs.d/eln-cache/28.2-66fa0d00/url-history-a9b2f6e8-bfe8d526.eln
-rwxr-xr-x 1 39472 05-27 08:02 .emacs.d/eln-cache/28.2-e4556eb6/url-history-a9b2f6e8-bfe8d526.eln
-rwxr-xr-x 1 39464 2022-11-29 .emacs.d/eln-cache/28.2-467432cd/url-history-a9b2f6e8-bfe8d526.eln
-rwxr-xr-x 1 39464 2022-11-23 .emacs.d/eln-cache/28.2-fd960886/url-history-a9b2f6e8-bfe8d526.eln
-rwxr-xr-x 1 39464 2022-10-17 .emacs.d/eln-cache/28.2-8ab3e389/url-history-a9b2f6e8-bfe8d526.eln
Also users needn't wonder why their computer's fan is running,
and look and find
$ top
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2736 jidanni 20 0 445720 337488 61184 R 100.0 2.1 0:21.62 emacs
that's it's emacs to blame...
$ pstree -alu
| `-emacs,2418
| |-aspell,2624 -a -m -d en_US --encoding=utf-8
| |-emacs,2813 -no-comp-spawn --batch -l /tmp/emacs-async-comp-nnmh.el-nuDBgd.el
| |-{emacs},2419
| |-{emacs},2420
| |-{emacs},2421
| `-{emacs},2422
M-x list-processes
Compiling: /usr/share/emacs/28.2/lisp/gnus/gnus-sum.el.gz 2685 run *Async-native-compile-log* /dev/pts/1 Main /usr/bin/emacs -no-comp-spawn --batch -l /tmp/emacs-async-comp-gnus-sum.el-S4iRQb.el
ispell 2624 run -- -- Main aspell -a -m -d en_US --encoding=utf-8
server -- listen -- -- Main (network server on /run/user/1000/emacs/server)
OK, I put this in my (29.1) .emacs file (require 'comp) (native-compile-prune-cache)
Hello, We want to do this someday. For various reasons, it's not easy.