Dr. Werner Fink 2017-04-26 16:05:14 +00:00 committed by Git OBS Bridge
parent 08ad72078a
commit 2cf1224931
2 changed files with 49 additions and 39 deletions

View File

@ -1,3 +1,8 @@
-------------------------------------------------------------------
Wed Apr 26 16:04:15 UTC 2017 - werner@suse.de
- Simplify patch readline-5.2-conf.patch
-------------------------------------------------------------------
Tue Apr 25 09:18:16 UTC 2017 - werner@suse.de

View File

@ -1,11 +1,11 @@
---
lib/readline/bind.c | 49 +++++++++++++++++++++++++++++++++++++++++--------
lib/readline/doc/rluser.texi | 3 ++-
lib/readline/rlconf.h | 2 +-
3 files changed, 44 insertions(+), 10 deletions(-)
lib/readline/bind.c | 55 ++++++++++++++++++++++++++++++++++---------
lib/readline/doc/rluser.texi | 3 +-
lib/readline/rlconf.h | 2 -
3 files changed, 47 insertions(+), 13 deletions(-)
--- lib/readline/bind.c
+++ lib/readline/bind.c 2006-11-13 16:20:23.000000000 +0000
+++ lib/readline/bind.c 2017-04-26 13:07:22.115249970 +0000
@@ -826,6 +826,9 @@ rl_function_of_keyseq (keyseq, map, type
/* The last key bindings file read. */
static char *last_readline_init_file = (char *)NULL;
@ -32,32 +32,29 @@
4. /etc/inputrc
If the file existed and could be opened and read, 0 is returned,
otherwise errno is returned. */
@@ -907,16 +913,37 @@ rl_read_init_file (filename)
if (filename == 0)
filename = last_readline_init_file;
@@ -905,18 +911,39 @@ rl_read_init_file (filename)
{
/* Default the filename. */
if (filename == 0)
- filename = last_readline_init_file;
- if (filename == 0)
- filename = sh_get_env_value ("INPUTRC");
- if (filename == 0 || *filename == 0)
+ {
+ filename = last_readline_init_file;
+ if (filename == 0)
+ {
+ 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))
+ read_system_init_file = 0;
+ }
+ if (filename == 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)
+ if (*filename == 0)
{
filename = DEFAULT_INPUTRC;
- /* Try to read DEFAULT_INPUTRC; fall back to SYS_INPUTRC on failure */
@ -70,7 +67,15 @@
+ sv_bell_style(sh_get_env_value("DEFAULT_BELL_STYLE"));
+
+ if (read_system_init_file)
+ _rl_read_init_file (SYS_INPUTRC, 1);
+ if (filename == last_readline_init_file)
+ {
+ filename = savestring (filename);
+ _rl_read_init_file (SYS_INPUTRC, 0);
+ free (last_readline_init_file);
+ last_readline_init_file = filename;
+ }
+ else
+ _rl_read_init_file (SYS_INPUTRC, 0);
+
#if defined (__MSDOS__)
if (_rl_read_init_file (filename, 0) == 0)
@ -99,19 +104,8 @@
static int sv_combegin PARAMS((const char *));
static int sv_dispprefix PARAMS((const char *));
static int sv_compquery PARAMS((const char *));
--- lib/readline/rlconf.h
+++ lib/readline/rlconf.h 2006-11-13 16:21:26.000000000 +0000
@@ -37,7 +37,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"
--- lib/readline/doc/rluser.texi
+++ lib/readline/doc/rluser.texi 2006-11-13 16:23:56.000000000 +0000
+++ lib/readline/doc/rluser.texi 2017-04-26 12:57:24.590906421 +0000
@@ -349,7 +349,8 @@ file is taken from the value of the envi
@end ifclear
that variable is unset, the default is @file{~/.inputrc}. If that
@ -122,3 +116,14 @@
When a program which uses the Readline library starts up, the
init file is read, and the key bindings are set.
--- lib/readline/rlconf.h
+++ lib/readline/rlconf.h 2017-04-26 12:57:24.586906499 +0000
@@ -37,7 +37,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"