Package: emacs;
Reported by: Rahul Martim Juliato <rahuljuliato <at> gmail.com>
Date: Wed, 26 Feb 2025 13:57:02 UTC
Severity: normal
Found in version 30.1
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Message #20 received at 76586 <at> debbugs.gnu.org (full text, mbox):
From: Ship Mints <shipmints <at> gmail.com> To: Rahul Juliato <rahuljuliato <at> gmail.com> Cc: 76586 <at> debbugs.gnu.org Subject: Re: bug#76586: 30.1; Question regarding eln-cache Date: Wed, 26 Feb 2025 09:31:44 -0500
[Message part 1 (text/plain, inline)]
One more detail, the internal variable comp-abi-hash, which from which comp-native-version-dir is derived, should be unique even with the same Emacs source code compiled across architectures so I don't think you need to differentiate by architecture either. I do it for my own preferences, as it's easier to clear out the ones I want to clear by eye, vs running /usr/bin/file on the files to see which are which. On Wed, Feb 26, 2025 at 9:23 AM Ship Mints <shipmints <at> gmail.com> wrote: > If you don't use no-littering, or don't otherwise have a place to keep > your transient Emacs files, remove the "var" from the suggested path. > > In early-init.el: > > ;; with a var transient dir > (startup-redirect-eln-cache > (expand-file-name (concat (file-name-as-directory "eln-cache") > (car (split-string system-configuration "-"))) > (expand-file-name "var" user-emacs-directory))) > ;; without > (startup-redirect-eln-cache > (expand-file-name (concat (file-name-as-directory "eln-cache") > (car (split-string system-configuration "-"))) > user-emacs-directory)) > > On Wed, Feb 26, 2025 at 9:19 AM Ship Mints <shipmints <at> gmail.com> wrote: > >> If you want to share the identical .emacs tree across architectures, the >> solution I suggested will work fine. Try it and see. >> >> On Wed, Feb 26, 2025 at 9:16 AM Rahul Juliato <rahuljuliato <at> gmail.com> >> wrote: >> >>> I totally forgot to see this later. Thanks for pointing it Ship Mints, >>> my bad! >>> >>> I am curious if I could simply drop any `eln-cache` hacks from my user >>> config and rely solely on the new internals >>> (in my case: ~/emacs/.emacs.d/eln-cache/30.1-a9997e26). >>> >>> >>> Em qua., 26 de fev. de 2025 às 11:08, Ship Mints <shipmints <at> gmail.com> >>> escreveu: >>> >>>> It should be sufficient to differentiate by architecture, not by host. >>>> 'comp-native-version-dir' is used internally by Emacs and I don't think you >>>> need to reference it. >>>> >>>> I think you asked this on reddit and seemed satisfied with this >>>> response >>>> https://www.reddit.com/r/emacs/comments/1hgjra6/comment/m3i486t/ which >>>> seems to suffice for your use case. >>>> >>>> -Stephane >>>> >>>> On Wed, Feb 26, 2025 at 8:57 AM Rahul Martim Juliato < >>>> rahuljuliato <at> gmail.com> wrote: >>>> >>>>> >>>>> This is not a bug, more of a question. >>>>> >>>>> I noticed the addition of `comp-native-version-dir' and found it nice >>>>> to be there. >>>>> >>>>> I currently have a workflow where I use the same (but not at the same >>>>> time) emacs config from a network folder for both macos (arm >>>>> architecture) and debian (x64). >>>>> >>>>> In my config I manually set the name of the folders `eln-cache` to be >>>>> something like `eln-cache-machine1` and `eln-cache-machine2`. >>>>> >>>>> Since 30.1 became released, the `comp-native-version-dir' is added to >>>>> organize the subfolder. >>>>> >>>>> Does it create this magic number taking in consideration also the >>>>> machine architecture? If not, could we make >>>>> distinctions between architectures when creating the sub-folders? >>>>> >>>>> If I use the same pre-compiled binaries, will this number be the same >>>>> on >>>>> both machines? >>>>> >>>>> I tried to collect some of this info on #emacs <at> Libera.Chat, confusion >>>>> was everywhere, we couldn't conclude anything. Could Emacs maintainers >>>>> provide us with a little bit more info or where to find it? >>>>> >>>>> Thanks! >>>>> >>>>> >>>>> >>>>> >>>>> In GNU Emacs 30.1 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.38, >>>>> cairo version 1.16.0) of 2025-02-24 built on debian >>>>> System Description: Debian GNU/Linux 12 (bookworm) >>>>> >>>>> Configured using: >>>>> 'configure --with-native-compilation=aot --with-tree-sitter --with-gif >>>>> --with-png --with-jpeg --with-rsvg --with-tiff --with-imagemagick >>>>> --with-pgtk --with-mailutils' >>>>> >>>>> Configured features: >>>>> ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ >>>>> IMAGEMAGICK JPEG LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 MODULES >>>>> NATIVE_COMP NOTIFY INOTIFY PDUMPER PGTK PNG RSVG SECCOMP SOUND SQLITE3 >>>>> THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XIM GTK3 ZLIB >>>>> >>>>> Important settings: >>>>> value of $LANG: en_US.UTF-8 >>>>> locale-coding-system: utf-8-unix >>>>> >>>>> Major mode: Dashboard >>>>> >>>>> Minor modes in effect: >>>>> emms-mode-line-mode: t >>>>> emms-playing-time-display-mode: t >>>>> emms-playing-time-mode: t >>>>> diff-hl-margin-mode: t >>>>> diff-hl-flydiff-mode: t >>>>> global-diff-hl-mode: t >>>>> treemacs-project-follow-mode: t >>>>> treemacs-filewatch-mode: t >>>>> treemacs-follow-mode: t >>>>> treemacs-git-mode: t >>>>> treemacs-fringe-indicator-mode: t >>>>> recentf-mode: t >>>>> which-key-mode: t >>>>> global-treesit-auto-mode: t >>>>> vertico-mode: t >>>>> global-evil-collection-unimpaired-mode: t >>>>> evil-collection-unimpaired-mode: t >>>>> global-evil-matchit-mode: t >>>>> evil-matchit-mode: t >>>>> global-evil-surround-mode: t >>>>> evil-surround-mode: t >>>>> evil-mode: t >>>>> evil-local-mode: t >>>>> pulsar-global-mode: t >>>>> pulsar-mode: t >>>>> global-undo-tree-mode: t >>>>> undo-tree-mode: t >>>>> async-bytecomp-package-mode: t >>>>> persp-mode-project-bridge-mode: t >>>>> persp-mode: t >>>>> global-ligature-mode: t >>>>> ligature-mode: t >>>>> nerd-icons-completion-mode: t >>>>> marginalia-mode: t >>>>> corfu-popupinfo-mode: t >>>>> global-corfu-mode: t >>>>> corfu-mode: t >>>>> override-global-mode: t >>>>> xterm-mouse-mode: t >>>>> winner-mode: t >>>>> savehist-mode: t >>>>> save-place-mode: t >>>>> pixel-scroll-precision-mode: t >>>>> global-auto-revert-mode: t >>>>> delete-selection-mode: t >>>>> global-eldoc-mode: t >>>>> show-paren-mode: t >>>>> electric-indent-mode: t >>>>> mouse-wheel-mode: t >>>>> file-name-shadow-mode: t >>>>> global-font-lock-mode: t >>>>> font-lock-mode: t >>>>> minibuffer-regexp-mode: t >>>>> buffer-read-only: t >>>>> column-number-mode: t >>>>> line-number-mode: t >>>>> transient-mark-mode: t >>>>> auto-composition-mode: t >>>>> auto-encryption-mode: t >>>>> auto-compression-mode: t >>>>> >>>>> Load-path shadows: >>>>> /home/rmj/.emacs.d/elpa/transient-20250222.1912/transient hides >>>>> /usr/local/share/emacs/30.1/lisp/transient >>>>> /home/rmj/.emacs.d/elpa/modus-themes-20250220.647/theme-loaddefs hides >>>>> /usr/local/share/emacs/30.1/lisp/theme-loaddefs >>>>> >>>>> Features: >>>>> (shadow mail-extr emacsbug help-fns radix-tree evil-collection-emms >>>>> emms-idapi-browser emms-idapi emms-idapi-musicbrainz emms-mpris dbus >>>>> emms-librefm-stream xml emms-librefm-scrobbler emms-playlist-limit >>>>> emms-i18n emms-history emms-score emms-stream-info >>>>> emms-metaplaylist-mode emms-bookmarks emms-cue emms-mode-line-icon >>>>> emms-browser sort emms-volume emms-volume-sndioctl emms-volume-mixerctl >>>>> emms-volume-pulse emms-volume-amixer emms-playlist-sort >>>>> emms-last-played >>>>> emms-player-xine emms-player-mpd tq emms-lyrics emms-url emms-streams >>>>> emms-show-all emms-tag-editor format-spec emms-tag-tracktag emms-mark >>>>> emms-mode-line emms-cache emms-info-native emms-info-native-spc >>>>> emms-info-native-mp3 emms-info-native-ogg emms-info-native-opus >>>>> emms-info-native-flac emms-info-native-vorbis bindat emms-info-exiftool >>>>> emms-info-tinytag emms-info-metaflac emms-info-opusinfo >>>>> emms-info-ogginfo emms-info-mp3info emms-playlist-mode emms-player-vlc >>>>> emms-player-mpv emms-playing-time emms-info emms-later-do >>>>> emms-player-mplayer emms-player-simple emms-source-playlist >>>>> emms-source-file locate emms-setup emms emms-compat >>>>> evil-collection-wgrep wgrep evil-collection-diff-hl diff-hl-margin >>>>> diff-hl-dired diff-hl-flydiff diff-hl evil-collection-log-view log-view >>>>> evil-collection-vc-dir vc-dir ewoc evil-collection-log-edit log-edit >>>>> message sendmail yank-media puny evil-collection-dired nerd-icons-dired >>>>> dired dired-loaddefs rfc822 mml mml-sec evil-collection-epa epa derived >>>>> epg rfc6068 epg-config gnus-util time-date mm-decode mm-bodies >>>>> mm-encode >>>>> mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr >>>>> mailabbrev mail-utils gmm-utils mailheader pcvs-util add-log vc >>>>> vc-dispatcher evil-collection-diff-mode diff-mode track-changes >>>>> orderless cursor-sensor treemacs-nerd-icons treemacs-evil >>>>> treemacs-project-follow-mode treemacs treemacs-header-line >>>>> treemacs-compatibility treemacs-mode treemacs-interface >>>>> treemacs-persistence treemacs-filewatch-mode treemacs-follow-mode >>>>> treemacs-rendering treemacs-annotations treemacs-async >>>>> treemacs-workspaces treemacs-dom treemacs-visuals >>>>> treemacs-fringe-indicator treemacs-faces treemacs-icons treemacs-scope >>>>> treemacs-themes treemacs-core-utils pfuture inline hl-line ht >>>>> treemacs-logging treemacs-customization treemacs-macros s dash >>>>> evil-collection-dashboard dashboard dashboard-widgets mule-util ffap >>>>> private recentf tree-widget evil-collection-which-key which-key >>>>> treesit-auto treesit evil-collection-vertico vertico >>>>> evil-collection-unimpaired evil-collection-tabulated-list >>>>> evil-collection-tab-bar evil-collection-so-long evil-collection-simple >>>>> evil-collection-replace evil-collection-process-menu >>>>> evil-collection-package-menu evil-collection-minibuffer >>>>> evil-collection-kmacro evil-collection-info evil-collection-indent >>>>> evil-collection-ibuffer evil-collection-help evil-collection-grep >>>>> evil-collection-elisp-mode evil-collection-eldoc evil-collection-custom >>>>> evil-collection-corfu evil-collection-compile evil-collection-comint >>>>> evil-collection-buff-menu evil-matchit evil-matchit-evil-setup >>>>> evil-matchit-sdk semantic/lex semantic/fw mode-local find-func >>>>> evil-surround evil-collection annalist evil evil-integration evil-maps >>>>> evil-commands reveal evil-jumps evil-command-window evil-types >>>>> evil-search evil-ex evil-macros evil-repeat evil-states evil-core >>>>> evil-common thingatpt rect evil-vars edmacro kmacro pulsar pulse color >>>>> undo-tree diff queue async-bytecomp async persp-mode-project-bridge >>>>> persp-mode ligature lemacs-init nerd-icons-ibuffer >>>>> nerd-icons-completion >>>>> nerd-icons nerd-icons-faces nerd-icons-data nerd-icons-data-mdicon >>>>> nerd-icons-data-flicon nerd-icons-data-codicon nerd-icons-data-devicon >>>>> nerd-icons-data-sucicon nerd-icons-data-wicon nerd-icons-data-faicon >>>>> nerd-icons-data-powerline nerd-icons-data-octicon >>>>> nerd-icons-data-pomicon nerd-icons-data-ipsicon ibuffer-project project >>>>> ibuf-ext ibuffer ibuffer-loaddefs comp comp-cstr cl-extra help-mode >>>>> warnings comp-run comp-common rx flymake-eslint marginalia >>>>> corfu-popupinfo corfu cape compat server pinentry >>>>> modus-vivendi-tinted-theme modus-themes cus-edit pp wid-edit time >>>>> auth-source-pass bind-key xt-mouse winner savehist saveplace >>>>> pixel-scroll cua-base autorevert filenotify desktop frameset so-long >>>>> delsel grep compile text-property-search comint ansi-osc ansi-color >>>>> ring >>>>> cus-load 0x0-autoloads add-node-modules-path-autoloads >>>>> apheleia-autoloads easy-mmode breadcrumb-autoloads cape-autoloads >>>>> catppuccin-theme-autoloads colorful-mode-autoloads corfu-autoloads >>>>> dashboard-autoloads diff-hl-autoloads dired-subtree-autoloads >>>>> dired-hacks-utils-autoloads diredfl-autoloads docker-autoloads >>>>> dockerfile-mode-autoloads doom-modeline-autoloads dotenv-mode-autoloads >>>>> eat-autoloads eldoc-box-autoloads elfeed-tube-mpv-autoloads >>>>> elfeed-tube-autoloads aio-autoloads elfeed-autoloads ellama-autoloads >>>>> embark-consult-autoloads consult-autoloads embark-autoloads >>>>> emms-autoloads erc-hl-nicks-autoloads >>>>> eshell-syntax-highlighting-autoloads eshell-z-autoloads >>>>> evil-collection-autoloads annalist-autoloads evil-matchit-autoloads >>>>> evil-surround-autoloads exec-path-from-shell-autoloads >>>>> expand-region-autoloads flymake-eslint-autoloads forge-autoloads >>>>> closql-autoloads emacsql-autoloads geiser-guile-autoloads >>>>> geiser-autoloads gh-md-autoloads ghub-autoloads >>>>> git-timemachine-autoloads handlebars-mode-autoloads hl-todo-autoloads >>>>> ibuffer-project-autoloads indent-guide-autoloads js-pkg-mode-autoloads >>>>> khalel-autoloads kkp-autoloads ligature-autoloads llm-autoloads >>>>> lsp-tailwindcss-autoloads lsp-mode-autoloads magit-stats-autoloads >>>>> marginalia-autoloads markdown-mode-autoloads modus-themes-autoloads >>>>> mpv-autoloads nerd-icons-completion-autoloads >>>>> nerd-icons-corfu-autoloads >>>>> nerd-icons-dired-autoloads nerd-icons-ibuffer-autoloads >>>>> olivetti-autoloads orderless-autoloads org-modern-autoloads >>>>> org-ros-autoloads package-lint-autoloads >>>>> persp-mode-project-bridge-autoloads persp-mode-autoloads >>>>> pinentry-autoloads plz-event-source-autoloads plz-media-type-autoloads >>>>> plz-autoloads polymode-autoloads proced-narrow-autoloads >>>>> pulsar-autoloads pyvenv-autoloads rainbow-delimiters-autoloads >>>>> ready-player-autoloads sass-mode-autoloads haml-mode-autoloads >>>>> scss-mode-autoloads shrink-path-autoloads f-autoloads sly-autoloads >>>>> smartparens-autoloads spinner-autoloads sudo-edit-autoloads >>>>> tablist-autoloads tempel-collection-autoloads tempel-autoloads >>>>> transmission-autoloads transpose-frame-autoloads >>>>> treemacs-evil-autoloads >>>>> evil-autoloads goto-chg-autoloads treemacs-icons-dired-autoloads >>>>> treemacs-magit-autoloads magit-autoloads pcase transient-autoloads >>>>> magit-section-autoloads llama-autoloads treemacs-nerd-icons-autoloads >>>>> treemacs-autoloads cfrs-autoloads posframe-autoloads ht-autoloads >>>>> hydra-autoloads lv-autoloads pfuture-autoloads ace-window-autoloads >>>>> avy-autoloads s-autoloads dash-autoloads nerd-icons-autoloads >>>>> treepy-autoloads treesit-auto-autoloads typescript-mode-autoloads >>>>> undo-tree-autoloads queue-autoloads vc-msg-autoloads popup-autoloads >>>>> vdirel-autoloads helm-autoloads helm-core-autoloads async-autoloads >>>>> org-vcard-autoloads verb-autoloads vertico-autoloads web-mode-autoloads >>>>> wfnames-autoloads wgrep-autoloads info with-editor-autoloads >>>>> xclip-autoloads xterm-color-autoloads yaml-autoloads >>>>> yaml-mode-autoloads >>>>> yeetube-autoloads package browse-url url url-proxy url-privacy >>>>> url-expand url-methods url-history url-cookie generate-lisp-file >>>>> url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq >>>>> eieio eieio-core cl-macs icons password-cache json subr-x map byte-opt >>>>> gv bytecomp byte-compile url-vars cl-loaddefs cl-lib early-init rmc >>>>> iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook >>>>> vc-hooks lisp-float-type elisp-mode mwheel term/pgtk-win pgtk-win >>>>> term/common-win touch-screen 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 >>>>> theme-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 move-toolbar make-network-process native-compile emacs) >>>>> >>>>> Memory information: >>>>> ((conses 16 748467 190575) (symbols 48 29921 19) >>>>> (strings 32 214960 6008) (string-bytes 1 8549689) (vectors 16 52457) >>>>> (vector-slots 8 1316547 238197) (floats 8 1275 55) >>>>> (intervals 56 4166 738) (buffers 992 14)) >>>>> >>>>> >>>>> >>>>>
[Message part 2 (text/html, inline)]
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.