BSJR wrote:EmmBee wrote:Hi everyone,
We now consider the next round of improvements, bug fixes, etc. Here is the list so far ...
As a big fan of Qlib I must congratulate all who contribute to this project.
I have not yet tested it but would like to see a few issues fixed in any final 3.37.
1. The INSTR_CASE keyword as featured in SMSQ/E is not working in 3.36, no error is reported but its setting is ignored and the behaviour of INSTR is not changed.
2. A missing name after an END FOR, which is allowed in SBasic, prevented a compiled version of my program from running.
It kept me searching for weeks and was in the end found by Wolfgang Lenerz.
Normally it's not a feature I would use but as it's allowed it should be accepted by Qlib for END FOR (& END REP & NEXT) or at least produce an alert at compile time.
BSJR
Hi BSJR,
Thanks for adding these two to the list.
The Qlib compiler contains a full-blown parser in SuperBASIC. It will be easy to check for a missing name. For example, Parse_key_Repeat is defined at line 6840. Line 6870 would become ... Getsym : IF sym1% <> name% : program_error 1,28. Then at line 22262 ... = 28 : er$ = "name expected". The line number would also get printed, along with the message. Qlib does need to have the names to remain compatible with QDOS.
For "INSTR_CASE", we could look through Qlib's name table to see whether it's present. To find the line number where it would have been used is slightly more complicated. I will have to look deeper into this.
It could be a good idea to create a list of such SMSQ/E procedures that don't work in Qlib, then we can search for each one and report on them if they are used.
To start the list off, we have "INSTR_CASE". If anyone knows of any more, then please let us know.
I believe it would be good if we leave at least a month between versions. v3.37 was released on 15th March, so for this next coming update, which will be v3.38, I suggest we don't release this until 15th April. That should give us plenty of time to implement all these new features, test them out and make sure they work. In the meantime, if anybody wants to add to the list, then please do so. The more improvements we make the better it will be. Of course, there will be further updates in due course.
EmmBee