From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel,gmane.emacs.help Subject: Re: Single quotes in Info Date: Tue, 27 Jan 2015 20:04:09 +0200 Message-ID: <83h9vcp0bq.fsf@gnu.org> References: <87twzhgk84.fsf@wmi.amu.edu.pl> <83lhksshdm.fsf@gnu.org> <9ee0c895-a178-40e1-b1c8-ed2b97071c6b@default> <87h9vgglkz.fsf@wmi.amu.edu.pl> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: QUOTED-PRINTABLE X-Trace: ger.gmane.org 1422381890 23478 80.91.229.3 (27 Jan 2015 18:04:50 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 27 Jan 2015 18:04:50 +0000 (UTC) Cc: help-gnu-emacs@gnu.org, emacs-devel@gnu.org, mbork@wmi.amu.edu.pl To: bruce.connor.am@gmail.com Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Jan 27 19:04:44 2015 Return-path: Envelope-to: ged-emacs-devel@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 1YGAVI-0008FR-B3 for ged-emacs-devel@m.gmane.org; Tue, 27 Jan 2015 19:04:44 +0100 Original-Received: from localhost ([::1]:48992 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YGAVH-0001Gd-JV for ged-emacs-devel@m.gmane.org; Tue, 27 Jan 2015 13:04:43 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:36330) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YGAUz-0001FG-3Q for emacs-devel@gnu.org; Tue, 27 Jan 2015 13:04:29 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YGAUv-0000GL-Gf for emacs-devel@gnu.org; Tue, 27 Jan 2015 13:04:25 -0500 Original-Received: from mtaout28.012.net.il ([80.179.55.184]:38936) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YGAUv-0000FL-4e; Tue, 27 Jan 2015 13:04:21 -0500 Original-Received: from conversion-daemon.mtaout28.012.net.il by mtaout28.012.net.il (HyperSendmail v2007.08) id <0NIU00H00KFWOM00@mtaout28.012.net.il>; Tue, 27 Jan 2015 20:02:28 +0200 (IST) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout28.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NIU00HGHKS3LT10@mtaout28.012.net.il>; Tue, 27 Jan 2015 20:02:28 +0200 (IST) In-reply-to: X-012-Sender: halo1@inter.net.il X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 80.179.55.184 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:181843 gmane.emacs.help:102312 Archived-At: > Date: Tue, 27 Jan 2015 14:27:45 -0200 > From: Artur Malabarba > Cc: Eli Zaretskii , help-gnu-emacs >=20 > I also really like this idea, so much so that I've gone ahead and > implemented it. It is implemented on the branch > `scratch/isearch-character-group-folding'. I called it group-foldin= g, > but we can call it class folding or whatever sounds more intuitive = to > most people. I didn't yet have time to look at the source, so apologies if what's below is off the mark. > The implementation is very much up for debate. Currently, what it d= oes > is use regexps (behind the scenes) so that a plain double quote > matches all those unicode double quotes, and the same for a hard > single quote. The way it is written, it is trivial to add more grou= ps > by adding entries to `isearch-groups-alist'. > Of course, other characters are appropriately regexp-quoted behind = the > scenes, so that everything else works as expected. The surface is > exactly like regular isearch, except for these two characters. If this is implemented in isearch, then IMO doing it for quotes alone makes very little sense. It would make a lot of sense if it were implemented in info.el, for searching Info manuals (in which case it should also support the other Unicode characters produced by makeinfo that have ASCII equivalents, like =E2=87=92 vs =3D>. (Note that this= is not character-for-character equivalence anymore.) For a general-purpose search feature, we'd need a much more general-purpose and versatile implementation. > The set of groups is defined by `isearch-groups-alist', and the > folding only happens if `isearch-fold-groups' is non-nil. > Other groups that maybe should be added are latin accented letters. If we do this via our private database, that database is going to be huge. I suggest to explore an alternative implementation, which uses canonical equivalence. We already have infrastructure for that, see the description of the 'decomposition' character property in the ELis= p manual.