[d849dd4] | 1 | Submitted By: Jim Gifford (jim at cross-lfs dot org) |
---|
| 2 | Date: 01-08-2009 |
---|
| 3 | Initial Package Version: 3.2 |
---|
| 4 | Origin: Various |
---|
| 5 | Upstream Status: Applied |
---|
| 6 | Description: Contains all Fixes from Various Sources |
---|
| 7 | Fedora: |
---|
| 8 | http://cvs.fedoraproject.org/viewvc/rpms/bash/F-10/bash-2.02-security.patch |
---|
| 9 | http://cvs.fedoraproject.org/viewvc/rpms/bash/F-10/bash-2.03-paths.patch |
---|
| 10 | http://cvs.fedoraproject.org/viewvc/rpms/bash/F-10/bash-2.05b-readline-oom.patch |
---|
| 11 | http://cvs.fedoraproject.org/viewvc/rpms/bash/F-10/bash-3.2-190350.patch |
---|
| 12 | http://cvs.fedoraproject.org/viewvc/rpms/bash/F-10/bash-3.2-comp_wordbreaks.patch |
---|
| 13 | |
---|
| 14 | All have been validated to be issues in CLFS. |
---|
| 15 | |
---|
| 16 | diff -Naur bash-3.2.orig/config.h.in bash-3.2/config.h.in |
---|
| 17 | --- bash-3.2.orig/config.h.in 2009-01-08 15:56:12.000000000 -0800 |
---|
| 18 | +++ bash-3.2/config.h.in 2009-01-08 16:05:44.000000000 -0800 |
---|
| 19 | @@ -201,7 +201,7 @@ |
---|
| 20 | |
---|
| 21 | /* System paths */ |
---|
| 22 | |
---|
| 23 | -#define DEFAULT_MAIL_DIRECTORY "/usr/spool/mail" |
---|
| 24 | +#define DEFAULT_MAIL_DIRECTORY "/var/spool/mail" |
---|
| 25 | |
---|
| 26 | /* Characteristics of the system's header files and libraries that affect |
---|
| 27 | the compilation environment. */ |
---|
| 28 | diff -Naur bash-3.2.orig/config-top.h bash-3.2/config-top.h |
---|
| 29 | --- bash-3.2.orig/config-top.h 2005-04-29 13:36:34.000000000 -0700 |
---|
| 30 | +++ bash-3.2/config-top.h 2009-01-08 16:05:44.000000000 -0800 |
---|
| 31 | @@ -52,14 +52,14 @@ |
---|
| 32 | /* The default value of the PATH variable. */ |
---|
| 33 | #ifndef DEFAULT_PATH_VALUE |
---|
| 34 | #define DEFAULT_PATH_VALUE \ |
---|
| 35 | - "/usr/gnu/bin:/usr/local/bin:/bin:/usr/bin:." |
---|
| 36 | + "/usr/local/bin:/bin:/usr/bin" |
---|
| 37 | #endif |
---|
| 38 | |
---|
| 39 | /* The value for PATH when invoking `command -p'. This is only used when |
---|
| 40 | the Posix.2 confstr () function, or CS_PATH define are not present. */ |
---|
| 41 | #ifndef STANDARD_UTILS_PATH |
---|
| 42 | #define STANDARD_UTILS_PATH \ |
---|
| 43 | - "/bin:/usr/bin:/sbin:/usr/sbin:/etc:/usr/etc" |
---|
| 44 | + "/bin:/usr/bin:/usr/sbin:/sbin" |
---|
| 45 | #endif |
---|
| 46 | |
---|
| 47 | /* Default primary and secondary prompt strings. */ |
---|
| 48 | diff -Naur bash-3.2.orig/lib/readline/misc.c bash-3.2/lib/readline/misc.c |
---|
| 49 | --- bash-3.2.orig/lib/readline/misc.c 2009-01-08 15:56:23.000000000 -0800 |
---|
| 50 | +++ bash-3.2/lib/readline/misc.c 2009-01-08 16:06:59.000000000 -0800 |
---|
| 51 | @@ -560,7 +560,7 @@ |
---|
| 52 | #if defined (VI_MODE) |
---|
| 53 | _rl_set_insert_mode (RL_IM_INSERT, 1); /* vi mode ignores insert mode */ |
---|
| 54 | rl_editing_mode = vi_mode; |
---|
| 55 | - rl_vi_insertion_mode (1, key); |
---|
| 56 | + rl_vi_insert_mode (1, key); |
---|
| 57 | #endif /* VI_MODE */ |
---|
| 58 | |
---|
| 59 | return 0; |
---|
| 60 | diff -Naur bash-3.2.orig/lib/readline/readline.c bash-3.2/lib/readline/readline.c |
---|
| 61 | --- bash-3.2.orig/lib/readline/readline.c 2009-01-08 15:56:23.000000000 -0800 |
---|
| 62 | +++ bash-3.2/lib/readline/readline.c 2009-01-08 16:06:59.000000000 -0800 |
---|
| 63 | @@ -370,7 +370,7 @@ |
---|
| 64 | |
---|
| 65 | #if defined (VI_MODE) |
---|
| 66 | if (rl_editing_mode == vi_mode) |
---|
| 67 | - rl_vi_insertion_mode (1, 'i'); |
---|
| 68 | + rl_vi_insert_mode (1, 'i'); |
---|
| 69 | #endif /* VI_MODE */ |
---|
| 70 | |
---|
| 71 | if (rl_pre_input_hook) |
---|
| 72 | @@ -733,7 +733,7 @@ |
---|
| 73 | { |
---|
| 74 | /* Special case rl_do_lowercase_version (). */ |
---|
| 75 | if (func == rl_do_lowercase_version) |
---|
| 76 | - return (_rl_dispatch (_rl_to_lower (key), map)); |
---|
| 77 | + return (_rl_dispatch (_rl_to_lower ((unsigned char)key), map)); |
---|
| 78 | |
---|
| 79 | rl_executing_keymap = map; |
---|
| 80 | |
---|
| 81 | diff -Naur bash-3.2.orig/lib/readline/readline.h bash-3.2/lib/readline/readline.h |
---|
| 82 | --- bash-3.2.orig/lib/readline/readline.h 2006-08-16 12:16:59.000000000 -0700 |
---|
| 83 | +++ bash-3.2/lib/readline/readline.h 2009-01-08 16:06:59.000000000 -0800 |
---|
| 84 | @@ -230,6 +230,7 @@ |
---|
| 85 | extern int rl_vi_end_word PARAMS((int, int)); |
---|
| 86 | extern int rl_vi_insert_beg PARAMS((int, int)); |
---|
| 87 | extern int rl_vi_append_mode PARAMS((int, int)); |
---|
| 88 | +extern int rl_vi_insert_mode PARAMS((int, int)); |
---|
| 89 | extern int rl_vi_append_eol PARAMS((int, int)); |
---|
| 90 | extern int rl_vi_eof_maybe PARAMS((int, int)); |
---|
| 91 | extern int rl_vi_insertion_mode PARAMS((int, int)); |
---|
| 92 | diff -Naur bash-3.2.orig/lib/readline/vi_keymap.c bash-3.2/lib/readline/vi_keymap.c |
---|
| 93 | --- bash-3.2.orig/lib/readline/vi_keymap.c 2005-03-25 16:22:57.000000000 -0800 |
---|
| 94 | +++ bash-3.2/lib/readline/vi_keymap.c 2009-01-08 16:06:59.000000000 -0800 |
---|
| 95 | @@ -151,7 +151,7 @@ |
---|
| 96 | { ISFUNC, rl_vi_char_search }, /* f */ |
---|
| 97 | { ISFUNC, (rl_command_func_t *)0x0 }, /* g */ |
---|
| 98 | { ISFUNC, rl_backward_char }, /* h */ |
---|
| 99 | - { ISFUNC, rl_vi_insertion_mode }, /* i */ |
---|
| 100 | + { ISFUNC, rl_vi_insert_mode }, /* i */ |
---|
| 101 | { ISFUNC, rl_get_next_history }, /* j */ |
---|
| 102 | { ISFUNC, rl_get_previous_history }, /* k */ |
---|
| 103 | { ISFUNC, rl_forward_char }, /* l */ |
---|
| 104 | diff -Naur bash-3.2.orig/lib/readline/vi_mode.c bash-3.2/lib/readline/vi_mode.c |
---|
| 105 | --- bash-3.2.orig/lib/readline/vi_mode.c 2009-01-08 15:56:23.000000000 -0800 |
---|
| 106 | +++ bash-3.2/lib/readline/vi_mode.c 2009-01-08 16:06:59.000000000 -0800 |
---|
| 107 | @@ -220,6 +220,15 @@ |
---|
| 108 | if (rl_point > 0) |
---|
| 109 | _rl_vi_backup (); |
---|
| 110 | } |
---|
| 111 | + /* Ditto for redoing an insert with `I', but move to the beginning of line |
---|
| 112 | + like the `I' command does. */ |
---|
| 113 | + else if (_rl_vi_last_command == 'I' && vi_insert_buffer && *vi_insert_buffer) |
---|
| 114 | + { |
---|
| 115 | + rl_beg_of_line (1, 'I'); |
---|
| 116 | + _rl_vi_stuff_insert (count); |
---|
| 117 | + if (rl_point > 0) |
---|
| 118 | + _rl_vi_backup (); |
---|
| 119 | + } |
---|
| 120 | else |
---|
| 121 | r = _rl_dispatch (_rl_vi_last_command, _rl_keymap); |
---|
| 122 | vi_redoing = 0; |
---|
| 123 | @@ -584,7 +593,7 @@ |
---|
| 124 | int count, key; |
---|
| 125 | { |
---|
| 126 | rl_beg_of_line (1, key); |
---|
| 127 | - rl_vi_insertion_mode (1, key); |
---|
| 128 | + rl_vi_insert_mode (1, key); |
---|
| 129 | return (0); |
---|
| 130 | } |
---|
| 131 | |
---|
| 132 | @@ -618,6 +627,14 @@ |
---|
| 133 | } |
---|
| 134 | |
---|
| 135 | int |
---|
| 136 | +rl_vi_insert_mode (count, key) |
---|
| 137 | + int count, key; |
---|
| 138 | +{ |
---|
| 139 | + rl_vi_start_inserting (key, 1, rl_arg_sign); |
---|
| 140 | + return (0); |
---|
| 141 | +} |
---|
| 142 | + |
---|
| 143 | +int |
---|
| 144 | rl_vi_append_eol (count, key) |
---|
| 145 | int count, key; |
---|
| 146 | { |
---|
| 147 | @@ -690,7 +707,7 @@ |
---|
| 148 | } |
---|
| 149 | else |
---|
| 150 | { |
---|
| 151 | - if ((_rl_vi_last_key_before_insert == 'i' || _rl_vi_last_key_before_insert == 'a') && rl_undo_list) |
---|
| 152 | + if ((_rl_vi_last_key_before_insert == 'i' || _rl_vi_last_key_before_insert == 'a' || _rl_vi_last_key_before_insert == 'I') && rl_undo_list) |
---|
| 153 | _rl_vi_save_insert (rl_undo_list); |
---|
| 154 | /* XXX - Other keys probably need to be checked. */ |
---|
| 155 | else if (_rl_vi_last_key_before_insert == 'C') |
---|
| 156 | diff -Naur bash-3.2.orig/parse.y bash-3.2/parse.y |
---|
| 157 | --- bash-3.2.orig/parse.y 2009-01-08 15:56:51.000000000 -0800 |
---|
| 158 | +++ bash-3.2/parse.y 2009-01-08 16:04:59.000000000 -0800 |
---|
| 159 | @@ -1182,7 +1182,7 @@ |
---|
| 160 | |
---|
| 161 | #if defined (READLINE) |
---|
| 162 | char *current_readline_prompt = (char *)NULL; |
---|
| 163 | -char *current_readline_line = (char *)NULL; |
---|
| 164 | +unsigned char *current_readline_line = (unsigned char *)NULL; |
---|
| 165 | int current_readline_line_index = 0; |
---|
| 166 | |
---|
| 167 | static int |
---|
| 168 | diff -Naur bash-3.2.orig/shell.c bash-3.2/shell.c |
---|
| 169 | --- bash-3.2.orig/shell.c 2006-05-17 05:46:54.000000000 -0700 |
---|
| 170 | +++ bash-3.2/shell.c 2009-01-08 16:07:33.000000000 -0800 |
---|
| 171 | @@ -71,6 +71,10 @@ |
---|
| 172 | # include <readline/history.h> |
---|
| 173 | #endif |
---|
| 174 | |
---|
| 175 | +#if defined (READLINE) |
---|
| 176 | +#include "bashline.h" |
---|
| 177 | +#endif |
---|
| 178 | + |
---|
| 179 | #include <tilde/tilde.h> |
---|
| 180 | #include <glob/strmatch.h> |
---|
| 181 | |
---|
| 182 | @@ -1719,6 +1723,11 @@ |
---|
| 183 | delete_all_contexts (shell_variables); |
---|
| 184 | delete_all_variables (shell_functions); |
---|
| 185 | |
---|
| 186 | +#if defined (READLINE) |
---|
| 187 | + sv_comp_wordbreaks ("COMP_WORDBREAKS"); |
---|
| 188 | + bash_readline_initialized = 0; |
---|
| 189 | +#endif /* READLINE */ |
---|
| 190 | + |
---|
| 191 | shell_reinitialized = 1; |
---|
| 192 | } |
---|
| 193 | |
---|