]> git.pld-linux.org Git - packages/bash.git/blame - bash205b-006
- doesnt require glibc-devel to build. uClibc-devel is enought ;)
[packages/bash.git] / bash205b-006
CommitLineData
888cf725 1 BASH PATCH REPORT
2 =================
3
4Bash-Release: 2.05b
5Patch-ID: bash205b-006
6
7Bug-Reported-by: clowenst@ucsd.edu
8Bug-Reference-ID: <156388ec.0212021151.51a48df1@posting.google.com>
9Bug-Reference-URL:
10
11Bug-Description:
12
13When running in a locale with multibyte characters, the readline display
14updater will use carriage returns when drawing the line, overwriting any
15partial output already on the screen and not terminated by a newline.
16
17Patch:
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.051562 seconds and 4 git commands to generate.