Bash-3.1 Official patch 10

2006-02-20 Thread Chet Ramey
 BASH PATCH REPORT
 =

Bash-Release: 3.1
Patch-ID: bash31-010

Bug-Reported-by: [EMAIL PROTECTED]
Bug-Reference-ID: <[EMAIL PROTECTED]>
Bug-Reference-URL: 
http://lists.gnu.org/archive/html/bug-bash/2006-01/msg00090.html

Bug-Description:

There is a difference in behavior between bash-3.0 and bash-3.1 involving
parsing of single- and double-quoted strings occurring in old-style
command substitution.  The difference has to do with how backslashes are
processed.  This patch restores a measure of backwards compatibility while
the question of POSIX conformance and ultimately correct behavior is discussed.

Patch:

*** ../bash-3.1/parse.y Fri Nov 11 23:14:18 2005
--- parse.y Wed Jan 25 14:55:18 2006
***
*** 2899,2903 
else if MBTEST(qc == '`' && (ch == '"' || ch == '\'') && in_comment == 
0)
{
! nestret = parse_matched_pair (0, ch, ch, &nestlen, rflags);
  goto add_nestret;
}
--- 2901,2909 
else if MBTEST(qc == '`' && (ch == '"' || ch == '\'') && in_comment == 
0)
{
! /* Add P_ALLOWESC so backslash quotes the next character and
!shell_getc does the right thing with \.  We do this for
!a measure  of backwards compatibility -- it's not strictly the
!right POSIX thing. */
! nestret = parse_matched_pair (0, ch, ch, &nestlen, rflags|P_ALLOWESC);
  goto add_nestret;
}
*** ../bash-3.1/patchlevel.hWed Jul 20 13:58:20 2005
--- patchlevel.hWed Dec  7 13:48:42 2005
***
*** 26,30 
 looks for to find the patch level (for the sccs version string). */
  
! #define PATCHLEVEL 9
  
  #endif /* _PATCHLEVEL_H_ */
--- 26,30 
 looks for to find the patch level (for the sccs version string). */
  
! #define PATCHLEVEL 10
  
  #endif /* _PATCHLEVEL_H_ */

-- 
``The lyf so short, the craft so long to lerne.'' - Chaucer
( ``Discere est Dolere'' -- chet )
   Live Strong.  No day but today.
Chet Ramey, ITS, CWRU[EMAIL PROTECTED]http://cnswww.cns.cwru.edu/~chet/


___
Bug-bash mailing list
Bug-bash@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-bash


Bash-3.1 Official patch 9

2006-02-20 Thread Chet Ramey
 BASH PATCH REPORT
 =

Bash-Release: 3.1
Patch-ID: bash31-009

Bug-Reported-by: Joshua Neuheisel <[EMAIL PROTECTED]>
Bug-Reference-ID: <[EMAIL PROTECTED]>
Bug-Reference-URL: 
http://lists.gnu.org/archive/html/bug-bash/2006-01/msg00062.html

Bug-Description:

Under some circumstances, background (asynchronous) jobs can set the terminal
process group incorrectly.  This can cause a foreground process (including
the foreground shell) to get read errors and exit.

Patch:

*** ../bash-3.1/jobs.c  Fri Nov 11 23:13:27 2005
--- jobs.c  Wed Feb  1 13:55:38 2006
***
*** 620,625 
   * the parent gives it away.
   *
   */
! if (job_control && newjob->pgrp)
give_terminal_to (newjob->pgrp, 0);
}
--- 634,642 
   * the parent gives it away.
   *
+  * Don't give the terminal away if this shell is an asynchronous
+  * subshell.
+  *
   */
! if (job_control && newjob->pgrp && 
(subshell_environment&SUBSHELL_ASYNC) == 0)
give_terminal_to (newjob->pgrp, 0);
}
***
*** 1656,1660 
 shell's process group (we could be in the middle of a
 pipeline, for example). */
! if (async_p == 0 && pipeline_pgrp != shell_pgrp)
give_terminal_to (pipeline_pgrp, 0);
  
--- 1743,1747 
 shell's process group (we could be in the middle of a
 pipeline, for example). */
! if (async_p == 0 && pipeline_pgrp != shell_pgrp && 
((subshell_environment&SUBSHELL_ASYNC) == 0))
give_terminal_to (pipeline_pgrp, 0);
  
*** ../bash-3.1/patchlevel.hWed Jul 20 13:58:20 2005
--- patchlevel.hWed Dec  7 13:48:42 2005
***
*** 26,30 
 looks for to find the patch level (for the sccs version string). */
  
! #define PATCHLEVEL 8
  
  #endif /* _PATCHLEVEL_H_ */
--- 26,30 
 looks for to find the patch level (for the sccs version string). */
  
! #define PATCHLEVEL 9
  
  #endif /* _PATCHLEVEL_H_ */

-- 
``The lyf so short, the craft so long to lerne.'' - Chaucer
( ``Discere est Dolere'' -- chet )
   Live Strong.  No day but today.
Chet Ramey, ITS, CWRU[EMAIL PROTECTED]http://cnswww.cns.cwru.edu/~chet/


___
Bug-bash mailing list
Bug-bash@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-bash