summaryrefslogtreecommitdiff
path: root/src
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
commit1b7ddf4f7548c538cc97d0eda41782488007a93e (patch)
treedb8f990c1a5f7533d6e097ab1cf6da97c8f9e148 /src
parent87a98b1a3107a25c723c89392a35527af78653d1 (diff)
downloademacs-1b7ddf4f7548c538cc97d0eda41782488007a93e.tar.gz
(Fdump_emacs): Bind command-line-processed to nil here.
Diffstat (limited to 'src')
-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 */