]> git.pld-linux.org Git - packages/bash.git/blob - bash32-022
- up to 3.2.39
[packages/bash.git] / bash32-022
1                              BASH PATCH REPORT
2                              =================
3
4 Bash-Release: 3.2
5 Patch-ID: bash32-022
6
7 Bug-Reported-by:        Chet Ramey <chet.ramey@cwru.edu>
8 Bug-Reference-ID:
9 Bug-Reference-URL:
10
11 Bug-Description:
12
13 POSIX specifies that the `read' builtin invoked from an interative shell
14 must prompt with $PS2 when a line is continued using a backslash while
15 reading from a terminal.
16
17 Patch:
18
19 *** ../bash-3.2-patched/builtins/read.def       Tue Sep 19 08:45:48 2006
20 --- builtins/read.def   Thu May 24 16:03:30 2007
21 ***************
22 *** 128,133 ****
23   {
24     register char *varname;
25 !   int size, i, nr, pass_next, saw_escape, eof, opt, retval, code;
26 !   int input_is_tty, input_is_pipe, unbuffered_read;
27     int raw, edit, nchars, silent, have_timeout, fd;
28     unsigned int tmout;
29 --- 131,136 ----
30   {
31     register char *varname;
32 !   int size, i, nr, pass_next, saw_escape, eof, opt, retval, code, print_ps2;
33 !   int input_is_tty, input_is_pipe, unbuffered_read, skip_ctlesc, skip_ctlnul;
34     int raw, edit, nchars, silent, have_timeout, fd;
35     unsigned int tmout;
36 ***************
37 *** 135,139 ****
38     char c;
39     char *input_string, *orig_input_string, *ifs_chars, *prompt, *arrayname;
40 !   char *e, *t, *t1;
41     struct stat tsb;
42     SHELL_VAR *var;
43 --- 138,142 ----
44     char c;
45     char *input_string, *orig_input_string, *ifs_chars, *prompt, *arrayname;
46 !   char *e, *t, *t1, *ps2;
47     struct stat tsb;
48     SHELL_VAR *var;
49 ***************
50 *** 149,152 ****
51 --- 152,156 ----
52     USE_VAR(i);
53     USE_VAR(pass_next);
54 +   USE_VAR(print_ps2);
55     USE_VAR(saw_escape);
56     USE_VAR(input_is_pipe);
57 ***************
58 *** 164,167 ****
59 --- 168,172 ----
60   #endif
61     USE_VAR(list);
62 +   USE_VAR(ps2);
63   
64     i = 0;              /* Index into the string that we are reading. */
65 ***************
66 *** 387,391 ****
67   #endif
68   
69 !   for (eof = retval = 0;;)
70       {
71   #if defined (READLINE)
72 --- 394,399 ----
73   #endif
74   
75 !   ps2 = 0;
76 !   for (print_ps2 = eof = retval = 0;;)
77       {
78   #if defined (READLINE)
79 ***************
80 *** 413,416 ****
81 --- 421,433 ----
82   #endif
83   
84 +       if (print_ps2)
85 +       {
86 +         if (ps2 == 0)
87 +           ps2 = get_string_value ("PS2");
88 +         fprintf (stderr, "%s", ps2 ? ps2 : "");
89 +         fflush (stderr);
90 +         print_ps2 = 0;
91 +       }
92
93         if (unbuffered_read)
94         retval = zread (fd, &c, 1);
95 ***************
96 *** 441,445 ****
97           pass_next = 0;
98           if (c == '\n')
99 !           i--;                /* back up over the CTLESC */
100           else
101             goto add_char;
102 --- 458,466 ----
103           pass_next = 0;
104           if (c == '\n')
105 !           {
106 !             i--;              /* back up over the CTLESC */
107 !             if (interactive && input_is_tty && raw == 0)
108 !               print_ps2 = 1;
109 !           }
110           else
111             goto add_char;
112 *** ../bash-3.2/patchlevel.h    Thu Apr 13 08:31:04 2006
113 --- patchlevel.h        Mon Oct 16 14:22:54 2006
114 ***************
115 *** 26,30 ****
116      looks for to find the patch level (for the sccs version string). */
117   
118 ! #define PATCHLEVEL 21
119   
120   #endif /* _PATCHLEVEL_H_ */
121 --- 26,30 ----
122      looks for to find the patch level (for the sccs version string). */
123   
124 ! #define PATCHLEVEL 22
125   
126   #endif /* _PATCHLEVEL_H_ */
This page took 0.135443 seconds and 3 git commands to generate.