diff -Nrc2 bash-1.14.5.GNUCD/NEWS bash-1.14.5/NEWS
*** bash-1.14.5.GNUCD/NEWS	Fri Jun  9 17:18:11 1995
--- bash-1.14.5/NEWS	Wed Jul 12 10:08:44 1995
***************
*** 48,51 ****
--- 48,57 ----
      dump when printing an error message.
  
+ p.  Fixed a bug that caused "$*" to sometimes leave a stray ^B in the
+     expansion when there were no positional parameters.
+ 
+ q.  Fixed a bug that caused pre-3.2v4.x SCO machines to hang waiting for
+     waitpid(2) to return.
+ 
  2.  Bugs fixed in Readline
  
diff -Nrc2 bash-1.14.5.GNUCD/jobs.c bash-1.14.5/jobs.c
*** bash-1.14.5.GNUCD/jobs.c	Wed Jun  7 15:47:50 1995
--- bash-1.14.5/jobs.c	Wed Jul 12 09:37:18 1995
***************
*** 1495,1499 ****
  #else /* !WAITPID_BROKEN */
  #  if defined (MUST_UNBLOCK_CHILD)	/* SCO */
!       UNBLOCK_CHILD (oset);
  #  endif
        waiting_for_job = 1;
--- 1495,1509 ----
  #else /* !WAITPID_BROKEN */
  #  if defined (MUST_UNBLOCK_CHILD)	/* SCO */
!       struct sigaction act, oact;
!       sigset_t nullset, chldset;
! 
!       sigemptyset (&nullset);
!       sigemptyset (&chldset);
!       sigprocmask (SIG_SETMASK, &nullset, &chldset);
!       act.sa_handler = SIG_DFL;
!       sigemptyset (&act.sa_mask);
!       sigemptyset (&oact.sa_mask);
!       act.sa_flags = 0;
!       sigaction (SIGCHLD, &act, &oact);
  #  endif
        waiting_for_job = 1;
***************
*** 1501,1505 ****
        waiting_for_job = 0;
  #  if defined (MUST_UNBLOCK_CHILD)
!       BLOCK_CHILD (set, oset);
  #  endif
  #endif /* !WAITPID_BROKEN */
--- 1511,1516 ----
        waiting_for_job = 0;
  #  if defined (MUST_UNBLOCK_CHILD)
!       sigaction (SIGCHLD, &oact, (struct sigaction *)NULL);
!       sigprocmask (SIG_SETMASK, &chldset, (sigset_t *)NULL);
  #  endif
  #endif /* !WAITPID_BROKEN */
***************
*** 2132,2136 ****
  				  temp_handler = old_sigint_handler;
  				  restore_sigint_handler ();
! 				  (*temp_handler) (SIGINT);
  				}
  			    }
--- 2143,2148 ----
  				  temp_handler = old_sigint_handler;
  				  restore_sigint_handler ();
! 				  if (temp_handler != SIG_IGN)
! 				    (*temp_handler) (SIGINT);
  				}
  			    }
diff -Nrc2 bash-1.14.5.GNUCD/subst.c bash-1.14.5/subst.c
*** bash-1.14.5.GNUCD/subst.c	Fri Jun  2 15:45:47 1995
--- bash-1.14.5/subst.c	Tue Jun 27 15:13:26 1995
***************
*** 2807,2810 ****
--- 2807,2816 ----
  	      temp = string_rest_of_args (quoted);
  
+ 	      if (quoted && temp && *temp == '\0' /* && istring_index > 0 */)
+ 		{
+ 		  free (temp);
+ 		  temp = (char *)NULL;
+ 		}
+ 
  	      /* In the case of a quoted string, quote the entire arg-list.
  		 "$1 $2 $3". */