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/syntax.c | |
| 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/syntax.c')
0 files changed, 0 insertions, 0 deletions