From: Joe P. <jpo...@cd...> - 2001-08-23 13:36:37
|
At 06:34 PM 8/22/01 -0400, you wrote: > > Mixed results: > > > > >(1) go to a command line and run "jedit.exe [name of zero-length file]" > > >(adding paths as appropriate); > > > > Result: As before, two dialog boxes, etc. > > > > >(2) take the quotes away from "%1" and double-click a > > zero-length text file > > >without blank spaces in in its full path; > > > > Open Action: E:\JPackages\jEdit\jedit.exe %1 > > Result: As before, two dialog boxes, etc. > > > > (Note: This open action is unstable. It had changed itself to > > E:\JPackages\jEdit\jedit.exe when I went back to reset it. Repeating the > > above with E:\JPackages\jEdit\jedit.exe produced the same results) > > > > >(3) change your "open" verb for .txt files to Windows Notepad > > and see if you > > >can open a zero-length file (with the file name in the title bar as > > >confirmation). > > > > Open Action: C:\WINNT\System32\Notepad.exe "%1" > > Result: Notepad pops up with the correct filename in the title bar. No > > content in the file. (I used the same zero length file I was using with > > jEdit above. There are no spaces in the path/filename). > > > > >The other bit of relevant information is the version of your > > Windows shell. > > >Go to C:\WINNT\System32 in Explorer, right-click shell32.dll, select > > >"Properties" and then the "Version" tab and tell us the version number. > > > > Version 4.00 > > > > Joe > >Your version of shell32.dll is the original NT4.0 version. Later versions >would have been installed along with Windows Internet Explorer version 4x if >you elected to have the Active Desktop. Just a point of information; none >of the Win32 API calls in jedit.exe require later versions of shell32.dll, >and it's not officially deprecated. But most folks probably have a later >version; maybe that's why no one else has reported the bug. > >It looks like the problem is somewhere inside of jedit.exe. The only thing >I can think of right now is this: jedit.exe uses WinMain() as the entry >point, which provides the command line in a single unparsed string. The >runtime makes a conventional pair of argc and argv available as "built-in >variables". They may not be working correctly in version 4.00 of >shell32.dll. I am sending to you directly a archive containing a "special >build" of jedit.exe that uses main(int, char**) as the entry point. It is >otherwise identical to the release version and it performs identically to >the current release on my installation. Rename your existing version of >jedit.exe and try this one. (Note: the following took place after uninstalling BufferTabs to resolve other issues). I copied my existing jedit.exe to a safe place and overwrote it with this new version. There was no difference in jEdit's behavior. I also repeated the first two regression tests and got the same results. The portion of the activity log isolated earlier: [message] EditServer: Socket[addr=/127.0.0.1,port=1252,localport=1251]: connected [debug] EditServer: Socket[addr=/127.0.0.1,port=1252,localport=1251]: authenticated successfully [debug] EditServer$1: v = new java.util.Vector(8); v.addElement(""); s = v.size(); args = new String[s]; v.copyInto(args); EditServer.handleClient(true, null, args); jEdit.openFile(jEdit.getFirstView(), args[s - 1]); At this point I wouldn't rule out a problem with the windows shell since the problem only occurs when doubleclicking a filename in windows explorer. jEdit by itself can open a zero length file when using the File | Open menu, navigating to the file and selecting it in the filechooser. On the other hand jEdit may be getting confused by input from the shell. Somehow it concludes that the file is a directory and not even the correct directory. The two dialog boxes mention jEdit's home directory and the directory containing the file in the current buffer even when neither of these contains the target file. Meanwhile, I'm going to see if I can get an updated shell32.dll without completely re-installing IE. I currently have 5.5. Thanks for looking into this. Joe |