Re: tcsh 6.10.00 echo;echo;echo; bug with fix

2001-03-14 Thread David Malone

On Tue, Mar 13, 2001 at 07:52:49AM -0500, Christos Zoulas wrote:

 Thanks so much! I wonder how come this bug remained unnoticed for such
 a long time!

AFAIK, this isn't a bug. It's what csh has always done. (It's what
IBM and Sun's csh do anyway...) To echo a newline in csh you do
'echo ""'.

David.

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: tcsh 6.10.00 echo;echo;echo; bug with fix

2001-03-14 Thread Andrey A. Chernov

On Wed, Mar 14, 2001 at 12:41:09 +, David Malone wrote:
 On Tue, Mar 13, 2001 at 07:52:49AM -0500, Christos Zoulas wrote:
 
  Thanks so much! I wonder how come this bug remained unnoticed for such
  a long time!
 
 AFAIK, this isn't a bug. It's what csh has always done. (It's what
 IBM and Sun's csh do anyway...) To echo a newline in csh you do
 'echo ""'.

If this bug is rotten in csh as designed, it not means that it isn't
the bug.

Lets look from other side: "echo" is internal csh command which replace
/bin/echo for speed reasons. /bin/echo;/bin/echo;/bin/echo produce 3 \n,
so internal command must do the same in any case.

-- 
Andrey A. Chernov
http://ache.pp.ru/

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: tcsh 6.10.00 echo;echo;echo; bug with fix

2001-03-14 Thread Andrey A. Chernov

On Wed, Mar 14, 2001 at 15:46:39 +0300, Andrey A. Chernov wrote:
 On Wed, Mar 14, 2001 at 12:41:09 +, David Malone wrote:
  On Tue, Mar 13, 2001 at 07:52:49AM -0500, Christos Zoulas wrote:
  
   Thanks so much! I wonder how come this bug remained unnoticed for such
   a long time!
  
  AFAIK, this isn't a bug. It's what csh has always done. (It's what
  IBM and Sun's csh do anyway...) To echo a newline in csh you do
  'echo ""'.
 
 If this bug is rotten in csh as designed, it not means that it isn't
 the bug.
 
 Lets look from other side: "echo" is internal csh command which replace
 /bin/echo for speed reasons. /bin/echo;/bin/echo;/bin/echo produce 3 \n,
 so internal command must do the same in any case.

Thinking about compatibility:

Since internal 'echo' does nothing, it _not_ used in any old csh scripts,
while 'echo ""' does the same thing in both old and new variants, so old
scripts will works in the same way.

Since old csh is not maintained anymore, we don't need to preserve exact
void compatibility with unsupported and not maintained other platforms
software with no practical reason.

-- 
Andrey A. Chernov
http://ache.pp.ru/

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: tcsh 6.10.00 echo;echo;echo; bug with fix

2001-03-14 Thread David Malone

 Since internal 'echo' does nothing, it _not_ used in any old csh scripts,
 while 'echo ""' does the same thing in both old and new variants, so old
 scripts will works in the same way.

Will it change what happens if you do:

set null=""
echo $null

(this produces nothing in "traditional" tcsh and csh)?

 Since old csh is not maintained anymore, we don't need to preserve exact
 void compatibility with unsupported and not maintained other platforms
 software with no practical reason.

I guess we should leave it up to the tcsh folks. There are other
internal csh commands which behave differently to external commands
(nice and time come to mind). I think it is known that 'echo ""' is
a relatively portable way of printing a blank line.

David.

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: tcsh 6.10.00 echo;echo;echo; bug with fix

2001-03-14 Thread Andrey A. Chernov

On Wed, Mar 14, 2001 at 14:10:06 +, David Malone wrote:
 Will it change what happens if you do:
 
   set null=""
   echo $null
 
 (this produces nothing in "traditional" tcsh and csh)?

It will change.

 I guess we should leave it up to the tcsh folks. There are other
 internal csh commands which behave differently to external commands
 (nice and time come to mind). I think it is known that 'echo ""' is
 a relatively portable way of printing a blank line.

echo is more like as external command, even in its internal form it
tends to be compatible even with SysV-isms. What non-BSD grown (i.e. SysV)
csh echo prints?

-- 
Andrey A. Chernov
http://ache.pp.ru/

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: tcsh 6.10.00 echo;echo;echo; bug with fix

2001-03-14 Thread Christos Zoulas

On Mar 14,  2:41pm, [EMAIL PROTECTED] (David Malone) wrote:
-- Subject: Re: tcsh 6.10.00 echo;echo;echo; bug with fix

|  echo is more like as external command, even in its internal form it
|  tends to be compatible even with SysV-isms. What non-BSD grown (i.e. SysV)
|  csh echo prints?
| 
| Solaris, AIX and HPUX all print nothing. I guess all csh versions
| are likely to be BSD dervied, so there is likely to be a consistant
| response.
| 
| Maybe something could be done with the echo_style variable to
| control what is done?

Yeah, that is a good idea. I think that I'll add an echo_style "bsdbug",
and leave the default alone.

christos

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: tcsh 6.10.00 echo;echo;echo; bug with fix

2001-03-14 Thread Kimmo Suominen

I agree with Andrey -- although this has the possibility of breaking
old scripts that expect no output from echoing an empty variable.

Since the DEC/OSF system update script only works with their ancient
/bin/sh (and not with the XPG4 sh) I wouldn't be surprised to find
such scripts out there...  :-)

+ Kim


| From:"Andrey A. Chernov" [EMAIL PROTECTED]
| Date:Wed, 14 Mar 2001 15:46:39 +0300
|
| On Wed, Mar 14, 2001 at 12:41:09 +, David Malone wrote:
|  On Tue, Mar 13, 2001 at 07:52:49AM -0500, Christos Zoulas wrote:
| 
|   Thanks so much! I wonder how come this bug remained unnoticed for such
|   a long time!
| 
|  AFAIK, this isn't a bug. It's what csh has always done. (It's what
|  IBM and Sun's csh do anyway...) To echo a newline in csh you do
|  'echo ""'.
|
| If this bug is rotten in csh as designed, it not means that it isn't
| the bug.
|
| Lets look from other side: "echo" is internal csh command which replace
| /bin/echo for speed reasons. /bin/echo;/bin/echo;/bin/echo produce 3 \n,
| so internal command must do the same in any case.
|
| --
| Andrey A. Chernov
| http://ache.pp.ru/
|

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: tcsh 6.10.00 echo;echo;echo; bug with fix

2001-03-14 Thread Andrey A. Chernov

On Wed, Mar 14, 2001 at 09:54:32 -0500, Christos Zoulas wrote:

 Yeah, that is a good idea. I think that I'll add an echo_style "bsdbug",
 and leave the default alone.

Even if we left old default in place (which I personally not like), old
code have signal handler bug, we can't just "return" from xecho(), because
signal mask not set again after "if (sigintr) sigrelse(SIGINT);", we need
to jump somewhere near "done:" label to get signal mask properly set
again. If someone tells me that it is intentional old csh behaviour too, I
will be speechless...

-- 
Andrey A. Chernov
http://ache.pp.ru/

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: tcsh 6.10.00 echo;echo;echo; bug with fix

2001-03-14 Thread Christos Zoulas

On Mar 14, 11:24pm, [EMAIL PROTECTED] ("Andrey A. Chernov") wrote:
-- Subject: Re: tcsh 6.10.00 echo;echo;echo; bug with fix

With the new information about solaris having fixed this, I've decided
against keeping compatibility and just applying the fix you proposed.

christos

| On Wed, Mar 14, 2001 at 09:54:32 -0500, Christos Zoulas wrote:
| 
|  Yeah, that is a good idea. I think that I'll add an echo_style "bsdbug",
|  and leave the default alone.
| 
| Even if we left old default in place (which I personally not like), old
| code have signal handler bug, we can't just "return" from xecho(), because
| signal mask not set again after "if (sigintr) sigrelse(SIGINT);", we need
| to jump somewhere near "done:" label to get signal mask properly set
| again. If someone tells me that it is intentional old csh behaviour too, I
| will be speechless...
| 
| -- 
| Andrey A. Chernov
| http://ache.pp.ru/
-- End of excerpt from "Andrey A. Chernov"



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Maintainer? (was Re: tcsh 6.10.00 echo;echo;echo; bug with fix)

2001-03-13 Thread Andrey A. Chernov

Who is our tcsh maintainer now?

On Tue, Mar 13, 2001 at 13:19:44 +0300, Andrey A. Chernov wrote:
 echo;echo;echo; must output 3 new lines but currently not due to obvious
 bug:
 
 --- sh.func.c.bak Fri Dec  1 01:18:27 2000
 +++ sh.func.c Tue Mar 13 13:04:54 2001
 @@ -1147,7 +1147,7 @@
  #endif /* BSDSIGS */
  v++;
  if (*v == 0)
 - return;
 + goto done;
  gflag = 0, tglob(v);
  if (gflag) {
   v = globall(v);
 

-- 
Andrey A. Chernov
http://ache.pp.ru/

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: Maintainer? (was Re: tcsh 6.10.00 echo;echo;echo; bug with fix)

2001-03-13 Thread Johan Karlsson

At Tue, 13 Mar 2001 13:26:47 +0300, "Andrey A. Chernov" wrote:
 Who is our tcsh maintainer now?

Don't know but tcsh is contibified and from 
/usr/src/contrib/tcsh/README

12) PLEASE send any bug reports (and fixes), code for new features,
comments, questions, etc. (even flames) to:

The tcsh mailing list
[EMAIL PROTECTED]


/K



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: Maintainer? (was Re: tcsh 6.10.00 echo;echo;echo; bug with fix)

2001-03-13 Thread Andrey A. Chernov

On Tue, Mar 13, 2001 at 11:41:26 +0100, Johan Karlsson wrote:
 At Tue, 13 Mar 2001 13:26:47 +0300, "Andrey A. Chernov" wrote:
  Who is our tcsh maintainer now?
 
 Don't know but tcsh is contibified and from 
 /usr/src/contrib/tcsh/README
 
 12) PLEASE send any bug reports (and fixes), code for new features,
 comments, questions, etc. (even flames) to:
 
 The tcsh mailing list
 [EMAIL PROTECTED]


Already done to [EMAIL PROTECTED], see To: in original post.

-- 
Andrey A. Chernov
http://ache.pp.ru/

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: tcsh 6.10.00 echo;echo;echo; bug with fix

2001-03-13 Thread Christos Zoulas

On Mar 13,  1:19pm, [EMAIL PROTECTED] ("Andrey A. Chernov") wrote:
-- Subject: tcsh 6.10.00 echo;echo;echo; bug with fix

Thanks so much! I wonder how come this bug remained unnoticed for such
a long time!

christos

| echo;echo;echo; must output 3 new lines but currently not due to obvious
| bug:
| 
| --- sh.func.c.bak Fri Dec  1 01:18:27 2000
| +++ sh.func.c Tue Mar 13 13:04:54 2001
| @@ -1147,7 +1147,7 @@
|  #endif /* BSDSIGS */
|  v++;
|  if (*v == 0)
| - return;
| + goto done;
|  gflag = 0, tglob(v);
|  if (gflag) {
|   v = globall(v);
| 
| -- 
| Andrey A. Chernov
| http://ache.pp.ru/
-- End of excerpt from "Andrey A. Chernov"



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message