This is the mail archive of the kawa@sources.redhat.com mailing list for the Kawa project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]