[net.bugs.4bsd] csh bug

csc (10/22/82)

CSH pattern matcher problem:
If I create a file named "endsWithStar*" and
I try to print it with a command like "cat *\*" or "cat ????????????\*"
the CSH responds with "no match"
Jan Gray, Univ. of Waterloo Computer Science Club

cjh@cca.UUCP (Chip Hitchcock) (05/21/86)

I first ran into this on a Sun-2/120 running Sun 2.2 (derived from 4.2BSD), but
found the same results on a 11/780 running 4.2 BSD.

With "0^J" (i.e., normal end-of-line character) in files xyzzy{,1}_no, this
	#! /bin/csh 
	set xyzzy1_no = ` cat xyzzy1_no ` 
	@ xyzzy1_no ++
and this
	#! /bin/csh 
	set xyzzy_no = ` cat xyzzy_no ` 
	@ xyzzy1_no = $xyzzy_no + 1
get "@: syntax error";
	#! /bin/csh 
	set xyzzy_no = ` cat xyzzy_no ` 
	@ xyzzy_no ++
and
	#! /bin/csh 
	set xyzzy1_no = ` cat xyzzy1_no ` 
	@ xyzzy_no = $xyzzy1_no + 1
work. This appears to me to be a bug, given the manual definition:
	          Shell	variables have names consisting	of up to
	  20 letters and digits	starting with a	letter.	 The
	  underscore character is considered a letter.
and the fact that the references to using @ says nothing to limit this.

Am I missing something? Any suggestions? (Yes, I can script around it, but it's
a nuisance. Changing the alpha part of the variable name doesn't alter the
results.)
	CHip (Chip Hitchcock)
				             SUSHIDO   --   the way of the tuna
ARPA: CJH@CCA-UNIX
uu: ...!{decvax, cbosgd, seismo!harvard, linus}!cca!cjh