#include "console.h"
#include "process.h"
#include "redisplay.h"
+#include "frame.h"
#include "sysdep.h"
#include "syssignal.h" /* Always include before systty.h */
#include TT_C_H_PATH
#endif
-#ifdef APOLLO
-#ifndef APOLLO_SR10
-#include <default_acl.h>
-#endif
-#endif
-
#if defined (WINDOWSNT)
#include <windows.h>
#endif
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. */
/* Do not trust to what crt0 has stuffed into argv[0] */
char full_exe_path [MAX_PATH];
GetModuleFileName (NULL, full_exe_path, MAX_PATH);
- result = Fcons (build_ext_string (full_exe_path, FORMAT_FILENAME),
+ result = Fcons (build_ext_string (full_exe_path, Qfile_name),
result);
#if defined(HAVE_SHLIB)
(void)dll_init(full_exe_path);
}
else
#endif
- result = Fcons (build_ext_string (argv [i], FORMAT_FILENAME), result);
+ result = Fcons (build_ext_string (argv [i], Qfile_name),
+ result);
}
}
return result;
CONST char *temp;
CHECK_STRING (XCAR (next));
- GET_C_STRING_EXT_DATA_ALLOCA (XCAR (next), FORMAT_OS, temp);
+ TO_EXTERNAL_FORMAT (LISP_STRING, XCAR (next),
+ C_STRING_ALLOCA, temp,
+ Qnative);
(*argv) [i] = xstrdup (temp);
}
(*argv) [n] = 0;
clearerr (stdin);
-#ifdef APOLLO
-#ifndef APOLLO_SR10
- /* If USE_DOMAIN_ACLS environment variable exists,
- use ACLs rather than UNIX modes. */
- if (egetenv ("USE_DOMAIN_ACLS"))
- default_acl (USE_DEFACL);
-#endif
-#endif /* APOLLO */
-
#if defined (HAVE_MMAP) && defined (REL_ALLOC)
/* ralloc can only be used if using the GNU memory allocator. */
init_ralloc ();
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)
syms_of_abbrev ();
syms_of_alloc ();
-#ifdef HAVE_X_WINDOWS
- syms_of_balloon_x ();
-#endif
syms_of_buffer ();
syms_of_bytecode ();
syms_of_callint ();
syms_of_data ();
#ifdef DEBUG_XEMACS
syms_of_debug ();
+ syms_of_tests ();
#endif /* DEBUG_XEMACS */
syms_of_device ();
#ifdef HAVE_DIALOGS
#endif
#ifdef HAVE_X_WINDOWS
+ syms_of_balloon_x ();
syms_of_device_x ();
#ifdef HAVE_DIALOGS
syms_of_dialog_x ();
#ifdef HAVE_MENUBARS
syms_of_menubar_x ();
#endif
- syms_of_xselect ();
+ syms_of_select_x ();
#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_objects_mswindows ();
syms_of_select_mswindows ();
syms_of_glyphs_mswindows ();
+ syms_of_gui_mswindows ();
#ifdef HAVE_MENUBARS
syms_of_menubar_mswindows ();
#endif
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_abbrev ();
vars_of_alloc ();
-#ifdef HAVE_X_WINDOWS
- vars_of_balloon_x ();
-#endif
vars_of_buffer ();
vars_of_bytecode ();
vars_of_callint ();
vars_of_data ();
#ifdef DEBUG_XEMACS
vars_of_debug ();
+ vars_of_tests ();
#endif
vars_of_console_stream ();
vars_of_device ();
vars_of_module ();
#endif
#ifdef WINDOWSNT
+ vars_of_nt ();
vars_of_ntproc ();
#endif
vars_of_objects ();
#endif
#ifdef HAVE_X_WINDOWS
+ vars_of_balloon_x ();
vars_of_device_x ();
#ifdef HAVE_DIALOGS
vars_of_dialog_x ();
vars_of_menubar_x ();
#endif
vars_of_objects_x ();
- vars_of_xselect ();
+ vars_of_select_x ();
#ifdef HAVE_SCROLLBARS
vars_of_scrollbar_x ();
#endif
#if defined (HAVE_MENUBARS) || defined (HAVE_SCROLLBARS) || defined (HAVE_DIALOGS) || defined (HAVE_TOOLBARS)
vars_of_gui_x ();
#endif
-#endif
+#endif /* HAVE_X_WINDOWS */
#ifdef HAVE_MS_WINDOWS
vars_of_device_mswindows ();
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.
earlier. The second may also depend on the first. */
complex_vars_of_mule_charset ();
#endif
-#if defined(FILE_CODING)
+#ifdef FILE_CODING
complex_vars_of_file_coding ();
#endif
#ifdef PDUMP
} else if (!restart) {
reinit_alloc_once_early ();
+ reinit_symbols_once_early ();
reinit_opaque_once_early ();
reinit_console_type_create_stream ();
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 ();
reinit_vars_of_search ();
- reinit_vars_of_scrollbar_x ();
reinit_vars_of_undo ();
reinit_vars_of_window ();
#ifdef HAVE_X_WINDOWS
reinit_vars_of_device_x ();
+#ifdef HAVE_SCROLLBARS
+ reinit_vars_of_scrollbar_x ();
+#endif
#ifdef HAVE_MENUBARS
reinit_vars_of_menubar_x ();
#endif
- reinit_vars_of_xselect ();
+ reinit_vars_of_select_x ();
#if defined (HAVE_MENUBARS) || defined (HAVE_SCROLLBARS) || defined (HAVE_DIALOGS) || defined (HAVE_TOOLBARS)
reinit_vars_of_gui_x ();
#endif
-#endif
+#endif /* HAVE_X_WINDOWS */
#if defined(MULE) && defined(HAVE_WNN)
reinit_vars_of_mule_wnn ();
reinit_complex_vars_of_buffer ();
reinit_complex_vars_of_console ();
reinit_complex_vars_of_minibuf ();
-#endif
+#endif /* PDUMP */
}
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 */
/* Need to convert the orig_invoc_name and all of the arguments
to external format. */
- GET_STRING_EXT_DATA_ALLOCA (orig_invoc_name, FORMAT_OS, wampum,
- namesize);
+ TO_EXTERNAL_FORMAT (LISP_STRING, orig_invoc_name,
+ ALLOCA, (wampum, namesize),
+ Qnative);
namesize++;
for (ac = 0, total_len = namesize; ac < nargs; ac++)
{
CHECK_STRING (args[ac]);
- GET_STRING_EXT_DATA_ALLOCA (args[ac], FORMAT_OS,
- wampum_all[ac],
- wampum_all_len[ac]);
+ TO_EXTERNAL_FORMAT (LISP_STRING, args[ac],
+ ALLOCA, (wampum_all[ac], wampum_all_len[ac]),
+ Qnative);
wampum_all_len[ac]++;
total_len += wampum_all_len[ac];
}
("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"
\f
#ifndef CANNOT_DUMP
-/* Nothing like this can be implemented on an Apollo.
- What a loss! */
+#if !defined(PDUMP) || !defined(SYSTEM_MALLOC)
extern char my_edata[];
+#endif
#ifdef HAVE_SHM
char *intoname_ext;
char *symname_ext;
- GET_C_STRING_FILENAME_DATA_ALLOCA (intoname, intoname_ext);
+ TO_EXTERNAL_FORMAT (LISP_STRING, intoname,
+ C_STRING_ALLOCA, intoname_ext,
+ Qfile_name);
+
if (STRINGP (symname))
- GET_C_STRING_FILENAME_DATA_ALLOCA (symname, symname_ext);
+ TO_EXTERNAL_FORMAT (LISP_STRING, symname,
+ C_STRING_ALLOCA, symname_ext,
+ Qfile_name);
else
symname_ext = 0;
}
/* The same as the above, except PATH is an external C string (it is
- converted as FORMAT_FILENAME), and sepchar is hardcoded to SEPCHAR
+ converted using Qfile_name), and sepchar is hardcoded to SEPCHAR
(':' or whatever). */
Lisp_Object
decode_path (CONST char *path)
{
- int len;
+ Bytecount newlen;
Bufbyte *newpath;
if (!path)
return Qnil;
- GET_C_CHARPTR_INT_FILENAME_DATA_ALLOCA (path, newpath);
+ TO_INTERNAL_FORMAT (C_STRING, path, ALLOCA, (newpath, newlen), Qfile_name);
- len = strlen ((const char *) newpath);
/* #### Does this make sense? It certainly does for
decode_env_path(), but it looks dubious here. Does any code
depend on decode_path("") returning nil instead of an empty
string? */
- if (!len)
+ if (!newlen)
return Qnil;
- return split_string_by_emchar_1 (newpath, (Bytecount)len, SEPCHAR);
+ return split_string_by_emchar_1 (newpath, newlen, SEPCHAR);
}
Lisp_Object
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.
*/ );