aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDmitry Antipov2013-03-19 18:09:05 +0400
committerDmitry Antipov2013-03-19 18:09:05 +0400
commitcf4bb06de4057d96fb1725615e5cf2c288fc3199 (patch)
treeabaa38beaf5f59517c98682fdb4d5470f7f9a367 /src
parent0e6008c58ee197de5708e6c26e4994da89945c4f (diff)
downloademacs-cf4bb06de4057d96fb1725615e5cf2c288fc3199.tar.gz
emacs-cf4bb06de4057d96fb1725615e5cf2c288fc3199.zip
* print.c (syms_of_print): Initialize debugging output not here...
(init_print_once): ...but in a new function here. * lisp.h (init_print_once): Add prototype. * emacs.c (main): Add call to init_print_once. Adjust comments.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog4
-rw-r--r--src/emacs.c7
-rw-r--r--src/lisp.h1
-rw-r--r--src/print.c13
4 files changed, 19 insertions, 6 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 72db989910f..a0a0cd81ed2 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -4,6 +4,10 @@
4 Signal error if window is not internal. Adjust docstring. 4 Signal error if window is not internal. Adjust docstring.
5 (delete_all_child_windows): Use combination_limit to save the buffer. 5 (delete_all_child_windows): Use combination_limit to save the buffer.
6 (Fset_window_configuration): Adjust accordingly. 6 (Fset_window_configuration): Adjust accordingly.
7 * print.c (syms_of_print): Initialize debugging output not here...
8 (init_print_once): ...but in a new function here.
9 * lisp.h (init_print_once): Add prototype.
10 * emacs.c (main): Add call to init_print_once. Adjust comments.
7 11
82013-03-18 Dmitry Antipov <dmantipov@yandex.ru> 122013-03-18 Dmitry Antipov <dmantipov@yandex.ru>
9 13
diff --git a/src/emacs.c b/src/emacs.c
index bd33583af0c..5115126577b 100644
--- a/src/emacs.c
+++ b/src/emacs.c
@@ -1080,7 +1080,7 @@ Using an Emacs configured with --with-x-toolkit=lucid does not have this problem
1080 1080
1081 noninteractive1 = noninteractive; 1081 noninteractive1 = noninteractive;
1082 1082
1083/* Perform basic initializations (not merely interning symbols). */ 1083 /* Perform basic initializations (not merely interning symbols). */
1084 1084
1085 if (!initialized) 1085 if (!initialized)
1086 { 1086 {
@@ -1091,8 +1091,7 @@ Using an Emacs configured with --with-x-toolkit=lucid does not have this problem
1091 init_coding_once (); 1091 init_coding_once ();
1092 init_syntax_once (); /* Create standard syntax table. */ 1092 init_syntax_once (); /* Create standard syntax table. */
1093 init_category_once (); /* Create standard category table. */ 1093 init_category_once (); /* Create standard category table. */
1094 /* Must be done before init_buffer. */ 1094 init_casetab_once (); /* Must be done before init_buffer_once. */
1095 init_casetab_once ();
1096 init_buffer_once (); /* Create buffer table and some buffers. */ 1095 init_buffer_once (); /* Create buffer table and some buffers. */
1097 init_minibuf_once (); /* Create list of minibuffers. */ 1096 init_minibuf_once (); /* Create list of minibuffers. */
1098 /* Must precede init_window_once. */ 1097 /* Must precede init_window_once. */
@@ -1117,6 +1116,8 @@ Using an Emacs configured with --with-x-toolkit=lucid does not have this problem
1117 syms_of_fileio (); 1116 syms_of_fileio ();
1118 /* Before syms_of_coding to initialize Vgc_cons_threshold. */ 1117 /* Before syms_of_coding to initialize Vgc_cons_threshold. */
1119 syms_of_alloc (); 1118 syms_of_alloc ();
1119 /* May call Ffuncall and so GC, thus the latter should be initialized. */
1120 init_print_once ();
1120 /* Before syms_of_coding because it initializes Qcharsetp. */ 1121 /* Before syms_of_coding because it initializes Qcharsetp. */
1121 syms_of_charset (); 1122 syms_of_charset ();
1122 /* Before init_window_once, because it sets up the 1123 /* Before init_window_once, because it sets up the
diff --git a/src/lisp.h b/src/lisp.h
index b2ab5684d4d..f526cd36a6f 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -3163,6 +3163,7 @@ extern Lisp_Object internal_with_output_to_temp_buffer
3163 (const char *, Lisp_Object (*) (Lisp_Object), Lisp_Object); 3163 (const char *, Lisp_Object (*) (Lisp_Object), Lisp_Object);
3164enum FLOAT_TO_STRING_BUFSIZE { FLOAT_TO_STRING_BUFSIZE = 350 }; 3164enum FLOAT_TO_STRING_BUFSIZE { FLOAT_TO_STRING_BUFSIZE = 350 };
3165extern int float_to_string (char *, double); 3165extern int float_to_string (char *, double);
3166extern void init_print_once (void);
3166extern void syms_of_print (void); 3167extern void syms_of_print (void);
3167 3168
3168/* Defined in doprnt.c. */ 3169/* Defined in doprnt.c. */
diff --git a/src/print.c b/src/print.c
index 03b46748454..53c0d99f836 100644
--- a/src/print.c
+++ b/src/print.c
@@ -2165,7 +2165,16 @@ print_interval (INTERVAL interval, Lisp_Object printcharfun)
2165 print_object (interval->plist, printcharfun, 1); 2165 print_object (interval->plist, printcharfun, 1);
2166} 2166}
2167 2167
2168 2168/* Initialize debug_print stuff early to have it working from the very
2169 beginning. */
2170
2171void
2172init_print_once (void)
2173{
2174 DEFSYM (Qexternal_debugging_output, "external-debugging-output");
2175 defsubr (&Sexternal_debugging_output);
2176}
2177
2169void 2178void
2170syms_of_print (void) 2179syms_of_print (void)
2171{ 2180{
@@ -2297,12 +2306,10 @@ priorities. */);
2297 defsubr (&Sprint); 2306 defsubr (&Sprint);
2298 defsubr (&Sterpri); 2307 defsubr (&Sterpri);
2299 defsubr (&Swrite_char); 2308 defsubr (&Swrite_char);
2300 defsubr (&Sexternal_debugging_output);
2301#ifdef WITH_REDIRECT_DEBUGGING_OUTPUT 2309#ifdef WITH_REDIRECT_DEBUGGING_OUTPUT
2302 defsubr (&Sredirect_debugging_output); 2310 defsubr (&Sredirect_debugging_output);
2303#endif 2311#endif
2304 2312
2305 DEFSYM (Qexternal_debugging_output, "external-debugging-output");
2306 DEFSYM (Qprint_escape_newlines, "print-escape-newlines"); 2313 DEFSYM (Qprint_escape_newlines, "print-escape-newlines");
2307 DEFSYM (Qprint_escape_multibyte, "print-escape-multibyte"); 2314 DEFSYM (Qprint_escape_multibyte, "print-escape-multibyte");
2308 DEFSYM (Qprint_escape_nonascii, "print-escape-nonascii"); 2315 DEFSYM (Qprint_escape_nonascii, "print-escape-nonascii");