#include "console.h"
#include "process.h"
#include "redisplay.h"
+#include "frame.h"
#include "sysdep.h"
#include "syssignal.h" /* Always include before systty.h */
Lisp_Object Vsite_directory, Vconfigure_site_directory;
Lisp_Object Vconfigure_info_path;
Lisp_Object Vinternal_error_checking;
+Lisp_Object Vmail_lock_methods, Vconfigure_mail_lock_method;
Lisp_Object Vpath_separator;
/* The default base directory XEmacs is installed under. */
We try to do things in an order that minimizes the non-obvious
dependencies between functions. */
+ /* purify_flag 1 is correct even if CANNOT_DUMP.
+ * loadup.el will set to nil at end. */
+
+ purify_flag = 0;
#ifdef PDUMP
- initialized = restart || pdump_load ();
+ if (restart)
+ initialized = 1;
+ else {
+ initialized = pdump_load ();
+ purify_flag = !initialized;
+ }
+#else
+ if (!initialized)
+ purify_flag = 1;
#endif
if (!initialized)
#if defined (HAVE_MENUBARS) || defined (HAVE_SCROLLBARS) || defined (HAVE_DIALOGS) || defined (HAVE_TOOLBARS)
syms_of_gui_x ();
#endif
+#ifdef HAVE_XIM
+#ifdef XIM_XLIB
+ syms_of_input_method_xlib ();
+#endif
+#endif /* HAVE_XIM */
#endif /* HAVE_X_WINDOWS */
#ifdef HAVE_MS_WINDOWS
syms_of_eldap ();
#endif
+#ifdef HAVE_GPM
+ syms_of_gpmevent ();
+#endif
+
/* Now create the subtypes for the types that have them.
We do this before the vars_*() because more symbols
may get initialized here. */
vars_of_eldap ();
#endif
+#ifdef HAVE_GPM
+ vars_of_gpmevent ();
+#endif
+
/* Now initialize any specifier variables. We do this later
because it has some dependence on the vars initialized
above.
reinit_vars_of_lread ();
reinit_vars_of_lstream ();
reinit_vars_of_minibuf ();
+#ifdef HAVE_SHLIB
reinit_vars_of_module ();
+#endif
reinit_vars_of_objects ();
reinit_vars_of_print ();
reinit_vars_of_redisplay ();
#ifdef HAVE_X_WINDOWS
reinit_vars_of_device_x ();
+#endif
+#ifdef HAVE_SCROLLBARS
+ reinit_vars_of_scrollbar_x ();
#ifdef HAVE_MENUBARS
reinit_vars_of_menubar_x ();
#endif
init_redisplay (); /* Determine terminal type.
init_sys_modes uses results */
+ init_frame ();
init_event_stream (); /* Set up so we can get user input. */
init_macros (); /* set up so we can run macros. */
init_editfns (); /* Determine the name of the user we're running as */
("Your files have been auto-saved.\n"
"Use `M-x recover-session' to recover them.\n"
"\n"
+ "If you have access to the PROBLEMS file that came with your\n"
+ "version of XEmacs, please check to see if your crash is described\n"
+ "there, as there may be a workaround available.\n"
#ifdef INFODOCK
- "Please report this bug by selecting `Report-Bug' in the InfoDock\n"
- "menu.\n"
+ "Otherwise, please report this bug by selecting `Report-Bug'\n"
+ "in the InfoDock menu.\n"
#else
- "Please report this bug by running the send-pr script included\n"
- "with XEmacs, or selecting `Send Bug Report' from the help menu.\n"
+ "Otherwise, please report this bug by running the send-pr\n"
+ "script included with XEmacs, or selecting `Send Bug Report'\n"
+ "from the help menu.\n"
"As a last resort send ordinary email to `crashes@xemacs.org'.\n"
#endif
"*MAKE SURE* to include the information in the command\n"
Vinternal_error_checking);
#endif
+ DEFVAR_CONST_LISP ("mail-lock-methods", &Vmail_lock_methods /*
+Mail spool locking methods supported by this instance of XEmacs.
+This is a list of symbols. Each of the symbols is one of the
+following: dot, lockf, flock, locking, mmdf.
+*/ );
+ {
+ Vmail_lock_methods = Qnil;
+ Vmail_lock_methods = Fcons (intern ("dot"), Vmail_lock_methods);
+#ifdef HAVE_LOCKF
+ Vmail_lock_methods = Fcons (intern ("lockf"), Vmail_lock_methods);
+#endif
+#ifdef HAVE_FLOCK
+ Vmail_lock_methods = Fcons (intern ("flock"), Vmail_lock_methods);
+#endif
+#ifdef HAVE_MMDF
+ Vmail_lock_methods = Fcons (intern ("mmdf"), Vmail_lock_methods);
+#endif
+#ifdef HAVE_LOCKING
+ Vmail_lock_methods = Fcons (intern ("locking"), Vmail_lock_methods);
+#endif
+ }
+
+ DEFVAR_CONST_LISP ("configure-mail-lock-method", &Vconfigure_mail_lock_method /*
+Mail spool locking method suggested by configure. This is one
+of the symbols in MAIL-LOCK-METHODS.
+*/ );
+ {
+#if defined(MAIL_LOCK_FLOCK) && defined(HAVE_FLOCK)
+ Vconfigure_mail_lock_method = intern("flock");
+#elif defined(MAIL_LOCK_LOCKF) && defined(HAVE_LOCKF)
+ Vconfigure_mail_lock_method = intern("lockf");
+#elif defined(MAIL_LOCK_MMDF) && defined(HAVE_MMDF)
+ Vconfigure_mail_lock_method = intern("mmdf");
+#elif defined(MAIL_LOCK_LOCKING) && defined(HAVE_LOCKING)
+ Vconfigure_mail_lock_method = intern("locking");
+#else
+ Vconfigure_mail_lock_method = intern("dot");
+#endif
+ }
+
DEFVAR_LISP ("path-separator", &Vpath_separator /*
The directory separator in search paths, as a string.
*/ );