]> git.pld-linux.org Git - packages/bash.git/blame - bash30-011
- use ac-branch version
[packages/bash.git] / bash30-011
CommitLineData
4e9fe84f
JB
1 BASH PATCH REPORT
2 =================
3
4Bash-Release: 3.0
5Patch-ID: bash30-011
6
7Bug-Reported-by: Egmont Koblinger <egmont@uhulinux.hu>
8Bug-Reference-ID: <Pine.LNX.4.58L0.0407282151140.8088@sziami.cs.bme.hu>
9Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2004-07/msg00277.html
10
11Bug-Description:
12
13I've just upgraded to readline 5.0 and bash 3.0 and tried them with UTF-8
14encoding. I found line editing to be quite buggy:
15
16I type an accented letter, let's say <E1>. Then <E1> appears. I press the left
17arrow, the cursor goes back, it is now over <E1>. I press <E9>. Now <E9><E1> is
18visible, which is correct, but the cursor is past the two letters, though
19it should be over <E1>. Here only the first Left arrow takes affect, moves
20the cursor over <E1>, but the 2nd time I press Left, it just beeps, doesn't
21move to the first char (<E9>). Now a Right arrow doesn't move the cursor, but
22causes further Left and Right arrows to work as expected. To go on,
23similar bug occurs nearly every time that I insert an accented letter
24before or amongs other ones (but not at the end of the line). When the
25command line has about ten or twenty accented letters (and no or hardly
26any non-accented ones), line editing becomes a total chaos, where
27sometimes inserting another accented letter causes the cursor to jump many
28characters to the right, and pressing the Left arrow sometimes causes the
29cursor to jump back lots of characters at once.
30
31Patch:
32
33*** ../bash-3.0/lib/readline/mbutil.c Wed Jan 14 09:44:52 2004
34--- lib/readline/mbutil.c Wed Aug 18 22:25:57 2004
35***************
36*** 127,135 ****
37 {
38 tmp = mbrtowc (&wc, string + point, strlen (string + point), &ps);
39! while (wcwidth (wc) == 0)
40 {
41 point += tmp;
42 tmp = mbrtowc (&wc, string + point, strlen (string + point), &ps);
43! if (tmp == (size_t)(0) || tmp == (size_t)(-1) || tmp == (size_t)(-2))
44 break;
45 }
46--- 127,135 ----
47 {
48 tmp = mbrtowc (&wc, string + point, strlen (string + point), &ps);
49! while (tmp > 0 && wcwidth (wc) == 0)
50 {
51 point += tmp;
52 tmp = mbrtowc (&wc, string + point, strlen (string + point), &ps);
53! if (MB_NULLWCH (tmp) || MB_INVALIDCH (tmp))
54 break;
55 }
56
57*** ../bash-3.0/patchlevel.h Wed Aug 22 08:05:39 2001
58--- patchlevel.h Thu Sep 2 15:04:32 2004
59***************
60*** 26,30 ****
61 looks for to find the patch level (for the sccs version string). */
62
63! #define PATCHLEVEL 10
64
65 #endif /* _PATCHLEVEL_H_ */
66--- 26,30 ----
67 looks for to find the patch level (for the sccs version string). */
68
69! #define PATCHLEVEL 11
70
71 #endif /* _PATCHLEVEL_H_ */
This page took 0.053898 seconds and 4 git commands to generate.