@@ -0,0 +1,282 @@
+Index: .pkgextract
+===================================================================
+--- /dev/null
++++ .pkgextract
+@@ -0,0 +1,14 @@
++tar Oxfj ../bash-4.0-patches.tar.bz2 | patch -p0 -s
++patch -p0 -s --suffix=".manual" < ../bash-2.03-manual.patch
++patch -p0 -s --suffix=".security" < ../bash-4.0-security.patch
++patch -p0 -s --suffix=".2.4.4" < ../bash-3.2-2.4.4.patch
++patch -p0 -s --suffix=".evalexp" < ../bash-3.0-evalexp.patch
++patch -p0 -s --suffix=".warnlc" < ../bash-3.0-warn-locale.patch
++patch -p0 -s --suffix=".nfs_redir"< ../bash-3.0-nfs_redir.patch
++patch -p0 -s --suffix=".decl" < ../bash-3.0-decl.patch
++patch -p0 -s --suffix=".equote" < ../bash-4.0-extended_quote.patch
++patch -p0 -s --suffix=".printf" < ../bash-3.2-printf.patch
++patch -p0 -s --suffix=".plugins" < ../bash-4.0-loadables.dif
++patch -p0 -s --suffix=".zerotty" < ../readline-4.3-input.dif
++patch -p0 -s --suffix=".wrap" < ../readline-6.0-wrap.patch
++patch -p0 -s --suffix=".conf" < ../readline-5.2-conf.patch
+Index: config-top.h
+===================================================================
+--- config-top.h.orig
++++ config-top.h
+@@ -54,14 +54,14 @@
+ /* The default value of the PATH variable. */
+ #ifndef DEFAULT_PATH_VALUE
+ #define DEFAULT_PATH_VALUE \
+- "/usr/gnu/bin:/usr/local/bin:/bin:/usr/bin:."
++ "/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:."
+ #endif
+
+ /* The value for PATH when invoking `command -p'. This is only used when
+ the Posix.2 confstr () function, or CS_PATH define are not present. */
+ #ifndef STANDARD_UTILS_PATH
+ #define STANDARD_UTILS_PATH \
+- "/bin:/usr/bin:/sbin:/usr/sbin:/etc:/usr/etc"
++ "/bin:/usr/bin:/sbin:/usr/sbin"
+ #endif
+
+ /* Default primary and secondary prompt strings. */
+@@ -75,20 +75,20 @@
+ #define KSH_COMPATIBLE_SELECT
+
+ /* System-wide .bashrc file for interactive shells. */
+-/* #define SYS_BASHRC "/etc/bash.bashrc" */
++#define SYS_BASHRC "/etc/bash.bashrc"
+
+ /* System-wide .bash_logout for login shells. */
+-/* #define SYS_BASH_LOGOUT "/etc/bash.bash_logout" */
++#define SYS_BASH_LOGOUT "/etc/bash.bash_logout"
+
+ /* Define this to make non-interactive shells begun with argv[0][0] == '-'
+ run the startup files when not in posix mode. */
+-/* #define NON_INTERACTIVE_LOGIN_SHELLS */
++#define NON_INTERACTIVE_LOGIN_SHELLS
+
+ /* Define this if you want bash to try to check whether it's being run by
+ sshd and source the .bashrc if so (like the rshd behavior). This checks
+ for the presence of SSH_CLIENT or SSH2_CLIENT in the initial environment,
+ which can be fooled under certain not-uncommon circumstances. */
+-/* #define SSH_SOURCE_BASHRC */
++#define SSH_SOURCE_BASHRC
+
+ /* Define if you want the case-capitalizing operators (~[~]) and the
+ `capcase' variable attribute (declare -c). */
+Index: general.h
+===================================================================
+--- general.h.orig
++++ general.h
+@@ -21,10 +21,13 @@
+ #if !defined (_GENERAL_H_)
+ #define _GENERAL_H_
+
++#include <time.h>
++#include <sys/types.h>
+ #include "stdc.h"
+
+ #include "bashtypes.h"
+ #include "chartypes.h"
++#include "bashline.h"
+
+ #if defined (HAVE_SYS_RESOURCE_H) && defined (RLIMTYPE)
+ # if defined (HAVE_SYS_TIME_H)
+Index: jobs.c
+===================================================================
+--- jobs.c.orig
++++ jobs.c
+@@ -199,10 +199,10 @@ int previous_job = NO_JOB;
+ #endif
+
+ /* Last child made by the shell. */
+-pid_t last_made_pid = NO_PID;
++volatile pid_t last_made_pid = NO_PID;
+
+ /* Pid of the last asynchronous child. */
+-pid_t last_asynchronous_pid = NO_PID;
++volatile pid_t last_asynchronous_pid = NO_PID;
+
+ /* The pipeline currently being built. */
+ PROCESS *the_pipeline = (PROCESS *)NULL;
+@@ -215,7 +215,7 @@ int already_making_children = 0;
+
+ /* If this is non-zero, $LINES and $COLUMNS are reset after every process
+ exits from get_tty_state(). */
+-int check_window_size;
++int check_window_size = 1;
+
+ /* Functions local to this file. */
+
+Index: jobs.h
+===================================================================
+--- jobs.h.orig
++++ jobs.h
+@@ -165,7 +165,7 @@ extern pid_t fork (), getpid (), getpgrp
+ extern struct jobstats js;
+
+ extern pid_t original_pgrp, shell_pgrp, pipeline_pgrp;
+-extern pid_t last_made_pid, last_asynchronous_pid;
++extern volatile pid_t last_made_pid, last_asynchronous_pid;
+ extern int asynchronous_notification;
+
+ extern JOB **jobs;
+Index: parse.y
+===================================================================
+--- parse.y.orig
++++ parse.y
+@@ -1283,7 +1283,7 @@ input_file_descriptor ()
+
+ #if defined (READLINE)
+ char *current_readline_prompt = (char *)NULL;
+-char *current_readline_line = (char *)NULL;
++unsigned char *current_readline_line = (unsigned char *)NULL;
+ int current_readline_line_index = 0;
+
+ static int
+Index: shell.c
+===================================================================
+--- shell.c.orig
++++ shell.c
+@@ -479,7 +479,7 @@ main (argc, argv, env)
+ if (dump_translatable_strings)
+ read_but_dont_execute = 1;
+
+- if (running_setuid && privileged_mode == 0)
++ if (running_setuid && privileged_mode == 0 /* && act_like_sh == 0 */)
+ disable_priv_mode ();
+
+ /* Need to get the argument to a -c option processed in the
+Index: subst.c
+===================================================================
+--- subst.c.orig
++++ subst.c
+@@ -2962,6 +2962,7 @@ call_expand_word_internal (w, q, i, c, e
+ last_command_exit_value = EXECUTION_FAILURE;
+ exp_jump_to_top_level ((result == &expand_word_error) ? DISCARD : FORCE_EOF);
+ /* NOTREACHED */
++ return NULL; /* make stupid compiler happy */
+ }
+ else
+ return (result);
+Index: builtins/shopt.def
+===================================================================
+--- builtins/shopt.def.orig
++++ builtins/shopt.def
+@@ -279,9 +279,9 @@ reset_shopt_options ()
+ allow_null_glob_expansion = glob_dot_filenames = 0;
+ cdable_vars = mail_warning = 0;
+ no_exit_on_failed_exec = print_shift_error = 0;
+- check_hashed_filenames = cdspelling = expand_aliases = check_window_size = 0;
++ check_hashed_filenames = cdspelling = expand_aliases = 0;
+
+- source_uses_path = promptvars = 1;
++ check_window_size = source_uses_path = promptvars = 1;
+
+ #if defined (EXTENDED_GLOB)
+ extended_glob = 0;
+Index: doc/Makefile.in
+===================================================================
+--- doc/Makefile.in.orig
++++ doc/Makefile.in
+@@ -142,7 +142,7 @@ BASHREF_FILES = $(srcdir)/bashref.texi $
+ ${RM} $@
+ -${DVIPS} $<
+
+-all: ps info dvi text html
++all: info html
+ nodvi: ps info text html
+ everything: all pdf
+
+Index: doc/bash.1
+===================================================================
+--- doc/bash.1.orig
++++ doc/bash.1
+@@ -4620,8 +4620,8 @@ file (the \fIinputrc\fP file).
+ The name of this file is taken from the value of the
+ .SM
+ .B INPUTRC
+-variable. If that variable is unset, the default is
+-.IR ~/.inputrc .
|