[gnu.bash.bug] BASH release 0.99

fox@UUNET.UU.NET (Paul Fox) (06/16/89)

Hello Brian, (my name sake). I've just installed
bash on our Suns (Sun-3's running SunOS 4.0.1).
Seems to work fine on this system. I know you as yet havent
ported it to Sys V 3.2, but I had a go and found the following problems:

1. Too long filenames. unwind_protect.c and alloc-files/malloc-rcheck.c cause
real problems when you try to compile them on our 14 char name limit
system.

2. Bash seems to have problems detecting the death of a child when
you do something as simple as 'ls'. 

3. If you type 'jobs' then you get the following output:

   bash$
   jobs: command not found.
   Signal 1: (core dumped)
   bash$

   (In order to get this to work on my 386 system I said
    the OS was SYSV and it was an HP machine. I grepped the
    sources for HP and didnt find any references to it - except
    for HPUX).

4. There is a spelling error in one of the help sections -
	builtins.c line 108 'says to sue function names ...'
			              ^

5. Oh yeah, there is a really annoying bug/feature which you share with
   the korn-shell. And that is escape sequences in the prompt (eg PS1)
   are treated as printable characters by bash. 

   This is a problem cos I usually have my prompt bright yellow and
   all the rst of the command line in normal green. Bash thinks
   that ESC[32m is 5 printing characters. What this means is that 
   as you type in, instead of line wrapping at column 80, it does it
   at about column 60.

   Heres my alias for 'cd'.
	cd ()
	{
		builtin cd $*
		PS1="[33m[1m(\u@\h-$SHLVL)$PWD: [0;32m"
		#    ^ this is an ESCAPE 0x1b character.
	}

   Oh yeah, sometimes line editing gets screwed up because of the
   unprintable characters in the prompt.

6. I know you havent finished the SYSv ports yet, but \h in the
   PS1 variable above comes out as 'localhost'. I looked at the
   code in bash and could see that you just hard coded that until
   you'd got the code right.

Many thanks for such a brilliant piece of work. 

bfox@AUREL.CALTECH.EDU (Brian Fox) (06/17/89)

   6. I know you havent finished the SYSv ports yet, but \h in the
      PS1 variable above comes out as 'localhost'. I looked at the
      code in bash and could see that you just hard coded that until
      you'd got the code right.

What is the right code?  I don't have a sys v system.  If you tell me
what it is, I'll just put it in.

Brian Fox


PS: Nice last name.

chet@cwns5.INS.CWRU.Edu (Chet Ramey) (06/19/89)

In article <8906161707.AA15949@aurel.caltech.edu> bfox@ai.mit.edu writes:
>
>   6. I know you havent finished the SYSv ports yet, but \h in the
>      PS1 variable above comes out as 'localhost'. I looked at the
>      code in bash and could see that you just hard coded that until
>      you'd got the code right.
>
>What is the right code?  I don't have a sys v system.  If you tell me
>what it is, I'll just put it in.
>
>Brian Fox

Here is a version of `gethostname()' for sys v systems that should do
what the Foxes (;-) want.  Now Sys 5 systems don't have to be special-cased
there.


#include <sys/utsname.h>

gethostname(name, namlen) 
char *name;
int namlen;
{
	int i;
	struct utsname uts;

	uname(&uts);
	i = strlen(uts.nodename) + 1;
	strncpy(name, uts.nodename, i < namlen ? i : namlen);
	return 0;
}

Chet Ramey

Chet Ramey     Network Services Group, CWRU    chet@cwjcc.INS.CWRU.Edu

"The flagon with the dragon has the potion with the poison;
	the vessel with the pestle holds the brew that is true!"