-
-
Notifications
You must be signed in to change notification settings - Fork 3k
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
persp-mode emits "selecting deleted buffer" error sometimes when killing Emacs #1525
Comments
I see this every so often too. It doesn't happen every time I try to restart so I'm unsure what triggers it or how to reproduce it. |
I've narrowed it down to these lines. Please this to (after! persp-mode
(persp-def-buffer-save/load
:tag-symbol 'def-indirect-buffer
:predicate #'buffer-base-buffer
:save-function (lambda (buf tag vars)
(list tag (buffer-name buf) vars
(buffer-name (buffer-base-buffer buf))))
:load-function (lambda (savelist &rest _rest)
(cl-destructuring-bind (buf-name _vars base-buf-name &rest _)
(cdr savelist)
(push (cons buf-name base-buf-name)
+workspaces--indirect-buffers-to-restore)
nil)))) |
Thanks. I will try this out the next time I get this issue. I only observe it sporadically so it will take time before I get the opportunity to test the fix. @hlissner could you explain what you think the issue is in a few more words? Perhaps it will help me to reproduce. |
@hlissner I just tried that code snippet — eval'ed it from within a running session that was throwing the same error. After evaluating it, the error persisted. However, the message seems to have disappeared after a restart. Will report if it persists. |
@kot-behemoth since this uses the |
@rgrinberg In a nutshell, To produce a more informative backtrace, could you delete all *.elc files in This should de-obfuscate all the "compiled-function" entries in the backtrace. |
@hlissner I'll try. Isn't this a problem in purpose however? It shouldn't be passing deleted buffers to these callbacks as far as I can tell. |
I don't know what this has to do with purpose. Do you mean persp-mode? In any case it's hard to tell without a more detailed backtrace. |
Indeed, I meant |
Still seeing this error even with that code snippet added to my Update: It fails on this command |
@siddharthshekar It is likely hitting byte-compiled functions. Try deleting all *.elc files in |
I deleted all the .elc files in my .emacs.d just to be sure and saw the same |
Okay. I've been following this issue for a while and I finally got a debug with Henrik's fix and the .elc files deleted. It just happens seemingly randomly so it's pretty weird and takes a while to trigger again. Debug InfoDebugger entered--Lisp error: (error "Selecting deleted buffer")
set-buffer(#<killed buffer>)
(save-current-buffer (set-buffer b) (funcall s-f b))
(lambda (s-f) (save-current-buffer (set-buffer b) (funcall s-f b)))((lambda (buffer) (when (funcall (with-no-warnings (quote (lambda (buffer &rest rest-args) (when ... ...)))) buffer) (let ((vars-list (with-current-buffer buffer (delete-if-not ... ... :key ...)))) (funcall (with-no-warnings (quote (closure ... ... ...))) buffer (quote def-indirect-buffer) vars-list)))))
cl--position(nil ((lambda (buffer) (when (funcall (with-no-warnings (quote (lambda ... ...))) buffer) (let ((vars-list (with-current-buffer buffer ...))) (funcall (with-no-warnings (quote ...)) buffer (quote def-indirect-buffer) vars-list)))) (lambda (buffer) (when (funcall (with-no-warnings (quote (lambda ... ...))) buffer) (let ((vars-list (with-current-buffer buffer ...))) (list (quote def-compilation-buffer) (buffer-name buffer) vars-list)))) (lambda (buffer) (when (funcall (with-no-warnings (quote (lambda ... ...))) buffer) (let ((vars-list (with-current-buffer buffer ...))) (list (quote def-eshell-buffer) (buffer-name buffer) vars-list)))) (lambda (b) (when (persp-buffer-filtered-out-p b persp-filter-save-buffers-functions) (quote skip))) persp-tramp-save-buffer (lambda (b) (when (eq (quote dired-mode) (buffer-local-value (quote major-mode) b)) (\` (def-buffer (\, (buffer-name b)) (\, (buffer-local-value ... b)) (\, (buffer-local-value ... b)))))) (lambda (b) (\` (def-buffer (\, (buffer-name b)) (\, (buffer-file-name b)) (\, (buffer-local-value (quote major-mode) b)))))) 0 nil nil)
cl-position(nil ((lambda (buffer) (when (funcall (with-no-warnings (quote (lambda ... ...))) buffer) (let ((vars-list (with-current-buffer buffer ...))) (funcall (with-no-warnings (quote ...)) buffer (quote def-indirect-buffer) vars-list)))) (lambda (buffer) (when (funcall (with-no-warnings (quote (lambda ... ...))) buffer) (let ((vars-list (with-current-buffer buffer ...))) (list (quote def-compilation-buffer) (buffer-name buffer) vars-list)))) (lambda (buffer) (when (funcall (with-no-warnings (quote (lambda ... ...))) buffer) (let ((vars-list (with-current-buffer buffer ...))) (list (quote def-eshell-buffer) (buffer-name buffer) vars-list)))) (lambda (b) (when (persp-buffer-filtered-out-p b persp-filter-save-buffers-functions) (quote skip))) persp-tramp-save-buffer (lambda (b) (when (eq (quote dired-mode) (buffer-local-value (quote major-mode) b)) (\` (def-buffer (\, (buffer-name b)) (\, (buffer-local-value ... b)) (\, (buffer-local-value ... b)))))) (lambda (b) (\` (def-buffer (\, (buffer-name b)) (\, (buffer-file-name b)) (\, (buffer-local-value (quote major-mode) b)))))) :if (lambda (sl) (if sl (progn (setq find-ret sl)))) :key (lambda (s-f) (save-current-buffer (set-buffer b) (funcall s-f b))))
apply(cl-position nil ((lambda (buffer) (when (funcall (with-no-warnings (quote (lambda ... ...))) buffer) (let ((vars-list (with-current-buffer buffer ...))) (funcall (with-no-warnings (quote ...)) buffer (quote def-indirect-buffer) vars-list)))) (lambda (buffer) (when (funcall (with-no-warnings (quote (lambda ... ...))) buffer) (let ((vars-list (with-current-buffer buffer ...))) (list (quote def-compilation-buffer) (buffer-name buffer) vars-list)))) (lambda (buffer) (when (funcall (with-no-warnings (quote (lambda ... ...))) buffer) (let ((vars-list (with-current-buffer buffer ...))) (list (quote def-eshell-buffer) (buffer-name buffer) vars-list)))) (lambda (b) (when (persp-buffer-filtered-out-p b persp-filter-save-buffers-functions) (quote skip))) persp-tramp-save-buffer (lambda (b) (when (eq (quote dired-mode) (buffer-local-value (quote major-mode) b)) (\` (def-buffer (\, (buffer-name b)) (\, (buffer-local-value ... b)) (\, (buffer-local-value ... b)))))) (lambda (b) (\` (def-buffer (\, (buffer-name b)) (\, (buffer-file-name b)) (\, (buffer-local-value (quote major-mode) b)))))) (:if (lambda (sl) (if sl (progn (setq find-ret sl)))) :key (lambda (s-f) (save-current-buffer (set-buffer b) (funcall s-f b)))))
cl-find(nil ((lambda (buffer) (when (funcall (with-no-warnings (quote (lambda ... ...))) buffer) (let ((vars-list (with-current-buffer buffer ...))) (funcall (with-no-warnings (quote ...)) buffer (quote def-indirect-buffer) vars-list)))) (lambda (buffer) (when (funcall (with-no-warnings (quote (lambda ... ...))) buffer) (let ((vars-list (with-current-buffer buffer ...))) (list (quote def-compilation-buffer) (buffer-name buffer) vars-list)))) (lambda (buffer) (when (funcall (with-no-warnings (quote (lambda ... ...))) buffer) (let ((vars-list (with-current-buffer buffer ...))) (list (quote def-eshell-buffer) (buffer-name buffer) vars-list)))) (lambda (b) (when (persp-buffer-filtered-out-p b persp-filter-save-buffers-functions) (quote skip))) persp-tramp-save-buffer (lambda (b) (when (eq (quote dired-mode) (buffer-local-value (quote major-mode) b)) (\` (def-buffer (\, (buffer-name b)) (\, (buffer-local-value ... b)) (\, (buffer-local-value ... b)))))) (lambda (b) (\` (def-buffer (\, (buffer-name b)) (\, (buffer-file-name b)) (\, (buffer-local-value (quote major-mode) b)))))) :if (lambda (sl) (if sl (progn (setq find-ret sl)))) :key (lambda (s-f) (save-current-buffer (set-buffer b) (funcall s-f b))))
apply(cl-find nil ((lambda (buffer) (when (funcall (with-no-warnings (quote (lambda ... ...))) buffer) (let ((vars-list (with-current-buffer buffer ...))) (funcall (with-no-warnings (quote ...)) buffer (quote def-indirect-buffer) vars-list)))) (lambda (buffer) (when (funcall (with-no-warnings (quote (lambda ... ...))) buffer) (let ((vars-list (with-current-buffer buffer ...))) (list (quote def-compilation-buffer) (buffer-name buffer) vars-list)))) (lambda (buffer) (when (funcall (with-no-warnings (quote (lambda ... ...))) buffer) (let ((vars-list (with-current-buffer buffer ...))) (list (quote def-eshell-buffer) (buffer-name buffer) vars-list)))) (lambda (b) (when (persp-buffer-filtered-out-p b persp-filter-save-buffers-functions) (quote skip))) persp-tramp-save-buffer (lambda (b) (when (eq (quote dired-mode) (buffer-local-value (quote major-mode) b)) (\` (def-buffer (\, (buffer-name b)) (\, (buffer-local-value ... b)) (\, (buffer-local-value ... b)))))) (lambda (b) (\` (def-buffer (\, (buffer-name b)) (\, (buffer-file-name b)) (\, (buffer-local-value (quote major-mode) b)))))) :if (lambda (sl) (if sl (progn (setq find-ret sl)))) (:key (lambda (s-f) (save-current-buffer (set-buffer b) (funcall s-f b)))))
find-if((lambda (sl) (if sl (progn (setq find-ret sl)))) ((lambda (buffer) (when (funcall (with-no-warnings (quote (lambda ... ...))) buffer) (let ((vars-list (with-current-buffer buffer ...))) (funcall (with-no-warnings (quote ...)) buffer (quote def-indirect-buffer) vars-list)))) (lambda (buffer) (when (funcall (with-no-warnings (quote (lambda ... ...))) buffer) (let ((vars-list (with-current-buffer buffer ...))) (list (quote def-compilation-buffer) (buffer-name buffer) vars-list)))) (lambda (buffer) (when (funcall (with-no-warnings (quote (lambda ... ...))) buffer) (let ((vars-list (with-current-buffer buffer ...))) (list (quote def-eshell-buffer) (buffer-name buffer) vars-list)))) (lambda (b) (when (persp-buffer-filtered-out-p b persp-filter-save-buffers-functions) (quote skip))) persp-tramp-save-buffer (lambda (b) (when (eq (quote dired-mode) (buffer-local-value (quote major-mode) b)) (\` (def-buffer (\, (buffer-name b)) (\, (buffer-local-value ... b)) (\, (buffer-local-value ... b)))))) (lambda (b) (\` (def-buffer (\, (buffer-name b)) (\, (buffer-file-name b)) (\, (buffer-local-value (quote major-mode) b)))))) :key (lambda (s-f) (save-current-buffer (set-buffer b) (funcall s-f b))))
(lambda (b) (setq find-ret nil) (find-if (function (lambda (sl) (if sl (progn (setq find-ret sl))))) persp-save-buffer-functions :key (function (lambda (s-f) (save-current-buffer (set-buffer b) (funcall s-f b))))) find-ret)(#<killed buffer>)
mapcar((lambda (b) (setq find-ret nil) (find-if (function (lambda (sl) (if sl (progn (setq find-ret sl))))) persp-save-buffer-functions :key (function (lambda (s-f) (save-current-buffer (set-buffer b) (funcall s-f b))))) find-ret) (#<buffer *compilation*> #<killed buffer> #<buffer index.phtml<3>> #<killed buffer> #<killed buffer> #<buffer Account.php> #<buffer UnsubscribeController.php> #<buffer *doom*> #<buffer LoanData.php> #<buffer index.phtml<2>> #<buffer PaymentData.php> #<buffer Loan.php> #<buffer signloan.phtml> #<buffer AccountController.php> #<buffer viewagreement.phtml> #<buffer Security.php> #<buffer index.phtml> #<buffer dependencies.php>))
(let (find-ret) (mapcar (function (lambda (b) (setq find-ret nil) (find-if (function (lambda (sl) (if sl ...))) persp-save-buffer-functions :key (function (lambda (s-f) (save-current-buffer ... ...)))) find-ret)) (if persp (progn (or (and (memq (type-of persp) cl-struct-perspective-tags) t) (signal (quote wrong-type-argument) (list (quote perspective) persp))) (aref persp 2)) (delete-if-not (function persp-buffer-free-p) (funcall persp-buffer-list-function)))))
(delete-if (function symbolp) (let (find-ret) (mapcar (function (lambda (b) (setq find-ret nil) (find-if (function (lambda ... ...)) persp-save-buffer-functions :key (function (lambda ... ...))) find-ret)) (if persp (progn (or (and (memq ... cl-struct-perspective-tags) t) (signal (quote wrong-type-argument) (list ... persp))) (aref persp 2)) (delete-if-not (function persp-buffer-free-p) (funcall persp-buffer-list-function))))))
persp-buffers-to-savelist(#s(perspective :name "main" :buffers (#<buffer *compilation*> #<killed buffer> #<buffer index.phtml<3>> #<killed buffer> #<killed buffer> #<buffer Account.php> #<buffer UnsubscribeController.php> #<buffer *doom*> #<buffer LoanData.php> #<buffer index.phtml<2>> #<buffer PaymentData.php> #<buffer Loan.php> #<buffer signloan.phtml> #<buffer AccountController.php> #<buffer viewagreement.phtml> #<buffer Security.php> #<buffer index.phtml> #<buffer dependencies.php>) :window-conf (((min-height . 8) (min-width . 20) (min-height-ignore . 6) (min-width-ignore . 6) (min-height-safe . 2) (min-width-safe . 4) (min-pixel-height . 184) (min-pixel-width . 200) (min-pixel-height-ignore . 126) (min-pixel-width-ignore . 57) (min-pixel-height-safe . 46) (min-pixel-width-safe . 40)) hc (pixel-width . 2556) (pixel-height . 1368) (total-width . 256) (total-height . 59) (normal-height . 1.0) (normal-width . 1.0) (combination-limit) (vc (pixel-width . 1278) (pixel-height . 1368) (total-width . 128) (total-height . 59) (normal-height . 1.0) (normal-width . 0.5) (combination-limit) (leaf (pixel-width . 1278) (pixel-height . 667) (total-width . 128) (total-height . 29) (normal-height . 0.48757309941520466) (normal-width . 1.0) (parameters (better-jumper-struct . #s(better-jumper-jump-list-struct :ring ... :idx -1))) (buffer "UnsubscribeController.php" (selected . t) (hscroll . 0) (fringes 4 4 t) (margins nil) (scroll-bars nil 0 t nil 0 t) (vscroll . 0) (dedicated) (point . 1043) (start . 128))) (leaf (last . t) (pixel-width . 1278) (pixel-height . 701) (total-width . 128) (total-height . 30) (normal-height . 0.5124269005847953) (normal-width . 1.0) (parameters (better-jumper-struct . #s(better-jumper-jump-list-struct :ring ... :idx -1))) (buffer "Loan.php" (selected) (hscroll . 29) (fringes 4 4 t) (margins nil) (scroll-bars nil 0 t nil 0 t) (vscroll . 0) (dedicated) (point . 3874) (start . 3464)))) (leaf (last . t) (pixel-width . 1278) (pixel-height . 1368) (total-width . 128) (total-height . 59) (normal-height . 1.0) (normal-width . 0.5) (parameters (better-jumper-struct . #s(better-jumper-jump-list-struct :ring (0 19 . [... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil ...]) :idx -1))) (buffer "index.phtml<3>" (selected) (hscroll . 0) (fringes 4 4 t) (margins nil) (scroll-bars nil 0 t nil 0 t) (vscroll . 0) (dedicated) (point . 112) (start . 1)))) :parameters ((last-project-root . "/Users/codywilson/Development/cmx/")) :weak nil :auto nil :hidden nil))
(list (quote def-persp) (and persp (progn (or (and (memq (type-of persp) cl-struct-perspective-tags) t) (signal (quote wrong-type-argument) (list (quote perspective) persp))) (aref persp 1))) (persp-buffers-to-savelist persp) (persp-window-conf-to-savelist persp) (persp-parameters-to-savelist persp) (safe-persp-weak persp) (safe-persp-auto persp) (safe-persp-hidden persp))
persp-to-savelist(#s(perspective :name "main" :buffers (#<buffer *compilation*> #<killed buffer> #<buffer index.phtml<3>> #<killed buffer> #<killed buffer> #<buffer Account.php> #<buffer UnsubscribeController.php> #<buffer *doom*> #<buffer LoanData.php> #<buffer index.phtml<2>> #<buffer PaymentData.php> #<buffer Loan.php> #<buffer signloan.phtml> #<buffer AccountController.php> #<buffer viewagreement.phtml> #<buffer Security.php> #<buffer index.phtml> #<buffer dependencies.php>) :window-conf (((min-height . 8) (min-width . 20) (min-height-ignore . 6) (min-width-ignore . 6) (min-height-safe . 2) (min-width-safe . 4) (min-pixel-height . 184) (min-pixel-width . 200) (min-pixel-height-ignore . 126) (min-pixel-width-ignore . 57) (min-pixel-height-safe . 46) (min-pixel-width-safe . 40)) hc (pixel-width . 2556) (pixel-height . 1368) (total-width . 256) (total-height . 59) (normal-height . 1.0) (normal-width . 1.0) (combination-limit) (vc (pixel-width . 1278) (pixel-height . 1368) (total-width . 128) (total-height . 59) (normal-height . 1.0) (normal-width . 0.5) (combination-limit) (leaf (pixel-width . 1278) (pixel-height . 667) (total-width . 128) (total-height . 29) (normal-height . 0.48757309941520466) (normal-width . 1.0) (parameters (better-jumper-struct . #s(better-jumper-jump-list-struct :ring ... :idx -1))) (buffer "UnsubscribeController.php" (selected . t) (hscroll . 0) (fringes 4 4 t) (margins nil) (scroll-bars nil 0 t nil 0 t) (vscroll . 0) (dedicated) (point . 1043) (start . 128))) (leaf (last . t) (pixel-width . 1278) (pixel-height . 701) (total-width . 128) (total-height . 30) (normal-height . 0.5124269005847953) (normal-width . 1.0) (parameters (better-jumper-struct . #s(better-jumper-jump-list-struct :ring ... :idx -1))) (buffer "Loan.php" (selected) (hscroll . 29) (fringes 4 4 t) (margins nil) (scroll-bars nil 0 t nil 0 t) (vscroll . 0) (dedicated) (point . 3874) (start . 3464)))) (leaf (last . t) (pixel-width . 1278) (pixel-height . 1368) (total-width . 128) (total-height . 59) (normal-height . 1.0) (normal-width . 0.5) (parameters (better-jumper-struct . #s(better-jumper-jump-list-struct :ring (0 19 . [... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil ...]) :idx -1))) (buffer "index.phtml<3>" (selected) (hscroll . 0) (fringes 4 4 t) (margins nil) (scroll-bars nil 0 t nil 0 t) (vscroll . 0) (dedicated) (point . 112) (start . 1)))) :parameters ((last-project-root . "/Users/codywilson/Development/cmx/")) :weak nil :auto nil :hidden nil))
mapcar(persp-to-savelist (nil #s(perspective :name "main" :buffers (#<buffer *compilation*> #<killed buffer> #<buffer index.phtml<3>> #<killed buffer> #<killed buffer> #<buffer Account.php> #<buffer UnsubscribeController.php> #<buffer *doom*> #<buffer LoanData.php> #<buffer index.phtml<2>> #<buffer PaymentData.php> #<buffer Loan.php> #<buffer signloan.phtml> #<buffer AccountController.php> #<buffer viewagreement.phtml> #<buffer Security.php> #<buffer index.phtml> #<buffer dependencies.php>) :window-conf (((min-height . 8) (min-width . 20) (min-height-ignore . 6) (min-width-ignore . 6) (min-height-safe . 2) (min-width-safe . 4) (min-pixel-height . 184) (min-pixel-width . 200) (min-pixel-height-ignore . 126) (min-pixel-width-ignore . 57) (min-pixel-height-safe . 46) (min-pixel-width-safe . 40)) hc (pixel-width . 2556) (pixel-height . 1368) (total-width . 256) (total-height . 59) (normal-height . 1.0) (normal-width . 1.0) (combination-limit) (vc (pixel-width . 1278) (pixel-height . 1368) (total-width . 128) (total-height . 59) (normal-height . 1.0) (normal-width . 0.5) (combination-limit) (leaf (pixel-width . 1278) (pixel-height . 667) (total-width . 128) (total-height . 29) (normal-height . 0.48757309941520466) (normal-width . 1.0) (parameters (better-jumper-struct . #s(better-jumper-jump-list-struct :ring ... :idx -1))) (buffer "UnsubscribeController.php" (selected . t) (hscroll . 0) (fringes 4 4 t) (margins nil) (scroll-bars nil 0 t nil 0 t) (vscroll . 0) (dedicated) (point . 1043) (start . 128))) (leaf (last . t) (pixel-width . 1278) (pixel-height . 701) (total-width . 128) (total-height . 30) (normal-height . 0.5124269005847953) (normal-width . 1.0) (parameters (better-jumper-struct . #s(better-jumper-jump-list-struct :ring ... :idx -1))) (buffer "Loan.php" (selected) (hscroll . 29) (fringes 4 4 t) (margins nil) (scroll-bars nil 0 t nil 0 t) (vscroll . 0) (dedicated) (point . 3874) (start . 3464)))) (leaf (last . t) (pixel-width . 1278) (pixel-height . 1368) (total-width . 128) (total-height . 59) (normal-height . 1.0) (normal-width . 0.5) (parameters (better-jumper-struct . #s(better-jumper-jump-list-struct :ring ... :idx -1))) (buffer "index.phtml<3>" (selected) (hscroll . 0) (fringes 4 4 t) (margins nil) (scroll-bars nil 0 t nil 0 t) (vscroll . 0) (dedicated) (point . 112) (start . 1)))) :parameters ((last-project-root . "/Users/codywilson/Development/cmx/")) :weak nil :auto nil :hidden nil) #s(perspective :name "#2" :buffers (#<buffer *Backtrace*> #<buffer packages.el> #<buffer config.el> #<buffer init.el>) :window-conf (((min-height . 4) (min-width . 10) (min-height-ignore . 3) (min-width-ignore . 3) (min-height-safe . 1) (min-width-safe . 2) (min-pixel-height . 92) (min-pixel-width . 100) (min-pixel-height-ignore . 63) (min-pixel-width-ignore . 28) (min-pixel-height-safe . 23) (min-pixel-width-safe . 20)) leaf (pixel-width . 2556) (pixel-height . 1368) (total-width . 256) (total-height . 59) (normal-height . 1.0) (normal-width . 1.0) (parameters (better-jumper-struct . #s(better-jumper-jump-list-struct :ring (0 10 . [... ... ... ... ... ... ... ... ... ... nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil ...]) :idx -1))) (buffer "config.el" (selected . t) (hscroll . 0) (fringes 4 4 t) (margins nil) (scroll-bars nil 0 t nil 0 t) (vscroll . 0) (dedicated) (point . 11648) (start . 10614))) :parameters ((last-project-root . "/Users/codywilson/Development/dot-files/")) :weak nil :auto nil :hidden nil) #s(perspective :name "#3" :buffers (#<buffer index.php> #<buffer unsubscribe.php> #<buffer CHANGELOG.md>) :window-conf (((min-height . 4) (min-width . 10) (min-height-ignore . 3) (min-width-ignore . 3) (min-height-safe . 1) (min-width-safe . 2) (min-pixel-height . 92) (min-pixel-width . 100) (min-pixel-height-ignore . 63) (min-pixel-width-ignore . 28) (min-pixel-height-safe . 23) (min-pixel-width-safe . 20)) leaf (pixel-width . 2556) (pixel-height . 1368) (total-width . 256) (total-height . 59) (normal-height . 1.0) (normal-width . 1.0) (parameters (better-jumper-struct . #s(better-jumper-jump-list-struct :ring (0 10 . [... ... ... ... ... ... ... ... ... ... nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil ...]) :idx -1))) (buffer "index.php" (selected . t) (hscroll . 0) (fringes 4 4 t) (margins nil) (scroll-bars nil 0 t nil 0 t) (vscroll . 0) (dedicated) (point . 1178) (start . 1))) :parameters ((last-project-root . "/Users/codywilson/Development/stc/")) :weak nil :auto nil :hidden nil) #s(perspective :name "#4" :buffers (#<buffer CHANGELOG.md<2>> #<buffer permission-containers.js> #<buffer role-group-menu.phtml>) :window-conf (((min-height . 4) (min-width . 10) (min-height-ignore . 3) (min-width-ignore . 3) (min-height-safe . 1) (min-width-safe . 2) (min-pixel-height . 92) (min-pixel-width . 100) (min-pixel-height-ignore . 63) (min-pixel-width-ignore . 28) (min-pixel-height-safe . 23) (min-pixel-width-safe . 20)) leaf (pixel-width . 2556) (pixel-height . 1368) (total-width . 255) (total-height . 59) (normal-height . 1.0) (normal-width . 1.0) (parameters (better-jumper-struct . #s(better-jumper-jump-list-struct :ring (0 8 . [... ... ... ... ... ... ... ... nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil ...]) :idx -1))) (buffer "role-group-menu.phtml" (selected . t) (hscroll . 0) (fringes 4 4 t) (margins nil) (scroll-bars nil 0 t nil 0 t) (vscroll . 0) (dedicated) (point . 1533) (start . 850))) :parameters ((last-project-root . "/Users/codywilson/Development/ols/")) :weak nil :auto nil :hidden nil)))
persps-to-savelist(#<hash-table equal 5/10 0x40dc6f41>)
(prin1-to-string (persps-to-savelist phash))
(let (print-length print-level) (prin1-to-string (persps-to-savelist phash)))
(insert (let (print-length print-level) (prin1-to-string (persps-to-savelist phash))))
(progn (buffer-disable-undo) (erase-buffer) (goto-char (point-min)) (insert ";; -*- mode: emacs-lisp; eval: (progn (pp-buffer) (indent-buffer)) -*-") (newline) (insert (let (print-length print-level) (prin1-to-string (persps-to-savelist phash)))) (persp-save-with-backups p-save-file))
(unwind-protect (progn (buffer-disable-undo) (erase-buffer) (goto-char (point-min)) (insert ";; -*- mode: emacs-lisp; eval: (progn (pp-buffer) (indent-buffer)) -*-") (newline) (insert (let (print-length print-level) (prin1-to-string (persps-to-savelist phash)))) (persp-save-with-backups p-save-file)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))
(save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (buffer-disable-undo) (erase-buffer) (goto-char (point-min)) (insert ";; -*- mode: emacs-lisp; eval: (progn (pp-buffer) (indent-buffer)) -*-") (newline) (insert (let (print-length print-level) (prin1-to-string (persps-to-savelist phash)))) (persp-save-with-backups p-save-file)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))
(let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (buffer-disable-undo) (erase-buffer) (goto-char (point-min)) (insert ";; -*- mode: emacs-lisp; eval: (progn (pp-buffer) (indent-buffer)) -*-") (newline) (insert (let (print-length print-level) (prin1-to-string (persps-to-savelist phash)))) (persp-save-with-backups p-save-file)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))))
(if (and respect-persp-file-parameter (member-if (apply-partially (function persp-parameter) (quote persp-file)) (persp-persps phash nil))) (let (persp-auto-save-persps-to-their-file persp-before-save-state-to-file-functions) (mapc (function (lambda (gr) (let* ((pl gr) (pfname ...)) (let (...) (if pfname ... ...))))) (persp-group-by (apply-partially (function persp-parameter) (quote persp-file)) (persp-persps phash nil t) t))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (buffer-disable-undo) (erase-buffer) (goto-char (point-min)) (insert ";; -*- mode: emacs-lisp; eval: (progn (pp-buffer) (indent-buffer)) -*-") (newline) (insert (let (print-length print-level) (prin1-to-string ...))) (persp-save-with-backups p-save-file)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))))
(if (not (and (file-exists-p p-save-dir) (file-directory-p p-save-dir))) (progn (message "[persp-mode] Error: Can't save perspectives -- `persp-save-dir' does not exists or not a directory %S." p-save-dir) nil) (mapc (function persp-save-state) (persp-persps phash)) (run-hook-with-args (quote persp-before-save-state-to-file-functions) fname phash respect-persp-file-parameter) (if (and respect-persp-file-parameter (member-if (apply-partially (function persp-parameter) (quote persp-file)) (persp-persps phash nil))) (let (persp-auto-save-persps-to-their-file persp-before-save-state-to-file-functions) (mapc (function (lambda (gr) (let* (... ...) (let ... ...)))) (persp-group-by (apply-partially (function persp-parameter) (quote persp-file)) (persp-persps phash nil t) t))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (buffer-disable-undo) (erase-buffer) (goto-char (point-min)) (insert ";; -*- mode: emacs-lisp; eval: (progn (pp-buffer) (indent-buffer)) -*-") (newline) (insert (let ... ...)) (persp-save-with-backups p-save-file)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))))))
(let* ((p-save-dir (or (file-name-directory fname) (expand-file-name persp-save-dir))) (p-save-file (concat p-save-dir (file-name-nondirectory fname)))) (if (and (file-exists-p p-save-dir) (file-directory-p p-save-dir)) nil (message "[persp-mode] Info: Trying to create the `persp-conf-dir'.") (make-directory p-save-dir t)) (if (not (and (file-exists-p p-save-dir) (file-directory-p p-save-dir))) (progn (message "[persp-mode] Error: Can't save perspectives -- `persp-save-dir' does not exists or not a directory %S." p-save-dir) nil) (mapc (function persp-save-state) (persp-persps phash)) (run-hook-with-args (quote persp-before-save-state-to-file-functions) fname phash respect-persp-file-parameter) (if (and respect-persp-file-parameter (member-if (apply-partially (function persp-parameter) (quote persp-file)) (persp-persps phash nil))) (let (persp-auto-save-persps-to-their-file persp-before-save-state-to-file-functions) (mapc (function (lambda (gr) (let* ... ...))) (persp-group-by (apply-partially (function persp-parameter) (quote persp-file)) (persp-persps phash nil t) t))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (buffer-disable-undo) (erase-buffer) (goto-char ...) (insert ";; -*- mode: emacs-lisp; eval: (progn (pp-buffer) (indent-buffer)) -*-") (newline) (insert ...) (persp-save-with-backups p-save-file)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))))))
(progn (if (< (string-width (file-name-nondirectory fname)) 1) (progn (message "[persp-mode] Error: You must provide nonempty filename to save perspectives.") (throw (quote --cl-block-persp-save-state-to-file--) nil))) (let* ((p-save-dir (or (file-name-directory fname) (expand-file-name persp-save-dir))) (p-save-file (concat p-save-dir (file-name-nondirectory fname)))) (if (and (file-exists-p p-save-dir) (file-directory-p p-save-dir)) nil (message "[persp-mode] Info: Trying to create the `persp-conf-dir'.") (make-directory p-save-dir t)) (if (not (and (file-exists-p p-save-dir) (file-directory-p p-save-dir))) (progn (message "[persp-mode] Error: Can't save perspectives -- `persp-save-dir' does not exists or not a directory %S." p-save-dir) nil) (mapc (function persp-save-state) (persp-persps phash)) (run-hook-with-args (quote persp-before-save-state-to-file-functions) fname phash respect-persp-file-parameter) (if (and respect-persp-file-parameter (member-if (apply-partially (function persp-parameter) (quote persp-file)) (persp-persps phash nil))) (let (persp-auto-save-persps-to-their-file persp-before-save-state-to-file-functions) (mapc (function (lambda ... ...)) (persp-group-by (apply-partially ... ...) (persp-persps phash nil t) t))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn ... ... ... ... ... ... ...) (and ... ...))))))))
(if (and (stringp fname) phash) (progn (if (< (string-width (file-name-nondirectory fname)) 1) (progn (message "[persp-mode] Error: You must provide nonempty filename to save perspectives.") (throw (quote --cl-block-persp-save-state-to-file--) nil))) (let* ((p-save-dir (or (file-name-directory fname) (expand-file-name persp-save-dir))) (p-save-file (concat p-save-dir (file-name-nondirectory fname)))) (if (and (file-exists-p p-save-dir) (file-directory-p p-save-dir)) nil (message "[persp-mode] Info: Trying to create the `persp-conf-dir'.") (make-directory p-save-dir t)) (if (not (and (file-exists-p p-save-dir) (file-directory-p p-save-dir))) (progn (message "[persp-mode] Error: Can't save perspectives -- `persp-save-dir' does not exists or not a directory %S." p-save-dir) nil) (mapc (function persp-save-state) (persp-persps phash)) (run-hook-with-args (quote persp-before-save-state-to-file-functions) fname phash respect-persp-file-parameter) (if (and respect-persp-file-parameter (member-if (apply-partially ... ...) (persp-persps phash nil))) (let (persp-auto-save-persps-to-their-file persp-before-save-state-to-file-functions) (mapc (function ...) (persp-group-by ... ... t))) (let ((temp-buffer ...)) (save-current-buffer (set-buffer temp-buffer) (unwind-protect ... ...))))))))
(catch (quote --cl-block-persp-save-state-to-file--) (if (and (stringp fname) phash) (progn (if (< (string-width (file-name-nondirectory fname)) 1) (progn (message "[persp-mode] Error: You must provide nonempty filename to save perspectives.") (throw (quote --cl-block-persp-save-state-to-file--) nil))) (let* ((p-save-dir (or (file-name-directory fname) (expand-file-name persp-save-dir))) (p-save-file (concat p-save-dir (file-name-nondirectory fname)))) (if (and (file-exists-p p-save-dir) (file-directory-p p-save-dir)) nil (message "[persp-mode] Info: Trying to create the `persp-conf-dir'.") (make-directory p-save-dir t)) (if (not (and (file-exists-p p-save-dir) (file-directory-p p-save-dir))) (progn (message "[persp-mode] Error: Can't save perspectives -- `persp-save-dir' does not exists or not a directory %S." p-save-dir) nil) (mapc (function persp-save-state) (persp-persps phash)) (run-hook-with-args (quote persp-before-save-state-to-file-functions) fname phash respect-persp-file-parameter) (if (and respect-persp-file-parameter (member-if ... ...)) (let (persp-auto-save-persps-to-their-file persp-before-save-state-to-file-functions) (mapc ... ...)) (let (...) (save-current-buffer ... ...))))))))
(progn (if --cl-rest-- (signal (quote wrong-number-of-arguments) (list (quote persp-save-state-to-file) (+ 4 (length --cl-rest--))))) (catch (quote --cl-block-persp-save-state-to-file--) (if (and (stringp fname) phash) (progn (if (< (string-width (file-name-nondirectory fname)) 1) (progn (message "[persp-mode] Error: You must provide nonempty filename to save perspectives.") (throw (quote --cl-block-persp-save-state-to-file--) nil))) (let* ((p-save-dir (or ... ...)) (p-save-file (concat p-save-dir ...))) (if (and (file-exists-p p-save-dir) (file-directory-p p-save-dir)) nil (message "[persp-mode] Info: Trying to create the `persp-conf-dir'.") (make-directory p-save-dir t)) (if (not (and ... ...)) (progn (message "[persp-mode] Error: Can't save perspectives -- `persp-save-dir' does not exists or not a directory %S." p-save-dir) nil) (mapc (function persp-save-state) (persp-persps phash)) (run-hook-with-args (quote persp-before-save-state-to-file-functions) fname phash respect-persp-file-parameter) (if (and respect-persp-file-parameter ...) (let ... ...) (let ... ...))))))))
(let* ((fname (if --cl-rest-- (car-safe (prog1 --cl-rest-- (setq --cl-rest-- (cdr --cl-rest--)))) persp-auto-save-fname)) (phash (if --cl-rest-- (car-safe (prog1 --cl-rest-- (setq --cl-rest-- (cdr --cl-rest--)))) *persp-hash*)) (respect-persp-file-parameter (if --cl-rest-- (car-safe (prog1 --cl-rest-- (setq --cl-rest-- (cdr --cl-rest--)))) persp-auto-save-persps-to-their-file)) (keep-others-in-non-parametric-file (if --cl-rest-- (car-safe (prog1 --cl-rest-- (setq --cl-rest-- (cdr --cl-rest--)))) (quote no)))) (progn (if --cl-rest-- (signal (quote wrong-number-of-arguments) (list (quote persp-save-state-to-file) (+ 4 (length --cl-rest--))))) (catch (quote --cl-block-persp-save-state-to-file--) (if (and (stringp fname) phash) (progn (if (< (string-width ...) 1) (progn (message "[persp-mode] Error: You must provide nonempty filename to save perspectives.") (throw ... nil))) (let* ((p-save-dir ...) (p-save-file ...)) (if (and ... ...) nil (message "[persp-mode] Info: Trying to create the `persp-conf-dir'.") (make-directory p-save-dir t)) (if (not ...) (progn ... nil) (mapc ... ...) (run-hook-with-args ... fname phash respect-persp-file-parameter) (if ... ... ...))))))))
persp-save-state-to-file("/Users/codywilson/.emacs.d/.local/etc/workspaces/autosave")
(cond ((require (quote persp-mode) nil t) (if persp-mode nil (persp-mode 1)) (setq persp-auto-save-opt 0) (persp-save-state-to-file file)) ((and (require (quote frameset) nil t) (require (quote restart-emacs) nil t)) (let ((frameset-filter-alist (append (quote (...)) frameset-filter-alist)) (desktop-base-file-name (file-name-nondirectory file)) (desktop-dirname (file-name-directory file)) (desktop-restore-eager t) desktop-file-modtime) (make-directory desktop-dirname t) (let ((desktop-file-modtime (nth 5 (file-attributes ...)))) (desktop-save desktop-dirname t)))) ((error "No session backend to save session with")))
doom-save-session()
doom/quicksave-session()
funcall-interactively(doom/quicksave-session)
call-interactively(doom/quicksave-session nil nil)
command-execute(doom/quicksave-session) |
Original fix complained about void function setf persp-buffers.
I upgraded and ran this all day at work. Ran into it again towards the end of the day. Edit2: I hope it's not a problem that I'm doing Also I removed the old fix you posted here. Don't know if I should have left that in or not. Debug InfoDebugger entered--Lisp error: (error "Selecting deleted buffer")
set-buffer(#<killed buffer>)
(save-current-buffer (set-buffer b) (funcall s-f b))
(lambda (s-f) (save-current-buffer (set-buffer b) (funcall s-f b)))((lambda (buffer) (when (funcall (with-no-warnings (quote (lambda (buffer &rest rest-args) (when ... ...)))) buffer) (let ((vars-list (with-current-buffer buffer (delete-if-not ... ... :key ...)))) (funcall (with-no-warnings (quote (closure ... ... ...))) buffer (quote def-indirect-buffer) vars-list)))))
cl--position(nil ((lambda (buffer) (when (funcall (with-no-warnings (quote (lambda ... ...))) buffer) (let ((vars-list (with-current-buffer buffer ...))) (funcall (with-no-warnings (quote ...)) buffer (quote def-indirect-buffer) vars-list)))) (lambda (buffer) (when (funcall (with-no-warnings (quote (lambda ... ...))) buffer) (let ((vars-list (with-current-buffer buffer ...))) (list (quote def-compilation-buffer) (buffer-name buffer) vars-list)))) (lambda (buffer) (when (funcall (with-no-warnings (quote (lambda ... ...))) buffer) (let ((vars-list (with-current-buffer buffer ...))) (list (quote def-eshell-buffer) (buffer-name buffer) vars-list)))) (lambda (b) (when (persp-buffer-filtered-out-p b persp-filter-save-buffers-functions) (quote skip))) persp-tramp-save-buffer (lambda (b) (when (eq (quote dired-mode) (buffer-local-value (quote major-mode) b)) (\` (def-buffer (\, (buffer-name b)) (\, (buffer-local-value ... b)) (\, (buffer-local-value ... b)))))) (lambda (b) (\` (def-buffer (\, (buffer-name b)) (\, (buffer-file-name b)) (\, (buffer-local-value (quote major-mode) b)))))) 0 nil nil)
cl-position(nil ((lambda (buffer) (when (funcall (with-no-warnings (quote (lambda ... ...))) buffer) (let ((vars-list (with-current-buffer buffer ...))) (funcall (with-no-warnings (quote ...)) buffer (quote def-indirect-buffer) vars-list)))) (lambda (buffer) (when (funcall (with-no-warnings (quote (lambda ... ...))) buffer) (let ((vars-list (with-current-buffer buffer ...))) (list (quote def-compilation-buffer) (buffer-name buffer) vars-list)))) (lambda (buffer) (when (funcall (with-no-warnings (quote (lambda ... ...))) buffer) (let ((vars-list (with-current-buffer buffer ...))) (list (quote def-eshell-buffer) (buffer-name buffer) vars-list)))) (lambda (b) (when (persp-buffer-filtered-out-p b persp-filter-save-buffers-functions) (quote skip))) persp-tramp-save-buffer (lambda (b) (when (eq (quote dired-mode) (buffer-local-value (quote major-mode) b)) (\` (def-buffer (\, (buffer-name b)) (\, (buffer-local-value ... b)) (\, (buffer-local-value ... b)))))) (lambda (b) (\` (def-buffer (\, (buffer-name b)) (\, (buffer-file-name b)) (\, (buffer-local-value (quote major-mode) b)))))) :if (lambda (sl) (if sl (progn (setq find-ret sl)))) :key (lambda (s-f) (save-current-buffer (set-buffer b) (funcall s-f b))))
apply(cl-position nil ((lambda (buffer) (when (funcall (with-no-warnings (quote (lambda ... ...))) buffer) (let ((vars-list (with-current-buffer buffer ...))) (funcall (with-no-warnings (quote ...)) buffer (quote def-indirect-buffer) vars-list)))) (lambda (buffer) (when (funcall (with-no-warnings (quote (lambda ... ...))) buffer) (let ((vars-list (with-current-buffer buffer ...))) (list (quote def-compilation-buffer) (buffer-name buffer) vars-list)))) (lambda (buffer) (when (funcall (with-no-warnings (quote (lambda ... ...))) buffer) (let ((vars-list (with-current-buffer buffer ...))) (list (quote def-eshell-buffer) (buffer-name buffer) vars-list)))) (lambda (b) (when (persp-buffer-filtered-out-p b persp-filter-save-buffers-functions) (quote skip))) persp-tramp-save-buffer (lambda (b) (when (eq (quote dired-mode) (buffer-local-value (quote major-mode) b)) (\` (def-buffer (\, (buffer-name b)) (\, (buffer-local-value ... b)) (\, (buffer-local-value ... b)))))) (lambda (b) (\` (def-buffer (\, (buffer-name b)) (\, (buffer-file-name b)) (\, (buffer-local-value (quote major-mode) b)))))) (:if (lambda (sl) (if sl (progn (setq find-ret sl)))) :key (lambda (s-f) (save-current-buffer (set-buffer b) (funcall s-f b)))))
cl-find(nil ((lambda (buffer) (when (funcall (with-no-warnings (quote (lambda ... ...))) buffer) (let ((vars-list (with-current-buffer buffer ...))) (funcall (with-no-warnings (quote ...)) buffer (quote def-indirect-buffer) vars-list)))) (lambda (buffer) (when (funcall (with-no-warnings (quote (lambda ... ...))) buffer) (let ((vars-list (with-current-buffer buffer ...))) (list (quote def-compilation-buffer) (buffer-name buffer) vars-list)))) (lambda (buffer) (when (funcall (with-no-warnings (quote (lambda ... ...))) buffer) (let ((vars-list (with-current-buffer buffer ...))) (list (quote def-eshell-buffer) (buffer-name buffer) vars-list)))) (lambda (b) (when (persp-buffer-filtered-out-p b persp-filter-save-buffers-functions) (quote skip))) persp-tramp-save-buffer (lambda (b) (when (eq (quote dired-mode) (buffer-local-value (quote major-mode) b)) (\` (def-buffer (\, (buffer-name b)) (\, (buffer-local-value ... b)) (\, (buffer-local-value ... b)))))) (lambda (b) (\` (def-buffer (\, (buffer-name b)) (\, (buffer-file-name b)) (\, (buffer-local-value (quote major-mode) b)))))) :if (lambda (sl) (if sl (progn (setq find-ret sl)))) :key (lambda (s-f) (save-current-buffer (set-buffer b) (funcall s-f b))))
apply(cl-find nil ((lambda (buffer) (when (funcall (with-no-warnings (quote (lambda ... ...))) buffer) (let ((vars-list (with-current-buffer buffer ...))) (funcall (with-no-warnings (quote ...)) buffer (quote def-indirect-buffer) vars-list)))) (lambda (buffer) (when (funcall (with-no-warnings (quote (lambda ... ...))) buffer) (let ((vars-list (with-current-buffer buffer ...))) (list (quote def-compilation-buffer) (buffer-name buffer) vars-list)))) (lambda (buffer) (when (funcall (with-no-warnings (quote (lambda ... ...))) buffer) (let ((vars-list (with-current-buffer buffer ...))) (list (quote def-eshell-buffer) (buffer-name buffer) vars-list)))) (lambda (b) (when (persp-buffer-filtered-out-p b persp-filter-save-buffers-functions) (quote skip))) persp-tramp-save-buffer (lambda (b) (when (eq (quote dired-mode) (buffer-local-value (quote major-mode) b)) (\` (def-buffer (\, (buffer-name b)) (\, (buffer-local-value ... b)) (\, (buffer-local-value ... b)))))) (lambda (b) (\` (def-buffer (\, (buffer-name b)) (\, (buffer-file-name b)) (\, (buffer-local-value (quote major-mode) b)))))) :if (lambda (sl) (if sl (progn (setq find-ret sl)))) (:key (lambda (s-f) (save-current-buffer (set-buffer b) (funcall s-f b)))))
find-if((lambda (sl) (if sl (progn (setq find-ret sl)))) ((lambda (buffer) (when (funcall (with-no-warnings (quote (lambda ... ...))) buffer) (let ((vars-list (with-current-buffer buffer ...))) (funcall (with-no-warnings (quote ...)) buffer (quote def-indirect-buffer) vars-list)))) (lambda (buffer) (when (funcall (with-no-warnings (quote (lambda ... ...))) buffer) (let ((vars-list (with-current-buffer buffer ...))) (list (quote def-compilation-buffer) (buffer-name buffer) vars-list)))) (lambda (buffer) (when (funcall (with-no-warnings (quote (lambda ... ...))) buffer) (let ((vars-list (with-current-buffer buffer ...))) (list (quote def-eshell-buffer) (buffer-name buffer) vars-list)))) (lambda (b) (when (persp-buffer-filtered-out-p b persp-filter-save-buffers-functions) (quote skip))) persp-tramp-save-buffer (lambda (b) (when (eq (quote dired-mode) (buffer-local-value (quote major-mode) b)) (\` (def-buffer (\, (buffer-name b)) (\, (buffer-local-value ... b)) (\, (buffer-local-value ... b)))))) (lambda (b) (\` (def-buffer (\, (buffer-name b)) (\, (buffer-file-name b)) (\, (buffer-local-value (quote major-mode) b)))))) :key (lambda (s-f) (save-current-buffer (set-buffer b) (funcall s-f b))))
(lambda (b) (setq find-ret nil) (find-if (function (lambda (sl) (if sl (progn (setq find-ret sl))))) persp-save-buffer-functions :key (function (lambda (s-f) (save-current-buffer (set-buffer b) (funcall s-f b))))) find-ret)(#<killed buffer>)
mapcar((lambda (b) (setq find-ret nil) (find-if (function (lambda (sl) (if sl (progn (setq find-ret sl))))) persp-save-buffer-functions :key (function (lambda (s-f) (save-current-buffer (set-buffer b) (funcall s-f b))))) find-ret) (#<killed buffer> #<killed buffer> #<killed buffer> #<killed buffer> #<buffer header-splash.phtml<2>> #<buffer *doom:vterm-popup:#1*> #<buffer footer-splash.phtml> #<buffer index.phtml<2>> #<buffer index.phtml> #<buffer styles.css> #<buffer header-splash.phtml> #<buffer ISSUE_TEMPLATE.md>))
(let (find-ret) (mapcar (function (lambda (b) (setq find-ret nil) (find-if (function (lambda (sl) (if sl ...))) persp-save-buffer-functions :key (function (lambda (s-f) (save-current-buffer ... ...)))) find-ret)) (if persp (progn (or (and (memq (type-of persp) cl-struct-perspective-tags) t) (signal (quote wrong-type-argument) (list (quote perspective) persp))) (aref persp 2)) (delete-if-not (function persp-buffer-free-p) (funcall persp-buffer-list-function)))))
(delete-if (function symbolp) (let (find-ret) (mapcar (function (lambda (b) (setq find-ret nil) (find-if (function (lambda ... ...)) persp-save-buffer-functions :key (function (lambda ... ...))) find-ret)) (if persp (progn (or (and (memq ... cl-struct-perspective-tags) t) (signal (quote wrong-type-argument) (list ... persp))) (aref persp 2)) (delete-if-not (function persp-buffer-free-p) (funcall persp-buffer-list-function))))))
(lambda (persp) (delete-if (function symbolp) (let (find-ret) (mapcar (function (lambda (b) (setq find-ret nil) (find-if (function ...) persp-save-buffer-functions :key (function ...)) find-ret)) (if persp (progn (or (and ... t) (signal ... ...)) (aref persp 2)) (delete-if-not (function persp-buffer-free-p) (funcall persp-buffer-list-function)))))))(#s(perspective :name "#1" :buffers (#<buffer *Backtrace*> #<killed buffer> #<killed buffer> #<killed buffer> #<killed buffer> #<buffer header-splash.phtml<2>> #<buffer *doom:vterm-popup:#1*> #<buffer footer-splash.phtml> #<buffer index.phtml<2>> #<buffer index.phtml> #<buffer styles.css> #<buffer header-splash.phtml> #<buffer ISSUE_TEMPLATE.md>) :window-conf (((min-height . 8) (min-width . 20) (min-height-ignore . 6) (min-width-ignore . 6) (min-height-safe . 2) (min-width-safe . 4) (min-pixel-height . 184) (min-pixel-width . 200) (min-pixel-height-ignore . 126) (min-pixel-width-ignore . 57) (min-pixel-height-safe . 46) (min-pixel-width-safe . 40)) hc (pixel-width . 2556) (pixel-height . 1368) (total-width . 256) (total-height . 59) (normal-height . 1.0) (normal-width . 1.0) (combination-limit) (leaf (pixel-width . 1278) (pixel-height . 1368) (total-width . 128) (total-height . 59) (normal-height . 1.0) (normal-width . 0.5) (parameters (better-jumper-struct . #s(better-jumper-jump-list-struct :ring (0 10 . [... ... ... ... ... ... ... ... ... ... nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil ...]) :idx -1))) (buffer "header-splash.phtml" (selected . t) (hscroll . 0) (fringes 4 4 t) (margins nil) (scroll-bars nil 0 t nil 0 t) (vscroll . 0) (dedicated) (point . 7718) (start . 6940))) (vc (last . t) (pixel-width . 1278) (pixel-height . 1368) (total-width . 128) (total-height . 59) (normal-height . 1.0) (normal-width . 0.5) (combination-limit) (leaf (pixel-width . 1278) (pixel-height . 684) (total-width . 128) (total-height . 29) (normal-height . 0.5) (normal-width . 1.0) (parameters (better-jumper-struct . #s(better-jumper-jump-list-struct :ring ... :idx -1))) (buffer "header-splash.phtml<2>" (selected) (hscroll . 0) (fringes 4 4 t) (margins nil) (scroll-bars nil 0 t nil 0 t) (vscroll . 0) (dedicated) (point . 4758) (start . 4522))) (leaf (last . t) (pixel-width . 1278) (pixel-height . 684) (total-width . 128) (total-height . 30) (normal-height . 0.5) (normal-width . 1.0) (parameters (better-jumper-struct . #s(better-jumper-jump-list-struct :ring ... :idx -1))) (buffer "footer-splash.phtml" (selected) (hscroll . 0) (fringes 4 4 t) (margins nil) (scroll-bars nil 0 t nil 0 t) (vscroll . 0) (dedicated) (point . 4457) (start . 3861))))) :parameters ((last-project-root . "/Users/codywilson/Development/dot-files/")) :weak nil :auto nil :hidden nil))
apply((lambda (persp) (delete-if (function symbolp) (let (find-ret) (mapcar (function (lambda (b) (setq find-ret nil) (find-if ... persp-save-buffer-functions :key ...) find-ret)) (if persp (progn (or ... ...) (aref persp 2)) (delete-if-not (function persp-buffer-free-p) (funcall persp-buffer-list-function))))))) #s(perspective :name "#1" :buffers (#<buffer *Backtrace*> #<killed buffer> #<killed buffer> #<killed buffer> #<killed buffer> #<buffer header-splash.phtml<2>> #<buffer *doom:vterm-popup:#1*> #<buffer footer-splash.phtml> #<buffer index.phtml<2>> #<buffer index.phtml> #<buffer styles.css> #<buffer header-splash.phtml> #<buffer ISSUE_TEMPLATE.md>) :window-conf (((min-height . 8) (min-width . 20) (min-height-ignore . 6) (min-width-ignore . 6) (min-height-safe . 2) (min-width-safe . 4) (min-pixel-height . 184) (min-pixel-width . 200) (min-pixel-height-ignore . 126) (min-pixel-width-ignore . 57) (min-pixel-height-safe . 46) (min-pixel-width-safe . 40)) hc (pixel-width . 2556) (pixel-height . 1368) (total-width . 256) (total-height . 59) (normal-height . 1.0) (normal-width . 1.0) (combination-limit) (leaf (pixel-width . 1278) (pixel-height . 1368) (total-width . 128) (total-height . 59) (normal-height . 1.0) (normal-width . 0.5) (parameters (better-jumper-struct . #s(better-jumper-jump-list-struct :ring (0 10 . [... ... ... ... ... ... ... ... ... ... nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil ...]) :idx -1))) (buffer "header-splash.phtml" (selected . t) (hscroll . 0) (fringes 4 4 t) (margins nil) (scroll-bars nil 0 t nil 0 t) (vscroll . 0) (dedicated) (point . 7718) (start . 6940))) (vc (last . t) (pixel-width . 1278) (pixel-height . 1368) (total-width . 128) (total-height . 59) (normal-height . 1.0) (normal-width . 0.5) (combination-limit) (leaf (pixel-width . 1278) (pixel-height . 684) (total-width . 128) (total-height . 29) (normal-height . 0.5) (normal-width . 1.0) (parameters (better-jumper-struct . #s(better-jumper-jump-list-struct :ring ... :idx -1))) (buffer "header-splash.phtml<2>" (selected) (hscroll . 0) (fringes 4 4 t) (margins nil) (scroll-bars nil 0 t nil 0 t) (vscroll . 0) (dedicated) (point . 4758) (start . 4522))) (leaf (last . t) (pixel-width . 1278) (pixel-height . 684) (total-width . 128) (total-height . 30) (normal-height . 0.5) (normal-width . 1.0) (parameters (better-jumper-struct . #s(better-jumper-jump-list-struct :ring ... :idx -1))) (buffer "footer-splash.phtml" (selected) (hscroll . 0) (fringes 4 4 t) (margins nil) (scroll-bars nil 0 t nil 0 t) (vscroll . 0) (dedicated) (point . 4457) (start . 3861))))) :parameters ((last-project-root . "/Users/codywilson/Development/dot-files/")) :weak nil :auto nil :hidden nil))
persp-buffers-to-savelist(#s(perspective :name "#1" :buffers (#<buffer *Backtrace*> #<killed buffer> #<killed buffer> #<killed buffer> #<killed buffer> #<buffer header-splash.phtml<2>> #<buffer *doom:vterm-popup:#1*> #<buffer footer-splash.phtml> #<buffer index.phtml<2>> #<buffer index.phtml> #<buffer styles.css> #<buffer header-splash.phtml> #<buffer ISSUE_TEMPLATE.md>) :window-conf (((min-height . 8) (min-width . 20) (min-height-ignore . 6) (min-width-ignore . 6) (min-height-safe . 2) (min-width-safe . 4) (min-pixel-height . 184) (min-pixel-width . 200) (min-pixel-height-ignore . 126) (min-pixel-width-ignore . 57) (min-pixel-height-safe . 46) (min-pixel-width-safe . 40)) hc (pixel-width . 2556) (pixel-height . 1368) (total-width . 256) (total-height . 59) (normal-height . 1.0) (normal-width . 1.0) (combination-limit) (leaf (pixel-width . 1278) (pixel-height . 1368) (total-width . 128) (total-height . 59) (normal-height . 1.0) (normal-width . 0.5) (parameters (better-jumper-struct . #s(better-jumper-jump-list-struct :ring (0 10 . [... ... ... ... ... ... ... ... ... ... nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil ...]) :idx -1))) (buffer "header-splash.phtml" (selected . t) (hscroll . 0) (fringes 4 4 t) (margins nil) (scroll-bars nil 0 t nil 0 t) (vscroll . 0) (dedicated) (point . 7718) (start . 6940))) (vc (last . t) (pixel-width . 1278) (pixel-height . 1368) (total-width . 128) (total-height . 59) (normal-height . 1.0) (normal-width . 0.5) (combination-limit) (leaf (pixel-width . 1278) (pixel-height . 684) (total-width . 128) (total-height . 29) (normal-height . 0.5) (normal-width . 1.0) (parameters (better-jumper-struct . #s(better-jumper-jump-list-struct :ring ... :idx -1))) (buffer "header-splash.phtml<2>" (selected) (hscroll . 0) (fringes 4 4 t) (margins nil) (scroll-bars nil 0 t nil 0 t) (vscroll . 0) (dedicated) (point . 4758) (start . 4522))) (leaf (last . t) (pixel-width . 1278) (pixel-height . 684) (total-width . 128) (total-height . 30) (normal-height . 0.5) (normal-width . 1.0) (parameters (better-jumper-struct . #s(better-jumper-jump-list-struct :ring ... :idx -1))) (buffer "footer-splash.phtml" (selected) (hscroll . 0) (fringes 4 4 t) (margins nil) (scroll-bars nil 0 t nil 0 t) (vscroll . 0) (dedicated) (point . 4457) (start . 3861))))) :parameters ((last-project-root . "/Users/codywilson/Development/dot-files/")) :weak nil :auto nil :hidden nil))
(list (quote def-persp) (and persp (progn (or (and (memq (type-of persp) cl-struct-perspective-tags) t) (signal (quote wrong-type-argument) (list (quote perspective) persp))) (aref persp 1))) (persp-buffers-to-savelist persp) (persp-window-conf-to-savelist persp) (persp-parameters-to-savelist persp) (safe-persp-weak persp) (safe-persp-auto persp) (safe-persp-hidden persp))
persp-to-savelist(#s(perspective :name "#1" :buffers (#<buffer *Backtrace*> #<killed buffer> #<killed buffer> #<killed buffer> #<killed buffer> #<buffer header-splash.phtml<2>> #<buffer *doom:vterm-popup:#1*> #<buffer footer-splash.phtml> #<buffer index.phtml<2>> #<buffer index.phtml> #<buffer styles.css> #<buffer header-splash.phtml> #<buffer ISSUE_TEMPLATE.md>) :window-conf (((min-height . 8) (min-width . 20) (min-height-ignore . 6) (min-width-ignore . 6) (min-height-safe . 2) (min-width-safe . 4) (min-pixel-height . 184) (min-pixel-width . 200) (min-pixel-height-ignore . 126) (min-pixel-width-ignore . 57) (min-pixel-height-safe . 46) (min-pixel-width-safe . 40)) hc (pixel-width . 2556) (pixel-height . 1368) (total-width . 256) (total-height . 59) (normal-height . 1.0) (normal-width . 1.0) (combination-limit) (leaf (pixel-width . 1278) (pixel-height . 1368) (total-width . 128) (total-height . 59) (normal-height . 1.0) (normal-width . 0.5) (parameters (better-jumper-struct . #s(better-jumper-jump-list-struct :ring (0 10 . [... ... ... ... ... ... ... ... ... ... nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil ...]) :idx -1))) (buffer "header-splash.phtml" (selected . t) (hscroll . 0) (fringes 4 4 t) (margins nil) (scroll-bars nil 0 t nil 0 t) (vscroll . 0) (dedicated) (point . 7718) (start . 6940))) (vc (last . t) (pixel-width . 1278) (pixel-height . 1368) (total-width . 128) (total-height . 59) (normal-height . 1.0) (normal-width . 0.5) (combination-limit) (leaf (pixel-width . 1278) (pixel-height . 684) (total-width . 128) (total-height . 29) (normal-height . 0.5) (normal-width . 1.0) (parameters (better-jumper-struct . #s(better-jumper-jump-list-struct :ring ... :idx -1))) (buffer "header-splash.phtml<2>" (selected) (hscroll . 0) (fringes 4 4 t) (margins nil) (scroll-bars nil 0 t nil 0 t) (vscroll . 0) (dedicated) (point . 4758) (start . 4522))) (leaf (last . t) (pixel-width . 1278) (pixel-height . 684) (total-width . 128) (total-height . 30) (normal-height . 0.5) (normal-width . 1.0) (parameters (better-jumper-struct . #s(better-jumper-jump-list-struct :ring ... :idx -1))) (buffer "footer-splash.phtml" (selected) (hscroll . 0) (fringes 4 4 t) (margins nil) (scroll-bars nil 0 t nil 0 t) (vscroll . 0) (dedicated) (point . 4457) (start . 3861))))) :parameters ((last-project-root . "/Users/codywilson/Development/dot-files/")) :weak nil :auto nil :hidden nil))
mapcar(persp-to-savelist (nil #s(perspective :name "main" :buffers (#<buffer *doom*> #<buffer config.el> #<buffer packages.el>) :window-conf (((min-height . 4) (min-width . 10) (min-height-ignore . 3) (min-width-ignore . 3) (min-height-safe . 1) (min-width-safe . 2) (min-pixel-height . 92) (min-pixel-width . 100) (min-pixel-height-ignore . 63) (min-pixel-width-ignore . 28) (min-pixel-height-safe . 23) (min-pixel-width-safe . 20)) leaf (pixel-width . 2556) (pixel-height . 1368) (total-width . 256) (total-height . 59) (normal-height . 1.0) (normal-width . 1.0) (parameters (better-jumper-struct . #s(better-jumper-jump-list-struct :ring (0 10 . [... ... ... ... ... ... ... ... ... ... nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil ...]) :idx -1))) (buffer "packages.el" (selected . t) (hscroll . 0) (fringes 4 4 t) (margins nil) (scroll-bars nil 0 t nil 0 t) (vscroll . 0) (dedicated) (point . 614) (start . 32))) :parameters ((last-project-root . "/Users/codywilson/Development/dot-files/")) :weak nil :auto nil :hidden nil) #s(perspective :name "#1" :buffers (#<buffer *Backtrace*> #<killed buffer> #<killed buffer> #<killed buffer> #<killed buffer> #<buffer header-splash.phtml<2>> #<buffer *doom:vterm-popup:#1*> #<buffer footer-splash.phtml> #<buffer index.phtml<2>> #<buffer index.phtml> #<buffer styles.css> #<buffer header-splash.phtml> #<buffer ISSUE_TEMPLATE.md>) :window-conf (((min-height . 8) (min-width . 20) (min-height-ignore . 6) (min-width-ignore . 6) (min-height-safe . 2) (min-width-safe . 4) (min-pixel-height . 184) (min-pixel-width . 200) (min-pixel-height-ignore . 126) (min-pixel-width-ignore . 57) (min-pixel-height-safe . 46) (min-pixel-width-safe . 40)) hc (pixel-width . 2556) (pixel-height . 1368) (total-width . 256) (total-height . 59) (normal-height . 1.0) (normal-width . 1.0) (combination-limit) (leaf (pixel-width . 1278) (pixel-height . 1368) (total-width . 128) (total-height . 59) (normal-height . 1.0) (normal-width . 0.5) (parameters (better-jumper-struct . #s(better-jumper-jump-list-struct :ring ... :idx -1))) (buffer "header-splash.phtml" (selected . t) (hscroll . 0) (fringes 4 4 t) (margins nil) (scroll-bars nil 0 t nil 0 t) (vscroll . 0) (dedicated) (point . 7718) (start . 6940))) (vc (last . t) (pixel-width . 1278) (pixel-height . 1368) (total-width . 128) (total-height . 59) (normal-height . 1.0) (normal-width . 0.5) (combination-limit) (leaf (pixel-width . 1278) (pixel-height . 684) (total-width . 128) (total-height . 29) (normal-height . 0.5) (normal-width . 1.0) (parameters (better-jumper-struct . #s(better-jumper-jump-list-struct :ring ... :idx -1))) (buffer "header-splash.phtml<2>" (selected) (hscroll . 0) (fringes 4 4 t) (margins nil) (scroll-bars nil 0 t nil 0 t) (vscroll . 0) (dedicated) (point . 4758) (start . 4522))) (leaf (last . t) (pixel-width . 1278) (pixel-height . 684) (total-width . 128) (total-height . 30) (normal-height . 0.5) (normal-width . 1.0) (parameters (better-jumper-struct . #s(better-jumper-jump-list-struct :ring ... :idx -1))) (buffer "footer-splash.phtml" (selected) (hscroll . 0) (fringes 4 4 t) (margins nil) (scroll-bars nil 0 t nil 0 t) (vscroll . 0) (dedicated) (point . 4457) (start . 3861))))) :parameters ((last-project-root . "/Users/codywilson/Development/dot-files/")) :weak nil :auto nil :hidden nil)))
persps-to-savelist(#<hash-table equal 3/10 0x40b42221>)
(prin1-to-string (persps-to-savelist phash))
(let (print-length print-level) (prin1-to-string (persps-to-savelist phash)))
(insert (let (print-length print-level) (prin1-to-string (persps-to-savelist phash))))
(progn (buffer-disable-undo) (erase-buffer) (goto-char (point-min)) (insert ";; -*- mode: emacs-lisp; eval: (progn (pp-buffer) (indent-buffer)) -*-") (newline) (insert (let (print-length print-level) (prin1-to-string (persps-to-savelist phash)))) (persp-save-with-backups p-save-file))
(unwind-protect (progn (buffer-disable-undo) (erase-buffer) (goto-char (point-min)) (insert ";; -*- mode: emacs-lisp; eval: (progn (pp-buffer) (indent-buffer)) -*-") (newline) (insert (let (print-length print-level) (prin1-to-string (persps-to-savelist phash)))) (persp-save-with-backups p-save-file)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))
(save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (buffer-disable-undo) (erase-buffer) (goto-char (point-min)) (insert ";; -*- mode: emacs-lisp; eval: (progn (pp-buffer) (indent-buffer)) -*-") (newline) (insert (let (print-length print-level) (prin1-to-string (persps-to-savelist phash)))) (persp-save-with-backups p-save-file)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))
(let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (buffer-disable-undo) (erase-buffer) (goto-char (point-min)) (insert ";; -*- mode: emacs-lisp; eval: (progn (pp-buffer) (indent-buffer)) -*-") (newline) (insert (let (print-length print-level) (prin1-to-string (persps-to-savelist phash)))) (persp-save-with-backups p-save-file)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))))
(if (and respect-persp-file-parameter (member-if (apply-partially (function persp-parameter) (quote persp-file)) (persp-persps phash nil))) (let (persp-auto-save-persps-to-their-file persp-before-save-state-to-file-functions) (mapc (function (lambda (gr) (let* ((pl gr) (pfname ...)) (let (...) (if pfname ... ...))))) (persp-group-by (apply-partially (function persp-parameter) (quote persp-file)) (persp-persps phash nil t) t))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (buffer-disable-undo) (erase-buffer) (goto-char (point-min)) (insert ";; -*- mode: emacs-lisp; eval: (progn (pp-buffer) (indent-buffer)) -*-") (newline) (insert (let (print-length print-level) (prin1-to-string ...))) (persp-save-with-backups p-save-file)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))))
(if (not (and (file-exists-p p-save-dir) (file-directory-p p-save-dir))) (progn (message "[persp-mode] Error: Can't save perspectives -- `persp-save-dir' does not exists or not a directory %S." p-save-dir) nil) (mapc (function persp-save-state) (persp-persps phash)) (run-hook-with-args (quote persp-before-save-state-to-file-functions) fname phash respect-persp-file-parameter) (if (and respect-persp-file-parameter (member-if (apply-partially (function persp-parameter) (quote persp-file)) (persp-persps phash nil))) (let (persp-auto-save-persps-to-their-file persp-before-save-state-to-file-functions) (mapc (function (lambda (gr) (let* (... ...) (let ... ...)))) (persp-group-by (apply-partially (function persp-parameter) (quote persp-file)) (persp-persps phash nil t) t))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (buffer-disable-undo) (erase-buffer) (goto-char (point-min)) (insert ";; -*- mode: emacs-lisp; eval: (progn (pp-buffer) (indent-buffer)) -*-") (newline) (insert (let ... ...)) (persp-save-with-backups p-save-file)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))))))
(let* ((p-save-dir (or (file-name-directory fname) (expand-file-name persp-save-dir))) (p-save-file (concat p-save-dir (file-name-nondirectory fname)))) (if (and (file-exists-p p-save-dir) (file-directory-p p-save-dir)) nil (message "[persp-mode] Info: Trying to create the `persp-conf-dir'.") (make-directory p-save-dir t)) (if (not (and (file-exists-p p-save-dir) (file-directory-p p-save-dir))) (progn (message "[persp-mode] Error: Can't save perspectives -- `persp-save-dir' does not exists or not a directory %S." p-save-dir) nil) (mapc (function persp-save-state) (persp-persps phash)) (run-hook-with-args (quote persp-before-save-state-to-file-functions) fname phash respect-persp-file-parameter) (if (and respect-persp-file-parameter (member-if (apply-partially (function persp-parameter) (quote persp-file)) (persp-persps phash nil))) (let (persp-auto-save-persps-to-their-file persp-before-save-state-to-file-functions) (mapc (function (lambda (gr) (let* ... ...))) (persp-group-by (apply-partially (function persp-parameter) (quote persp-file)) (persp-persps phash nil t) t))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (buffer-disable-undo) (erase-buffer) (goto-char ...) (insert ";; -*- mode: emacs-lisp; eval: (progn (pp-buffer) (indent-buffer)) -*-") (newline) (insert ...) (persp-save-with-backups p-save-file)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))))))
(progn (if (< (string-width (file-name-nondirectory fname)) 1) (progn (message "[persp-mode] Error: You must provide nonempty filename to save perspectives.") (throw (quote --cl-block-persp-save-state-to-file--) nil))) (let* ((p-save-dir (or (file-name-directory fname) (expand-file-name persp-save-dir))) (p-save-file (concat p-save-dir (file-name-nondirectory fname)))) (if (and (file-exists-p p-save-dir) (file-directory-p p-save-dir)) nil (message "[persp-mode] Info: Trying to create the `persp-conf-dir'.") (make-directory p-save-dir t)) (if (not (and (file-exists-p p-save-dir) (file-directory-p p-save-dir))) (progn (message "[persp-mode] Error: Can't save perspectives -- `persp-save-dir' does not exists or not a directory %S." p-save-dir) nil) (mapc (function persp-save-state) (persp-persps phash)) (run-hook-with-args (quote persp-before-save-state-to-file-functions) fname phash respect-persp-file-parameter) (if (and respect-persp-file-parameter (member-if (apply-partially (function persp-parameter) (quote persp-file)) (persp-persps phash nil))) (let (persp-auto-save-persps-to-their-file persp-before-save-state-to-file-functions) (mapc (function (lambda ... ...)) (persp-group-by (apply-partially ... ...) (persp-persps phash nil t) t))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn ... ... ... ... ... ... ...) (and ... ...))))))))
(if (and (stringp fname) phash) (progn (if (< (string-width (file-name-nondirectory fname)) 1) (progn (message "[persp-mode] Error: You must provide nonempty filename to save perspectives.") (throw (quote --cl-block-persp-save-state-to-file--) nil))) (let* ((p-save-dir (or (file-name-directory fname) (expand-file-name persp-save-dir))) (p-save-file (concat p-save-dir (file-name-nondirectory fname)))) (if (and (file-exists-p p-save-dir) (file-directory-p p-save-dir)) nil (message "[persp-mode] Info: Trying to create the `persp-conf-dir'.") (make-directory p-save-dir t)) (if (not (and (file-exists-p p-save-dir) (file-directory-p p-save-dir))) (progn (message "[persp-mode] Error: Can't save perspectives -- `persp-save-dir' does not exists or not a directory %S." p-save-dir) nil) (mapc (function persp-save-state) (persp-persps phash)) (run-hook-with-args (quote persp-before-save-state-to-file-functions) fname phash respect-persp-file-parameter) (if (and respect-persp-file-parameter (member-if (apply-partially ... ...) (persp-persps phash nil))) (let (persp-auto-save-persps-to-their-file persp-before-save-state-to-file-functions) (mapc (function ...) (persp-group-by ... ... t))) (let ((temp-buffer ...)) (save-current-buffer (set-buffer temp-buffer) (unwind-protect ... ...))))))))
(catch (quote --cl-block-persp-save-state-to-file--) (if (and (stringp fname) phash) (progn (if (< (string-width (file-name-nondirectory fname)) 1) (progn (message "[persp-mode] Error: You must provide nonempty filename to save perspectives.") (throw (quote --cl-block-persp-save-state-to-file--) nil))) (let* ((p-save-dir (or (file-name-directory fname) (expand-file-name persp-save-dir))) (p-save-file (concat p-save-dir (file-name-nondirectory fname)))) (if (and (file-exists-p p-save-dir) (file-directory-p p-save-dir)) nil (message "[persp-mode] Info: Trying to create the `persp-conf-dir'.") (make-directory p-save-dir t)) (if (not (and (file-exists-p p-save-dir) (file-directory-p p-save-dir))) (progn (message "[persp-mode] Error: Can't save perspectives -- `persp-save-dir' does not exists or not a directory %S." p-save-dir) nil) (mapc (function persp-save-state) (persp-persps phash)) (run-hook-with-args (quote persp-before-save-state-to-file-functions) fname phash respect-persp-file-parameter) (if (and respect-persp-file-parameter (member-if ... ...)) (let (persp-auto-save-persps-to-their-file persp-before-save-state-to-file-functions) (mapc ... ...)) (let (...) (save-current-buffer ... ...))))))))
(progn (if --cl-rest-- (signal (quote wrong-number-of-arguments) (list (quote persp-save-state-to-file) (+ 4 (length --cl-rest--))))) (catch (quote --cl-block-persp-save-state-to-file--) (if (and (stringp fname) phash) (progn (if (< (string-width (file-name-nondirectory fname)) 1) (progn (message "[persp-mode] Error: You must provide nonempty filename to save perspectives.") (throw (quote --cl-block-persp-save-state-to-file--) nil))) (let* ((p-save-dir (or ... ...)) (p-save-file (concat p-save-dir ...))) (if (and (file-exists-p p-save-dir) (file-directory-p p-save-dir)) nil (message "[persp-mode] Info: Trying to create the `persp-conf-dir'.") (make-directory p-save-dir t)) (if (not (and ... ...)) (progn (message "[persp-mode] Error: Can't save perspectives -- `persp-save-dir' does not exists or not a directory %S." p-save-dir) nil) (mapc (function persp-save-state) (persp-persps phash)) (run-hook-with-args (quote persp-before-save-state-to-file-functions) fname phash respect-persp-file-parameter) (if (and respect-persp-file-parameter ...) (let ... ...) (let ... ...))))))))
(let* ((fname (if --cl-rest-- (car-safe (prog1 --cl-rest-- (setq --cl-rest-- (cdr --cl-rest--)))) persp-auto-save-fname)) (phash (if --cl-rest-- (car-safe (prog1 --cl-rest-- (setq --cl-rest-- (cdr --cl-rest--)))) *persp-hash*)) (respect-persp-file-parameter (if --cl-rest-- (car-safe (prog1 --cl-rest-- (setq --cl-rest-- (cdr --cl-rest--)))) persp-auto-save-persps-to-their-file)) (keep-others-in-non-parametric-file (if --cl-rest-- (car-safe (prog1 --cl-rest-- (setq --cl-rest-- (cdr --cl-rest--)))) (quote no)))) (progn (if --cl-rest-- (signal (quote wrong-number-of-arguments) (list (quote persp-save-state-to-file) (+ 4 (length --cl-rest--))))) (catch (quote --cl-block-persp-save-state-to-file--) (if (and (stringp fname) phash) (progn (if (< (string-width ...) 1) (progn (message "[persp-mode] Error: You must provide nonempty filename to save perspectives.") (throw ... nil))) (let* ((p-save-dir ...) (p-save-file ...)) (if (and ... ...) nil (message "[persp-mode] Info: Trying to create the `persp-conf-dir'.") (make-directory p-save-dir t)) (if (not ...) (progn ... nil) (mapc ... ...) (run-hook-with-args ... fname phash respect-persp-file-parameter) (if ... ... ...))))))))
persp-save-state-to-file("/Users/codywilson/.emacs.d/.local/etc/workspaces/autosave")
(cond ((require (quote persp-mode) nil t) (if persp-mode nil (persp-mode 1)) (setq persp-auto-save-opt 0) (persp-save-state-to-file file)) ((and (require (quote frameset) nil t) (require (quote restart-emacs) nil t)) (let ((frameset-filter-alist (append (quote (...)) frameset-filter-alist)) (desktop-base-file-name (file-name-nondirectory file)) (desktop-dirname (file-name-directory file)) (desktop-restore-eager t) desktop-file-modtime) (make-directory desktop-dirname t) (let ((desktop-file-modtime (nth 5 (file-attributes ...)))) (desktop-save desktop-dirname t)))) ((error "No session backend to save session with")))
doom-save-session()
doom/quicksave-session()
funcall-interactively(doom/quicksave-session)
call-interactively(doom/quicksave-session nil nil)
command-execute(doom/quicksave-session) Edit: Doom Info
|
243d69b should resolve this issue. I've also merged the straight branch to develop, so you'll need to switch back. Let me know if that isn't the case and I will reopen this issue. |
@hlissner I don't believe this is resolved and I was able to reproduce this today with the new straight updated develop branch. |
I have been unable to reproduce this on develop after the straight branch merge. I did run into a problem where on restart, the naming and ordering of the workspaces was preserved, but they would all be empty. I reinstalled |
Yeah I haven't been able to reproduce this since the fix, and the other fix for a different issue. |
I was just able to reproduce this on commit:
This time, the only distinction was that it occurred when I opened Emacs from a restart. |
@rgrinberg That seems like an unrelated error. Are you able to get a backtrace from it? |
Is there a way to restart doom with the debugger on? I should be able to get the backtrace then. |
@rgrinberg You can either use the prefix argument: |
I'm able to reproduce this bug the old way:
So this bug is definitely not fixed btw. |
I haven't seen this in ages, so it's likely to be fixed. |
It's been happening to me over the last few weeks - it happened a couple times yesterday on latest. Maybe it's something config related? I will try to dig further when I get a chance. |
Yeah, this is still an issue it seems. |
Definitely still an issue. Makes |
Yeah, guys. Honestly this issue should be closed. |
It is related, I haven't mentioned that, but |
Cool. |
Here's the backtrace that I get for
|
A few additional observations. When the problem occurs, |
As of 7d60318 this issue should hopefully be resolved. Let me know if it resurfaces and I'll reopen it. Thanks for bringing it to my attention! |
This is triggered every time I do
SPC q r
. I'm not sure if this a purpose or doom bug:The text was updated successfully, but these errors were encountered: