You are correct !
My QL is a english version, so i stuck to it
Greetings from Switzerland
Markus
sQLux v1.1.1 (Deutshland Edition)
Re: sQLux v1.1.1 (Deutshland Edition)
I'm afraid, I have found a horrible bug in sQLux (also present in UQLX, at least on Windows with WSL2):
As I formerly mostly have used QPC2 (with SMSQ/E and SBASIC) I have used SAVE to save the last loaded BASIC program (BTW: Does every MultiBASIC store it's own last loaded SBASIC program).
DO NOT DO THIS ON UQLX / sQLux!!!
If e.g. DATAD$ is 'WIN1_bas_' and you enter "SAVE"
You get:
WIN1_bas_ already exists, OK to overwrite (Y/N)
If you now enter Y, UQLX overwrites the directory file WIN1_bas_ and all files in this directory are lost. I have lost some files because of this. Unfortunately I have not currently the time to write (extend) the Minerva LOAD/SAVE commands (I think it should not so difficult, to patch them), so that SAVE will save the last loaded SuperBASIC program.
As I formerly mostly have used QPC2 (with SMSQ/E and SBASIC) I have used SAVE to save the last loaded BASIC program (BTW: Does every MultiBASIC store it's own last loaded SBASIC program).
DO NOT DO THIS ON UQLX / sQLux!!!
If e.g. DATAD$ is 'WIN1_bas_' and you enter "SAVE"
You get:
WIN1_bas_ already exists, OK to overwrite (Y/N)
If you now enter Y, UQLX overwrites the directory file WIN1_bas_ and all files in this directory are lost. I have lost some files because of this. Unfortunately I have not currently the time to write (extend) the Minerva LOAD/SAVE commands (I think it should not so difficult, to patch them), so that SAVE will save the last loaded SuperBASIC program.
http://peter-sulzer.bplaced.net
GERMAN! QL-Download page also available in English: GETLINE$() function, UNIX-like "ls" command, improved DIY-Toolkit function EDLINE$ - All with source. AND a good Python 3 Tutorial (German) for Win/UNIX
GERMAN! QL-Download page also available in English: GETLINE$() function, UNIX-like "ls" command, improved DIY-Toolkit function EDLINE$ - All with source. AND a good Python 3 Tutorial (German) for Win/UNIX

- XorA
- Site Admin
- Posts: 1595
- Joined: Thu Jun 02, 2011 11:31 am
- Location: Shotts, North Lanarkshire, Scotland, UK
Re: sQLux v1.1.1 (Deutshland Edition)
This is the same bug you listed in the other thread though?ql_freak wrote: Tue Mar 25, 2025 12:30 am I'm afraid, I have found a horrible bug in sQLux (also present in UQLX, at least on Windows with WSL2):
As I formerly mostly have used QPC2 (with SMSQ/E and SBASIC) I have used SAVE to save the last loaded BASIC program (BTW: Does every MultiBASIC store it's own last loaded SBASIC program).
DO NOT DO THIS ON UQLX / sQLux!!!
If e.g. DATAD$ is 'WIN1_bas_' and you enter "SAVE"
You get:
WIN1_bas_ already exists, OK to overwrite (Y/N)
If you now enter Y, UQLX overwrites the directory file WIN1_bas_ and all files in this directory are lost. I have lost some files because of this. Unfortunately I have not currently the time to write (extend) the Minerva LOAD/SAVE commands (I think it should not so difficult, to patch them), so that SAVE will save the last loaded SuperBASIC program.
Would probably be easier for all if you logged these in github rather than buried in threads, can't promise to fix them quickly, but someone might!
Re: sQLux v1.1.1 (Deutshland Edition)
Is this really a bug or it QDOS letting you do something stupid? I've never just used the "SAVE" command without a file name as how would QDOS know what file name to use. It looks like it is picking up the file name from DATAD$, which is supposed to be a directory and not a file. QDOS found that there was a file/directory there and you did say "yes", so it did what you told it to do.> You get:
>
> WIN1_bas_ already exists, OK to overwrite (Y/N)
>
> If you now enter Y, UQLX overwrites the directory file WIN1_bas_ and all files in this directory are lost.
Tim
Re: sQLux v1.1.1 (Deutshland Edition)
No, it is in fact a bug.
Trying to overwrite a directory with a plain file of the very same name should be rejected with an "in use" error (and all the QDOSSMSQ implementations I know do exactly that - Although there really isn't any specification of Level 2 drivers that I know of that would define this exact behavior).
I'm generally with you that the OS should let you do stupid things if you insist, but throwing away a complete subtree of the file system goes a bit too far
Trying to overwrite a directory with a plain file of the very same name should be rejected with an "in use" error (and all the QDOSSMSQ implementations I know do exactly that - Although there really isn't any specification of Level 2 drivers that I know of that would define this exact behavior).
I'm generally with you that the OS should let you do stupid things if you insist, but throwing away a complete subtree of the file system goes a bit too far

Last edited by tofro on Wed Mar 26, 2025 7:38 am, edited 1 time in total.
ʎɐqǝ ɯoɹɟ ǝq oʇ ƃuᴉoƃ ʇou sᴉ pɹɐoqʎǝʞ ʇxǝu ʎɯ 'ɹɐǝp ɥO
Re: sQLux v1.1.1 (Deutshland Edition)
QPC2
MAKE_DIR win1_bas_
SAVE win1_bas_test_bas
SAVE win1_bas_test1_bas
DIR win1_bas_
win1_test_bas
win1_test1_bas
sqlux
UQLX 1.1.1.2
DATA_USE win1_bas_
DIR
win1_test_bas
win1_test1_bas
SAVE
win1_bas_ exists, OK to overwrite.. Y or N ? Y
bad parameter
DIR
xx/xxx/xxx/xx
xxx/xxx sectors
DATA_USE win1_
DIR
xx/xxx/xxx/xx
xxx/xxx sectors
bas ->
DIR win2_bas_
xx/xxx/xxx/xx
xxx/xxx sectors
the Subdirectory still exists; but the file names are gone
under SMSQE and Qemulator you get " in use "
can someone test this on hardware ?
hope it helps
Markus
MAKE_DIR win1_bas_
SAVE win1_bas_test_bas
SAVE win1_bas_test1_bas
DIR win1_bas_
win1_test_bas
win1_test1_bas
sqlux
UQLX 1.1.1.2
DATA_USE win1_bas_
DIR
win1_test_bas
win1_test1_bas
SAVE
win1_bas_ exists, OK to overwrite.. Y or N ? Y
bad parameter
DIR
xx/xxx/xxx/xx
xxx/xxx sectors
DATA_USE win1_
DIR
xx/xxx/xxx/xx
xxx/xxx sectors
bas ->
DIR win2_bas_
xx/xxx/xxx/xx
xxx/xxx sectors
the Subdirectory still exists; but the file names are gone
under SMSQE and Qemulator you get " in use "
can someone test this on hardware ?
hope it helps
Markus