#include "systime.h"
#ifdef PDUMP
-#include "dump-id.h"
#include "dumper.h"
#endif
void r_alloc_reinit (void);
# endif
+#ifdef HAVE_GTK
+void console_type_create_select_gtk(void);
+#endif
+
/* Variable whose value is symbol giving operating system type. */
Lisp_Object Vsystem_type;
Lisp_Object Vexec_path;
Lisp_Object Vexec_directory, Vconfigure_exec_directory;
Lisp_Object Vlisp_directory, Vconfigure_lisp_directory;
+Lisp_Object Vmule_lisp_directory, Vconfigure_mule_lisp_directory;
Lisp_Object Vmodule_directory, Vconfigure_module_directory;
Lisp_Object Vsite_module_directory, Vconfigure_site_module_directory;
Lisp_Object Vconfigure_package_path;
/* If nonzero, set XEmacs to run at this priority. This is also used
in child_setup and sys_suspend to make sure subshells run at normal
priority. */
-int emacs_priority;
+Fixnum emacs_priority;
/* Some FSF junk with running_asynch_code, to preserve the match
data. Not necessary because we don't call process filters
static int run_temacs_argc;
static char **run_temacs_argv;
static char *run_temacs_args;
-static size_t run_temacs_argv_size;
-static size_t run_temacs_args_size;
+static EMACS_INT run_temacs_argv_size;
+static EMACS_INT run_temacs_args_size;
static void shut_down_emacs (int sig, Lisp_Object stuff, int no_auto_save);
return 1;
}
arglen = (valptr != NULL && (p = strchr (arg, '=')) != NULL
- ? p - arg : strlen (arg));
+ ? p - arg : (int) strlen (arg));
if (lstr == 0 || arglen < minlen || strncmp (arg, lstr, arglen) != 0)
return 0;
else if (valptr == NULL)
display_use = "x";
#endif /* HAVE_X_WINDOWS */
+#ifdef HAVE_GTK
+ {
+ char *dpy = getenv ("DISPLAY");
+ if (dpy && dpy[0])
+ display_use = "gtk";
+ }
+#endif
#ifdef HAVE_MS_WINDOWS
if (strcmp(display_use, "x") != 0)
display_use = "mswindows";
so we can be fairly accurate. */
init_intl_very_early (); /* set up the locale and domain for gettext and
such. */
+#ifdef HAVE_MS_WINDOWS
+ init_mswindows_very_early (); /* Some things - like dde need to be
+ initialized early so that the
+ client doesn't give up waiting. */
+#endif
/* Now initialize the Lisp engine and the like. Done only during
dumping. No dependence on anything that may be in the user's
#ifdef HAVE_X_WINDOWS
syms_of_event_Xt ();
#endif
+#ifdef HAVE_GTK
+ syms_of_event_gtk ();
+#endif
#ifdef HAVE_DRAGNDROP
syms_of_dragdrop ();
#endif
syms_of_objects_tty ();
#endif
+#ifdef HAVE_GTK
+ syms_of_device_gtk ();
+ syms_of_frame_gtk ();
+ syms_of_glyphs_gtk ();
+ syms_of_objects_gtk ();
+ syms_of_ui_gtk ();
+ syms_of_select_gtk ();
+#ifdef HAVE_DIALOGS
+ syms_of_dialog_gtk ();
+#endif
+#ifdef HAVE_MENUBARS
+ syms_of_menubar_gtk ();
+#endif
+ syms_of_select_gtk ();
+
+#if defined (HAVE_MENUBARS) || defined(HAVE_SCROLLBARS) || defined(HAVE_DIALOGS) || defined(HAVE_TOOLBARS)
+ syms_of_gui_gtk ();
+#endif
+#endif /* HAVE_GTK */
+
#ifdef HAVE_X_WINDOWS
#ifdef HAVE_BALLOON_HELP
syms_of_balloon_x ();
console_type_create_redisplay_tty ();
#endif
+#ifdef HAVE_GTK
+ console_type_create_gtk ();
+ console_type_create_select_gtk ();
+ console_type_create_device_gtk ();
+ console_type_create_frame_gtk ();
+ console_type_create_objects_gtk ();
+ console_type_create_glyphs_gtk ();
+ console_type_create_redisplay_gtk ();
+#ifdef HAVE_MENUBARS
+ console_type_create_menubar_gtk ();
+#endif
+#ifdef HAVE_SCROLLBARS
+ console_type_create_scrollbar_gtk ();
+#endif
+#ifdef HAVE_TOOLBARS
+ console_type_create_toolbar_gtk ();
+#endif
+#ifdef HAVE_DIALOGS
+ console_type_create_dialog_gtk ();
+#endif
+#endif /* HAVE_GTK */
+
#ifdef HAVE_X_WINDOWS
console_type_create_x ();
console_type_create_device_x ();
#ifdef HAVE_MS_WINDOWS
image_instantiator_format_create_glyphs_mswindows ();
#endif /* HAVE_MSWINDOWS_WINDOWS */
+#ifdef HAVE_GTK
+ image_instantiator_format_create_glyphs_gtk ();
+#endif
/* Now initialize the lstream types and associated symbols.
Other than the first function below, the functions may
vars_of_objects_tty ();
#endif
+#ifdef HAVE_GTK
+ vars_of_device_gtk ();
+#ifdef HAVE_DIALOGS
+ vars_of_dialog_gtk ();
+#endif
+ vars_of_event_gtk ();
+ vars_of_frame_gtk ();
+ vars_of_glyphs_gtk ();
+ vars_of_ui_gtk ();
+#ifdef HAVE_MENUBARS
+ vars_of_menubar_gtk ();
+#endif
+ vars_of_objects_gtk ();
+ vars_of_select_gtk ();
+#ifdef HAVE_SCROLLBARS
+ vars_of_scrollbar_gtk ();
+#endif
+#if defined (HAVE_MENUBARS) || defined (HAVE_SCROLLBARS) || defined (HAVE_DIALOGS) || defined (HAVE_TOOLBARS)
+ vars_of_gui_gtk ();
+#endif
+#endif /* HAVE_GTK */
+
#ifdef HAVE_X_WINDOWS
#ifdef HAVE_BALLOON_HELP
vars_of_balloon_x ();
#endif
#endif /* HAVE_X_WINDOWS */
+
#ifdef HAVE_MS_WINDOWS
vars_of_device_mswindows ();
vars_of_console_mswindows ();
/* These rely on the glyphs just created in the previous function,
and call Fadd_spec_to_specifier(), which relies on various
variables initialized above. */
+#ifdef HAVE_GTK
+ complex_vars_of_glyphs_gtk ();
+#endif
#ifdef HAVE_X_WINDOWS
complex_vars_of_glyphs_x ();
#endif
#ifdef HAVE_MS_WINDOWS
reinit_console_type_create_mswindows ();
#endif
+#ifdef HAVE_GTK
+ reinit_console_type_create_gtk ();
+#endif
reinit_specifier_type_create ();
reinit_specifier_type_create_image ();
#ifdef HAVE_X_WINDOWS
reinit_vars_of_event_Xt ();
#endif
+#ifdef HAVE_GTK
+ reinit_vars_of_event_gtk ();
+#endif
#if defined(HAVE_TTY) && (defined (DEBUG_TTY_EVENT_STREAM) || !defined (HAVE_X_WINDOWS))
reinit_vars_of_event_tty ();
#endif
reinit_vars_of_frame_mswindows ();
#endif
+#ifdef HAVE_GTK
+ reinit_vars_of_menubar_gtk ();
+#endif
+
#ifdef HAVE_X_WINDOWS
reinit_vars_of_device_x ();
#ifdef HAVE_SCROLLBARS
#ifdef HAVE_MS_WINDOWS
/* If we displayed a message on the console, then we must allow the
- user to see this message. This may be unnecessary, but can't hurt,
- and we can't necessarily check arg; e.g. xemacs --help kills with
- argument 0. */
- if (mswindows_message_outputted)
+ user to see this message. This may be unnecessary, but can't
+ hurt, and we can't necessarily check arg; e.g. xemacs --help
+ kills with argument 0.
+
+ Don't do this in batch mode, it makes no sense and is more
+ annoying than useful. --andyp */
+ if (mswindows_message_outputted && !noninteractive)
Fmswindows_message_box (build_string ("Messages outputted. XEmacs is exiting."),
Qnil, Qnil);
#endif
/* Ben thinks this function should not exist or be exported to Lisp.
We use it to define split-path-string in subr.el (not!). */
-DEFUN ("split-string-by-char", Fsplit_string_by_char, 1, 2, 0, /*
+DEFUN ("split-string-by-char", Fsplit_string_by_char, 2, 2, 0, /*
Split STRING into a list of substrings originally separated by SEPCHAR.
*/
(string, sepchar))
Vconfigure_lisp_directory = Qnil;
#endif
+ DEFVAR_LISP ("mule-lisp-directory", &Vmule_lisp_directory /*
+*Directory of Mule Lisp files that come with XEmacs.
+*/ );
+ Vmule_lisp_directory = Qnil;
+
+ DEFVAR_LISP ("configure-mule-lisp-directory", &Vconfigure_mule_lisp_directory /*
+For internal use by the build procedure only.
+configure's idea of what `mule-lisp-directory' will be.
+*/ );
+#ifdef PATH_MULELOADSEARCH
+ Vconfigure_mule_lisp_directory = Ffile_name_as_directory
+ (build_string ((char *) PATH_MULELOADSEARCH));
+#else
+ Vconfigure_mule_lisp_directory = Qnil;
+#endif
+
DEFVAR_LISP ("module-directory", &Vmodule_directory /*
*Directory of core dynamic modules that come with XEmacs.
*/ );