Index: emacs.c =================================================================== RCS file: /usr/CVSroot/XEmacs/xemacs/src/emacs.c,v retrieving revision 1.82.2.57 diff -u -r1.82.2.57 emacs.c --- emacs.c 2000/03/16 07:04:49 1.82.2.57 +++ emacs.c 2000/03/16 15:18:04 @@ -247,6 +247,14 @@ /* Nonzero if handling a fatal error already */ static int fatal_error_in_progress; +static JMP_BUF run_temacs_catch; + +static int run_temacs_argc; +static char **run_temacs_argv; +static char *run_temacs_args; +static size_t run_temacs_argv_size; +static size_t run_temacs_args_size; + static void shut_down_emacs (int sig, Lisp_Object stuff); /* Handle bus errors, illegal instruction, etc. */ @@ -817,7 +825,10 @@ purify_flag = 1; } else { initialized = pdump_load (argv[0]); - purify_flag = !initialized; + if (initialized) + run_temacs_argc = -1; + else + purify_flag = 1; } #else if (!initialized) @@ -2076,14 +2087,6 @@ xfree (priority); } -static JMP_BUF run_temacs_catch; - -static int run_temacs_argc; -static char **run_temacs_argv; -static char *run_temacs_args; -static size_t run_temacs_argv_size; -static size_t run_temacs_args_size; - DEFUN ("running-temacs-p", Frunning_temacs_p, 0, 0, 0, /* True if running temacs. This means we are in the dumping stage. This is false during normal execution of the `xemacs' program, and @@ -2091,7 +2094,7 @@ */ ()) { - return purify_flag ? Qt : Qnil; + return run_temacs_argc >= 0 ? Qt : Qnil; } DEFUN ("run-emacs-from-temacs", Frun_emacs_from_temacs, 0, MANY, 0, /*