This is the mail archive of the
kawa@sources.redhat.com
mailing list for the Kawa project.
mangleName
- From: Chris Dean <ctdean at mercedsystems dot com>
- To: Kawa List <kawa at sources dot redhat dot com>
- Date: Sat, 22 Feb 2003 14:16:03 -0800
- Subject: mangleName
Seems like some of the internally defined functions don't get mangled in
the same way every time. Probably related to calling mangleName()
differently at compile time versus Scheme.init() time.
For example, take the code below, compile it using "kawa -C Foo.scm":
(module-static #t)
(define (some-func) 'result)
(define (f) some-func)
(define (g) set-car!)
Then, when you run (g), you'll see the mangling problem:
#|kawa:1|# (require <Foo>)
#|kawa:2|# (f)
#<procedure some-func>
#|kawa:3|# (g)
java.lang.NoSuchFieldError: set$Mncar$Ex
at Foo.g(Foo.scm)
at Foo.apply0(Foo.scm)
at gnu.expr.ModuleMethod.apply0(ModuleMethod.java:80)
at gnu.mapping.Procedure.apply(Procedure.java:108)
at gnu.mapping.CallContext.runUntilDone(CallContext.java:239)
at gnu.expr.ModuleExp.evalModule(ModuleExp.java:188)
at kawa.Shell.run(Shell.java:232)
at kawa.Shell.run(Shell.java:180)
at kawa.Shell.run(Shell.java:167)
at kawa.Shell.run(Shell.java:154)
at kawa.repl.main(repl.java:610)
BTW, this shows up in the current BRL code.
Regards,
Chris Dean