]> git.pld-linux.org Git - packages/bash.git/blame - bash30-009
- xterm title done PROPER way
[packages/bash.git] / bash30-009
CommitLineData
4e9fe84f
JB
1 BASH PATCH REPORT
2 =================
3
4Bash-Release: 3.0
5Patch-ID: bash30-009
6
7Bug-Reported-by: Tim Waugh <twaugh@redhat.com>
8Bug-Reference-ID: <20040810083805.GT2177@redhat.com>
9Bug-Reference-URL: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=129526b
10 http://lists.gnu.org/archive/html/bug-bash/2004-08/msg00116.html
11
12Bug-Description:
13
14-->
15Steps to Reproduce:
161. Launch a bash shell
172. Set editing mode to 'vi' with 'set -o vi'
183. Type any command, but don't hit return
194. Enter vi-command mode by hitting the escape key
205. Go to the end of line with the '$' command
216. Type 'r' to change the last character
227. Type any character (other than what the character already is)
23
24The last two characters are inexplicably swapped
25after the last character is changed.
26<--
27
28Patch:
29
30*** ../bash-3.0/lib/readline/vi_mode.c Tue Jul 13 14:08:27 2004
31--- lib/readline/vi_mode.c Tue Aug 17 00:12:09 2004
32***************
33*** 691,695 ****
34 wchar_t wc;
35 char mb[MB_LEN_MAX+1];
36! int mblen;
37 mbstate_t ps;
38
39--- 693,697 ----
40 wchar_t wc;
41 char mb[MB_LEN_MAX+1];
42! int mblen, p;
43 mbstate_t ps;
44
45***************
46*** 714,722 ****
47 if (wc)
48 {
49 mblen = wcrtomb (mb, wc, &ps);
50 if (mblen >= 0)
51 mb[mblen] = '\0';
52 rl_begin_undo_group ();
53! rl_delete (1, 0);
54 rl_insert_text (mb);
55 rl_end_undo_group ();
56--- 716,727 ----
57 if (wc)
58 {
59+ p = rl_point;
60 mblen = wcrtomb (mb, wc, &ps);
61 if (mblen >= 0)
62 mb[mblen] = '\0';
63 rl_begin_undo_group ();
64! rl_vi_delete (1, 0);
65! if (rl_point < p) /* Did we retreat at EOL? */
66! rl_point++; /* XXX - should we advance more than 1 for mbchar? */
67 rl_insert_text (mb);
68 rl_end_undo_group ();
69***************
70*** 1311,1320 ****
71 #if defined (HANDLE_MULTIBYTE)
72 if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
73! while (_rl_insert_char (1, c))
74! {
75! RL_SETSTATE (RL_STATE_MOREINPUT);
76! c = rl_read_key ();
77! RL_UNSETSTATE (RL_STATE_MOREINPUT);
78! }
79 else
80 #endif
81--- 1316,1329 ----
82 #if defined (HANDLE_MULTIBYTE)
83 if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
84! {
85! if (rl_point < p) /* Did we retreat at EOL? */
86! rl_point++;
87! while (_rl_insert_char (1, c))
88! {
89! RL_SETSTATE (RL_STATE_MOREINPUT);
90! c = rl_read_key ();
91! RL_UNSETSTATE (RL_STATE_MOREINPUT);
92! }
93! }
94 else
95 #endif
96
97*** ../bash-3.0/patchlevel.h Wed Aug 22 08:05:39 2001
98--- patchlevel.h Thu Sep 2 15:04:32 2004
99***************
100*** 26,30 ****
101 looks for to find the patch level (for the sccs version string). */
102
103! #define PATCHLEVEL 8
104
105 #endif /* _PATCHLEVEL_H_ */
106--- 26,30 ----
107 looks for to find the patch level (for the sccs version string). */
108
109! #define PATCHLEVEL 9
110
111 #endif /* _PATCHLEVEL_H_ */
This page took 0.0976860000000001 seconds and 4 git commands to generate.