diff src/emacs.c @ 5493:2a0ba54aefb5

(main) [MSDOS]: Call init_environment. Set file types to binary for all files. Call init_dosfns. (fatal_error_signal) [MSDOS]: Uncomment sigblock.
author Richard M. Stallman <rms@gnu.org>
date Sat, 08 Jan 1994 08:48:32 +0000
parents 99b5ca69dea7
children 9d548eeedc06
line wrap: on
line diff
--- a/src/emacs.c	Sat Jan 08 08:47:19 1994 +0000
+++ b/src/emacs.c	Sat Jan 08 08:48:32 1994 +0000
@@ -150,7 +150,9 @@
      Remember that since we're in a signal handler, the signal we're
      going to send is probably blocked, so we have to unblock it if we
      want to really receive it.  */
+#ifndef MSDOS
   sigunblock (sigmask (fatal_error_code));
+#endif
   kill (getpid (), fatal_error_code);
 #endif /* not VMS */
 }
@@ -367,6 +369,15 @@
     }
 #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;
+  (stdin)->_flag &= ~_IOTEXT;
+  (stdout)->_flag &= ~_IOTEXT;
+  (stderr)->_flag &= ~_IOTEXT;
+#endif /* MSDOS */
+
 #ifdef PRIO_PROCESS
   if (emacs_priority)
     nice (emacs_priority);
@@ -512,6 +523,13 @@
   init_eval ();
   init_data ();
 
+#ifdef MSDOS
+  /* Call early 'cause init_environment needs it.  */
+  init_dosfns ();
+  /* Set defaults for several environment variables.  */
+  if (initialized) init_environment (argc, argv, skip_args);
+#endif
+
   /* egetenv is a pretty low-level facility, which may get called in
      many circumstances; it seems flimsy to put off initializing it
      until calling init_callproc.  */