spacemacs
spacemacs copied to clipboard
SPC SPC doesn't work
Description
SPC SPC
doesn't work.
(M-x
work)
The log output to the Message buffer is as follows.
SPC SPC- which-key: There are no keys to show
SPC SPC SPC is undefined
SPC SPC
stopped working at commit b7e1dee13f619646d9d419f518f6ba8d835bef41
Reproduction guide
– Start Emacs
– Press SPC SPC
Observed behaviour:
Pressing the SPC SPC
will result in SPC SPC-
, prompting me to continue entering commands.
Expected behaviour: helm-M-x(or perhaps spacemacs/helm-M-x-fuzzy-matching)
System Info :computer:
– OS: darwin – Emacs: 28.0.91 – Spacemacs: 0.999.0 – Spacemacs branch: develop (rev. ee3c558c8) – Graphic display: nil – Distribution: spacemacs – Editing style: vim – Completion: helm – Layers:
(emacs-lisp helm multiple-cursors treemacs)
– System configuration features: ACL GIF GLIB GMP GNUTLS JPEG JSON LCMS2 LIBXML2 MODULES NATIVE_COMP $
Seems to be broken when not using a window system: emacs -nw file.txt
. When using emacs file.txt
, it does seem to work.
@tofuya @fantostisch
Would it be fixed if you add evil-terminal-cursor-changer
to dotspacemacs-excluded-packages
in your ~/.spacemacs?
(I assume @fantostisch also uses macOS here.)
Adding evil-terminal-cursor-changer
to dotspacemacs-excluded-packages
does not seem to fix the issue.
Forgot to mention my setup, tested on Ubuntu 21.10:
System Info :computer:
- OS: gnu/linux
- Emacs: 27.1
- Spacemacs: 0.999.0
- Spacemacs branch: develop (rev. ee3c558c8)
- Graphic display: nil
- Distribution: spacemacs
- Editing style: vim
- Completion: helm
- Layers:
(markdown spell-checking xclipboard)
- System configuration features: XPM JPEG TIFF GIF PNG RSVG CAIRO SOUND GPM DBUS GSETTINGS GLIB NOTIFY INOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE HARFBUZZ M17N_FLT LIBOTF ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM MODULES THREADS LIBSYSTEMD JSON PDUMPER LCMS2 GMP
@fantostisch
Have you restarted your Emacs after you added it into dotspacemacs-excluded-packages
? (Also if you're running a daemon you need to restart it as well)
If you've already restarted Emacs, try this:
Comment out these lines and then restart Emacs https://github.com/syl20bnr/spacemacs/blob/ee3c558c80bbadfa4c692936ab9502765a4867f8/layers/%2Bspacemacs/spacemacs-editing-visual/packages.el#L30 https://github.com/syl20bnr/spacemacs/blob/ee3c558c80bbadfa4c692936ab9502765a4867f8/layers/%2Bspacemacs/spacemacs-editing-visual/packages.el#L37-L38
I am not using a daemon and restarted Emacs. On startup I saw a message deleting evil-terminal-cursor-changer
.
I just discovered that it only shows the SPC SPC- which-key: There are no keys to show
message the first time pressing SPC SPC
after opening Emacs. When pressing SPC SPC
again, it works.
Tested with both the evil-terminal-cursor-changer
disabled and enabled, commenting out the lines does not seem to fix the issue.
@fantostisch
Thanks for your explanation. I suspect evil-terminal-cursor-changer
is the culprit because there's a reported bug about funny behaviours in terminal (on macOS).
Your finding can now rule out this possibility.
Next, try these:
- First, update your Emacs packages with
SPC f e U
, restart Emacs and see whether the same issue persists. - If the last step doesn't work, please use
git bisect
to pin down a commit that first introduced this problem.
Also, what's your dotspacemacs-excluded-packages
like?
After starting Emacs without disabling the evil-terminal-cursor-changer
extension and without commenting code out, the log shows: spacemacs-buffer||propertize-heading: Symbol’s function definition is void: all-the-icons-material
when using -nw
. When not using -nw
this is not shown. Might be related?
The same issue persists after updating the packages. The commit that introduced the problem is b7e1dee13f619646d9d419f518f6ba8d835bef41, the commit before (f2afab0c32c1dfb8e2bfd3d1c4c84c8db5a68c4b) works.
My dotspacemacs-excluded-packages
does not exclude any packages:
dotspacemacs-excluded-packages '(
;; evil-terminal-cursor-changer
)
@fantostisch It's a known bug as for symbol's function undefined.
To clarify, in b7e1dee does SPC SPC works? Or do you mean it's the commit that introduces "symbol's function definition is undefined"?
SPC SPC does not work in https://github.com/syl20bnr/spacemacs/commit/b7e1dee13f619646d9d419f518f6ba8d835bef41, b7e1dee13f619646d9d419f518f6ba8d835bef41 is the commit that introduced the bug. Just tested and the commit also seems to introduce the spacemacs-buffer||propertize-heading: Symbol’s function definition is void: all-the-icons-material
message. When using the commit before (https://github.com/syl20bnr/spacemacs/commit/f2afab0c32c1dfb8e2bfd3d1c4c84c8db5a68c4b), it does not show this message.
@fantostisch Thanks for the clarification.
Checkout any of the commit where SPC SPC
doesn't work, for example latest develop
.
Then, open Emacs and type :(ielm)
and it brings you to a buffer with inferior Emacs lisp mode.
Then, evaluate the following expressions one at a time and paste the ouput:
(featurep 'all-the-icons)
(configuration-layer/package-used-p 'all-the-icons)
(fboundp 'all-the-icons-material)
(fboundp 'all-the-icons-octicon)
Run on the latest develop (ee3c558c80bbadfa4c692936ab9502765a4867f8):
ELISP> (featurep 'all-the-icons)
nil
ELISP> (configuration-layer/package-used-p 'all-the-icons)
t
ELISP> (fboundp 'all-the-icons-material)
nil
ELISP> (fboundp 'all-the-icons-octicon)
nil
ELISP>
@fantostisch This is very weird.
-
(configuration-layer/package-used-p 'all-the-icons)
returnst
means thatall-the-icons
package is not excluded and is being used, as expected. - But
(featurep 'all-the-icons)
returnsnil
meaning that it cannot find the package.
In your ~/.emacs.d/elpa/27.1/develop
, is there a directory named like all-the-icons-*
where *
is a timestamp?
Yes, there is a all-the-icons-20220117.108
directory with the following contents:
~/.emacs.d/elpa/27.1/develop/all-the-icons-20220117.108$ ls -lh
total 180K
-rw-rw-r-- 1 nick nick 2,4K feb 10 12:17 all-the-icons-autoloads.el
-rw-r--r-- 1 nick nick 78K feb 10 12:17 all-the-icons.el
-rw-rw-r-- 1 nick nick 70K feb 10 12:17 all-the-icons.elc
-rw-r--r-- 1 nick nick 7,6K feb 10 12:17 all-the-icons-faces.el
-rw-rw-r-- 1 nick nick 6,2K feb 10 12:17 all-the-icons-faces.elc
-rw-r--r-- 1 nick nick 427 feb 10 12:17 all-the-icons-pkg.el
drwxrwxr-x 2 nick nick 4,0K feb 10 12:17 data
@fantostisch I don't have any explanation for that...
What's the result if you type features
in ielm
buffer?
Also: Can you try to update Emacs to latest version (27.2)?
Just tried 27.2 by using the Emacs snap package and it has the same issue. Using 27.2:
ELISP> features
(smartparens-config smartparens-text smartparens ielm pp highlight-parentheses diminish winner recentf tree-widget editorconfig-core editorconfig-core-handle editorconfig-fnmatch term/xterm xterm async ws-butler winum spacemacs-purpose-popwin window-purpose-x imenu-list hideshow imenu ibuf-ext ibuffer ibuffer-loaddefs evil-collection-dired dired dired-loaddefs etags fileloop generator xref project volatile-highlights undo-tree diff symbol-overlay string-inflection string-edit spacemacs-xclipboard spaceline-config spaceline-segments spaceline powerline powerline-separators powerline-themes saveplace savehist popwin persp-mode multi-line multi-line-find multi-line-enter multi-line-decorator multi-line-respace multi-line-shared shut-up multi-line-cycle multi-line-candidate hl-todo window-purpose window-purpose-fixes window-purpose-prefix-overload window-purpose-switch let-alist window-purpose-layout window-purpose-core window-purpose-configuration window-purpose-utils eyebrowse evil-unimpaired f s dash evil-textobj-line evil-terminal-cursor-changer color evil-easymotion evil-collection-buff-menu evil-collection annalist evil-anzu anzu editorconfig noutline outline drag-stuff column-enforce-mode clean-aindent-mode helm-easymenu hybrid-mode evil-evilified-state which-key use-package use-package-ensure use-package-delight use-package-diminish use-package-bind-key bind-key use-package-core hydra lv evil evil-integration evil-maps evil-commands reveal flyspell ispell evil-jumps evil-command-window evil-search evil-ex shell pcomplete comint ansi-color evil-types evil-macros evil-repeat evil-states evil-core evil-common windmove calc calc-loaddefs calc-macs thingatpt rect evil-digraphs evil-vars ring bind-map info quelpa mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr lisp-mnt help-fns radix-tree hl-line xt-mouse autorevert filenotify cl-extra disp-table spacemacs-dark-theme spacemacs-common format-spec finder-inf ido-vertical-mode ido core-spacemacs core-spacebind core-use-package-ext core-transient-state core-micro-state core-toggle core-keybindings core-fonts-support core-themes-support core-display-init core-jump core-release-management core-custom-settings core-configuration-layer core-progress-bar core-spacemacs-buffer core-funcs spacemacs-ht inline help-mode warnings package browse-url url-handlers url-parse auth-source cl-seq password-cache json map url-vars eieio eieio-core eieio-loaddefs epg epg-config core-command-line core-debug edmacro kmacro derived profiler core-hooks page-break-lines easy-mmode core-env load-env-vars rx core-dotspacemacs advice pcase core-customization validate cus-edit easymenu cus-start cus-load wid-edit seq byte-opt bytecomp byte-compile cconv core-emacs-backports core-compilation core-dumper subr-x spinner cl-macs gv cl-loaddefs cl-lib core-load-paths core-versions core-early-funcs tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core term/tty-colors frame minibuffer cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote threads dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting cairo move-toolbar gtk x-toolkit x multi-tty make-network-process emacs)
@fantostisch Can you post your .spacemacs?
My .spacemacs: spacemacs.txt
@fantostisch Your .spacemacs looks perfect...
Can you post the value of load-path
?
load-path: load-path-nw.txt
@fantostisch
This is very strange, in your load-path you can see
"/home/nick/.emacs.d/elpa/27.2/develop/all-the-icons-20220117.108"
In ielm, can you try again with:
(featurep 'all-the-icons)
(require 'all-the-icons)
ELISP> (featurep 'all-the-icons)
nil
ELISP> (require 'all-the-icons)
all-the-icons
After executing the require command, the output of the featurep command changes:
ELISP> (featurep 'all-the-icons)
nil
ELISP> (require 'all-the-icons)
all-the-icons
ELISP> (featurep 'all-the-icons)
t
@fantostisch Thanks for the feedback. This time let's turn on debug-on-error for Emacs (in terminal) with
emacs -nw --eval '(setq debug-on-error t)'
If any error occurs, please attach the log.
An error occurred: error.txt
@fantostisch
Thank you very much.
In you ~/.emacs.d/core/core-spacemacs-buffer.el, try to replace (defun spacemacs-buffer||propertize-heading ..)
by the following:
It seems like I didn't submit the correct fix last time.
(defmacro spacemacs-buffer||propertize-heading (icon text shortcut-char)
`(concat (when dotspacemacs-startup-buffer-show-icons
(concat ,icon " "))
(propertize ,text 'face 'font-lock-keyword-face)
(propertize (concat " (" ,shortcut-char ")")
'face 'font-lock-comment-face)))
In you ~/.emacs.d/core/core-spacemacs-buffer.el, try to replace
(defun spacemacs-buffer||propertize-heading ..)
by the following:
This fixes the issue! Thanks!
@fantostisch Does it also fix SPC SPC?
Yes, SPC SPC
works now
@fantostisch Thanks for your bug report and cooperation. I will push the patch to develop.
@tofuya Please update Spacemacs and it should be fixed now.