diff options
| author | Paul Eggert | 2014-08-27 11:56:47 -0700 |
|---|---|---|
| committer | Paul Eggert | 2014-08-27 11:56:47 -0700 |
| commit | 110d87a1cc6a47e31ad9d70cc6366dd81d213860 (patch) | |
| tree | d6b77b26ec0ce70df4684c0a859989ff426e3ef5 /src/ChangeLog | |
| parent | 17d94f1ba4333a0d53558af02583dbf80e9157ff (diff) | |
| download | emacs-110d87a1cc6a47e31ad9d70cc6366dd81d213860.tar.gz emacs-110d87a1cc6a47e31ad9d70cc6366dd81d213860.zip | |
Improve robustness of new string-collation code.
* configure.ac (newlocale): Check for this, not for uselocale.
* src/sysdep.c (LC_COLLATE, LC_COLLATE_MASK, freelocale, locale_t)
(newlocale, wcscoll_l): Define substitutes for platforms that
lack them, so as to simplify the mainline code.
(str_collate): Simplify the code by assuming the above definitions.
Use wcscoll_l, not uselocale, as uselocale is too fragile. For
example, the old version left the Emacs in the wrong locale if
wcscoll reported an error. Use 'int', not ptrdiff_t, for the int
result. Report an error if newlocale fails.
Fixes: debbugs:18051
Diffstat (limited to 'src/ChangeLog')
| -rw-r--r-- | src/ChangeLog | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index d7066b823b9..8a32bc27b0b 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,15 @@ | |||
| 1 | 2014-08-27 Paul Eggert <eggert@cs.ucla.edu> | ||
| 2 | |||
| 3 | Improve robustness of new string-collation code (Bug#18051). | ||
| 4 | * sysdep.c (LC_COLLATE, LC_COLLATE_MASK, freelocale, locale_t) | ||
| 5 | (newlocale, wcscoll_l): Define substitutes for platforms that | ||
| 6 | lack them, so as to simplify the mainline code. | ||
| 7 | (str_collate): Simplify the code by assuming the above definitions. | ||
| 8 | Use wcscoll_l, not uselocale, as uselocale is too fragile. For | ||
| 9 | example, the old version left the Emacs in the wrong locale if | ||
| 10 | wcscoll reported an error. Use 'int', not ptrdiff_t, for the int | ||
| 11 | result. Report an error if newlocale fails. | ||
| 12 | |||
| 1 | 2014-08-27 Michael Albinus <michael.albinus@gmx.de> | 13 | 2014-08-27 Michael Albinus <michael.albinus@gmx.de> |
| 2 | 14 | ||
| 3 | * lisp.h (str_collate): | 15 | * lisp.h (str_collate): |