GNU bug report logs - #65023
29.1.50; Tramp 2.6.1.1 cannot be installed as ELPA package

Previous Next

Package: emacs;

Reported by: Michael Albinus <michael.albinus <at> gmx.de>

Date: Wed, 2 Aug 2023 14:18:01 UTC

Severity: normal

Found in version 29.1.50

Done: Jim Porter <jporterbugs <at> gmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 65023 in the body.
You can then email your comments to 65023 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to monnier <at> iro.umontreal.ca, bug-gnu-emacs <at> gnu.org:
bug#65023; Package emacs. (Wed, 02 Aug 2023 14:18:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Michael Albinus <michael.albinus <at> gmx.de>:
New bug report received and forwarded. Copy sent to monnier <at> iro.umontreal.ca, bug-gnu-emacs <at> gnu.org. (Wed, 02 Aug 2023 14:18:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Michael Albinus <michael.albinus <at> gmx.de>
To: bug-gnu-emacs <at> gnu.org
Subject: 29.1.50; Tramp 2.6.1.1 cannot be installed as ELPA package
Date: Wed, 02 Aug 2023 16:16:34 +0200
[Message part 1 (text/plain, inline)]
With Emacs 29.1, ELPA package Tramp 2.6.1.1 cannot be installed. See the
*Compile-Log* buffer appended. It looks like the problem is due to
changes in generation of autoloads.

Since I'm not familiar with the changes, I don't know how to fix
this. Note, that the same package installs w/o problems in Emacs 28.


In GNU Emacs 29.1.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
 3.24.38, cairo version 1.17.8) of 2023-07-31 built on gandalf
Repository revision: 525d05c1b8ac54a4f7ad166b97f2fa913f80e73c
Repository branch: emacs-29
Windowing system distributor 'The X.Org Foundation', version 11.0.12201009
System Description: Fedora Linux 38 (Workstation Edition)

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
LIBOTF LIBSELINUX LIBXML2 M17N_FLT MODULES NOTIFY INOTIFY PDUMPER PNG
RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER
X11 XDBE XIM XINPUT2 XPM GTK3 ZLIB

Important settings:
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8

Major mode: Group

Minor modes in effect:
  gnus-undo-mode: t
  shell-dirtrack-mode: t
  display-time-mode: t
  delete-selection-mode: t
  icomplete-mode: t
  global-goto-address-mode: t
  goto-address-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  buffer-read-only: t
  column-number-mode: 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/albinus/src/elpa/packages/debbugs/debbugs hides /home/albinus/.emacs.d/elpa/debbugs-0.36/debbugs
/home/albinus/src/elpa/packages/debbugs/debbugs-org hides /home/albinus/.emacs.d/elpa/debbugs-0.36/debbugs-org
/home/albinus/src/elpa/packages/debbugs/debbugs-gnu hides /home/albinus/.emacs.d/elpa/debbugs-0.36/debbugs-gnu
/home/albinus/src/elpa/packages/debbugs/debbugs-guix hides /home/albinus/.emacs.d/elpa/debbugs-0.36/debbugs-guix
/home/albinus/src/elpa/packages/debbugs/debbugs-browse hides /home/albinus/.emacs.d/elpa/debbugs-0.36/debbugs-browse
/home/albinus/src/elpa/packages/debbugs/debbugs-pkg hides /home/albinus/.emacs.d/elpa/debbugs-0.36/debbugs-pkg
/home/albinus/src/elpa/packages/debbugs/debbugs-autoloads hides /home/albinus/.emacs.d/elpa/debbugs-0.36/debbugs-autoloads
/home/albinus/src/elpa/packages/debbugs/debbugs-compat hides /home/albinus/.emacs.d/elpa/debbugs-0.36/debbugs-compat
~/lisp/telepathy hides /home/albinus/.emacs.d/elpa/telepathy-20131209.1258/telepathy
/home/albinus/src/elpa/packages/tramp-theme/tramp-theme-autoloads hides /home/albinus/.emacs.d/elpa/tramp-theme-0.2/tramp-theme-autoloads
/home/albinus/src/elpa/packages/tramp-theme/tramp-theme hides /home/albinus/.emacs.d/elpa/tramp-theme-0.2/tramp-theme
/home/albinus/src/elpa/packages/tramp-theme/tramp-theme-pkg hides /home/albinus/.emacs.d/elpa/tramp-theme-0.2/tramp-theme-pkg
/home/albinus/.emacs.d/elpa/hydra-0.15.0/lv hides /home/albinus/.emacs.d/elpa/lv-0.15.0/lv
/home/albinus/.emacs.d/elpa/tramp-2.6.1.1/tramp-sh hides /usr/local/share/emacs/site-lisp/tramp-sh
/home/albinus/.emacs.d/elpa/tramp-2.6.1.1/tramp-cmds hides /usr/local/share/emacs/site-lisp/tramp-cmds
/home/albinus/.emacs.d/elpa/tramp-2.6.1.1/tramp-gvfs hides /usr/local/share/emacs/site-lisp/tramp-gvfs
/home/albinus/.emacs.d/elpa/tramp-2.6.1.1/tramp-ftp hides /usr/local/share/emacs/site-lisp/tramp-ftp
/home/albinus/.emacs.d/elpa/tramp-2.6.1.1/tramp-crypt hides /usr/local/share/emacs/site-lisp/tramp-crypt
/home/albinus/.emacs.d/elpa/tramp-2.6.1.1/tramp-adb hides /usr/local/share/emacs/site-lisp/tramp-adb
/home/albinus/.emacs.d/elpa/tramp-2.6.1.1/tramp hides /usr/local/share/emacs/site-lisp/tramp
/home/albinus/.emacs.d/elpa/tramp-2.6.1.1/tramp-cache hides /usr/local/share/emacs/site-lisp/tramp-cache
/home/albinus/.emacs.d/elpa/tramp-2.6.1.1/tramp-rclone hides /usr/local/share/emacs/site-lisp/tramp-rclone
/home/albinus/.emacs.d/elpa/tramp-2.6.1.1/tramp-compat hides /usr/local/share/emacs/site-lisp/tramp-compat
/home/albinus/.emacs.d/elpa/tramp-2.6.1.1/tramp-integration hides /usr/local/share/emacs/site-lisp/tramp-integration
/home/albinus/.emacs.d/elpa/tramp-2.6.1.1/tramp-archive hides /usr/local/share/emacs/site-lisp/tramp-archive
/home/albinus/.emacs.d/elpa/tramp-2.6.1.1/tramp-sudoedit hides /usr/local/share/emacs/site-lisp/tramp-sudoedit
/home/albinus/.emacs.d/elpa/tramp-2.6.1.1/tramp-loaddefs hides /usr/local/share/emacs/site-lisp/tramp-loaddefs
/home/albinus/.emacs.d/elpa/tramp-2.6.1.1/tramp-uu hides /usr/local/share/emacs/site-lisp/tramp-uu
/home/albinus/.emacs.d/elpa/tramp-2.6.1.1/tramp-smb hides /usr/local/share/emacs/site-lisp/tramp-smb
/home/albinus/.emacs.d/elpa/tramp-2.6.1.1/trampver hides /usr/local/share/emacs/site-lisp/trampver
/home/albinus/.emacs.d/elpa/transient-20230602.2121/transient hides /home/albinus/src/emacs-29/lisp/transient
/home/albinus/.emacs.d/elpa/tramp-2.6.1.1/trampver hides /home/albinus/src/emacs-29/lisp/net/trampver
/home/albinus/.emacs.d/elpa/tramp-2.6.1.1/tramp-uu hides /home/albinus/src/emacs-29/lisp/net/tramp-uu
/home/albinus/.emacs.d/elpa/tramp-2.6.1.1/tramp-sudoedit hides /home/albinus/src/emacs-29/lisp/net/tramp-sudoedit
/home/albinus/.emacs.d/elpa/tramp-2.6.1.1/tramp-sshfs hides /home/albinus/src/emacs-29/lisp/net/tramp-sshfs
/home/albinus/.emacs.d/elpa/tramp-2.6.1.1/tramp-smb hides /home/albinus/src/emacs-29/lisp/net/tramp-smb
/home/albinus/.emacs.d/elpa/tramp-2.6.1.1/tramp-sh hides /home/albinus/src/emacs-29/lisp/net/tramp-sh
/home/albinus/.emacs.d/elpa/tramp-2.6.1.1/tramp-rclone hides /home/albinus/src/emacs-29/lisp/net/tramp-rclone
/home/albinus/.emacs.d/elpa/tramp-2.6.1.1/tramp-loaddefs hides /home/albinus/src/emacs-29/lisp/net/tramp-loaddefs
/home/albinus/.emacs.d/elpa/tramp-2.6.1.1/tramp-gvfs hides /home/albinus/src/emacs-29/lisp/net/tramp-gvfs
/home/albinus/.emacs.d/elpa/tramp-2.6.1.1/tramp-fuse hides /home/albinus/src/emacs-29/lisp/net/tramp-fuse
/home/albinus/.emacs.d/elpa/tramp-2.6.1.1/tramp-ftp hides /home/albinus/src/emacs-29/lisp/net/tramp-ftp
/home/albinus/.emacs.d/elpa/tramp-2.6.1.1/tramp hides /home/albinus/src/emacs-29/lisp/net/tramp
/home/albinus/.emacs.d/elpa/tramp-2.6.1.1/tramp-crypt hides /home/albinus/src/emacs-29/lisp/net/tramp-crypt
/home/albinus/.emacs.d/elpa/tramp-2.6.1.1/tramp-integration hides /home/albinus/src/emacs-29/lisp/net/tramp-integration
/home/albinus/.emacs.d/elpa/tramp-2.6.1.1/tramp-compat hides /home/albinus/src/emacs-29/lisp/net/tramp-compat
/home/albinus/.emacs.d/elpa/tramp-2.6.1.1/tramp-cmds hides /home/albinus/src/emacs-29/lisp/net/tramp-cmds
/home/albinus/.emacs.d/elpa/tramp-2.6.1.1/tramp-cache hides /home/albinus/src/emacs-29/lisp/net/tramp-cache
/home/albinus/.emacs.d/elpa/tramp-2.6.1.1/tramp-archive hides /home/albinus/src/emacs-29/lisp/net/tramp-archive
/home/albinus/.emacs.d/elpa/tramp-2.6.1.1/tramp-adb hides /home/albinus/src/emacs-29/lisp/net/tramp-adb
/home/albinus/.emacs.d/elpa/tramp-2.6.1.1/tramp-container hides /home/albinus/src/emacs-29/lisp/net/tramp-container
~/lisp/dbus hides /home/albinus/src/emacs-29/lisp/net/dbus

Features:
(shadow sort mail-extr emacsbug pop3 utf-7 nndraft nnmh nnml gnus-agent
gnus-srvr gnus-score score-mode nnvirtual gnus-msg gnus-art mm-uu
mml2015 mm-view mml-smime smime dig gnus-cache gnus-sum shr pixel-fill
kinsoku url-file svg dom nnnil smtpmail gnus-demon nntp gnus-group
gnus-undo gnus-start gnus-dbus dbus xml gnus-cloud nnimap nnmail
mail-source utf7 nnoo gnus-spec gnus-int gnus-range gnus-win gnus
nnheader range dired-aux warnings tramp-loaddefs trampver
tramp-integration files-x tramp-compat compile loaddefs-gen lisp-mnt
radix-tree tar-mode arc-mode archive-mode time-stamp cl misearch
multi-isearch mm-archive message sendmail yank-media rfc822 mml mml-sec
epa derived gnus-util text-property-search mailabbrev gmm-utils
mailheader mm-decode mm-bodies mm-encode mail-utils cl-extra help-mode
parse-time iso8601 time-date mule-util gnutls network-stream url-cache
url-http url-auth mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums
mail-prsvr url-gw nsm puny epg rfc6068 epg-config display-line-numbers
cus-start face-remap ob-shell shell pcomplete ob ob-tangle ol org-src
ob-ref ob-lob ob-table ob-exp ob-comint comint ansi-osc ansi-color ring
ob-core org-cycle org-fold org-fold-core ob-eval org-keys oc org-compat
org-version org-macs format-spec vc vc-dispatcher time delsel ido
jka-compr icomplete cus-edit pp cus-load icons wid-edit dired
dired-loaddefs goto-addr thingatpt alert-autoloads
android-mode-autoloads auth-source-gopass-autoloads
auth-source-keytar-autoloads auth-source-kwallet-autoloads
auth-source-xoauth2-autoloads auto-sudoedit-autoloads
auto-virtualenv-autoloads auto-virtualenvwrapper-autoloads
clang-format-autoloads company-shell-autoloads company-autoloads
counsel-toki-autoloads counsel-tramp-autoloads counsel-autoloads
dbus-codegen-autoloads debbugs-autoloads dired-du-autoloads
dired-rsync-autoloads direnv-autoloads disk-usage-autoloads
dockerfile-mode-autoloads ednc-autoloads el-get-autoloads
envrc-autoloads exec-path-from-shell-autoloads fontaine-autoloads
forge-autoloads closql-autoloads emacsql-autoloads
friendly-tramp-path-autoloads ggtags-autoloads ghub-autoloads
gited-autoloads gitlab-ci-mode-flycheck-autoloads
gitlab-ci-mode-autoloads flycheck-autoloads gntp-autoloads
gnus-desktop-notify-autoloads helm-gitlab-autoloads
helm-projectile-autoloads helm-autoloads helm-core-autoloads
async-autoloads ibuffer-tramp-autoloads inheritenv-autoloads
ivy-gitlab-autoloads gitlab-autoloads jarchive-autoloads
journalctl-mode-autoloads keepass-mode-autoloads keytar-autoloads
kubel-autoloads kubernetes-autoloads log4e-autoloads lsp-java-autoloads
dap-mode-autoloads lsp-docker-autoloads bui-autoloads
lsp-treemacs-autoloads lsp-mode-autoloads lxc-tramp-autoloads
lxd-tramp-autoloads magit-filenotify-autoloads magit-autoloads pcase
git-commit-autoloads magit-popup-autoloads magit-section-autoloads
marcopolo-autoloads nexus-autoloads nnir-est-autoloads oauth2-autoloads
ob-restclient-autoloads orderless-autoloads org-tree-slide-autoloads
pkg-info-autoloads epl-autoloads popup-autoloads projectile-autoloads
promise-autoloads pyenv-mode-autoloads pylint-autoloads
python-environment-autoloads deferred-autoloads pythonic-autoloads
f-autoloads pyvenv-autoloads recentf-remove-sudo-tramp-prefix-autoloads
relint-autoloads request-autoloads restclient-test-autoloads
restclient-autoloads s3ed-autoloads finder-inf slime-autoloads
macrostep-autoloads spinner-autoloads ssh-deploy-autoloads
swiper-autoloads ivy-autoloads sx-autoloads markdown-mode-autoloads
telepathy-autoloads rx tramp-theme-autoloads transient-dwim-autoloads
transient-autoloads treemacs-autoloads cfrs-autoloads posframe-autoloads
ht-autoloads pfuture-autoloads ace-window-autoloads avy-autoloads
treepy-autoloads urgrep-autoloads uuid-autoloads vdiff-autoloads
hydra-autoloads lv-autoloads vertico-autoloads virtualenv-autoloads
virtualenvwrapper-autoloads s-autoloads dash-autoloads
web-server-autoloads with-editor-autoloads info compat-autoloads
xr-autoloads yaml-autoloads yaml-mode-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 password-cache json subr-x
map byte-opt gv bytecomp byte-compile url-vars cl-loaddefs cl-lib rmc
iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook
vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win
term/common-win x-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 move-toolbar gtk x-toolkit xinput2 x multi-tty
make-network-process emacs)

Memory information:
((conses 16 2019915 135195)
 (symbols 48 29056 0)
 (strings 32 304136 39747)
 (string-bytes 1 10547954)
 (vectors 16 65556)
 (vector-slots 8 738406 46202)
 (floats 8 239 859)
 (intervals 56 190056 0)
 (buffers 984 28))

[Message part 2 (text/plain, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#65023; Package emacs. (Fri, 04 Aug 2023 16:41:02 GMT) Full text and rfc822 format available.

Message #8 received at 65023 <at> debbugs.gnu.org (full text, mbox):

From: Jim Porter <jporterbugs <at> gmail.com>
To: Michael Albinus <michael.albinus <at> gmx.de>, 65023 <at> debbugs.gnu.org
Cc: eliz <at> gnu.org, Stefan Monnier <monnier <at> iro.umontreal.ca>
Subject: Re: bug#65023: 29.1.50; Tramp 2.6.1.1 cannot be installed as ELPA
 package
Date: Fri, 4 Aug 2023 09:40:12 -0700
[Message part 1 (text/plain, inline)]
On 8/2/2023 7:16 AM, Michael Albinus wrote:
> With Emacs 29.1, ELPA package Tramp 2.6.1.1 cannot be installed. See the
> *Compile-Log* buffer appended. It looks like the problem is due to
> changes in generation of autoloads.
> 
> Since I'm not familiar with the changes, I don't know how to fix
> this. Note, that the same package installs w/o problems in Emacs 28.

(See also the tramp-devel discussion[1].)

Ok, I figured this out. The new loaddefs code was clobbering a regexp 
internally when doing some additional checks while scanning for autoload 
cookies in external package code. That resulted in some autoloads ending 
up in the wrong file. The fix is just to call 'save-match-data' at the 
right spot.

Eli, is this ok for 29.2? It's a small change, and I think is a fairly 
serious regression from 28.

[1] https://lists.gnu.org/archive/html/tramp-devel/2023-07/msg00009.html
[0001-Fix-loaddef-generation-with-foo-autoload-cookies-in-.patch (text/plain, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#65023; Package emacs. (Fri, 04 Aug 2023 17:53:02 GMT) Full text and rfc822 format available.

Message #11 received at 65023 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Jim Porter <jporterbugs <at> gmail.com>
Cc: 65023 <at> debbugs.gnu.org, michael.albinus <at> gmx.de, monnier <at> iro.umontreal.ca
Subject: Re: bug#65023: 29.1.50; Tramp 2.6.1.1 cannot be installed as ELPA
 package
Date: Fri, 04 Aug 2023 20:52:48 +0300
> Date: Fri, 4 Aug 2023 09:40:12 -0700
> Cc: Stefan Monnier <monnier <at> iro.umontreal.ca>, eliz <at> gnu.org
> From: Jim Porter <jporterbugs <at> gmail.com>
> 
> Ok, I figured this out. The new loaddefs code was clobbering a regexp 
> internally when doing some additional checks while scanning for autoload 
> cookies in external package code. That resulted in some autoloads ending 
> up in the wrong file. The fix is just to call 'save-match-data' at the 
> right spot.
> 
> Eli, is this ok for 29.2? It's a small change, and I think is a fairly 
> serious regression from 28.

Yes, thanks.




Reply sent to Jim Porter <jporterbugs <at> gmail.com>:
You have taken responsibility. (Fri, 04 Aug 2023 18:22:02 GMT) Full text and rfc822 format available.

Notification sent to Michael Albinus <michael.albinus <at> gmx.de>:
bug acknowledged by developer. (Fri, 04 Aug 2023 18:22:02 GMT) Full text and rfc822 format available.

Message #16 received at 65023-done <at> debbugs.gnu.org (full text, mbox):

From: Jim Porter <jporterbugs <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: michael.albinus <at> gmx.de, 65023-done <at> debbugs.gnu.org,
 monnier <at> iro.umontreal.ca
Subject: Re: bug#65023: 29.1.50; Tramp 2.6.1.1 cannot be installed as ELPA
 package
Date: Fri, 4 Aug 2023 11:20:59 -0700
On 8/4/2023 10:52 AM, Eli Zaretskii wrote:
>> Eli, is this ok for 29.2? It's a small change, and I think is a fairly
>> serious regression from 28.
> 
> Yes, thanks.

Thanks. Pushed to the release branch as 8574ef314c4, and closing this now.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#65023; Package emacs. (Sat, 05 Aug 2023 09:20:01 GMT) Full text and rfc822 format available.

Message #19 received at 65023 <at> debbugs.gnu.org (full text, mbox):

From: Michael Albinus <michael.albinus <at> gmx.de>
To: Jim Porter <jporterbugs <at> gmail.com>
Cc: Eli Zaretskii <eliz <at> gnu.org>, 65023 <at> debbugs.gnu.org,
 monnier <at> iro.umontreal.ca
Subject: Re: bug#65023: 29.1.50; Tramp 2.6.1.1 cannot be installed as ELPA
 package
Date: Sat, 05 Aug 2023 11:19:08 +0200
Jim Porter <jporterbugs <at> gmail.com> writes:

Hi Jim,

> Thanks. Pushed to the release branch as 8574ef314c4, and closing this now.

Thanks for fixing it, it works fine.

However, we still have the problem that all Emacs 29.1 users cannot
install recent Tramp ELPA packages. It would last until the release of
Emacs 29.2.

What could we do? Is it possible to release a small temporary ELPA
package which fixes the problem for Emacs 29.1, and Tramp pckages could
depend on?

Or is it possible to publish a use-package recipe for Tramp ELPA
packages?

Best regards, Michael.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#65023; Package emacs. (Sat, 05 Aug 2023 20:35:02 GMT) Full text and rfc822 format available.

Message #22 received at 65023 <at> debbugs.gnu.org (full text, mbox):

From: Jim Porter <jporterbugs <at> gmail.com>
To: Michael Albinus <michael.albinus <at> gmx.de>
Cc: Eli Zaretskii <eliz <at> gnu.org>, 65023 <at> debbugs.gnu.org,
 monnier <at> iro.umontreal.ca
Subject: Re: bug#65023: 29.1.50; Tramp 2.6.1.1 cannot be installed as ELPA
 package
Date: Sat, 5 Aug 2023 13:34:48 -0700
On 8/5/2023 2:19 AM, Michael Albinus wrote:
> What could we do? Is it possible to release a small temporary ELPA
> package which fixes the problem for Emacs 29.1, and Tramp pckages could
> depend on?
> 
> Or is it possible to publish a use-package recipe for Tramp ELPA
> packages?

I'm not sure if it's a good idea or not, but the following advice seems 
to fix things in Emacs 29.1 for me:

  (advice-add #'loaddefs-generate--parse-file :around
              (lambda (fn file main-outfile package-data)
                (funcall fn file main-outfile (or package-data t)))

This makes the 'package-data' argument never be nil, which avoids 
running the broken code. I'd be a little worried about publishing this 
without further testing, but hopefully it (or something like it) could 
be a solution until 29.2 is released...




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#65023; Package emacs. (Sun, 06 Aug 2023 08:58:01 GMT) Full text and rfc822 format available.

Message #25 received at 65023 <at> debbugs.gnu.org (full text, mbox):

From: Michael Albinus <michael.albinus <at> gmx.de>
To: Jim Porter <jporterbugs <at> gmail.com>
Cc: Eli Zaretskii <eliz <at> gnu.org>, 65023 <at> debbugs.gnu.org,
 monnier <at> iro.umontreal.ca
Subject: Re: bug#65023: 29.1.50; Tramp 2.6.1.1 cannot be installed as ELPA
 package
Date: Sun, 06 Aug 2023 10:57:20 +0200
Jim Porter <jporterbugs <at> gmail.com> writes:

Hi Jim,

> I'm not sure if it's a good idea or not, but the following advice
> seems to fix things in Emacs 29.1 for me:
>
>   (advice-add #'loaddefs-generate--parse-file :around
>               (lambda (fn file main-outfile package-data)
>                 (funcall fn file main-outfile (or package-data t)))
>
> This makes the 'package-data' argument never be nil, which avoids
> running the broken code. I'd be a little worried about publishing this
> without further testing, but hopefully it (or something like it) could
> be a solution until 29.2 is released...

I've tried to apply this change, but it doesn't work as expected yet. I
have performed the following steps:

- Uninstall ELPA Tramp package.

- Recompile Emacs 29.1, based on commit

--8<---------------cut here---------------start------------->8---
8cbd4a02a2b (HEAD) Delete comment saying that project.el is experimental
--8<---------------cut here---------------end--------------->8---

  This is the one before your patch.

- Start emacs -Q

- Evaluate in *scratch*

--8<---------------cut here---------------start------------->8---
(use-package tramp
  :preface
  (progn
    (advice-add
     #'loaddefs-generate--parse-file
     :around (lambda (fn file main-outfile package-data)
               (funcall fn file main-outfile (or package-data t))))
    (setq package-install-upgrade-built-in t)
    (package-install 'tramp 'don-select))
  :ensure t)
--8<---------------cut here---------------end--------------->8---

This results in *scratch*

--8<---------------cut here---------------start------------->8---
;;; tramp-autoloads.el --- automatically extracted autoloads (do not edit)   -*- lexical-binding: t -*-
;; Generated by the `loaddefs-generate' function.

;; This file is part of GNU Emacs.

;;; Code:

(provide 'tramp-autoloads)

;; Local Variables:
;; version-control: never
;; no-byte-compile: t
;; no-update-autoloads: t
;; no-native-compile: t
;; coding: utf-8-emacs-unix
;; End:

;;; tramp-autoloads.el ends here
;;; tramp-loaddefs.el --- automatically extracted autoloads (do not edit)   -*- lexical-binding: t -*-
;; Generated by the `loaddefs-generate' function.

;; This file is part of GNU Emacs.

;;; Code:

(provide 'tramp-loaddefs)

;; Local Variables:
;; version-control: never
;; no-byte-compile: t
;; no-update-autoloads: t
;; no-native-compile: t
;; coding: utf-8-emacs-unix
;; End:

;;; tramp-loaddefs.el ends here
--8<---------------cut here---------------end--------------->8---

These parts are missing in tramp-autoloads.el and tramp-loaddefs.el. And
indeed, there is the error

--8<---------------cut here---------------start------------->8---
Debugger entered--Lisp error: (error "Loading file /home/albinus/.emacs.d/elpa/tramp-2.6.1.1/tramp-loaddefs.el failed to provide feature ‘tramp-loaddefs’")
  require(tramp-loaddefs)
  eval-buffer(#<buffer  *load*> nil "/home/albinus/.emacs.d/elpa/tramp-2.6.1.1/tramp.el" nil t)  ; Reading at buffer position 3700
  load-with-code-conversion("/home/albinus/.emacs.d/elpa/tramp-2.6.1.1/tramp.el" "/home/albinus/.emacs.d/elpa/tramp-2.6.1.1/tramp.el" t t)
  require(tramp nil t)
  (not (require 'tramp nil t))
  (if (not (require 'tramp nil t)) (display-warning 'use-package (format "Cannot load %s" 'tramp) :error))
  (condition-case err (if (not (require 'tramp nil t)) (display-warning 'use-package (format "Cannot load %s" 'tramp) :error)) ((debug error) (funcall use-package--warning0 :catch err)))
  (progn (use-package-ensure-elpa 'tramp '(t) 'nil) '"Package ‘tramp’ installed." (defvar use-package--warning0 #'(lambda (keyword err) (let ((msg (format "%s/%s: %s" ... keyword ...))) (display-warning 'use-package msg :error)))) (condition-case err (if (not (require 'tramp nil t)) (display-warning 'use-package (format "Cannot load %s" 'tramp) :error)) ((debug error) (funcall use-package--warning0 :catch err))))
  (progn (progn (use-package-ensure-elpa 'tramp '(t) 'nil) '"Package ‘tramp’ installed." (defvar use-package--warning0 #'(lambda (keyword err) (let ((msg ...)) (display-warning 'use-package msg :error)))) (condition-case err (if (not (require 'tramp nil t)) (display-warning 'use-package (format "Cannot load %s" 'tramp) :error)) ((debug error) (funcall use-package--warning0 :catch err)))))
  eval((progn (progn (use-package-ensure-elpa 'tramp '(t) 'nil) '"Package ‘tramp’ installed." (defvar use-package--warning0 #'(lambda (keyword err) (let (...) (display-warning ... msg :error)))) (condition-case err (if (not (require 'tramp nil t)) (display-warning 'use-package (format "Cannot load %s" 'tramp) :error)) ((debug error) (funcall use-package--warning0 :catch err))))) t)
  elisp--eval-last-sexp(t)
  eval-last-sexp(t)
  eval-print-last-sexp(nil)
  funcall-interactively(eval-print-last-sexp nil)
  call-interactively(eval-print-last-sexp nil nil)
  command-execute(eval-print-last-sexp)
--8<---------------cut here---------------end--------------->8---




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#65023; Package emacs. (Mon, 07 Aug 2023 15:29:01 GMT) Full text and rfc822 format available.

Message #28 received at 65023 <at> debbugs.gnu.org (full text, mbox):

From: Michael Albinus <michael.albinus <at> gmx.de>
To: Jim Porter <jporterbugs <at> gmail.com>
Cc: Eli Zaretskii <eliz <at> gnu.org>, 65023 <at> debbugs.gnu.org,
 monnier <at> iro.umontreal.ca
Subject: Re: bug#65023: 29.1.50; Tramp 2.6.1.1 cannot be installed as ELPA
 package
Date: Mon, 07 Aug 2023 17:28:36 +0200
Michael Albinus <michael.albinus <at> gmx.de> writes:

Hi Jim,

>> This makes the 'package-data' argument never be nil, which avoids
>> running the broken code. I'd be a little worried about publishing this
>> without further testing, but hopefully it (or something like it) could
>> be a solution until 29.2 is released...
>
> I've tried to apply this change, but it doesn't work as expected yet.

Finally, I've decided to add the following to the Tramp README on ELPA:

--8<---------------cut here---------------start------------->8---
Mitigation of a bug in Emacs 29.1
*********************************

Due to a bug in Emacs 29.1, you must apply the following change prior
installation or upgrading Tramp 2.6.1.1a from GNU ELPA:

     (when (string-equal emacs-version "29.1")
       (with-current-buffer
           (url-retrieve-synchronously
            "https://git.savannah.gnu.org/cgit/emacs.git/plain/lisp/emacs-lisp/loaddefs-gen.el?h=emacs-29")
         (goto-char (point-min))
         (while (looking-at "^.+$") (forward-line))
         (eval-region (point) (point-max))))
--8<---------------cut here---------------end--------------->8---

In order to make it visible, I've released Tramp 2.6.1.1a.

Best regards, Michael.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#65023; Package emacs. (Tue, 08 Aug 2023 02:45:02 GMT) Full text and rfc822 format available.

Message #31 received at 65023 <at> debbugs.gnu.org (full text, mbox):

From: Jim Porter <jporterbugs <at> gmail.com>
To: Michael Albinus <michael.albinus <at> gmx.de>
Cc: Eli Zaretskii <eliz <at> gnu.org>, 65023 <at> debbugs.gnu.org,
 monnier <at> iro.umontreal.ca
Subject: Re: bug#65023: 29.1.50; Tramp 2.6.1.1 cannot be installed as ELPA
 package
Date: Mon, 7 Aug 2023 19:44:06 -0700
On 8/7/2023 8:28 AM, Michael Albinus wrote:
> Michael Albinus <michael.albinus <at> gmx.de> writes:
> 
> Hi Jim,
> 
>>> This makes the 'package-data' argument never be nil, which avoids
>>> running the broken code. I'd be a little worried about publishing this
>>> without further testing, but hopefully it (or something like it) could
>>> be a solution until 29.2 is released...
>>
>> I've tried to apply this change, but it doesn't work as expected yet.
> 
> Finally, I've decided to add the following to the Tramp README on ELPA:

Hmm, yeah, if my attempt didn't work reliably, this is probably the best 
solution for now (unless we want to spend a lot more time on this).

Maybe this is something that the "compat" patch should handle, or maybe 
there should even be a separate GNU ELPA package for Emacs hotfixes? I'm 
not sure if this would be too much extra maintenance burden though...





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#65023; Package emacs. (Tue, 08 Aug 2023 07:05:02 GMT) Full text and rfc822 format available.

Message #34 received at 65023 <at> debbugs.gnu.org (full text, mbox):

From: Michael Albinus <michael.albinus <at> gmx.de>
To: Jim Porter <jporterbugs <at> gmail.com>
Cc: Eli Zaretskii <eliz <at> gnu.org>, 65023 <at> debbugs.gnu.org,
 monnier <at> iro.umontreal.ca
Subject: Re: bug#65023: 29.1.50; Tramp 2.6.1.1 cannot be installed as ELPA
 package
Date: Tue, 08 Aug 2023 09:03:59 +0200
Jim Porter <jporterbugs <at> gmail.com> writes:

Hi Jim,

> Maybe this is something that the "compat" patch should handle, or
> maybe there should even be a separate GNU ELPA package for Emacs
> hotfixes? I'm not sure if this would be too much extra maintenance
> burden though...

Perhaps. But AFAIU, compat is based on major Emacs versions like "29". I
don't know whether they can provide also compat code for versions like "29.1".

A hotfix package could work. However, we aren't in that need yet. For
Tramp we have the instructions now, and there seems to be only org as
another ELPA package, which uses <pkg>-loaddefs.el. Don't know whether
they have problems installing the org package with Emacs 29.1.

Best regards, Michael.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#65023; Package emacs. (Tue, 15 Aug 2023 03:10:02 GMT) Full text and rfc822 format available.

Message #37 received at 65023 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Michael Albinus <michael.albinus <at> gmx.de>
Cc: Jim Porter <jporterbugs <at> gmail.com>, Eli Zaretskii <eliz <at> gnu.org>,
 65023 <at> debbugs.gnu.org
Subject: Re: bug#65023: 29.1.50; Tramp 2.6.1.1 cannot be installed as ELPA
 package
Date: Mon, 14 Aug 2023 23:09:32 -0400
> I've tried to apply this change, but it doesn't work as expected yet. I
> have performed the following steps:

The problem is that none of the Tramp package's code is executed before
building the autoloads file.  So if we want to fix the problem in
a seamless manner for the user I suspect we'll have to do something like
add an `emacs-29.1-fixup` package to GNU ELPA and add it to Tramp's
`Package-Requires:`.


        Stefan





bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 12 Sep 2023 11:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 337 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.