#1041767 Subject: eln-cache piling up

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
#1041767#3
Date:
2023-07-23 10:39:51 UTC
From:
To:
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.

#1041767#8
Date:
2023-07-23 14:34:15 UTC
From:
To:
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.

#1041767#13
Date:
2023-07-24 10:16:04 UTC
From:
To:
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.

#1041767#18
Date:
2023-07-24 12:29:16 UTC
From:
To:
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.

#1041767#23
Date:
2023-07-27 09:15:43 UTC
From:
To:
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.

#1041767#28
Date:
2023-07-28 18:03:17 UTC
From:
To:
Hello,

We don't want to try to support both at present.

#1041767#33
Date:
2023-08-03 07:31:38 UTC
From:
To:
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)

#1041767#38
Date:
2023-08-03 08:09:21 UTC
From:
To:
OK, I put this in my (29.1) .emacs file
(require 'comp)
(native-compile-prune-cache)

#1041767#43
Date:
2023-08-03 10:35:00 UTC
From:
To:
Hello,

We want to do this someday.  For various reasons, it's not easy.