how to use patches?

brian rischman rischm40 at yahoo.com
Sat Aug 14 12:29:24 PDT 2004


i am up to the point of getting the patches. when i
click on the link it takes me to a page with a binch
of text on it. i guess this is the raw code. what do i
do with the text? when i click on the first link i get
this:

Submitted By: Jeremy Utley
<jeremy at linuxfromscratch.org>
Date: 2003-08-28
Initial Package Version: 2.05b
Origin: ftp://ftp.gnu.org/gnu/bash
Description: Integrates all 7 published bash-2.05b
patches into a single
patch file for LFS use.

diff -Naur bash-2.05b/bashline.c
bash-2.05b-new/bashline.c
--- bash-2.05b/bashline.c 2002-05-07
15:52:42.000000000 -0400
+++ bash-2.05b-new/bashline.c 2003-08-28
13:29:37.000000000 -0400
@@ -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
diff -Naur bash-2.05b/lib/readline/bind.c
bash-2.05b-new/lib/readline/bind.c
--- bash-2.05b/lib/readline/bind.c 2002-01-24
11:15:52.000000000 -0500
+++ bash-2.05b-new/lib/readline/bind.c 2003-08-28
13:29:37.000000000 -0400
@@ -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;
diff -Naur bash-2.05b/lib/readline/display.c
bash-2.05b-new/lib/readline/display.c
--- bash-2.05b/lib/readline/display.c 2002-06-04
10:54:47.000000000 -0400
+++ bash-2.05b-new/lib/readline/display.c 2003-08-28
13:29:37.000000000 -0400
@@ -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 */
-
diff -Naur bash-2.05b/lib/readline/mbutil.c
bash-2.05b-new/lib/readline/mbutil.c
--- bash-2.05b/lib/readline/mbutil.c 2002-06-04
11:54:29.000000000 -0400
+++ bash-2.05b-new/lib/readline/mbutil.c 2003-08-28
13:29:37.000000000 -0400
@@ -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;
}
diff -Naur bash-2.05b/lib/readline/readline.c
bash-2.05b-new/lib/readline/readline.c
--- bash-2.05b/lib/readline/readline.c 2002-03-13
17:10:46.000000000 -0500
+++ bash-2.05b-new/lib/readline/readline.c 2003-08-28
13:29:37.000000000 -0400
@@ -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
diff -Naur bash-2.05b/lib/readline/vi_mode.c
bash-2.05b-new/lib/readline/vi_mode.c
--- bash-2.05b/lib/readline/vi_mode.c 2002-05-23
13:27:58.000000000 -0400
+++ bash-2.05b-new/lib/readline/vi_mode.c 2003-08-28
13:29:37.000000000 -0400
@@ -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);
diff -Naur bash-2.05b/subst.c bash-2.05b-new/subst.c
--- bash-2.05b/subst.c 2002-06-24 07:59:45.000000000
-0400
+++ bash-2.05b-new/subst.c 2003-08-28
13:29:37.000000000 -0400
@@ -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)




what should i do with this?

i am putting together lfs-5.1.1.

thanks


		
__________________________________
Do you Yahoo!?
New and Improved Yahoo! Mail - Send 10MB messages!
http://promotions.yahoo.com/new_mail 



More information about the lfs-support mailing list