comparison src/emacs.c @ 414:da8ed4261e83 r21-2-15

Import from CVS: tag r21-2-15
author cvs
date Mon, 13 Aug 2007 11:21:38 +0200
parents 697ef44129c6
children ebe98a74bd68
comparison
equal deleted inserted replaced
413:901169e5ca31 414:da8ed4261e83
71 #endif 71 #endif
72 72
73 /* For PATH_EXEC */ 73 /* For PATH_EXEC */
74 #include <paths.h> 74 #include <paths.h>
75 75
76 #ifdef HEAP_IN_DATA
77 void report_sheap_usage (int die_if_pure_storage_exceeded);
78 #endif
79
76 #if !defined SYSTEM_MALLOC && !defined DOUG_LEA_MALLOC 80 #if !defined SYSTEM_MALLOC && !defined DOUG_LEA_MALLOC
77 extern void *(*__malloc_hook)(size_t); 81 extern void *(*__malloc_hook)(size_t);
78 extern void *(*__realloc_hook)(void *, size_t); 82 extern void *(*__realloc_hook)(void *, size_t);
79 extern void (*__free_hook)(void *); 83 extern void (*__free_hook)(void *);
80 #endif /* not SYSTEM_MALLOC && not DOUG_LEA_MALLOC */ 84 #endif /* not SYSTEM_MALLOC && not DOUG_LEA_MALLOC */
109 Lisp_Object Vsystem_configuration_options; 113 Lisp_Object Vsystem_configuration_options;
110 114
111 /* Version numbers and strings */ 115 /* Version numbers and strings */
112 Lisp_Object Vemacs_major_version; 116 Lisp_Object Vemacs_major_version;
113 Lisp_Object Vemacs_minor_version; 117 Lisp_Object Vemacs_minor_version;
118 Lisp_Object Vemacs_patch_level;
114 Lisp_Object Vemacs_beta_version; 119 Lisp_Object Vemacs_beta_version;
115 Lisp_Object Vxemacs_codename; 120 Lisp_Object Vxemacs_codename;
116 #ifdef INFODOCK 121 #ifdef INFODOCK
117 Lisp_Object Vinfodock_major_version; 122 Lisp_Object Vinfodock_major_version;
118 Lisp_Object Vinfodock_minor_version; 123 Lisp_Object Vinfodock_minor_version;
968 syms_of_ralloc (); 973 syms_of_ralloc ();
969 #endif /* HAVE_MMAP && REL_ALLOC */ 974 #endif /* HAVE_MMAP && REL_ALLOC */
970 syms_of_rangetab (); 975 syms_of_rangetab ();
971 syms_of_redisplay (); 976 syms_of_redisplay ();
972 syms_of_search (); 977 syms_of_search ();
978 syms_of_select ();
973 syms_of_signal (); 979 syms_of_signal ();
974 syms_of_sound (); 980 syms_of_sound ();
975 syms_of_specifier (); 981 syms_of_specifier ();
976 syms_of_symbols (); 982 syms_of_symbols ();
977 syms_of_syntax (); 983 syms_of_syntax ();
1033 syms_of_mule (); 1039 syms_of_mule ();
1034 syms_of_mule_ccl (); 1040 syms_of_mule_ccl ();
1035 syms_of_mule_charset (); 1041 syms_of_mule_charset ();
1036 #endif 1042 #endif
1037 #ifdef FILE_CODING 1043 #ifdef FILE_CODING
1038 syms_of_mule_coding (); 1044 syms_of_file_coding ();
1039 #endif 1045 #endif
1040 #ifdef MULE 1046 #ifdef MULE
1041 #ifdef HAVE_WNN 1047 #ifdef HAVE_WNN
1042 syms_of_mule_wnn (); 1048 syms_of_mule_wnn ();
1043 #endif 1049 #endif
1105 #ifdef HAVE_X_WINDOWS 1111 #ifdef HAVE_X_WINDOWS
1106 console_type_create_x (); 1112 console_type_create_x ();
1107 console_type_create_device_x (); 1113 console_type_create_device_x ();
1108 console_type_create_frame_x (); 1114 console_type_create_frame_x ();
1109 console_type_create_glyphs_x (); 1115 console_type_create_glyphs_x ();
1116 console_type_create_select_x ();
1110 #ifdef HAVE_MENUBARS 1117 #ifdef HAVE_MENUBARS
1111 console_type_create_menubar_x (); 1118 console_type_create_menubar_x ();
1112 #endif 1119 #endif
1113 console_type_create_objects_x (); 1120 console_type_create_objects_x ();
1114 console_type_create_redisplay_x (); 1121 console_type_create_redisplay_x ();
1128 console_type_create_device_mswindows (); 1135 console_type_create_device_mswindows ();
1129 console_type_create_frame_mswindows (); 1136 console_type_create_frame_mswindows ();
1130 console_type_create_objects_mswindows (); 1137 console_type_create_objects_mswindows ();
1131 console_type_create_redisplay_mswindows (); 1138 console_type_create_redisplay_mswindows ();
1132 console_type_create_glyphs_mswindows (); 1139 console_type_create_glyphs_mswindows ();
1140 console_type_create_select_mswindows ();
1133 # ifdef HAVE_SCROLLBARS 1141 # ifdef HAVE_SCROLLBARS
1134 console_type_create_scrollbar_mswindows (); 1142 console_type_create_scrollbar_mswindows ();
1135 # endif 1143 # endif
1136 #ifdef HAVE_MENUBARS 1144 #ifdef HAVE_MENUBARS
1137 console_type_create_menubar_mswindows (); 1145 console_type_create_menubar_mswindows ();
1207 1215
1208 */ 1216 */
1209 1217
1210 lstream_type_create (); 1218 lstream_type_create ();
1211 #ifdef FILE_CODING 1219 #ifdef FILE_CODING
1212 lstream_type_create_mule_coding (); 1220 lstream_type_create_file_coding ();
1213 #endif 1221 #endif
1214 #if defined (HAVE_MS_WINDOWS) && !defined(HAVE_MSG_SELECT) 1222 #if defined (HAVE_MS_WINDOWS) && !defined(HAVE_MSG_SELECT)
1215 lstream_type_create_mswindows_selectable (); 1223 lstream_type_create_mswindows_selectable ();
1216 #endif 1224 #endif
1217 1225
1278 #endif 1286 #endif
1279 vars_of_buffer (); 1287 vars_of_buffer ();
1280 vars_of_bytecode (); 1288 vars_of_bytecode ();
1281 vars_of_callint (); 1289 vars_of_callint ();
1282 vars_of_callproc (); 1290 vars_of_callproc ();
1291 vars_of_chartab ();
1283 vars_of_cmdloop (); 1292 vars_of_cmdloop ();
1284 vars_of_cmds (); 1293 vars_of_cmds ();
1285 vars_of_console (); 1294 vars_of_console ();
1286 vars_of_data (); 1295 vars_of_data ();
1287 #ifdef DEBUG_XEMACS 1296 #ifdef DEBUG_XEMACS
1349 #endif 1358 #endif
1350 vars_of_minibuf (); 1359 vars_of_minibuf ();
1351 #ifdef HAVE_SHLIB 1360 #ifdef HAVE_SHLIB
1352 vars_of_module (); 1361 vars_of_module ();
1353 #endif 1362 #endif
1363 #ifdef WINDOWSNT
1364 vars_of_ntproc ();
1365 #endif
1354 vars_of_objects (); 1366 vars_of_objects ();
1355 vars_of_print (); 1367 vars_of_print ();
1356 1368
1357 #ifndef NO_SUBPROCESSES 1369 #ifndef NO_SUBPROCESSES
1358 vars_of_process (); 1370 vars_of_process ();
1371 vars_of_redisplay (); 1383 vars_of_redisplay ();
1372 #ifdef HAVE_SCROLLBARS 1384 #ifdef HAVE_SCROLLBARS
1373 vars_of_scrollbar (); 1385 vars_of_scrollbar ();
1374 #endif 1386 #endif
1375 vars_of_search (); 1387 vars_of_search ();
1388 vars_of_select ();
1376 vars_of_sound (); 1389 vars_of_sound ();
1377 vars_of_specifier (); 1390 vars_of_specifier ();
1378 vars_of_symbols (); 1391 vars_of_symbols ();
1379 vars_of_syntax (); 1392 vars_of_syntax ();
1380 #ifdef HAVE_TOOLBARS 1393 #ifdef HAVE_TOOLBARS
1430 #endif 1443 #endif
1431 #endif /* HAVE_MS_WINDOWS */ 1444 #endif /* HAVE_MS_WINDOWS */
1432 1445
1433 #ifdef MULE 1446 #ifdef MULE
1434 vars_of_mule (); 1447 vars_of_mule ();
1448 vars_of_mule_ccl ();
1435 vars_of_mule_charset (); 1449 vars_of_mule_charset ();
1436 #endif 1450 #endif
1437 #ifdef FILE_CODING 1451 #ifdef FILE_CODING
1438 vars_of_mule_coding (); 1452 vars_of_file_coding ();
1439 #endif 1453 #endif
1440 #ifdef MULE 1454 #ifdef MULE
1441 #ifdef HAVE_WNN 1455 #ifdef HAVE_WNN
1442 vars_of_mule_wnn (); 1456 vars_of_mule_wnn ();
1443 #endif 1457 #endif
1505 /* These two depend on hash tables and various variables declared 1519 /* These two depend on hash tables and various variables declared
1506 earlier. The second may also depend on the first. */ 1520 earlier. The second may also depend on the first. */
1507 complex_vars_of_mule_charset (); 1521 complex_vars_of_mule_charset ();
1508 #endif 1522 #endif
1509 #if defined(FILE_CODING) 1523 #if defined(FILE_CODING)
1510 complex_vars_of_mule_coding (); 1524 complex_vars_of_file_coding ();
1511 #endif 1525 #endif
1512 1526
1513 /* This calls allocate_glyph(), which creates specifiers 1527 /* This calls allocate_glyph(), which creates specifiers
1514 and also relies on a variable (Vthe_nothing_vector) initialized 1528 and also relies on a variable (Vthe_nothing_vector) initialized
1515 above. It also calls make_ext_string(), which under Mule 1529 above. It also calls make_ext_string(), which under Mule
2035 catchlist = NULL; /* Important! Otherwise free_cons() calls in 2049 catchlist = NULL; /* Important! Otherwise free_cons() calls in
2036 condition_case_unwind() may lead to GC death. */ 2050 condition_case_unwind() may lead to GC death. */
2037 unbind_to (0, Qnil); /* this closes loadup.el */ 2051 unbind_to (0, Qnil); /* this closes loadup.el */
2038 purify_flag = 0; 2052 purify_flag = 0;
2039 run_temacs_argc = nargs + 1; 2053 run_temacs_argc = nargs + 1;
2054 #ifdef HEAP_IN_DATA
2055 report_sheap_usage (0);
2056 #endif
2040 LONGJMP (run_temacs_catch, 1); 2057 LONGJMP (run_temacs_catch, 1);
2041 return Qnil; /* not reached; warning suppression */ 2058 return Qnil; /* not reached; warning suppression */
2042 } 2059 }
2043 2060
2044 /* ARGSUSED */ 2061 /* ARGSUSED */
2443 } 2460 }
2444 2461
2445 opurify = purify_flag; 2462 opurify = purify_flag;
2446 purify_flag = 0; 2463 purify_flag = 0;
2447 2464
2465 #ifdef HEAP_IN_DATA
2466 report_sheap_usage (1);
2467 #endif
2468
2448 fflush (stderr); 2469 fflush (stderr);
2449 fflush (stdout); 2470 fflush (stdout);
2450 2471
2451 disksave_object_finalization (); 2472 disksave_object_finalization ();
2452 release_breathing_space (); 2473 release_breathing_space ();
2779 FSF Emacs: 19.23 2800 FSF Emacs: 19.23
2780 XEmacs: 19.10 2801 XEmacs: 19.10
2781 */ ); 2802 */ );
2782 Vemacs_minor_version = make_int (EMACS_MINOR_VERSION); 2803 Vemacs_minor_version = make_int (EMACS_MINOR_VERSION);
2783 2804
2784 DEFVAR_LISP ("emacs-beta-version", &Vemacs_beta_version /* 2805 DEFVAR_LISP ("emacs-patch-level", &Vemacs_patch_level /*
2806 The patch level of this version of Emacs, as an integer.
2807 The value is non-nil if this version of XEmacs is part of a series of
2808 stable XEmacsen, but has bug fixes applied.
2809 Warning: this variable does not exist in FSF Emacs or in XEmacs versions
2810 earlier than 21.1.1
2811 */ );
2812 #ifdef EMACS_PATCH_LEVEL
2813 Vemacs_patch_level = make_int (EMACS_PATCH_LEVEL);
2814 #else
2815 Vemacs_patch_level = Qnil;
2816 #endif
2817
2818 DEFVAR_LISP ("emacs-beta-version", &Vemacs_beta_version /*
2785 Beta number of this version of Emacs, as an integer. 2819 Beta number of this version of Emacs, as an integer.
2786 The value is nil if this is an officially released version of XEmacs. 2820 The value is nil if this is an officially released version of XEmacs.
2787 Warning: this variable does not exist in FSF Emacs or in XEmacs versions 2821 Warning: this variable does not exist in FSF Emacs or in XEmacs versions
2788 earlier than 20.3. 2822 earlier than 20.3.
2789 */ ); 2823 */ );