Guile include logic fails when '-L incdir' option is provided.   The `syntax-source' function in such case strips out file's directory; as a result the `call-with-include-port' function is trying to open file from current directory. Note that `incdir' here is equal to file folder:   amaya@t460s:~/tmp$ cat include-test.sh && LANG=C sh include-test.sh D=/tmp/incdir;    mkdir -p $D echo                     > $D/a.scm echo '(include "a.scm")' > $D/b.scm guile --version guile -L $D                $D/b.scm   guile (GNU Guile) 3.0.9 Copyright (C) 2023 Free Software Foundation, Inc.   License LGPLv3+: GNU LGPL 3 or later . This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. ;;; note: source file /tmp/incdir/b.scm ;;;       newer than compiled /home/amaya/.cache/guile/ccache/3.0-LE-8-4.6/tmp/incdir/b.scm.go ;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0 ;;;       or pass the --no-auto-compile argument to disable. ;;; compiling /tmp/incdir/b.scm ;;; WARNING: compilation of /tmp/incdir/b.scm failed: ;;; In procedure open-file: No such file or directory: "./a.scm" Backtrace:            7 (primitive-load "/tmp/incdir/b.scm") In ice-9/eval.scm:    721:20  6 (primitive-eval (include "a.scm")) In ice-9/psyntax.scm:   1229:36  5 (expand-top-sequence (#) ?)   1121:20  4 (parse _ (("placeholder" placeholder)) ((top) #(# # ?)) ?)   1342:32  3 (syntax-type (include #) ((?)) ?)   1562:32  2 (expand-macro # ?)   3274:16  1 (_ _ # ?) In unknown file:            0 (open-file "./a.scm" "r" #:encoding #f #:guess-encoding #)   ERROR: In procedure open-file: In procedure open-file: No such file or directory: "./a.scm"