Wolfgang wrote:

>I seem to have a curious problem is SMSQE Sbasic:

It only appears to happen for me to daughter SBASIC's, the main SBASIC accepts
it.

I had a problem similar to this a few years ago when writing a very large SBASIC
program. It seemed when the program was first loaded certain things become
cast-in-stone. Any attempts to change what appeared to be a rogue PROC/FN were
ignored; the only resort was to change the code in a text editor and load it
back in. Since the program was pretty big (130K) I didn't feel like trying to
narrow down the problem at the time.

>10 def proc a(b,c%)
>20 end def a

>From a few investigations I found it only appears to happen when more than one
parameter is given. It is also very reminiscent of the problem I had. As you say
if you load it in and run it it will lock up the SBASIC job. I also found (no
doubt yourself also), if you delete the second parameter;

10 def proc a(b)
20 end def a

and run it it works OK.

BUT if you retype the ,c% and then run it - BANG it 'remembers'. If you
don't edit it but type NEW and type it back in it is OK.

Even more oddly if I load (the _sav) program back in and just remove the '%' on
'c'  and try and run it SBASIC appears to loose track of its internal tokenised
version of the program. I bizarrely get 'At line 10:4 DEFines may not be within
other clauses' !! (what?)

BTW I tried QSAVE'ing the same program with Qliberator QSAVE and from the main
SBASIC and they all, on QLOADing into a daughter SBASIC cause the same problem.

It appears to me that multiple PROC parameters are misaligned internally (but
only on loading, the _sav file is the same). SBASIC then loses track of
itself...

Regards,
Dave.


Reply via email to