Mail Archives: cygwin/2003/03/29/13:08:45
Hello David,
I tried your patch below with emacs-21.3 and emacs cvs head and it
works very fine with gcc 3.2 and the latest cygwin release. So
hopefully the patch is soon included into cvs. Thanks for your fast
reply.
Harald
David Ponce <david DOT ponce AT wanadoo DOT fr> writes:
> Harald DOT Maier DOT BW AT t-online DOT de wrote:
>
>> "Peter Milliken" <PeterM AT resmed DOT com DOT au> writes:
>>
>>>I have downloaded the source of 21.3 and built it on a PC running Win2000
>>>and using the Cygwin distribution and following the INSTALL instructions in
>>>emacs-21.3/nt/INSTALL (well, I ran "configure.bat --prefix=/c/emacs" and
>>>then type "make install" as I have done for all other source distributions
>>>:-))
>>>
>>>The resulting binary falls over with a "Abort, Retry or Ignore" dialog when
>>>any package referenced from my .emacs that attempts to "require" the cl.el
>>>package.
>>>
>>>Just typing M-: (require 'cl) from within the Emacs session will bring up
>>>the problem.
>> ----------------------------------+-----------------
>> gcc 2.95.3-10 (cygwin special) | fails with cl.el
>> gcc 3.2 20020927 (prerelease) | fails with cl.el
>> gcc 2.95.3-6 (mingw special) | okay
>> msvc | okay
> Maybe are you using the mingw runtime 2.3 or 2.4?
> There is a compatibility problem between that runtime and Emacs,
> because of change in the way it handles binary vs. text IO mode.
>
> Notice that the development version (in CVS) is affected too.
>
> The following patch (discussed in the emacs-devel ML) fixed that
> problem for me.
>
> *** emacs.c.ori Thu Aug 29 21:27:07 2002
> --- emacs.c Thu Mar 27 16:29:58 2003
> ***************
> *** 40,45 ****
> --- 40,49 ----
> #include <sys/ioctl.h>
> #endif
>
> + #ifdef WINDOWSNT
> + #include <fcntl.h>
> + #endif
> +
> #include "lisp.h"
> #include "commands.h"
> #include "intervals.h"
> ***************
> *** 874,884 ****
> uninterrupt_malloc ();
> #endif /* not SYSTEM_MALLOC */
>
> ! #ifdef MSDOS
> /* We do all file input/output as binary files. When we need to translate
> newlines, we do that manually. */
> _fmode = O_BINARY;
>
> #if __DJGPP__ >= 2
> if (!isatty (fileno (stdin)))
> setmode (fileno (stdin), O_BINARY);
> --- 878,890 ----
> uninterrupt_malloc ();
> #endif /* not SYSTEM_MALLOC */
>
> ! #if defined (MSDOS) || defined (WINDOWSNT)
> /* We do all file input/output as binary files. When we need to translate
> newlines, we do that manually. */
> _fmode = O_BINARY;
> + #endif /* MSDOS || WINDOWSNT */
>
> + #ifdef MSDOS
> #if __DJGPP__ >= 2
> if (!isatty (fileno (stdin)))
> setmode (fileno (stdin), O_BINARY);
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
- Raw text -