diff options
-rw-r--r-- | src/emacs.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/emacs.c b/src/emacs.c index a8952ad2a28..b3f4ca79814 100644 --- a/src/emacs.c +++ b/src/emacs.c @@ -150,7 +150,9 @@ fatal_error_signal (sig) 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 @@ main (argc, argv, envp) } #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 @@ main (argc, argv, envp) 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. */ |