summaryrefslogtreecommitdiffstats
path: root/tcsh-6.18.02-syntax.patch
diff options
context:
space:
mode:
authorPavel Raiskup <praiskup@redhat.com>2014-07-28 15:51:13 +0200
committerPavel Raiskup <praiskup@redhat.com>2014-07-28 16:00:39 +0200
commitde6fcbdb464b70b4b826bf9716e550e5c4a08c0d (patch)
treed1af2b87ca1ee88fb898e8d6953db5d83815b139 /tcsh-6.18.02-syntax.patch
parentb6eaa4ebf20e0314f16514a1d36e2e7ade46718c (diff)
downloadtcsh-rebase-6.19.00-de6fcbdb464b70b4b826bf9716e550e5c4a08c0d.tar.gz
tcsh-rebase-6.19.00-de6fcbdb464b70b4b826bf9716e550e5c4a08c0d.tar.xz
tcsh-rebase-6.19.00-de6fcbdb464b70b4b826bf9716e550e5c4a08c0d.zip
rebase: to beta version (testing purposes only)
Some changes in packaging: - %patch ~> %autosetup (git format-patch diff format) - using upstream version of history file locking - upstream testsuite enabled Version: 6.18.02-1
Diffstat (limited to 'tcsh-6.18.02-syntax.patch')
-rw-r--r--tcsh-6.18.02-syntax.patch60
1 files changed, 60 insertions, 0 deletions
diff --git a/tcsh-6.18.02-syntax.patch b/tcsh-6.18.02-syntax.patch
new file mode 100644
index 0000000..eac52fd
--- /dev/null
+++ b/tcsh-6.18.02-syntax.patch
@@ -0,0 +1,60 @@
+From 182f5748ef86df48710a58e48567fee61b822e6e Mon Sep 17 00:00:00 2001
+From: vcrhonek <vcrhonek@fedoraproject.org>
+Date: Thu, 24 Jul 2014 17:45:18 +0200
+Subject: [PATCH 4/8] while loop counting
+
+Fix tcsh scripts with multiple case statement with end keywords
+break with error.
+
+TODO: This patch reverts upstream commit a973723e from 2004-05-13.
+We should make sure that this is going to be fixed properly
+upstream.
+
+Resolves: #253247
+original dist-git commit: 1bcd8ea591286664483d0aea2601a8729eb6b81f
+
+---
+ sh.func.c | 13 -------------
+ 1 file changed, 13 deletions(-)
+
+diff --git a/sh.func.c b/sh.func.c
+index 3e4d576..6afdd01 100644
+--- a/sh.func.c
++++ b/sh.func.c
+@@ -754,8 +754,6 @@ search(int type, int level, Char *goal)
+ {
+ struct Strbuf word = Strbuf_INIT;
+ Char *cp;
+- struct whyle *wp;
+- int wlevel = 0;
+ struct wordent *histent = NULL, *ohistent = NULL;
+
+ Stype = type;
+@@ -821,24 +819,13 @@ search(int type, int level, Char *goal)
+
+ case TC_FOREACH:
+ case TC_WHILE:
+- wlevel++;
+ if (type == TC_BREAK)
+ level++;
+ break;
+
+ case TC_END:
+- if (type == TC_BRKSW) {
+- if (wlevel == 0) {
+- wp = whyles;
+- if (wp) {
+- whyles = wp->w_next;
+- wpfree(wp);
+- }
+- }
+- }
+ if (type == TC_BREAK)
+ level--;
+- wlevel--;
+ break;
+
+ case TC_SWITCH:
+--
+1.9.3
+