From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#18051: 24.3.92; ls-lisp: Sorting; make ls-lisp-string-lessp a normal function? Date: Thu, 21 Aug 2014 17:41:22 +0300 Message-ID: <83sikpc3cd.fsf@gnu.org> References: <87ha2f5gp8.fsf@web.de> <87iomvhvdg.fsf@gmx.de> <834myf6mfl.fsf@gnu.org> <87a987ht5r.fsf@gmx.de> <83y4vq6cz3.fsf@gnu.org> <87tx6c7f5v.fsf@web.de> <8338dw5zrf.fsf@gnu.org> <87lhro7dp4.fsf@web.de> <83zjg44jzd.fsf@gnu.org> <87wqb8mqqv.fsf@web.de> <83y4vo4fbr.fsf@gnu.org> <87silwmo8h.fsf@web.de> <83wqb84e7l.fsf@gnu.org> <87iomsgsqg.fsf@gmx.de> <83tx6c44x7.fsf@gnu.org> <87egxggigj.fsf@gmx.de> <877g28w19r.fsf@gmx.de> <83sikvcbqr.fsf@gnu.org> <83r40fc876.fsf@gnu.org> <87wqa7uf7w.fsf@gmx.de> <83oavjc5jj.fsf@gnu.org> <87y4uixleg.fsf@gmx.de> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1408632148 12843 80.91.229.3 (21 Aug 2014 14:42:28 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 21 Aug 2014 14:42:28 +0000 (UTC) Cc: michael_heerdegen@web.de, 18051@debbugs.gnu.org To: Michael Albinus Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Aug 21 16:42:21 2014 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1XKTZA-0000x1-Ru for geb-bug-gnu-emacs@m.gmane.org; Thu, 21 Aug 2014 16:42:16 +0200 Original-Received: from localhost ([::1]:32777 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XKTZA-0002lo-Hw for geb-bug-gnu-emacs@m.gmane.org; Thu, 21 Aug 2014 10:42:16 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:46372) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XKTZ2-0002ld-Kq for bug-gnu-emacs@gnu.org; Thu, 21 Aug 2014 10:42:13 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XKTYw-0004fa-Kz for bug-gnu-emacs@gnu.org; Thu, 21 Aug 2014 10:42:08 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:42101) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XKTYw-0004fO-Hr for bug-gnu-emacs@gnu.org; Thu, 21 Aug 2014 10:42:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1XKTYw-0004Dj-1B for bug-gnu-emacs@gnu.org; Thu, 21 Aug 2014 10:42:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 21 Aug 2014 14:42:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 18051 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 18051-submit@debbugs.gnu.org id=B18051.140863209316189 (code B ref 18051); Thu, 21 Aug 2014 14:42:01 +0000 Original-Received: (at 18051) by debbugs.gnu.org; 21 Aug 2014 14:41:33 +0000 Original-Received: from localhost ([127.0.0.1]:49044 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XKTYT-0004D1-3z for submit@debbugs.gnu.org; Thu, 21 Aug 2014 10:41:33 -0400 Original-Received: from mtaout21.012.net.il ([80.179.55.169]:63572) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XKTYQ-0004Ck-B0 for 18051@debbugs.gnu.org; Thu, 21 Aug 2014 10:41:31 -0400 Original-Received: from conversion-daemon.a-mtaout21.012.net.il by a-mtaout21.012.net.il (HyperSendmail v2007.08) id <0NAN00J00V4CTQ00@a-mtaout21.012.net.il> for 18051@debbugs.gnu.org; Thu, 21 Aug 2014 17:41:23 +0300 (IDT) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout21.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NAN00JGXVGZIN70@a-mtaout21.012.net.il>; Thu, 21 Aug 2014 17:41:23 +0300 (IDT) In-reply-to: <87y4uixleg.fsf@gmx.de> X-012-Sender: halo1@inter.net.il X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:92567 Archived-At: > From: Michael Albinus > Cc: michael_heerdegen@web.de, 18051@debbugs.gnu.org > Date: Thu, 21 Aug 2014 11:05:43 +0200 > > >> So what, maybe it is sufficient to take over the implementation from > >> glib, indeed. There's not too much logic added there, and we would avoid > >> the glib dependency. > > > > That's what I had in mind, yes. > > Finally, I came out with the appended patch. Comments appreciated. Thanks. I have 2 comments: . I suggest to factor out the part that converts to wchar_t, sets up the locale, and calls strcoll. The code you wrote makes certain assumptions about 'setlocale', and also about the wchar_t representation. Factoring those system-dependent parts out will minimize the number of #ifdef's needed to provide such features for other platforms. . I think glibc has a 'newlocale' API that is better suited to this kind of jobs. In particular, 'setlocale' changes the locale of the entire program, which is bad news for other threads that might be using some locale-aware functions while the main thread calls string-collate-lessp. (We have more than 1 thread in Emacs built with GTK, for example, and who knows what those threads might be doing?)