GNU bug report logs - #18051
24.3.92; ls-lisp: Sorting; make ls-lisp-string-lessp a normal function?

Previous Next

Package: emacs;

Reported by: michael_heerdegen <at> web.de

Date: Fri, 18 Jul 2014 06:24:01 UTC

Severity: wishlist

Found in version 24.3.92

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: Michael Albinus <michael.albinus <at> gmx.de>
Cc: rudalics <at> gmx.at, eggert <at> cs.ucla.edu, dmantipov <at> yandex.ru, 18051 <at> debbugs.gnu.org
Subject: bug#18051: [Emacs-diffs] trunk r117726: Add string collation.
Date: Fri, 29 Aug 2014 22:31:49 +0300
> From: Michael Albinus <michael.albinus <at> gmx.de>
> Cc: martin rudalics <rudalics <at> gmx.at>,  eggert <at> cs.ucla.edu,  dmantipov <at> yandex.ru,  18051 <at> debbugs.gnu.org
> Date: Fri, 29 Aug 2014 20:01:50 +0200
> 
> Eli Zaretskii <eliz <at> gnu.org> writes:
> 
> > Case-insensitive versions of the new functions are yet to be written;
> > stay tuned.
> 
> I've just committed a patch to the trunk which adds optional arguments
> LOCALE and IGNORE-CASE to the collation functions.

Thanks.

> > For now, on MS-Windows, you can have that if you use the
> > NORM_IGNORECASE flag as the second argument of CompareStringW inside
> > w32_compare_strings.
> 
> As usual, this I haven't implemented. I would let it to you, Eli.

As usual, done.

I needed to introduce a w32-specific variable, which needs to be bound
to a non-nil value in order to have UTS#10 (a.k.a. "Unicode Collation
Algorithm", or "UCA") compliant collation order, which ignores
punctuation differences, on MS-Windows.  This is because Windows
doesn't support UTF-8 as a codeset in its locales (and Windows locales
have different names anyway).  This means that if a Lisp program needs
to make sure it gets a UCA-compliant collation order on all platforms,
it will have to pass a "xx_YY.UTF-8" locale on Posix platforms, and on
Windows bind that w32-specific variable to a non-nil value.

Btw, I think we will need a lot of verbiage in the ELisp manual to
make sure people understand what to expect from these functions.  In
particular, the results are extremely locale- and platform-specific,
so one cannot expect exactly the same results in all cases, only
something similar.




This bug report was last modified 10 years and 224 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.