Mercurial > hg > xemacs-beta
comparison src/emacs.c @ 267:966663fcf606 r20-5b32
Import from CVS: tag r20-5b32
author | cvs |
---|---|
date | Mon, 13 Aug 2007 10:26:29 +0200 |
parents | 8efd647ea9ca |
children | b2472a1930f2 |
comparison
equal
deleted
inserted
replaced
266:18d185df8c54 | 267:966663fcf606 |
---|---|
84 #ifdef DOUG_LEA_MALLOC | 84 #ifdef DOUG_LEA_MALLOC |
85 # include <malloc.h> | 85 # include <malloc.h> |
86 /* Preserves a pointer to the memory allocated that copies that | 86 /* Preserves a pointer to the memory allocated that copies that |
87 static data inside glibc's malloc. */ | 87 static data inside glibc's malloc. */ |
88 void *malloc_state_ptr; | 88 void *malloc_state_ptr; |
89 /*#define SLB_MEMORY_CHECKING 1*/ | |
90 /* I have observed free being passed the value 0x01 in gdb from somewhere */ | |
91 /* in the locale initialization, except that as soon as the following */ | |
92 /* monitoring code was added, the problem went away. I don't trust gdb */ | |
93 /* at all with glibc, sigh. -slb */ | |
94 #ifdef SLB_MEMORY_CHECKING | |
95 void slb_memory_checker(__malloc_ptr_t); | |
96 #endif | |
97 #endif | 89 #endif |
98 | 90 |
99 /* Variable whose value is symbol giving operating system type. */ | 91 /* Variable whose value is symbol giving operating system type. */ |
100 Lisp_Object Vsystem_type; | 92 Lisp_Object Vsystem_type; |
101 | 93 |
110 Lisp_Object Vemacs_major_version; | 102 Lisp_Object Vemacs_major_version; |
111 Lisp_Object Vemacs_minor_version; | 103 Lisp_Object Vemacs_minor_version; |
112 Lisp_Object Vemacs_beta_version; | 104 Lisp_Object Vemacs_beta_version; |
113 Lisp_Object Vxemacs_codename; | 105 Lisp_Object Vxemacs_codename; |
114 | 106 |
115 /* Package directories built in at configure time */ | |
116 Lisp_Object Vpackage_path; | |
117 | |
118 /* The name under which XEmacs was invoked, with any leading directory | 107 /* The name under which XEmacs was invoked, with any leading directory |
119 names discarded. */ | 108 names discarded. */ |
120 Lisp_Object Vinvocation_name; | 109 Lisp_Object Vinvocation_name; |
121 | 110 |
122 /* The directory name from which XEmacs was invoked. */ | 111 /* The directory name from which XEmacs was invoked. */ |
126 /* The directory name in which to find subdirs such as lisp and etc. | 115 /* The directory name in which to find subdirs such as lisp and etc. |
127 nil means get them only from PATH_LOADSEARCH. */ | 116 nil means get them only from PATH_LOADSEARCH. */ |
128 Lisp_Object Vinstallation_directory; | 117 Lisp_Object Vinstallation_directory; |
129 #endif | 118 #endif |
130 | 119 |
120 Lisp_Object Vexec_path, Vconfigure_exec_path; | |
121 Lisp_Object Vexec_directory; | |
122 Lisp_Object Vconfigure_lisp_directory; | |
123 Lisp_Object Vconfigure_package_path; | |
124 Lisp_Object Vdata_directory, Vconfigure_data_directory; | |
125 Lisp_Object Vdoc_directory, Vconfigure_doc_directory; | |
126 Lisp_Object Vconfigure_lock_directory; | |
127 Lisp_Object Vdata_directory_list; | |
128 Lisp_Object Vinfo_directory, Vconfigure_info_directory; | |
129 Lisp_Object Vsite_directory, Vconfigure_site_directory; | |
130 Lisp_Object Vconfigure_info_path; | |
131 | |
132 /* The default base directory XEmacs is installed under. */ | |
133 Lisp_Object Vconfigure_prefix_directory; | |
134 | |
131 /* If nonzero, set XEmacs to run at this priority. This is also used | 135 /* If nonzero, set XEmacs to run at this priority. This is also used |
132 in child_setup and sys_suspend to make sure subshells run at normal | 136 in child_setup and sys_suspend to make sure subshells run at normal |
133 priority. */ | 137 priority. */ |
134 int emacs_priority; | 138 int emacs_priority; |
135 | 139 |
170 /* Value of Lisp variable `noninteractive'. | 174 /* Value of Lisp variable `noninteractive'. |
171 Normally same as C variable `noninteractive' | 175 Normally same as C variable `noninteractive' |
172 but nothing terrible happens if user sets this one. */ | 176 but nothing terrible happens if user sets this one. */ |
173 | 177 |
174 int noninteractive1; | 178 int noninteractive1; |
179 | |
180 /* Nonzero means don't perform site-lisp searches at startup */ | |
181 int inhibit_site_lisp; | |
175 | 182 |
176 /* Nonzero means don't perform package searches at startup */ | 183 /* Nonzero means don't perform package searches at startup */ |
177 int inhibit_package_init; | 184 int inhibit_package_init; |
178 | 185 |
179 /* Nonzero means don't reload changed dumped lisp files at startup */ | 186 /* Nonzero means don't reload changed dumped lisp files at startup */ |
504 int inhibit_window_system; | 511 int inhibit_window_system; |
505 #ifdef NeXT | 512 #ifdef NeXT |
506 extern int malloc_cookie; | 513 extern int malloc_cookie; |
507 #endif | 514 #endif |
508 | 515 |
509 #ifndef SYSTEM_MALLOC | 516 #if !defined(SYSTEM_MALLOC) && !defined(HAVE_LIBMCHECK) |
510 /* Make sure that any libraries we link against haven't installed a | 517 /* Make sure that any libraries we link against haven't installed a |
511 hook for a gmalloc of a potentially incompatible version. */ | 518 hook for a gmalloc of a potentially incompatible version. */ |
519 /* If we're using libmcheck, the hooks have already been initialized, */ | |
520 /* don't touch them. -slb */ | |
512 __malloc_hook = NULL; | 521 __malloc_hook = NULL; |
513 __realloc_hook = NULL; | 522 __realloc_hook = NULL; |
514 #ifndef SLB_MEMORY_CHECKING | |
515 __free_hook = NULL; | 523 __free_hook = NULL; |
516 #endif | |
517 #endif /* not SYSTEM_MALLOC */ | 524 #endif /* not SYSTEM_MALLOC */ |
518 | 525 |
519 noninteractive = 0; | 526 noninteractive = 0; |
520 | 527 |
521 #ifdef NeXT | 528 #ifdef NeXT |
530 if (initialized) | 537 if (initialized) |
531 if (malloc_jumpstart (malloc_cookie) != 0) | 538 if (malloc_jumpstart (malloc_cookie) != 0) |
532 printf ("malloc jumpstart failed!\n"); | 539 printf ("malloc jumpstart failed!\n"); |
533 #endif /* NeXT */ | 540 #endif /* NeXT */ |
534 | 541 |
535 #if defined (GNU_MALLOC) && defined (ERROR_CHECK_MALLOC) | 542 #if defined (GNU_MALLOC) && \ |
536 #if 0 | 543 defined (ERROR_CHECK_MALLOC) && \ |
537 if (!initialized) | 544 !defined (HAVE_LIBMCHECK) |
538 init_free_hook (); | 545 /* Prior to XEmacs 21, this was `#if 0'ed out. I'm putting it back in |
539 #endif | 546 because it provides extremely valuable debugging code. -slb */ |
547 init_free_hook (); | |
540 #endif | 548 #endif |
541 | 549 |
542 sort_args (argc, argv); | 550 sort_args (argc, argv); |
543 | 551 |
544 /* Map in shared memory, if we are using that. */ | 552 /* Map in shared memory, if we are using that. */ |
675 if (argmatch (argv, argc, "-no-autoloads", "--no-autoloads", | 683 if (argmatch (argv, argc, "-no-autoloads", "--no-autoloads", |
676 7, NULL, &skip_args)) | 684 7, NULL, &skip_args)) |
677 { | 685 { |
678 /* Inhibit everything */ | 686 /* Inhibit everything */ |
679 inhibit_package_init = 1; | 687 inhibit_package_init = 1; |
688 inhibit_site_lisp = 1; | |
680 inhibit_update_autoloads = 1; | 689 inhibit_update_autoloads = 1; |
681 inhibit_update_dumped_lisp = 1; | 690 inhibit_update_dumped_lisp = 1; |
682 skip_args--; | 691 skip_args--; |
683 } | 692 } |
684 | 693 |
943 syms_of_device_mswindows (); | 952 syms_of_device_mswindows (); |
944 syms_of_event_mswindows (); | 953 syms_of_event_mswindows (); |
945 syms_of_frame_mswindows (); | 954 syms_of_frame_mswindows (); |
946 syms_of_objects_mswindows (); | 955 syms_of_objects_mswindows (); |
947 syms_of_select_mswindows (); | 956 syms_of_select_mswindows (); |
957 syms_of_glyphs_mswindows (); | |
948 #ifdef HAVE_MENUBARS | 958 #ifdef HAVE_MENUBARS |
949 syms_of_menubar_mswindows (); | 959 syms_of_menubar_mswindows (); |
950 #endif | 960 #endif |
951 #ifdef HAVE_MSW_C_DIRED | 961 #ifdef HAVE_MSW_C_DIRED |
952 syms_of_dired_mswindows (); | 962 syms_of_dired_mswindows (); |
980 | 990 |
981 #ifdef EMACS_BTL | 991 #ifdef EMACS_BTL |
982 syms_of_btl (); | 992 syms_of_btl (); |
983 #endif | 993 #endif |
984 | 994 |
985 #if defined (GNU_MALLOC) && defined (ERROR_CHECK_MALLOC) | 995 #if defined (GNU_MALLOC) && \ |
986 #if 0 | 996 defined (ERROR_CHECK_MALLOC) && \ |
997 !defined (HAVE_LIBMCHECK) | |
998 /* Prior to XEmacs 21, this was `#if 0'ed out. -slb */ | |
987 syms_of_free_hook (); | 999 syms_of_free_hook (); |
988 #endif | |
989 #endif | 1000 #endif |
990 | 1001 |
991 #ifdef TOOLTALK | 1002 #ifdef TOOLTALK |
992 syms_of_tooltalk (); | 1003 syms_of_tooltalk (); |
993 #endif | 1004 #endif |
1048 console_type_create_mswindows (); | 1059 console_type_create_mswindows (); |
1049 console_type_create_device_mswindows (); | 1060 console_type_create_device_mswindows (); |
1050 console_type_create_frame_mswindows (); | 1061 console_type_create_frame_mswindows (); |
1051 console_type_create_objects_mswindows (); | 1062 console_type_create_objects_mswindows (); |
1052 console_type_create_redisplay_mswindows (); | 1063 console_type_create_redisplay_mswindows (); |
1064 console_type_create_glyphs_mswindows (); | |
1053 # ifdef HAVE_SCROLLBARS | 1065 # ifdef HAVE_SCROLLBARS |
1054 console_type_create_scrollbar_mswindows (); | 1066 console_type_create_scrollbar_mswindows (); |
1055 # endif | 1067 # endif |
1056 #ifdef HAVE_MENUBARS | 1068 #ifdef HAVE_MENUBARS |
1057 console_type_create_menubar_mswindows (); | 1069 console_type_create_menubar_mswindows (); |
1105 | 1117 |
1106 image_instantiator_format_create (); | 1118 image_instantiator_format_create (); |
1107 #ifdef HAVE_X_WINDOWS | 1119 #ifdef HAVE_X_WINDOWS |
1108 image_instantiator_format_create_glyphs_x (); | 1120 image_instantiator_format_create_glyphs_x (); |
1109 #endif /* HAVE_X_WINDOWS */ | 1121 #endif /* HAVE_X_WINDOWS */ |
1122 #ifdef HAVE_MS_WINDOWS | |
1123 image_instantiator_format_create_glyphs_mswindows (); | |
1124 #endif /* HAVE_MSWINDOWS_WINDOWS */ | |
1110 | 1125 |
1111 /* Now initialize the lstream types and associated symbols. | 1126 /* Now initialize the lstream types and associated symbols. |
1112 Other than the first function below, the functions may | 1127 Other than the first function below, the functions may |
1113 make exactly the following function/macro calls: | 1128 make exactly the following function/macro calls: |
1114 | 1129 |
1310 vars_of_console_mswindows (); | 1325 vars_of_console_mswindows (); |
1311 vars_of_event_mswindows (); | 1326 vars_of_event_mswindows (); |
1312 vars_of_frame_mswindows (); | 1327 vars_of_frame_mswindows (); |
1313 vars_of_objects_mswindows (); | 1328 vars_of_objects_mswindows (); |
1314 vars_of_select_mswindows (); | 1329 vars_of_select_mswindows (); |
1330 vars_of_glyphs_mswindows (); | |
1315 #ifdef HAVE_SCROLLBARS | 1331 #ifdef HAVE_SCROLLBARS |
1316 vars_of_scrollbar_mswindows (); | 1332 vars_of_scrollbar_mswindows (); |
1317 #endif | 1333 #endif |
1318 #ifdef HAVE_MENUBARS | 1334 #ifdef HAVE_MENUBARS |
1319 vars_of_menubar_mswindows (); | 1335 vars_of_menubar_mswindows (); |
1412 /* These rely on the glyphs just created in the previous function, | 1428 /* These rely on the glyphs just created in the previous function, |
1413 and call Fadd_spec_to_specifier(), which relies on various | 1429 and call Fadd_spec_to_specifier(), which relies on various |
1414 variables initialized above. */ | 1430 variables initialized above. */ |
1415 #ifdef HAVE_X_WINDOWS | 1431 #ifdef HAVE_X_WINDOWS |
1416 complex_vars_of_glyphs_x (); | 1432 complex_vars_of_glyphs_x (); |
1433 #endif | |
1434 #ifdef HAVE_MS_WINDOWS | |
1435 complex_vars_of_glyphs_mswindows (); | |
1417 #endif | 1436 #endif |
1418 | 1437 |
1419 /* This calls Fmake_glyph_internal(). */ | 1438 /* This calls Fmake_glyph_internal(). */ |
1420 complex_vars_of_alloc (); | 1439 complex_vars_of_alloc (); |
1421 | 1440 |
1458 previous function. */ | 1477 previous function. */ |
1459 complex_vars_of_minibuf (); | 1478 complex_vars_of_minibuf (); |
1460 | 1479 |
1461 /* These two might call Ffile_name_as_directory(), which | 1480 /* These two might call Ffile_name_as_directory(), which |
1462 might depend on all sorts of things; I'm not sure. */ | 1481 might depend on all sorts of things; I'm not sure. */ |
1463 complex_vars_of_callproc (); | 1482 complex_vars_of_emacs (); |
1483 | |
1464 #ifdef CLASH_DETECTION | 1484 #ifdef CLASH_DETECTION |
1465 complex_vars_of_filelock (); | 1485 complex_vars_of_filelock (); |
1466 #endif /* CLASH_DETECTION */ | 1486 #endif /* CLASH_DETECTION */ |
1467 | 1487 |
1468 /* This creates a couple of basic keymaps and depends on Lisp | 1488 /* This creates a couple of basic keymaps and depends on Lisp |
1908 report_pure_usage (0, 0); | 1928 report_pure_usage (0, 0); |
1909 #endif | 1929 #endif |
1910 LONGJMP (run_temacs_catch, 1); | 1930 LONGJMP (run_temacs_catch, 1); |
1911 return Qnil; /* not reached; warning suppression */ | 1931 return Qnil; /* not reached; warning suppression */ |
1912 } | 1932 } |
1913 | |
1914 #ifdef SLB_MEMORY_CHECKING | |
1915 void | |
1916 slb_memory_checker(__malloc_ptr_t mem) | |
1917 { | |
1918 unsigned int u = (unsigned int)mem; | |
1919 /* 08f6b0a8 */ | |
1920 if (u < 0x08000000) { | |
1921 printf("free(%08x)\n", u); | |
1922 /* abort(); */ | |
1923 } else { | |
1924 __free_hook = 0; | |
1925 | |
1926 free(mem); | |
1927 | |
1928 __free_hook = slb_memory_checker; | |
1929 } | |
1930 } | |
1931 #endif | |
1932 | 1933 |
1933 /* ARGSUSED */ | 1934 /* ARGSUSED */ |
1934 int | 1935 int |
1935 main (int argc, char **argv, char **envp) | 1936 main (int argc, char **argv, char **envp) |
1936 { | 1937 { |
1963 #ifdef QUANTIFY | 1964 #ifdef QUANTIFY |
1964 quantify_stop_recording_data (); | 1965 quantify_stop_recording_data (); |
1965 quantify_clear_data (); | 1966 quantify_clear_data (); |
1966 #endif /* QUANTIFY */ | 1967 #endif /* QUANTIFY */ |
1967 | 1968 |
1968 #ifdef SLB_MEMORY_CHECKING | |
1969 __free_hook = slb_memory_checker; | |
1970 #endif | |
1971 suppress_early_backtrace = 0; | 1969 suppress_early_backtrace = 0; |
1972 lim_data = 0; /* force reinitialization of this variable */ | 1970 lim_data = 0; /* force reinitialization of this variable */ |
1973 | 1971 |
1974 /* Lisp_Object must fit in a word; check VALBITS and GCTYPEBITS */ | 1972 /* Lisp_Object must fit in a word; check VALBITS and GCTYPEBITS */ |
1975 assert (sizeof (Lisp_Object) == sizeof (void *)); | 1973 assert (sizeof (Lisp_Object) == sizeof (void *)); |
2074 dont_check_for_quit = 1; | 2072 dont_check_for_quit = 1; |
2075 Vinhibit_quit = Qt; | 2073 Vinhibit_quit = Qt; |
2076 | 2074 |
2077 if (!preparing_for_armageddon) | 2075 if (!preparing_for_armageddon) |
2078 { | 2076 { |
2079 Lisp_Object concons; | 2077 Lisp_Object concons, nextcons; |
2080 | 2078 |
2081 /* Normally, go ahead and delete all the consoles now. | 2079 /* Normally, go ahead and delete all the consoles now. |
2082 Some unmentionably lame window systems (MS Wwwww...... eek, | 2080 Some unmentionably lame window systems (MS Wwwww...... eek, |
2083 I can't even say it) don't properly clean up after themselves, | 2081 I can't even say it) don't properly clean up after themselves, |
2084 and even for those that do, it might be cleaner this way. | 2082 and even for those that do, it might be cleaner this way. |
2085 If we're going down, however, we don't do this (might | 2083 If we're going down, however, we don't do this (might |
2086 be too dangerous), and if we get a crash somewhere within | 2084 be too dangerous), and if we get a crash somewhere within |
2087 this loop, we'll still autosave and won't try this again. */ | 2085 this loop, we'll still autosave and won't try this again. */ |
2088 CONSOLE_LOOP (concons) | 2086 |
2089 delete_console_internal (XCONSOLE (XCAR (concons)), 1, 1, 0); | 2087 LIST_LOOP_DELETING(concons, nextcons, Vconsole_list) |
2088 { | |
2089 /* There is very little point in deleting the stream console. | |
2090 It uses stdio, which should flush any buffered output and | |
2091 something can only go wrong. -slb */ | |
2092 /* I changed my mind. There's a stupid hack in close to add | |
2093 a trailing newline. */ | |
2094 /*if (!CONSOLE_STREAM_P (XCONSOLE (XCAR (concons))))*/ | |
2095 delete_console_internal (XCONSOLE (XCAR (concons)), 1, 1, 0); | |
2096 } | |
2090 } | 2097 } |
2091 | 2098 |
2092 UNGCPRO; | 2099 UNGCPRO; |
2093 | 2100 |
2094 shut_down_emacs (0, ((STRINGP (arg)) ? arg : Qnil)); | 2101 shut_down_emacs (0, ((STRINGP (arg)) ? arg : Qnil)); |
2369 | 2376 |
2370 #ifndef SEPCHAR | 2377 #ifndef SEPCHAR |
2371 #define SEPCHAR ':' | 2378 #define SEPCHAR ':' |
2372 #endif | 2379 #endif |
2373 | 2380 |
2374 DEFUN ("parse-colon-path", Fparse_colon_path, 1, 1, 0, /* | 2381 DEFUN ("decode-path-internal", Fdecode_path_internal, 1, 1, 0, /* |
2375 Explode a colon-separated list of paths into a string list. | 2382 Explode a colon-separated list of paths into a string list. |
2376 */ | 2383 */ |
2377 (cd_path)) | 2384 (cd_path)) |
2378 { | 2385 { |
2386 if (NILP(cd_path)) | |
2387 { | |
2388 return Qnil; | |
2389 } | |
2379 CHECK_STRING (cd_path); | 2390 CHECK_STRING (cd_path); |
2380 | 2391 |
2381 return decode_path(XSTRING_DATA(cd_path)); | 2392 return (!XSTRING_LENGTH(cd_path)) ? |
2393 list1(Qnil) : | |
2394 decode_path(XSTRING_DATA(cd_path)); | |
2382 } | 2395 } |
2383 | 2396 |
2384 Lisp_Object | 2397 Lisp_Object |
2385 decode_path (CONST char *path) | 2398 decode_path (CONST char *path) |
2386 { | 2399 { |
2396 while (1) | 2409 while (1) |
2397 { | 2410 { |
2398 p = strchr (path, SEPCHAR); | 2411 p = strchr (path, SEPCHAR); |
2399 if (!p) p = path + strlen (path); | 2412 if (!p) p = path + strlen (path); |
2400 lpath = Fcons (((p != path) | 2413 lpath = Fcons (((p != path) |
2401 #if 0 | 2414 #if 1 |
2402 ? Ffile_name_as_directory(make_string ((CONST Bufbyte *) path, p - path)) | 2415 ? Ffile_name_as_directory(make_string ((CONST Bufbyte *) path, p - path)) |
2403 #else | 2416 #else |
2404 ? make_string ((CONST Bufbyte *) path, p - path) | 2417 ? make_string ((CONST Bufbyte *) path, p - path) |
2405 #endif | 2418 #endif |
2406 : Qnil), | 2419 : Qnil), |
2510 DEFSUBR (Fquantify_start_recording_data); | 2523 DEFSUBR (Fquantify_start_recording_data); |
2511 DEFSUBR (Fquantify_stop_recording_data); | 2524 DEFSUBR (Fquantify_stop_recording_data); |
2512 DEFSUBR (Fquantify_clear_data); | 2525 DEFSUBR (Fquantify_clear_data); |
2513 #endif /* QUANTIFY */ | 2526 #endif /* QUANTIFY */ |
2514 | 2527 |
2515 DEFSUBR (Fparse_colon_path); | 2528 DEFSUBR (Fdecode_path_internal); |
2516 | 2529 |
2517 defsymbol (&Qkill_emacs_hook, "kill-emacs-hook"); | 2530 defsymbol (&Qkill_emacs_hook, "kill-emacs-hook"); |
2518 defsymbol (&Qsave_buffers_kill_emacs, "save-buffers-kill-emacs"); | 2531 defsymbol (&Qsave_buffers_kill_emacs, "save-buffers-kill-emacs"); |
2519 } | 2532 } |
2520 | 2533 |
2605 #ifndef XEMACS_CODENAME | 2618 #ifndef XEMACS_CODENAME |
2606 #define XEMACS_CODENAME "Noname" | 2619 #define XEMACS_CODENAME "Noname" |
2607 #endif | 2620 #endif |
2608 Vxemacs_codename = Fpurecopy (build_string (XEMACS_CODENAME)); | 2621 Vxemacs_codename = Fpurecopy (build_string (XEMACS_CODENAME)); |
2609 | 2622 |
2610 DEFVAR_LISP ("package-path", &Vpackage_path /* | |
2611 List of directories configured for package searching. | |
2612 */ ); | |
2613 #ifndef PACKAGE_PATH | |
2614 #define PACKAGE_PATH "~/.xemacs:" PATH_PREFIX "/lib/xemacs/packages" | |
2615 #endif | |
2616 Vpackage_path = decode_path(PACKAGE_PATH); | |
2617 | |
2618 DEFVAR_BOOL ("noninteractive", &noninteractive1 /* | 2623 DEFVAR_BOOL ("noninteractive", &noninteractive1 /* |
2619 Non-nil means XEmacs is running without interactive terminal. | 2624 Non-nil means XEmacs is running without interactive terminal. |
2620 */ ); | 2625 */ ); |
2621 | 2626 |
2622 DEFVAR_BOOL ("inhibit-package-init", &inhibit_package_init /* | 2627 DEFVAR_BOOL ("inhibit-package-init", &inhibit_package_init /* |
2623 Set to non-nil when the package-path should not be searched at startup. | 2628 Set to non-nil when the package-path should not be searched at startup. |
2629 */ ); | |
2630 | |
2631 DEFVAR_BOOL ("inhibit-site-lisp", &inhibit_site_lisp /* | |
2632 Set to non-nil when the site-lisp should not be searched at startup. | |
2624 */ ); | 2633 */ ); |
2625 | 2634 |
2626 DEFVAR_BOOL ("inhibit-update-dumped-lisp", &inhibit_update_dumped_lisp /* | 2635 DEFVAR_BOOL ("inhibit-update-dumped-lisp", &inhibit_update_dumped_lisp /* |
2627 Set to non-nil when modified dumped lisp should not be reloaded at startup. | 2636 Set to non-nil when modified dumped lisp should not be reloaded at startup. |
2628 */ ); | 2637 */ ); |
2642 before you compile XEmacs, to enable the code for this feature. | 2651 before you compile XEmacs, to enable the code for this feature. |
2643 */ ); | 2652 */ ); |
2644 emacs_priority = 0; | 2653 emacs_priority = 0; |
2645 | 2654 |
2646 } | 2655 } |
2656 | |
2657 void | |
2658 complex_vars_of_emacs (void) | |
2659 { | |
2660 DEFVAR_LISP ("exec-path", &Vexec_path /* | |
2661 *List of directories to search programs to run in subprocesses. | |
2662 Each element is a string (directory name) or nil (try default directory). | |
2663 */ ); | |
2664 Vexec_path = Qnil; | |
2665 | |
2666 DEFVAR_LISP ("configure-exec-path", &Vconfigure_exec_path /* | |
2667 For internal use by the build procedure only. | |
2668 configure's idea of what EXEC-PATH will be. | |
2669 */ ); | |
2670 #ifdef PATH_EXEC | |
2671 Vconfigure_exec_path = decode_path (PATH_EXEC); | |
2672 #else | |
2673 Vconfigure_exec_path = Qnil; | |
2674 #endif | |
2675 | |
2676 DEFVAR_LISP ("exec-directory", &Vexec_directory /* | |
2677 *Directory of architecture-dependent files that come with XEmacs, | |
2678 especially executable programs intended for XEmacs to invoke. | |
2679 */ ); | |
2680 Vexec_directory = Qnil; | |
2681 | |
2682 DEFVAR_LISP ("configure-lisp-directory", &Vconfigure_lisp_directory /* | |
2683 Directory of core Lisp files that come with XEmacs. | |
2684 */ ); | |
2685 #ifdef PATH_LOADSEARCH | |
2686 Vconfigure_lisp_directory = Ffile_name_as_directory | |
2687 (build_string ((char *) PATH_LOADSEARCH)); | |
2688 #else | |
2689 Vconfigure_lisp_directory = Qnil; | |
2690 #endif | |
2691 | |
2692 DEFVAR_LISP ("configure-package-path", &Vconfigure_package_path /* | |
2693 For internal use by the build procedure only. | |
2694 configure's idea of what PACKAGE-DIRECTORY will be. | |
2695 */ ); | |
2696 #ifdef PATH_PACKAGEPATH | |
2697 Vconfigure_package_path = decode_path (PATH_PACKAGEPATH); | |
2698 #else | |
2699 Vconfigure_package_path = Qnil; | |
2700 #endif | |
2701 | |
2702 DEFVAR_LISP ("data-directory", &Vdata_directory /* | |
2703 *Directory of architecture-independent files that come with XEmacs, | |
2704 intended for XEmacs to use. | |
2705 Use of this variable in new code is almost never correct. See the | |
2706 function `locate-data-directory' and the variable `data-directory-list'. | |
2707 */ ); | |
2708 Vdata_directory = Qnil; | |
2709 | |
2710 DEFVAR_LISP ("configure-data-directory", &Vconfigure_data_directory /* | |
2711 For internal use by the build procedure only. | |
2712 configure's idea of what DATA-DIRECTORY will be. | |
2713 */ ); | |
2714 #ifdef PATH_DATA | |
2715 Vconfigure_data_directory = Ffile_name_as_directory | |
2716 (build_string ((char *) PATH_DATA)); | |
2717 #else | |
2718 Vconfigure_data_directory = Qnil; | |
2719 #endif | |
2720 | |
2721 DEFVAR_LISP ("data-directory-list", &Vdata_directory_list /* | |
2722 *List of directories of architecture-independent files that come with XEmacs | |
2723 or were installed as packages, and are intended for XEmacs to use. | |
2724 */ ); | |
2725 Vdata_directory_list = Qnil; | |
2726 | |
2727 #ifdef CLASH_DETECTION | |
2728 DEFVAR_LISP ("configure-lock-directory", &Vconfigure_lock_directory /* | |
2729 For internal use by the build procedure only. | |
2730 configure's idea of what LOCK-DIRECTORY will be. | |
2731 */ ); | |
2732 #ifdef PATH_LOCK | |
2733 Vconfigure_lock_directory = Ffile_name_as_directory | |
2734 (build_string ((char *) PATH_LOCK)); | |
2735 #else | |
2736 Vconfigure_lock_directory = Qnil; | |
2737 #endif | |
2738 #endif /* CLASH_DETECTION */ | |
2739 | |
2740 DEFVAR_LISP ("configure-site-directory", &Vconfigure_site_directory /* | |
2741 For internal use by the build procedure only. | |
2742 configure's idea of what SITE-DIRECTORY will be. | |
2743 */ ); | |
2744 #ifdef PATH_SITE | |
2745 Vconfigure_site_directory = Ffile_name_as_directory | |
2746 (build_string ((char *) PATH_SITE)); | |
2747 #else | |
2748 Vconfigure_site_directory = Qnil; | |
2749 #endif | |
2750 | |
2751 DEFVAR_LISP ("doc-directory", &Vdoc_directory /* | |
2752 *Directory containing the DOC file that comes with XEmacs. | |
2753 This is usually the same as exec-directory. | |
2754 */ ); | |
2755 Vdoc_directory = Qnil; | |
2756 | |
2757 DEFVAR_LISP ("configure-doc-directory", &Vconfigure_doc_directory /* | |
2758 For internal use by the build procedure only. | |
2759 configure's idea of what DOC-DIRECTORY will be. | |
2760 */ ); | |
2761 #ifdef PATH_DOC | |
2762 Vconfigure_doc_directory = Ffile_name_as_directory | |
2763 (build_string ((char *) PATH_DOC)); | |
2764 #else | |
2765 Vconfigure_doc_directory = Qnil; | |
2766 #endif | |
2767 | |
2768 DEFVAR_LISP ("configure-prefix-directory", &Vconfigure_prefix_directory /* | |
2769 For internal use by the build procedure only. | |
2770 configure's idea of what PREFIX-DIRECTORY will be. | |
2771 */ ); | |
2772 #ifdef PATH_PREFIX | |
2773 Vconfigure_prefix_directory = Ffile_name_as_directory | |
2774 (build_string ((char *) PATH_PREFIX)); | |
2775 #else | |
2776 Vconfigure_prefix_directory = Qnil; | |
2777 #endif | |
2778 | |
2779 DEFVAR_LISP ("configure-info-directory", &Vconfigure_info_directory /* | |
2780 For internal use by the build procedure only. | |
2781 This is the name of the directory in which the build procedure installed | |
2782 Emacs's info files; the default value for Info-default-directory-list | |
2783 includes this. | |
2784 */ ); | |
2785 #ifdef PATH_INFO | |
2786 Vconfigure_info_directory = | |
2787 Ffile_name_as_directory (build_string (PATH_INFO)); | |
2788 #else | |
2789 Vconfigure_info_directory = Qnil; | |
2790 #endif | |
2791 | |
2792 DEFVAR_LISP ("configure-info-path", &Vconfigure_info_path /* | |
2793 The configured initial path for info documentation. | |
2794 */ ); | |
2795 #ifdef PATH_INFOPATH | |
2796 Vconfigure_info_path = decode_path (PATH_INFOPATH); | |
2797 #else | |
2798 Vconfigure_info_path = Qnil; | |
2799 #endif | |
2800 } |