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

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

bug#49877: [Emacs 28.0.50 Trunk] *ERROR*: No applicable method: frame-cr


From: Jacob Faibussowitsch
Subject: bug#49877: [Emacs 28.0.50 Trunk] *ERROR*: No applicable method: frame-creation-function
Date: Fri, 6 Aug 2021 08:55:42 -0400

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@gnus.org> wrote:

Jacob Faibussowitsch <jacob.fai@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


reply via email to

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