Ar an séú lá déag de mí Márta, scríobh Vin Shelton:
After a few days away, I had some problems with my latest 21.5
builds:
Thank you Vin, these both now work for me with corresponding systems and
configure lines, please get back to me if there are still issues.
APPROVE COMMIT
Note: these two patches have been committed.
# HG changeset patch
# User Aidan Kehoe <kehoea(a)parhasard.net>
# Date 1426552179 0
# Tue Mar 17 00:29:39 2015 +0000
# Node ID df50aaeddca5679fba85dc8b1ebc8fd708c02028
# Parent 04b8549344077926229ea11d7f5d96967d03441c
Don't tickle an unreasonable but standard C lib limitation, thank you Vin!
src/ChangeLog addition:
2015-03-17 Aidan Kehoe <kehoea(a)parhasard.net>
* data.c (fill_ichar_array):
Be a bit more careful never to supply the C library's isupper()
with a value outside of that range specified by the C
standard. Thank you Vin Shelton for reporting the Linux
segmentation violation this provokes, and happy St. Patrick's Day
to everyone reading the XEmacs lists!
diff -r 04b854934407 -r df50aaeddca5 src/ChangeLog
--- a/src/ChangeLog Mon Mar 16 09:03:22 2015 +0000
+++ b/src/ChangeLog Tue Mar 17 00:29:39 2015 +0000
@@ -1,3 +1,12 @@
+2015-03-17 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * data.c (fill_ichar_array):
+ Be a bit more careful never to supply the C library's isupper()
+ with a value outside of that range specified by the C
+ standard. Thank you Vin Shelton for reporting the Linux
+ segmentation violation this provokes, and happy St. Patrick's Day
+ to everyone reading the XEmacs lists!
+
2015-03-08 Aidan Kehoe <kehoea(a)parhasard.net>
* data.c (Fparse_integer):
diff -r 04b854934407 -r df50aaeddca5 src/data.c
--- a/src/data.c Mon Mar 16 09:03:22 2015 +0000
+++ b/src/data.c Tue Mar 17 00:29:39 2015 +0000
@@ -1484,9 +1484,15 @@
}
/* Maybe our own case infrastructure is not available yet. Use the C
library's. */
- else if (isupper (range->ch) && !isupper (cctable[valint]))
+ else if (current_buffer == NULL)
{
- cctable[valint] = range->ch;
+ /* The C library can't necessarily handle values outside of
+ the range EOF to CHAR_MAX, inclusive. */
+ assert (range->ch == EOF || range->ch <= CHAR_MAX);
+ if (isupper (range->ch) && !isupper (cctable[valint]))
+ {
+ cctable[valint] = range->ch;
+ }
}
/* Otherwise, save it if this character has a numerically lower value
(preferring ASCII over fullwidth Chinese and so on). */
# HG changeset patch
# User Aidan Kehoe <kehoea(a)parhasard.net>
# Date 1426553268 0
# Tue Mar 17 00:47:48 2015 +0000
# Node ID 58e72e27fb816c54211fcdaeec7729b97bcdae9c
# Parent df50aaeddca5679fba85dc8b1ebc8fd708c02028
Don't rely on zero termination for Vfixnum_to_char_map, thank you Vin.
lisp/ChangeLog addition:
(vars_of_data): Don't rely on zero termination here for
Vfixnum_to_char_map, give an explicit bytecount. Again, thank you
Vin!
diff -r df50aaeddca5 -r 58e72e27fb81 src/ChangeLog
--- a/src/ChangeLog Tue Mar 17 00:29:39 2015 +0000
+++ b/src/ChangeLog Tue Mar 17 00:47:48 2015 +0000
@@ -6,6 +6,9 @@
standard. Thank you Vin Shelton for reporting the Linux
segmentation violation this provokes, and happy St. Patrick's Day
to everyone reading the XEmacs lists!
+ (vars_of_data): Don't rely on zero termination here for
+ Vfixnum_to_char_map, give an explicit bytecount. Again, thank you
+ Vin!
2015-03-08 Aidan Kehoe <kehoea(a)parhasard.net>
diff -r df50aaeddca5 -r 58e72e27fb81 src/data.c
--- a/src/data.c Tue Mar 17 00:29:39 2015 +0000
+++ b/src/data.c Tue Mar 17 00:47:48 2015 +0000
@@ -4302,7 +4302,9 @@
/* Sigh, we can't call build_fixnum_to_char_map() on Vdigit_fixnum_map,
this is too early in the boot sequence to map across a char table. Do
it by hand. */
- Vfixnum_to_char_map = build_ascstring (fixnum_tab);
+ ASSERT_ASCTEXT_ASCII_LEN (fixnum_tab, 36 * MAX_ICHAR_LEN);
+ Vfixnum_to_char_map
+ = make_string ((const Ibyte*) fixnum_tab, 36 * MAX_ICHAR_LEN);
staticpro (&Vfixnum_to_char_map);
}
--
‘Tramadol is further fed to cattle […] when working them […] (as draft
animals) so that the animals do not get tired quickly. …’
— Angewandte Chemie, Sept 2014, describing the social context of
(synthetic) tramadol having been found in Cameroon tree roots.
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-beta