diff options
author | Jay Freeman <saurik@saurik.com> | 2008-09-23 11:43:49 +0000 |
---|---|---|
committer | Jay Freeman <saurik@saurik.com> | 2008-09-23 11:43:49 +0000 |
commit | 8f0c8cd5bae73e1f7b83a46e74a6bc8b29fed626 (patch) | |
tree | 056048f610d6add406db2b4e36e1cbbf1dc342eb /data/bash/bash32-027 | |
parent | 18952204d8b0dd4568e01cef340abd57f220f591 (diff) |
Upgraded to bash 3.2.39.
git-svn-id: http://svn.telesphoreo.org/trunk@484 514c082c-b64e-11dc-b46d-3d985efe055d
Diffstat (limited to 'data/bash/bash32-027')
-rw-r--r-- | data/bash/bash32-027 | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/data/bash/bash32-027 b/data/bash/bash32-027 new file mode 100644 index 000000000..5e110cb96 --- /dev/null +++ b/data/bash/bash32-027 @@ -0,0 +1,85 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 3.2 +Patch-ID: bash32-027 + +Bug-Reported-by: dAniel hAhler <ubuntu@thequod.de> +Bug-Reference-ID: <4702ED8A.5000503@thequod.de> +Bug-Reference-URL: https://bugs.launchpad.net/ubuntu/+source/bash/+bug/119938 + +Bug-Description: + +When updating the display after displaying, for instance, a list of possible +completions, readline will place the cursor at the wrong position if the +prompt contains invisible characters and a newline. + +Patch: + +*** ../bash-3.2.25/lib/readline/display.c Mon Aug 6 14:26:29 2007 +--- lib/readline/display.c Wed Oct 10 22:43:58 2007 +*************** +*** 1049,1053 **** + else + tx = nleft; +! if (_rl_last_c_pos > tx) + { + _rl_backspace (_rl_last_c_pos - tx); /* XXX */ +--- 1049,1053 ---- + else + tx = nleft; +! if (tx >= 0 && _rl_last_c_pos > tx) + { + _rl_backspace (_rl_last_c_pos - tx); /* XXX */ +*************** +*** 1205,1209 **** + { + register char *ofd, *ols, *oe, *nfd, *nls, *ne; +! int temp, lendiff, wsatend, od, nd; + int current_invis_chars; + int col_lendiff, col_temp; +--- 1205,1209 ---- + { + register char *ofd, *ols, *oe, *nfd, *nls, *ne; +! int temp, lendiff, wsatend, od, nd, o_cpos; + int current_invis_chars; + int col_lendiff, col_temp; +*************** +*** 1466,1469 **** +--- 1466,1471 ---- + } + ++ o_cpos = _rl_last_c_pos; ++ + /* When this function returns, _rl_last_c_pos is correct, and an absolute + cursor postion in multibyte mode, but a buffer index when not in a +*************** +*** 1475,1479 **** + invisible characters in the prompt string. Let's see if setting this when + we make sure we're at the end of the drawn prompt string works. */ +! if (current_line == 0 && MB_CUR_MAX > 1 && rl_byte_oriented == 0 && _rl_last_c_pos == prompt_physical_chars) + cpos_adjusted = 1; + #endif +--- 1477,1483 ---- + invisible characters in the prompt string. Let's see if setting this when + we make sure we're at the end of the drawn prompt string works. */ +! if (current_line == 0 && MB_CUR_MAX > 1 && rl_byte_oriented == 0 && +! (_rl_last_c_pos > 0 || o_cpos > 0) && +! _rl_last_c_pos == prompt_physical_chars) + cpos_adjusted = 1; + #endif +*** ../bash-3.2/patchlevel.h Thu Apr 13 08:31:04 2006 +--- patchlevel.h Mon Oct 16 14:22:54 2006 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 26 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 27 + + #endif /* _PATCHLEVEL_H_ */ |