From unknown Sat Jun 14 03:52:24 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#8516 <8516@debbugs.gnu.org> To: bug#8516 <8516@debbugs.gnu.org> Subject: Status: nxml-mode: pattern matching should be case-sensitive in validation Reply-To: bug#8516 <8516@debbugs.gnu.org> Date: Sat, 14 Jun 2025 10:52:24 +0000 retitle 8516 nxml-mode: pattern matching should be case-sensitive in valida= tion reassign 8516 emacs submitter 8516 Rob Browning severity 8516 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 17 15:09:46 2011 Received: (at submit) by debbugs.gnu.org; 17 Apr 2011 19:09:46 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QBXLt-0000Fc-Ny for submit@debbugs.gnu.org; Sun, 17 Apr 2011 15:09:46 -0400 Received: from eggs.gnu.org ([140.186.70.92]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QBXLr-0000FS-Vb for submit@debbugs.gnu.org; Sun, 17 Apr 2011 15:09:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QBXLl-0000Sv-F8 for submit@debbugs.gnu.org; Sun, 17 Apr 2011 15:09:38 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.4 required=5.0 tests=BAYES_00,FAKE_REPLY_C, T_RP_MATCHES_RCVD autolearn=unavailable version=3.3.1 Received: from lists.gnu.org ([140.186.70.17]:41407) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QBXLl-0000Sr-Di for submit@debbugs.gnu.org; Sun, 17 Apr 2011 15:09:37 -0400 Received: from eggs.gnu.org ([140.186.70.92]:36517) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QBXLk-00058m-DM for bug-gnu-emacs@gnu.org; Sun, 17 Apr 2011 15:09:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QBXLi-0000SN-5o for bug-gnu-emacs@gnu.org; Sun, 17 Apr 2011 15:09:36 -0400 Received: from defaultvalue.org ([70.85.129.156]:48167) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QBXLi-0000SH-1e for bug-gnu-emacs@gnu.org; Sun, 17 Apr 2011 15:09:34 -0400 Received: from omen.defaultvalue.org (localhost [127.0.0.1]) by defaultvalue.org (Postfix) with ESMTP id B9E3A90D35; Sun, 17 Apr 2011 14:11:03 -0500 (CDT) Received: from raven.defaultvalue.org (raven.defaultvalue.org [192.168.1.7]) by omen.defaultvalue.org (Postfix) with ESMTP id 0D7A850069; Sun, 17 Apr 2011 14:09:33 -0500 (CDT) Received: by raven.defaultvalue.org (Postfix, from userid 1000) id F028D7BAB9F; Sun, 17 Apr 2011 14:09:32 -0500 (CDT) From: Rob Browning To: bug-gnu-emacs@gnu.org Subject: Re: nxml-mode: pattern matching should be case-sensitive in validation Date: Sun, 17 Apr 2011 14:09:32 -0500 Message-ID: <87ipucoftf.fsf@raven.defaultvalue.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 140.186.70.17 X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: submit Cc: 288147-forwarded@bugs.debian.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -5.0 (-----) (If possible, please preserve the 288147-forwarded address in any replies.) Vincent Lefevre writes: > Consider the following example: > ay:~> cat test.xml > > Test > ay:~> cat test.rnc > default namespace = "" > start = element root { xsd:normalizedString { pattern = "[a-z]*" } } > When test.xml is opened in emacs, nxml-mode says that the file is valid, > though the root element contains a "T". If I add ASCII letters (either > lowercase or uppercase), it still says that the file is valid, but as > soon as I add a non-letter character, nxml-mode says that the file is > invalid, as expected. > As a comparison, here's what I get with xmllint: > ay:~> trang test.rnc test.rng > ay:~> xmllint --noout --relaxng test.rng test.xml > test.xml:2: element root: Relax-NG validity error : Error validating datatype normalizedString > test.xml:2: element root: Relax-NG validity error : Element root failed to validate content > test.xml fails to validate Please see http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=288147 for further information. Thanks -- Rob Browning rlb @defaultvalue.org and @debian.org GPG as of 2002-11-03 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4 From debbugs-submit-bounces@debbugs.gnu.org Mon Apr 18 06:53:39 2011 Received: (at 8516) by debbugs.gnu.org; 18 Apr 2011 10:53:40 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QBm5L-0004uO-4c for submit@debbugs.gnu.org; Mon, 18 Apr 2011 06:53:39 -0400 Received: from nougat.ucs.ed.ac.uk ([129.215.13.205]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QBm5H-0004u9-6M for 8516@debbugs.gnu.org; Mon, 18 Apr 2011 06:53:36 -0400 Received: from lmtp1.ucs.ed.ac.uk (lmtp1.ucs.ed.ac.uk [129.215.149.64]) by nougat.ucs.ed.ac.uk (8.13.8/8.13.4) with ESMTP id p3IAr0dR013922; Mon, 18 Apr 2011 11:53:05 +0100 (BST) Received: from e4300lm.epcc.ed.ac.uk (e4300lm.epcc.ed.ac.uk [129.215.63.156]) (authenticated user=lmitche4 mech=PLAIN bits=0) by lmtp1.ucs.ed.ac.uk (8.13.8/8.13.7) with ESMTP id p3IAqgJo006204 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Mon, 18 Apr 2011 11:52:55 +0100 (BST) From: Lawrence Mitchell To: 8516@debbugs.gnu.org Subject: Re: bug#8516: nxml-mode: pattern matching should be case-sensitive in validation References: <87ipucoftf.fsf@raven.defaultvalue.org> Date: Mon, 18 Apr 2011 11:52:42 +0100 In-Reply-To: <87ipucoftf.fsf@raven.defaultvalue.org> (Rob Browning's message of "Sun, 17 Apr 2011 14:09:32 -0500") Message-ID: User-Agent: Gnus/5.110016 (No Gnus v0.16) Emacs/24.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Edinburgh-Scanned: at nougat.ucs.ed.ac.uk with MIMEDefang 2.60, Sophie, Sophos Anti-Virus, Clam AntiVirus X-Scanned-By: MIMEDefang 2.60 on 129.215.13.205 X-Scanned-By: MIMEDefang 2.52 on 129.215.149.64 X-Spam-Score: -5.4 (-----) X-Debbugs-Envelope-To: 8516 Cc: 288147-forwarded@bugs.debian.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -5.4 (-----) Rob Browning wrote: > (If possible, please preserve the 288147-forwarded address in any replies.) > Vincent Lefevre writes: >> Consider the following example: >> ay:~> cat test.xml >> >> Test >> ay:~> cat test.rnc >> default namespace = "" >> start = element root { xsd:normalizedString { pattern = "[a-z]*" } } >> When test.xml is opened in emacs, nxml-mode says that the file is valid, >> though the root element contains a "T". If I add ASCII letters (either >> lowercase or uppercase), it still says that the file is valid, but as >> soon as I add a non-letter character, nxml-mode says that the file is >> invalid, as expected. >> As a comparison, here's what I get with xmllint: >> ay:~> trang test.rnc test.rng >> ay:~> xmllint --noout --relaxng test.rng test.xml >> test.xml:2: element root: Relax-NG validity error : Error validating >> datatype normalizedString >> test.xml:2: element root: Relax-NG validity error : Element root >> failed to validate content >> test.xml fails to validate > Please see http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=288147 for > further information. The various string-checking functions in rng-xsd.el probably need to wrap string-match calls in a (let ((case-fold-search nil)) ...) To fix this particular problem, replace rng-xsd-check-pattern by: (defun rng-xsd-check-pattern (str regexp convert &rest args) (let ((case-fold-search nil)) (and (string-match regexp str) (apply convert (cons str args))))) Lawrence -- Lawrence Mitchell From debbugs-submit-bounces@debbugs.gnu.org Mon Apr 18 12:11:15 2011 Received: (at 8516) by debbugs.gnu.org; 18 Apr 2011 16:11:15 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QBr2g-0004NB-63 for submit@debbugs.gnu.org; Mon, 18 Apr 2011 12:11:15 -0400 Received: from mail-yw0-f44.google.com ([209.85.213.44]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QBlFt-0003fy-5v for 8516@debbugs.gnu.org; Mon, 18 Apr 2011 06:00:29 -0400 Received: by ywi6 with SMTP id 6so1233670ywi.3 for <8516@debbugs.gnu.org>; Mon, 18 Apr 2011 03:00:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:date:message-id:from:to:subject; bh=RXyyQH0Hiu8aqzxCkVoY0H2bgWUbwZBgbVv/pYV5Va8=; b=HKLYc/xAtYCZk7YvRzxK0Mo7viqhAKMbmW2ZxG2NTmmHShD2JhqL2uKHmW41mrkk05 m5mqY4g/r5eqkK+lLD7ceQA/htt8uFu7YxHt/g16Doi3tuKl8Ku9UKPlyHD/N2Vqgi48 nw7CStDNAL60KJVADTgZK8d66C21MU2SkYYk4= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=date:message-id:from:to:subject; b=hXDbb2OZKVHDkCItlXVv+DtR1YT4Sa+trVUs1iYa9uwCjBkfbS7y3CESyKEJyBdljE x8oAAoYP+9DNtm7mO2RaPn8sc3TIhiOhH0fPYkNTQVz/i9642zSC8j0EZ1sRcT08DlQI HWXzw0kDaH5+rGDc862D0MpITHEltcgdtudfQ= Received: by 10.236.78.199 with SMTP id g47mr3541305yhe.290.1303120823746; Mon, 18 Apr 2011 03:00:23 -0700 (PDT) Received: from sylecn (cpe-70-112-211-195.austin.res.rr.com [70.112.211.195]) by mx.google.com with ESMTPS id f50sm2210163yhc.79.2011.04.18.03.00.21 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 18 Apr 2011 03:00:22 -0700 (PDT) Received: from sylecn by sylecn with local (Exim 4.72) (envelope-from ) id 1QBlFg-00015y-RY for 8516@debbugs.gnu.org; Mon, 18 Apr 2011 05:00:16 -0500 Date: Mon, 18 Apr 2011 05:00:16 -0500 Message-Id: From: Yuanle Song To: 8516@debbugs.gnu.org Subject: Re: bug#8516: nxml-mode: pattern matching should be case-sensitive in validation X-Spam-Score: -3.6 (---) X-Debbugs-Envelope-To: 8516 X-Mailman-Approved-At: Mon, 18 Apr 2011 12:11:13 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -3.6 (---) I think it's because string-match ignore case when case-fold-search is t (which is the default), so greped a little on nxml dir and found the following function may be the problem. But I haven't read the how the whole file and don't know how nxml validation works, so some one more knowledgeable should verify this is the right thing to do. I tested on the test.xml and test.rnc and after this patch, capitalized "Test" will result an invalid xml file. Thanks, Yuanle --- /home/sylecn/fromsource/emacs-23.3/lisp/nxml/rng-xsd.el 2011-01-08 11:45:14.000000000 -0600 +++ /home/sylecn/fromsource/emacs/lisp/nxml/rng-xsd.el 2011-04-18 04:35:08.135816534 -0500 @@ -238,7 +238,7 @@ obj))) (defun rng-xsd-check-pattern (str regexp convert &rest args) - (and (string-match regexp str) + (and (let (case-fold-search) (string-match regexp str)) (apply convert (cons str args)))) From debbugs-submit-bounces@debbugs.gnu.org Sun May 22 15:47:15 2011 Received: (at 8516) by debbugs.gnu.org; 22 May 2011 19:47:16 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QOEcN-00018B-0Q for submit@debbugs.gnu.org; Sun, 22 May 2011 15:47:15 -0400 Received: from vm-emlprdomr-03.its.yale.edu ([130.132.50.144]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QOEcK-00017y-QD for 8516@debbugs.gnu.org; Sun, 22 May 2011 15:47:13 -0400 Received: from furball ([64.134.241.242]) (authenticated bits=0) by vm-emlprdomr-03.its.yale.edu (8.14.4/8.14.4) with ESMTP id p4MJl790032378 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Sun, 22 May 2011 15:47:07 -0400 Received: by furball (Postfix, from userid 1000) id D9988160554; Sun, 22 May 2011 15:47:06 -0400 (EDT) From: Chong Yidong To: Yuanle Song Subject: Re: bug#8516: nxml-mode: pattern matching should be case-sensitive in validation References: <87ipucoftf.fsf@raven.defaultvalue.org> Date: Sun, 22 May 2011 15:47:06 -0400 In-Reply-To: (Yuanle Song's message of "Mon, 18 Apr 2011 05:00:16 -0500") Message-ID: <87ei3qwm9x.fsf@stupidchicken.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Scanned-By: MIMEDefang 2.71 on 130.132.50.144 X-Spam-Score: -2.6 (--) X-Debbugs-Envelope-To: 8516 Cc: 8516@debbugs.gnu.org, Rob Browning X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.6 (--) Yuanle Song writes: > I think it's because string-match ignore case when case-fold-search is t > (which is the default), so greped a little on nxml dir and found the > following function may be the problem. But I haven't read the how the > whole file and don't know how nxml validation works, so some one more > knowledgeable should verify this is the right thing to do. > > I tested on the test.xml and test.rnc and after this patch, capitalized > "Test" will result an invalid xml file. Patch looks right to me. Committed to the Emacs repository trunk, thanks. From debbugs-submit-bounces@debbugs.gnu.org Sun May 22 15:47:53 2011 Received: (at control) by debbugs.gnu.org; 22 May 2011 19:47:54 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QOEcz-00018w-8T for submit@debbugs.gnu.org; Sun, 22 May 2011 15:47:53 -0400 Received: from vm-emlprdomr-05.its.yale.edu ([130.132.50.146]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QOEcx-00018k-31 for control@debbugs.gnu.org; Sun, 22 May 2011 15:47:51 -0400 Received: from furball ([64.134.241.242]) (authenticated bits=0) by vm-emlprdomr-05.its.yale.edu (8.14.4/8.14.4) with ESMTP id p4MJljwU000354 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT) for ; Sun, 22 May 2011 15:47:45 -0400 Received: by furball (Postfix, from userid 1000) id 95ABD160554; Sun, 22 May 2011 15:47:45 -0400 (EDT) From: Chong Yidong To: control@debbugs.gnu.org Subject: close 8516 Date: Sun, 22 May 2011 15:47:45 -0400 Message-ID: <877h9i34bi.fsf@stupidchicken.com> MIME-Version: 1.0 Content-Type: text/plain X-Scanned-By: MIMEDefang 2.71 on 130.132.50.146 X-Spam-Score: -2.6 (--) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.6 (--) close 8516 thanks From unknown Sat Jun 14 03:52:24 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Mon, 20 Jun 2011 11:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator