Mercurial > hg > xemacs-beta
diff src/device-x.c @ 227:0e522484dd2a r20-5b12
Import from CVS: tag r20-5b12
author | cvs |
---|---|
date | Mon, 13 Aug 2007 10:12:37 +0200 |
parents | 262b8bb4a523 |
children | 157b30c96d03 |
line wrap: on
line diff
--- a/src/device-x.c Mon Aug 13 10:11:42 2007 +0200 +++ b/src/device-x.c Mon Aug 13 10:12:37 2007 +0200 @@ -54,6 +54,9 @@ #endif Lisp_Object Vdefault_x_device; +#if defined(MULE) && (defined(LWLIB_MENUBARS_MOTIF) || defined(HAVE_XIM) || defined (USE_XFONTSET)) +Lisp_Object Vx_app_defaults_directory; +#endif /* Qdisplay in general.c */ Lisp_Object Qx_error; @@ -284,14 +287,22 @@ XrmDatabase db = XtDatabase (dpy); /* ### XtScreenDatabase(dpy) ? */ CONST char *locale = XrmLocaleOfDatabase (db); - if (STRINGP (Vdata_directory) && XSTRING_LENGTH (Vdata_directory) > 0) + if (STRINGP (Vx_app_defaults_directory) && + XSTRING_LENGTH (Vx_app_defaults_directory) > 0) + { + GET_C_STRING_FILENAME_DATA_ALLOCA(Vx_app_defaults_directory, data_dir); + sprintf (path, "%s%s/%s", data_dir, locale, app_class); + if (!access (path, R_OK)) + XrmCombineFileDatabase (path, &db, False); + } + else if (STRINGP (Vdata_directory) && XSTRING_LENGTH (Vdata_directory) > 0) { GET_C_STRING_FILENAME_DATA_ALLOCA (Vdata_directory, data_dir); sprintf (path, "%sapp-defaults/%s/%s", data_dir, locale, app_class); if (!access (path, R_OK)) XrmCombineFileDatabase (path, &db, False); } - } + } #endif /* LWLIB_MENUBARS_MOTIF or HAVE_XIM USE_XFONTSET */ #endif /* MULE */ @@ -1618,6 +1629,14 @@ */ ); x_seppuku_on_epipe = 0; +#if defined(MULE) && (defined(LWLIB_MENUBARS_MOTIF) || defined(HAVE_XIM) || defined (USE_XFONTSET)) + DEFVAR_LISP ("x-app-defaults-directory", &Vx_app_defaults_directory /* +Used by the Lisp code to communicate to the low level X initialization +where the localized init files are. +*/ ); + Vx_app_defaults_directory = Qnil; +#endif + Fprovide (Qx); staticpro (&Vdefault_x_device);