[P21.4] Fix progress bar crash
9 years, 11 months
Vin Shelton
Dear Stephen et al,
On Sat, Jan 10, 2015 at 3:39 AM, Stephen J. Turnbull <stephen(a)xemacs.org> wrote:
> APPROVE COMMIT 21.5
>
> This patch, whose diagnosis and configure test is entirely due to Ralf
> Soergel, fixes the crash for me on both Mac OS X "Yosemite" with Apple
> Clang6.0 (LLVM 3.5svn) and Gentoo (about 2 months out of date) with
> Clang 3.5.0 as released.
>
> On Gentoo it was tested with and without optimization, and in all
> three cases the bogus "gctop" has the save value -- I'm guessing
> there's some string or other fixed value in that offset.
>
> @Vin: I think this is probably appropriate for 21.4. I'll try to get
> to that tomorrow.
Here is my attempt at converting this patch to 21.4. I had to move
the configure test from configure.ac to configure.in and use
AC_TRY_RUN. Also, I placed the #define of interest into lwlib.h,
rather than the non-existent xt-wrappers.h.
Please review before I commit.
Thanks,
Vin
diff -r 5dd9d9f7a11e ChangeLog
--- a/ChangeLog Sat Jan 24 22:35:21 2015 -0500
+++ b/ChangeLog Sun Jan 25 23:23:18 2015 -0500
@@ -1,3 +1,12 @@
++2015-01-08 Vin Shelton <acs(a)xemacs.org>
+
+ Fix progress bar crashes.
+ Thanks to Ralf Soergel for diagnosis and a patch.
+
+ * configure.in (Athena widgets):
+ Test for "international" resource in SimpleWidgetClass in libXaw3d.
+ * configure: Rebuild.
+
2008-12-28 Vin Shelton <acs(a)xemacs.org>
* XEmacs 21.4.22 is released
diff -r 5dd9d9f7a11e configure.in
--- a/configure.in Sat Jan 24 22:35:21 2015 -0500
+++ b/configure.in Sun Jan 25 23:23:18 2015 -0500
@@ -3640,6 +3640,37 @@
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 <stdlib.h>
+ #include <string.h>
+ #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
@@ -3748,6 +3779,9 @@
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
diff -r 5dd9d9f7a11e lwlib/ChangeLog
--- a/lwlib/ChangeLog Sat Jan 24 22:35:21 2015 -0500
+++ b/lwlib/ChangeLog Sun Jan 25 23:23:18 2015 -0500
@@ -1,3 +1,11 @@
+2015-01-08 Vin Shelton <acs(a)xemacs.org>
+
+ Fix progress bar crashes.
+ Thanks to Ralf Soergel for diagnosis and a patch.
+
+ * lwlib.h (HAVE_ATHENA_I18N):
+ Define XAW_INTERNATIONALIZATION when needed.
+
2008-12-28 Vin Shelton <acs(a)xemacs.org>
* XEmacs 21.4.22 is released
diff -r 5dd9d9f7a11e lwlib/lwlib.h
--- a/lwlib/lwlib.h Sat Jan 24 22:35:21 2015 -0500
+++ b/lwlib/lwlib.h Sun Jan 25 23:23:18 2015 -0500
@@ -3,6 +3,10 @@
#include <X11/Intrinsic.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
diff -r 5dd9d9f7a11e src/ChangeLog
--- a/src/ChangeLog Sat Jan 24 22:35:21 2015 -0500
+++ b/src/ChangeLog Sun Jan 25 23:23:18 2015 -0500
@@ -1,3 +1,10 @@
+2015-01-25 Vin Shelton <acs(a)xemacs.org>
+
+ Fix progress bar crashes.
+ Thanks to Ralf Soergel for diagnosis and a patch.
+
+ * config.h.in (HAVE_ATHENA_I18N): New #define.
+
2015-01-24 Vin Shelton <acs(a)xemacs.org>
* fileio.c: Guard include of w32api/aclapi.h to preserve Status
diff -r 5dd9d9f7a11e src/config.h.in
--- a/src/config.h.in Sat Jan 24 22:35:21 2015 -0500
+++ b/src/config.h.in Sun Jan 25 23:23:18 2015 -0500
@@ -720,6 +720,7 @@
#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
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches
[21.4 AC] Apply latest Cygwin Patches to 21.4
9 years, 11 months
Vin Shelton
I have applied most of the latest cygwin patches to the 21.4 repo (see
attached).
Please test 21.4. I would like to release 21.4.23 sometime relatively
soon, and if there are no further complaints, I will declare 21.4
(permanently) frozen.
Stephen - I'm working on converting the progress-bar fix from
configure.ac to configure.in and expect to have that in 21.4.23.
- Vin
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches
[21.5] Clean up dupes from pkg-config --cflags
9 years, 11 months
Stephen J. Turnbull
21.5
I'm not real sure I like this patch; I can always keep it in a local
branch. MacPorts has other problems (including the fact that unlike
every other installation I know of it puts the Freetype includes in
.../include/freetype2 instead of in .../include/freetype2/freetype).
The problem the patch solves is that MacPorts "pkg-config xft --cflags"
reports the concatenation of CFLAGS used by several packages required
by Xft, resulting in
-I/opt/local/include -I/opt/local/include/freetype2 \
-I/opt/local/include -I/opt/local/include/libpng16 \
-I/opt/local/include -I/opt/local/include/freetype2 \
-I/opt/local/include
which isn't pretty. This patch simply detects and removes
duplicates, so the search path is effectively the same:
-I/opt/local/include -I/opt/local/include/freetype2 \
-I/opt/local/include/libpng16
I tried to turn this into an M4 macro, but my M4-foo is weak (as I
mentioned elsewhere), so it's inline in this patch.
Comments (and help with the macro!) are welcome.
diff -r 6b57aad276aa -r 4f97461d589a configure.ac
--- a/configure.ac Sat Jan 10 21:11:10 2015 +0900
+++ b/configure.ac Sat Jan 10 23:12:25 2015 +0900
@@ -3217,6 +3229,17 @@
xft_config_ok=`$xft_config_prog --cflags 2>/dev/null`
if test "$?" = 0 ; then
xft_cflags=`$xft_config_prog --cflags`
+ dnl I tried to create XE_REMOVE_DUPS(xft_cflags,$xft_cflags),
+ dnl but it didn't work.
+ cleaned_xft_cflags=""
+ for xft_cflag in $xft_cflags; do
+ case $xft_cleaned_cflags in
+ *${xft_cflag}* ) ;;
+ * ) xft_cleaned_cflags="$xft_cleaned_cflags $xft_cflag" ;;
+ esac
+ done
+ xft_cflags=$xft_cleaned_cflags
+ unset xft_cflag xft_cleaned_cflags
xft_libs=`$xft_config_prog --libs`
c_switch_site="$c_switch_site $xft_cflags"
ld_switch_site="$ld_switch_site $xft_libs"
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches
[21.5] Report all compiler switches in Installation
9 years, 11 months
Stephen J. Turnbull
21.5
Here's the patch I mentioned earlier on xemacs-beta:
# HG changeset patch
# Parent f4138a75517358813390c59107d26de56a8c67e3
Make Installation report all compiler switches.
diff -r f4138a755173 -r 7f5e6e05aedb ChangeLog
--- a/ChangeLog Sun Jan 11 00:04:48 2015 +0900
+++ b/ChangeLog Sun Jan 11 00:08:21 2015 +0900
@@ -1,3 +1,7 @@
+2015-01-11 Stephen J. Turnbull <stephen(a)xemacs.org>
+
+ * configure.ac (Installation): Report all compiler switches.
+
2015-01-11 Stephen J. Turnbull <stephen(a)xemacs.org>
* configure.ac (Xft): Remove dupes from pkg-config --cflags.
diff -r f4138a755173 -r 7f5e6e05aedb configure.ac
--- a/configure.ac Sun Jan 11 00:04:48 2015 +0900
+++ b/configure.ac Sun Jan 11 00:08:21 2015 +0900
@@ -5846,7 +5846,7 @@
if test -n "$gcc_compiler_specs"; then
echo " - GCC specs file: $gcc_compiler_specs"
fi
-echo " - Compiler command: $XEMACS_CC $XE_CFLAGS"
+echo " - Compiler command: $XEMACS_CC $c_switch_all"
if test "$CC" != "$XEMACS_CC"; then
echo " Compiler version for lib-src: (detection code unimplemented)"
echo " - Compiler command for lib-src: $CC $CFLAGS"
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches
[PATCH 21.5] Fix g++ build of lwlib-Xaw.c
9 years, 11 months
Jerry James
PATCH 21.5
On Tue, Jan 6, 2015 at 9:19 AM, Marcus <marcus.harnisch(a)xemacs.org> wrote:
> Jerry James <james(a)xemacs.org> writes:
>
>> Does the compile succeed if you cast to long first, then to int?
>
> Indeed, it does. The secrets of "why" are part of the C++ standard, I
> reckon. I am not even getting a warning despite the fact that casting
> long to int is lossy.
Stephen already explained the whys and wherefores, so I'll just paste
the patch in here for public consideration.
diff -r 9e5f3a0d4e66 lwlib/ChangeLog
--- a/lwlib/ChangeLog Sat Jan 03 16:24:56 2015 +0100
+++ b/lwlib/ChangeLog Wed Jan 07 09:14:09 2015 -0700
@@ -1,3 +1,8 @@
+2015-01-07 Jerry James <james(a)xemacs.org>
+
+ * lwlib-Xaw.c (xaw_scrollbar_scroll): Add typecast to fix g++ build,
+ problem reported by Marcus Harnisch.
+
2013-06-23 Stephen J. Turnbull <stephen(a)xemacs.org>
* XEmacs 21.5.34 "kale" is released.
diff -r 9e5f3a0d4e66 lwlib/lwlib-Xaw.c
--- a/lwlib/lwlib-Xaw.c Sat Jan 03 16:24:56 2015 +0100
+++ b/lwlib/lwlib-Xaw.c Wed Jan 07 09:14:09 2015 -0700
@@ -613,10 +613,10 @@
return;
id = instance->info->id;
- event_data.slider_value = (int) call_data;
+ event_data.slider_value = (int) (long) call_data;
event_data.time = 0;
- if ((int) call_data > 0)
+ if ((int) (long) call_data > 0)
/* event_data.action = SCROLLBAR_PAGE_DOWN;*/
event_data.action = SCROLLBAR_LINE_DOWN;
else
--
Jerry James
http://www.jamezone.org/
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches
[AC21.5] Improve Installation text for Postgresql
9 years, 11 months
Stephen J. Turnbull
APPROVE COMMIT 21.5
Just a tiny nit. Our use of Postgresql bindings hasn't changed since
V7, but they still seem to work AFAICT (I only connect to the
postgresql server to check, they definitely compile). Reference to
Postgresql "V7" seemed a little confusing to me until I realized that
we were checking for an API that became available in V7.
diff -r 69f9e31c9ccf -r 83e5c3cd6be6 ChangeLog
--- a/ChangeLog Sat Jan 10 17:11:19 2015 +0900
+++ b/ChangeLog Sat Jan 10 19:43:28 2015 +0900
@@ -1,3 +1,8 @@
+2015-01-10 Stephen J. Turnbull <stephen(a)xemacs.org>
+
+ * configure.ac (Postgresql): Improve Installation text.
+ * configure: Rebuild.
+
2015-01-08 Stephen J. Turnbull <stephen(a)xemacs.org>
Fix progress bar crashes.
diff -r 69f9e31c9ccf -r 83e5c3cd6be6 configure
--- a/configure Sat Jan 10 17:11:19 2015 +0900
+++ b/configure Sat Jan 10 19:43:28 2015 +0900
@@ -22203,7 +22203,7 @@
if test "$with_postgresql" = yes; then
echo " Compiling in support for PostgreSQL."
echo " - Using PostgreSQL header file: $libpq_fe_h_file"
- test "$with_postgresqlv7" = yes && echo " - Using PostgreSQL V7 bindings."
+ test "$with_postgresqlv7" = yes && echo " - Using PostgreSQL V7+ bindings."
fi
echo "
diff -r 69f9e31c9ccf -r 83e5c3cd6be6 configure.ac
--- a/configure.ac Sat Jan 10 17:11:19 2015 +0900
+++ b/configure.ac Sat Jan 10 19:43:28 2015 +0900
@@ -6039,7 +6039,7 @@
if test "$with_postgresql" = yes; then
echo " Compiling in support for PostgreSQL."
echo " - Using PostgreSQL header file: $libpq_fe_h_file"
- test "$with_postgresqlv7" = yes && echo " - Using PostgreSQL V7 bindings."
+ test "$with_postgresqlv7" = yes && echo " - Using PostgreSQL V7+ bindings."
fi
echo "
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches
AC21.5 Fix progress bar crash
9 years, 11 months
Stephen J. Turnbull
APPROVE COMMIT 21.5
This patch, whose diagnosis and configure test is entirely due to Ralf
Soergel, fixes the crash for me on both Mac OS X "Yosemite" with Apple
Clang6.0 (LLVM 3.5svn) and Gentoo (about 2 months out of date) with
Clang 3.5.0 as released.
On Gentoo it was tested with and without optimization, and in all
three cases the bogus "gctop" has the save value -- I'm guessing
there's some string or other fixed value in that offset.
@Vin: I think this is probably appropriate for 21.4. I'll try to get
to that tomorrow.
Steve
# HG changeset patch
# Parent 9e5f3a0d4e662ed7fe8e78e87630c5b24bbf4953
Fix progress bar crashes.
Thanks to Ralf Soergel for diagnosis and the configure test.
2015-01-08 Stephen J. Turnbull <stephen(a)xemacs.org>
* config.h.in (HAVE_ATHENA_I18N): New #define.
* lwlib/xt-wrappers.h (HAVE_ATHENA_I18N):
Define XAW_INTERNATIONALIZATION when needed.
* configure.ac (Athena widgets):
Test for international resource in SimpleWidgetClass in libXaw3d.
diff -r 9e5f3a0d4e66 ChangeLog
--- a/ChangeLog Sat Jan 03 16:24:56 2015 +0100
+++ b/ChangeLog Sat Jan 10 17:11:19 2015 +0900
@@ -1,3 +1,12 @@
+2015-01-08 Stephen J. Turnbull <stephen(a)xemacs.org>
+
+ Fix progress bar crashes.
+ Thanks to Ralf Soergel for diagnosis and a patch.
+
+ * configure.ac (Athena widgets):
+ Test for "international" resource in SimpleWidgetClass in libXaw3d.
+ * configure: Rebuild.
+
2014-11-09 Jeff Sparkes <jsparkes(a)gmail.com>
* configure.ac (HAVE_GNUTLS): Add SSL/TLS libraries to $LIBS, not
diff -r 9e5f3a0d4e66 configure
--- a/configure Sat Jan 03 16:24:56 2015 +0100
+++ b/configure Sat Jan 10 17:11:19 2015 +0900
@@ -16802,6 +16802,52 @@
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 <stdlib.h>
+ #include <string.h>
+ #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
@@ -17006,10 +17052,13 @@
$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
diff -r 9e5f3a0d4e66 configure.ac
--- a/configure.ac Sat Jan 03 16:24:56 2015 +0100
+++ b/configure.ac Sat Jan 10 17:11:19 2015 +0900
@@ -4053,6 +4053,35 @@
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 <stdlib.h>
+ #include <string.h>
+ #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
@@ -4185,9 +4214,11 @@
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
diff -r 9e5f3a0d4e66 lwlib/ChangeLog
--- a/lwlib/ChangeLog Sat Jan 03 16:24:56 2015 +0100
+++ b/lwlib/ChangeLog Sat Jan 10 17:11:19 2015 +0900
@@ -1,3 +1,11 @@
+2015-01-08 Stephen J. Turnbull <stephen(a)xemacs.org>
+
+ 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 <stephen(a)xemacs.org>
* XEmacs 21.5.34 "kale" is released.
diff -r 9e5f3a0d4e66 lwlib/xt-wrappers.h
--- a/lwlib/xt-wrappers.h Sat Jan 03 16:24:56 2015 +0100
+++ b/lwlib/xt-wrappers.h Sat Jan 10 17:11:19 2015 +0900
@@ -21,6 +21,11 @@
/* Original author: Stephen J. Turnbull for 21.5.29 */
+/* #### Factor out into xaw-wrappers (which would #include this file)? */
+#ifdef HAVE_ATHENA_I18N
+#define XAW_INTERNATIONALIZATION 1
+#endif
+
/* Generic utility macros, including coping with G++ whining.
Used in lwlib via lwlib.h and X consoles via console-x.h.
diff -r 9e5f3a0d4e66 src/ChangeLog
--- a/src/ChangeLog Sat Jan 03 16:24:56 2015 +0100
+++ b/src/ChangeLog Sat Jan 10 17:11:19 2015 +0900
@@ -1,3 +1,10 @@
+2015-01-08 Stephen J. Turnbull <stephen(a)xemacs.org>
+
+ Fix progress bar crashes.
+ Thanks to Ralf Soergel for diagnosis and a patch.
+
+ * config.h.in (HAVE_ATHENA_I18N): New #define.
+
2014-12-13 Marcus Crestani <crestani(a)xemacs.org>
* dumper.c (pdump_register_sub): Don't leave fields uninitialized.
diff -r 9e5f3a0d4e66 src/config.h.in
--- a/src/config.h.in Sat Jan 03 16:24:56 2015 +0100
+++ b/src/config.h.in Sat Jan 10 17:11:19 2015 +0900
@@ -868,6 +868,7 @@
#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
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches
Fix move-beginning-of-line, move-end-of-line
9 years, 11 months
Michael Sperber
The above functions would signal exceptions when at bobp and eolp.
2015-01-03 Michael Sperber <mike(a)xemacs.org>
* simple-more.el (move-beginning-of-line, move-end-of-line): Use
`noerror' argument to `line-move', getting us the semantics of GNU
Emacs at bobp and and eolp.
Will commit Tuesday if nobody objects.
--
Regards,
Mike
diff --git a/simple-more.el b/simple-more.el
--- a/simple-more.el
+++ b/simple-more.el
@@ -40,7 +40,7 @@
;; Move by lines, if ARG is not 1 (the default).
(if (/= arg 1)
- (line-move (1- arg)))
+ (line-move (1- arg) 'noerror))
;; Move to beginning-of-line, ignoring fields and invisible text.
(skip-chars-backward "^\n")
@@ -78,7 +78,7 @@
(let ((newpos
(save-excursion
(let ((goal-column 0))
- (line-move arg)
+ (line-move arg 'noerror)
(and
;; With bidi reordering, we may not be at bol,
;; so make sure we are.
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches
Add `noerror' argument to `move-line'
9 years, 11 months
Michael Sperber
... as in GNU Emacs. This will enable me to submit another fix that
depends on this.
Will commit ... sometime after New Year's, I guess, if nobody objects.
2014-12-31 Michael Sperber <mike(a)xemacs.org>
* simple.el (line-move): Add `noerror' optional argument, as in
GNU Emacs.
--
Regards,
Mike
diff --git a/lisp/simple.el b/lisp/simple.el
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -2441,7 +2441,7 @@
;; This is the guts of next-line and previous-line.
;; Count says how many lines to move.
-(defun line-move (count)
+(defun line-move (count &optional noerror)
;; Don't run any point-motion hooks, and disregard intangibility,
;; for intermediate positions.
(let ((inhibit-point-motion-hooks t)
@@ -2470,14 +2470,16 @@
(zerop (forward-line 1)))
(and (zerop (forward-line count))
(bolp)))
- (signal (if (< count 0)
- 'beginning-of-buffer
- 'end-of-buffer)
- nil))
+ (if (not noerror)
+ (signal (if (< count 0)
+ 'beginning-of-buffer
+ 'end-of-buffer)
+ nil)))
;; Move by count lines, but ignore invisible ones.
(while (> count 0)
(end-of-line)
(and (zerop (vertical-motion 1))
+ (not noerror)
(signal 'end-of-buffer nil))
;; If the following character is currently invisible,
;; skip all characters with that same `invisible' property value.
@@ -2495,6 +2497,7 @@
(while (< count 0)
(beginning-of-line)
(and (zerop (vertical-motion -1))
+ (not noerror)
(signal 'beginning-of-buffer nil))
(while (and (not (bobp))
(let ((prop
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches