]> git.pld-linux.org Git - packages/bash.git/blob - bash205b-006
- doesnt require glibc-devel to build. uClibc-devel is enought ;)
[packages/bash.git] / bash205b-006
1                              BASH PATCH REPORT
2                              =================
3
4 Bash-Release: 2.05b
5 Patch-ID: bash205b-006
6
7 Bug-Reported-by:        clowenst@ucsd.edu
8 Bug-Reference-ID:       <156388ec.0212021151.51a48df1@posting.google.com>
9 Bug-Reference-URL:      
10
11 Bug-Description:
12
13 When running in a locale with multibyte characters, the readline display
14 updater will use carriage returns when drawing the line, overwriting any
15 partial output already on the screen and not terminated by a newline.
16
17 Patch:
18
19 *** ../bash-2.05b/lib/readline/display.c        Tue Jun  4 10:54:47 2002
20 --- lib/readline/display.c      Fri Sep 13 16:22:57 2002
21 ***************
22 *** 71,75 ****
23   
24   #if defined (HANDLE_MULTIBYTE)
25 ! static int _rl_col_width PARAMS((char *, int, int));
26   static int *_rl_wrapped_line;
27   #else
28 --- 71,75 ----
29   
30   #if defined (HANDLE_MULTIBYTE)
31 ! static int _rl_col_width PARAMS((const char *, int, int));
32   static int *_rl_wrapped_line;
33   #else
34 ***************
35 *** 1349,1355 ****
36               _rl_output_some_chars (nfd + lendiff, temp - lendiff);
37   #if 0
38 -             _rl_last_c_pos += _rl_col_width (nfd+lendiff, 0, temp-lendiff) - col_lendiff;
39 - #else
40               _rl_last_c_pos += _rl_col_width (nfd+lendiff, 0, temp-col_lendiff);
41   #endif
42             }
43 --- 1349,1355 ----
44               _rl_output_some_chars (nfd + lendiff, temp - lendiff);
45   #if 0
46               _rl_last_c_pos += _rl_col_width (nfd+lendiff, 0, temp-col_lendiff);
47 + #else
48 +             _rl_last_c_pos += _rl_col_width (nfd+lendiff, 0, temp-lendiff);
49   #endif
50             }
51 ***************
52 *** 1511,1516 ****
53     /* If we have multibyte characters, NEW is indexed by the buffer point in
54        a multibyte string, but _rl_last_c_pos is the display position.  In
55 !      this case, NEW's display position is not obvious. */
56 !   if ((MB_CUR_MAX == 1 || rl_byte_oriented ) && _rl_last_c_pos == new) return;
57   #else
58     if (_rl_last_c_pos == new) return;
59 --- 1511,1523 ----
60     /* If we have multibyte characters, NEW is indexed by the buffer point in
61        a multibyte string, but _rl_last_c_pos is the display position.  In
62 !      this case, NEW's display position is not obvious and must be
63 !      calculated. */
64 !   if (MB_CUR_MAX == 1 || rl_byte_oriented)
65 !     {
66 !       if (_rl_last_c_pos == new)
67 !       return;
68 !     }
69 !   else if (_rl_last_c_pos == _rl_col_width (data, 0, new))
70 !     return;
71   #else
72     if (_rl_last_c_pos == new) return;
73 ***************
74 *** 1595,1603 ****
75       {
76         if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
77 !       {
78 !         tputs (_rl_term_cr, 1, _rl_output_character_function);
79 !         for (i = 0; i < new; i++)
80 !           putc (data[i], rl_outstream);
81 !       }
82         else
83         _rl_backspace (_rl_last_c_pos - new);
84 --- 1602,1606 ----
85       {
86         if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
87 !       _rl_backspace (_rl_last_c_pos - _rl_col_width (data, 0, new));
88         else
89         _rl_backspace (_rl_last_c_pos - new);
90 ***************
91 *** 2118,2122 ****
92   static int
93   _rl_col_width (str, start, end)
94 !      char *str;
95        int start, end;
96   {
97 --- 2121,2125 ----
98   static int
99   _rl_col_width (str, start, end)
100 !      const char *str;
101        int start, end;
102   {
103 ***************
104 *** 2194,2196 ****
105   }
106   #endif /* HANDLE_MULTIBYTE */
107 -         
108 --- 2197,2198 ----
This page took 0.065482 seconds and 3 git commands to generate.