diff --git a/xemacs-21.5.34-Xaw3D_I18N.patch b/xemacs-21.5.34-Xaw3D_I18N.patch new file mode 100644 index 0000000..5cf0a2f --- /dev/null +++ b/xemacs-21.5.34-Xaw3D_I18N.patch @@ -0,0 +1,167 @@ +--- + configure | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++- + configure.ac | 33 ++++++++++++++++++++++++++++++++- + lwlib/ChangeLog | 8 ++++++++ + lwlib/xt-wrappers.h | 5 +++++ + src/config.h.in | 1 + + 5 files changed, 96 insertions(+), 2 deletions(-) + +--- configure ++++ configure 2015-05-12 00:00:00.000000000 +0000 +@@ -16754,6 +16754,52 @@ fi + + if test -n "$athena_lib" -a -n "$athena_h_path"; then + have_xaw=yes ++ have_athena_i18n=unset ++ if test "$athena_variant" = "Xaw3d"; then ++ save_libs_x=$libs_x ++ libs_x="-lXaw3d $libs_x" && if test "$verbose" = "yes"; then echo " Prepending \"-lXaw3d\" to \$libs_x"; fi ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for \"international\" resource in Xaw3d SimpleWidget" >&5 ++$as_echo_n "checking for \"international\" resource in Xaw3d SimpleWidget... " >&6; } ++ if test "$cross_compiling" = yes; then : ++ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++as_fn_error $? "cannot run test program while cross compiling ++See \`config.log' for more details" "$LINENO" 5; } ++else ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++#include ++ #include ++ #undef XAW_INTERNATIONALIZATION ++ #include <$athena_h_path/Simple.h> ++ ++int ++main () ++{ ++int i = simpleWidgetClass->core_class.num_resources; ++ while (i-- > 0) ++ if (!strcmp(simpleWidgetClass->core_class.resources[i].resource_name, ++ "international")) ++ exit(0); ++ exit(253); ++ ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_run "$LINENO"; then : ++ have_athena_i18n=yes ++else ++ have_athena_i18n=no ++fi ++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ ++ conftest.$ac_objext conftest.beam conftest.$ac_ext ++fi ++ ++ libs_x=$save_libs_x ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_athena_i18n" >&5 ++$as_echo "$have_athena_i18n" >&6; } ++ fi + else + have_xaw=no + fi +@@ -16958,10 +17004,13 @@ _ACEOF + $as_echo "#define NEED_ATHENA 1" >>confdefs.h + + need_athena="yes" +- + if test "$athena_3d" = "yes"; then + $as_echo "#define HAVE_ATHENA_3D 1" >>confdefs.h + ++ if test "$have_athena_i18n" = "yes"; then ++ $as_echo "#define HAVE_ATHENA_I18N 1" >>confdefs.h ++ ++ fi + fi + ;; + esac +--- configure.ac ++++ configure.ac 2015-05-12 00:00:00.000000000 +0000 +@@ -4028,6 +4028,35 @@ if test "$with_x11" = "yes" -a "$detect_ + dnl Do we actually have a usable Athena widget set? Please? + if test -n "$athena_lib" -a -n "$athena_h_path"; then + have_xaw=yes ++ have_athena_i18n=unset ++ dnl X.org at some point added .international to SimplePart, protected ++ dnl by #ifdef XAW_INTERNATIONALIZATION in Xaw3d (only?). Unfortunately, ++ dnl the distributed headers for Xaw3d don't set this to correspond to ++ dnl the distributed library. (pkg-config does, if present.) ++ if test "$athena_variant" = "Xaw3d"; then ++ save_libs_x=$libs_x ++ XE_PREPEND(-lXaw3d, libs_x) ++ dnl The test below was provided by Ralf Soergel. ++ AC_MSG_CHECKING([for "international" resource in Xaw3d SimpleWidget]) ++ AC_RUN_IFELSE( ++ [AC_LANG_PROGRAM( ++ [#include ++ #include ++ #undef XAW_INTERNATIONALIZATION ++ #include <$athena_h_path/Simple.h> ++ ], ++ [[int i = simpleWidgetClass->core_class.num_resources; ++ while (i-- > 0) ++ if (!strcmp(simpleWidgetClass->core_class.resources[i].resource_name, ++ "international")) ++ exit(0); ++ exit(253); ++ ]])], ++ [have_athena_i18n=yes], ++ [have_athena_i18n=no]) ++ libs_x=$save_libs_x ++ AC_MSG_RESULT([$have_athena_i18n]) ++ fi + else + have_xaw=no + fi +@@ -4160,9 +4189,11 @@ case "$all_widgets" in + AC_DEFINE(LWLIB_USES_ATHENA) + AC_DEFINE(NEED_ATHENA) + need_athena="yes" +- + if test "$athena_3d" = "yes"; then + AC_DEFINE(HAVE_ATHENA_3D) ++ if test "$have_athena_i18n" = "yes"; then ++ AC_DEFINE(HAVE_ATHENA_I18N) ++ fi + fi + ;; + esac +--- lwlib/ChangeLog ++++ lwlib/ChangeLog 2015-05-12 00:00:00.000000000 +0000 +@@ -1,3 +1,11 @@ ++2015-01-08 Stephen J. Turnbull ++ ++ Fix progress bar crashes. ++ Thanks to Ralf Soergel for diagnosis and a patch. ++ ++ * xt-wrappers.h (HAVE_ATHENA_I18N): ++ Define XAW_INTERNATIONALIZATION when needed. ++ + 2013-06-23 Stephen J. Turnbull + + * XEmacs 21.5.34 "kale" is released. +--- lwlib/xt-wrappers.h ++++ lwlib/xt-wrappers.h 2015-05-12 00:00:00.000000000 +0000 +@@ -21,6 +21,11 @@ along with XEmacs. If not, see