unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Michael Albinus <michael.albinus@gmx.de>
To: Jim Porter <jporterbugs@gmail.com>
Cc: Eli Zaretskii <eliz@gnu.org>,
	65023@debbugs.gnu.org, monnier@iro.umontreal.ca
Subject: 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	[thread overview]
Message-ID: <877cq8czv3.fsf@gmx.de> (raw)
In-Reply-To: <bbaecc60-8bef-4ab5-5e8a-eb592d19d528@gmail.com> (Jim Porter's message of "Sat, 5 Aug 2023 13:34:48 -0700")

Jim Porter <jporterbugs@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---





  reply	other threads:[~2023-08-06  8:57 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-02 14:16 bug#65023: 29.1.50; Tramp 2.6.1.1 cannot be installed as ELPA package Michael Albinus
2023-08-04 16:40 ` Jim Porter
2023-08-04 17:52   ` Eli Zaretskii
2023-08-04 18:20     ` Jim Porter
2023-08-05  9:19       ` Michael Albinus
2023-08-05 20:34         ` Jim Porter
2023-08-06  8:57           ` Michael Albinus [this message]
2023-08-07 15:28             ` Michael Albinus
2023-08-08  2:44               ` Jim Porter
2023-08-08  7:03                 ` Michael Albinus
2023-08-15  3:09             ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=877cq8czv3.fsf@gmx.de \
    --to=michael.albinus@gmx.de \
    --cc=65023@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    --cc=jporterbugs@gmail.com \
    --cc=monnier@iro.umontreal.ca \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).