bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#45854: 28.0.50; [feature/native-comp] autoload behavior different in


From: Andrea Corallo
Subject: bug#45854: 28.0.50; [feature/native-comp] autoload behavior different in the presence of errors
Date: Sun, 17 Jan 2021 15:32:35 +0000
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

Andrea Corallo <andrea.corallo@arm.com> writes:

> 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.

Apologies, I've mistakenly used the wrong mail account





reply via email to

[Prev in Thread] Current Thread [Next in Thread]