Excellent. Confirmed working as expected. Thank you.
On Mon, Jun 2, 2014 at 11:03 AM, Juergen Sauermann < [email protected]> wrote: > Hi David, > > thanks, I see. SVN 310. > > /// Jürgen > > > > On 06/02/2014 06:49 PM, David Lamkins wrote: > > Thanks, Jüergen. SVN 307 is, I think, *almost* correct. > > My reading of the IBM Reference suggests that 3⊃⎕ec should be character > matrix having three rows. > > > On Mon, Jun 2, 2014 at 7:10 AM, Juergen Sauermann < > [email protected]> wrote: > >> Hi David, >> >> sorry, my fault. I hadn't read the small sentence for result=0 that >> it should be ⎕EM-like. Fixed in SVN 307. >> >> Please note that GNU APL may open execution contexts (= SI-entries) >> differently from >> IBM APL so that sometimes error messages could differ. The error code is >> normally >> correct, but if an error is user-defined then the error message from the >> user (⎕ES) >> could be lost because the context generating it was closed already. In >> that case >> the context retuns an error token (containing the error code) but the >> token does not >> contain the entire error message. >> >> /// Jürgen >> >> >> >> On 06/02/2014 02:26 AM, David B. Lamkins wrote: >> >>> Hi Jüergen, >>> >>> Sorry for the miscommunication. >>> >>> SVN 306 does fix 2⊃⎕ec. However, 3⊃⎕ec is still incorrect. >>> >>> 3⊃⎕ec should be the same as what ⎕em would have been without ⎕ec in the >>> case where ⎕ec traps an error. >>> >>> Specifically: 3⊃⎕ec should be a three-row text array in which line 1 is >>> the error message (which may be the text provided to a ⎕es), line 2 is >>> the offending line of code and line 3 is the error caret(s). This is the >>> same three error-message lines that would have been printed to the APL >>> session without the ⎕ec. >>> >>> This behavior is covered elsewhere on page 280 of the IBM Reference. I >>> apologize for having left the `paragraph 3' reference in my first email. >>> >>> On Sun, 2014-06-01 at 18:53 +0200, Juergen Sauermann wrote: >>> >>>> Hi David, >>>> >>>> thanks, fixed in SVN 306. >>>> >>>> /// Jürgen >>>> >>>> >>>> On 05/31/2014 07:51 PM, David B. Lamkins wrote: >>>> >>>>> See the IBM Reference, page 280, paragraph 3. >>>>> >>>>> When ⎕EC executes an expression that signals a user-defined error, the >>>>> second and third items of the result should be the same as the >>>>> expression's ⎕ET (which would be 0 1 in this case) and ⎕EM. GNU APL >>>>> returns 0 0 and 'User defined error'. >>>>> >>>>> Note also that ⎕ET must not be changed by ⎕EC. GNU APL already does >>>>> this >>>>> correctly. >>>>> >>>>> It's not clear from the IBM Reference whether ⎕EM should also not be >>>>> changed by ⎕EC. It seems reasonable to assume that *not* changing ⎕EM >>>>> is >>>>> the correct behavior; the whole point of ⎕EC is to execute an >>>>> expression >>>>> in a controlled manner. If so, GNU APL is already correct in this >>>>> regard. >>>>> >>>>> >>>>> ⎕es 'foo' >>>>> foo >>>>> ⎕ES 'foo' >>>>> ^ >>>>> ⎕em >>>>> foo >>>>> ⎕ES 'foo' >>>>> ^ >>>>> ⎕et >>>>> 0 1 >>>>> ⎕ec '⎕es ''foo''' >>>>> 0 0 0 User defined error >>>>> ⎕em >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>> >>> >> > > > -- > "Far out in the uncharted backwaters of the unfashionable end of the > Western Spiral arm of the Galaxy lies a small unregarded yellow sun. > Orbiting this at a distance of roughly ninety-eight million miles is an > utterly insignificant little blue-green planet whose ape-descended life > forms are so amazingly primitive that they still think programming in Java > is a pretty neat idea." > > -- With apologies to Douglas Adams, who I like to think would have > appreciated this. > > > http://soundcloud.com/davidlamkins > http://reverbnation.com/lamkins > http://reverbnation.com/lcw > http://lamkins-guitar.com/ > http://lamkins.net/ > http://successful-lisp.com/ > > > -- "The secret to creativity is knowing how to hide your sources." Albert Einstein http://soundcloud.com/davidlamkins http://reverbnation.com/lamkins http://reverbnation.com/lcw http://lamkins-guitar.com/ http://lamkins.net/ http://successful-lisp.com/
