thwill Guru Joined: 16/09/2019 Location: United KingdomPosts: 4360
Posted: 10:48am 22 Feb 2022
Fine by me, I always thought it should have been FILES & FILEMAN (or FM) rather than LS & FILES.
Are you going to provide compatibility with the CSUB structure being (mis)used to include binary blobs in MMBasic files? If not then is there another option other than DATA files ... I seem to recall something about misusing fonts ?
Given no significant limitation on program memory I think using DATA/READ is the correct "Basic" approach so don't intend to include CSUB. You can't use a font because I'm not allowing peek/poke access other than to HEAP, VARIABLES and PROGRAM space. You can use LOAD DATA to load a data file direct into an array
As we've discussed previously the DATA/READ approach has a major downside for using libraries (.INC files) in BASIC. To be safe it requires both the library and client code to label all DATA and use RESTORE <label> religiously. Otherwise there is a distinct danger of the client code reading the wrong data from the global "data pointer" ... just changing the order of #INCLUDE statements can change the behaviour.
I don't suppose you'd consider adding some sort of BINARY or BLOB language structure deliberately for this use-case and then I'll do the same for MMB4L ?
Could you (temporarily?) provide a flag/option to duplicate all console *output* into the "DOS Window" so I can copy error messages out of there ?
I'll set all errors to duplicate on the console window permanently - no downside I can see
For the purposes of reporting errors to you it would be nice to have more context than just the error message. Think back to the format I used for all the CMM2 error reports where I could just do a LIST followed by a RUN and send you the console output.