From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/59727 Path: main.gmane.org!not-for-mail From: Richard Stallman Newsgroups: gmane.emacs.devel,gmane.emacs.gnus.general Subject: Re: re-search bug? Date: Sat, 05 Feb 2005 12:39:15 -0500 Message-ID: References: <200502030223.LAA24558@etlken.m17n.org> <200502040114.KAA29556@etlken.m17n.org> <87mzukl91u.fsf-monnier+emacs@gnu.org> Reply-To: rms@gnu.org NNTP-Posting-Host: main.gmane.org X-Trace: sea.gmane.org 1107625620 8201 80.91.229.2 (5 Feb 2005 17:47:00 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Sat, 5 Feb 2005 17:47:00 +0000 (UTC) Cc: yamaoka@jpl.org, emacs-devel@gnu.org, ding@gnus.org, handa@m17n.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Feb 05 18:46:59 2005 Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1CxU1A-0007rA-LA for ged-emacs-devel@m.gmane.org; Sat, 05 Feb 2005 18:46:48 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1CxUEw-0006p0-2s for ged-emacs-devel@m.gmane.org; Sat, 05 Feb 2005 13:01:02 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1CxUEB-0006UW-TP for emacs-devel@gnu.org; Sat, 05 Feb 2005 13:00:15 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1CxUE5-0006QP-Ts for emacs-devel@gnu.org; Sat, 05 Feb 2005 13:00:10 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1CxUE5-0006QM-Ke for emacs-devel@gnu.org; Sat, 05 Feb 2005 13:00:09 -0500 Original-Received: from [199.232.76.164] (helo=fencepost.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.34) id 1CxTwv-0007t2-NL for emacs-devel@gnu.org; Sat, 05 Feb 2005 12:42:25 -0500 Original-Received: from rms by fencepost.gnu.org with local (Exim 4.34) id 1CxTtr-0001e3-IE; Sat, 05 Feb 2005 12:39:15 -0500 Original-To: Stefan Monnier In-reply-to: <87mzukl91u.fsf-monnier+emacs@gnu.org> (message from Stefan Monnier on Fri, 04 Feb 2005 09:03:59 -0500) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org X-MailScanner-To: ged-emacs-devel@m.gmane.org Xref: main.gmane.org gmane.emacs.devel:32908 gmane.emacs.gnus.general:59727 X-Report-Spam: http://spam.gmane.org/gmane.emacs.gnus.general:59727 That's what I would expect. I think even the definition of "case fold search" is not as obvious as it seems. Does it mean (equal (upcase X) (upcase Y)) or (equal (downcase X) (downcase Y)) or something yet different? Neither of those. It is supposed to find matches whenever the characters are connected by any sequence of case conversions. This uses the canon table and the equiv table. In search_buffer and its subroutines, TRT refers to the canon table, and INVERSE_TRT refers to the equiv table. So the table passed to regex searching is the canon table. Definitions of these two tables: CANONICALIZE maps each character to a canonical equivalent; any two characters that are related by case-conversion have the same canonical equivalent character... EQUIVALENCES is a map that cyclicly permutes each equivalence class (of characters with the same canonical equivalent)... A good first step would be to look at the canon and equiv table contents, in the case that fails, and see if they correspond correctly to the upcase and downcase tables.