unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Andrea Corallo <andrea.corallo@arm.com>
To: Mauricio Collares <mauricio@collares.org>
Cc: 45854@debbugs.gnu.org
Subject: bug#45854: 28.0.50; [feature/native-comp] autoload behavior different in the presence of errors
Date: Sun, 17 Jan 2021 16:29:00 +0100	[thread overview]
Message-ID: <gkrim7vh9ab.fsf@arm.com> (raw)
In-Reply-To: <87pn282psi.fsf@collares.org> (Mauricio Collares's message of "Wed, 13 Jan 2021 23:52:29 -0300")

Mauricio Collares <mauricio@collares.org> writes:

> The example is a bit convoluted, but it is a reduced example from
> another error I saw in the wild. It's not a big problem, but since this
> might be a bug I thought a report could be useful. I wish I could reduce
> it further, but hopefully this is enough.
>
> Suppose I have three files as below (I've appended an x to the original package
> names to avoid conflict):
>
> * File 1: transientx.el
>
> ;;; transientx.el --- x -*- lexical-binding: t; -*-
>
> ;; Package-Requires: ((emacs "25.1"))
> ;; Package-Version: 0
>
> (require 'cl-lib)
> (require 'eieio)
>
> (defclass transient-suffix () ())
> (cl-defmethod transient--init-suffix-key ((obj transient-suffix)))
>
> ;; (provide 'transientx) commented on purpose to cause an error when requiring
> ;;; transientx.el ends here
>
> * File 2: git-commitx.el
>
> ;;; git-commitx.el --- x  -*- lexical-binding: t; -*-
>
> ;; Package-Requires: ((emacs "25.1") (transientx "20200601"))
> ;; Package-Version: 20210102.1242
>
> (require 'transientx)
>
> ;;;###autoload
> (define-minor-mode global-git-commit-mode
>   "desc"
>   :global t
>   :initialize (lambda (symbol exp)
>                 (add-hook 'find-file-hook 'git-commit-setup-check-buffer)))
>
> ;;;###autoload
> (defun git-commit-setup-check-buffer ())
>
> (provide 'git-commitx)
>
> ;;; git-commitx.el ends here
>
> * File 3: elpa2nix.el
>
> (require 'package)
> (package-initialize)
>
> (defun elpa2nix-install-package ()
>   (pcase command-line-args-left
>     (`(,archive)
>      (with-temp-buffer
>        (insert-file-contents archive)
>        (package-unpack (package-buffer-info))))))
>
> Then running the following two commands in order produces the stack
> trace below on the native-comp branch:
>
> $ emacs --batch -Q -l ~/elpa2nix.el -f elpa2nix-install-package transientx.el
> $ emacs --batch -Q -l ~/elpa2nix.el -f elpa2nix-install-package git-commitx.el
>
> git-commitx.el:6:1: Error: Loading file /home/collares/.emacs.d/elpa/transientx-0/transientx.elc failed to provide feature ‘transientx’
> Done (Total of 0 files compiled, 1 failed, 2 skipped)
>
> Debugger entered--Lisp error: (error "transient--init-suffix-key is already defined as s...")
>   error("%s is already defined as something else than a gen..." transient--init-suffix-key)
>   cl-generic-ensure-function(transient--init-suffix-key)
>   cl-generic-define-method(transient--init-suffix-key nil ((obj transient-suffix)) nil #f(compiled-function (obj) #<bytecode 0x1bd084804d24a6d3>))
>   require(transientx)
>   load-with-code-conversion("/home/collares/.emacs.d/elpa/git-commitx-20210102...." "/home/collares/.emacs.d/elpa/git-commitx-20210102...." nil t)
>   git-commit-setup-check-buffer()
>   run-hooks(find-file-hook)
>   after-find-file(nil t)
>   find-file-noselect-1(#<buffer git-commitx.el> "~/git-commitx.el" nil nil "~/git-commitx.el" (7340496 65025))
>   find-file-noselect("/home/collares/git-commitx.el")
>   command-line-1(("-l" "/home/collares/elpa2nix.el" "-f" "elpa2nix-install-package" "/home/collares/git-commitx.el"))
>   command-line()
>   normal-top-level()
>
> The transient--init-suffix-key error does not appear on trunk (the
> "failed to provide feature" error appears as expected). Reverting commit
> 7d7bfbf0346114b116e14a4338ea235d12674f13 makes the change of behaviour
> disappear, but I suspect it's not the true cause of the difference.

Hi Mauricio,

I failed to reproduce on latest native-comp 88100bed0a.  Either I missed
somenthing or is maybe fixed by the latest merge?

Could you check if you still see this?

Thanks

  Andrea
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.





  parent reply	other threads:[~2021-01-17 15:29 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-14  2:52 bug#45854: 28.0.50; [feature/native-comp] autoload behavior different in the presence of errors Mauricio Collares
     [not found] ` <handler.45854.B.161059277013405.ack@debbugs.gnu.org>
2021-01-14 12:01   ` Mauricio Collares
2021-01-14 14:23     ` Andrea Corallo via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-01-17 16:03       ` akrl--- via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-01-17 15:29 ` Andrea Corallo [this message]
2021-01-17 15:32   ` akrl--- via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-01-18 12:36   ` Mauricio Collares
2021-01-18 20:56     ` akrl--- via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-01-22 22:00       ` Mauricio Collares
2021-01-28 21:11         ` akrl--- via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-01-28 22:04           ` Mauricio Collares
2021-01-29  9:08             ` akrl--- via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-01-30 14:24               ` akrl--- via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-02-01 12:49                 ` Mauricio Collares
2021-02-01 14:00                   ` akrl--- 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=gkrim7vh9ab.fsf@arm.com \
    --to=andrea.corallo@arm.com \
    --cc=45854@debbugs.gnu.org \
    --cc=mauricio@collares.org \
    /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).