www.delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2001/02/13/21:25:14

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin AT sources DOT redhat DOT com
Message-ID: <003201c0962c$fcb8f0c0$e682edc1@deepsleep>
From: "Mad Dave" <dave AT ook DOT demon DOT co DOT uk>
To: <cygwin AT cygwin DOT com>
Cc: <dave AT ook DOT demon DOT co DOT uk>
Subject: 1.1.8 bug with TCSH 6.10 ( using shell built-in commands )
Date: Wed, 14 Feb 2001 02:22:31 -0000
MIME-Version: 1.0
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 5.50.4133.2400
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400

------=_NextPart_000_002F_01C0962C.FC3282B0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

I am having a problem when I source a shell script which sources another
shell script which contains a foreach loop which contains a big switch
statement.  I think this effects other tcsh versions as well ( such as
6.08 ).

I have attached 2 files which should reproduce the problem.  Type: source
file1.tcsh to reproduce it.  All the first file does is source the second
file, and it causes a problem, but if you source the second file directly it
works fine.  Also if you remove any of the echo statements from the second
file it will work fine, which tends to surgest its the size of the foreach +
switch statement.

If I run with the tcsh -x option it produces the following output.

> source file1.tcsh
source file1.tcsh
source file2.tcsh
set vqaargs = ( 8_0 9_0 10_0 )
foreach vqaarg ( 8_0 9_0 10_0 )
switch ( 8_0 )
echo 8
8
breaksw
end
Too many )'s.

I have reproduced this on two NT4 SP6a machines and two Win2k ( one with
SP1 ) machines.


------=_NextPart_000_002F_01C0962C.FC3282B0
Content-Type: application/octet-stream;
	name="file1.tcsh"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="file1.tcsh"

source file2.tcsh

------=_NextPart_000_002F_01C0962C.FC3282B0
Content-Type: application/octet-stream;
	name="file2.tcsh"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="file2.tcsh"

set vqaargs = ( "8_0" "9_0" "10_0" )

foreach vqaarg ( ${vqaargs} )
  switch ( "${vqaarg}" )
    case "help":
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
      echo "ook"
    breaksw
    case "8_0":
      echo "8"
    breaksw
    default:
  endsw
end
echo "exited ok"


------=_NextPart_000_002F_01C0962C.FC3282B0
Content-Type: text/plain; charset=us-ascii

--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple
------=_NextPart_000_002F_01C0962C.FC3282B0--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019