I put the following test module in my load path:
(define-module (current-filename-fail)
:export (my-filename))
(define my-filename (current-filename))
(define (force-a-warning-message) (identity 1 2 3))
And this is what I see with Guile 2.0.5:
GNU Guile 2.0.5
Copyright (C) 1995-2012 Free Software Foundation, Inc.
Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.
Enter `,help' for help.
scheme@(guile-user)> ,use (current-filename-fail)
;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0
;;; or pass the --no-auto-compile argument to disable.
;;; compiling /home/mhw/guile-modules/current-filename-fail.scm
;;; current-filename-fail.scm:4:34: warning: possibly wrong number of
arguments to `identity'
;;; compiled
/home/mhw/.cache/guile/ccache/2.0-LE-4-2.0/home/mhw/guile-modules/current-filename-fail.scm.go
scheme@(guile-user)> my-filename
$1 = #f
The (force-a-warning-message) line shows that source information is
available. The same thing happens if I remove that line, or if I try
with stable-2.0.
What am I doing wrong?
Thanks,
Mark