diff --git a/bash-4.0.17-globstar2.patch b/bash-4.0.17-globstar2.patch new file mode 100644 index 00000000..07672170 --- /dev/null +++ b/bash-4.0.17-globstar2.patch @@ -0,0 +1,11 @@ +--- lib/glob/glob.c ++++ lib/glob/glob.c 2009-04-26 17:22:56.000000000 -0400 +@@ -942,7 +942,7 @@ + char **array; + register unsigned int l; + +- array = glob_dir_to_array (directories[i], temp_results, flags); ++ array = glob_dir_to_array ((dflags & GX_ALLDIRS) ? "" : directories[i], temp_results, flags); + l = 0; + while (array[l] != NULL) + ++l; diff --git a/bash.changes b/bash.changes index dcb6f241..f649ba76 100644 --- a/bash.changes +++ b/bash.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Mon Apr 27 12:18:44 CEST 2009 - werne@suse.de + +- Add patches from mailing list: + * fix problem with invisible characters in prompt + * make dir*/** work + ------------------------------------------------------------------- Tue Apr 21 12:53:39 CEST 2009 - werne@suse.de diff --git a/bash.spec b/bash.spec index 76634e2b..944d690a 100644 --- a/bash.spec +++ b/bash.spec @@ -27,7 +27,7 @@ Recommends: bash-doc = %bash_vers Suggests: command-not-found AutoReqProv: on Version: 4.0 -Release: 8 +Release: 9 Summary: The GNU Bourne-Again Shell Url: http://www.gnu.org/software/bash/bash.html Source0: ftp://ftp.gnu.org/gnu/bash/bash-%{bash_vers}.tar.bz2 @@ -62,6 +62,8 @@ Patch42: bash-4.0.10-typo.patch Patch43: readline-6.0-redisplay-sigwinch.patch Patch44: readline-6.0-display-clear-to-eol.patch Patch45: bash-4.0.17-globstar.dif +Patch46: readline-6.0-promptlen-screenwidth.patch +Patch47: bash-4.0.17-globstar2.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %global _sysconfdir /etc %global _incdir %{_includedir} @@ -89,7 +91,7 @@ Group: Documentation/Man Provides: bash:%{_infodir}/bash.info.gz PreReq: %install_info_prereq Version: 4.0 -Release: 8 +Release: 9 AutoReqProv: on %description -n bash-doc @@ -109,7 +111,7 @@ Summary: The Readline Library Group: System/Libraries Provides: bash:/%{_lib}/libreadline.so.%{rl_major} Version: 6.0 -Release: 8 +Release: 9 Recommends: readline-doc = %{version} # bug437293 %ifarch ppc64 @@ -138,7 +140,7 @@ Summary: Include Files and Libraries mandatory for Development Group: Development/Libraries/C and C++ Provides: bash:%{_libdir}/libreadline.a Version: 6.0 -Release: 8 +Release: 9 Requires: libreadline6 = %{version} Requires: ncurses-devel Recommends: readline-doc = %{version} @@ -167,7 +169,7 @@ Group: System/Libraries Provides: readline:%{_infodir}/readline.info.gz PreReq: %install_info_prereq Version: 6.0 -Release: 8 +Release: 9 AutoReqProv: on %description -n readline-doc @@ -208,6 +210,7 @@ unset p %patch40 -p0 -b .pipe %patch42 -p0 -b .typo %patch45 -p0 -b .globstar +%patch47 -p0 -b .globstar2 %patch0 -p0 cd ../readline-%{rl_vers} for p in ../readline-%{rl_vers}-patches/*; do @@ -221,6 +224,7 @@ done %patch30 -p0 -b .destdir %patch43 -p0 -b .sigwinch %patch44 -p0 -b .cleartoeol +%patch46 -p0 -b .promptlen %patch20 -p0 %build @@ -515,6 +519,10 @@ ldd -u -r %{buildroot}%{_libdir}/libreadline.so || true %doc %{_defaultdocdir}/readline/ %changelog +* Mon Apr 27 2009 werne@suse.de +- Add patches from mailing list: + * fix problem with invisible characters in prompt + * make dir*/** work * Tue Apr 21 2009 werne@suse.de - Do not crash on forbidden subdirectories with globstar extension * Wed Apr 15 2009 werne@suse.de diff --git a/readline-6.0-promptlen-screenwidth.patch b/readline-6.0-promptlen-screenwidth.patch new file mode 100644 index 00000000..e410970e --- /dev/null +++ b/readline-6.0-promptlen-screenwidth.patch @@ -0,0 +1,30 @@ +*** display.c +--- display.c 2009-04-25 21:42:18.000000000 -0400 +*************** +*** 1893,1896 **** +--- 1895,1902 ---- + woff = WRAP_OFFSET (_rl_last_v_pos, wrap_offset); + cpos = _rl_last_c_pos; ++ ++ if (cpos == 0 && cpos == new) ++ return; ++ + #if defined (HANDLE_MULTIBYTE) + /* If we have multibyte characters, NEW is indexed by the buffer point in +*************** +*** 1906,1912 **** + desired display position. */ + if ((new > prompt_last_invisible) || /* XXX - don't use woff here */ +! (prompt_physical_chars > _rl_screenwidth && + _rl_last_v_pos == prompt_last_screen_line && +! wrap_offset >= woff && + new > (prompt_last_invisible-(_rl_screenwidth*_rl_last_v_pos)-wrap_offset))) + /* XXX last comparison might need to be >= */ +--- 1912,1918 ---- + desired display position. */ + if ((new > prompt_last_invisible) || /* XXX - don't use woff here */ +! (prompt_physical_chars >= _rl_screenwidth && + _rl_last_v_pos == prompt_last_screen_line && +! wrap_offset >= woff && dpos >= woff && + new > (prompt_last_invisible-(_rl_screenwidth*_rl_last_v_pos)-wrap_offset))) + /* XXX last comparison might need to be >= */