[plt-scheme] Re: managed-compile-zo
If I reduce your code to just
(module user mzscheme
(require-for-syntax (lib "class.ss"))
(define-syntax (warn stx)
(syntax-case stx ()
[(_ src msg)
#`(printf #,(string-append
"~a ("
(format "~a"
(let ([src (syntax-source stx)]
[src-module (syntax-source-module stx)])
(cond
[(symbol? src-module) src-module]
;;[(module-path-index? src-module)
;; (let-values ([(path base)
;; (module-path-index-split src-module)])
;; (list path base))]
;;[(is-a? src text%) "some text"]
[(string? src) src]
[src (send src get-position)]
[else src])))
" line "
(number->string (syntax-line stx))
"): ~a~n")
src msg)]))
(warn 'foo "barrr")
(provide warn)
)
then it still fails with "cm.ss", and it doesn't even work with `load'
in MzScheme. The problem is that a syntax object's source can be a
path. (In fact, it's usually a path.)
Matthew