[prev in list] [next in list] [prev in thread] [next in thread]
List: kfm-devel
Subject: Re: JS return values
From: David Faure <david () mandrakesoft ! com>
Date: 2001-02-28 22:50:37
[Download RAW message or body]
On Wednesday 28 February 2001 21:10, Harri Porten wrote:
> David Faure wrote:
> >
> > ecma/kjs_window.cpp :
> > 655 return Completion(Normal, result);
> >
> > kjs/function.cpp :
> > 128 else if (comp.complType() == ReturnValue)
> > 129 return comp.value();
> > 130 else
> > 131 return Undefined();
> >
> > This obviously makes any window function return Undefined :(
>
> That's what I wrote about in that ununderstandable answer to your bug
> report recently :}
Right - I couldn't understand it because I hadn't looked into the code yet,
so it was all Chinese to me (no offense intended to Chinese people :-)
> Yes. And I'm very sorry if you wasted any time debugging this.
Actually, I found that one fast. I usually put kdDebug everywhere and get lost,
whereas this time I used gdb and "next", and I immediately saw what was wrong :-)
> I had the fix on my disk and must have forgotten to commit it :( I even fixed the
> kpac code .... It's checked in now.
Thanks.
> > or should we simply fix line 655 to s/Normal/ReturnValue/, given that if the value
> > is undefined, kjs/function is going to return Undefined anyway ?
>
> There are other parts in the code that differentiate between the two so
> I would prefer to keep it this way.
Hmm, you did what I suggested anyway :)
> > There has to be a reason for Normal vs ReturnValue but I'm probably missing it :-)
>
> "Normal" would be like "void" and no exception thrown. "ReturnValue" is
> used when the JS code said "return xyz;" or we want to emulate that like
> above.
Thought so, but the code in kjs/function.cpp line 130 doesn't care - ok that's
where "other parts of the code care" comes in :)
> Sorry for the mess. I had done local checks before I checked in my
> recent libkjs fix. Now I understand why I couldn't explain the posting
> (from Malte?) about getElementById() I read today. Good that I resisted
> touching that part of the code until after the 2.1 release.
Yes ;-)
/me happy that his JS-enabled website works again :)
--
David FAURE, david@mandrakesoft.com, faure@kde.org
http://perso.mandrakesoft.com/~david/, http://www.konqueror.org/
KDE, Making The Future of Computing Available Today
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic