Roman Rakus 245501
			     BASH PATCH REPORT
Roman Rakus 245501
			     =================
Roman Rakus 245501
Roman Rakus 245501
Bash-Release: 4.0
Roman Rakus 245501
Patch-ID: bash40-003
Roman Rakus 245501
Roman Rakus 245501
Bug-Reported-by:	Bernd Eggink <monoped@sudrala.de>
Roman Rakus 245501
Bug-Reference-ID:	<49A323F5.60503@sudrala.de>
Roman Rakus 245501
Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2009-02/msg00177.html
Roman Rakus 245501
Roman Rakus 245501
Bug-Description:
Roman Rakus 245501
Roman Rakus 245501
Under certain circumstances, constructs containing command substitutions
Roman Rakus 245501
prevent PS1 from being re-evaluated and updated before being displayed.
Roman Rakus 245501
Roman Rakus 245501
Patch:
Roman Rakus 245501
Roman Rakus 245501
*** ../bash-4.0/parse.y	2009-01-08 08:29:12.000000000 -0500
Roman Rakus 245501
--- parse.y	2009-02-25 15:58:25.000000000 -0500
Roman Rakus 245501
***************
Roman Rakus 245501
*** 1616,1623 ****
Roman Rakus 245501
    int *ret;
Roman Rakus 245501
  
Roman Rakus 245501
!   ret = (int *)xmalloc (3 * sizeof (int));
Roman Rakus 245501
    ret[0] = last_read_token;
Roman Rakus 245501
    ret[1] = token_before_that;
Roman Rakus 245501
    ret[2] = two_tokens_ago;
Roman Rakus 245501
    return ret;
Roman Rakus 245501
  }
Roman Rakus 245501
--- 1616,1624 ----
Roman Rakus 245501
    int *ret;
Roman Rakus 245501
  
Roman Rakus 245501
!   ret = (int *)xmalloc (4 * sizeof (int));
Roman Rakus 245501
    ret[0] = last_read_token;
Roman Rakus 245501
    ret[1] = token_before_that;
Roman Rakus 245501
    ret[2] = two_tokens_ago;
Roman Rakus 245501
+   ret[3] = current_token;
Roman Rakus 245501
    return ret;
Roman Rakus 245501
  }
Roman Rakus 245501
***************
Roman Rakus 245501
*** 1632,1635 ****
Roman Rakus 245501
--- 1633,1637 ----
Roman Rakus 245501
    token_before_that = ts[1];
Roman Rakus 245501
    two_tokens_ago = ts[2];
Roman Rakus 245501
+   current_token = ts[3];
Roman Rakus 245501
  }
Roman Rakus 245501
  
Roman Rakus 245501
***************
Roman Rakus 245501
*** 2669,2672 ****
Roman Rakus 245501
--- 2671,2675 ----
Roman Rakus 245501
    word_desc_to_read = (WORD_DESC *)NULL;
Roman Rakus 245501
  
Roman Rakus 245501
+   current_token = '\n';		/* XXX */
Roman Rakus 245501
    last_read_token = '\n';
Roman Rakus 245501
    token_to_read = '\n';
Roman Rakus 245501
*** ../bash-4.0/patchlevel.h	2009-01-04 14:32:40.000000000 -0500
Roman Rakus 245501
--- patchlevel.h	2009-02-22 16:11:31.000000000 -0500
Roman Rakus 245501
***************
Roman Rakus 245501
*** 26,30 ****
Roman Rakus 245501
     looks for to find the patch level (for the sccs version string). */
Roman Rakus 245501
  
Roman Rakus 245501
! #define PATCHLEVEL 2
Roman Rakus 245501
  
Roman Rakus 245501
  #endif /* _PATCHLEVEL_H_ */
Roman Rakus 245501
--- 26,30 ----
Roman Rakus 245501
     looks for to find the patch level (for the sccs version string). */
Roman Rakus 245501
  
Roman Rakus 245501
! #define PATCHLEVEL 3
Roman Rakus 245501
  
Roman Rakus 245501
  #endif /* _PATCHLEVEL_H_ */