burly.el
burly.el copied to clipboard
Invalid burly URL with ivy-posframe, better-jumper, or bufler.el
Before the gnarly backtrace, what I think happens. (I'm on 7c03d63)
I have a invalid read syntax #
error when I try to restore frames with burly but it worked when I "only" save windows.
I dig up the backtrace and I think the issue is with the posframe-buffer frame-parameters (posframe-buffer
posframe-parent-buffer
), which are stored directly in their princ
forms. Either that or still the better-jumper (better-jumper-struct
) issue of #12, or the bufler-workspace-path-formatted
. Or the name
of the frames
Don't hesitate to search for the parameters
in the page, otherwise it's kind of hard to see where the issues are
The url I tried to restore :
emacs+burly+frames:?%5Bframeset%201%20%2824514%2033650%20510915%20775000%29%20nil%20nil%20nil%20nil%20%28%28%28%28minibuffer%29%20%28undecorated%20.%20t%29%20%28override-redirect%29%20%28font-parameter%20.%20%22-%2A-Iosevka-semilight-%2A-%2A-%2A-16-%2A-%2A-%2A-%2A-%2A-%2A-%2A%22%29%20%28font%20.%20%22-CYEL-Iosevka-normal-normal-normal-%2A-16-%2A-%2A-%2A-m-0-iso10646-1%22%29%20%28border-width%20.%200%29%20%28internal-border-width%20.%201%29%20%28right-divider-width%20.%201%29%20%28bottom-divider-width%20.%201%29%20%28vertical-scroll-bars%29%20%28horizontal-scroll-bars%29%20%28foreground-color%20.%20%22%23303030%22%29%20%28background-color%20.%20%22%23E4E4E4%22%29%20%28mouse-color%20.%20%22black%22%29%20%28border-color%20.%20%22black%22%29%20%28screen-gamma%29%20%28line-spacing%20.%200%29%20%28left-fringe%20.%204%29%20%28right-fringe%20.%204%29%20%28no-special-glyphs%20.%20t%29%20%28scroll-bar-foreground%20.%20%22black%22%29%20%28scroll-bar-background%29%20%28min-width%20.%2090%29%20%28min-height%20.%2010%29%20%28menu-bar-lines%20.%200%29%20%28tab-bar-lines%20.%200%29%20%28height%20.%2018%29%20%28tool-bar-lines%20.%200%29%20%28title%29%20%28wait-for-wm%20.%20t%29%20%28tool-bar-position%20.%20top%29%20%28inhibit-double-buffering%29%20%28icon-type%20.%20t%29%20%28auto-raise%29%20%28auto-lower%29%20%28cursor-type%29%20%28scroll-bar-width%20.%2016%29%20%28scroll-bar-height%20.%2016%29%20%28alpha%29%20%28no-focus-on-map%29%20%28no-accept-focus%20.%20t%29%20%28fullscreen%29%20%28visibility%29%20%28skip-taskbar%29%20%28z-group%29%20%28keep-ratio%20nil%29%20%28posframe-buffer%20%22%20%2Aivy-posframe-buffer%2A%22%20.%20%23%3Cbuffer%20%20%2Aivy-posframe-buffer%2A%3E%29%20%28no-other-frame%20.%20t%29%20%28desktop-dont-save%20.%20t%29%20%28display-type%20.%20color%29%20%28background-mode%20.%20light%29%20%28cursor-color%20.%20%22%23D7AF00%22%29%20%28posframe-hidehandler%29%20%28posframe-parent-buffer%20%22%2Adoom%2A%22%20.%20%23%3Cbuffer%20%2Adoom%2A%3E%29%20%28frameset--id%20.%20%224E95-0F1B-C33C-A509%22%29%20%28frameset--parent-frame%20.%20%22F962-4A16-16C0-C858%22%29%20%28frameset--mini%20nil%20.%20%22F962-4A16-16C0-C858%22%29%20%28frameset--text-pixel-width%20.%20728%29%20%28frameset--text-pixel-height%20.%20378%29%20%28name%20.%20%22%22%29%20%28width%20.%2091%29%20%28modeline%20.%20t%29%20%28unsplittable%20.%20t%29%20%28left%20.%20218%29%20%28top%20.%200%29%20%28icon-name%29%20%28display%20.%20%22%3A0%22%29%20%28explicit-name%29%29%20%28%28min-height%20.%204%29%20%28min-width%20.%2010%29%20%28min-height-ignore%20.%201%29%20%28min-width-ignore%20.%203%29%20%28min-height-safe%20.%201%29%20%28min-width-safe%20.%202%29%20%28min-pixel-height%20.%2084%29%20%28min-pixel-width%20.%2080%29%20%28min-pixel-height-ignore%20.%2021%29%20%28min-pixel-width-ignore%20.%2024%29%20%28min-pixel-height-safe%20.%2021%29%20%28min-pixel-width-safe%20.%2016%29%29%20leaf%20%28last%20.%20t%29%20%28pixel-width%20.%20744%29%20%28pixel-height%20.%20378%29%20%28total-width%20.%2093%29%20%28total-height%20.%2018%29%20%28normal-height%20.%201.0%29%20%28normal-width%20.%201.0%29%20%28parameters%20%28mode-line-format%20.%20none%29%20%28better-jumper-struct%20.%20%23s%28better-jumper-jump-list-struct%20%280%200%20.%20%5Bnil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%5D%29%20-1%29%29%20%28burly-url%20.%20%22emacs%2Bburly%2Bname%3A%2F%2F%3F%20%2Aivy-posframe-buffer%2A%22%29%29%20%28buffer%20%22%20%2Aivy-posframe-buffer%2A%22%20%28selected%29%20%28hscroll%20.%200%29%20%28fringes%204%204%20t%20nil%29%20%28margins%20nil%29%20%28scroll-bars%20nil%200%20t%20nil%200%20t%20nil%29%20%28vscroll%20.%200%29%20%28dedicated%20.%20t%29%20%28point%20.%201%29%20%28start%20.%201%29%29%20%28prev-buffers%20%28%22%2Ascratch%2A%22%201%201%29%29%29%20%28%28%28minibuffer%20.%20t%29%20%28undecorated%29%20%28override-redirect%29%20%28font%20.%20%22-CYEL-Iosevka-normal-normal-normal-%2A-16-%2A-%2A-%2A-m-0-iso10646-1%22%29%20%28border-width%20.%200%29%20%28internal-border-width%20.%200%29%20%28right-divider-width%20.%201%29%20%28bottom-divider-width%20.%201%29%20%28vertical-scroll-bars%29%20%28horizontal-scroll-bars%29%20%28foreground-color%20.%20%22%23303030%22%29%20%28background-color%20.%20%22%23EEEEEE%22%29%20%28mouse-color%20.%20%22black%22%29%20%28border-color%20.%20%22black%22%29%20%28screen-gamma%29%20%28line-spacing%29%20%28left-fringe%20.%204%29%20%28right-fringe%20.%204%29%20%28no-special-glyphs%29%20%28scroll-bar-foreground%20.%20%22black%22%29%20%28scroll-bar-background%29%20%28menu-bar-lines%20.%200%29%20%28tab-bar-lines%20.%201%29%20%28height%20.%2048%29%20%28tool-bar-lines%20.%200%29%20%28title%29%20%28wait-for-wm%20.%20t%29%20%28tool-bar-position%20.%20top%29%20%28inhibit-double-buffering%29%20%28icon-type%20.%20t%29%20%28auto-raise%29%20%28auto-lower%29%20%28cursor-type%20.%20box%29%20%28scroll-bar-width%20.%2016%29%20%28scroll-bar-height%20.%2016%29%20%28alpha%29%20%28no-focus-on-map%29%20%28no-accept-focus%29%20%28fullscreen%29%20%28visibility%20.%20t%29%20%28skip-taskbar%29%20%28z-group%29%20%28display-type%20.%20color%29%20%28background-mode%20.%20light%29%20%28cursor-color%20.%20%22%23D7AF00%22%29%20%28environment%29%20%28last-focus-update%20.%20t%29%20%28tabs%20%28tab%20%28name%20.%20%22main%22%29%20%28explicit-name%29%20%28time%20.%201606583139.78676%29%20%28ws%20%28%28min-height%20.%204%29%20%28min-width%20.%2035%29%20%28min-height-ignore%20.%203%29%20%28min-width-ignore%20.%2035%29%20%28min-height-safe%20.%201%29%20%28min-width-safe%20.%202%29%20%28min-pixel-height%20.%2084%29%20%28min-pixel-width%20.%20280%29%20%28min-pixel-height-ignore%20.%2063%29%20%28min-pixel-width-ignore%20.%20280%29%20%28min-pixel-height-safe%20.%2021%29%20%28min-pixel-width-safe%20.%2016%29%29%20leaf%20%28pixel-width%20.%201182%29%20%28pixel-height%20.%201011%29%20%28total-width%20.%20147%29%20%28total-height%20.%2048%29%20%28normal-height%20.%201.0%29%20%28normal-width%20.%201.0%29%20%28parameters%20%28better-jumper-struct%29%29%20%28buffer%20%22%2Adoom%2A%22%20%28selected%20.%20t%29%20%28hscroll%20.%200%29%20%28fringes%200%200%20nil%20nil%29%20%28margins%2033%29%20%28scroll-bars%20nil%200%20t%20nil%200%20t%20nil%29%20%28vscroll%20.%200%29%20%28dedicated%29%20%28point%20.%201%29%20%28start%20.%201%29%29%20%28prev-buffers%20%28%22%2Ascratch%2A%22%201%201%29%29%29%29%20%28current-tab%20%28name%20.%20%22emacs_rs%22%29%20%28explicit-name%20.%20t%29%29%29%20%28bufler-workspace-path%20%22emacs_rs%22%29%20%28bufler-workspace-path-formatted%20.%20%23%28%22emacs_rs%22%200%208%20%28face%20outline-1%29%29%29%20%28name%20.%20%23%28%22Workspace%3A%20emacs_rs%22%2011%2019%20%28face%20outline-1%29%29%29%20%28frameset--id%20.%20%22F962-4A16-16C0-C858%22%29%20%28frameset--mini%20t%20.%20t%29%20%28frameset--text-pixel-width%20.%201174%29%20%28frameset--text-pixel-height%20.%201011%29%20%28width%20.%20146%29%20%28modeline%20.%20t%29%20%28unsplittable%29%20%28left%20.%200%29%20%28top%20.%200%29%20%28icon-name%29%20%28display%20.%20%22%3A0%22%29%20%28explicit-name%20.%20t%29%29%20%28%28min-height%20.%204%29%20%28min-width%20.%2010%29%20%28min-height-ignore%20.%204%29%20%28min-width-ignore%20.%203%29%20%28min-height-safe%20.%201%29%20%28min-width-safe%20.%202%29%20%28min-pixel-height%20.%2084%29%20%28min-pixel-width%20.%2080%29%20%28min-pixel-height-ignore%20.%2084%29%20%28min-pixel-width-ignore%20.%2024%29%20%28min-pixel-height-safe%20.%2021%29%20%28min-pixel-width-safe%20.%2016%29%29%20leaf%20%28pixel-width%20.%201182%29%20%28pixel-height%20.%20990%29%20%28total-width%20.%20147%29%20%28total-height%20.%2047%29%20%28normal-height%20.%201.0%29%20%28normal-width%20.%201.0%29%20%28parameters%20%28better-jumper-struct%20.%20%23s%28better-jumper-jump-list-struct%20%280%201%20.%20%5B%28%22%2Fhome%2Fgagbo%2Fdev%2Fperso%2Femacs_rs%2Fsrc%2Flib.rs%22%20765%20%22olfofe%22%29%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%20nil%5D%29%20-1%29%29%20%28burly-url%20.%20%22emacs%2Bburly%2Bbookmark%3A%2F%2Flib.rs%3Ffilename%3D%2522~%252Fdev%252Fperso%252Femacs_rs%252Fsrc%252Flib.rs%2522%26front-context-string%3D%2522%252F%252F%2520%2520the%2520Free%2520Sof%2522%26rear-context-string%3D%2522as%2520published%2520by%250A%2522%26position%3D187%26defaults%3D%2528%2522lib.rs%2522%2529%22%29%29%20%28buffer%20%22lib.rs%22%20%28selected%20.%20t%29%20%28hscroll%20.%200%29%20%28fringes%204%204%20t%20nil%29%20%28margins%20nil%29%20%28scroll-bars%20nil%200%20t%20nil%200%20t%20nil%29%20%28vscroll%20.%200%29%20%28dedicated%29%20%28point%20.%20187%29%20%28start%20.%201%29%29%20%28prev-buffers%20%28%22%2Adoom%2A%22%201%201%29%29%29%29%5D
The ~~lisp object~~ string that goes into read
, manually formatted
[frameset 1
(24514 33650 510915 775000)
nil
nil
nil
nil
((
((minibuffer)
(undecorated . t) (override-redirect) (font-parameter . \"-*-Iosevka-semilight-*-*-*-16-*-*-*-*-*-*-*\")
(font . \"-CYEL-Iosevka-normal-normal-normal-*-16-*-*-*-m-0-iso10646-1\") (border-width . 0) (internal-border-width . 1)
(right-divider-width . 1) (bottom-divider-width . 1) (vertical-scroll-bars) (horizontal-scroll-bars)
(foreground-color . \"#303030\") (background-color . \"#E4E4E4\") (mouse-color . \"black\") (border-color . \"black\")
(screen-gamma) (line-spacing . 0) (left-fringe . 4) (right-fringe . 4) (no-special-glyphs . t)
(scroll-bar-foreground . \"black\") (scroll-bar-background) (min-width . 90) (min-height . 10)
(menu-bar-lines . 0) (tab-bar-lines . 0) (height . 18) (tool-bar-lines . 0) (title) (wait-for-wm . t)
(tool-bar-position . top) (inhibit-double-buffering) (icon-type . t) (auto-raise) (auto-lower)
(cursor-type) (scroll-bar-width . 16) (scroll-bar-height . 16) (alpha) (no-focus-on-map) (no-accept-focus . t)
(fullscreen) (visibility) (skip-taskbar) (z-group) (keep-ratio nil)
(posframe-buffer \" *ivy-posframe-buffer*\" . #<buffer *ivy-posframe-buffer*>)
(no-other-frame . t) (desktop-dont-save . t) (display-type . color) (background-mode . light)
(cursor-color . \"#D7AF00\") (posframe-hidehandler)
(posframe-parent-buffer \"*doom*\" . #<buffer *doom*>)
(frameset--id . \"4E95-0F1B-C33C-A509\") (frameset--parent-frame . \"F962-4A16-16C0-C858\")
(frameset--mini nil . \"F962-4A16-16C0-C858\") (frameset--text-pixel-width . 728)
(frameset--text-pixel-height . 378) (name . \"\") (width . 91) (modeline . t) (unsplittable . t)
(left . 218) (top . 0) (icon-name) (display . \":0\") (explicit-name))
((min-height . 4) (min-width . 10) (min-height-ignore . 1) (min-width-ignore . 3) (min-height-safe . 1)
(min-width-safe . 2) (min-pixel-height . 84) (min-pixel-width . 80) (min-pixel-height-ignore . 21)
(min-pixel-width-ignore . 24) (min-pixel-height-safe . 21) (min-pixel-width-safe . 16))
leaf
(last . t) (pixel-width . 744) (pixel-height . 378) (total-width . 93) (total-height . 18) (normal-height . 1.0) (normal-width . 1.0)
(parameters
(mode-line-format . none)
(better-jumper-struct . #s(better-jumper-jump-list-struct (0 0 . [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 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 nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil]) -1))
(burly-url . \"emacs+burly+name://? *ivy-posframe-buffer*\"))
(buffer \" *ivy-posframe-buffer*\" (selected) (hscroll . 0) (fringes 4 4 t nil) (margins nil)
(scroll-bars nil 0 t nil 0 t nil) (vscroll . 0) (dedicated . t) (point . 1) (start . 1))
(prev-buffers (\"*scratch*\" 1 1)))
(((minibuffer . t)
(undecorated) (override-redirect) (font . \"-CYEL-Iosevka-normal-normal-normal-*-16-*-*-*-m-0-iso10646-1\")
(border-width . 0) (internal-border-width . 0) (right-divider-width . 1) (bottom-divider-width . 1)
(vertical-scroll-bars) (horizontal-scroll-bars) (foreground-color . \"#303030\") (background-color . \"#EEEEEE\")
(mouse-color . \"black\") (border-color . \"black\") (screen-gamma) (line-spacing) (left-fringe . 4)
(right-fringe . 4) (no-special-glyphs) (scroll-bar-foreground . \"black\") (scroll-bar-background) (menu-bar-lines . 0)
(tab-bar-lines . 1) (height . 48) (tool-bar-lines . 0) (title) (wait-for-wm . t)
(tool-bar-position . top) (inhibit-double-buffering) (icon-type . t) (auto-raise) (auto-lower)
(cursor-type . box) (scroll-bar-width . 16) (scroll-bar-height . 16) (alpha) (no-focus-on-map)
(no-accept-focus) (fullscreen) (visibility . t) (skip-taskbar) (z-group) (display-type . color)
(background-mode . light) (cursor-color . \"#D7AF00\") (environment) (last-focus-update . t)
(tabs (tab (name . \"main\") (explicit-name) (time . 1606583139.78676)
(ws ((min-height . 4) (min-width . 35) (min-height-ignore . 3) (min-width-ignore . 35)
(min-height-safe . 1) (min-width-safe . 2) (min-pixel-height . 84) (min-pixel-width . 280)
(min-pixel-height-ignore . 63) (min-pixel-width-ignore . 280) (min-pixel-height-safe . 21)
(min-pixel-width-safe . 16))
leaf
(pixel-width . 1182) (pixel-height . 1011) (total-width . 147) (total-height . 48)
(normal-height . 1.0) (normal-width . 1.0) (parameters (better-jumper-struct))
(buffer \"*doom*\" (selected . t) (hscroll . 0) (fringes 0 0 nil nil)
(margins 33) (scroll-bars nil 0 t nil 0 t nil) (vscroll . 0)
(dedicated) (point . 1) (start . 1))
(prev-buffers (\"*scratch*\" 1 1))))
(current-tab (name . \"emacs_rs\") (explicit-name . t)))
(bufler-workspace-path \"emacs_rs\")
(bufler-workspace-path-formatted . #(\"emacs_rs\" 0 8 (face outline-1)))
(name . #(\"Workspace: emacs_rs\" 11 19 (face outline-1)))
(frameset--id . \"F962-4A16-16C0-C858\")
(frameset--mini t . t) (frameset--text-pixel-width . 1174) (frameset--text-pixel-height . 1011)
(width . 146) (modeline . t) (unsplittable) (left . 0) (top . 0) (icon-name)
(display . \":0\") (explicit-name . t))
((min-height . 4) (min-width . 10) (min-height-ignore . 4) (min-width-ignore . 3) (min-height-safe . 1)
(min-width-safe . 2) (min-pixel-height . 84) (min-pixel-width . 80) (min-pixel-height-ignore . 84)
(min-pixel-width-ignore . 24) (min-pixel-height-safe . 21) (min-pixel-width-safe . 16))
leaf
(pixel-width . 1182) (pixel-height . 990) (total-width . 147) (total-height . 47) (normal-height . 1.0) (normal-width . 1.0)
(parameters
(better-jumper-struct . #s(better-jumper-jump-list-struct (0 1 . [(\"/home/gagbo/dev/perso/emacs_rs/src/lib.rs\" 765 \"olfofe\") 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 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 nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil]) -1))
(burly-url . \"emacs+burly+bookmark://lib.rs?filename=%22~%2Fdev%2Fperso%2Femacs_rs%2Fsrc%2Flib.rs%22&front-context-string=%22%2F%2F%20%20the%20Free%20Sof%22&rear-context-string=%22as%20published%20by%0A%22&position=187&defaults=%28%22lib.rs%22%29\"))
(buffer \"lib.rs\" (selected . t) (hscroll . 0) (fringes 4 4 t nil) (margins nil)
(scroll-bars nil 0 t nil 0 t nil) (vscroll . 0) (dedicated)
(point . 187) (start . 1)) (prev-buffers (\"*doom*\" 1 1))))]
Hi Gerry,
I'm not sure I understand. Why would posframes be getting saved, especially ones from ivy-posframe
? I must be missing something.
Anyway, do you mean that there's an un-read
-able value in one of the frame or window parameters? If so, we should probably filter it out, unless it's absolutely necessary to restore it, in which case we'd have to figure out a workaround. I'd rather avoid adding workarounds for specific params though, so only if absolutely necessary. :)
I'm not sure I understand. Why would posframes be getting saved, especially ones from
ivy-posframe
? I must be missing something.
I agree that they shouldn't be saved. I think it's saved because when I hit RET
to give the burly-frames bookmark name, the posframe is still present. Is there a way to filter it out in burly-frames-url
?
Anyway, do you mean that there's an un-
read
-able value in one of the frame or window parameters? If so, we should probably filter it out, unless it's absolutely necessary to restore it, in which case we'd have to figure out a workaround. I'd rather avoid adding workarounds for specific params though, so only if absolutely necessary. :)
I think that's the issue. From what I see, the possible culprits are :
- Better jumper
(better-jumper-struct . #s(better-jumper-jump-list-struct (0 0 . [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 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 nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil]) -1))
but I think it's cool to have the jump history restored. I can definitely live without it though - Posframe
(posframe-parent-buffer \"*doom*\" . #<buffer *doom*>)
A predicate function to filter frames out ofburly-frames-url
would allow me to tinker with it and find a way to ignore posframes / childframes in general (company-box also uses childframes and they should be filtered out imo) - Bufler
(bufler-workspace-path-formatted . #(\"emacs_rs\" 0 8 (face outline-1)))
I need the bufler workspaces to be saved, but only the-formatted
one seems to be an issue.
Maybe a solution would be to check on save (during bufler-frames-url
) whether the representation of a parameter starts with #
, and ignore it at that point (maybe adding a warning in *Messages*
to tell that those variables can't be saved because they just can't be restored)
I'm not sure I understand. Why would posframes be getting saved, especially ones from
ivy-posframe
? I must be missing something.I agree that they shouldn't be saved. I think it's saved because when I hit
RET
to give the burly-frames bookmark name, the posframe is still present. Is there a way to filter it out inburly-frames-url
?
Yeah, that explains it. Well, I guess we'll have to add something like burly-frame-predicate
to filter out certain frames before they're saved.
Anyway, do you mean that there's an un-
read
-able value in one of the frame or window parameters? If so, we should probably filter it out, unless it's absolutely necessary to restore it, in which case we'd have to figure out a workaround. I'd rather avoid adding workarounds for specific params though, so only if absolutely necessary. :)I think that's the issue. From what I see, the possible culprits are : ...
(posframe-parent-buffer \"*doom*\" . #<buffer *doom*>)
That's almost certainly the problem, because buffers can't be read. I guess that filtering out the posframe will solve that problem as well, but in case it doesn't, you should be able to filter out that frame parameter already using the existing option.
Maybe a solution would be to check on save (during
bufler-frames-url
) whether the representation of a parameter starts with#
, and ignore it at that point (maybe adding a warning in*Messages*
to tell that those variables can't be saved because they just can't be restored)
I don't think that would be correct, because not all values with #
-prefixed printable syntax are unreadable.
BTW, there is already code to remove buffers from properties in bookmarks, but it must not be catching the one that's causing this.
https://github.com/alphapapa/burly.el/blob/7c03d63500b3164d157f5760619e25d731d68802/burly.el#L359
BTW, there is already code to remove buffers from properties in bookmarks, but it must not be catching the one that's causing this.
That's because the value is not a buffer but a pair which cdr is a buffer. So I need to add it in the blacklist of parameters
If necessary, okay, but we should probably filter out posframes instead.
Oh sure, for posframes filtering the whole frame is the solution, I was thinking about other packages that later might use the same trick