GNU bug report logs -
#49877
[Emacs 28.0.50 Trunk] *ERROR*: No applicable method: frame-creation-function
Previous Next
Reported by: Jacob Faibussowitsch <jacob.fai <at> gmail.com>
Date: Wed, 4 Aug 2021 16:04:01 UTC
Severity: normal
Tags: moreinfo
Merged with 49866
Found in version 28.0.50
Done: Stefan Monnier <monnier <at> iro.umontreal.ca>
Bug is archived. No further changes may be made.
Full log
Message #19 received at 49877 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
> I'm still not able to reproduce the problem, but a different user
> reported exactly the same problem... which then went away. So
> something's definitely going on here.
Ok so on a whim I went and started bisecting my init file, and lo and behold it turns out there is some sort of subtle interaction with doom mode-line. Specifically, I configure it via:
(use-package-select doom-modeline
:after all-the-icons
:hook (after-init . doom-modeline-mode)
:config
(column-number-mode 1)
:custom
(doom-modeline-icon t)
(doom-modeline-project-detection ‘project) <——— commenting out this line fixes the problem
(doom-modeline-major-mode-icon t)
(doom-modeline-major-mode-color-icon t)
(doom-modeline-buffer-state-icon t)
(doom-modeline-buffer-modification-icon t)
(doom-modeline-unicode-fallback nil)
(doom-modeline-modal-icon t)
(doom-modeline-minor-modes nil)
(doom-modeline-indent-info nil)
(doom-modeline-lsp t))
So somehow this new eql change is related to the project root detection? I tried byte-compiling doom modeling again to see if perhaps there is an additional warning triggered, but the only warning emitted was
In doom-modeline--project-root:
doom-modeline-core.el:1193:26: Warning: ‘project-roots’ is an obsolete function (as of 0.3.0); use ‘project-root’ instead.
From this function:
(defun doom-modeline--project-root ()
"Get the path to the root of your project.
Return nil if no project was found."
(or doom-modeline--project-root
(setq doom-modeline--project-root
(pcase doom-modeline-project-detection
('ffip
(when (fboundp 'ffip-get-project-root-directory)
(let ((inhibit-message t))
(ffip-get-project-root-directory))))
('projectile
(when (fboundp 'projectile-project-root)
(projectile-project-root)))
('project
(when (fboundp 'project-current)
(when-let ((project (project-current)))
(car (project-roots project))))))))) <——————— here
Best regards,
Jacob Faibussowitsch
(Jacob Fai - booss - oh - vitch)
> On Aug 6, 2021, at 05:45, Lars Ingebrigtsen <larsi <at> gnus.org> wrote:
>
> Jacob Faibussowitsch <jacob.fai <at> gmail.com> writes:
>
>> Is this with a fresh
>> checkout (or "make bootstrap")?
>>
>> I’m not sure I follow, what is the difference?
>
> Sorry, that was unclear. I meant that as an inclusive or, and as
> opposed to doing an incremental build.
>
>> I am able to reproduce/build emacs via:
>>
>> 1. git checkout master
>> 2. make clean
>> 3. ./reconfigure.sh (attached)
>> 3. make all
>
> I'm still not able to reproduce the problem, but a different user
> reported exactly the same problem... which then went away. So
> something's definitely going on here.
>
> So I've added Stefan to the CCs -- could you take a look at this? It
> looks like a possible problem with the recent eql changes, but is
> weirdly difficult to reproduce.
>
> diff --git a/lisp/frame.el b/lisp/frame.el
> index 9b3d120598..8c05ad2fe5 100644
> --- a/lisp/frame.el
> +++ b/lisp/frame.el
> @@ -36,7 +36,11 @@ as its argument.")
> (cl-generic-define-context-rewriter window-system (value)
> ;; If `value' is a `consp', it's probably an old-style specializer,
> ;; so just use it, and anyway `eql' isn't very useful on cons cells.
> - `(window-system ,(if (consp value) value `(eql ,value))))
> + `(window-system ,(if (consp value) value
> + ;; WARNING: unsure whether this eql expression
> + ;; is actually an eql specializer.
> + ;; Bug #47327
> + `(eql ',value))))
>
>
> --
> (domestic pets only, the antidote for overdose, milk.)
> bloggy blog: http://lars.ingebrigtsen.no
[Message part 2 (text/html, inline)]
This bug report was last modified 3 years and 346 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.