diff options
author | Pete Travis <immanetize@fedoraproject.org> | 2014-10-01 11:59:35 -0600 |
---|---|---|
committer | Pete Travis <immanetize@fedoraproject.org> | 2014-10-01 11:59:35 -0600 |
commit | 4a895d111d1b13ddb624a8d055d217e695361447 (patch) | |
tree | 03c8d4640a38d58fbdc5c8ef5458a2613f55e3fb /SOURCES/readline-5.2-conf.patch | |
parent | f5afed3fb60ea2a362cfd696b9edf259ca33e1da (diff) | |
download | rpmbuild-4a895d111d1b13ddb624a8d055d217e695361447.tar.gz rpmbuild-4a895d111d1b13ddb624a8d055d217e695361447.tar.xz rpmbuild-4a895d111d1b13ddb624a8d055d217e695361447.zip |
sles 11.2 bash, in wholesles11.2-bash
Diffstat (limited to 'SOURCES/readline-5.2-conf.patch')
-rw-r--r-- | SOURCES/readline-5.2-conf.patch | 124 |
1 files changed, 124 insertions, 0 deletions
diff --git a/SOURCES/readline-5.2-conf.patch b/SOURCES/readline-5.2-conf.patch new file mode 100644 index 0000000..448efe1 --- /dev/null +++ b/SOURCES/readline-5.2-conf.patch @@ -0,0 +1,124 @@ +Index: lib/readline/bind.c +=================================================================== +--- lib/readline/bind.c.orig ++++ lib/readline/bind.c +@@ -751,6 +751,9 @@ rl_function_of_keyseq (keyseq, map, type + /* The last key bindings file read. */ + static char *last_readline_init_file = (char *)NULL; + ++/* Flag to read system init file */ ++static int read_system_init_file = 0; ++ + /* The file we're currently reading key bindings from. */ + static const char *current_readline_init_file; + static int current_readline_init_include_level; +@@ -816,11 +819,14 @@ rl_re_read_init_file (count, ignore) + return r; + } + ++/* Forward declarations */ ++static int sv_bell_style PARAMS((const char *)); ++ + /* Do key bindings from a file. If FILENAME is NULL it defaults + to the first non-null filename from this list: + 1. the filename used for the previous call + 2. the value of the shell variable `INPUTRC' +- 3. ~/.inputrc ++ 3. /etc/inputrc and ~/.inputrc + 4. /etc/inputrc + If the file existed and could be opened and read, 0 is returned, + otherwise errno is returned. */ +@@ -832,16 +838,37 @@ rl_read_init_file (filename) + if (filename == 0) + filename = last_readline_init_file; + if (filename == 0) +- filename = sh_get_env_value ("INPUTRC"); ++ { ++ filename = sh_get_env_value ("INPUTRC"); ++ if (filename && !strncmp(SYS_INPUTRC, filename, strlen(SYS_INPUTRC))) ++ { ++ struct stat st; ++ char *default_inputrc = tilde_expand(DEFAULT_INPUTRC); ++ ++ if ((stat(default_inputrc, &st) == 0)) ++ { ++ filename = DEFAULT_INPUTRC; ++ read_system_init_file = 1; ++ } ++ else ++ read_system_init_file = 0; ++ ++ free(default_inputrc); ++ } ++ else ++ read_system_init_file = 1; ++ } + if (filename == 0 || *filename == 0) + { + filename = DEFAULT_INPUTRC; +- /* Try to read DEFAULT_INPUTRC; fall back to SYS_INPUTRC on failure */ +- if (_rl_read_init_file (filename, 0) == 0) +- return 0; +- filename = SYS_INPUTRC; ++ read_system_init_file = 1; + } + ++ sv_bell_style(sh_get_env_value("DEFAULT_BELL_STYLE")); ++ ++ if (read_system_init_file) ++ _rl_read_init_file (SYS_INPUTRC, 1); ++ + #if defined (__MSDOS__) + if (_rl_read_init_file (filename, 0) == 0) + return 0; +@@ -1352,7 +1379,14 @@ rl_parse_and_bind (string) + rl_macro_bind (seq, &funname[1], _rl_keymap); + } + else +- rl_bind_keyseq (seq, rl_named_function (funname)); ++ { ++#if defined (PREFIX_META_HACK) ++ if (_rl_stricmp (funname, "prefix-meta") == 0) ++ rl_generic_bind (ISKMAP, seq, (char *)emacs_meta_keymap, _rl_keymap); ++ else ++#endif ++ rl_bind_keyseq (seq, rl_named_function (funname)); ++ } + + xfree (seq); + return 0; +@@ -1490,7 +1524,6 @@ typedef int _rl_sv_func_t PARAMS((const + #define V_INT 2 + + /* Forward declarations */ +-static int sv_bell_style PARAMS((const char *)); + static int sv_combegin PARAMS((const char *)); + static int sv_dispprefix PARAMS((const char *)); + static int sv_compquery PARAMS((const char *)); +Index: lib/readline/rlconf.h +=================================================================== +--- lib/readline/rlconf.h.orig ++++ lib/readline/rlconf.h +@@ -33,7 +33,7 @@ + #define HANDLE_SIGNALS + + /* Ugly but working hack for binding prefix meta. */ +-#define PREFIX_META_HACK ++#undef PREFIX_META_HACK + + /* The next-to-last-ditch effort file name for a user-specific init file. */ + #define DEFAULT_INPUTRC "~/.inputrc" +Index: lib/readline/doc/rluser.texi +=================================================================== +--- lib/readline/doc/rluser.texi.orig ++++ lib/readline/doc/rluser.texi +@@ -347,7 +347,8 @@ file is taken from the value of the envi + @end ifclear + that variable is unset, the default is @file{~/.inputrc}. If that + file does not exist or cannot be read, the ultimate default is +-@file{/etc/inputrc}. ++@file{/etc/inputrc}. If both @file{~/.inputrc} and @file{/etc/inputrc} ++exist Readline will read first @file{/etc/inputrc} and then @file{~/.inputrc}. + + When a program which uses the Readline library starts up, the + init file is read, and the key bindings are set. |