This is the mail archive of the kawa@sourceware.cygnus.com mailing list for the Kawa project. See the Kawa home page for more information.
Hi,
I applied the patches and that helped indeed. However, I might have
found another bug, which I guess could be related to some syntax/macro
expansion. Namely, here is an excerpt from a macro that I wrote:
(defmacro vo-get-view-info (hlvo vid)
`(let* ((views ((primitive-get-field <VO.LLVO>
"views"
<VO.LLVOview[]>)
,hlvo))
(views-ref (primitive-array-get <VO.ViewInfo>))
(vi ((primitive-get-field <VO.LLVOview>
"vi"
<VO.ViewInfo>)
(views-ref views ,vid))))
...
This works fine:
#|kawa:16|# (vo-get-view-info vo 0)
(0 #!null 0.0 0.0 #!null 0 0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0)
However, if I inline `views-ref':
(defmacro vo-get-view-info (hlvo vid)
`(let* ((views ((primitive-get-field <VO.LLVO>
"views"
<VO.LLVOview[]>)
,hlvo))
(vi ((primitive-get-field <VO.LLVOview>
"vi"
<VO.ViewInfo>)
((primitive-array-get <VO.ViewInfo>) views ,vid))))
...
I get an error:
#|kawa:18|# (vo-get-view-info vo 0)
Invalid parameter, should be: [LVO.LLVOview;
java.lang.ClassCastException: [LVO.LLVOview;
at atInteractiveLevel.run(<stdin>:18)
at gnu.expr.ModuleExp.evalModule(Compiled Code)
at kawa.Shell.run(Compiled Code)
at kawa.Shell.run(Shell.java:77)
at kawa.repl.main(Compiled Code)
Maybe I am missing something, but maybe not... Of course, I can keep
the first version, so you don't have to hurry to fix this if it is a bug.
Aleks