From mboxrd@z Thu Jan  1 00:00:00 1970
Path: news.gmane.org!not-for-mail
From: Richard Stallman <rms@gnu.org>
Newsgroups: gmane.emacs.devel
Subject: Re: Structural regular expressions
Date: Sat, 11 Sep 2010 11:49:57 -0400
Message-ID: <E1OuSKz-0004vv-Gp@fencepost.gnu.org>
References: <loom.20100907T212314-566@post.gmane.org>
	<AANLkTimYvE0aqrG-OQxuY6BTca7ngzrfQUa62mOxyV=+@mail.gmail.com>
	<loom.20100907T222143-475@post.gmane.org>
	<87sk1lt4uf.fsf@gmail.com> <jwvsk1kaav2.fsf-monnier+emacs@gnu.org>
	<pvhphbi0wq0d.fsf@gmx.li> <jwvlj7c9ura.fsf-monnier+emacs@gnu.org>
	<46875.130.55.118.19.1284065220.squirrel@webmail.lanl.gov>
	<AANLkTimUS7zL77TGiWoEdS+=nuww=TSABKMZuSiYPaCc@mail.gmail.com>
	<E1Ou5lY-0006Jj-MB@fencepost.gnu.org>
	<AANLkTi=dv8n40x-rTtz@mail.gmail.com>
	<loom.20100910T221237-941@post.gmane.org>
Reply-To: rms@gnu.org
NNTP-Posting-Host: lo.gmane.org
Content-Type: text/plain; charset=ISO-8859-15
X-Trace: dough.gmane.org 1284220212 9817 80.91.229.12 (11 Sep 2010 15:50:12 GMT)
X-Complaints-To: usenet@dough.gmane.org
NNTP-Posting-Date: Sat, 11 Sep 2010 15:50:12 +0000 (UTC)
Cc: emacs-devel@gnu.org
To: Tom <levelhalom@gmail.com>
Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Sep 11 17:50:07 2010
Return-path: <emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org>
Envelope-to: ged-emacs-devel@m.gmane.org
Original-Received: from lists.gnu.org ([199.232.76.165])
	by lo.gmane.org with esmtp (Exim 4.69)
	(envelope-from <emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org>)
	id 1OuSL8-0003KG-JT
	for ged-emacs-devel@m.gmane.org; Sat, 11 Sep 2010 17:50:06 +0200
Original-Received: from localhost ([127.0.0.1]:51496 helo=lists.gnu.org)
	by lists.gnu.org with esmtp (Exim 4.43)
	id 1OuSL7-00068r-W0
	for ged-emacs-devel@m.gmane.org; Sat, 11 Sep 2010 11:50:06 -0400
Original-Received: from [140.186.70.92] (port=52477 helo=eggs.gnu.org)
	by lists.gnu.org with esmtp (Exim 4.43) id 1OuSKx-00066N-7E
	for emacs-devel@gnu.org; Sat, 11 Sep 2010 11:49:56 -0400
Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69)
	(envelope-from <rms@gnu.org>) id 1OuSKt-0007qH-La
	for emacs-devel@gnu.org; Sat, 11 Sep 2010 11:49:52 -0400
Original-Received: from fencepost.gnu.org ([140.186.70.10]:51548)
	by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from <rms@gnu.org>)
	id 1OuSKt-0007qB-Id
	for emacs-devel@gnu.org; Sat, 11 Sep 2010 11:49:51 -0400
Original-Received: from rms by fencepost.gnu.org with local (Exim 4.69)
	(envelope-from <rms@gnu.org>)
	id 1OuSKz-0004vv-Gp; Sat, 11 Sep 2010 11:49:57 -0400
In-reply-to: <loom.20100910T221237-941@post.gmane.org> (message from Tom on
	Fri, 10 Sep 2010 20:29:45 +0000 (UTC))
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3)
X-BeenThere: emacs-devel@gnu.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Emacs development discussions." <emacs-devel.gnu.org>
List-Unsubscribe: <http://lists.gnu.org/mailman/listinfo/emacs-devel>,
	<mailto:emacs-devel-request@gnu.org?subject=unsubscribe>
List-Archive: <http://lists.gnu.org/archive/html/emacs-devel>
List-Post: <mailto:emacs-devel@gnu.org>
List-Help: <mailto:emacs-devel-request@gnu.org?subject=help>
List-Subscribe: <http://lists.gnu.org/mailman/listinfo/emacs-devel>,
	<mailto:emacs-devel-request@gnu.org?subject=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
Xref: news.gmane.org gmane.emacs.devel:129988
Archived-At: <http://permalink.gmane.org/gmane.emacs.devel/129988>

Thanks for the explanation.  I think the term "structural regular expressions"
is misleading because its grammatical construction implies a different
kind of regexp, rather than a different way of applying them.

    V/pattern  select all matches
    V|pattern  select all lines with match
    V{scope    select all matching scopes
    Vatype     select all objects (inclusive)
    Vttype     select all objects (exclusive)
    Y/pattern  select everything but matches
    Y|pattern  select all lines without match
    Y{scope    select everything but scope
    Yatype     select everything but objects (inclusive)
    Yttype     select everything but objects (exclusive)

Are `V/' etc. literal, or do they stand for some other text?

Where would this syntax be used?