On 2022-11-14 09:01, jgart@dismail.de wrote: > On Sat, 12 Nov 2022 10:48:54 -0500 Jake Shilling wrote: >> >> If I'm reading this right, I belive that this macro is looking for the >> 'add-after symbol--as a symbol--and not looking for any value referenced >> by it. > > Does geiser work on the macroexpanded forms in %modify-phases that are > not macros? It does for me. Here's a snippet from the file I tested on: ``` (arguments `(#:bootstrap-scripts (list "autogen") #:make-flags (list "-C" "utils") #:configure-flags (list "--enable-start-stop-daemon" "--disable-update-alternatives") #:phases (modify-phases %standard-phases (add-before 'bootstrap 'patch-autogen-shebang (lambda* (#:key bootstrap-scripts #:allow-other-keys) (for-each patch-shebang (append bootstrap-scripts)) (let ((get-version "printf \"%s\" \"1.20.12\"") (port (open-file "get-version" "w"))) (format port get-version) (close-port port)))) (add-after 'configure 'build-lib (lambda* (#:rest _) (invoke "make" "-C" "lib")))))) ``` If I evaluate this file, then call `geiser-edit-symbol-at-point` on `invoke` in the last line, I get taken to `guix/build/utils.scm` as expected. None of the standard guile functions work for me though; if I try to navigate to `close-port` or `for-each` nothing happens. I can run C-c C-d C-d on any of those, however, and navigate from the documentation to the manual. I also want to clarify that this does work for me on the macro itself, `modify-phases`, just not on the symbols used by the macro for pattern matching (`add-before`, `add-after`, etc). -- Best regards, Jake Shilling