On 2022-11-14 09:01, [email protected] wrote: > On Sat, 12 Nov 2022 10:48:54 -0500 Jake Shilling <[email protected]> > 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
signature.asc
Description: PGP signature
