Hello community,

here is the log from the commit of package bash for openSUSE:Factory checked in 
at 2015-03-05 17:04:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/bash (Old)
 and      /work/SRC/openSUSE:Factory/.bash.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "bash"

Changes:
--------
--- /work/SRC/openSUSE:Factory/bash/bash.changes        2014-10-15 
16:19:32.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.bash.new/bash.changes   2015-03-05 
18:17:49.000000000 +0100
@@ -2 +2 @@
-Mon Oct  6 08:07:48 UTC 2014 - wer...@suse.de
+Wed Feb 18 15:14:47 UTC 2015 - wer...@suse.de
@@ -4,3 +4,2 @@
-- Replace patches bash-4.2-heredoc-eof-delim.patch and
-  bash-4.2-parse-exportfunc.patch with the official upstream
-  patch levels bash42-052 and bash42-053
+- Do not restart all signal handlers for bash 4.3 as this breaks
+  trap handler in subshells waotiug for a process 
@@ -9 +8 @@
-Thu Oct  2 13:11:50 UTC 2014 - wer...@suse.de
+Fri Jan 16 16:53:44 UTC 2015 - wer...@suse.de
@@ -11,2 +10 @@
-- Replace patch bash-4.2-CVE-2014-7187.patch with upstream patch
-  level bash42-051
+- Remove -DMUST_UNBLOCK_CHLD(=1) as this breaks waitchild(2) on linux
@@ -15 +13 @@
-Wed Oct  1 12:12:55 UTC 2014 - wer...@suse.de
+Fri Jan  9 13:11:03 UTC 2015 - wer...@suse.de
@@ -17,5 +15,15 @@
-- Add patches
-  bash-4.2-heredoc-eof-delim.patch for bsc#898812, CVE-2014-6277:
-  more troubles with functions
-  bash-4.2-parse-exportfunc.patch for bsc#898884, CVE-2014-6278:
-  code execution after original 6271 fix
+- Add upstream patch bash43-031
+  The new nameref assignment functionality introduced in bash-4.3 did not 
perform
+  enough validation on the variable value and would create variables with
+  invalid names.
+- Add upstream patch bash43-032
+  When bash is running in Posix mode, it allows signals -- including SIGCHLD --
+  to interrupt the `wait' builtin, as Posix requires.  However, the interrupt
+  causes bash to not run a SIGCHLD trap for all exited children.  This patch
+  fixes the issue and restores the documented behavior in Posix mode.
+- Add upstream patch bash43-033
+  Bash does not clean up the terminal state in all cases where bash or
+  readline  modifies it and bash is subsequently terminated by a fatal signal.
+  This happens when the `read' builtin modifies the terminal settings, both
+  when readline is active and when it is not.  It occurs most often when a 
script
+  installs a trap that exits on a signal without re-sending the signal to 
itself.
@@ -24 +32 @@
-Tue Sep 30 13:49:12 UTC 2014 - wer...@suse.de
+Wed Dec  3 15:05:14 CET 2014 - jdelv...@suse.de
@@ -26,2 +34,42 @@
-- Make bash-4.2-extra-import-func.patch an optional patch due
-  instruction
+- Fix the sed command that fixes up the patch headers. It was
+  printing a duplicate header line, which suprisingly did not
+  confuse patch, but could in the future.
+- Fix all patches that had the duplicate header line issue.
+
+-------------------------------------------------------------------
+Tue Nov  4 12:27:30 UTC 2014 - wer...@suse.de
+
+- Use tail command to follow run-tests instead of a simpe cat command 
+
+-------------------------------------------------------------------
+Fri Oct 24 12:53:04 UTC 2014 - wer...@suse.de
+
+- Really remove obsolete patches 
+
+-------------------------------------------------------------------
+Fri Oct 24 04:16:32 UTC 2014 - br...@aljex.com
+
+- Skip autoconf on OS 10.2 or older
+
+-------------------------------------------------------------------
+Wed Oct 22 13:44:23 UTC 2014 - wer...@suse.de
+
+- Avoid fdupes on SLES-10 
+
+-------------------------------------------------------------------
+Wed Oct 22 12:53:11 UTC 2014 - wer...@suse.de
+
+- Bump bash version to 4.3
+
+-------------------------------------------------------------------
+Tue Oct 21 21:18:20 UTC 2014 - br...@aljex.com
+
+- Allow building on targets from SL 10.1 to current since it's free
+
+-------------------------------------------------------------------
+Mon Oct  6 08:38:54 UTC 2014 - wer...@suse.de
+
+- Add upstream patches
+  bash43-030 which fixes CVE-2014-6278
+  bash43-029 which fixes CVE-2014-6277
+  bash43-028 which fixes CVE-2014-7186/CVE-2014-7187
@@ -32,5 +79,0 @@
-- Remove and replace patches
-  bash-4.2-CVE-2014-6271.patch
-  bash-4.2-BSC898604.patch
-  bash-4.2-CVE-2014-7169.patch
-  with bash upstream patch 48, patch 49, and patch 50
@@ -40,0 +84 @@
+- Rename bash-4.2-extra-import-func.patch to bash-4.3-extra-import-func.patch
@@ -43 +87 @@
-Fri Sep 26 11:07:24 UTC 2014 - wer...@suse.de
+Mon Sep 29 12:19:29 UTC 2014 - wer...@suse.de
@@ -45,6 +89,7 @@
-- Add patches
-  bash-4.2-BSC898604.patch for bsc#898604: functions via environment
-  hardening
-  bash-4.2-CVE-2014-7169.patch for bsc#898346, CVE-2014-7169:
-  incremental parsing fix for function environment issue
-  bash-4.2-CVE-2014-7187.patch for bsc#898603, CVE-2014-7186,
+- Add upstream patches
+  bash43-027 which fixed bsc#898604
+  bash43-026 which fixes CVE-2014-7169 and bsc#898346
+  bash43-025 which replaces bash-4.3-CVE-2014-6271.patch and
+  fixes bnc#896776
+- Remove patch bash-4.3-CVE-2014-6271.patch due patch bash43-027
+- Add patch bash-4.2-CVE-2014-7187.patch for bsc#898603, CVE-2014-7186,
@@ -53,0 +99,7 @@
+Fri Sep 26 08:07:16 UTC 2014 - wer...@suse.de
+
+- Use a version linker script for libreadline 6.3 as there are new
+  symbols in this 6.3 version like the rl_executing_keyseq and those
+  are used by the new bash 4.3
+
+-------------------------------------------------------------------
@@ -56 +108 @@
-- Add bash-4.2-CVE-2014-6271.patch
+- Add bash-4.3-CVE-2014-6271.patch
@@ -61 +113 @@
-Mon Sep 15 08:52:13 UTC 2014 - wer...@suse.de
+Tue Aug 19 13:49:46 UTC 2014 - wer...@suse.de
@@ -63,3 +115,13 @@
-- Add patch bash-4.2-error-getpwd.patch
-  which is the backport of the corrected german error message for
-  a failing getpwd (bnc#895475)
+- Update to bash 4.3 with patch level 24
+  * The -t timeout option to `read' does not work when the -e option is used
+  * When PS2 contains a command substitution, here-documents entered in an
+    interactive shell can sometimes cause a segmentation fault.
+  * When the readline `revert-all-at-newline' option is set, pressing newline
+    when the current line is one retrieved from history results in a double 
free
+    and a segmentation fault.
+  * Using nested pipelines within loops with the `lastpipe' option set can 
result
+    in a segmentation fault.
+  * Bash does not correctly parse process substitution constructs that contain
+    unbalanced parentheses as part of the contained command.
+  * Indirect variable references do not work correctly if the reference
+    variable expands to an array reference using a subscript other than 0
@@ -70,0 +133,183 @@
+
+-------------------------------------------------------------------
+Tue May 20 16:35:55 UTC 2014 - wer...@suse.de
+
+- Update to bash 4.3 with patch level 18
+  *When a SIGCHLD trap runs a command containing a shell builtin while
+    a script is running `wait' to wait for all running children to complete,
+    the SIGCHLD trap will not be run once for each child that terminates.
+  * Using reverse-i-search when horizontal scrolling is enabled doe
+    not redisplay the entire line containing the successful search results.
+  * Under certain circumstances, $@ is expanded incorrectly in contexts where
+    word splitting is not performed.
+  * When completing directory names, the directory name is dequoted twice.
+    This causes problems for directories with single and double quotes in
+    their names.
+  * An extended glob pattern containing a slash (`/') causes the globbing code
+    to misinterpret it as a directory separator.
+  * The code that creates local variables should not clear the `invisible'
+    attribute when returning an existing local variable.  Let the code that
+    actually assigns a value clear it.
+  * When assigning an array variable using the compound assignment syntax,
+    but using `declare' with the rhs of the compound assignment quoted, the
+    shell did not mark the variable as visible after successfully performing
+    the assignment.
+- Update to readline library 6.3 with patch level 6
+  * Using reverse-i-search when horizontal scrolling is enabled does
+    not redisplay the entire line containing the successful search results.
+- Remove readline-horizontal-redisplay.patch as now upstream
+- Rename readline-6.2.dif to readline-6.3.dif and bash-4.2.dif to bash-4.3.dif
+
+-------------------------------------------------------------------
+Wed Apr 30 11:51:24 UTC 2014 - wer...@suse.de
+
+- Add readline-horizontal-redisplay.patch from upstream as a temporary
+  fix for failing incremental search in horizontal-scroll-mode 
+
+-------------------------------------------------------------------
+Thu Apr 17 12:56:56 UTC 2014 - wer...@suse.de
+
+- Make patch command work on older products
+
+-------------------------------------------------------------------
+Thu Apr 17 11:09:35 UTC 2014 - wer...@suse.de
+
+- Update to bash 4.3 with patch level 11
+  * The `helptopic' completion action now maps to all the help topics, not just
+    the shell builtins.
+  * The `help' builtin no longer does prefix substring matching first, so
+    `help read' does not match `readonly', but will do it if exact string
+    matching fails.
+  * The shell can be compiled to not display a message about processes that
+    terminate due to SIGTERM.
+  * Non-interactive shells now react to the setting of checkwinsize and set
++++ 130 more lines (skipped)
++++ between /work/SRC/openSUSE:Factory/bash/bash.changes
++++ and /work/SRC/openSUSE:Factory/.bash.new/bash.changes

Old:
----
  audit-patch
  audit-rl-patch
  bash-3.0-decl.patch
  bash-4.0-headers.dif
  bash-4.0-loadables.dif
  bash-4.2-2.4.4.patch
  bash-4.2-error-getpwd.patch
  bash-4.2-extra-import-func.patch
  bash-4.2-nsec.dif
  bash-4.2-patches.tar.bz2
  bash-4.2-sigrestart.patch
  bash-4.2-winch.dif
  bash-4.2.dif
  bash-4.2.tar.gz
  config-guess-sub-update.patch
  readline-4.3-input.dif
  readline-6.2-destdir.patch
  readline-6.2-msgdynamic.patch
  readline-6.2-patches.tar.bz2
  readline-6.2-rltrace.patch
  readline-6.2.dif
  readline-6.2.tar.gz

New:
----
  bash-4.3-2.4.4.patch
  bash-4.3-decl.patch
  bash-4.3-extra-import-func.patch
  bash-4.3-headers.dif
  bash-4.3-loadables.dif
  bash-4.3-patches.tar.bz2
  bash-4.3-sigrestart.patch
  bash-4.3-winch.dif
  bash-4.3.dif
  bash-4.3.tar.gz
  readline-6.3-destdir.patch
  readline-6.3-input.dif
  readline-6.3-patches.tar.bz2
  readline-6.3-rltrace.patch
  readline-6.3.dif
  readline-6.3.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ bash.spec ++++++
--- /var/tmp/diff_new_pack.VpYFrY/_old  2015-03-05 18:17:50.000000000 +0100
+++ /var/tmp/diff_new_pack.VpYFrY/_new  2015-03-05 18:17:50.000000000 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package bash
 #
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -20,9 +20,9 @@
 
 Name:           bash
 BuildRequires:  audit-devel
-BuildRequires:  autoconf
 BuildRequires:  bison
 %if %suse_version > 1020
+BuildRequires:  autoconf
 BuildRequires:  fdupes
 %endif
 %if %suse_version > 1220
@@ -31,8 +31,9 @@
 BuildRequires:  ncurses-devel
 BuildRequires:  patchutils
 BuildRequires:  screen
-%define         bash_vers 4.2
-%define         rl_vers   6.2
+BuildRequires:  sed
+%define         bash_vers 4.3
+%define         rl_vers   6.3
 %define         extend    ""
 %if %suse_version > 1020
 Recommends:     bash-lang = %bash_vers
@@ -42,7 +43,7 @@
 Suggests:       command-not-found
 Recommends:     bash-doc = %bash_vers
 %endif
-Version:        4.2
+Version:        %{bash_vers}
 Release:        0
 Summary:        The GNU Bourne-Again Shell
 License:        GPL-3.0+
@@ -66,43 +67,36 @@
 Patch0:         bash-%{bash_vers}.dif
 Patch1:         bash-2.03-manual.patch
 Patch2:         bash-4.0-security.patch
-Patch3:         bash-4.2-2.4.4.patch
+Patch3:         bash-4.3-2.4.4.patch
 Patch4:         bash-3.0-evalexp.patch
 Patch5:         bash-3.0-warn-locale.patch
 Patch6:         bash-4.2-endpw.dif
-Patch7:         bash-3.0-decl.patch
+Patch7:         bash-4.3-decl.patch
 Patch8:         bash-4.0-async-bnc523667.dif
 Patch10:        bash-3.2-printf.patch
-Patch11:        bash-4.0-loadables.dif
+Patch11:        bash-4.3-loadables.dif
 Patch12:        bash-4.1-completion.dif
 Patch13:        bash-4.2-nscdunmap.dif
-Patch14:        bash-4.2-sigrestart.patch
+Patch14:        bash-4.3-sigrestart.patch
 # PATCH-FIX-UPSTREAM bnc#382214 -- disabled due bnc#806628 by -DBNC382214=0
 Patch15:        bash-3.2-longjmp.dif
 Patch16:        bash-4.0-setlocale.dif
-Patch17:        bash-4.0-headers.dif
-Patch18:        bash-4.2-nsec.dif
+Patch17:        bash-4.3-headers.dif
 # PATCH-EXTEND-SUSE bnc#828877 -- xterm resizing does not pass to all sub 
clients
-Patch19:        bash-4.2-winch.dif
+Patch18:        bash-4.3-winch.dif
 Patch20:        readline-%{rl_vers}.dif
-Patch21:        readline-4.3-input.dif
+Patch21:        readline-6.3-input.dif
 Patch22:        readline-6.1-wrap.patch
 Patch23:        readline-5.2-conf.patch
 Patch24:        readline-6.2-metamode.patch
 Patch25:        readline-6.2-endpw.dif
-Patch26:        readline-6.2-msgdynamic.patch
 Patch27:        readline-6.2-xmalloc.dif
-Patch30:        readline-6.2-destdir.patch
-Patch31:        readline-6.2-rltrace.patch
+Patch30:        readline-6.3-destdir.patch
+Patch31:        readline-6.3-rltrace.patch
 Patch40:        bash-4.1-bash.bashrc.dif
-# PATCH-FIX-UPSTREAM bnc#895475 -- locale de_DE.utf8 has wrong translations
-Patch41:        bash-4.2-error-getpwd.patch
-Patch42:        audit-patch
-Patch43:        audit-rl-patch
 Patch46:        man2html-no-timestamp.patch
-Patch47:        config-guess-sub-update.patch
-# PATCH-FIX-SUSE CVE-2014-6271
-Patch48:        bash-4.2-extra-import-func.patch
+# PATCH-FIX-SUSE
+Patch48:        bash-4.3-extra-import-func.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 %global         _sysconfdir /etc
 %global         _incdir     %{_includedir}
@@ -122,7 +116,7 @@
 Group:          Documentation/Man
 Provides:       bash:%{_infodir}/bash.info.gz
 PreReq:         %install_info_prereq
-Version:        4.2
+Version:        %{bash_vers}
 Release:        0
 %if %suse_version > 1120
 BuildArch:      noarch
@@ -139,18 +133,18 @@
 %package -n bash-lang
 Summary:        Languages for package bash
 Group:          System/Localization
-Provides:       bash-lang = %{version}
-Requires:       bash = %{version}
+Provides:       bash-lang = %{bash_vers}
+Requires:       bash = %{bash_vers}
 
 %description -n bash-lang
 Provides translations to the package bash
 %endif
 
-%if 0%suse_version >= 1100
+%if 0%suse_version >= 1020
 %package -n bash-devel
 Summary:        Include Files mandatory for Development of bash loadable 
builtins
 Group:          Development/Languages/C and C++
-Version:        4.2
+Version:        %{bash_vers}
 Release:        0
 
 %description -n bash-devel
@@ -162,7 +156,7 @@
 %package -n bash-loadables
 Summary:        Loadable bash builtins
 Group:          System/Shells
-Version:        4.2
+Version:        %{bash_vers}
 Release:        0
 
 %description -n bash-loadables
@@ -223,7 +217,7 @@
 Summary:        The Readline Library
 Group:          System/Libraries
 Provides:       bash:/%{_lib}/libreadline.so.%{rl_major}
-Version:        6.2
+Version:        %{rl_vers}
 Release:        0
 %if 0%suse_version > 1020
 Recommends:     readline-doc = %{version}
@@ -233,8 +227,8 @@
 Obsoletes:      readline-64bit
 %endif
 #
-Provides:       readline =  6.2
-Obsoletes:      readline <= 6.1
+Provides:       readline =  %{rl_vers}
+Obsoletes:      readline <= 6.2
 
 %description -n libreadline6
 The readline library is used by the Bourne Again Shell (bash, the
@@ -245,12 +239,12 @@
 Summary:        Include Files and Libraries mandatory for Development
 Group:          Development/Libraries/C and C++
 Provides:       bash:%{_libdir}/libreadline.a
-Version:        6.2
+Version:        %{rl_vers}
 Release:        0
-Requires:       libreadline6 = %{version}
+Requires:       libreadline6 = %{rl_vers}
 Requires:       ncurses-devel
 %if 0%suse_version > 1020
-Recommends:     readline-doc = %{version}
+Recommends:     readline-doc = %{rl_vers}
 %endif
 # bug437293
 %ifarch ppc64
@@ -267,7 +261,7 @@
 Group:          System/Libraries
 Provides:       readline:%{_infodir}/readline.info.gz
 PreReq:         %install_info_prereq
-Version:        6.2
+Version:        %{rl_vers}
 Release:        0
 %if 0%suse_version > 1120
 BuildArch:      noarch
@@ -289,6 +283,7 @@
        let level++ || true
     fi
     test -e $file || exit 1
+    sed -ri '/^\*\*\* \.\./{ s@\.\./bash-%{bash_vers}[^/]*/@@ }' $patch
     echo Patch $patch
     patch -s -p$level < $patch
 done
@@ -308,24 +303,17 @@
 %patch15 -p0 -b .longjmp
 %patch16 -p0 -b .setlocale
 %patch17 -p0 -b .headers
-%patch18 -p0 -b .nsec
-%patch19 -p0 -b .winch
+%patch18 -p0 -b .winch
 %patch21 -p0 -b .zerotty
 %patch22 -p0 -b .wrap
 %patch23 -p0 -b .conf
 %patch24 -p0 -b .metamode
 #%patch25 -p0 -b .endpw
-%patch26 -p0 -b .msgdy
 %patch31 -p0 -b .tmp
 %patch40 -p0 -b .bashrc
-%patch41 -p0 -b .errgetpwd
-%if 0%suse_version >= 1100
-%patch42 -p1 -b .audit
-%endif
 %patch46 -p0 -b .notimestamp
-%patch47 -p0
 %if %{with import_function}
-%patch48 -p0
+%patch48
 %endif
 %patch0  -p0 -b .0
 pushd ../readline-%{rl_vers}%{extend}
@@ -337,6 +325,7 @@
        file=${file#*/}
        let level++ || true
     fi
+    sed -ri '/^\*\*\* \.\./{ s@\.\./readline-%{rl_vers}[^/]*/@@ }' $patch
     echo Patch $patch
     patch -s -p$level < $patch
 done
@@ -345,15 +334,10 @@
 %patch23 -p2 -b .conf
 %patch24 -p2 -b .metamode
 #%patch25 -p2 -b .endpw
-%patch26 -p2 -b .msgdy
 %patch31 -p2 -b .tmp
 %patch27 -p0 -b .xm
 %patch30 -p0 -b .destdir
-%if 0%suse_version >= 1100
-%patch43 -p1 -b .audit
-%endif
 %patch20 -p0 -b .0
-%patch47
 
 %build
   LANG=POSIX
@@ -380,7 +364,7 @@
   MACHTYPE=${CPU}-suse-linux
   export LANG LC_ALL HOSTTYPE MACHTYPE
 pushd ../readline-%{rl_vers}%{extend}
-%if 0%suse_version >= 1100
+%if 0%suse_version >= 1020
   autoconf
 %endif
   cflags ()
@@ -420,16 +404,34 @@
        {
            *;
            !rl_*stream;
-       }
+       };
+       EOF
+  (cat > rl.map)<<-'EOF'
+       READLINE_6.3 {
+           rl_change_environment;
+           rl_clear_history;
+           rl_executing_key;
+           rl_executing_keyseq;
+           rl_filename_stat_hook;
+           rl_history_substr_search_backward;
+           rl_history_substr_search_forward;
+           rl_input_available_hook;
+           rl_print_last_kbd_macro;
+           rl_signal_event_hook;
+       };
        EOF
   CFLAGS="$RPM_OPT_FLAGS $LARGEFILE -D_GNU_SOURCE -DRECYCLES_PIDS -Wall -g"
   LDFLAGS=""
+  #
+  # Never ever put -DMUST_UNBLOCK_CHLD herein as this breaks bash
+  #
   cflags -Wuninitialized         CFLAGS
   cflags -Wextra                 CFLAGS
   cflags -Wno-unprototyped-calls CFLAGS
   cflags -Wno-switch-enum        CFLAGS
   cflags -Wno-unused-variable    CFLAGS
   cflags -Wno-unused-parameter   CFLAGS
+  cflags -Wno-parentheses        CFLAGS
   cflags -ftree-loop-linear      CFLAGS
   cflags -pipe                   CFLAGS
   cflags -DBNC382214=0           CFLAGS
@@ -438,6 +440,7 @@
   cflags -Wl,-O2                 LDFLAGS
   cflags -Wl,--hash-size=8599    LDFLAGS
   cflags -Wl,-rpath,%{_ldldir}/%{bash_vers}   LDFLAGS
+  cflags -Wl,--version-script=${PWD}/rl.map   LDFLAGS
   cflags -Wl,--dynamic-list=${PWD}/dyn.map    LDFLAGS
   CC=gcc
   CC_FOR_BUILD="$CC"
@@ -450,6 +453,7 @@
        --with-curses                   \
        --mandir=%{_mandir}             \
        --infodir=%{_infodir}           \
+       --docdir=%{_defaultdocdir}/readline     \
        --libdir=%{_libdir}
   make
   make documentation
@@ -482,7 +486,7 @@
   CC_FOR_BUILD="$CC"
   CFLAGS_FOR_BUILD="$CFLAGS"
   export CC_FOR_BUILD CFLAGS_FOR_BUILD CFLAGS LDFLAGS CC
-%if 0%suse_version >= 1100
+%if 0%suse_version > 1020
   autoconf
 %endif
   #
@@ -535,6 +539,7 @@
        --mandir=%{_mandir}             \
        --infodir=%{_infodir}           \
        --libdir=%{_libdir}             \
+       --docdir=%{_defaultdocdir}/bash \
        --with-curses                   \
        --with-afs                      \
        $SYSMALLOC                      \
@@ -563,6 +568,7 @@
   env -i HOME=$PWD TERM=$TERM LD_LIBRARY_PATH=$LD_LIBRARY_PATH TMPDIR=$TMPDIR \
        SCREENRC=$SCREENRC SCREENDIR=$SCREENDIR \
        screen -L -D -m make TESTSCRIPT=%{SOURCE4} check
+  kill -TERM $pid
   make %{?do_profiling:CFLAGS="$CFLAGS %cflags_profile_feedback" clean} all
   make -C examples/loadables/
   make documentation
@@ -628,6 +634,7 @@
   rm -fv %{buildroot}%{_libdir}/libreadline.so.*
   rm -fv %{buildroot}%{_infodir}/rluserman.info.gz
   rm -fv %{buildroot}%{_mandir}/man3/history.3*
+  rm -fv %{buildroot}%{_defaultdocdir}/readline/INSTALL
   mkdir -p %{buildroot}%{_sysconfdir}/skel
   install -m 644 %{S:5}    %{buildroot}%{_sysconfdir}/skel/.bashrc
   install -m 644 %{S:6}    %{buildroot}%{_sysconfdir}/skel/.profile
@@ -689,7 +696,7 @@
 %doc %{_mandir}/man1/rbash.1.gz
 %doc %{_defaultdocdir}/bash/
 
-%if 0%suse_version >= 1100
+%if 0%suse_version >= 1020
 %files -n bash-devel
 %defattr(-,root,root)
 %dir /%{_includedir}/bash/

++++++ bash-3.0-decl.patch -> bash-4.3-2.4.4.patch ++++++
--- /work/SRC/openSUSE:Factory/bash/bash-3.0-decl.patch 2011-09-23 
01:52:23.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.bash.new/bash-4.3-2.4.4.patch   2015-03-05 
18:17:48.000000000 +0100
@@ -1,10 +1,87 @@
---- support/printenv.c
-+++ support/printenv.c 2005-09-19 13:09:08.000000000 +0000
-@@ -30,6 +30,7 @@
+--- array.c
++++ array.c    2006-11-14 09:54:22.000000000 +0000
+@@ -940,7 +940,7 @@ char       *s, *sep;
+  * To make a running version, compile -DTEST_ARRAY and link with:
+  *    xmalloc.o syntax.o lib/malloc/libmalloc.a lib/sh/libsh.a
+  */
+-int interrupt_immediately = 0;
++volatile sig_atomic_t interrupt_immediately = 0;
  
+ int
+ signal_is_trapped(s)
+--- examples/loadables/tee.c
++++ examples/loadables/tee.c   2006-11-14 10:31:29.000000000 +0000
+@@ -35,6 +35,7 @@
  #include "bashansi.h"
  
-+#include <string.h>
- extern char **environ;
+ #include <stdio.h>
++#include <signal.h>
+ #include <errno.h>
+ 
+ #include "builtins.h"
+@@ -56,7 +57,7 @@ static FLIST *tee_flist;
+ 
+ #define TEE_BUFSIZE   8192
+ 
+-extern int interrupt_immediately;
++extern volatile sig_atomic_t interrupt_immediately;
+ 
+ extern char *strerror ();
+ 
+--- hashlib.c
++++ hashlib.c  2006-11-14 09:54:36.000000000 +0000
+@@ -381,7 +381,7 @@ hash_pstats (table, name)
+ 
+ HASH_TABLE *table, *ntable;
+ 
+-int interrupt_immediately = 0;
++volatile sig_atomic_t interrupt_immediately = 0;
  
  int
+ signal_is_trapped (s)
+--- jobs.c
++++ jobs.c     2001-05-02 16:20:31.000000000 +0000
+@@ -1783,6 +1783,15 @@ make_child (command, async_p)
+       pid_t mypid;
+ 
+       mypid = getpid ();
++
++      if (interrupt_state)
++      {
++        struct timeval tv;
++        struct rusage   rx;
++        (void) gettimeofday(&tv, NULL);
++        (void) getrusage(RUSAGE_SELF, &rx);
++      }
++
+ #if defined (BUFFERED_INPUT)
+       /* Close default_buffered_input if it's > 0.  We don't close it if it's
+        0 because that's the file descriptor used when redirecting input,
+--- sig.c
++++ sig.c      2006-11-14 09:53:51.000000000 +0000
+@@ -92,10 +92,10 @@ sigset_t top_level_mask;
+ #endif /* JOB_CONTROL */
+ 
+ /* When non-zero, we throw_to_top_level (). */
+-int interrupt_immediately = 0;
++volatile sig_atomic_t interrupt_immediately = 0;
+ 
+ /* When non-zero, we call the terminating signal handler immediately. */
+-int terminate_immediately = 0;
++volatile sig_atomic_t terminate_immediately = 0;
+ 
+ #if defined (SIGWINCH)
+ static SigHandler *old_winch = (SigHandler *)SIG_DFL;
+--- sig.h
++++ sig.h      2014-04-17 09:42:15.030235662 +0000
+@@ -111,8 +111,8 @@ do { \
+ extern volatile sig_atomic_t sigwinch_received;
+ extern volatile sig_atomic_t sigterm_received;
+ 
+-extern int interrupt_immediately;     /* no longer used */
+-extern int terminate_immediately;
++extern volatile sig_atomic_t interrupt_immediately;   /* no longer used */
++extern volatile sig_atomic_t terminate_immediately;
+ 
+ /* Functions from sig.c. */
+ extern sighandler termsig_sighandler __P((int));

++++++ bash-3.0-decl.patch -> bash-4.3-decl.patch ++++++
--- /work/SRC/openSUSE:Factory/bash/bash-3.0-decl.patch 2011-09-23 
01:52:23.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.bash.new/bash-4.3-decl.patch    2015-03-05 
18:17:48.000000000 +0100
@@ -1,8 +1,8 @@
 --- support/printenv.c
-+++ support/printenv.c 2005-09-19 13:09:08.000000000 +0000
-@@ -30,6 +30,7 @@
- 
++++ support/printenv.c 2014-04-17 09:46:25.874236036 +0000
+@@ -31,6 +31,7 @@
  #include "bashansi.h"
+ #include <stdio.h>            /* puts */
  
 +#include <string.h>
  extern char **environ;

++++++ bash-4.2-extra-import-func.patch -> bash-4.3-extra-import-func.patch 
++++++
--- /work/SRC/openSUSE:Factory/bash/bash-4.2-extra-import-func.patch    
2014-10-15 16:19:32.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.bash.new/bash-4.3-extra-import-func.patch       
2015-03-05 18:17:48.000000000 +0100
@@ -7,7 +7,7 @@
 
 --- shell.c
 +++ shell.c    2014-09-25 20:11:51.000000000 +0000
-@@ -225,6 +225,7 @@ int posixly_correct = 1;   /* Non-zero mea
+@@ -230,6 +230,7 @@ int posixly_correct = 1;   /* Non-zero mea
  #else
  int posixly_correct = 0;      /* Non-zero means posix.2 superset. */
  #endif
@@ -15,7 +15,7 @@
  
  /* Some long-winded argument names.  These are obviously new. */
  #define Int 1
-@@ -244,6 +245,7 @@ static const struct {
+@@ -249,6 +250,7 @@ static const struct {
    { "help", Int, &want_initial_help, (char **)0x0 },
    { "init-file", Charp, (int *)0x0, &bashrc_file },
    { "login", Int, &make_login_shell, (char **)0x0 },
@@ -24,8 +24,8 @@
    { "noprofile", Int, &no_profile, (char **)0x0 },
    { "norc", Int, &no_rc, (char **)0x0 },
 --- variables.c
-+++ variables.c        2014-09-30 11:54:58.994735738 +0000
-@@ -105,6 +105,7 @@ extern time_t shell_start_time;
++++ variables.c        2014-10-06 08:36:41.299837915 +0000
+@@ -110,6 +110,7 @@ extern time_t shell_start_time;
  extern int assigning_in_environment;
  extern int executing_builtin;
  extern int funcnest_max;
@@ -33,15 +33,15 @@
  
  #if defined (READLINE)
  extern int no_line_editing;
-@@ -317,6 +318,7 @@ initialize_shell_variables (env, privmod
+@@ -328,6 +329,7 @@ initialize_shell_variables (env, privmod
    char *name, *string, *temp_string;
-   int c, char_index, string_index, string_length;
+   int c, char_index, string_index, string_length, ro;
    SHELL_VAR *temp_var;
 +  int skipped_import;
  
    create_variable_tables ();
  
-@@ -341,9 +343,12 @@ initialize_shell_variables (env, privmod
+@@ -352,9 +354,12 @@ initialize_shell_variables (env, privmod
  
        temp_var = (SHELL_VAR *)NULL;
  
@@ -50,12 +50,12 @@
 +
        /* If exported function, define it now.  Don't import functions from
         the environment in privileged mode. */
--      if (privmode == 0 && read_but_dont_execute == 0 &&
-+      if (skipped_import == 0 && privmode == 0 && read_but_dont_execute == 0 
&&
-         STREQN (BASHFUNC_PREFIX, name, BASHFUNC_PREFLEN) &&
-         STREQ (BASHFUNC_SUFFIX, name + char_index - BASHFUNC_SUFFLEN) &&
+-      if (privmode == 0 && read_but_dont_execute == 0 && 
++      if (skipped_import == 0 && privmode == 0 && read_but_dont_execute == 0 
&& 
+           STREQN (BASHFUNC_PREFIX, name, BASHFUNC_PREFLEN) &&
+           STREQ (BASHFUNC_SUFFIX, name + char_index - BASHFUNC_SUFFLEN) &&
          STREQN ("() {", string, 4))
-@@ -356,6 +361,12 @@ initialize_shell_variables (env, privmod
+@@ -367,6 +372,12 @@ initialize_shell_variables (env, privmod
          tname = name + BASHFUNC_PREFLEN;      /* start of func name */
          tname[namelen] = '\0';                /* now tname == func name */
  
@@ -69,16 +69,16 @@
          temp_string = (char *)xmalloc (namelen + string_length + 2);
  
 --- builtins/shopt.def
-+++ builtins/shopt.def 2014-09-30 11:58:13.714235365 +0000
-@@ -89,6 +89,7 @@ extern int check_jobs_at_exit;
- extern int autocd;
++++ builtins/shopt.def 2014-09-30 11:58:14.000000000 +0000
+@@ -90,6 +90,7 @@ extern int autocd;
  extern int glob_star;
+ extern int glob_asciirange;
  extern int lastpipe_opt;
 +extern int import_functions;
  
  #if defined (EXTENDED_GLOB)
  extern int extended_glob;
-@@ -186,6 +187,7 @@ static struct {
+@@ -192,6 +193,7 @@ static struct {
    { "hostcomplete", &perform_hostname_completion, 
shopt_enable_hostname_completion },
  #endif
    { "huponexit", &hup_on_exit, (shopt_set_func_t *)NULL },
@@ -87,8 +87,8 @@
    { "lastpipe", &lastpipe_opt, (shopt_set_func_t *)NULL },
  #if defined (HISTORY)
 --- doc/bash.1
-+++ doc/bash.1 2014-09-30 12:09:39.698234623 +0000
-@@ -235,6 +235,13 @@ The shell becomes restricted (see
++++ doc/bash.1 2014-09-30 12:09:40.000000000 +0000
+@@ -240,6 +240,13 @@ The shell becomes restricted (see
  .B "RESTRICTED SHELL"
  below).
  .TP

++++++ bash-4.0-headers.dif -> bash-4.3-headers.dif ++++++
--- /work/SRC/openSUSE:Factory/bash/bash-4.0-headers.dif        2011-09-23 
01:52:23.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.bash.new/bash-4.3-headers.dif   2015-03-05 
18:17:48.000000000 +0100
@@ -1,5 +1,5 @@
 --- examples/loadables/Makefile.in
-+++ examples/loadables/Makefile.in     2009-06-09 16:16:25.000000000 +0000
++++ examples/loadables/Makefile.in     2014-04-17 10:10:12.450235258 +0000
 @@ -28,6 +28,9 @@ includedir = @includedir@
  
  datarootdir = @datarootdir@
@@ -27,7 +27,7 @@
  #
  # These values are generated for configure by ${topdir}/support/shobj-conf.
  # If your system is not supported by that script, but includes facilities for
-@@ -79,20 +92,45 @@ INC = -I. -I.. -I$(topdir) -I$(topdir)/l
+@@ -79,20 +92,46 @@ INC = -I. -I.. -I$(topdir) -I$(topdir)/l
        -I$(BASHINCDIR) -I$(BUILD_DIR) -I$(LIBBUILD) \
        -I$(BUILD_DIR)/builtins $(INTL_INC)
  
@@ -40,9 +40,9 @@
  
 +SUPPORT_SRC = $(topdir)/support/
  
- ALLPROG = print sleep finfo logname basename dirname \
+ ALLPROG = print truefalse sleep pushd finfo logname basename dirname \
          tty pathchk tee head mkdir rmdir printenv id whoami \
-         uname sync push ln unlink cut realpath getconf strftime mypid
+         uname sync push ln unlink realpath strftime mypid
  OTHERPROG = necho hello cat
 +HEADERS =
  
@@ -53,6 +53,7 @@
  
 +dependlist:   template.d
 +-include      template.d
++
 +install-headers: HEADERS = $(sort $(filter %.h,$(realpath $^)))
 +install-headers:
 +      @${SHELL} $(SUPPORT_SRC)mkinstalldirs 
$(DESTDIR)$(includedir)/$(Name)/$(Version)/builtins

++++++ bash-4.0-loadables.dif -> bash-4.3-loadables.dif ++++++
--- /work/SRC/openSUSE:Factory/bash/bash-4.0-loadables.dif      2011-09-23 
01:52:23.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.bash.new/bash-4.3-loadables.dif 2015-03-05 
18:17:48.000000000 +0100
@@ -1,17 +1,6 @@
---- examples/loadables/Makefile.in
-+++ examples/loadables/Makefile.in     2006-09-25 11:31:55.000000000 +0000
-@@ -83,7 +83,7 @@ INC = -I. -I.. -I$(topdir) -I$(topdir)/l
-       $(SHOBJ_CC) $(SHOBJ_CFLAGS) $(CCFLAGS) $(INC) -c -o $@ $<
- 
- 
--ALLPROG = print truefalse sleep pushd finfo logname basename dirname \
-+ALLPROG = print sleep finfo logname basename dirname \
-         tty pathchk tee head mkdir rmdir printenv id whoami \
-         uname sync push ln unlink cut realpath getconf strftime mypid
- OTHERPROG = necho hello cat
 --- examples/loadables/basename.c
 +++ examples/loadables/basename.c      2006-09-25 11:49:31.000000000 +0000
-@@ -9,10 +9,13 @@
+@@ -27,10 +27,13 @@
  #endif
  
  #include <stdio.h>
@@ -40,29 +29,6 @@
  
  #ifndef errno
  extern int errno;
---- examples/loadables/cut.c
-+++ examples/loadables/cut.c   2006-09-25 12:00:21.000000000 +0000
-@@ -60,8 +60,10 @@ static const char sccsid[] = "@(#)cut.c
- #  include <unistd.h>
- #endif
- 
--#include "builtins.h"
- #include "shell.h"
-+#include "builtins.h"
-+#include "builtins/builtext.h"
-+#include "builtins/common.h"
- #include "bashgetopt.h"
- #include "common.h"
- 
-@@ -244,7 +246,7 @@ c_cut(fp, fname)
-               pos = positions + 1;
-               for (col = maxval; col; --col) {
-                       if ((ch = getc(fp)) == EOF)
--                              return;
-+                              return (0);
-                       if (ch == '\n')
-                               break;
-                       if (*pos++)
 --- examples/loadables/dirname.c
 +++ examples/loadables/dirname.c       2006-09-25 11:49:38.000000000 +0000
 @@ -27,10 +27,13 @@
@@ -82,7 +48,7 @@
  {
 --- examples/loadables/finfo.c
 +++ examples/loadables/finfo.c 2006-09-25 11:48:52.000000000 +0000
-@@ -20,6 +20,8 @@
+@@ -38,6 +38,8 @@
  #include "bashansi.h"
  #include "shell.h"
  #include "builtins.h"
@@ -91,7 +57,7 @@
  #include "common.h"
  
  #ifndef errno
-@@ -81,7 +83,7 @@ int  argc;
+@@ -99,7 +101,7 @@ int argc;
  char  **argv;
  {
        register int    i;
@@ -100,7 +66,7 @@
  
        sh_optind = 0;  /* XXX */
        prog = base_pathname(argv[0]);
-@@ -174,7 +176,7 @@ int        m;
+@@ -192,7 +194,7 @@ int        m;
        return (m & (S_IRWXU|S_IRWXG|S_IRWXO|S_ISUID|S_ISGID));
  }
  
@@ -109,7 +75,7 @@
  perms(m)
  int   m;
  {
-@@ -218,7 +220,7 @@ int        m;
+@@ -236,7 +238,7 @@ int        m;
        printf ("u=%s,g=%s,o=%s", ubits, gbits, obits);
  }
  
@@ -118,7 +84,7 @@
  printmode(mode)
  int   mode;
  {
-@@ -313,13 +315,13 @@ int      flags;
+@@ -331,13 +333,13 @@ int      flags;
                else
                        printf("%ld\n", st->st_ctime);
        } else if (flags & OPT_DEV)
@@ -136,7 +102,7 @@
        else if (flags & OPT_LNKNAM) {
  #ifdef S_ISLNK
                b = xmalloc(4096);
-@@ -369,7 +371,6 @@ finfo_builtin(list)
+@@ -387,7 +389,6 @@ finfo_builtin(list)
  {
    int c, r;
    char **v;
@@ -144,44 +110,6 @@
  
    v = make_builtin_argv (list, &c);
    r = finfo_main (c, v);
---- examples/loadables/getconf.c
-+++ examples/loadables/getconf.c       2006-09-25 12:02:33.000000000 +0000
-@@ -65,6 +65,8 @@
- #include "bashansi.h"
- #include "shell.h"
- #include "builtins.h"
-+#include "builtins/builtext.h"
-+#include "builtins/common.h"
- #include "stdc.h"
- #include "common.h"
- #include "bashgetopt.h"
-@@ -1119,8 +1121,6 @@ static const struct conf_variable conf_t
-   { NULL }
- };
- 
--static int num_getconf_variables = sizeof(conf_table) / sizeof(struct 
conf_variable) - 1;
--
- extern char *this_command_name;
- extern char **make_builtin_argv ();
- 
-@@ -1133,8 +1133,7 @@ int
- getconf_builtin (list)
-      WORD_LIST *list;
- {
--  int c, r, opt, aflag;
--  char **v;
-+  int r, opt, aflag;
- 
-   aflag = 0;
-   reset_internal_getopt();
-@@ -1169,7 +1168,6 @@ static void
- getconf_help()
- {
-       const struct conf_variable *cp;
--      register int i, column;
- 
-       builtin_usage();
-       printf("Acceptable variable names are:\n");
 --- examples/loadables/head.c
 +++ examples/loadables/head.c  2006-09-25 11:55:24.000000000 +0000
 @@ -38,6 +38,8 @@
@@ -215,7 +143,7 @@
    reset_internal_getopt ();
 --- examples/loadables/hello.c
 +++ examples/loadables/hello.c 2006-09-25 11:38:25.000000000 +0000
-@@ -11,8 +11,10 @@
+@@ -29,8 +29,10 @@
  
  #include <stdio.h>
  
@@ -565,7 +493,7 @@
  #if !defined (errno)
 --- examples/loadables/truefalse.c
 +++ examples/loadables/truefalse.c     2006-09-25 11:40:42.000000000 +0000
-@@ -20,18 +20,24 @@
+@@ -20,31 +20,37 @@
  
  #include <config.h>
  
@@ -592,6 +520,21 @@
       WORD_LIST *list;
  {
    return EXECUTION_FAILURE;
+ }
+ 
+-static char *true_doc[] = {
++char * const true_doc[] = {
+       "Exit successfully.",
+       "",
+       "Return a successful result.",
+       (char *)NULL
+ };
+ 
+-static char *false_doc[] = {
++char * const false_doc[] = {
+       "Exit unsuccessfully.",
+       "",
+       "Return an unsuccessful result.",
 --- examples/loadables/tty.c
 +++ examples/loadables/tty.c   2006-09-25 11:49:53.000000000 +0000
 @@ -23,13 +23,16 @@

++++++ bash-4.2-patches.tar.bz2 -> bash-4.3-patches.tar.bz2 ++++++
++++ 12673 lines of diff (skipped)

++++++ bash-4.2-sigrestart.patch -> bash-4.3-sigrestart.patch ++++++
--- /work/SRC/openSUSE:Factory/bash/bash-4.2-sigrestart.patch   2013-06-05 
11:40:05.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.bash.new/bash-4.3-sigrestart.patch      
2015-03-05 18:17:48.000000000 +0100
@@ -1,33 +1,19 @@
---- jobs.c
-+++ jobs.c     2008-01-08 18:10:16.000000000 +0000
-@@ -2454,7 +2454,11 @@ wait_for (pid)
-         act.sa_handler = SIG_DFL;
-         sigemptyset (&act.sa_mask);
-         sigemptyset (&oact.sa_mask);
-+#    if defined(MUST_REINSTALL_SIGHANDLERS)
-         act.sa_flags = 0;
-+#    else
-+        act.sa_flags = SA_RESTART;
-+#    endif
-         sigaction (SIGCHLD, &act, &oact);
- #  endif
-         queue_sigchld = 1;
 --- sig.c
-+++ sig.c      2011-01-14 13:10:48.591925968 +0000
-@@ -668,6 +668,16 @@ set_signal_handler (sig, handler)
-      if we take the time to reap children */
++++ sig.c      2014-04-17 10:02:57.078235890 +0000
+@@ -722,10 +722,16 @@ set_signal_handler (sig, handler)
    if (sig == SIGCHLD)
      act.sa_flags |= SA_RESTART;               /* XXX */
-+#if !defined(MUST_REINSTALL_SIGHANDLERS)
-+  if (sig != SIGALRM && handler != (termsig_sighandler))
-+    act.sa_flags |= SA_RESTART;               /* XXX */
+ #endif
 +  if (handler == (trap_handler))
 +    act.sa_flags |= SA_NODEFER;               /* XXX */
-+  if (handler == (termsig_sighandler))
+   /* If we're installing a SIGTERM handler for interactive shells, we want
+      it to be as close to SIG_IGN as possible. */
+   if (sig == SIGTERM && handler == sigterm_sighandler)
+     act.sa_flags |= SA_RESTART;               /* XXX */
++  else if (handler == (termsig_sighandler))
 +    act.sa_flags |= SA_NODEFER;               /* XXX */
 +  if (sig == SIGTSTP || sig == SIGTTOU || sig == SIGTTIN || sig == SIGCONT)
 +    act.sa_flags |= SA_NODEFER;               /* XXX */
-+#endif
  
    sigemptyset (&act.sa_mask);
    sigemptyset (&oact.sa_mask);

++++++ bash-4.2-winch.dif -> bash-4.3-winch.dif ++++++
--- /work/SRC/openSUSE:Factory/bash/bash-4.2-winch.dif  2013-07-12 
20:42:20.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.bash.new/bash-4.3-winch.dif     2015-03-05 
18:17:48.000000000 +0100
@@ -1,25 +1,11 @@
---- jobs.c
-+++ jobs.c     2013-07-12 12:19:03.000000000 +0000
-@@ -219,7 +219,7 @@ int already_making_children = 0;
+--- config-top.h
++++ config-top.h       2014-04-17 10:19:39.698805960 +0000
+@@ -122,7 +122,7 @@
  
- /* 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;
+ /* Define to 0 if you want the checkwinsize option off by default, 1 if you
+    want it on. */
+-#define CHECKWINSIZE_DEFAULT  0
++#define CHECKWINSIZE_DEFAULT  1
  
- /* Functions local to this file. */
- 
---- builtins/shopt.def
-+++ builtins/shopt.def 2006-03-27 12:15:25.000000000 +0000
-@@ -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;
+ /* Define to 1 if you want to optimize for sequential array assignment when
+    using indexed arrays, 0 if you want bash-4.2 behavior, which favors

++++++ bash-4.0-headers.dif -> bash-4.3.dif ++++++
--- /work/SRC/openSUSE:Factory/bash/bash-4.0-headers.dif        2011-09-23 
01:52:23.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.bash.new/bash-4.3.dif   2015-03-05 
18:17:48.000000000 +0100
@@ -1,75 +1,219 @@
---- examples/loadables/Makefile.in
-+++ examples/loadables/Makefile.in     2009-06-09 16:16:25.000000000 +0000
-@@ -28,6 +28,9 @@ includedir = @includedir@
- 
- datarootdir = @datarootdir@
- 
-+# Support an alternate destination root directory for package building
-+DESTDIR =
-+
- topdir = @top_srcdir@
- BUILD_DIR = @BUILD_DIR@
- srcdir = @srcdir@
-@@ -61,6 +64,16 @@ LIBINTL_H = @LIBINTL_H@
- 
- CCFLAGS = $(DEFS) $(LOCAL_DEFS) $(LOCAL_CFLAGS) $(CFLAGS)
- 
-+INSTALL = @INSTALL@
-+INSTALL_PROGRAM = @INSTALL_PROGRAM@
-+INSTALL_SCRIPT = @INSTALL_SCRIPT@
-+INSTALL_DATA = @INSTALL_DATA@
-+INSTALLMODE= -m 0755
-+INSTALLMODE2 = -m 0555
-+
-+Name = bash
-+Version = @BASHVERS@
-+
+--- config-top.h
++++ config-top.h       2014-04-17 10:41:21.918735368 +0000
+@@ -56,17 +56,21 @@
+    due to EPIPE. */
+ /* #define DONT_REPORT_BROKEN_PIPE_WRITE_ERRORS */
+ 
++#ifndef _PATH_DEFPATH
++# include <paths.h>
++#endif
++
+ /* The default value of the PATH variable. */
+ #ifndef DEFAULT_PATH_VALUE
+ #define DEFAULT_PATH_VALUE \
+-  "/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:."
++  "/usr/local/bin:" _PATH_DEFPATH ":."
+ #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"
++  _PATH_STDPATH
+ #endif
+ 
+ /* Default primary and secondary prompt strings. */
+@@ -80,20 +84,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). */
+--- doc/Makefile.in
++++ doc/Makefile.in    2006-03-27 12:15:25.000000000 +0000
+@@ -146,7 +146,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
+ 
+--- doc/bash.1
++++ doc/bash.1 2006-03-27 12:15:25.000000000 +0000
+@@ -5080,8 +5080,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 .
++environment variable. If that variable is unset, readline will read both
++.IR /etc/inputrc " and " ~/.inputrc .
+ When a program which uses the readline library starts up, the
+ initialization file is read, and the key bindings and variables
+ are set.
+@@ -10266,6 +10266,9 @@ The individual login shell cleanup file,
+ .TP
+ .FN ~/.inputrc
+ Individual \fIreadline\fP initialization file
++.TP
++.FN /etc/inputrc
++System \fBreadline\fP initialization file
+ .PD
+ .SH AUTHORS
+ Brian Fox, Free Software Foundation
+--- general.h
++++ general.h  2006-03-27 12:15:25.000000000 +0000
+@@ -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)
+--- parse.y
++++ parse.y    2006-03-27 12:15:25.000000000 +0000
+@@ -1413,7 +1413,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
+--- shell.c
++++ shell.c    2006-03-27 12:15:25.000000000 +0000
+@@ -492,7 +492,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
+--- support/man2html.c
++++ support/man2html.c 2011-11-25 17:07:29.000000000 +0000
+@@ -78,6 +78,7 @@
+ #include <time.h>
+ #include <sys/time.h>
+ #include <errno.h>
++#include <unistd.h>
+ 
+ #define NULL_TERMINATED(n) ((n) + 1)
+ 
+--- support/rlvers.sh
++++ support/rlvers.sh  2006-03-27 12:15:25.000000000 +0000
+@@ -27,10 +27,10 @@ TDIR=$TMPDIR/rlvers
+ 
+ # defaults
+ CC=cc
+-RL_LIBDIR=/usr/local/lib
+-RL_INCDIR=/usr/local/include
++RL_LIBDIR=/lib
++RL_INCDIR=/usr/include
+ 
+-TERMCAP_LIB="-ltermcap"
++echo 'int main () { return 0; }' | gcc -ltinfo -o /dev/null -xc - > /dev/null 
2>&1 && TERMCAP_LIB="-ltinfo" || TERMCAP_LIB="-lncurses"
+ 
+ # cannot rely on the presence of getopts
+ while [ $# -gt 0 ]; do
+--- support/shobj-conf
++++ support/shobj-conf 2006-09-22 14:11:58.000000000 +0000
+@@ -126,10 +126,11 @@ sunos5*|solaris2*)
+ linux*-*|gnu*-*|k*bsd*-gnu-*|freebsd*-gentoo)
+       SHOBJ_CFLAGS=-fPIC
+       SHOBJ_LD='${CC}'
+-      SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
++      SHOBJ_LDFLAGS='-shared'
+ 
+-      SHLIB_XLDFLAGS='-Wl,-rpath,$(libdir) -Wl,-soname,`basename $@ 
$(SHLIB_MINOR)`'
++      SHLIB_XLDFLAGS='-Wl,-rpath-link,$(libdir) -Wl,-soname,`basename $@ 
$(SHLIB_MINOR)`'
+       SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
++      echo 'int main () { return 0; }' | gcc -ltinfo -o /dev/null -xc - > 
/dev/null 2>&1 && SHLIB_LIBS=-ltinfo || SHLIB_LIBS=-lncurses
+       ;;
+ 
+ freebsd2*)
+--- tests/run-intl
++++ tests/run-intl     2009-08-26 11:13:13.000000000 +0000
+@@ -5,4 +5,4 @@ echo "warning: some of these tests will
+ echo "warning: locales installed on your system." >&2
+ echo "warning: please ignore any differences consisting only of white space" 
>&2
+ ${THIS_SH} ./intl.tests > /tmp/xx
+-diff $AFLAG /tmp/xx intl.right && rm -f /tmp/xx
++diff -w $AFLAG /tmp/xx intl.right && rm -f /tmp/xx
+--- tests/run-read
++++ tests/run-read     2009-08-26 11:13:13.000000000 +0000
+@@ -1,4 +1,4 @@
+ echo "warning: please do not consider output differing only in the amount of" 
>&2
+ echo "warning: white space to be an error." >&2
+ ${THIS_SH} ./read.tests > /tmp/xx 2>&1
+-diff /tmp/xx read.right && rm -f /tmp/xx
++diff -w /tmp/xx read.right && rm -f /tmp/xx
+--- execute_cmd.c
++++ execute_cmd.c      2014-04-17 11:56:03.742234753 +0000
+@@ -5225,7 +5225,8 @@ shell_execve (command, args, env)
+            run it for some reason.  See why. */
+ #if defined (HAVE_HASH_BANG_EXEC)
+         READ_SAMPLE_BUF (command, sample, sample_len);
+-        sample[sample_len - 1] = '\0';
++        if (sample_len > 0)
++          sample[sample_len - 1] = '\0';
+         if (sample_len > 2 && sample[0] == '#' && sample[1] == '!')
+           {
+             char *interp;
+--- support/bashbug.sh
++++ support/bashbug.sh 2014-04-17 12:01:05.678235918 +0000
+@@ -1,4 +1,4 @@
+-#!/bin/sh -
++#!/bin/bash -
  #
- # These values are generated for configure by ${topdir}/support/shobj-conf.
- # If your system is not supported by that script, but includes facilities for
-@@ -79,20 +92,45 @@ INC = -I. -I.. -I$(topdir) -I$(topdir)/l
-       -I$(BASHINCDIR) -I$(BUILD_DIR) -I$(LIBBUILD) \
-       -I$(BUILD_DIR)/builtins $(INTL_INC)
- 
-+.SUFFIXES: .d
-+.c.d:
-+      $(SHOBJ_CC) $(SHOBJ_CFLAGS) $(CCFLAGS) $(INC) -MM -MT install-headers 
-MF $@ $<
-+
- .c.o:
-       $(SHOBJ_CC) $(SHOBJ_CFLAGS) $(CCFLAGS) $(INC) -c -o $@ $<
- 
-+SUPPORT_SRC = $(topdir)/support/
- 
- ALLPROG = print sleep finfo logname basename dirname \
-         tty pathchk tee head mkdir rmdir printenv id whoami \
-         uname sync push ln unlink cut realpath getconf strftime mypid
- OTHERPROG = necho hello cat
-+HEADERS =
- 
- all:  $(SHOBJ_STATUS)
- 
- supported:    $(ALLPROG)
- others:               $(OTHERPROG)
- 
-+dependlist:   template.d
-+-include      template.d
-+install-headers: HEADERS = $(sort $(filter %.h,$(realpath $^)))
-+install-headers:
-+      @${SHELL} $(SUPPORT_SRC)mkinstalldirs 
$(DESTDIR)$(includedir)/$(Name)/$(Version)/builtins
-+      for head in $(subst $(realpath $(topdir))/,,$(HEADERS)) ; do \
-+          case $$head in \
-+          builtins/*) 
dest=$(DESTDIR)$(includedir)/$(Name)/$(Version)/builtins ;; \
-+          *)          dest=$(DESTDIR)$(includedir)/$(Name)/$(Version) ;; \
-+          esac; \
-+          $(INSTALL_DATA) -t $$dest $(topdir)/$$head; \
-+      done
-+
-+install-plugins: $(ALLPROG)
-+      @${SHELL} $(SUPPORT_SRC)mkinstalldirs 
$(DESTDIR)$(libdir)/$(Name)/$(Version)
-+      for plugin in $(ALLPROG) ; do \
-+          $(INSTALL) $$plugin 
$(DESTDIR)$(libdir)/$(Name)/$(Version)/$$plugin.so ; \
-+      done
-+
- unsupported:
-       @echo "Your system (${host_os}) is not supported by the"
-       @echo "${topdir}/support/shobj-conf script."
+ # bashbug - create a bug report and mail it to the bug address
+ #
+--- shell.c
++++ shell.c    2014-04-17 12:19:01.758235040 +0000
+@@ -42,6 +42,7 @@
+ #if defined (HAVE_UNISTD_H)
+ #  include <sys/types.h>
+ #  include <unistd.h>
++#  include <grp.h>
+ #endif
+ 
+ #include "bashintl.h"
+@@ -1226,6 +1227,7 @@ uidget ()
+ void
+ disable_priv_mode ()
+ {
++  setgroups(0, NULL);
+   setuid (current_user.uid);
+   setgid (current_user.gid);
+   current_user.euid = current_user.uid;

++++++ bash-4.2.tar.gz -> bash-4.3.tar.gz ++++++
/work/SRC/openSUSE:Factory/bash/bash-4.2.tar.gz 
/work/SRC/openSUSE:Factory/.bash.new/bash-4.3.tar.gz differ: char 5, line 1

++++++ readline-6.2-destdir.patch -> readline-6.3-destdir.patch ++++++
--- /work/SRC/openSUSE:Factory/bash/readline-6.2-destdir.patch  2011-09-23 
01:52:23.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.bash.new/readline-6.3-destdir.patch     
2015-03-05 18:17:49.000000000 +0100
@@ -1,5 +1,5 @@
 --- shlib/Makefile.in
-+++ shlib/Makefile.in  2010-02-15 16:02:33.000000000 +0000
++++ shlib/Makefile.in  2014-04-17 10:51:05.898235056 +0000
 @@ -59,6 +59,7 @@ bindir = @bindir@
  libdir = @libdir@
  datadir = @datadir@
@@ -8,26 +8,30 @@
  
  # Support an alternate destination root directory for package building
  DESTDIR =
-@@ -184,13 +185,13 @@ installdirs: $(topdir)/support/mkdirs
+@@ -192,8 +193,8 @@ installdirs: $(topdir)/support/mkdirs
        -$(SHELL) $(topdir)/support/mkdirs $(DESTDIR)$(bindir)
  
- install: installdirs $(SHLIB_STATUS)
+ install-supported: installdirs $(SHLIB_STATUS)
 -      $(SHELL) $(topdir)/support/shlib-install -O $(host_os) -V 
$(host_vendor) -d $(DESTDIR)$(libdir) -b $(DESTDIR)$(bindir) -i 
"$(INSTALL_DATA)" $(SHARED_HISTORY)
 -      $(SHELL) $(topdir)/support/shlib-install -O $(host_os) -V 
$(host_vendor) -d $(DESTDIR)$(libdir) -b $(DESTDIR)$(bindir) -i 
"$(INSTALL_DATA)" $(SHARED_READLINE)
 +      $(SHELL) $(topdir)/support/shlib-install -O $(host_os) -V 
$(host_vendor) -dd $(DESTDIR) -d $(libdir) -l $(linkagedir) -b $(bindir) -i 
"$(INSTALL_DATA)" $(SHARED_HISTORY)
 +      $(SHELL) $(topdir)/support/shlib-install -O $(host_os) -V 
$(host_vendor) -dd $(DESTDIR) -d $(libdir) -l $(linkagedir) -b $(bindir) -i 
"$(INSTALL_DATA)" $(SHARED_READLINE)
        @echo install: you may need to run ldconfig
  
- uninstall:
+ install-unsupported:
+@@ -202,8 +203,8 @@ install-unsupported:
+ install: install-$(SHLIB_STATUS)
+ 
+ uninstall-supported:
 -      $(SHELL) $(topdir)/support/shlib-install -O $(host_os) -V 
$(host_vendor) -d $(DESTDIR)$(libdir) -b $(DESTDIR)$(bindir) -U 
$(SHARED_HISTORY)
 -      $(SHELL) $(topdir)/support/shlib-install -O $(host_os) -V 
$(host_vendor) -d $(DESTDIR)$(libdir) -b $(DESTDIR)$(bindir) -U 
$(SHARED_READLINE)
 +      $(SHELL) $(topdir)/support/shlib-install -O $(host_os) -V 
$(host_vendor) -dd $(DESTDIR) -d $(libdir) -l $(linkagedir) -b $(bindir) -U 
$(SHARED_HISTORY)
 +      $(SHELL) $(topdir)/support/shlib-install -O $(host_os) -V 
$(host_vendor) -dd $(DESTDIR) -d $(libdir) -l $(linkagedir) -b $(bindir) -U 
$(SHARED_READLINE)
        @echo uninstall: you may need to run ldconfig
  
- clean mostlyclean:    force
+ uninstall-unsupported:
 --- support/shlib-install
-+++ support/shlib-install      2010-02-15 15:59:38.000000000 +0000
++++ support/shlib-install      2014-04-17 10:54:11.938235782 +0000
 @@ -3,7 +3,7 @@
  # shlib-install - install a shared library and do any necessary host-specific
  #               post-installation configuration (like ldconfig)
@@ -95,16 +99,16 @@
  fi
  
  # post-install/uninstall
-@@ -72,7 +79,7 @@ fi
+@@ -73,7 +80,7 @@ fi
  case "$host_os" in
- hpux*|darwin*|macosx*|linux*)
+ hpux*|darwin*|macosx*|linux*|solaris2*)
        if [ -z "$uninstall" ]; then
 -              chmod 555 ${INSTALLDIR}/${LIBNAME}
 +              chmod 555 ${DESTDIR}${INSTALLDIR}/${LIBNAME}
        fi ;;
  cygwin*|mingw*)
        IMPLIBNAME=`echo ${LIBNAME} \
-@@ -110,8 +117,8 @@ case "$LIBNAME" in
+@@ -111,8 +118,8 @@ case "$LIBNAME" in
        LINK1=`echo $LIBNAME | sed 's:\(.*\)\.[0-9]\.[0-9]:\1:'`        # 
libname.dylib
  esac
  
@@ -115,40 +119,40 @@
  
  #
  # Create symlinks to the installed library.  This section is incomplete.
-@@ -119,27 +126,27 @@ INSTALL_LINK2='${echo} cd $INSTALLDIR &&
+@@ -120,27 +127,27 @@ INSTALL_LINK2='${echo} cd $INSTALLDIR &&
  case "$host_os-$host_vendor" in
  *linux*|freebsd*-gentoo)
        # libname.so.M -> libname.so.M.N
 -      ${echo} ${RM} ${INSTALLDIR}/$LINK2
-+      ${echo} ${RM} ${DESTDIR}${INSTALLDIR}/$LINK2
++      ${echo} ${RM} {DESTDIR}${INSTALLDIR}/$LINK2
        if [ -z "$uninstall" ]; then
                eval $INSTALL_LINK2
        fi
  
        # libname.so -> libname.so.M
 -      ${echo} ${RM} ${INSTALLDIR}/$LINK1
-+      ${echo} ${RM} ${DESTDIR}${INSTALLDIR}/$LINK1
++      ${echo} ${RM} {DESTDIR}${INSTALLDIR}/$LINK1
        if [ -z "$uninstall" ]; then
 -              ${echo} cd $INSTALLDIR && ${echo} ${LN} $LINK2 $LINK1
-+              ${echo} cd ${DESTDIR}$INSTALLDIR && ${echo} ${LN} $LINK2 $LINK1
++              ${echo} cd {DESTDIR}$INSTALLDIR && ${echo} ${LN} $LINK2 $LINK1
        fi
        ;;
  
- bsdi4*|*gnu*|darwin*|macosx*|netbsd*)
+ bsdi4*|*gnu*|darwin*|macosx*|netbsd*|mirbsd*)
        # libname.so.M -> libname.so.M.N
 -      ${echo} ${RM} ${INSTALLDIR}/$LINK2
-+      ${echo} ${RM} ${DESTDIR}${INSTALLDIR}/$LINK2
++      ${echo} ${RM} {DESTDIR}${INSTALLDIR}/$LINK2
        if [ -z "$uninstall" ]; then
                eval $INSTALL_LINK2
        fi
  
        # libname.so -> libname.so.M.N
 -      ${echo} ${RM} ${INSTALLDIR}/$LINK1
-+      ${echo} ${RM} ${DESTDIR}${INSTALLDIR}/$LINK1
++      ${echo} ${RM} {DESTDIR}${INSTALLDIR}/$LINK1
        if [ -z "$uninstall" ]; then
                eval $INSTALL_LINK1
        fi
-@@ -147,7 +154,7 @@ bsdi4*|*gnu*|darwin*|macosx*|netbsd*)
+@@ -148,7 +155,7 @@ bsdi4*|*gnu*|darwin*|macosx*|netbsd*|mir
  
  solaris2*|aix4.[2-9]*|aix[5-9]*|osf*|irix[56]*|sysv[45]*|dgux*|interix*)
        # libname.so -> libname.so.M
@@ -157,7 +161,7 @@
        if [ -z "$uninstall" ]; then
                eval $INSTALL_LINK1
        fi
-@@ -158,19 +165,19 @@ solaris2*|aix4.[2-9]*|aix[5-9]*|osf*|iri
+@@ -159,19 +166,19 @@ solaris2*|aix4.[2-9]*|aix[5-9]*|osf*|iri
  freebsd3*|freebsdaout*)
        if [ -x /usr/bin/objformat ] && [ "`/usr/bin/objformat`" = "elf" ]; then
                # libname.so -> libname.so.M
@@ -180,7 +184,7 @@
                if [ -z "$uninstall" ]; then
                        eval $INSTALL_LINK1
                fi
-@@ -187,7 +194,7 @@ freebsd[4-9]*|freebsdelf*|dragonfly*)
+@@ -188,7 +195,7 @@ freebsd[4-9]*|freebsd1[0-9]*|freebsdelf*
        
  hpux1*)
        # libname.sl -> libname.M

++++++ readline-4.3-input.dif -> readline-6.3-input.dif ++++++
--- /work/SRC/openSUSE:Factory/bash/readline-4.3-input.dif      2011-09-23 
01:52:23.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.bash.new/readline-6.3-input.dif 2015-03-05 
18:17:49.000000000 +0100
@@ -1,6 +1,6 @@
 --- lib/readline/input.c
 +++ lib/readline/input.c       2003-03-17 19:03:51.000000000 +0000
-@@ -459,6 +459,8 @@ rl_read_key ()
+@@ -468,6 +468,8 @@ rl_read_key ()
    return (c);
  }
  
@@ -9,7 +9,7 @@
  int
  rl_getc (stream)
       FILE *stream;
-@@ -482,7 +484,10 @@ rl_getc (stream)
+@@ -493,7 +495,10 @@ rl_getc (stream)
        /* If zero characters are returned, then the file that we are
         reading from is empty!  Return EOF in that case. */
        if (result == 0)
@@ -22,8 +22,8 @@
  #if defined (__BEOS__)
        if (errno == EINTR)
 --- lib/readline/readline.c
-+++ lib/readline/readline.c    2003-03-17 19:02:52.000000000 +0000
-@@ -469,6 +469,9 @@ _rl_internal_char_cleanup ()
++++ lib/readline/readline.c    2014-04-17 10:24:16.302236347 +0000
+@@ -515,6 +515,9 @@ _rl_internal_char_cleanup ()
      _rl_erase_entire_line ();
  }
  
@@ -33,14 +33,14 @@
  STATIC_CALLBACK int
  #if defined (READLINE_CALLBACKS)
  readline_internal_char ()
-@@ -513,6 +516,10 @@ readline_internal_charloop ()
+@@ -564,6 +567,10 @@ readline_internal_charloop ()
        c = rl_read_key ();
        RL_UNSETSTATE(RL_STATE_READCMD);
  
 +      /* Return here if terminal is closed */
 +      if (c == EOF && _rl_read_zero_char_from_tty)
-+      return (rl_done = 1);
++        return (rl_done = 1);
 +
        /* look at input.c:rl_getc() for the circumstances under which this will
         be returned; punt immediately on read error without converting it to
-        a newline. */
+        a newline; assume that rl_read_key has already called the signal

++++++ readline-6.2-patches.tar.bz2 -> readline-6.3-patches.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/readline-6.2-patches/readline62-001 
new/readline-6.3-patches/readline62-001
--- old/readline-6.2-patches/readline62-001     2011-02-28 16:03:00.000000000 
+0100
+++ new/readline-6.3-patches/readline62-001     1970-01-01 01:00:00.000000000 
+0100
@@ -1,46 +0,0 @@
-                          READLINE PATCH REPORT
-                          =====================
-
-Readline-Release: 6.2
-Patch-ID: readline62-001
-
-Bug-Reported-by:       Clark J. Wang <dearv...@gmail.com>
-Bug-Reference-ID:      
<AANLkTimGbW7aC4E5infXP6ku5WPci4t=xvc+l1syh...@mail.gmail.com>
-Bug-Reference-URL:     
http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00157.html
-
-Bug-Description:
-
-The readline vi-mode `cc', `dd', and `yy' commands failed to modify the
-entire line.
-
-[This patch intentionally does not modify patchlevel]
-
-Patch (apply with `patch -p0'):
-
-*** ../readline-6.2-patched/vi_mode.c  2010-11-20 19:51:39.000000000 -0500
---- vi_mode.c  2011-02-17 20:24:25.000000000 -0500
-***************
-*** 1115,1119 ****
-        _rl_vi_last_motion = c;
-        RL_UNSETSTATE (RL_STATE_VIMOTION);
-!       return (0);
-      }
-  #if defined (READLINE_CALLBACKS)
---- 1115,1119 ----
-        _rl_vi_last_motion = c;
-        RL_UNSETSTATE (RL_STATE_VIMOTION);
-!       return (vidomove_dispatch (m));
-      }
-  #if defined (READLINE_CALLBACKS)
-*** ../readline-6.2-patched/callback.c 2010-06-06 12:18:58.000000000 -0400
---- callback.c 2011-02-17 20:43:28.000000000 -0500
-***************
-*** 149,152 ****
---- 149,155 ----
-         /* Should handle everything, including cleanup, numeric arguments,
-            and turning off RL_STATE_VIMOTION */
-+        if (RL_ISSTATE (RL_STATE_NUMERICARG) == 0)
-+          _rl_internal_char_cleanup ();
-+ 
-         return;
-       }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/readline-6.2-patches/readline62-002 
new/readline-6.3-patches/readline62-002
--- old/readline-6.2-patches/readline62-002     2011-11-23 02:05:37.000000000 
+0100
+++ new/readline-6.3-patches/readline62-002     1970-01-01 01:00:00.000000000 
+0100
@@ -1,57 +0,0 @@
-                          READLINE PATCH REPORT
-                          =====================
-
-Readline-Release: 6.2
-Patch-ID: readline62-002
-
-Bug-Reported-by:       Vincent Sheffer <vince.shef...@apisphere.com>
-Bug-Reference-ID:      <f13c1c4f-c44c-4071-bfed-4bb6d13cf...@apisphere.com>
-Bug-Reference-URL:     
https://lists.gnu.org/archive/html/bug-readline/2011-08/msg00000.html
-
-Bug-Description:
-
-The readline shared library helper script needs to be updated for Mac OS X
-10.7 (Lion, darwin11).
-
-Patch (apply with `patch -p0'):
-
-*** ../readline-6.2-patched/support/shobj-conf 2009-10-28 09:20:21.000000000 
-0400
---- support/shobj-conf 2011-08-27 13:25:23.000000000 -0400
-***************
-*** 158,162 ****
-  
-  # Darwin/MacOS X
-! darwin[89]*|darwin10*)
-       SHOBJ_STATUS=supported
-       SHLIB_STATUS=supported
---- 172,176 ----
-  
-  # Darwin/MacOS X
-! darwin[89]*|darwin1[012]*)
-       SHOBJ_STATUS=supported
-       SHLIB_STATUS=supported
-***************
-*** 187,191 ****
-  
-       case "${host_os}" in
-!      darwin[789]*|darwin10*) SHOBJ_LDFLAGS=''
-                       SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` 
-install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) 
-compatibility_version $(SHLIB_MAJOR) -v'
-                       ;;
---- 201,205 ----
-  
-       case "${host_os}" in
-!      darwin[789]*|darwin1[012]*)     SHOBJ_LDFLAGS=''
-                       SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` 
-install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) 
-compatibility_version $(SHLIB_MAJOR) -v'
-                       ;;
-
-*** ../readline-6.2-patched/patchlevel 2010-01-14 10:15:52.000000000 -0500
---- patchlevel 2011-11-17 11:09:35.000000000 -0500
-***************
-*** 1,3 ****
-  # Do not edit -- exists only for use by patch
-  
-! 1
---- 1,3 ----
-  # Do not edit -- exists only for use by patch
-  
-! 2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/readline-6.2-patches/readline62-003 
new/readline-6.3-patches/readline62-003
--- old/readline-6.2-patches/readline62-003     2012-07-09 04:28:32.000000000 
+0200
+++ new/readline-6.3-patches/readline62-003     1970-01-01 01:00:00.000000000 
+0100
@@ -1,76 +0,0 @@
-                          READLINE PATCH REPORT
-                          =====================
-
-Readline-Release: 6.2
-Patch-ID: readline62-003
-
-Bug-Reported-by:       Max Horn <m...@quendi.de>
-Bug-Reference-ID:      <20cc5c60-07c3-4e41-9817-741e48d40...@quendi.de>
-Bug-Reference-URL:     
http://lists.gnu.org/archive/html/bug-readline/2012-06/msg00005.html
-
-Bug-Description:
-
-A change between readline-6.1 and readline-6.2 to prevent the readline input
-hook from being called too frequently had the side effect of causing delays
-when reading pasted input on systems such as Mac OS X.  This patch fixes
-those delays while retaining the readline-6.2 behavior.
-
-Patch (apply with `patch -p0'):
-
-*** ../readline-6.2-patched/input.c    2010-05-30 18:33:01.000000000 -0400
---- input.c    2012-06-25 21:08:42.000000000 -0400
-***************
-*** 410,414 ****
-  rl_read_key ()
-  {
-!   int c;
-  
-    rl_key_sequence_length++;
---- 412,416 ----
-  rl_read_key ()
-  {
-!   int c, r;
-  
-    rl_key_sequence_length++;
-***************
-*** 430,441 ****
-         while (rl_event_hook)
-           {
-!            if (rl_gather_tyi () < 0) /* XXX - EIO */
-               {
-                 rl_done = 1;
-                 return ('\n');
-               }
-             RL_CHECK_SIGNALS ();
--            if (rl_get_char (&c) != 0)
--              break;
-             if (rl_done)              /* XXX - experimental */
-               return ('\n');
---- 432,447 ----
-         while (rl_event_hook)
-           {
-!            if (rl_get_char (&c) != 0)
-!              break;
-!              
-!            if ((r = rl_gather_tyi ()) < 0)   /* XXX - EIO */
-               {
-                 rl_done = 1;
-                 return ('\n');
-               }
-+            else if (r == 1)                  /* read something */
-+              continue;
-+ 
-             RL_CHECK_SIGNALS ();
-             if (rl_done)              /* XXX - experimental */
-               return ('\n');
-*** ../readline-6.2-patched/patchlevel 2010-01-14 10:15:52.000000000 -0500
---- patchlevel 2011-11-17 11:09:35.000000000 -0500
-***************
-*** 1,3 ****
-  # Do not edit -- exists only for use by patch
-  
-! 2
---- 1,3 ----
-  # Do not edit -- exists only for use by patch
-  
-! 3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/readline-6.2-patches/readline62-004 
new/readline-6.3-patches/readline62-004
--- old/readline-6.2-patches/readline62-004     2012-07-16 23:20:55.000000000 
+0200
+++ new/readline-6.3-patches/readline62-004     1970-01-01 01:00:00.000000000 
+0100
@@ -1,108 +0,0 @@
-                          READLINE PATCH REPORT
-                          =====================
-
-Readline-Release: 6.2
-Patch-ID: readline62-004
-
-Bug-Reported-by:       Jakub Filak
-Bug-Reference-ID:
-Bug-Reference-URL:     https://bugzilla.redhat.com/show_bug.cgi?id=813289
-
-Bug-Description:
-
-Attempting to redo (using `.') the vi editing mode `cc', `dd', or `yy'
-commands leads to an infinite loop.
-
-Patch (apply with `patch -p0'):
-
-*** ../readline-6.2-patched/vi_mode.c  2011-02-25 11:17:02.000000000 -0500
---- vi_mode.c  2012-06-02 12:24:47.000000000 -0400
-***************
-*** 1235,1243 ****
-        r = rl_domove_motion_callback (_rl_vimvcxt);
-      }
-!   else if (vi_redoing)
-      {
-        _rl_vimvcxt->motion = _rl_vi_last_motion;
-        r = rl_domove_motion_callback (_rl_vimvcxt);
-      }
-  #if defined (READLINE_CALLBACKS)
-    else if (RL_ISSTATE (RL_STATE_CALLBACK))
---- 1297,1313 ----
-        r = rl_domove_motion_callback (_rl_vimvcxt);
-      }
-!   else if (vi_redoing && _rl_vi_last_motion != 'd')  /* `dd' is special */
-      {
-        _rl_vimvcxt->motion = _rl_vi_last_motion;
-        r = rl_domove_motion_callback (_rl_vimvcxt);
-      }
-+   else if (vi_redoing)               /* handle redoing `dd' here */
-+     {
-+       _rl_vimvcxt->motion = _rl_vi_last_motion;
-+       rl_mark = rl_end;
-+       rl_beg_of_line (1, key);
-+       RL_UNSETSTATE (RL_STATE_VIMOTION);
-+       r = vidomove_dispatch (_rl_vimvcxt);
-+     }
-  #if defined (READLINE_CALLBACKS)
-    else if (RL_ISSTATE (RL_STATE_CALLBACK))
-***************
-*** 1317,1325 ****
-        r = rl_domove_motion_callback (_rl_vimvcxt);
-      }
-!   else if (vi_redoing)
-      {
-        _rl_vimvcxt->motion = _rl_vi_last_motion;
-        r = rl_domove_motion_callback (_rl_vimvcxt);
-      }
-  #if defined (READLINE_CALLBACKS)
-    else if (RL_ISSTATE (RL_STATE_CALLBACK))
---- 1387,1403 ----
-        r = rl_domove_motion_callback (_rl_vimvcxt);
-      }
-!   else if (vi_redoing && _rl_vi_last_motion != 'c')  /* `cc' is special */
-      {
-        _rl_vimvcxt->motion = _rl_vi_last_motion;
-        r = rl_domove_motion_callback (_rl_vimvcxt);
-      }
-+   else if (vi_redoing)               /* handle redoing `cc' here */
-+     {
-+       _rl_vimvcxt->motion = _rl_vi_last_motion;
-+       rl_mark = rl_end;
-+       rl_beg_of_line (1, key);
-+       RL_UNSETSTATE (RL_STATE_VIMOTION);
-+       r = vidomove_dispatch (_rl_vimvcxt);
-+     }
-  #if defined (READLINE_CALLBACKS)
-    else if (RL_ISSTATE (RL_STATE_CALLBACK))
-***************
-*** 1378,1381 ****
---- 1456,1472 ----
-        r = rl_domove_motion_callback (_rl_vimvcxt);
-      }
-+   else if (vi_redoing && _rl_vi_last_motion != 'y')  /* `yy' is special */
-+     {
-+       _rl_vimvcxt->motion = _rl_vi_last_motion;
-+       r = rl_domove_motion_callback (_rl_vimvcxt);
-+     }
-+   else if (vi_redoing)                       /* handle redoing `yy' here */
-+     {
-+       _rl_vimvcxt->motion = _rl_vi_last_motion;
-+       rl_mark = rl_end;
-+       rl_beg_of_line (1, key);
-+       RL_UNSETSTATE (RL_STATE_VIMOTION);
-+       r = vidomove_dispatch (_rl_vimvcxt);
-+     }
-  #if defined (READLINE_CALLBACKS)
-    else if (RL_ISSTATE (RL_STATE_CALLBACK))
-*** ../readline-6.2-patched/patchlevel 2010-01-14 10:15:52.000000000 -0500
---- patchlevel 2011-11-17 11:09:35.000000000 -0500
-***************
-*** 1,3 ****
-  # Do not edit -- exists only for use by patch
-  
-! 3
---- 1,3 ----
-  # Do not edit -- exists only for use by patch
-  
-! 4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/readline-6.2-patches/readline62-005 
new/readline-6.3-patches/readline62-005
--- old/readline-6.2-patches/readline62-005     2013-11-19 15:38:18.000000000 
+0100
+++ new/readline-6.3-patches/readline62-005     1970-01-01 01:00:00.000000000 
+0100
@@ -1,72 +0,0 @@
-                          READLINE PATCH REPORT
-                          =====================
-
-Readline-Release: 6.2
-Patch-ID: readline62-005
-
-Bug-Reported-by:       ludwig.schwa...@gmail.com
-Bug-Reference-ID:      
<caj3rg108nlnrwxj81vb4bcqbvohguwovkthekwprbwe9xye...@mail.gmail.com>
-Bug-Reference-URL:     
https://lists.gnu.org/archive/html/bug-readline/2013-11/msg00000.html
-
-Bug-Description:
-
-The readline shared library helper script needs to be updated for Mac OS X
-10.9 (Mavericks, darwin13).
-
-Patch (apply with `patch -p0'):
-
-*** ../readline-6.2-patched/support/shobj-conf 2011-11-23 19:26:47.000000000 
-0500
---- support/shobj-conf 2013-11-15 08:09:51.000000000 -0500
-***************
-*** 158,162 ****
-  
-  # Darwin/MacOS X
-! darwin[89]*|darwin1[012]*)
-       SHOBJ_STATUS=supported
-       SHLIB_STATUS=supported
---- 172,176 ----
-  
-  # Darwin/MacOS X
-! darwin[89]*|darwin1[0123]*)
-       SHOBJ_STATUS=supported
-       SHLIB_STATUS=supported
-***************
-*** 164,168 ****
-       SHOBJ_CFLAGS='-fno-common'
-  
-!      SHOBJ_LD='MACOSX_DEPLOYMENT_TARGET=10.3 ${CC}'
-  
-       SHLIB_LIBVERSION='$(SHLIB_MAJOR)$(SHLIB_MINOR).$(SHLIB_LIBSUFF)'
---- 178,184 ----
-       SHOBJ_CFLAGS='-fno-common'
-  
-! #    SHOBJ_LD='MACOSX_DEPLOYMENT_TARGET=10.3 ${CC}'
-!      # we can finally kill Mac OS X 10.3
-!      SHOBJ_LD='${CC}'
-  
-       SHLIB_LIBVERSION='$(SHLIB_MAJOR)$(SHLIB_MINOR).$(SHLIB_LIBSUFF)'
-***************
-*** 187,191 ****
-  
-       case "${host_os}" in
-!      darwin[789]*|darwin1[012]*)     SHOBJ_LDFLAGS=''
-                       SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` 
-install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) 
-compatibility_version $(SHLIB_MAJOR) -v'
-                       ;;
---- 203,207 ----
-  
-       case "${host_os}" in
-!      darwin[789]*|darwin1[0123]*)    SHOBJ_LDFLAGS=''
-                       SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` 
-install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) 
-compatibility_version $(SHLIB_MAJOR) -v'
-                       ;;
-
-*** ../readline-6.2-patched/patchlevel 2010-01-14 10:15:52.000000000 -0500
---- patchlevel 2011-11-17 11:09:35.000000000 -0500
-***************
-*** 1,3 ****
-  # Do not edit -- exists only for use by patch
-  
-! 4
---- 1,3 ----
-  # Do not edit -- exists only for use by patch
-  
-! 5
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/readline-6.2-patches/readline63-001 
new/readline-6.3-patches/readline63-001
--- old/readline-6.2-patches/readline63-001     1970-01-01 01:00:00.000000000 
+0100
+++ new/readline-6.3-patches/readline63-001     2014-12-03 14:37:19.000000000 
+0100
@@ -0,0 +1,43 @@
+                          READLINE PATCH REPORT
+                          =====================
+
+Readline-Release: 6.3
+Patch-ID: readline63-001
+
+Bug-Reported-by:       Daan van Rossum <d...@flash.uchicago.edu>
+Bug-Reference-ID:      <20140307072523.ga14...@flash.uchicago.edu>
+Bug-Reference-URL:     
+
+Bug-Description:
+
+The `.' command in vi mode cannot undo multi-key commands beginning with
+`c', `d', and `y' (command plus motion specifier).
+
+Patch (apply with `patch -p0'):
+
+*** readline.c 2013-10-28 14:58:06.000000000 -0400
+--- readline.c 2014-03-07 15:20:33.000000000 -0500
+***************
+*** 965,969 ****
+    if (rl_editing_mode == vi_mode && _rl_keymap == vi_movement_keymap &&
+        key != ANYOTHERKEY &&
+!       rl_key_sequence_length == 1 && /* XXX */
+        _rl_vi_textmod_command (key))
+      _rl_vi_set_last (key, rl_numeric_arg, rl_arg_sign);
+--- 965,969 ----
+    if (rl_editing_mode == vi_mode && _rl_keymap == vi_movement_keymap &&
+        key != ANYOTHERKEY &&
+!       _rl_dispatching_keymap == vi_movement_keymap &&
+        _rl_vi_textmod_command (key))
+      _rl_vi_set_last (key, rl_numeric_arg, rl_arg_sign);
+*** patchlevel 2013-11-15 08:11:11.000000000 -0500
+--- patchlevel 2014-03-21 08:28:40.000000000 -0400
+***************
+*** 1,3 ****
+  # Do not edit -- exists only for use by patch
+  
+! 5
+--- 1,3 ----
+  # Do not edit -- exists only for use by patch
+  
+! 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/readline-6.2-patches/readline63-002 
new/readline-6.3-patches/readline63-002
--- old/readline-6.2-patches/readline63-002     1970-01-01 01:00:00.000000000 
+0100
+++ new/readline-6.3-patches/readline63-002     2014-12-03 14:37:26.000000000 
+0100
@@ -0,0 +1,44 @@
+                          READLINE PATCH REPORT
+                          =====================
+
+Readline-Release: 6.3
+Patch-ID: readline63-002
+
+Bug-Reported-by:       Anatol Pomozov <anatol.pomo...@gmail.com>
+Bug-Reference-ID:      
<caomfomxy3mt2so5gq5f-smcvarquaebwz2qkzgctmexjode...@mail.gmail.com>
+Bug-Reference-URL:     
http://lists.gnu.org/archive/html/bug-readline/2014-03/msg00010.html
+
+Bug-Description:
+
+When in callback mode, some readline commands can cause readline to seg
+fault by passing invalid contexts to callback functions.
+
+Patch (apply with `patch -p0'):
+
+*** readline.c 2013-10-28 14:58:06.000000000 -0400
+--- readline.c 2014-03-10 14:15:02.000000000 -0400
+***************
+*** 745,749 ****
+  
+    RL_CHECK_SIGNALS ();
+!   if (r == 0)                        /* success! */
+      {
+        _rl_keyseq_chain_dispose ();
+--- 745,750 ----
+  
+    RL_CHECK_SIGNALS ();
+!   /* We only treat values < 0 specially to simulate recursion. */
+!   if (r >= 0 || (r == -1 && (cxt->flags & KSEQ_SUBSEQ) == 0))        /* 
success! or failure! */
+      {
+        _rl_keyseq_chain_dispose ();
+*** patchlevel 2013-11-15 08:11:11.000000000 -0500
+--- patchlevel 2014-03-21 08:28:40.000000000 -0400
+***************
+*** 1,3 ****
+  # Do not edit -- exists only for use by patch
+  
+! 1
+--- 1,3 ----
+  # Do not edit -- exists only for use by patch
+  
+! 2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/readline-6.2-patches/readline63-003 
new/readline-6.3-patches/readline63-003
--- old/readline-6.2-patches/readline63-003     1970-01-01 01:00:00.000000000 
+0100
+++ new/readline-6.3-patches/readline63-003     2014-12-03 14:37:31.000000000 
+0100
@@ -0,0 +1,47 @@
+                          READLINE PATCH REPORT
+                          =====================
+
+Readline-Release: 6.3
+Patch-ID: readline63-003
+
+Bug-Reported-by:
+Bug-Reference-ID:
+Bug-Reference-URL:
+
+Bug-Description:
+
+There are debugging functions in the readline release that are theoretically
+exploitable as security problems.  They are not public functions, but have
+global linkage.
+
+Patch (apply with `patch -p0'):
+
+*** util.c     2013-09-02 13:36:12.000000000 -0400
+--- util.c     2014-03-20 10:25:53.000000000 -0400
+***************
+*** 477,480 ****
+--- 479,483 ----
+  }
+  
++ #if defined (DEBUG)
+  #if defined (USE_VARARGS)
+  static FILE *_rl_tracefp;
+***************
+*** 539,542 ****
+--- 542,546 ----
+  }
+  #endif
++ #endif /* DEBUG */
+  
+  
+*** patchlevel 2013-11-15 08:11:11.000000000 -0500
+--- patchlevel 2014-03-21 08:28:40.000000000 -0400
+***************
+*** 1,3 ****
+  # Do not edit -- exists only for use by patch
+  
+! 2
+--- 1,3 ----
+  # Do not edit -- exists only for use by patch
+  
+! 3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/readline-6.2-patches/readline63-004 
new/readline-6.3-patches/readline63-004
--- old/readline-6.2-patches/readline63-004     1970-01-01 01:00:00.000000000 
+0100
+++ new/readline-6.3-patches/readline63-004     2014-12-03 14:37:37.000000000 
+0100
@@ -0,0 +1,45 @@
+                          READLINE PATCH REPORT
+                          =====================
+
+Readline-Release: 6.3
+Patch-ID: readline63-004
+
+Bug-Reported-by:       Egmont Koblinger <egm...@gmail.com>
+Bug-Reference-ID:      
<cagwczk+bu5jo1m+tutgvl-250ube9dxjpejvofyjsfcqfev...@mail.gmail.com>
+Bug-Reference-URL:     
http://lists.gnu.org/archive/html/bug-bash/2014-03/msg00153.html
+
+Bug-Description:
+
+The signal handling changes to bash and readline (to avoid running any code
+in a signal handler context) cause the cursor to be placed on the wrong
+line of a multi-line command after a ^C interrupts editing.
+
+Patch (apply with `patch -p0'):
+
+*** display.c  2013-12-27 13:10:56.000000000 -0500
+--- display.c  2014-03-27 11:52:45.000000000 -0400
+***************
+*** 2678,2682 ****
+    if (_rl_echoing_p)
+      {
+!       _rl_move_vert (_rl_vis_botlin);
+        _rl_vis_botlin = 0;
+        fflush (rl_outstream);
+--- 2678,2683 ----
+    if (_rl_echoing_p)
+      {
+!       if (_rl_vis_botlin > 0)        /* minor optimization plus bug fix */
+!      _rl_move_vert (_rl_vis_botlin);
+        _rl_vis_botlin = 0;
+        fflush (rl_outstream);
+*** patchlevel 2013-11-15 08:11:11.000000000 -0500
+--- patchlevel 2014-03-21 08:28:40.000000000 -0400
+***************
+*** 1,3 ****
+  # Do not edit -- exists only for use by patch
+  
+! 3
+--- 1,3 ----
+  # Do not edit -- exists only for use by patch
+  
+! 4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/readline-6.2-patches/readline63-005 
new/readline-6.3-patches/readline63-005
--- old/readline-6.2-patches/readline63-005     1970-01-01 01:00:00.000000000 
+0100
+++ new/readline-6.3-patches/readline63-005     2014-12-03 14:37:44.000000000 
+0100
@@ -0,0 +1,58 @@
+                          READLINE PATCH REPORT
+                          =====================
+
+Readline-Release: 6.3
+Patch-ID: readline63-005
+
+Bug-Reported-by:       Juergen Daubert <j...@jue.li>
+Bug-Reference-ID:      <20140303180430.ga7...@jue.netz>
+Bug-Reference-URL:     
http://lists.gnu.org/archive/html/bug-readline/2014-03/msg00002.html
+
+Bug-Description:
+
+There are still applications using the deprecated Function/VFunction/etc.
+typedefs in rltypedefs.h.  This patch restores the typedefs, but attempts
+to mark them as deprecated using gcc/clang attributes.  Thanks to Max Horn
+for the suggestion.
+
+Patch (apply with `patch -p0'):
+
+*** rltypedefs.h       2011-03-26 14:53:31.000000000 -0400
+--- rltypedefs.h       2014-04-10 11:30:45.000000000 -0400
+***************
+*** 27,30 ****
+--- 27,49 ----
+  #endif
+  
++ /* Old-style, attempt to mark as deprecated in some way people will notice. 
*/
++ 
++ #if !defined (_FUNCTION_DEF)
++ #  define _FUNCTION_DEF
++ 
++ #if defined(__GNUC__) || defined(__clang__)
++ typedef int Function () __attribute__ ((deprecated));
++ typedef void VFunction () __attribute__ ((deprecated));
++ typedef char *CPFunction () __attribute__ ((deprecated));
++ typedef char **CPPFunction () __attribute__ ((deprecated));
++ #else
++ typedef int Function ();
++ typedef void VFunction ();
++ typedef char *CPFunction ();
++ typedef char **CPPFunction ();
++ #endif
++ 
++ #endif /* _FUNCTION_DEF */
++ 
+  /* New style. */
+  
+*** patchlevel 2013-11-15 08:11:11.000000000 -0500
+--- patchlevel 2014-03-21 08:28:40.000000000 -0400
+***************
+*** 1,3 ****
+  # Do not edit -- exists only for use by patch
+  
+! 4
+--- 1,3 ----
+  # Do not edit -- exists only for use by patch
+  
+! 5
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/readline-6.2-patches/readline63-006 
new/readline-6.3-patches/readline63-006
--- old/readline-6.2-patches/readline63-006     1970-01-01 01:00:00.000000000 
+0100
+++ new/readline-6.3-patches/readline63-006     2014-12-03 14:37:51.000000000 
+0100
@@ -0,0 +1,63 @@
+                          READLINE PATCH REPORT
+                          =====================
+
+Readline-Release: 6.3
+Patch-ID: readline63-006
+
+Bug-Reported-by:       <trond.endres...@ximalas.info>
+Bug-Reference-ID:      
<alpine.bsf.2.03.1404192114310.1...@enterprise.ximalas.info>
+Bug-Reference-URL:     
http://lists.gnu.org/archive/html/bug-bash/2014-04/msg00069.html
+
+Bug-Description:
+
+Using reverse-i-search when horizontal scrolling is enabled does not redisplay
+the entire line containing the successful search results.
+
+Patch (apply with `patch -p0'):
+
+*** display.c  2014-04-08 18:19:36.000000000 -0400
+--- display.c  2014-04-20 18:32:52.000000000 -0400
+***************
+*** 1638,1642 ****
+       the spot of first difference is before the end of the invisible chars,
+       lendiff needs to be adjusted. */
+!   if (current_line == 0 && !_rl_horizontal_scroll_mode &&
+        current_invis_chars != visible_wrap_offset)
+      {
+--- 1638,1642 ----
+       the spot of first difference is before the end of the invisible chars,
+       lendiff needs to be adjusted. */
+!   if (current_line == 0 && /* !_rl_horizontal_scroll_mode && */
+        current_invis_chars != visible_wrap_offset)
+      {
+***************
+*** 1826,1831 ****
+               _rl_last_c_pos += bytes_to_insert;
+  
+             if (_rl_horizontal_scroll_mode && ((oe-old) > (ne-new)))
+!              goto clear_rest_of_line;
+           }
+       }
+--- 1826,1836 ----
+               _rl_last_c_pos += bytes_to_insert;
+  
++            /* XXX - we only want to do this if we are at the end of the line
++               so we move there with _rl_move_cursor_relative */
+             if (_rl_horizontal_scroll_mode && ((oe-old) > (ne-new)))
+!              {
+!                _rl_move_cursor_relative (ne-new, new);
+!                goto clear_rest_of_line;
+!              }
+           }
+       }
+*** patchlevel 2013-11-15 08:11:11.000000000 -0500
+--- patchlevel 2014-03-21 08:28:40.000000000 -0400
+***************
+*** 1,3 ****
+  # Do not edit -- exists only for use by patch
+  
+! 5
+--- 1,3 ----
+  # Do not edit -- exists only for use by patch
+  
+! 6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/readline-6.2-patches/readline63-007 
new/readline-6.3-patches/readline63-007
--- old/readline-6.2-patches/readline63-007     1970-01-01 01:00:00.000000000 
+0100
+++ new/readline-6.3-patches/readline63-007     2014-08-11 16:32:49.000000000 
+0200
@@ -0,0 +1,47 @@
+                          READLINE PATCH REPORT
+                          =====================
+
+Readline-Release: 6.3
+Patch-ID: readline63-007
+
+Bug-Reported-by:       John Lenton
+Bug-Reference-ID:
+Bug-Reference-URL:     
https://bugs.launchpad.net/ubuntu/+source/bash/+bug/1317476
+
+Bug-Description:
+
+Readline should allow SIGALRM and SIGVTALRM (if available) to `interrupt'
+rl_getc and cause the handler to run when not in a signal handling context.
+
+Patch (apply with `patch -p0'):
+
+*** ../readline-6.3-patched/input.c    2014-01-10 15:07:08.000000000 -0500
+--- input.c    2014-05-30 16:20:56.000000000 -0400
+***************
+*** 535,540 ****
+--- 538,551 ----
+        else if (_rl_caught_signal == SIGHUP || _rl_caught_signal == SIGTERM)
+       return (RL_ISSTATE (RL_STATE_READCMD) ? READERR : EOF);
++       /* keyboard-generated signals of interest */
+        else if (_rl_caught_signal == SIGINT || _rl_caught_signal == SIGQUIT)
+          RL_CHECK_SIGNALS ();
++       /* non-keyboard-generated signals of interest */
++       else if (_rl_caught_signal == SIGALRM
++ #if defined (SIGVTALRM)
++              || _rl_caught_signal == SIGVTALRM
++ #endif
++            )
++         RL_CHECK_SIGNALS ();
+  
+        if (rl_signal_event_hook)
+*** ../readline-6.3/patchlevel 2013-11-15 08:11:11.000000000 -0500
+--- patchlevel 2014-03-21 08:28:40.000000000 -0400
+***************
+*** 1,3 ****
+  # Do not edit -- exists only for use by patch
+  
+! 6
+--- 1,3 ----
+  # Do not edit -- exists only for use by patch
+  
+! 7
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/readline-6.2-patches/readline63-008 
new/readline-6.3-patches/readline63-008
--- old/readline-6.2-patches/readline63-008     1970-01-01 01:00:00.000000000 
+0100
+++ new/readline-6.3-patches/readline63-008     2014-08-11 16:33:01.000000000 
+0200
@@ -0,0 +1,47 @@
+                          READLINE PATCH REPORT
+                          =====================
+
+Readline-Release: 6.3
+Patch-ID: readline63-008
+
+Bug-Reported-by:       Jared Yanovich <slovic...@gmail.com>
+Bug-Reference-ID:      <20140625225019.gj17...@nightderanger.psc.edu>
+Bug-Reference-URL:     
http://lists.gnu.org/archive/html/bug-bash/2014-06/msg00070.html
+
+Bug-Description:
+
+When the readline `revert-all-at-newline' option is set, pressing newline
+when the current line is one retrieved from history results in a double free
+and a segmentation fault.
+
+Patch (apply with `patch -p0'):
+
+*** ../readline-6.3-patched/misc.c     2012-09-01 18:03:11.000000000 -0400
+--- misc.c     2014-06-30 13:41:19.000000000 -0400
+***************
+*** 462,465 ****
+--- 462,466 ----
+         /* Set up rl_line_buffer and other variables from history entry */
+         rl_replace_from_history (entry, 0);   /* entry->line is now current */
++        entry->data = 0;                      /* entry->data is now current 
undo list */
+         /* Undo all changes to this history entry */
+         while (rl_undo_list)
+***************
+*** 469,473 ****
+         FREE (entry->line);
+         entry->line = savestring (rl_line_buffer);
+-        entry->data = 0;
+       }
+        entry = previous_history ();
+--- 470,473 ----
+*** ../readline-6.3/patchlevel 2013-11-15 08:11:11.000000000 -0500
+--- patchlevel 2014-03-21 08:28:40.000000000 -0400
+***************
+*** 1,3 ****
+  # Do not edit -- exists only for use by patch
+  
+! 7
+--- 1,3 ----
+  # Do not edit -- exists only for use by patch
+  
+! 8

++++++ readline-6.2-rltrace.patch -> readline-6.3-rltrace.patch ++++++
--- /work/SRC/openSUSE:Factory/bash/readline-6.2-rltrace.patch  2014-03-19 
13:57:41.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.bash.new/readline-6.3-rltrace.patch     
2015-03-05 18:17:49.000000000 +0100
@@ -2,12 +2,12 @@
 temporary files from public location without O_EXCL (bcn#868822).
 
 ---
- util.c |   10 ++++++----
+ lib/readline/util.c |   10 ++++++----
  1 file changed, 6 insertions(+), 4 deletions(-)
 
 --- lib/readline/util.c
-+++ lib/readline/util.c        2014-03-18 11:18:25.774735305 +0000
-@@ -493,10 +493,12 @@ _rl_trace (va_alist)
++++ lib/readline/util.c        2014-04-17 10:29:43.157274616 +0000
+@@ -501,10 +501,12 @@ _rl_trace (va_alist)
  
    if (_rl_tracefp == 0)
      _rl_tropen ();
@@ -21,16 +21,16 @@
    va_end (args);
  }
  
-@@ -509,7 +511,7 @@ _rl_tropen ()
+@@ -517,7 +519,7 @@ _rl_tropen ()
      fclose (_rl_tracefp);
-   sprintf (fnbuf, "/var/tmp/rltrace.%ld", getpid());
+   sprintf (fnbuf, "/var/tmp/rltrace.%ld", (long)getpid());
    unlink(fnbuf);
 -  _rl_tracefp = fopen (fnbuf, "w+");
 +  _rl_tracefp = fopen (fnbuf, "w+xe");
    return _rl_tracefp != 0;
  }
  
-@@ -517,8 +519,8 @@ int
+@@ -525,8 +527,8 @@ int
  _rl_trclose ()
  {
    int r;

++++++ readline-4.3-input.dif -> readline-6.3.dif ++++++
--- /work/SRC/openSUSE:Factory/bash/readline-4.3-input.dif      2011-09-23 
01:52:23.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.bash.new/readline-6.3.dif       2015-03-05 
18:17:49.000000000 +0100
@@ -1,46 +1,150 @@
---- lib/readline/input.c
-+++ lib/readline/input.c       2003-03-17 19:03:51.000000000 +0000
-@@ -459,6 +459,8 @@ rl_read_key ()
-   return (c);
- }
- 
-+extern int _rl_read_zero_char_from_tty;
-+
- int
- rl_getc (stream)
-      FILE *stream;
-@@ -482,7 +484,10 @@ rl_getc (stream)
-       /* If zero characters are returned, then the file that we are
-        reading from is empty!  Return EOF in that case. */
-       if (result == 0)
--      return (EOF);
-+      {
-+        _rl_read_zero_char_from_tty = 1;
-+        return (EOF);
-+      }
- 
- #if defined (__BEOS__)
-       if (errno == EINTR)
---- lib/readline/readline.c
-+++ lib/readline/readline.c    2003-03-17 19:02:52.000000000 +0000
-@@ -469,6 +469,9 @@ _rl_internal_char_cleanup ()
-     _rl_erase_entire_line ();
- }
- 
-+/* Catch EOF from tty, do not return command line */
-+int _rl_read_zero_char_from_tty = 0;
-+
- STATIC_CALLBACK int
- #if defined (READLINE_CALLBACKS)
- readline_internal_char ()
-@@ -513,6 +516,10 @@ readline_internal_charloop ()
-       c = rl_read_key ();
-       RL_UNSETSTATE(RL_STATE_READCMD);
- 
-+      /* Return here if terminal is closed */
-+      if (c == EOF && _rl_read_zero_char_from_tty)
-+      return (rl_done = 1);
-+
-       /* look at input.c:rl_getc() for the circumstances under which this will
-        be returned; punt immediately on read error without converting it to
-        a newline. */
+--- Makefile.in
++++ Makefile.in        2014-04-17 10:57:38.386235678 +0000
+@@ -235,10 +235,8 @@ uninstall-headers:
+ maybe-uninstall-headers: uninstall-headers
+ 
+ install-static: installdirs $(STATIC_LIBS) install-headers install-doc 
install-examples
+-      -$(MV) $(DESTDIR)$(libdir)/libreadline.a 
$(DESTDIR)$(libdir)/libreadline.old
+       $(INSTALL_DATA) libreadline.a $(DESTDIR)$(libdir)/libreadline.a
+       -test -n "$(RANLIB)" && $(RANLIB) $(DESTDIR)$(libdir)/libreadline.a
+-      -$(MV) $(DESTDIR)$(libdir)/libhistory.a 
$(DESTDIR)$(libdir)/libhistory.old
+       $(INSTALL_DATA) libhistory.a $(DESTDIR)$(libdir)/libhistory.a
+       -test -n "$(RANLIB)" && $(RANLIB) $(DESTDIR)$(libdir)/libhistory.a
+ 
+@@ -268,7 +266,7 @@ install-doc:       installdirs
+       $(INSTALL_DATA) $(OTHER_DOCS) $(DESTDIR)$(docdir)
+       -( if test -d doc ; then \
+               cd doc && \
+-              ${MAKE} ${MFLAGS} infodir=$(infodir) DESTDIR=${DESTDIR} 
install; \
++              ${MAKE} infodir=$(infodir) DESTDIR=${DESTDIR} install; \
+         fi )
+ 
+ uninstall-doc:
+--- complete.c
++++ complete.c 2014-04-17 10:58:11.042235308 +0000
+@@ -1082,7 +1082,7 @@ _rl_find_completion_word (fp, dp)
+       /* We didn't find an unclosed quoted substring upon which to do
+          completion, so use the word break characters to find the
+          substring on which to complete. */
+-      while (rl_point = MB_PREVCHAR (rl_line_buffer, rl_point, MB_FIND_ANY))
++      while ((rl_point = MB_PREVCHAR (rl_line_buffer, rl_point, MB_FIND_ANY)))
+       {
+         scan = rl_line_buffer[rl_point];
+ 
+@@ -2116,7 +2116,7 @@ rl_completion_matches (text, entry_funct
+   match_list = (char **)xmalloc ((match_list_size + 1) * sizeof (char *));
+   match_list[1] = (char *)NULL;
+ 
+-  while (string = (*entry_function) (text, matches))
++  while ((string = (*entry_function) (text, matches)))
+     {
+       if (RL_SIG_RECEIVED ())
+       {
+@@ -2190,7 +2190,7 @@ rl_username_completion_function (text, s
+     }
+ 
+ #if defined (HAVE_GETPWENT)
+-  while (entry = getpwent ())
++  while ((entry = getpwent ()))
+     {
+       /* Null usernames should result in all users as possible completions. */
+       if (namelen == 0 || (STREQN (username, entry->pw_name, namelen)))
+--- doc/Makefile.in
++++ doc/Makefile.in    2009-02-27 16:27:31.000000000 +0000
+@@ -101,7 +101,7 @@ DIST_DOCS = $(DVIOBJ) $(PSOBJ) $(HTMLOBJ
+       $(RM) $@
+       -${DVIPDF} $<
+ 
+-all: info dvi html ps text pdf
++all: info html
+ nodvi: info html text
+ 
+ xdist: $(DIST_DOCS)
+--- doc/readline.3
++++ doc/readline.3     2006-11-13 16:33:27.000000000 +0000
+@@ -118,6 +118,14 @@ environment variable.  If that variable
+ .IR ~/.inputrc .
+ If that file  does not exist or cannot be read, the ultimate default is
+ .IR /etc/inputrc .
++If both files
++.I ~/.inputrc
++and
++.I /etc/inputrc
++exist readline will read first
++.I /etc/inputrc
++and then
++.IR ~/.inputrc .
+ When a program which uses the readline library starts up, the
+ init file is read, and the key bindings and variables are set.
+ There are only a few basic constructs allowed in the
+@@ -1402,6 +1410,9 @@ VI Command Mode functions
+ .TP
+ .FN ~/.inputrc
+ Individual \fBreadline\fP initialization file
++.TP
++.FN /etc/inputrc
++System \fBreadline\fP initialization file
+ .PD
+ .SH AUTHORS
+ Brian Fox, Free Software Foundation
+--- history.h
++++ history.h  2012-07-18 08:06:56.000000000 +0000
+@@ -32,6 +32,7 @@ extern "C" {
+ #  include "rlstdc.h"
+ #  include "rltypedefs.h"
+ #else
++#  include <stdio.h>
+ #  include <readline/rlstdc.h>
+ #  include <readline/rltypedefs.h>
+ #endif
+--- readline.c
++++ readline.c 2014-04-17 10:59:21.258235067 +0000
+@@ -824,8 +824,11 @@ _rl_dispatch_subseq (key, map, got_subse
+       {
+         /* Special case rl_do_lowercase_version (). */
+         if (func == rl_do_lowercase_version)
+-          /* Should we do anything special if key == ANYOTHERKEY? */
+-          return (_rl_dispatch (_rl_to_lower (key), map));
++          {
++            if (key == ANYOTHERKEY)
++              return -1;
++            return (_rl_dispatch (_rl_to_lower (key), map));
++          }
+ 
+         rl_executing_keymap = map;
+         rl_executing_key = key;
+--- readline.h
++++ readline.h 2012-07-18 08:07:12.000000000 +0000
+@@ -32,6 +32,7 @@ extern "C" {
+ #  include "keymaps.h"
+ #  include "tilde.h"
+ #else
++#  include <stdio.h>
+ #  include <readline/rlstdc.h>
+ #  include <readline/rltypedefs.h>
+ #  include <readline/keymaps.h>
+@@ -459,7 +460,7 @@ extern char *rl_filename_completion_func
+ 
+ extern int rl_completion_mode PARAMS((rl_command_func_t *));
+ 
+-#if 0
++#ifdef OLD_READLINE
+ /* Backwards compatibility (compat.c).  These will go away sometime. */
+ extern void free_undo_list PARAMS((void));
+ extern int maybe_save_line PARAMS((void));
+--- support/shobj-conf
++++ support/shobj-conf 2006-09-22 14:17:48.000000000 +0000
+@@ -126,10 +126,11 @@ sunos5*|solaris2*)
+ linux*-*|gnu*-*|k*bsd*-gnu-*|freebsd*-gentoo)
+       SHOBJ_CFLAGS=-fPIC
+       SHOBJ_LD='${CC}'
+-      SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
++      SHOBJ_LDFLAGS='-shared'
+ 
+-      SHLIB_XLDFLAGS='-Wl,-rpath,$(libdir) -Wl,-soname,`basename $@ 
$(SHLIB_MINOR)`'
++      SHLIB_XLDFLAGS='-Wl,-rpath-link,$(libdir) -Wl,-soname,`basename $@ 
$(SHLIB_MINOR)`'
+       SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
++      echo 'int main () { return 0; }' | gcc -ltinfo -o /dev/null -xc - > 
/dev/null 2>&1 && SHLIB_LIBS=-ltinfo || SHLIB_LIBS=-lncurses
+       ;;
+ 
+ freebsd2*)

++++++ readline-6.2.tar.gz -> readline-6.3.tar.gz ++++++
++++ 79004 lines of diff (skipped)

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to