Subject: | |
From: | |
Reply To: | |
Date: | Fri, 4 Aug 2000 00:21:04 -0400 |
Content-Type: | text/plain |
Parts/Attachments: |
|
|
First of all, thanks to the Dennis' for the explanations.
Thus it was written in the epistle of Dennis Handly,
> Ted Ashton ([log in to unmask]) wrote:
> : but this program was working fine with XLIBTRAP . . . :-/
>
> How, wasn't there another range check? (Ah, which you also trapped...)
Right.
> : It appears that even though PASESC.PUB.SYS still contains the line:
> : PasErr_620 = 40632512; PasErr_BoundsViolation = 40632512;
> : bounds violations are not getting handed to XLIBTRAP.
>
> I don't see the connection between PASESC and XLIBTRAP? PASESC is for
> escape codes. It just so happens that the Pascal runtime uses the same
> numbers for some of XLIBTRAP. But not the Trap subsystem.
>
> Ah, 620 is for CM only, for NM, since range checking is not done by a
> library call, it was replaced by Trap_Range_Error.
Right again. Thus the problem. A value out of subrange *used* to fall under
the XLIBTRAP domain but has now moved to the (undocumented) XCODETRAP domain.
> : The only way to catch them is a Try/Recover. Looks like I've got some
> : recoding before me.
> : Ted
>
> You could turn off range checking for that statement. But you'll still
> have to know that you read a bad value.
Tried that. It works fine for the Enumerated Input problem--which I described,
but fails completely for a simple out-of-subrange check elsewhere :-(. If
I'd've heard of XCODETRAP in time, I'd've probabaly used that (whether that
would've been good or bad I leave to others to decide). As I didn't and I'm
under ASAP pressure, I've ripped XLIBTRAP completely out, replacing it with
Try/Recover.
Anywho. Thanks to all.
Ted
--
Ted Ashton ([log in to unmask]), Info Sys, Southern Adventist University
==========================================================
Mathematics is the only instructional material that can be presented in an
entirely undogmatic way.
-- Dehn, Max
==========================================================
Deep thoughts to be found at http://www.southern.edu/~ashted
|
|
|