X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f X-Recipient: djgpp AT delorie DOT com Path: glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.os.msdos.djgpp Date: Sat, 7 Jul 2012 17:18:28 -0700 (PDT) In-Reply-To: <83sjd412pe.fsf@gnu.org> Complaints-To: groups-abuse AT google DOT com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=65.13.115.246; posting-account=p5rsXQoAAAB8KPnVlgg9E_vlm2dvVhfO NNTP-Posting-Host: 65.13.115.246 References: <83sjd412pe DOT fsf AT gnu DOT org> User-Agent: G2/1.0 X-Google-Web-Client: true X-Google-IP: 65.13.115.246 MIME-Version: 1.0 Message-ID: Subject: Re: Ispell (found the problem!) From: rugxulo AT gmail DOT com To: comp DOT os DOT msdos DOT djgpp AT googlegroups DOT com Cc: djgpp AT delorie DOT com Content-Type: text/plain; charset=ISO-8859-1 Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk Hi, On Saturday, July 7, 2012 1:54:05 AM UTC-5, Eli Zaretskii wrote: > > From: "Stephen W. Bullington" > > Date: Fri, 6 Jul 2012 18:00:36 -0400 > > > > When I try to use [Emacs] I get the message "Failed to > > open temporary file: no such > > file or directory (ENOENT), detmp.XXX". I get the same message if I try > > to run a shell command. I also have DJGPP Emacs installed on a Windows > > 98SE box, with LFN=Y, and Ispell works fine there. Annoying. I really suck at using GDB, or I could've found this faster. Anyways .... The problem is that src\callproc.c uses mkstemp(), hence callproc's "Failed to open temporary file" message, since mkstemp() calls mktemp() which requires a filename using "emXXXXXX" and fails on "emxxxxxx" (lower case 'x's). Here's callproc.c's culprit line (indirectly): pattern = Fexpand_file_name (Vtemp_file_name_pattern, tmpdir); See src\fileio.c for that definition, which basically uses this: name = FILE_SYSTEM_CASE (name); Which is defined in src\s\msdos.h as this: #define FILE_SYSTEM_CASE Fmsdos_downcase_filename Which is ultimately defined in src\msdos.c and basically says this: "Under LFN we expect to get pathnames in their true case." So there, problem solved! Now Dr. Watson ... er, Eli, can suggest a tiny patch or you can probably figure it out yourself. :-)