summaryrefslogtreecommitdiffstats
path: root/testing/source/bash/bash-4.0-patches/bash40-003
blob: cc941d5e92fc83659ac78c07ac9c15af1b200aff (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
			     BASH PATCH REPORT
			     =================

Bash-Release: 4.0
Patch-ID: bash40-003

Bug-Reported-by:	Bernd Eggink <monoped@sudrala.de>
Bug-Reference-ID:	<49A323F5.60503@sudrala.de>
Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2009-02/msg00177.html

Bug-Description:

Under certain circumstances, constructs containing command substitutions
prevent PS1 from being re-evaluated and updated before being displayed.

Patch:

*** ../bash-4.0/parse.y	2009-01-08 08:29:12.000000000 -0500
--- parse.y	2009-02-25 15:58:25.000000000 -0500
***************
*** 1616,1623 ****
    int *ret;
  
!   ret = (int *)xmalloc (3 * sizeof (int));
    ret[0] = last_read_token;
    ret[1] = token_before_that;
    ret[2] = two_tokens_ago;
    return ret;
  }
--- 1616,1624 ----
    int *ret;
  
!   ret = (int *)xmalloc (4 * sizeof (int));
    ret[0] = last_read_token;
    ret[1] = token_before_that;
    ret[2] = two_tokens_ago;
+   ret[3] = current_token;
    return ret;
  }
***************
*** 1632,1635 ****
--- 1633,1637 ----
    token_before_that = ts[1];
    two_tokens_ago = ts[2];
+   current_token = ts[3];
  }
  
***************
*** 2669,2672 ****
--- 2671,2675 ----
    word_desc_to_read = (WORD_DESC *)NULL;
  
+   current_token = '\n';		/* XXX */
    last_read_token = '\n';
    token_to_read = '\n';
*** ../bash-4.0/patchlevel.h	2009-01-04 14:32:40.000000000 -0500
--- patchlevel.h	2009-02-22 16:11:31.000000000 -0500
***************
*** 26,30 ****
     looks for to find the patch level (for the sccs version string). */
  
! #define PATCHLEVEL 2
  
  #endif /* _PATCHLEVEL_H_ */
--- 26,30 ----
     looks for to find the patch level (for the sccs version string). */
  
! #define PATCHLEVEL 3
  
  #endif /* _PATCHLEVEL_H_ */