Date: Mon, 21 Oct 1996 08:16:00 +0200 (IST) From: Eli Zaretskii To: Howard Kaikow Cc: djgpp AT delorie DOT com Subject: Re: HK: v 2.1 In-Reply-To: <1.5.4.32.19961020202847.00672960@mv.mv.com> Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII On Sun, 20 Oct 1996, Howard Kaikow wrote: > At 06:11 PM 10/20/96 +0200, Eli Zaretskii wrote: > > >> However, the .exe0 got overwritten by the new .exe files. So I guess that > >> the loader (or something) does not honor LFN = y. > > > >Are you sure that ``something'' isn't Windows 95 itself? There is a > >nasty bug in Windows 95 RenameFile function whereby sometimes the long > >filename changes, but the short 8+3 filename does not! Therefore, as far > > I did before and I just did it again. > > PSBOOK EXE 96,897 10-20-96 11:21a psbook.exe0 I probably failed to make myself clear enough, but your DIR output just confirms what I suspected: it's Windows 95 fault! Look at the listing above: the short 8+3 alias for `psbook.exe0' is `psbook.exe', not something like `psbook~1.exe. Therefore, when the linker opens a file called `psbook.exe', Windows overwrites `psbook.exe0' since as far as Windows is concerned, a file called `psbook.exe' already exists! The bug is in Windows 95 rename file function: it should have changed the 8+3 alias when renaming the file, or else the file was not really renamed. The new v2.01 library works around this bug in its `rename' function, so if you use a program such as `mv' to rename files, this problem won't happen. > 1. Make a text file, x.abc0 > 2. open the file with Edit x.abc0 > 3. While in Edit, do a FileSaveAs with the name x.abc > 4. Exit Edit > > Both x.abc0 and x.abc exist, so it is not a Win 95 problem. This just means that Edit (whatever that is) works around this bug. Emacs compiled with DJGPP v2.01 also works in the above way on Windows 95, but that doesn't imply that the bug doesn't exist, just that the application was smart enough to get its thing right, the bug notwithstanding.