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



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 Andrey A. Chernov

On Wed, Mar 14, 2001 at 18:41:37 +0100, Daniel Rock wrote:
> David Malone schrieb:
> > 
> > > 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.
> Hmm, my Solaris (Solaris 8) does print three newlines (while the now included
> tcsh indeed output nothing).

So, it sounds like fixed in Solaris 8, i.e. we have alternative, to be
like...

> The manual page is also very clear that it should print a newline.

Yes, tcsh own man page tells about newline too.

-- 
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 Daniel Rock

David Malone schrieb:
> 
> > 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.
Hmm, my Solaris (Solaris 8) does print three newlines (while the now included
tcsh indeed output nothing).

The manual page is also very clear that it should print a newline.

-- 
Daniel

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 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 David Malone

> 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?

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 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 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 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 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: Maintainer? (was Re: tcsh 6.10.00 echo;echo;echo; bug with fix)

2001-03-13 Thread Warner Losh

In message <[EMAIL PROTECTED]> "Andrey A. Chernov" writes:
: Who is our tcsh maintainer now?

I am.

Warner

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 David O'Brien

On Tue, Mar 13, 2001 at 01:26:47PM +0300, Andrey A. Chernov wrote:
> Who is our tcsh maintainer now?

On the FreeBSD end it is imp.
 
-- 
-- David  ([EMAIL PROTECTED])
  GNU is Not Unix / Linux Is Not UniX

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



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: 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



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