|
|
@@ -1,253 +1,10 @@
|
|
|
-These are the merged GNU Bash 2.05b vendor patches 001-007:
|
|
|
+This patch documents two implemented and classical command
|
|
|
+line options "-v" and "-x". It is derived from Debian GNU/Linux.
|
|
|
|
|
|
-Index: bashline.c
|
|
|
---- bashline.c.orig 2002-05-07 21:52:42.000000000 +0200
|
|
|
-+++ bashline.c 2004-06-04 14:06:17.000000000 +0200
|
|
|
-@@ -1044,7 +1044,10 @@
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
-+#define CMD_IS_DIR(x) (absolute_pathname(x) == 0 && *(x) != '~' && test_for_directory (x))
|
|
|
-+
|
|
|
- matches = rl_completion_matches (text, command_word_completion_function);
|
|
|
-+
|
|
|
- /* If we are attempting command completion and nothing matches, we
|
|
|
- do not want readline to perform filename completion for us. We
|
|
|
- still want to be able to complete partial pathnames, so set the
|
|
|
-@@ -1052,7 +1055,7 @@
|
|
|
- filenames and leave directories in the match list. */
|
|
|
- if (matches == (char **)NULL)
|
|
|
- rl_ignore_some_completions_function = bash_ignore_filenames;
|
|
|
-- else if (matches[1] == 0 && *matches[0] != '/')
|
|
|
-+ else if (matches[1] == 0 && CMD_IS_DIR(matches[0]))
|
|
|
- /* Turn off rl_filename_completion_desired so readline doesn't
|
|
|
- append a slash if there is a directory with the same name
|
|
|
- in the current directory, or other filename-specific things.
|
|
|
-@@ -1061,7 +1064,7 @@
|
|
|
- looking in the current directory anyway, so there's no
|
|
|
- conflict. */
|
|
|
- rl_filename_completion_desired = 0;
|
|
|
-- else if (matches[0] && matches[1] && STREQ (matches[0], matches[1]) && *matches[0] != '/')
|
|
|
-+ else if (matches[0] && matches[1] && STREQ (matches[0], matches[1]) && CMD_IS_DIR (matches[0]))
|
|
|
- /* There are multiple instances of the same match (duplicate
|
|
|
- completions haven't yet been removed). In this case, all of
|
|
|
- the matches will be the same, and the duplicate removal code
|
|
|
-Index: lib/readline/bind.c
|
|
|
---- lib/readline/bind.c.orig 2002-01-24 17:15:52.000000000 +0100
|
|
|
-+++ lib/readline/bind.c 2004-06-04 14:06:17.000000000 +0200
|
|
|
-@@ -311,7 +311,7 @@
|
|
|
- mapped to something, `abc' to be mapped to something else,
|
|
|
- and the function bound to `a' to be executed when the user
|
|
|
- types `abx', leaving `bx' in the input queue. */
|
|
|
-- if (k.function /* && k.type == ISFUNC */)
|
|
|
-+ if (k.function && ((k.type == ISFUNC && k.function != rl_do_lowercase_version) || k.type == ISMACR))
|
|
|
- {
|
|
|
- map[ANYOTHERKEY] = k;
|
|
|
- k.function = 0;
|
|
|
-Index: lib/readline/display.c
|
|
|
---- lib/readline/display.c.orig 2002-06-04 16:54:47.000000000 +0200
|
|
|
-+++ lib/readline/display.c 2004-06-04 14:06:17.000000000 +0200
|
|
|
-@@ -70,7 +70,7 @@
|
|
|
- static void cr PARAMS((void));
|
|
|
-
|
|
|
- #if defined (HANDLE_MULTIBYTE)
|
|
|
--static int _rl_col_width PARAMS((char *, int, int));
|
|
|
-+static int _rl_col_width PARAMS((const char *, int, int));
|
|
|
- static int *_rl_wrapped_line;
|
|
|
- #else
|
|
|
- # define _rl_col_width(l, s, e) (((e) <= (s)) ? 0 : (e) - (s))
|
|
|
-@@ -1348,9 +1348,9 @@
|
|
|
- {
|
|
|
- _rl_output_some_chars (nfd + lendiff, temp - lendiff);
|
|
|
- #if 0
|
|
|
-- _rl_last_c_pos += _rl_col_width (nfd+lendiff, 0, temp-lendiff) - col_lendiff;
|
|
|
--#else
|
|
|
- _rl_last_c_pos += _rl_col_width (nfd+lendiff, 0, temp-col_lendiff);
|
|
|
-+#else
|
|
|
-+ _rl_last_c_pos += _rl_col_width (nfd+lendiff, 0, temp-lendiff);
|
|
|
- #endif
|
|
|
- }
|
|
|
- }
|
|
|
-@@ -1510,8 +1510,15 @@
|
|
|
- #if defined (HANDLE_MULTIBYTE)
|
|
|
- /* If we have multibyte characters, NEW is indexed by the buffer point in
|
|
|
- a multibyte string, but _rl_last_c_pos is the display position. In
|
|
|
-- this case, NEW's display position is not obvious. */
|
|
|
-- if ((MB_CUR_MAX == 1 || rl_byte_oriented ) && _rl_last_c_pos == new) return;
|
|
|
-+ this case, NEW's display position is not obvious and must be
|
|
|
-+ calculated. */
|
|
|
-+ if (MB_CUR_MAX == 1 || rl_byte_oriented)
|
|
|
-+ {
|
|
|
-+ if (_rl_last_c_pos == new)
|
|
|
-+ return;
|
|
|
-+ }
|
|
|
-+ else if (_rl_last_c_pos == _rl_col_width (data, 0, new))
|
|
|
-+ return;
|
|
|
- #else
|
|
|
- if (_rl_last_c_pos == new) return;
|
|
|
- #endif
|
|
|
-@@ -1594,11 +1601,7 @@
|
|
|
- #endif
|
|
|
- {
|
|
|
- if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
|
|
|
-- {
|
|
|
-- tputs (_rl_term_cr, 1, _rl_output_character_function);
|
|
|
-- for (i = 0; i < new; i++)
|
|
|
-- putc (data[i], rl_outstream);
|
|
|
-- }
|
|
|
-+ _rl_backspace (_rl_last_c_pos - _rl_col_width (data, 0, new));
|
|
|
- else
|
|
|
- _rl_backspace (_rl_last_c_pos - new);
|
|
|
- }
|
|
|
-@@ -2117,7 +2120,7 @@
|
|
|
- scan from the beginning of the string to take the state into account. */
|
|
|
- static int
|
|
|
- _rl_col_width (str, start, end)
|
|
|
-- char *str;
|
|
|
-+ const char *str;
|
|
|
- int start, end;
|
|
|
- {
|
|
|
- wchar_t wc;
|
|
|
-@@ -2193,4 +2196,3 @@
|
|
|
- return width;
|
|
|
- }
|
|
|
- #endif /* HANDLE_MULTIBYTE */
|
|
|
--
|
|
|
-Index: lib/readline/mbutil.c
|
|
|
---- lib/readline/mbutil.c.orig 2002-06-04 17:54:29.000000000 +0200
|
|
|
-+++ lib/readline/mbutil.c 2004-06-04 14:06:17.000000000 +0200
|
|
|
-@@ -205,14 +205,16 @@
|
|
|
- if (tmp == (size_t)(-2))
|
|
|
- {
|
|
|
- /* shorted to compose multibyte char */
|
|
|
-- memset (ps, 0, sizeof(mbstate_t));
|
|
|
-+ if (ps)
|
|
|
-+ memset (ps, 0, sizeof(mbstate_t));
|
|
|
- return -2;
|
|
|
- }
|
|
|
- else if (tmp == (size_t)(-1))
|
|
|
- {
|
|
|
- /* invalid to compose multibyte char */
|
|
|
- /* initialize the conversion state */
|
|
|
-- memset (ps, 0, sizeof(mbstate_t));
|
|
|
-+ if (ps)
|
|
|
-+ memset (ps, 0, sizeof(mbstate_t));
|
|
|
- return -1;
|
|
|
- }
|
|
|
- else if (tmp == (size_t)0)
|
|
|
-@@ -225,9 +227,12 @@
|
|
|
- return 1. Otherwise return 0. */
|
|
|
- int
|
|
|
- _rl_compare_chars (buf1, pos1, ps1, buf2, pos2, ps2)
|
|
|
-- char *buf1, *buf2;
|
|
|
-- mbstate_t *ps1, *ps2;
|
|
|
-- int pos1, pos2;
|
|
|
-+ char *buf1;
|
|
|
-+ int pos1;
|
|
|
-+ mbstate_t *ps1;
|
|
|
-+ char *buf2;
|
|
|
-+ int pos2;
|
|
|
-+ mbstate_t *ps2;
|
|
|
- {
|
|
|
- int i, w1, w2;
|
|
|
-
|
|
|
-@@ -276,8 +281,11 @@
|
|
|
- pos++;
|
|
|
- /* clear the state of the byte sequence, because
|
|
|
- in this case effect of mbstate is undefined */
|
|
|
-- memset (ps, 0, sizeof (mbstate_t));
|
|
|
-+ if (ps)
|
|
|
-+ memset (ps, 0, sizeof (mbstate_t));
|
|
|
- }
|
|
|
-+ else if (tmp == 0)
|
|
|
-+ pos++;
|
|
|
- else
|
|
|
- pos += tmp;
|
|
|
- }
|
|
|
-Index: lib/readline/readline.c
|
|
|
---- lib/readline/readline.c.orig 2002-03-13 23:10:46.000000000 +0100
|
|
|
-+++ lib/readline/readline.c 2004-06-04 14:06:17.000000000 +0200
|
|
|
-@@ -684,6 +684,7 @@
|
|
|
- }
|
|
|
- #if defined (VI_MODE)
|
|
|
- if (rl_editing_mode == vi_mode && _rl_keymap == vi_movement_keymap &&
|
|
|
-+ key != ANYOTHERKEY &&
|
|
|
- _rl_vi_textmod_command (key))
|
|
|
- _rl_vi_set_last (key, rl_numeric_arg, rl_arg_sign);
|
|
|
- #endif
|
|
|
-Index: lib/readline/vi_mode.c
|
|
|
---- lib/readline/vi_mode.c.orig 2002-05-23 19:27:58.000000000 +0200
|
|
|
-+++ lib/readline/vi_mode.c 2004-06-04 14:06:17.000000000 +0200
|
|
|
-@@ -680,7 +680,8 @@
|
|
|
- int count;
|
|
|
- {
|
|
|
- wchar_t wc;
|
|
|
-- char mb[MB_LEN_MAX];
|
|
|
-+ char mb[MB_LEN_MAX+1];
|
|
|
-+ int mblen;
|
|
|
- mbstate_t ps;
|
|
|
-
|
|
|
- memset (&ps, 0, sizeof (mbstate_t));
|
|
|
-@@ -703,7 +704,9 @@
|
|
|
- /* Vi is kind of strange here. */
|
|
|
- if (wc)
|
|
|
- {
|
|
|
-- wctomb (mb, wc);
|
|
|
-+ mblen = wctomb (mb, wc);
|
|
|
-+ if (mblen >= 0)
|
|
|
-+ mb[mblen] = '\0';
|
|
|
- rl_begin_undo_group ();
|
|
|
- rl_delete (1, 0);
|
|
|
- rl_insert_text (mb);
|
|
|
-Index: subst.c
|
|
|
---- subst.c.orig 2002-06-24 13:59:45.000000000 +0200
|
|
|
-+++ subst.c 2004-06-04 14:06:17.000000000 +0200
|
|
|
-@@ -1638,11 +1638,10 @@
|
|
|
-
|
|
|
- /* This performs word splitting and quoted null character removal on
|
|
|
- STRING. */
|
|
|
--#if 0
|
|
|
--#define issep(c) ((separators)[1] ? (member ((c), separators)) : (c) == (separators)[0])
|
|
|
--#else
|
|
|
--#define issep(c) ((separators)[1] ? isifs(c) : (c) == (separators)[0])
|
|
|
--#endif
|
|
|
-+#define issep(c) \
|
|
|
-+ (((separators)[0]) ? ((separators)[1] ? isifs(c) \
|
|
|
-+ : (c) == (separators)[0]) \
|
|
|
-+ : 0)
|
|
|
-
|
|
|
- WORD_LIST *
|
|
|
- list_string (string, separators, quoted)
|
|
|
-
|
|
|
------------------------------------------------------------------------------
|
|
|
-
|
|
|
-This patch makes sure Bash does not segfault on empty here documents. It
|
|
|
-is derived from Gentoo Linux. The problem can be reproduced with "xargs
|
|
|
-<<< ${EMTPY_VARIABLE}".
|
|
|
-
|
|
|
---- redir.c 2002-03-12 20:27:38.000000000 +0000
|
|
|
-+++ redir.c 2003-05-01 13:04:07.000000000 +0100
|
|
|
-@@ -263,8 +263,10 @@
|
|
|
- int herelen, n, e;
|
|
|
-
|
|
|
- herestr = expand_string_to_string (redirectee->word, 0);
|
|
|
-- herelen = strlen (herestr);
|
|
|
-
|
|
|
-+ /* verify string wasnt empty */
|
|
|
-+ herelen = (herestr == NULL) ? 0 : strlen (herestr);
|
|
|
-+
|
|
|
- n = write (fd, herestr, herelen);
|
|
|
- if (n == herelen)
|
|
|
- {
|
|
|
-
|
|
|
------------------------------------------------------------------------------
|
|
|
-
|
|
|
-This patch documents two implemented and classical command line options
|
|
|
-"-v" and "-v". It is derived from Debian GNU/Linux.
|
|
|
-
|
|
|
---- doc/bash.1 Wed Jan 20 22:48:04 1999
|
|
|
-+++ doc/bash.1 Sun Nov 14 13:26:59 1999
|
|
|
-@@ -104,6 +104,12 @@
|
|
|
+Index: doc/bash.1
|
|
|
+--- doc/bash.1.orig 2004-07-12 17:27:08 +0200
|
|
|
++++ doc/bash.1 2004-07-27 19:47:10 +0200
|
|
|
+@@ -113,6 +113,12 @@
|
|
|
This option allows the positional parameters to be set
|
|
|
when invoking an interactive shell.
|
|
|
.TP
|
|
|
@@ -263,24 +20,38 @@ This patch documents two implemented and classical command line options
|
|
|
|
|
|
-----------------------------------------------------------------------------
|
|
|
|
|
|
-This patch makes sure Bash does not segfault on on "shift" under "shopt
|
|
|
--s shift_verbose". It is a null pointer dereference caused by an
|
|
|
-erroneous assumption that, when the number of arguments to shift exceeds
|
|
|
-the number of arguments available for shifting, the latter is always
|
|
|
-explicitly specified on the command line rather than left implicit at
|
|
|
-the default 1. The patch was derived from Debian GNU/Linux.
|
|
|
+This patch adds an explicit recognition for terminal sequence "kD" to be
|
|
|
+"Delete" key. This is derived from Debian GNU/Linux and SuSE Linux.
|
|
|
|
|
|
---- builtins/shift.def.orig 2002-10-22 01:05:10.000000000 -0400
|
|
|
-+++ builtins/shift.def 2002-10-22 01:05:06.000000000 -0400
|
|
|
-@@ -68,7 +68,7 @@
|
|
|
- else if (times > number_of_args ())
|
|
|
- {
|
|
|
- if (print_shift_error)
|
|
|
-- sh_erange (list->word->word, "shift count");
|
|
|
-+ sh_erange (list ? list->word->word : NULL, "shift count");
|
|
|
- return (EXECUTION_FAILURE);
|
|
|
- }
|
|
|
+Index: lib/readline/terminal.c
|
|
|
+--- lib/readline/terminal.c.orig 2003-09-18 17:03:42 +0200
|
|
|
++++ lib/readline/terminal.c 2004-07-27 20:03:17 +0200
|
|
|
+@@ -145,6 +145,9 @@
|
|
|
+ static char *_rl_term_kH;
|
|
|
+ static char *_rl_term_at7; /* @7 */
|
|
|
|
|
|
++/* The key sequence sent by the Delete key, if any. */
|
|
|
++static char *_rl_term_kD;
|
|
|
++
|
|
|
+ /* Insert key */
|
|
|
+ static char *_rl_term_kI;
|
|
|
+
|
|
|
+@@ -313,6 +316,7 @@
|
|
|
+ { "ei", &_rl_term_ei },
|
|
|
+ { "ic", &_rl_term_ic },
|
|
|
+ { "im", &_rl_term_im },
|
|
|
++ { "kD", &_rl_term_kD }, /* delete */
|
|
|
+ { "kH", &_rl_term_kH }, /* home down ?? */
|
|
|
+ { "kI", &_rl_term_kI }, /* insert */
|
|
|
+ { "kd", &_rl_term_kd },
|
|
|
+@@ -492,6 +496,7 @@
|
|
|
+
|
|
|
+ rl_bind_keyseq_if_unbound (_rl_term_kh, rl_beg_of_line); /* Home */
|
|
|
+ rl_bind_keyseq_if_unbound (_rl_term_at7, rl_end_of_line); /* End */
|
|
|
++ rl_bind_keyseq_if_unbound (_rl_term_kD, rl_delete); /* Delete */
|
|
|
+
|
|
|
+ _rl_keymap = xkeymap;
|
|
|
+ }
|
|
|
|
|
|
-----------------------------------------------------------------------------
|
|
|
|
|
|
@@ -288,10 +59,10 @@ This patch makes sure a signal state variable is declared "volatile" so
|
|
|
it is consistent throughout signal handling. This patch is derived from
|
|
|
SuSE Linux.
|
|
|
|
|
|
---- quit.h
|
|
|
-+++ quit.h Wed May 2 17:38:34 2001
|
|
|
-@@ -21,8 +21,8 @@
|
|
|
- #if !defined (_QUIT_H_)
|
|
|
+Index: quit.h
|
|
|
+--- quit.h.orig 2001-09-10 16:08:33 +0200
|
|
|
++++ quit.h 2004-07-27 19:47:10 +0200
|
|
|
+@@ -22,7 +22,7 @@
|
|
|
#define _QUIT_H_
|
|
|
|
|
|
/* Non-zero means SIGINT has already ocurred. */
|
|
|
@@ -300,10 +71,11 @@ SuSE Linux.
|
|
|
|
|
|
/* Macro to call a great deal. SIGINT just sets above variable. When
|
|
|
it is safe, put QUIT in the code, and the "interrupt" will take place. */
|
|
|
---- sig.c
|
|
|
-+++ sig.c Wed May 2 17:36:17 2001
|
|
|
-@@ -57,7 +57,7 @@
|
|
|
- extern int interactive, interactive_shell, login_shell, startup_state;
|
|
|
+Index: sig.c
|
|
|
+--- sig.c.orig 2003-12-19 22:11:35 +0100
|
|
|
++++ sig.c 2004-07-27 19:47:10 +0200
|
|
|
+@@ -59,7 +59,7 @@
|
|
|
+ extern int parse_and_execute_level, shell_initialized;
|
|
|
|
|
|
/* Non-zero after SIGINT. */
|
|
|
-int interrupt_state;
|
|
|
@@ -311,74 +83,23 @@ SuSE Linux.
|
|
|
|
|
|
/* The environment at the top-level R-E loop. We use this in
|
|
|
the case of error return. */
|
|
|
-@@ -69,7 +69,7 @@
|
|
|
+@@ -71,7 +71,7 @@
|
|
|
#endif /* JOB_CONTROL */
|
|
|
|
|
|
/* When non-zero, we throw_to_top_level (). */
|
|
|
-int interrupt_immediately = 0;
|
|
|
+volatile int interrupt_immediately = 0;
|
|
|
|
|
|
- static void initialize_shell_signals ();
|
|
|
+ static void initialize_shell_signals __P((void));
|
|
|
|
|
|
-----------------------------------------------------------------------------
|
|
|
|
|
|
-This patch adds an explicit recognition for terminal sequence "kD" to be
|
|
|
-"Delete" key. This is derived from Debian GNU/Linux and SuSE Linux.
|
|
|
-
|
|
|
---- lib/readline/terminal.c
|
|
|
-+++ lib/readline/terminal.c Thu Jul 18 14:34:00 2002
|
|
|
-@@ -145,6 +145,9 @@
|
|
|
- static char *_rl_term_kH;
|
|
|
- static char *_rl_term_at7; /* @7 */
|
|
|
-
|
|
|
-+/* The key sequence sent by the Delete key, if any. */
|
|
|
-+static char *_rl_term_kD;
|
|
|
-+
|
|
|
- /* Insert key */
|
|
|
- static char *_rl_term_kI;
|
|
|
-
|
|
|
-@@ -313,6 +316,7 @@
|
|
|
- { "ei", &_rl_term_ei },
|
|
|
- { "ic", &_rl_term_ic },
|
|
|
- { "im", &_rl_term_im },
|
|
|
-+ { "kD", &_rl_term_kD }, /* delete */
|
|
|
- { "kH", &_rl_term_kH }, /* home down ?? */
|
|
|
- { "kI", &_rl_term_kI }, /* insert */
|
|
|
- { "kd", &_rl_term_kd },
|
|
|
-@@ -496,6 +500,7 @@
|
|
|
-
|
|
|
- _rl_bind_if_unbound (_rl_term_kh, rl_beg_of_line); /* Home */
|
|
|
- _rl_bind_if_unbound (_rl_term_at7, rl_end_of_line); /* End */
|
|
|
-+ _rl_bind_if_unbound (_rl_term_kD, rl_delete); /* Delete */
|
|
|
-
|
|
|
- _rl_keymap = xkeymap;
|
|
|
- }
|
|
|
-
|
|
|
------------------------------------------------------------------------------
|
|
|
-
|
|
|
-This patch makes sure Bash does not segfault on a particular error.
|
|
|
-It is derived from RedHat Linux.
|
|
|
-
|
|
|
---- builtins/common.c.warnings 2003-03-25 17:48:02.000000000 +0000
|
|
|
-+++ builtins/common.c 2003-03-25 17:49:03.000000000 +0000
|
|
|
-@@ -244,7 +244,7 @@
|
|
|
- char *s;
|
|
|
- {
|
|
|
- if (s)
|
|
|
-- builtin_error ("%s: no job control");
|
|
|
-+ builtin_error ("%s: no job control", s);
|
|
|
- else
|
|
|
- builtin_error ("no job control");
|
|
|
- }
|
|
|
-
|
|
|
------------------------------------------------------------------------------
|
|
|
-
|
|
|
Port to HP-UX 11i and similar less smart platforms.
|
|
|
|
|
|
Index: configure
|
|
|
---- configure.orig 2002-07-16 15:31:47.000000000 +0200
|
|
|
-+++ configure 2004-06-04 11:51:17.000000000 +0200
|
|
|
-@@ -1146,6 +1146,7 @@
|
|
|
+--- configure.orig 2004-07-21 22:18:56 +0200
|
|
|
++++ configure 2004-07-27 19:47:10 +0200
|
|
|
+@@ -1479,6 +1479,7 @@
|
|
|
*-beos*) opt_bash_malloc=no ;; # they say it's suitable
|
|
|
*-cygwin*) opt_bash_malloc=no ;; # Cygnus's CYGWIN environment
|
|
|
*-opennt*|*-interix*) opt_bash_malloc=no ;; # Interix, now owned by Microsoft
|
|
|
@@ -386,24 +107,18 @@ Index: configure
|
|
|
esac
|
|
|
|
|
|
# memory scrambling on free()
|
|
|
-Index: mksyntax.c
|
|
|
---- mksyntax.c.orig 2002-02-07 15:32:28.000000000 +0100
|
|
|
-+++ mksyntax.c 2004-06-04 11:53:19.000000000 +0200
|
|
|
-@@ -128,7 +128,11 @@
|
|
|
-
|
|
|
- switch (i)
|
|
|
- {
|
|
|
-+#if defined(__STDC__)
|
|
|
- case '\a': xbuf[1] = 'a'; break;
|
|
|
-+#else
|
|
|
-+ case 7: xbuf[1] = 'a'; break;
|
|
|
-+#endif
|
|
|
- case '\v': xbuf[1] = 'v'; break;
|
|
|
- case '\b': xbuf[1] = 'b'; break;
|
|
|
- case '\f': xbuf[1] = 'f'; break;
|
|
|
+@@ -1624,7 +1625,7 @@
|
|
|
+
|
|
|
+ else
|
|
|
+ MALLOC_LIB=
|
|
|
+- MALLOC_LIBRARY=
|
|
|
++ MALLOC_LIBRARY=dummy
|
|
|
+ MALLOC_LDFLAGS=
|
|
|
+ MALLOC_DEP=
|
|
|
+ fi
|
|
|
Index: syntax.h
|
|
|
---- syntax.h.orig 2002-02-25 17:52:37.000000000 +0100
|
|
|
-+++ syntax.h 2004-06-04 11:53:49.000000000 +0200
|
|
|
+--- syntax.h.orig 2004-04-15 05:19:36 +0200
|
|
|
++++ syntax.h 2004-07-27 19:47:10 +0200
|
|
|
@@ -21,6 +21,8 @@
|
|
|
#ifndef _SYNTAX_H_
|
|
|
#define _SYNTAX_H_
|
|
|
@@ -413,15 +128,46 @@ Index: syntax.h
|
|
|
/* Defines for use by mksyntax.c */
|
|
|
|
|
|
#define slashify_in_quotes "\\`$\"\n"
|
|
|
-Index: builtins/printf.def
|
|
|
---- builtins/printf.def.orig 2002-05-13 20:36:04.000000000 +0200
|
|
|
-+++ builtins/printf.def 2004-06-04 11:57:44.000000000 +0200
|
|
|
-@@ -114,7 +114,7 @@
|
|
|
- static intmax_t getintmax __P((void));
|
|
|
- static uintmax_t getuintmax __P((void));
|
|
|
-
|
|
|
--#if defined (HAVE_LONG_DOUBLE) && HAVE_DECL_STRTOLD
|
|
|
-+#if defined (HAVE_LONG_DOUBLE) && HAVE_DECL_STRTOLD && !defined(HPUX)
|
|
|
- typedef long double floatmax_t;
|
|
|
- # define FLOATMAX_CONV "L"
|
|
|
- # define strtofltmax strtold
|
|
|
+
|
|
|
+-----------------------------------------------------------------------------
|
|
|
+
|
|
|
+This adds the OpenPKG packaging brand.
|
|
|
+
|
|
|
+Index: version.c
|
|
|
+--- version.c.orig 2003-12-19 22:34:02 +0100
|
|
|
++++ version.c 2004-07-27 19:47:10 +0200
|
|
|
+@@ -77,7 +77,7 @@
|
|
|
+ show_shell_version (extended)
|
|
|
+ int extended;
|
|
|
+ {
|
|
|
+- printf ("GNU bash, version %s (%s)\n", shell_version_string (), MACHTYPE);
|
|
|
++ printf ("GNU bash, version %s (%s) [@l_openpkg_release@]\n", shell_version_string (), MACHTYPE);
|
|
|
+ if (extended)
|
|
|
+ printf (_("Copyright (C) 2004 Free Software Foundation, Inc.\n"));
|
|
|
+ }
|
|
|
+
|
|
|
+-----------------------------------------------------------------------------
|
|
|
+
|
|
|
+Fix display handling of multi-line prompts.
|
|
|
+
|
|
|
+Index: lib/readline/display.c
|
|
|
+--- lib/readline/display.c.orig 2004-05-28 04:57:51 +0200
|
|
|
++++ lib/readline/display.c 2004-07-28 20:17:43 +0200
|
|
|
+@@ -351,14 +351,14 @@
|
|
|
+ local_prompt = expand_prompt (p, &prompt_visible_length,
|
|
|
+ &prompt_last_invisible,
|
|
|
+ (int *)NULL,
|
|
|
+- (int *)NULL);
|
|
|
++ &prompt_physical_chars);
|
|
|
+ c = *t; *t = '\0';
|
|
|
+ /* The portion of the prompt string up to and including the
|
|
|
+ final newline is now null-terminated. */
|
|
|
+ local_prompt_prefix = expand_prompt (prompt, &prompt_prefix_length,
|
|
|
+ (int *)NULL,
|
|
|
+ &prompt_invis_chars_first_line,
|
|
|
+- &prompt_physical_chars);
|
|
|
++ (int *)NULL);
|
|
|
+ *t = c;
|
|
|
+ return (prompt_prefix_length);
|
|
|
+ }
|
|
|
+
|