comparison src/device-x.c @ 4478:ec442dc06fe1

Merge.
author Aidan Kehoe <kehoea@parhasard.net>
date Thu, 10 Jul 2008 23:37:52 +0200
parents e34711681f30
children 383ab474a241
comparison
equal deleted inserted replaced
4476:dbf79a1732ba 4478:ec442dc06fe1
63 63
64 #ifdef HAVE_OFFIX_DND 64 #ifdef HAVE_OFFIX_DND
65 #include "offix.h" 65 #include "offix.h"
66 #endif 66 #endif
67 67
68 Lisp_Object Vx_app_defaults_directory;
68 #ifdef MULE 69 #ifdef MULE
69 Lisp_Object Vx_app_defaults_directory;
70 Lisp_Object Qget_coding_system_from_locale; 70 Lisp_Object Qget_coding_system_from_locale;
71 #endif 71 #endif
72 72
73 /* Qdisplay in general.c */ 73 /* Qdisplay in general.c */
74 Lisp_Object Qx_error; 74 Lisp_Object Qx_error;
75 Lisp_Object Qinit_pre_x_win, Qinit_post_x_win; 75 Lisp_Object Qmake_device_early_x_entry_point, Qmake_device_late_x_entry_point;
76 76
77 /* The application class of Emacs. */ 77 /* The application class of Emacs. */
78 Lisp_Object Vx_emacs_application_class; 78 Lisp_Object Vx_emacs_application_class;
79 79
80 Lisp_Object Vx_initial_argv_list; /* #### ugh! */ 80 Lisp_Object Vx_initial_argv_list; /* #### ugh! */
539 int depth = 8; /* shut up the compiler */ 539 int depth = 8; /* shut up the compiler */
540 Colormap cmap; 540 Colormap cmap;
541 int screen; 541 int screen;
542 /* */ 542 /* */
543 int best_visual_found = 0; 543 int best_visual_found = 0;
544
545 /* Run the elisp side of the X device initialization, allowing it to set
546 x-emacs-application-class and x-app-defaults-directory. */
547 call0 (Qmake_device_early_x_entry_point);
544 548
545 #if defined(HAVE_SHLIB) && defined(LWLIB_USES_ATHENA) && !defined(HAVE_ATHENA_3D) 549 #if defined(HAVE_SHLIB) && defined(LWLIB_USES_ATHENA) && !defined(HAVE_ATHENA_3D)
546 /* 550 /*
547 * In order to avoid the lossage with flat Athena widgets dynamically 551 * In order to avoid the lossage with flat Athena widgets dynamically
548 * linking to one of the ThreeD variants, using the dynamic symbol helpers 552 * linking to one of the ThreeD variants, using the dynamic symbol helpers
919 DEVICE_X_GRAY_PIXMAP (d) = None; 923 DEVICE_X_GRAY_PIXMAP (d) = None;
920 Xatoms_of_device_x (d); 924 Xatoms_of_device_x (d);
921 Xatoms_of_select_x (d); 925 Xatoms_of_select_x (d);
922 Xatoms_of_objects_x (d); 926 Xatoms_of_objects_x (d);
923 x_init_device_class (d); 927 x_init_device_class (d);
924
925 /* Run the elisp side of the X device initialization. */
926 call0 (Qinit_pre_x_win);
927 } 928 }
928 929
929 static void 930 static void
930 x_finish_init_device (struct device *UNUSED (d), Lisp_Object UNUSED (props)) 931 x_finish_init_device (struct device *d, Lisp_Object UNUSED (props))
931 { 932 {
932 call0 (Qinit_post_x_win); 933 call1 (Qmake_device_late_x_entry_point, wrap_device (d));
933 } 934 }
934 935
935 static void 936 static void
936 x_mark_device (struct device *d) 937 x_mark_device (struct device *d)
937 { 938 {
2131 2132
2132 DEFSUBR (Fx_get_font_path); 2133 DEFSUBR (Fx_get_font_path);
2133 DEFSUBR (Fx_set_font_path); 2134 DEFSUBR (Fx_set_font_path);
2134 2135
2135 DEFSYMBOL (Qx_error); 2136 DEFSYMBOL (Qx_error);
2136 DEFSYMBOL (Qinit_pre_x_win); 2137 DEFSYMBOL (Qmake_device_early_x_entry_point);
2137 DEFSYMBOL (Qinit_post_x_win); 2138 DEFSYMBOL (Qmake_device_late_x_entry_point);
2138 2139
2139 #ifdef MULE 2140 #ifdef MULE
2140 DEFSYMBOL (Qget_coding_system_from_locale); 2141 DEFSYMBOL (Qget_coding_system_from_locale);
2141 #endif 2142 #endif
2142 } 2143 }
2205 `command-line-args-left'. Perhaps `command-line-args-left' should 2206 `command-line-args-left'. Perhaps `command-line-args-left' should
2206 just reside in C. 2207 just reside in C.
2207 */ ); 2208 */ );
2208 Vx_initial_argv_list = Qnil; 2209 Vx_initial_argv_list = Qnil;
2209 2210
2210 #ifdef MULE
2211 DEFVAR_LISP ("x-app-defaults-directory", &Vx_app_defaults_directory /* 2211 DEFVAR_LISP ("x-app-defaults-directory", &Vx_app_defaults_directory /*
2212 Used by the Lisp code to communicate to the low level X initialization 2212 Used by the Lisp code to communicate to the low level X initialization
2213 where the localized init files are. 2213 where the localized init files are.
2214 */ ); 2214 */ );
2215 Vx_app_defaults_directory = Qnil; 2215 Vx_app_defaults_directory = Qnil;
2216 #endif
2217 2216
2218 Fprovide (Qx); 2217 Fprovide (Qx);
2219 } 2218 }