From mboxrd@z Thu Jan  1 00:00:00 1970
Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org)
	by finch.gentoo.org with esmtp (Exim 4.60)
	(envelope-from <gentoo-commits+bounces-357002-garchives=archives.gentoo.org@lists.gentoo.org>)
	id 1QaQ8J-0006YU-TZ
	for garchives@archives.gentoo.org; Sat, 25 Jun 2011 10:30:36 +0000
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id 7A4AC1C04A;
	Sat, 25 Jun 2011 10:30:18 +0000 (UTC)
Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183])
	by pigeon.gentoo.org (Postfix) with ESMTP id 4659A1C03D
	for <gentoo-commits@lists.gentoo.org>; Sat, 25 Jun 2011 10:30:18 +0000 (UTC)
Received: from pelican.gentoo.org (unknown [66.219.59.40])
	(using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by smtp.gentoo.org (Postfix) with ESMTPS id B4D021B4017
	for <gentoo-commits@lists.gentoo.org>; Sat, 25 Jun 2011 10:30:17 +0000 (UTC)
Received: from localhost.localdomain (localhost [127.0.0.1])
	by pelican.gentoo.org (Postfix) with ESMTP id 8F14B80040
	for <gentoo-commits@lists.gentoo.org>; Sat, 25 Jun 2011 10:30:16 +0000 (UTC)
From: "Petteri Räty" <betelgeuse@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Content-type: text/plain; charset=UTF-8
Reply-To: gentoo-dev@lists.gentoo.org, "Petteri Räty" <betelgeuse@gentoo.org>
Message-ID: <d346fde50e1ef43c00ae2a76449b3f9dc0207ccb.betelgeuse@gentoo>
Subject: [gentoo-commits] proj/libbash:master commit in: scripts/, bashast/
X-VCS-Repository: proj/libbash
X-VCS-Files: bashast/libbashWalker.g scripts/binary_arithmetic.bash scripts/binary_arithmetic.bash.result
X-VCS-Directories: scripts/ bashast/
X-VCS-Committer: betelgeuse
X-VCS-Committer-Name: Petteri Räty
X-VCS-Revision: d346fde50e1ef43c00ae2a76449b3f9dc0207ccb
Date: Sat, 25 Jun 2011 10:30:16 +0000 (UTC)
Precedence: bulk
List-Post: <mailto:gentoo-commits@lists.gentoo.org>
List-Help: <mailto:gentoo-commits+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org>
X-BeenThere: gentoo-commits@lists.gentoo.org
Content-Transfer-Encoding: quoted-printable
X-Archives-Salt: 
X-Archives-Hash: d55e815d80c501bb2677d60814a8d5c5

commit:     d346fde50e1ef43c00ae2a76449b3f9dc0207ccb
Author:     Mu Qiao <qiaomuf <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 20 09:59:39 2011 +0000
Commit:     Petteri R=C3=A4ty <betelgeuse <AT> gentoo <DOT> org>
CommitDate: Wed Jun 22 11:53:01 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=3Dproj/libbash.git;a=
=3Dcommit;h=3Dd346fde5

Walker: support shortcut capability for logic and

---
 bashast/libbashWalker.g               |   12 +++++++++++-
 scripts/binary_arithmetic.bash        |    1 +
 scripts/binary_arithmetic.bash.result |    1 +
 3 files changed, 13 insertions(+), 1 deletions(-)

diff --git a/bashast/libbashWalker.g b/bashast/libbashWalker.g
index 99d7f53..d6a6dca 100644
--- a/bashast/libbashWalker.g
+++ b/bashast/libbashWalker.g
@@ -972,7 +972,17 @@ arithmetics returns[int value]
 			$value =3D (arithmetics(ctx) !=3D 0);
 		}
 	})
-	|^(LOGICAND l=3Darithmetics r=3Darithmetics) { $value =3D l && r; }
+	|^(LOGICAND l=3Darithmetics {
+		if(!l)
+		{
+			skip_next_token_or_tree(ctx);
+			$value =3D 0;
+		}
+		else
+		{
+			$value =3D (arithmetics(ctx) !=3D 0);
+		}
+	})
 	|^(PIPE l=3Darithmetics r=3Darithmetics) { $value =3D l | r; }
 	|^(CARET l=3Darithmetics r=3Darithmetics) { $value =3D l ^ r; }
 	|^(AMP l=3Darithmetics r=3Darithmetics) { $value =3D l & r; }

diff --git a/scripts/binary_arithmetic.bash b/scripts/binary_arithmetic.b=
ash
index 114655a..577ddbc 100644
--- a/scripts/binary_arithmetic.bash
+++ b/scripts/binary_arithmetic.bash
@@ -64,3 +64,4 @@ FOO058=3D"$((${FOO056}+=3D10))"
 ARRAY=3D(1 2 3 4 5)
 FOO059=3D"$((100**0))"
 FOO060=3D"$((FOO059||FOO059++))"
+FOO061=3D"$((0&&FOO059++))"

diff --git a/scripts/binary_arithmetic.bash.result b/scripts/binary_arith=
metic.bash.result
index 740548d..926b23a 100644
--- a/scripts/binary_arithmetic.bash.result
+++ b/scripts/binary_arithmetic.bash.result
@@ -59,5 +59,6 @@ FOO057=3D100
 FOO058=3D111
 FOO059=3D1
 FOO060=3D1
+FOO061=3D0
 PARTIAL=3D5
 value=3D111