Re: More bugs in exw.exe
- Posted by CChris <christian.cuvier at a?ric?lture.gouv.fr> Jul 17, 2007
- 597 views
Juergen Luethje wrote: > > Rob wrote: > > > CChris wrote: > > > >> 1/ Trying to open C:\VE OPEN\visualeuphoria.exw by double clicking it in > >> Windows > >> explorer (or its free replacement) causes interpreter to barf: > >> Can't open C:\VE.exu > > > > I tested this exact path and filename on my XP system > > and it worked fine by double-clicking. > > I can confirm this. > > > I'm not sure what happened on your system. > > I also don't know this, of course. However, I can guess that maybe on > his system in the Windows registry some double quotes are missing at > a particular place. > > In the message to which Rob replied, CChris had written: > | This is a bug, since the behaviour is not documented and the above > | is a valid Windows path. > > But the bug probably is not in the Euphoria interpreter, since the > _operating system_ controls, what is passed to an application as a > single parameter, and what is passed as separate parameters. > > Regards, > Juergen That fixed the problem. I changed the parameter for both .exw and .ex files to read "%0" instead of %1 (so that the whole command line is passed, just in case), and the file now properly opens. Either I somehow messed that up - but I really can't see when - or there are some double quotes to add in the strings the install script uses to define file associations. I'll let omeone with more experience with this language to look into it. There's still a standing bug when two filenames have the same length and differ by accented characters. They are considered different even though they may differ by case only. As I said, same_name() in scanner.e needs some smarts to deal with this. RBIL v61 reports that the DOS function AX=#65A2 (ASCIZ country dependent filename capitalization) is hardly functional, which would require some low level work using the filename uppercase table directly. Can anyone infirm this? It would really help making the code more compact (it wouldn't be overly complex otherwise). CChris