Skip to content
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

Invalid burly URL with ivy-posframe, better-jumper, or bufler.el #23

Open
gagbo opened this issue Nov 28, 2020 · 7 comments
Open

Invalid burly URL with ivy-posframe, better-jumper, or bufler.el #23

gagbo opened this issue Nov 28, 2020 · 7 comments
Assignees
Labels
bug Something isn't working
Milestone

Comments

@gagbo
Copy link

gagbo commented Nov 28, 2020

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))))]
@gagbo gagbo changed the title Invalid burly URL with ivy-posframe Invalid burly URL with ivy-posframe, better-jumper, or bufler.el Nov 28, 2020
@alphapapa
Copy link
Owner

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. :)

@alphapapa alphapapa self-assigned this Nov 28, 2020
@alphapapa alphapapa added the bug Something isn't working label Nov 28, 2020
@gagbo
Copy link
Author

gagbo commented Nov 29, 2020

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 of burly-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)

@alphapapa
Copy link
Owner

alphapapa commented Nov 29, 2020

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 ?

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.

@alphapapa alphapapa added this to the 0.2 milestone Nov 29, 2020
@alphapapa
Copy link
Owner

BTW, there is already code to remove buffers from properties in bookmarks, but it must not be catching the one that's causing this.

when (or (bufferp value))

@gagbo
Copy link
Author

gagbo commented Nov 30, 2020

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

@alphapapa
Copy link
Owner

If necessary, okay, but we should probably filter out posframes instead.

@gagbo
Copy link
Author

gagbo commented Nov 30, 2020

Oh sure, for posframes filtering the whole frame is the solution, I was thinking about other packages that later might use the same trick

@alphapapa alphapapa modified the milestones: 0.2, 0.4 Aug 31, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants