Subject: bin/2139: /bin/sh prompting during interactive entry of command substitution broken
To: None <gnats-bugs@NetBSD.ORG>
From: None <>
List: netbsd-bugs
Date: 02/27/1996 15:47:07
>Number:         2139
>Category:       bin
>Synopsis:       /bin/sh prompting during interactive entry of command substitution broken
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    bin-bug-people (Utility Bug People)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Feb 27 16:05:05 1996
>Originator:     Greg A. Woods
	Planix, Inc.
>Release:        NetBSD-1.1
System: NetBSD always 1.1 NetBSD 1.1 (GENERIC) #24: Thu Dec 14 13:52:07 EST 1995 gwr@venus:/home/gwr/work/src/sys/arch/sun3/compile/GENERIC sun3

	The interactive behavior of the shell (/bin/sh), specifically
	w.r.t. prompting, when entering multi-line commands with command-
	substitution is broken.  Actual behavior depends on which line
	editing mode the shell is in.  Effectively the PS2 prompt handling
	is not working.  (Note it works fine for quoted input.)

	Type multi-line command-substitution commands.

	Here's a cut/paste of two examples in plain mode with vi and emacs
	options both disabled:
		$ `
		> > > laksdjf: not found
		alsdkjf: not found
		$ `
		> $ 
	Note how it almost works with PS2 displayed *after* the second `.

	Here's a cut/paste of an example in emacs mode:
		$ set -o emacs
		$ PS1='emacs edit $ '
		emacs edit $ `
		emacs edit $ asldkfj
		emacs edit $ asdlfkj
		emacs edit $ asdflkj
		emacs edit $ `
		asldkfj: not found
		asdlfkj: not found
		asdflkj: not found
		emacs edit $ 
	Note how PS1 is used instead of PS2....

	Here's a cut/past of an example in vi mode:
		emacs edit $ set -o vi
		emacs edit $ PS1='vi edit $ '
		vi edit $ `
		vi edit $ alskdjf
		vi edit $ asdlkfj
		vi edit $ alsdkfj
		vi edit $ `
		alskdjf: not found
		asdlkfj: not found
		alsdkfj: not found
	Note how PS1 is used instead of PS2....

	Compare the first example with the expected behavior as shown by
	/usr/bin/sh on SunOS-4:
		ttyp1:<woods@very> $ `
		> asdlfkj
		> alskdjf
		> alskdjf
		> `
		asdlfkj: not found
		alskdjf: not found
		alskdjf: not found
		ttyp1:<woods@very> $ 
	Note how PS2 is displayed on each line as expected.