From bc4cf58b9bc9fa8892df6943e5d344da31864d42415feeb209156c93acbf3e69 Mon Sep 17 00:00:00 2001 From: "Dr. Werner Fink" Date: Tue, 12 May 2015 14:51:43 +0000 Subject: [PATCH 1/2] . OBS-URL: https://build.opensuse.org/package/show/M17N/xemacs?expand=0&rev=75 --- xemacs-21.5.34-Xaw3D_I18N.patch | 284 ++++++++++++++++++++++++++++++++ xemacs.changes | 6 + xemacs.spec | 3 + 3 files changed, 293 insertions(+) create mode 100644 xemacs-21.5.34-Xaw3D_I18N.patch diff --git a/xemacs-21.5.34-Xaw3D_I18N.patch b/xemacs-21.5.34-Xaw3D_I18N.patch new file mode 100644 index 0000000..ca96b8a --- /dev/null +++ b/xemacs-21.5.34-Xaw3D_I18N.patch @@ -0,0 +1,284 @@ +--- + configure | 146 +++++++++++++++++++++++++++++++++++++++++++++++++------- + configure.ac | 34 +++++++++++++ + lwlib/lwlib.h | 4 + + src/config.h.in | 1 + 4 files changed, 169 insertions(+), 16 deletions(-) + +--- configure ++++ configure 2015-05-12 14:39:29.545519118 +0000 +@@ -16754,6 +16754,49 @@ 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 c, char **v) { ++ int i = simpleWidgetClass->core_class.num_resources; ++ while (i-- > 0) ++ if (!strcmp(simpleWidgetClass->core_class.resources[i].resource_name, ++ "international")) ++ exit(0); ++ exit(253);} ++_ACEOF ++if ac_fn_c_try_run "$LINENO"; then : ++ ./conftest dummy_arg; xaw_intl_status=$?; ++ if test "$xaw_intl_status" = "0"; then ++ have_athena_i18n=yes ++ else ++ have_athena_i18n=no ++ libs_x=$save_libs_x ++ fi ++fi ++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ ++ conftest.$ac_objext conftest.beam conftest.$ac_ext ++fi ++ ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_athena_i18n" >&5 ++$as_echo "$have_athena_i18n" >&6; } ++ fi + else + have_xaw=no + fi +@@ -16962,6 +17005,10 @@ _ACEOF + 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 +@@ -19610,14 +19657,18 @@ $as_echo "" >&6; } + $as_echo "#define HAVE_TTY 1" >>confdefs.h + + +- if test -z "$with_ncurses"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tgetent in -lncurses" >&5 +-$as_echo_n "checking for tgetent in -lncurses... " >&6; } +-if ${ac_cv_lib_ncurses_tgetent+:} false; then : ++ cf_tgetent="" ++ if test -z "$with_ncurses"; then ++ with_ncurses=no; ++ for lib in tinfo ncurses ncursesw ; do ++ as_ac_Lib=`$as_echo "ac_cv_lib_$lib''_tgetent" | $as_tr_sh` ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for tgetent in -l$lib" >&5 ++$as_echo_n "checking for tgetent in -l$lib... " >&6; } ++if eval \${$as_ac_Lib+:} false; then : + $as_echo_n "(cached) " >&6 + else + ac_check_lib_save_LIBS=$LIBS +-LIBS="-lncurses $LIBS" ++LIBS="-l$lib $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + +@@ -19637,42 +19688,105 @@ return tgetent (); + } + _ACEOF + if ac_fn_c_try_link "$LINENO"; then : +- ac_cv_lib_ncurses_tgetent=yes ++ eval "$as_ac_Lib=yes" + else +- ac_cv_lib_ncurses_tgetent=no ++ eval "$as_ac_Lib=no" + fi + rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ncurses_tgetent" >&5 +-$as_echo "$ac_cv_lib_ncurses_tgetent" >&6; } +-if test "x$ac_cv_lib_ncurses_tgetent" = xyes; then : +- with_ncurses=yes +-else +- with_ncurses=no ++eval ac_res=\$$as_ac_Lib ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 ++$as_echo "$ac_res" >&6; } ++if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : ++ with_ncurses=yes; cf_tgetent="$lib"; break + fi + ++ done + fi + if test "$with_ncurses" = "yes"; then ++ if test x$cf_tgetent = x ; then ++ for lib in tinfo ncurses ncursesw ; do ++ as_ac_Lib=`$as_echo "ac_cv_lib_$lib''_tgetent" | $as_tr_sh` ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for tgetent in -l$lib" >&5 ++$as_echo_n "checking for tgetent in -l$lib... " >&6; } ++if eval \${$as_ac_Lib+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-l$lib $LIBS" ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++/* Override any GCC internal prototype to avoid an error. ++ Use char because int might match the return type of a GCC ++ builtin and then its argument prototype would still apply. */ ++#ifdef __cplusplus ++extern "C" ++#endif ++char tgetent (); ++int ++main () ++{ ++return tgetent (); ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_link "$LINENO"; then : ++ eval "$as_ac_Lib=yes" ++else ++ eval "$as_ac_Lib=no" ++fi ++rm -f core conftest.err conftest.$ac_objext \ ++ conftest$ac_exeext conftest.$ac_ext ++LIBS=$ac_check_lib_save_LIBS ++fi ++eval ac_res=\$$as_ac_Lib ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 ++$as_echo "$ac_res" >&6; } ++if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : ++ cf_tgetent="$lib"; break ++fi ++ ++ done ++ fi + $as_echo "#define HAVE_NCURSES 1" >>confdefs.h + +- ac_fn_c_check_header_mongrel "$LINENO" "ncurses/curses.h" "ac_cv_header_ncurses_curses_h" "$ac_includes_default" ++ if test "$cf_tgetent" = ncursesw; then ++ $as_echo "#define HAVE_NCURSESW 1" >>confdefs.h ++ ++ ac_fn_c_check_header_mongrel "$LINENO" "ncursesw/curses.h" "ac_cv_header_ncursesw_curses_h" "$ac_includes_default" ++if test "x$ac_cv_header_ncursesw_curses_h" = xyes; then : ++ curses_h_file=ncursesw/curses.h ++fi ++ ++ ++ ac_fn_c_check_header_mongrel "$LINENO" "ncursesw/term.h" "ac_cv_header_ncursesw_term_h" "$ac_includes_default" ++if test "x$ac_cv_header_ncursesw_term_h" = xyes; then : ++ term_h_file=ncursesw/term.h ++fi ++ ++ ++ else ++ ac_fn_c_check_header_mongrel "$LINENO" "ncurses/curses.h" "ac_cv_header_ncurses_curses_h" "$ac_includes_default" + if test "x$ac_cv_header_ncurses_curses_h" = xyes; then : + curses_h_file=ncurses/curses.h + fi + + +- ac_fn_c_check_header_mongrel "$LINENO" "ncurses/term.h" "ac_cv_header_ncurses_term_h" "$ac_includes_default" ++ ac_fn_c_check_header_mongrel "$LINENO" "ncurses/term.h" "ac_cv_header_ncurses_term_h" "$ac_includes_default" + if test "x$ac_cv_header_ncurses_term_h" = xyes; then : + term_h_file=ncurses/term.h + fi + + ++ fi + extra_objs="$extra_objs terminfo.o" && if test "$verbose" = "yes"; then + echo " xemacs will be linked with \"terminfo.o\"" + fi +- LIBS="-lncurses $LIBS" && if test "$verbose" = "yes"; then echo " Prepending \"-lncurses\" to \$LIBS"; fi ++ LIBS="-l$cf_tgetent $LIBS" && if test "$verbose" = "yes"; then echo " Prepending \"-l$cf_tgetent\" to \$LIBS"; fi + + if test "$ac_cv_header_ncurses_curses_h" != "yes" ; then + save_c_switch_site="$c_switch_site" +--- configure.ac ++++ configure.ac 2015-05-12 00:00:00.000000000 +0000 +@@ -4028,6 +4028,37 @@ 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_TRY_RUN([#include ++ #include ++ #undef XAW_INTERNATIONALIZATION ++ #include <$athena_h_path/Simple.h> ++ int main(int c, char **v) { ++ int i = simpleWidgetClass->core_class.num_resources; ++ while (i-- > 0) ++ if (!strcmp(simpleWidgetClass->core_class.resources[i].resource_name, ++ "international")) ++ exit(0); ++ exit(253);}], ++ [./conftest dummy_arg; xaw_intl_status=$?; ++ if test "$xaw_intl_status" = "0"; then ++ have_athena_i18n=yes ++ else ++ have_athena_i18n=no ++ libs_x=$save_libs_x ++ fi]) ++ AC_MSG_RESULT([$have_athena_i18n]) ++ fi + else + have_xaw=no + fi +@@ -4163,6 +4194,9 @@ case "$all_widgets" in + + 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/lwlib.h ++++ lwlib/lwlib.h 2015-05-12 00:00:00.000000000 +0000 +@@ -24,6 +24,10 @@ along with the Lucid Widget Library. If + #include + #include "xt-wrappers.h" + ++#ifdef HAVE_ATHENA_I18N ++#define XAW_INTERNATIONALIZATION 1 ++#endif ++ + #if defined (LWLIB_MENUBARS_LUCID) || defined (LWLIB_MENUBARS_MOTIF) || defined (LWLIB_MENUBARS_ATHENA) + #define NEED_MENUBARS + #endif +--- src/config.h.in ++++ src/config.h.in 2015-05-12 00:00:00.000000000 +0000 +@@ -860,6 +860,7 @@ things are arranged in config.h.in. In + #undef LWLIB_WIDGETS_MOTIF + #undef LWLIB_WIDGETS_ATHENA + #undef HAVE_ATHENA_3D ++#undef HAVE_ATHENA_I18N + + /* Other things that can be disabled by configure. */ + #undef HAVE_MENUBARS diff --git a/xemacs.changes b/xemacs.changes index 9832ebb..6107263 100644 --- a/xemacs.changes +++ b/xemacs.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue May 12 14:48:57 UTC 2015 - werner@suse.de + +- Add patch xemacs-21.5.34-Xaw3D_I18N.patch to fix bsc#930170 with + xemacs segmentation fault on syntax highlighting + ------------------------------------------------------------------- Tue Feb 10 16:58:28 UTC 2015 - werner@suse.de diff --git a/xemacs.spec b/xemacs.spec index 3a31078..da64ec0 100644 --- a/xemacs.spec +++ b/xemacs.spec @@ -88,6 +88,8 @@ Patch53: xemacs-21.5.31-array.patch Patch56: xemacs-libpng15.patch Patch292811: bugzilla-292811-make-x-make-font-bold-italic-xft-work.patch Patch301352: bugzilla-301352-fix-wrong-incrementing-in-macros.patch +# PATCH-FIC-UPSTREAM bsc#930170 +Patch57: xemacs-21.5.34-Xaw3D_I18N.patch Requires(pre): permissions Requires: ctags Requires: efont-unicode @@ -176,6 +178,7 @@ echo Use xfs, that is XFontSet support for internationalized menubar. %patch56 -p1 %patch292811 -p1 %patch301352 -p1 +%patch57 -p0 %patch0 -p1 find lisp/ etc/ -name '*.elc' | xargs -r rm -f find . -name CVS -type d | xargs rm -rf From d7506c280dd1515ee10bf848d9c5cf4b669bfa0c04d35c9f6df2c9e73d81f04c Mon Sep 17 00:00:00 2001 From: "Dr. Werner Fink" Date: Tue, 12 May 2015 16:21:33 +0000 Subject: [PATCH 2/2] . OBS-URL: https://build.opensuse.org/package/show/M17N/xemacs?expand=0&rev=76 --- xemacs-21.5.34-Xaw3D_I18N.patch | 249 +++++++++----------------------- xemacs.changes | 6 + xemacs.patch | 6 +- xemacs.spec | 4 +- 4 files changed, 77 insertions(+), 188 deletions(-) diff --git a/xemacs-21.5.34-Xaw3D_I18N.patch b/xemacs-21.5.34-Xaw3D_I18N.patch index ca96b8a..5cf0a2f 100644 --- a/xemacs-21.5.34-Xaw3D_I18N.patch +++ b/xemacs-21.5.34-Xaw3D_I18N.patch @@ -1,13 +1,14 @@ --- - configure | 146 +++++++++++++++++++++++++++++++++++++++++++++++++------- - configure.ac | 34 +++++++++++++ - lwlib/lwlib.h | 4 + - src/config.h.in | 1 - 4 files changed, 169 insertions(+), 16 deletions(-) + 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 14:39:29.545519118 +0000 -@@ -16754,6 +16754,49 @@ fi ++++ 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 @@ -17,7 +18,6 @@ + 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;} @@ -30,34 +30,42 @@ + #include + #undef XAW_INTERNATIONALIZATION + #include <$athena_h_path/Simple.h> -+ int main(int c, char **v) { -+ int i = simpleWidgetClass->core_class.num_resources; ++ ++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);} ++ exit(253); ++ ++ ; ++ return 0; ++} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : -+ ./conftest dummy_arg; xaw_intl_status=$?; -+ if test "$xaw_intl_status" = "0"; then -+ have_athena_i18n=yes -+ else -+ have_athena_i18n=no -+ libs_x=$save_libs_x -+ fi ++ 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 -@@ -16962,6 +17005,10 @@ _ACEOF +@@ -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 @@ -68,150 +76,9 @@ fi ;; esac -@@ -19610,14 +19657,18 @@ $as_echo "" >&6; } - $as_echo "#define HAVE_TTY 1" >>confdefs.h - - -- if test -z "$with_ncurses"; then -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tgetent in -lncurses" >&5 --$as_echo_n "checking for tgetent in -lncurses... " >&6; } --if ${ac_cv_lib_ncurses_tgetent+:} false; then : -+ cf_tgetent="" -+ if test -z "$with_ncurses"; then -+ with_ncurses=no; -+ for lib in tinfo ncurses ncursesw ; do -+ as_ac_Lib=`$as_echo "ac_cv_lib_$lib''_tgetent" | $as_tr_sh` -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for tgetent in -l$lib" >&5 -+$as_echo_n "checking for tgetent in -l$lib... " >&6; } -+if eval \${$as_ac_Lib+:} false; then : - $as_echo_n "(cached) " >&6 - else - ac_check_lib_save_LIBS=$LIBS --LIBS="-lncurses $LIBS" -+LIBS="-l$lib $LIBS" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ - -@@ -19637,42 +19688,105 @@ return tgetent (); - } - _ACEOF - if ac_fn_c_try_link "$LINENO"; then : -- ac_cv_lib_ncurses_tgetent=yes -+ eval "$as_ac_Lib=yes" - else -- ac_cv_lib_ncurses_tgetent=no -+ eval "$as_ac_Lib=no" - fi - rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS=$ac_check_lib_save_LIBS - fi --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ncurses_tgetent" >&5 --$as_echo "$ac_cv_lib_ncurses_tgetent" >&6; } --if test "x$ac_cv_lib_ncurses_tgetent" = xyes; then : -- with_ncurses=yes --else -- with_ncurses=no -+eval ac_res=\$$as_ac_Lib -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -+$as_echo "$ac_res" >&6; } -+if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : -+ with_ncurses=yes; cf_tgetent="$lib"; break - fi - -+ done - fi - if test "$with_ncurses" = "yes"; then -+ if test x$cf_tgetent = x ; then -+ for lib in tinfo ncurses ncursesw ; do -+ as_ac_Lib=`$as_echo "ac_cv_lib_$lib''_tgetent" | $as_tr_sh` -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for tgetent in -l$lib" >&5 -+$as_echo_n "checking for tgetent in -l$lib... " >&6; } -+if eval \${$as_ac_Lib+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ ac_check_lib_save_LIBS=$LIBS -+LIBS="-l$lib $LIBS" -+cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+ -+/* Override any GCC internal prototype to avoid an error. -+ Use char because int might match the return type of a GCC -+ builtin and then its argument prototype would still apply. */ -+#ifdef __cplusplus -+extern "C" -+#endif -+char tgetent (); -+int -+main () -+{ -+return tgetent (); -+ ; -+ return 0; -+} -+_ACEOF -+if ac_fn_c_try_link "$LINENO"; then : -+ eval "$as_ac_Lib=yes" -+else -+ eval "$as_ac_Lib=no" -+fi -+rm -f core conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext conftest.$ac_ext -+LIBS=$ac_check_lib_save_LIBS -+fi -+eval ac_res=\$$as_ac_Lib -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -+$as_echo "$ac_res" >&6; } -+if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : -+ cf_tgetent="$lib"; break -+fi -+ -+ done -+ fi - $as_echo "#define HAVE_NCURSES 1" >>confdefs.h - -- ac_fn_c_check_header_mongrel "$LINENO" "ncurses/curses.h" "ac_cv_header_ncurses_curses_h" "$ac_includes_default" -+ if test "$cf_tgetent" = ncursesw; then -+ $as_echo "#define HAVE_NCURSESW 1" >>confdefs.h -+ -+ ac_fn_c_check_header_mongrel "$LINENO" "ncursesw/curses.h" "ac_cv_header_ncursesw_curses_h" "$ac_includes_default" -+if test "x$ac_cv_header_ncursesw_curses_h" = xyes; then : -+ curses_h_file=ncursesw/curses.h -+fi -+ -+ -+ ac_fn_c_check_header_mongrel "$LINENO" "ncursesw/term.h" "ac_cv_header_ncursesw_term_h" "$ac_includes_default" -+if test "x$ac_cv_header_ncursesw_term_h" = xyes; then : -+ term_h_file=ncursesw/term.h -+fi -+ -+ -+ else -+ ac_fn_c_check_header_mongrel "$LINENO" "ncurses/curses.h" "ac_cv_header_ncurses_curses_h" "$ac_includes_default" - if test "x$ac_cv_header_ncurses_curses_h" = xyes; then : - curses_h_file=ncurses/curses.h - fi - - -- ac_fn_c_check_header_mongrel "$LINENO" "ncurses/term.h" "ac_cv_header_ncurses_term_h" "$ac_includes_default" -+ ac_fn_c_check_header_mongrel "$LINENO" "ncurses/term.h" "ac_cv_header_ncurses_term_h" "$ac_includes_default" - if test "x$ac_cv_header_ncurses_term_h" = xyes; then : - term_h_file=ncurses/term.h - fi - - -+ fi - extra_objs="$extra_objs terminfo.o" && if test "$verbose" = "yes"; then - echo " xemacs will be linked with \"terminfo.o\"" - fi -- LIBS="-lncurses $LIBS" && if test "$verbose" = "yes"; then echo " Prepending \"-lncurses\" to \$LIBS"; fi -+ LIBS="-l$cf_tgetent $LIBS" && if test "$verbose" = "yes"; then echo " Prepending \"-l$cf_tgetent\" to \$LIBS"; fi - - if test "$ac_cv_header_ncurses_curses_h" != "yes" ; then - save_c_switch_site="$c_switch_site" --- configure.ac +++ configure.ac 2015-05-12 00:00:00.000000000 +0000 -@@ -4028,6 +4028,37 @@ if test "$with_x11" = "yes" -a "$detect_ +@@ -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 @@ -225,32 +92,33 @@ + XE_PREPEND(-lXaw3d, libs_x) + dnl The test below was provided by Ralf Soergel. + AC_MSG_CHECKING([for "international" resource in Xaw3d SimpleWidget]) -+ -+ AC_TRY_RUN([#include ++ AC_RUN_IFELSE( ++ [AC_LANG_PROGRAM( ++ [#include + #include + #undef XAW_INTERNATIONALIZATION + #include <$athena_h_path/Simple.h> -+ int main(int c, char **v) { -+ int i = simpleWidgetClass->core_class.num_resources; ++ ], ++ [[int i = simpleWidgetClass->core_class.num_resources; + while (i-- > 0) + if (!strcmp(simpleWidgetClass->core_class.resources[i].resource_name, + "international")) + exit(0); -+ exit(253);}], -+ [./conftest dummy_arg; xaw_intl_status=$?; -+ if test "$xaw_intl_status" = "0"; then -+ have_athena_i18n=yes -+ else -+ have_athena_i18n=no -+ libs_x=$save_libs_x -+ fi]) ++ 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 -@@ -4163,6 +4194,9 @@ case "$all_widgets" in - +@@ -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 @@ -259,19 +127,34 @@ fi ;; esac ---- lwlib/lwlib.h -+++ lwlib/lwlib.h 2015-05-12 00:00:00.000000000 +0000 -@@ -24,6 +24,10 @@ along with the Lucid Widget Library. If - #include - #include "xt-wrappers.h" +--- 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