[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 |
|
---|