summaryrefslogtreecommitdiff
path: root/src/emacs.c
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1997-06-23 01:37:22 +0000
committerRichard M. Stallman <rms@gnu.org>1997-06-23 01:37:22 +0000
commit422da8c4b29d38fce2ff0585f8e3a6efa7c37c93 (patch)
tree944caa9df6ae9ee01d3db0c55d9f2783894dc7ea /src/emacs.c
parent7f5e282bcb8aec616060cd447fefd2104eadad04 (diff)
downloademacs-422da8c4b29d38fce2ff0585f8e3a6efa7c37c93.tar.gz
(Fdump_emacs): Bind command-line-processed to nil here.
Diffstat (limited to 'src/emacs.c')
-rw-r--r--src/emacs.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/emacs.c b/src/emacs.c
index 67f78ff1540..31a2b6995e0 100644
--- a/src/emacs.c
+++ b/src/emacs.c
@@ -1486,20 +1486,24 @@ DEFUN ("dump-emacs", Fdump_emacs, Sdump_emacs, 2, 2, 0,
Take symbols from SYMFILE (presumably the file you executed to run Emacs).\n\
This is used in the file `loadup.el' when building Emacs.\n\
\n\
-Bind `command-line-processed' to nil before dumping,\n\
-if you want the dumped Emacs to process its command line\n\
-and announce itself normally when it is run.\n\
-\n\
You must run Emacs in batch mode in order to dump it.")
(filename, symfile)
Lisp_Object filename, symfile;
{
extern char my_edata[];
Lisp_Object tem;
+ Lisp_Object symbol;
+ int count = specpdl_ptr - specpdl;
if (! noninteractive)
error ("Dumping Emacs works only in batch mode");
+ /* Bind `command-line-processed' to nil before dumping,
+ so that the dumped Emacs will process its command line
+ and set up to work with X windows if appropriate. */
+ symbol = intern ("command-line-process");
+ specbind (symbol, Qnil);
+
CHECK_STRING (filename, 0);
filename = Fexpand_file_name (filename, Qnil);
if (!NILP (symfile))
@@ -1545,7 +1549,7 @@ You must run Emacs in batch mode in order to dump it.")
Vpurify_flag = tem;
- return Qnil;
+ return unbind_to (count, Qnil);
}
#endif /* not HAVE_SHM */