X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f X-Recipient: djgpp AT delorie DOT com Date: Sun, 08 Jul 2012 18:35:05 +0300 From: Eli Zaretskii Subject: Re: Ispell (found the problem!) In-reply-to: X-012-Sender: halo1 AT inter DOT net DOT il To: djgpp AT delorie DOT com Message-id: <83obnql106.fsf@gnu.org> References: <83sjd412pe DOT fsf AT gnu DOT org> Reply-To: djgpp AT delorie DOT com 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 > Date: Sat, 7 Jul 2012 17:18:28 -0700 (PDT) > From: rugxulo AT gmail DOT com > Cc: djgpp AT delorie DOT com > > 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. :-) Thanks, this is indeed the cause of the problem. I think I will simply remove that #define of FILE_SYSTEM_CASE for the DJGPP port. I don't see why we need it nowadays, that all file names are compared case-insensitively on DOS and Windows.