-
Notifications
You must be signed in to change notification settings - Fork 4.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SPC bb
and some others stop working when desktop-mode is enabled
#2626
Comments
Could you toggle debugging on with |
No response from @avendael. |
I'm seeing this issue, but when I turn on debugging I don't get the debugger activated. Curiously, after I turned on the debugger, the error message went from I'm not well-versed enough in emacs to figure out what the problem is, but when I run |
Also worth mentioning is that helm-projectile-switch-to-buffer is still working. I'm using that to work around the issue by remapping my buffer key to that in the spacemacs file. |
@karmajunkie thanks for the info. Seems that We need to identify the offending part in the desktop file - possibly the string "Unprintable entity" appears where a buffer should be. @karmajunkie can you upload the offending desktop file? We should also identify which Helm source throws the error. Can you try the following commands and report which ones throw an error?
About the debugging, there should be a buffer named |
@TheBB I'm happy to submit it but its got some file references in it i'm not comfortable submitting, as they point to proprietary data and code. Can I email it to you? |
Looking at the desktop file itself, I do see a lot of "Unprintable entity" references in it. Possibly the bug is in the persistence of the desktop? |
@TheBB Actually I was able to reproduce the problem with a minimal desktop file... To produce this, I updated to the latest version, updated the layers I have configured, restarting, then using |
Thanks for the desktop file, it is very helpful. I can see that all the Unprintable Entities are related to frame parameters that are set by perspective.el: (setq desktop-saved-frameset
(vector 'frameset 1
;; ... omitted ...
(list
(list
(list
;; ... omitted ...
(desktop-list* 'persp-curr
;; this is a perspective struct
(vector 'cl-struct-perspective "@spacemacs"
;; this is supposed to be a list of a buffers
'("unprintable entity")
t nil nil
;; this is supposed to be a window configuration object
"unprintable entity"
(let
((mk
(make-marker)))
(add-hook 'desktop-delay-hook
`(lambda nil
(set-marker ,mk ,nil
(get-buffer ," *temp*"))))
mk)))
;; this is supposed to be a hash table mapping perspective names to perspective structures
'(perspectives-hash . "unprintable entity")
;; ... omitted ...
)
;; ... omitted ...
)))) Buffers, window configurations (as returned by When you call I don't know how to solve the problem yet, but I see two ways to solve this:
It is important to note that this is a problem involving perspective.el, but in develop branch (and version 0.105 when its released) we have switched to persp-mode.el. I don't know if persp-mode has this problem or not, so this bug might be solved in develop branch. What you can do in the meantime:
I'll try to find time during the next week to investigate further, but I may be too busy. P.S. I'm bmag, you were mistakenly pinging TheBB |
@bmag thanks for the detailed analysis! Is there a resource about what's changed in the develop branch I could look to for an update of my config file? If this is something that's a non-issue in an upcoming release because of the change to persp-mode I imagine I can muddle along in the meantime, depending on how long that's likely to be. I'm mostly trying to replicate the functionality of :mksession in vim, as I switch between perspectives quite frequently (at least one per project, and I change projects a few times a day) @TheBB sorry for the spurious mentions :) This is the last one! |
Doesn't matter, I get e-mails for everything in this repo anyway. |
@karmajunkie quite a lot has changed. Regarding perspective, this PR rewrote the perspective layer, and there were a few changes after that. The layer is called |
Can we reopen this bug? It doesn't seem to have been resolved, and I just ran into it on Spacemacs v.0.105.14. |
@rpglover64 can you share your desktop file, along with the output of As a side note, spacemacs will automatically save your session and restore it on startup if you set |
I actually did what @karmajunkie did:
I don't normally want to resume layouts, so I don't turn on auto-resume Output of System Info
(auto-completion deft better-defaults emacs-lisp markdown
(org :variables org-enable-github-support t)
spell-checking
(syntax-checking :variables syntax-checking-enable-tooltips nil)
version-control markdown emacs-lisp
(latex :variables latex-enable-auto-fill nil latex-build-command "Rubber")
(haskell :variables haskell-enable-ghci-ng-support t)
(git :variables git-magit-status-fullscreen t git-gutter-use-fringe t)
github
(evil-snipe :variables evil-snipe-enable-alternate-f-and-t-behaviors t)
ov ocaml hide-region unicode-fonts finance command-log speed-reading liquid-types eyebrowse mu4e) backtrace:
I can't provide the desktop file, because I think it may have private (or semiprivate) information in it (e.g. student ids of my students) I'll try to reproduce when I'm done grading. One more weird thing happened: when I opened a new frame, Possibly relevant to reproducing the bug: I was in a layout besides the default one when I saved the desktop file, but the layout does not appear to have been restored. |
That's understandable. I'm interested in the part of I'm not sure what to make of the other parts right now. |
There is no
(for the full file: https://gist.github.com/rpglover64/e61d339facaa70efdb7f4ffcc8a52aa2) |
@rpglover64 please check if adding the following to (push '(persp . :never) frameset-filter-alist) This code should prevent the On develop, and maybe on 0.105.14 as well, It is also possible to save and restore perspectives (layouts) manually via |
This is still an issue in |
Problem persists in |
For some reason,
SPC bb
to switch buffers stop working whendesktop-mode
is enabled.C-x b
also has the same problem.mapcar: Wrong type argument: bufferp, "Unprintable entity"
When I remove these lines from my config, it works fine:
The text was updated successfully, but these errors were encountered: