[COMMIT] x 2; Re: Still a few bugs in the system...
Aidan Kehoe <[email protected]>
| Newsgroups | gmane.emacs.xemacs.patches,gmane.emacs.xemacs.beta |
|---|---|
| Message-ID | <[email protected]> |
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 <[email protected]> # 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 <[email protected]> * 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 <[email protected]> + + * 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 <[email protected]> * 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 <[email protected]> # 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 <[email protected]> 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-Patches mailing list [email protected] http://lists.xemacs.org/mailman/listinfo/xemacs-patches