commit bash for openSUSE:Factory
Hello community, here is the log from the commit of package bash for openSUSE:Factory checked in at Tue Mar 3 18:12:49 CET 2009. -------- --- bash/bash.changes 2009-02-18 16:43:10.000000000 +0100 +++ /mounts/work_src_done/STABLE/bash/bash.changes 2009-02-27 17:39:15.312001216 +0100 @@ -1,0 +2,6 @@ +Fri Feb 27 17:39:08 CET 2009 - werner@suse.de + +- Update bash 4.0 to patch level 0 +- Update readline 6.0 to patch level 0 + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- bash-2.05a-security.patch bash-3.1-extended_quote.patch bash-3.1-loadables.dif bash-3.1-random.patch bash-3.2-complete.dif bash-3.2.dif bash-3.2-patches.tar.bz2 bash-3.2-setlocale.dif bash-3.2.tar.bz2 command-not-found.patch readline-5.1-destdir.patch readline-5.2.dif readline-5.2-patches.tar.bz2 readline-5.2.tar.bz2 readline-5.2-wrap.patch New: ---- bash-4.0.dif bash-4.0-extended_quote.patch bash-4.0-loadables.dif bash-4.0-patches.tar.bz2 bash-4.0-security.patch bash-4.0-setlocale.dif bash-4.0.tar.bz2 readline-6.0-destdir.patch readline-6.0.dif readline-6.0-patches.tar.bz2 readline-6.0.tar.bz2 readline-6.0-wrap.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ bash.spec ++++++ --- /var/tmp/diff_new_pack.z30944/_old 2009-03-03 18:12:30.000000000 +0100 +++ /var/tmp/diff_new_pack.z30944/_new 2009-03-03 18:12:30.000000000 +0100 @@ -1,5 +1,5 @@ # -# spec file for package bash (Version 3.2) +# spec file for package bash (Version 4.0) # # Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -21,17 +21,17 @@ BuildRequires: bison fdupes ncurses-devel License: GPL v2 or later Group: System/Shells -%define bash_vers 3.2 -%define rl_vers 5.2 +%define bash_vers 4.0 +%define rl_vers 6.0 Recommends: bash-doc = %bash_vers Suggests: command-not-found AutoReqProv: on -Version: 3.2 -Release: 148 +Version: 4.0 +Release: 2 Summary: The GNU Bourne-Again Shell Url: http://www.gnu.org/software/bash/bash.html -Source0: bash-%{bash_vers}.tar.bz2 -Source1: readline-%{rl_vers}.tar.bz2 +Source0: ftp://ftp.gnu.org/gnu/bash/bash-%{bash_vers}.tar.bz2 +Source1: ftp://ftp.gnu.org/gnu/readline/readline-%{rl_vers}.tar.bz2 Source2: bash-%{bash_vers}-patches.tar.bz2 Source3: readline-%{rl_vers}-patches.tar.bz2 Source4: run-tests @@ -40,30 +40,28 @@ Source7: bash-rpmlintrc Patch0: bash-%{bash_vers}.dif Patch1: bash-2.03-manual.patch -Patch2: bash-2.05a-security.patch +Patch2: bash-4.0-security.patch Patch3: bash-3.2-2.4.4.patch Patch4: bash-3.0-evalexp.patch Patch5: bash-3.0-warn-locale.patch Patch6: bash-3.0-nfs_redir.patch Patch7: bash-3.0-decl.patch -Patch8: bash-3.1-random.patch -Patch9: bash-3.1-extended_quote.patch +Patch9: bash-4.0-extended_quote.patch Patch10: bash-3.2-printf.patch -Patch11: bash-3.1-loadables.dif +Patch11: bash-4.0-loadables.dif Patch14: bash-3.2-sigrestart.patch Patch15: bash-3.2-longjmp.dif -Patch16: bash-3.2-setlocale.dif -Patch17: bash-3.2-complete.dif +Patch16: bash-4.0-setlocale.dif Patch20: readline-%{rl_vers}.dif Patch21: readline-4.3-input.dif -Patch22: readline-5.2-wrap.patch +Patch22: readline-6.0-wrap.patch Patch23: readline-5.2-conf.patch -Patch30: readline-5.1-destdir.patch -Patch40: command-not-found.patch +Patch30: readline-6.0-destdir.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %global _sysconfdir /etc %global _incdir %{_includedir} %global _minsh 0 +%{expand: %%global rl_major %(echo %{rl_vers} | sed -r 's/.[0-9]+//g')} %description Bash is an sh-compatible command interpreter that executes commands @@ -85,8 +83,8 @@ Group: Documentation/Man Provides: bash:%{_infodir}/bash.info.gz PreReq: %install_info_prereq -Version: 3.2 -Release: 107 +Version: 4.0 +Release: 2 AutoReqProv: on %description -n bash-doc @@ -100,24 +98,24 @@ Brian Fox <bfox@gnu.org> Chet Ramey <chet@ins.cwru.edu> -%package -n libreadline5 +%package -n libreadline6 License: GPL v2 or later Summary: The Readline Library Group: System/Libraries -Provides: bash:/%{_lib}/libreadline.so.5 -Version: 5.2 -Release: 107 +Provides: bash:/%{_lib}/libreadline.so.%{rl_major} +Version: 6.0 +Release: 2 Recommends: readline-doc = %{version} # bug437293 %ifarch ppc64 Obsoletes: readline-64bit %endif # -Provides: readline = 5.2 -Obsoletes: readline <= 5.2 +Provides: readline = 6.0 +Obsoletes: readline <= 6.0 AutoReqProv: on -%description -n libreadline5 +%description -n libreadline6 The readline library is used by the Bourne Again Shell (bash, the standard command interpreter) for easy editing of command lines. This includes history and search functionality. @@ -134,9 +132,9 @@ Summary: Include Files and Libraries mandatory for Development Group: Development/Libraries/C and C++ Provides: bash:%{_libdir}/libreadline.a -Version: 5.2 -Release: 148 -Requires: libreadline5 = %{version} +Version: 6.0 +Release: 2 +Requires: libreadline6 = %{version} Requires: ncurses-devel Recommends: readline-doc = %{version} AutoReqProv: on @@ -163,8 +161,8 @@ Group: System/Libraries Provides: readline:%{_infodir}/readline.info.gz PreReq: %install_info_prereq -Version: 5.2 -Release: 107 +Version: 6.0 +Release: 2 AutoReqProv: on %description -n readline-doc @@ -193,18 +191,15 @@ %patch5 -p0 -b .warnlc %patch6 -p0 -b .nfs_redir %patch7 -p0 -b .decl -%patch8 -p1 -b .random2 %patch9 -p0 -b .extended_quote %patch10 -p0 -b .printf %patch11 -p0 -b .plugins %patch14 -p0 -b .sigrestart %patch15 -p0 -b .longjmp %patch16 -p0 -b .setlocale -%patch17 -p0 -b .complete %patch21 -p0 -b .zerotty %patch22 -p0 -b .wrap %patch23 -p0 -b .conf -%patch40 -p0 -b .cmdnotfnd %patch0 -p0 cd ../readline-%{rl_vers} for p in ../readline-%{rl_vers}-patches/*; do @@ -254,6 +249,8 @@ cflags -Wextra CFLAGS cflags -Wno-unprototyped-calls CFLAGS cflags -Wno-switch-enum CFLAGS + cflags -Wno-unused-variable CFLAGS + cflags -Wno-unused-parameter CFLAGS cflags -ftree-loop-linear CFLAGS cflags -pipe CFLAGS cflags -Wl,--as-needed LDFLAGS @@ -272,9 +269,9 @@ make make documentation ln -sf shlib/libreadline.so.%{rl_vers} libreadline.so - ln -sf shlib/libreadline.so.%{rl_vers} libreadline.so.5 + ln -sf shlib/libreadline.so.%{rl_vers} libreadline.so.%{rl_major} ln -sf shlib/libhistory.so.%{rl_vers} libhistory.so - ln -sf shlib/libhistory.so.%{rl_vers} libhistory.so.5 + ln -sf shlib/libhistory.so.%{rl_vers} libhistory.so.%{rl_major} cd ../bash-%{bash_vers} # /proc is required for correct configuration test -d /dev/fd || { echo "/proc is not mounted!" >&2; exit 1; } @@ -291,9 +288,6 @@ # cflags -fno-stack-protector CFLAGS # cflags -fno-unwind-tables CFLAGS # cflags -fno-asynchronous-unwind-tables CFLAGS -%else - cflags -fPIE CFLAGS - cflags -pie LDFLAGS %endif CC_FOR_BUILD="$CC" CFLAGS_FOR_BUILD="$CFLAGS" @@ -305,6 +299,7 @@ # SYSMALLOC=" --without-gnu-malloc + --without-bash-malloc " # # System readline library (comment out it not to be used) @@ -324,8 +319,12 @@ --enable-arith-for-command \ --enable-array-variables \ --enable-brace-expansion \ + --enable-casemod-attributes \ + --enable-casemod-expansion \ + --enable-command-timing \ --enable-cond-command \ --enable-cond-regexp \ + --enable-coprocesses \ --enable-directory-stack \ --enable-dparen-arithmetic \ --enable-extended-glob \ @@ -362,21 +361,17 @@ --disable-strict-posix-default \ --enable-separate-helpfiles=%{_datadir}/bash/helpfiles \ $READLINE -%if %do_profiling - make CFLAGS="$CFLAGS "%cflags_profile_generate bash printenv recho zecho - env -i TERM=$TERM make TESTSCRIPT=%{SOURCE4} check - make clean - make CFLAGS="$CFLAGS "%cflags_profile_feedback -%else - make all printenv recho zecho - env -i TERM=$TERM make TESTSCRIPT=%{SOURCE4} check -%endif + make %{?do_profiling:CFLAGS="$CFLAGS %cflags_profile_generate"} \ + all printenv recho zecho xcase + env -i HOME=$PWD TERM=$TERM LD_LIBRARY_PATH=$LD_LIBRARY_PATH make TESTSCRIPT=%{SOURCE4} check + make %{?do_profiling:CFLAGS="$CFLAGS %cflags_profile_feedback" clean} all make -C examples/loadables/ make documentation %install cd ../readline-%{rl_vers} - make install htmldir=%{_defaultdocdir}/readline DESTDIR=%{buildroot} + make install htmldir=%{_defaultdocdir}/readline \ + installdir=%{_defaultdocdir}/readline/examples DESTDIR=%{buildroot} make install-shared libdir=/%{_lib} linkagedir=%{_libdir} DESTDIR=%{buildroot} rm -rf %{buildroot}%{_defaultdocdir}/bash mkdir -p %{buildroot}%{_defaultdocdir}/bash @@ -384,6 +379,8 @@ chmod 0755 %{buildroot}/%{_lib}/libreadline.so.%{rl_vers} rm -f %{buildroot}/%{_lib}/libhistory.so.%{rl_vers}*old rm -f %{buildroot}/%{_lib}/libreadline.so.%{rl_vers}*old + rm -f %{buildroot}/%{_lib}/libhistory.so + rm -f %{buildroot}/%{_lib}/libreadline.so cd ../bash-%{bash_vers} make install DESTDIR=%{buildroot} mkdir -p %{buildroot}/bin @@ -442,9 +439,9 @@ %postun -n bash-doc %install_info_delete --info-dir=%{_infodir} %{_infodir}/bash.info.gz -%post -n libreadline5 -p /sbin/ldconfig +%post -n libreadline6 -p /sbin/ldconfig -%postun -n libreadline5 -p /sbin/ldconfig +%postun -n libreadline6 -p /sbin/ldconfig %post -n readline-doc %install_info --info-dir=%{_infodir} %{_infodir}/history.info.gz @@ -483,11 +480,11 @@ %doc %{_mandir}/man1/rbash.1.gz %doc %{_defaultdocdir}/bash/ -%files -n libreadline5 +%files -n libreadline6 %defattr(-,root,root) -/%{_lib}/libhistory.so.5 +/%{_lib}/libhistory.so.%{rl_major} /%{_lib}/libhistory.so.%{rl_vers} -/%{_lib}/libreadline.so.5 +/%{_lib}/libreadline.so.%{rl_major} /%{_lib}/libreadline.so.%{rl_vers} %files -n readline-devel @@ -506,6 +503,9 @@ %doc %{_defaultdocdir}/readline/ %changelog +* Fri Feb 27 2009 werner@suse.de +- Update bash 4.0 to patch level 0 +- Update readline 6.0 to patch level 0 * Wed Feb 18 2009 werner@suse.de - Add readline patch 13 * Fri Jan 30 2009 werner@suse.de ++++++ baselibs.conf ++++++ --- bash/baselibs.conf 2008-05-17 19:24:26.000000000 +0200 +++ /mounts/work_src_done/STABLE/bash/baselibs.conf 2009-02-27 17:32:36.508001132 +0100 @@ -1,4 +1,4 @@ -libreadline5 +libreadline6 obsoletes "readline-<targettype> <= <version>" provides "readline-<targettype> = <version>" targettype x86 package bash @@ -7,4 +7,4 @@ prereq -glibc-x86 readline-devel requires -readline-<targettype> - requires "libreadline5-<targettype> = <version>" + requires "libreadline6-<targettype> = <version>" ++++++ bash-2.03-manual.patch ++++++ --- /var/tmp/diff_new_pack.z30944/_old 2009-03-03 18:12:31.000000000 +0100 +++ /var/tmp/diff_new_pack.z30944/_new 2009-03-03 18:12:31.000000000 +0100 @@ -13,15 +13,6 @@ .B \-D A list of all double-quoted strings preceded by \fB$\fP is printed on the standard ouput. -@@ -2539,7 +2539,7 @@ The \fIpattern\fP is expanded to produce - pathname expansion. - \fIParameter\fP is expanded and the longest match of \fIpattern\fP - against its value is replaced with \fIstring\fP. --If \Ipattern\fP begins with \fB/\fP, all matches of \fIpattern\fP are -+If \fIpattern\fP begins with \fB/\fP, all matches of \fIpattern\fP are - replaced with \fIstring\fP. Normally only the first match is replaced. - If \fIpattern\fP begins with \fB#\fP, it must match at the beginning - of the expanded value of \fIparameter\fP. @@ -5799,6 +5805,11 @@ .SH "SHELL BUILTIN COMMANDS" .\" start of bash_builtins ++++++ bash-3.1-loadables.dif -> bash-4.0.dif ++++++ ++++ 934 lines (skipped) ++++ between bash/bash-3.1-loadables.dif ++++ and /mounts/work_src_done/STABLE/bash/bash-4.0.dif ++++++ bash-3.1-extended_quote.patch -> bash-4.0-extended_quote.patch ++++++ --- bash/bash-3.1-extended_quote.patch 2006-01-10 12:42:18.000000000 +0100 +++ /mounts/work_src_done/STABLE/bash/bash-4.0-extended_quote.patch 2009-02-27 16:09:43.504003008 +0100 @@ -1,19 +1,20 @@ -*** parse.y ---- parse.y Tue Jan 10 11:36:59 2006 -*************** -*** 2842,2848 **** - ttrans = ansiexpand (nestret, 0, nestlen - 1, &ttranslen); - xfree (nestret); - -! if ((rflags & P_DQUOTE) == 0) - { - nestret = sh_single_quote (ttrans); - free (ttrans); ---- 2842,2848 ---- - ttrans = ansiexpand (nestret, 0, nestlen - 1, &ttranslen); - xfree (nestret); - -! if (extended_quote || (rflags & P_DQUOTE) == 0) - { - nestret = sh_single_quote (ttrans); - free (ttrans); +--- parse.y ++++ parse.y 2009-02-27 16:09:21.720002034 +0100 +@@ -3101,7 +3101,7 @@ parse_matched_pair (qc, open, close, len + ttrans = ansiexpand (nestret, 0, nestlen - 1, &ttranslen); + xfree (nestret); + +- if ((rflags & P_DQUOTE) == 0) ++ if (extended_quote || (rflags & P_DQUOTE) == 0) + { + nestret = sh_single_quote (ttrans); + free (ttrans); +@@ -3470,7 +3470,7 @@ eof_error: + ttrans = ansiexpand (nestret, 0, nestlen - 1, &ttranslen); + xfree (nestret); + +- if ((rflags & P_DQUOTE) == 0) ++ if (extended_quote || (rflags & P_DQUOTE) == 0) + { + nestret = sh_single_quote (ttrans); + free (ttrans); ++++++ bash-3.1-loadables.dif -> bash-4.0-loadables.dif ++++++ ++++ 602 lines (skipped) ++++ between bash/bash-3.1-loadables.dif ++++ and /mounts/work_src_done/STABLE/bash/bash-4.0-loadables.dif ++++++ bash-3.2-patches.tar.bz2 -> bash-4.0-patches.tar.bz2 ++++++ ++++ 4883 lines of diff (skipped) ++++++ bash-2.05a-security.patch -> bash-4.0-security.patch ++++++ --- bash/bash-2.05a-security.patch 2005-12-09 14:44:37.000000000 +0100 +++ /mounts/work_src_done/STABLE/bash/bash-4.0-security.patch 2009-02-27 17:45:50.396502508 +0100 @@ -1,6 +1,6 @@ --- variables.c -+++ variables.c Wed Aug 21 12:14:18 2002 -@@ -1035,6 +1035,7 @@ ++++ variables.c 2009-02-27 17:44:46.626430014 +0100 +@@ -1203,6 +1203,7 @@ init_seconds_var () return v; } @@ -8,8 +8,8 @@ /* The random number seed. You can change this by setting RANDOM. */ static unsigned long rseed = 1; static int last_random_value; -@@ -1060,6 +1061,21 @@ - last_random_value = 0; +@@ -1256,6 +1257,24 @@ seedrand () + sbrand (tv.tv_sec ^ tv.tv_usec ^ getpid ()); } +#else @@ -25,20 +25,34 @@ +{ + srandom(seed); +} ++ ++static void ++seedrand () {} +#endif + static SHELL_VAR * - assign_random (self, value, unused) + assign_random (self, value, unused, key) SHELL_VAR *self; -@@ -1075,6 +1091,7 @@ +@@ -1264,8 +1283,10 @@ assign_random (self, value, unused, key) + char *key; + { + sbrand (strtoul (value, (char **)NULL, 10)); ++#if !defined(linux) + if (subshell_environment) + seeded_subshell = getpid (); ++#endif + return (self); + } + +@@ -1274,6 +1295,7 @@ get_random_number () { - int rv; + int rv, pid; +#if !defined(linux) /* Reset for command and process substitution. */ - if (subshell_environment) - sbrand (rseed + getpid() + NOW); -@@ -1082,6 +1099,18 @@ + pid = getpid (); + if (subshell_environment && seeded_subshell != pid) +@@ -1285,6 +1307,18 @@ get_random_number () do rv = brand (); while (rv == last_random_value); @@ -57,7 +71,7 @@ return rv; } -@@ -1093,7 +1122,9 @@ +@@ -1296,7 +1330,9 @@ get_random (var) char *p; rv = get_random_number (); ++++++ bash-3.2-setlocale.dif -> bash-4.0-setlocale.dif ++++++ --- bash/bash-3.2-setlocale.dif 2008-11-25 14:28:05.000000000 +0100 +++ /mounts/work_src_done/STABLE/bash/bash-4.0-setlocale.dif 2009-02-27 16:41:43.952502373 +0100 @@ -1,6 +1,6 @@ --- locale.c -+++ locale.c 2008-11-25 13:26:15.482501498 +0000 -@@ -42,6 +42,7 @@ extern int dump_translatable_strings, du ++++ locale.c 2009-02-27 16:40:50.576066695 +0100 +@@ -47,6 +47,7 @@ extern int dump_translatable_strings, du /* The current locale when the program begins */ static char *default_locale; @@ -8,26 +8,30 @@ /* The current domain for textdomain(3). */ static char *default_domain; -@@ -294,7 +295,21 @@ get_locale_var (var) +@@ -314,11 +315,21 @@ get_locale_var (var) if (locale == 0 || *locale == 0) locale = lang; if (locale == 0 || *locale == 0) +-#if 0 - locale = default_locale; /* system-dependent; not really portable. should it be "C"? */ +-#else +- locale = ""; +-#endif + { + char *ptr; + if (default_locale && *default_locale && (ptr = strstr(default_locale, var)) && (ptr = strchr(ptr, '=')) && ++ptr) + { + memset (fallback, 0, sizeof(fallback)); + strncpy(fallback, ptr, sizeof(fallback)-1); -+ ++ + if ((ptr = strchr(fallback, ';'))) + *ptr = '\0'; -+ ++ + locale = fallback; + } + else + locale = default_locale; /* system-dependent; not really portable. should it be "C"? */ + } - return (locale); } + ++++++ bash-3.2-patches.tar.bz2 -> bash-4.0.tar.bz2 ++++++ ++++ 552995 lines of diff (skipped) ++++++ readline-5.1-destdir.patch -> readline-6.0-destdir.patch ++++++ --- bash/readline-5.1-destdir.patch 2005-12-09 17:07:18.000000000 +0100 +++ /mounts/work_src_done/STABLE/bash/readline-6.0-destdir.patch 2009-02-27 17:23:18.632003077 +0100 @@ -1,14 +1,14 @@ --- shlib/Makefile.in -+++ shlib/Makefile.in 2005-12-09 17:00:46.000000000 +0100 -@@ -57,6 +57,7 @@ ++++ shlib/Makefile.in 2009-02-27 17:21:24.428797577 +0100 +@@ -58,6 +58,7 @@ bindir = @bindir@ libdir = @libdir@ datadir = @datadir@ - localedir = $(datadir)/locale + localedir = @localedir@ +linkagedir = $(libdir) # Support an alternate destination root directory for package building DESTDIR = -@@ -181,13 +182,13 @@ +@@ -182,13 +183,13 @@ installdirs: $(topdir)/support/mkdirs -$(SHELL) $(topdir)/support/mkdirs $(DESTDIR)$(libdir) install: installdirs $(SHLIB_STATUS) @@ -27,7 +27,7 @@ clean mostlyclean: force --- support/shlib-install -+++ support/shlib-install 2005-12-09 17:05:28.000000000 +0100 ++++ support/shlib-install 2009-02-27 17:22:54.688001513 +0100 @@ -3,7 +3,7 @@ # shlib-install - install a shared library and do any necessary host-specific # post-installation configuration (like ldconfig) @@ -51,7 +51,7 @@ # process options -@@ -23,14 +25,19 @@ +@@ -23,14 +25,19 @@ while [ $# -gt 0 ]; do case "$1" in -O) shift; host_os="$1"; shift ;; -d) shift; INSTALLDIR="$1"; shift ;; @@ -71,7 +71,7 @@ # set install target name LIBNAME="$1" -@@ -48,18 +55,18 @@ +@@ -48,18 +55,18 @@ LN="ln -s" # pre-install if [ -z "$uninstall" ]; then @@ -95,16 +95,16 @@ fi # post-install/uninstall -@@ -70,7 +77,7 @@ +@@ -71,7 +78,7 @@ fi case "$host_os" in - hpux*|darwin*|macosx*) + hpux*|darwin*|macosx*|linux*) if [ -z "$uninstall" ]; then - chmod 555 ${INSTALLDIR}/${LIBNAME} + chmod 555 ${DESTDIR}${INSTALLDIR}/${LIBNAME} fi ;; - cygwin*) + cygwin*|mingw*) IMPLIBNAME=`echo ${LIBNAME} \ -@@ -108,8 +115,8 @@ +@@ -109,8 +116,8 @@ case "$LIBNAME" in LINK1=`echo $LIBNAME | sed 's:\(.*\)\.[0-9]\.[0-9]:\1:'` # libname.dylib esac @@ -115,7 +115,7 @@ # # Create symlinks to the installed library. This section is incomplete. -@@ -117,27 +124,27 @@ +@@ -118,27 +125,27 @@ INSTALL_LINK2='${echo} cd $INSTALLDIR && case "$host_os" in *linux*) # libname.so.M -> libname.so.M.N @@ -127,14 +127,14 @@ # libname.so -> libname.so.M - ${echo} ${RM} ${INSTALLDIR}/$LINK1 -+ ${echo} ${RM} ${DESTDIR}${LINKAGEDIR}/$LINK1 ++ ${echo} ${RM} ${DESTDIR}${INSTALLDIR}/$LINK1 if [ -z "$uninstall" ]; then - ${echo} cd $INSTALLDIR && ${echo} ${LN} $LINK2 $LINK1 -+ ${echo} ln -s ${INSTALLDIR}/$LIBNAME ${DESTDIR}${LINKAGEDIR}/$LINK1 ++ ${echo} cd ${DESTDIR}$INSTALLDIR && ${echo} ${LN} $LINK2 $LINK1 fi ;; - bsdi4*|*gnu*|darwin*|macosx*|k*bsd*-gnu) + bsdi4*|*gnu*|darwin*|macosx*|k*bsd*-gnu|netbsd*) # libname.so.M -> libname.so.M.N - ${echo} ${RM} ${INSTALLDIR}/$LINK2 + ${echo} ${RM} ${DESTDIR}${INSTALLDIR}/$LINK2 @@ -148,16 +148,16 @@ if [ -z "$uninstall" ]; then eval $INSTALL_LINK1 fi -@@ -145,7 +152,7 @@ +@@ -146,7 +153,7 @@ bsdi4*|*gnu*|darwin*|macosx*|k*bsd*-gnu| - solaris2*|aix4.[2-9]*|osf*|irix[56]*|sysv[45]*|dgux*) + solaris2*|aix4.[2-9]*|aix[5-9]*|osf*|irix[56]*|sysv[45]*|dgux*|interix*) # libname.so -> libname.so.M - ${echo} ${RM} ${INSTALLDIR}/$LINK1 + ${echo} ${RM} ${DESTDIR}${INSTALLDIR}/$LINK1 if [ -z "$uninstall" ]; then eval $INSTALL_LINK1 fi -@@ -156,19 +163,19 @@ +@@ -157,19 +164,19 @@ solaris2*|aix4.[2-9]*|aix[5-9]*|osf*|iri freebsd[3-9]*|freebsdelf[3-9]*|freebsdaout[3-9]*) if [ -x /usr/bin/objformat ] && [ "`/usr/bin/objformat`" = "elf" ]; then # libname.so -> libname.so.M @@ -180,7 +180,7 @@ if [ -z "$uninstall" ]; then eval $INSTALL_LINK1 fi -@@ -177,7 +184,7 @@ +@@ -178,7 +185,7 @@ freebsd[3-9]*|freebsdelf[3-9]*|freebsdao hpux1*) # libname.sl -> libname.M ++++++ readline-5.2.dif -> readline-6.0.dif ++++++ --- bash/readline-5.2.dif 2009-02-18 17:02:41.000000000 +0100 +++ /mounts/work_src_done/STABLE/bash/readline-6.0.dif 2009-02-27 17:28:08.328000473 +0100 @@ -1,17 +1,17 @@ --- .pkgextract +++ .pkgextract 2005-12-09 17:09:26.000000000 +0100 @@ -0,0 +1,5 @@ -+tar Oxfj ../readline-5.2-patches.tar.bz2 | patch -p0 -s ++tar Oxfj ../readline-6.0-patches.tar.bz2 | patch -p0 -s +patch -p2 -s --suffix=".zerotty" < ../readline-4.3-input.dif -+patch -p2 -s --suffix=".wrap" < ../readline-5.2-wrap.patch ++patch -p2 -s --suffix=".wrap" < ../readline-6.0-wrap.patch +patch -p2 -s --suffix=".conf" < ../readline-5.2-conf.patch -+patch -p0 -s --suffix=".destdir" < ../readline-5.1-destdir.patch ++patch -p0 -s --suffix=".destdir" < ../readline-6.0-destdir.patch --- Makefile.in -+++ Makefile.in 2005-12-09 17:09:26.000000000 +0100 -@@ -220,10 +220,8 @@ maybe-uninstall-headers: uninstall-heade - install: $(INSTALL_TARGETS) ++++ Makefile.in 2009-02-27 17:25:01.076001005 +0100 +@@ -222,10 +222,8 @@ uninstall-headers: + maybe-uninstall-headers: uninstall-headers - install-static: installdirs $(STATIC_LIBS) install-headers install-doc + 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 @@ -19,7 +19,7 @@ $(INSTALL_DATA) libhistory.a $(DESTDIR)$(libdir)/libhistory.a -test -n "$(RANLIB)" && $(RANLIB) $(DESTDIR)$(libdir)/libhistory.a -@@ -246,7 +244,7 @@ uninstall-shared: maybe-uninstall-header +@@ -254,7 +252,7 @@ uninstall-examples: maybe-uninstall-head install-doc: installdirs -( if test -d doc ; then \ cd doc && \ @@ -29,8 +29,8 @@ uninstall-doc: --- complete.c -+++ complete.c 2005-12-09 17:11:19.000000000 +0100 -@@ -883,7 +883,7 @@ _rl_find_completion_word (fp, dp) ++++ complete.c 2009-02-27 17:25:26.616935393 +0100 +@@ -942,7 +942,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. */ @@ -39,16 +39,16 @@ { scan = rl_line_buffer[rl_point]; -@@ -1802,7 +1802,7 @@ rl_completion_matches (text, entry_funct - match_list = (char **)xmalloc ((match_list_size + 1) * sizeof (char *)); +@@ -1884,7 +1884,7 @@ rl_completion_matches (text, entry_funct match_list[1] = (char *)NULL; + _rl_interrupt_immediately++; - while (string = (*entry_function) (text, matches)) + while ((string = (*entry_function) (text, matches))) { if (matches + 1 == match_list_size) match_list = (char **)xrealloc -@@ -1853,7 +1853,7 @@ rl_username_completion_function (text, s +@@ -1936,7 +1936,7 @@ rl_username_completion_function (text, s } #if defined (HAVE_GETPWENT) @@ -59,7 +59,7 @@ if (namelen == 0 || (STREQN (username, entry->pw_name, namelen))) --- readline.c +++ readline.c 2005-12-09 17:09:26.000000000 +0100 -@@ -735,7 +735,11 @@ _rl_dispatch_subseq (key, map, got_subse +@@ -767,7 +767,11 @@ _rl_dispatch_subseq (key, map, got_subse { /* Special case rl_do_lowercase_version (). */ if (func == rl_do_lowercase_version) @@ -74,7 +74,7 @@ --- readline.h +++ readline.h 2005-12-09 17:09:26.000000000 +0100 -@@ -445,7 +445,7 @@ extern char *rl_filename_completion_func +@@ -448,7 +448,7 @@ extern char *rl_filename_completion_func extern int rl_completion_mode PARAMS((rl_command_func_t *)); @@ -84,19 +84,19 @@ extern void free_undo_list PARAMS((void)); extern int maybe_save_line PARAMS((void)); --- doc/Makefile.in -+++ doc/Makefile.in 2005-12-09 17:09:26.000000000 +0100 -@@ -96,7 +96,7 @@ DIST_DOCS = $(DVIOBJ) $(PSOBJ) $(HTMLOBJ ++++ doc/Makefile.in 2009-02-27 17:27:31.104001597 +0100 +@@ -98,7 +98,7 @@ DIST_DOCS = $(DVIOBJ) $(PSOBJ) $(HTMLOBJ $(RM) $@ -${DVIPDF} $< --all: info dvi html ps text +-all: info dvi html ps text pdf +all: info html nodvi: info html text - info: $(INFOOBJ) + xdist: $(DIST_DOCS) --- doc/readline.3 +++ doc/readline.3 2006-11-13 17:33:27.000000000 +0100 -@@ -118,6 +118,14 @@ environment variable. If that variable +@@ -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 . @@ -111,7 +111,7 @@ 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 -@@ -1270,6 +1278,9 @@ VI Command Mode functions +@@ -1286,6 +1294,9 @@ VI Command Mode functions .TP .FN ~/.inputrc Individual \fBreadline\fP initialization file @@ -123,7 +123,7 @@ Brian Fox, Free Software Foundation --- support/shobj-conf +++ support/shobj-conf 2006-09-22 16:17:48.000000000 +0200 -@@ -108,10 +108,11 @@ sunos5*|solaris2*) +@@ -112,10 +112,11 @@ sunos5*|solaris2*) linux*-*|gnu*-*|k*bsd*-gnu-*) SHOBJ_CFLAGS=-fPIC SHOBJ_LD='${CC}' @@ -136,4 +136,4 @@ + SHLIB_LIBS=-lncurses ;; - freebsd2* | netbsd*) + freebsd2*) ++++++ readline-5.2-patches.tar.bz2 -> readline-6.0-patches.tar.bz2 ++++++ diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/readline-5.2-patches/readline52-001 new/readline-6.0-patches/readline52-001 --- old/readline-5.2-patches/readline52-001 2006-12-12 21:25:00.000000000 +0100 +++ new/readline-6.0-patches/readline52-001 1970-01-01 01:00:00.000000000 +0100 @@ -1,30 +0,0 @@ - READLINE PATCH REPORT - ===================== - -Readline-Release: 5.2 -Patch-ID: readline52-001 - -Bug-Reported-by: ebb9@byu.net -Bug-Reference-ID: <45540862.9030900@byu.net> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-11/msg00017.html - http://lists.gnu.org/archive/html/bug-bash/2006-11/msg00016.html - -Bug-Description: - -In some cases, code that is intended to be used in the presence of multibyte -characters is called when no such characters are present, leading to incorrect -display position calculations and incorrect redisplay. - -Patch: - -*** ../readline-5.2/display.c Thu Sep 14 14:20:12 2006 ---- display.c Mon Nov 13 17:55:57 2006 -*************** -*** 2381,2384 **** ---- 2409,2414 ---- - if (end <= start) - return 0; -+ if (MB_CUR_MAX == 1 || rl_byte_oriented) -+ return (end - start); - - memset (&ps, 0, sizeof (mbstate_t)); diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/readline-5.2-patches/readline52-002 new/readline-6.0-patches/readline52-002 --- old/readline-5.2-patches/readline52-002 2007-03-21 19:45:47.000000000 +0100 +++ new/readline-6.0-patches/readline52-002 1970-01-01 01:00:00.000000000 +0100 @@ -1,49 +0,0 @@ - READLINE PATCH REPORT - ===================== - -Readline-Release: 5.2 -Patch-ID: readline52-002 - -Bug-Reported-by: Magnus Svensson <msvensson@mysql.com> -Bug-Reference-ID: <45BDC44D.80609@mysql.com> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-readline/2007-01/msg00002.html - -Bug-Description: - -Readline neglects to reallocate the array it uses to keep track of wrapped -screen lines when increasing its size. This will eventually result in -segmentation faults when given sufficiently long input. - -Patch: - -*** ../readline-5.2-patched/display.c Thu Sep 14 14:20:12 2006 ---- display.c Fri Feb 2 20:23:17 2007 -*************** -*** 561,574 **** ---- 561,586 ---- - wrap_offset = prompt_invis_chars_first_line = 0; - } - -+ #if defined (HANDLE_MULTIBYTE) - #define CHECK_INV_LBREAKS() \ - do { \ - if (newlines >= (inv_lbsize - 2)) \ - { \ - inv_lbsize *= 2; \ - inv_lbreaks = (int *)xrealloc (inv_lbreaks, inv_lbsize * sizeof (int)); \ -+ _rl_wrapped_line = (int *)xrealloc (_rl_wrapped_line, inv_lbsize * sizeof (int)); \ - } \ - } while (0) -+ #else -+ #define CHECK_INV_LBREAKS() \ -+ do { \ -+ if (newlines >= (inv_lbsize - 2)) \ -+ { \ -+ inv_lbsize *= 2; \ -+ inv_lbreaks = (int *)xrealloc (inv_lbreaks, inv_lbsize * sizeof (int)); \ -+ } \ -+ } while (0) -+ #endif /* HANDLE_MULTIBYTE */ - - #if defined (HANDLE_MULTIBYTE) - #define CHECK_LPOS() \ diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/readline-5.2-patches/readline52-003 new/readline-6.0-patches/readline52-003 --- old/readline-5.2-patches/readline52-003 2007-04-25 17:42:57.000000000 +0200 +++ new/readline-6.0-patches/readline52-003 1970-01-01 01:00:00.000000000 +0100 @@ -1,37 +0,0 @@ - READLINE PATCH REPORT - ===================== - -Readline-Release: 5.2 -Patch-ID: readline52-003 - -Bug-Reported-by: Peter Volkov <torre_cremata@mail.ru> -Bug-Reference-ID: <1171795523.8021.18.camel@localhost> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2007-02/msg00054.html - -Bug-Description: - -When moving the cursor, bash sometimes misplaces the cursor when the prompt -contains two or more multibyte characters. The particular circumstance that -uncovered the problem was having the (multibyte) current directory name in -the prompt string. - -Patch: - -*** ../readline-5.2.2/display.c Fri Jan 19 13:34:50 2007 ---- display.c Sat Mar 10 17:25:44 2007 -*************** -*** 1745,1749 **** - { - dpos = _rl_col_width (data, 0, new); -! if (dpos > prompt_last_invisible) /* XXX - don't use woff here */ - { - dpos -= woff; ---- 1745,1752 ---- - { - dpos = _rl_col_width (data, 0, new); -! /* Use NEW when comparing against the last invisible character in the -! prompt string, since they're both buffer indices and DPOS is a -! desired display position. */ -! if (new > prompt_last_invisible) /* XXX - don't use woff here */ - { - dpos -= woff; diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/readline-5.2-patches/readline52-004 new/readline-6.0-patches/readline52-004 --- old/readline-5.2-patches/readline52-004 2007-04-25 17:43:02.000000000 +0200 +++ new/readline-6.0-patches/readline52-004 1970-01-01 01:00:00.000000000 +0100 @@ -1,70 +0,0 @@ - READLINE PATCH REPORT - ===================== - -Readline-Release: 5.2 -Patch-ID: readline52-004 - -Bug-Reported-by: Peter Volkov <torre_cremata@mail.ru> -Bug-Reference-ID: <1173636022.7039.36.camel@localhost> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2007-03/msg00039.html - -Bug-Description: - -When restoring the original prompt after finishing an incremental search, -bash sometimes places the cursor incorrectly if the primary prompt contains -invisible characters. - -Patch: - -*** ../readline-5.2.3/display.c Fri Apr 20 13:30:16 2007 ---- display.c Fri Apr 20 15:17:01 2007 -*************** -*** 1599,1604 **** - if (temp > 0) - { - _rl_output_some_chars (nfd, temp); -! _rl_last_c_pos += _rl_col_width (nfd, 0, temp);; - } - } ---- 1599,1618 ---- - if (temp > 0) - { -+ /* If nfd begins at the prompt, or before the invisible -+ characters in the prompt, we need to adjust _rl_last_c_pos -+ in a multibyte locale to account for the wrap offset and -+ set cpos_adjusted accordingly. */ - _rl_output_some_chars (nfd, temp); -! if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) -! { -! _rl_last_c_pos += _rl_col_width (nfd, 0, temp); -! if (current_line == 0 && wrap_offset && ((nfd - new) <= prompt_last_invisible)) -! { -! _rl_last_c_pos -= wrap_offset; -! cpos_adjusted = 1; -! } -! } -! else -! _rl_last_c_pos += temp; - } - } -*************** -*** 1608,1613 **** ---- 1622,1639 ---- - if (temp > 0) - { -+ /* If nfd begins at the prompt, or before the invisible -+ characters in the prompt, we need to adjust _rl_last_c_pos -+ in a multibyte locale to account for the wrap offset and -+ set cpos_adjusted accordingly. */ - _rl_output_some_chars (nfd, temp); - _rl_last_c_pos += col_temp; /* XXX */ -+ if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) -+ { -+ if (current_line == 0 && wrap_offset && ((nfd - new) <= prompt_last_invisible)) -+ { -+ _rl_last_c_pos -= wrap_offset; -+ cpos_adjusted = 1; -+ } -+ } - } - lendiff = (oe - old) - (ne - new); diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/readline-5.2-patches/readline52-005 new/readline-6.0-patches/readline52-005 --- old/readline-5.2-patches/readline52-005 2007-08-22 15:07:26.000000000 +0200 +++ new/readline-6.0-patches/readline52-005 1970-01-01 01:00:00.000000000 +0100 @@ -1,328 +0,0 @@ - READLINE PATCH REPORT - ===================== - -Readline-Release: 5.2 -Patch-ID: readline52-005 - -Bug-Reported-by: Thomas Loeber <ifp@loeber1.de> -Bug-Reference-ID: <200703082223.08919.ifp@loeber1.de> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2007-03/msg00036.html - -Bug-Description: - -When rl_read_key returns -1, indicating that readline's controlling terminal -has been invalidated for some reason (e.g., receiving a SIGHUP), the error -status was not reported correctly to the caller. This could cause input -loops. - -Patch: - -*** ../readline-5.2/complete.c Fri Jul 28 11:35:49 2006 ---- complete.c Tue Mar 13 08:50:16 2007 -*************** -*** 429,433 **** - if (c == 'n' || c == 'N' || c == RUBOUT) - return (0); -! if (c == ABORT_CHAR) - _rl_abort_internal (); - if (for_pager && (c == NEWLINE || c == RETURN)) ---- 440,444 ---- - if (c == 'n' || c == 'N' || c == RUBOUT) - return (0); -! if (c == ABORT_CHAR || c < 0) - _rl_abort_internal (); - if (for_pager && (c == NEWLINE || c == RETURN)) -*** ../readline-5.2/input.c Wed Aug 16 15:15:16 2006 ---- input.c Wed May 2 16:07:59 2007 -*************** -*** 514,518 **** - int size; - { -! int mb_len = 0; - size_t mbchar_bytes_length; - wchar_t wc; ---- 522,526 ---- - int size; - { -! int mb_len, c; - size_t mbchar_bytes_length; - wchar_t wc; -*************** -*** 521,531 **** - memset(&ps, 0, sizeof (mbstate_t)); - memset(&ps_back, 0, sizeof (mbstate_t)); -! - while (mb_len < size) - { - RL_SETSTATE(RL_STATE_MOREINPUT); -! mbchar[mb_len++] = rl_read_key (); - RL_UNSETSTATE(RL_STATE_MOREINPUT); - - mbchar_bytes_length = mbrtowc (&wc, mbchar, mb_len, &ps); - if (mbchar_bytes_length == (size_t)(-1)) ---- 529,545 ---- - memset(&ps, 0, sizeof (mbstate_t)); - memset(&ps_back, 0, sizeof (mbstate_t)); -! -! mb_len = 0; - while (mb_len < size) - { - RL_SETSTATE(RL_STATE_MOREINPUT); -! c = rl_read_key (); - RL_UNSETSTATE(RL_STATE_MOREINPUT); - -+ if (c < 0) -+ break; -+ -+ mbchar[mb_len++] = c; -+ - mbchar_bytes_length = mbrtowc (&wc, mbchar, mb_len, &ps); - if (mbchar_bytes_length == (size_t)(-1)) -*************** -*** 565,569 **** - c = first; - memset (mb, 0, mlen); -! for (i = 0; i < mlen; i++) - { - mb[i] = (char)c; ---- 579,583 ---- - c = first; - memset (mb, 0, mlen); -! for (i = 0; c >= 0 && i < mlen; i++) - { - mb[i] = (char)c; -*** ../readline-5.2/isearch.c Mon Dec 26 17:18:53 2005 ---- isearch.c Fri Mar 9 14:30:59 2007 -*************** -*** 328,333 **** - - f = (rl_command_func_t *)NULL; -! -! /* Translate the keys we do something with to opcodes. */ - if (c >= 0 && _rl_keymap[c].type == ISFUNC) - { ---- 328,340 ---- - - f = (rl_command_func_t *)NULL; -! -! if (c < 0) -! { -! cxt->sflags |= SF_FAILED; -! cxt->history_pos = cxt->last_found_line; -! return -1; -! } -! -! /* Translate the keys we do something with to opcodes. */ - if (c >= 0 && _rl_keymap[c].type == ISFUNC) - { -*** ../readline-5.2/misc.c Mon Dec 26 17:20:46 2005 ---- misc.c Fri Mar 9 14:44:11 2007 -*************** -*** 147,150 **** ---- 147,152 ---- - rl_clear_message (); - RL_UNSETSTATE(RL_STATE_NUMERICARG); -+ if (key < 0) -+ return -1; - return (_rl_dispatch (key, _rl_keymap)); - } -*** ../readline-5.2/readline.c Wed Aug 16 15:00:36 2006 ---- readline.c Fri Mar 9 14:47:24 2007 -*************** -*** 646,649 **** ---- 669,677 ---- - { - nkey = _rl_subseq_getchar (cxt->okey); -+ if (nkey < 0) -+ { -+ _rl_abort_internal (); -+ return -1; -+ } - r = _rl_dispatch_subseq (nkey, cxt->dmap, cxt->subseq_arg); - cxt->flags |= KSEQ_DISPATCHED; -*** ../readline-5.2/text.c Fri Jul 28 11:55:27 2006 ---- text.c Sun Mar 25 13:41:38 2007 -*************** -*** 858,861 **** ---- 864,870 ---- - RL_UNSETSTATE(RL_STATE_MOREINPUT); - -+ if (c < 0) -+ return -1; -+ - #if defined (HANDLE_SIGNALS) - if (RL_ISSTATE (RL_STATE_CALLBACK) == 0) -*************** -*** 1521,1524 **** ---- 1530,1536 ---- - mb_len = _rl_read_mbchar (mbchar, MB_LEN_MAX); - -+ if (mb_len <= 0) -+ return -1; -+ - if (count < 0) - return (_rl_char_search_internal (-count, bdir, mbchar, mb_len)); -*************** -*** 1537,1540 **** ---- 1549,1555 ---- - RL_UNSETSTATE(RL_STATE_MOREINPUT); - -+ if (c < 0) -+ return -1; -+ - if (count < 0) - return (_rl_char_search_internal (-count, bdir, c)); -*** ../readline-5.2/vi_mode.c Sat Jul 29 16:42:28 2006 ---- vi_mode.c Fri Mar 9 15:02:11 2007 -*************** -*** 887,890 **** ---- 887,897 ---- - c = rl_read_key (); - RL_UNSETSTATE(RL_STATE_MOREINPUT); -+ -+ if (c < 0) -+ { -+ *nextkey = 0; -+ return -1; -+ } -+ - *nextkey = c; - -*************** -*** 903,906 **** ---- 910,918 ---- - c = rl_read_key (); /* real command */ - RL_UNSETSTATE(RL_STATE_MOREINPUT); -+ if (c < 0) -+ { -+ *nextkey = 0; -+ return -1; -+ } - *nextkey = c; - } -*************** -*** 1225,1236 **** - _rl_callback_generic_arg *data; - { - #if defined (HANDLE_MULTIBYTE) -! _rl_vi_last_search_mblen = _rl_read_mbchar (_rl_vi_last_search_mbchar, MB_LEN_MAX); - #else - RL_SETSTATE(RL_STATE_MOREINPUT); -! _rl_vi_last_search_char = rl_read_key (); - RL_UNSETSTATE(RL_STATE_MOREINPUT); - #endif - - _rl_callback_func = 0; - _rl_want_redisplay = 1; ---- 1243,1262 ---- - _rl_callback_generic_arg *data; - { -+ int c; - #if defined (HANDLE_MULTIBYTE) -! c = _rl_vi_last_search_mblen = _rl_read_mbchar (_rl_vi_last_search_mbchar, MB_LEN_MAX); - #else - RL_SETSTATE(RL_STATE_MOREINPUT); -! c = rl_read_key (); - RL_UNSETSTATE(RL_STATE_MOREINPUT); - #endif - -+ if (c <= 0) -+ return -1; -+ -+ #if !defined (HANDLE_MULTIBYTE) -+ _rl_vi_last_search_char = c; -+ #endif -+ - _rl_callback_func = 0; - _rl_want_redisplay = 1; -*************** -*** 1248,1251 **** ---- 1274,1278 ---- - int count, key; - { -+ int c; - #if defined (HANDLE_MULTIBYTE) - static char *target; -*************** -*** 1294,1302 **** - { - #if defined (HANDLE_MULTIBYTE) -! _rl_vi_last_search_mblen = _rl_read_mbchar (_rl_vi_last_search_mbchar, MB_LEN_MAX); - #else - RL_SETSTATE(RL_STATE_MOREINPUT); -! _rl_vi_last_search_char = rl_read_key (); - RL_UNSETSTATE(RL_STATE_MOREINPUT); - #endif - } ---- 1321,1335 ---- - { - #if defined (HANDLE_MULTIBYTE) -! c = _rl_read_mbchar (_rl_vi_last_search_mbchar, MB_LEN_MAX); -! if (c <= 0) -! return -1; -! _rl_vi_last_search_mblen = c; - #else - RL_SETSTATE(RL_STATE_MOREINPUT); -! c = rl_read_key (); - RL_UNSETSTATE(RL_STATE_MOREINPUT); -+ if (c < 0) -+ return -1; -+ _rl_vi_last_search_char = c; - #endif - } -*************** -*** 1468,1471 **** ---- 1501,1507 ---- - RL_UNSETSTATE(RL_STATE_MOREINPUT); - -+ if (c < 0) -+ return -1; -+ - #if defined (HANDLE_MULTIBYTE) - if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) -*************** -*** 1486,1489 **** ---- 1522,1528 ---- - _rl_vi_last_replacement = c = _rl_vi_callback_getchar (mb, MB_LEN_MAX); - -+ if (c < 0) -+ return -1; -+ - _rl_callback_func = 0; - _rl_want_redisplay = 1; -*************** -*** 1517,1520 **** ---- 1556,1562 ---- - _rl_vi_last_replacement = c = _rl_vi_callback_getchar (mb, MB_LEN_MAX); - -+ if (c < 0) -+ return -1; -+ - return (_rl_vi_change_char (count, c, mb)); - } -*************** -*** 1651,1655 **** - RL_UNSETSTATE(RL_STATE_MOREINPUT); - -! if (ch < 'a' || ch > 'z') - { - rl_ding (); ---- 1693,1697 ---- - RL_UNSETSTATE(RL_STATE_MOREINPUT); - -! if (ch < 0 || ch < 'a' || ch > 'z') /* make test against 0 explicit */ - { - rl_ding (); -*************** -*** 1703,1707 **** - return 0; - } -! else if (ch < 'a' || ch > 'z') - { - rl_ding (); ---- 1745,1749 ---- - return 0; - } -! else if (ch < 0 || ch < 'a' || ch > 'z') /* make test against 0 explicit */ - { - rl_ding (); diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/readline-5.2-patches/readline52-006 new/readline-6.0-patches/readline52-006 --- old/readline-5.2-patches/readline52-006 2007-08-22 15:07:26.000000000 +0200 +++ new/readline-6.0-patches/readline52-006 1970-01-01 01:00:00.000000000 +0100 @@ -1,62 +0,0 @@ - READLINE PATCH REPORT - ===================== - -Readline-Release: 5.2 -Patch-ID: readline52-006 - -Bug-Reported-by: Peter Volkov <torre_cremata@mail.ru> -Bug-Reference-ID: <1178376645.9063.25.camel@localhost> -Bug-Reference-URL: http://bugs.gentoo.org/177095 - -Bug-Description: - -The readline display code miscalculated the screen position when performing -a redisplay in which the new text occupies more screen space that the old, -but takes fewer bytes to do so (e.g., when replacing a shorter string -containing multibyte characters with a longer one containing only ASCII). - -Patch: - -*** ../readline-5.2/display.c Thu Apr 26 11:38:22 2007 ---- display.c Thu Jul 12 23:10:10 2007 -*************** -*** 1519,1527 **** - /* Non-zero if we're increasing the number of lines. */ - int gl = current_line >= _rl_vis_botlin && inv_botlin > _rl_vis_botlin; - /* Sometimes it is cheaper to print the characters rather than - use the terminal's capabilities. If we're growing the number - of lines, make sure we actually cause the new line to wrap - around on auto-wrapping terminals. */ -! if (_rl_terminal_can_insert && ((2 * col_temp) >= col_lendiff || _rl_term_IC) && (!_rl_term_autowrap || !gl)) - { - /* If lendiff > prompt_visible_length and _rl_last_c_pos == 0 and ---- 1568,1596 ---- - /* Non-zero if we're increasing the number of lines. */ - int gl = current_line >= _rl_vis_botlin && inv_botlin > _rl_vis_botlin; -+ /* If col_lendiff is > 0, implying that the new string takes up more -+ screen real estate than the old, but lendiff is < 0, meaning that it -+ takes fewer bytes, we need to just output the characters starting -+ from the first difference. These will overwrite what is on the -+ display, so there's no reason to do a smart update. This can really -+ only happen in a multibyte environment. */ -+ if (lendiff < 0) -+ { -+ _rl_output_some_chars (nfd, temp); -+ _rl_last_c_pos += _rl_col_width (nfd, 0, temp); -+ /* If nfd begins before any invisible characters in the prompt, -+ adjust _rl_last_c_pos to account for wrap_offset and set -+ cpos_adjusted to let the caller know. */ -+ if (current_line == 0 && wrap_offset && ((nfd - new) <= prompt_last_invisible)) -+ { -+ _rl_last_c_pos -= wrap_offset; -+ cpos_adjusted = 1; -+ } -+ return; -+ } - /* Sometimes it is cheaper to print the characters rather than - use the terminal's capabilities. If we're growing the number - of lines, make sure we actually cause the new line to wrap - around on auto-wrapping terminals. */ -! else if (_rl_terminal_can_insert && ((2 * col_temp) >= col_lendiff || _rl_term_IC) && (!_rl_term_autowrap || !gl)) - { - /* If lendiff > prompt_visible_length and _rl_last_c_pos == 0 and diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/readline-5.2-patches/readline52-007 new/readline-6.0-patches/readline52-007 --- old/readline-5.2-patches/readline52-007 2007-08-22 15:07:26.000000000 +0200 +++ new/readline-6.0-patches/readline52-007 1970-01-01 01:00:00.000000000 +0100 @@ -1,65 +0,0 @@ - READLINE PATCH REPORT - ===================== - -Readline-Release: 5.2 -Patch-ID: readline52-007 - -Bug-Reported-by: Tom Bjorkholm <tom.bjorkholm@ericsson.com> -Bug-Reference-ID: <AEA1A32F001C6B4F98614B5B80D7647D01C075E9@esealmw115.eemea.ericsson.se> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-readline/2007-04/msg00004.html - - -Bug-Description: - -An off-by-one error in readline's input buffering caused readline to drop -each 511th character of buffered input (e.g., when pasting a large amount -of data into a terminal window). - -Patch: - -*** ../readline-5.2/input.c Wed Aug 16 15:15:16 2006 ---- input.c Tue Jul 17 09:24:21 2007 -*************** -*** 134,139 **** - - *key = ibuffer[pop_index++]; -! - if (pop_index >= ibuffer_len) - pop_index = 0; - ---- 134,142 ---- - - *key = ibuffer[pop_index++]; -! #if 0 - if (pop_index >= ibuffer_len) -+ #else -+ if (pop_index > ibuffer_len) -+ #endif - pop_index = 0; - -*************** -*** 251,255 **** - { - k = (*rl_getc_function) (rl_instream); -! rl_stuff_char (k); - if (k == NEWLINE || k == RETURN) - break; ---- 254,259 ---- - { - k = (*rl_getc_function) (rl_instream); -! if (rl_stuff_char (k) == 0) -! break; /* some problem; no more room */ - if (k == NEWLINE || k == RETURN) - break; -*************** -*** 374,378 **** ---- 378,386 ---- - } - ibuffer[push_index++] = key; -+ #if 0 - if (push_index >= ibuffer_len) -+ #else -+ if (push_index > ibuffer_len) -+ #endif - push_index = 0; - diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/readline-5.2-patches/readline52-008 new/readline-6.0-patches/readline52-008 --- old/readline-5.2-patches/readline52-008 2007-12-15 03:35:54.000000000 +0100 +++ new/readline-6.0-patches/readline52-008 1970-01-01 01:00:00.000000000 +0100 @@ -1,70 +0,0 @@ - READLINE PATCH REPORT - ===================== - -Readline-Release: 5.2 -Patch-ID: readline52-008 - -Bug-Reported-by: dAniel hAhler <ubuntu@thequod.de> -Bug-Reference-ID: <4702ED8A.5000503@thequod.de> -Bug-Reference-URL: https://bugs.launchpad.net/ubuntu/+source/bash/+bug/119938 - -Bug-Description: - -When updating the display after displaying, for instance, a list of possible -completions, readline will place the cursor at the wrong position if the -prompt contains invisible characters and a newline. - -Patch: - -*** ../readline-5.2-patched/display.c Mon Aug 6 14:26:29 2007 ---- display.c Wed Oct 10 22:43:58 2007 -*************** -*** 1049,1053 **** - else - tx = nleft; -! if (_rl_last_c_pos > tx) - { - _rl_backspace (_rl_last_c_pos - tx); /* XXX */ ---- 1049,1053 ---- - else - tx = nleft; -! if (tx >= 0 && _rl_last_c_pos > tx) - { - _rl_backspace (_rl_last_c_pos - tx); /* XXX */ -*************** -*** 1205,1209 **** - { - register char *ofd, *ols, *oe, *nfd, *nls, *ne; -! int temp, lendiff, wsatend, od, nd; - int current_invis_chars; - int col_lendiff, col_temp; ---- 1205,1209 ---- - { - register char *ofd, *ols, *oe, *nfd, *nls, *ne; -! int temp, lendiff, wsatend, od, nd, o_cpos; - int current_invis_chars; - int col_lendiff, col_temp; -*************** -*** 1466,1469 **** ---- 1466,1471 ---- - } - -+ o_cpos = _rl_last_c_pos; -+ - /* When this function returns, _rl_last_c_pos is correct, and an absolute - cursor postion in multibyte mode, but a buffer index when not in a -*************** -*** 1475,1479 **** - invisible characters in the prompt string. Let's see if setting this when - we make sure we're at the end of the drawn prompt string works. */ -! if (current_line == 0 && MB_CUR_MAX > 1 && rl_byte_oriented == 0 && _rl_last_c_pos == prompt_physical_chars) - cpos_adjusted = 1; - #endif ---- 1477,1483 ---- - invisible characters in the prompt string. Let's see if setting this when - we make sure we're at the end of the drawn prompt string works. */ -! if (current_line == 0 && MB_CUR_MAX > 1 && rl_byte_oriented == 0 && -! (_rl_last_c_pos > 0 || o_cpos > 0) && -! _rl_last_c_pos == prompt_physical_chars) - cpos_adjusted = 1; - #endif diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/readline-5.2-patches/readline52-009 new/readline-6.0-patches/readline52-009 --- old/readline-5.2-patches/readline52-009 2007-12-15 03:35:54.000000000 +0100 +++ new/readline-6.0-patches/readline52-009 1970-01-01 01:00:00.000000000 +0100 @@ -1,45 +0,0 @@ - READLINE PATCH REPORT - ===================== - -Readline-Release: 5.2 -Patch-ID: readline52-009 - -Bug-Reported-by: dAniel hAhler <ubuntu@thequod.de> -Bug-Reference-ID: -Bug-Reference-URL: - -Bug-Description: - -Under some circumstances, readline will incorrectly display a prompt string -containing invisible characters after the final newline. - -Patch: - -*** ../readline-5.2-patched/display.c 2007-08-25 13:47:08.000000000 -0400 ---- display.c 2007-11-10 17:51:29.000000000 -0500 -*************** -*** 392,396 **** - local_prompt = expand_prompt (p, &prompt_visible_length, - &prompt_last_invisible, -! (int *)NULL, - &prompt_physical_chars); - c = *t; *t = '\0'; ---- 420,424 ---- - local_prompt = expand_prompt (p, &prompt_visible_length, - &prompt_last_invisible, -! &prompt_invis_chars_first_line, - &prompt_physical_chars); - c = *t; *t = '\0'; -*************** -*** 399,403 **** - local_prompt_prefix = expand_prompt (prompt, &prompt_prefix_length, - (int *)NULL, -! &prompt_invis_chars_first_line, - (int *)NULL); - *t = c; ---- 427,431 ---- - local_prompt_prefix = expand_prompt (prompt, &prompt_prefix_length, - (int *)NULL, -! (int *)NULL, - (int *)NULL); - *t = c; diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/readline-5.2-patches/readline52-010 new/readline-6.0-patches/readline52-010 --- old/readline-5.2-patches/readline52-010 2007-12-15 03:35:54.000000000 +0100 +++ new/readline-6.0-patches/readline52-010 1970-01-01 01:00:00.000000000 +0100 @@ -1,47 +0,0 @@ - READLINE PATCH REPORT - ===================== - -Readline-Release: 5.2 -Patch-ID: readline52-010 - -Bug-Reported-by: Miroslav Lichvar <mlichvar@redhat.com> -Bug-Reference-ID: Fri, 02 Nov 2007 14:07:45 +0100 -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-readline/2007-11/msg00000.html - -Bug-Description: - -In certain cases when outputting characters at the end of the line, -e.g., when displaying the prompt string, readline positions the cursor -incorrectly if the prompt string contains invisible characters and the -text being drawn begins before the last invisible character in the line. - -Patch: - -*** ../readline-5.2-patched/display.c 2007-08-25 13:47:08.000000000 -0400 ---- display.c 2007-11-10 17:51:29.000000000 -0500 -*************** -*** 1566,1574 **** - else - { -- /* We have horizontal scrolling and we are not inserting at -- the end. We have invisible characters in this line. This -- is a dumb update. */ - _rl_output_some_chars (nfd, temp); - _rl_last_c_pos += col_temp; - return; - } ---- 1619,1632 ---- - else - { - _rl_output_some_chars (nfd, temp); - _rl_last_c_pos += col_temp; -+ /* If nfd begins before any invisible characters in the prompt, -+ adjust _rl_last_c_pos to account for wrap_offset and set -+ cpos_adjusted to let the caller know. */ -+ if (current_line == 0 && wrap_offset && ((nfd - new) <= prompt_last_invisible)) -+ { -+ _rl_last_c_pos -= wrap_offset; -+ cpos_adjusted = 1; -+ } - return; - } diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/readline-5.2-patches/readline52-011 new/readline-6.0-patches/readline52-011 --- old/readline-5.2-patches/readline52-011 2007-12-15 03:35:54.000000000 +0100 +++ new/readline-6.0-patches/readline52-011 1970-01-01 01:00:00.000000000 +0100 @@ -1,32 +0,0 @@ - READLINE PATCH REPORT - ===================== - -Readline-Release: 5.2 -Patch-ID: readline52-011 - -Bug-Reported-by: Uwe Doering <gemini@geminix.org> -Bug-Reference-ID: <46F3DD72.2090801@geminix.org> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2007-09/msg00102.html - -Bug-Description: - -There is an off-by-one error in the code that buffers characters received -very quickly in succession, causing characters to be dropped. - -Patch: - -*** ../readline-5.2-patched/input.c 2007-08-25 13:47:10.000000000 -0400 ---- input.c 2007-10-12 22:55:25.000000000 -0400 -*************** -*** 155,159 **** - pop_index--; - if (pop_index < 0) -! pop_index = ibuffer_len - 1; - ibuffer[pop_index] = key; - return (1); ---- 155,159 ---- - pop_index--; - if (pop_index < 0) -! pop_index = ibuffer_len; - ibuffer[pop_index] = key; - return (1); diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/readline-5.2-patches/readline52-012 new/readline-6.0-patches/readline52-012 --- old/readline-5.2-patches/readline52-012 2007-12-15 03:35:54.000000000 +0100 +++ new/readline-6.0-patches/readline52-012 1970-01-01 01:00:00.000000000 +0100 @@ -1,150 +0,0 @@ - READLINE PATCH REPORT - ===================== - -Readline-Release: 5.2 -Patch-ID: readline52-012 - -Bug-Reported-by: Chet Ramey <chet.ramey@case.edu> -Bug-Reference-ID: -Bug-Reference-URL: - -Bug-Description: - -This updates the options required to create shared libraries on several -systems, including Mac OS X 10.5 (darwin9.x), FreeBSD, NetBSD, OpenBSD, -AIX, and HP/UX. - -Patch: - -*** ../readline-5.2-patched/support/shobj-conf 2006-04-11 09:15:43.000000000 -0400 ---- support/shobj-conf 2007-12-06 23:46:41.000000000 -0500 -*************** -*** 11,15 **** - # chet@po.cwru.edu - -! # Copyright (C) 1996-2002 Free Software Foundation, Inc. - # - # This program is free software; you can redistribute it and/or modify ---- 11,15 ---- - # chet@po.cwru.edu - -! # Copyright (C) 1996-2007 Free Software Foundation, Inc. - # - # This program is free software; you can redistribute it and/or modify -*************** -*** 115,119 **** - ;; - -! freebsd2* | netbsd*) - SHOBJ_CFLAGS=-fpic - SHOBJ_LD=ld ---- 115,119 ---- - ;; - -! freebsd2*) - SHOBJ_CFLAGS=-fpic - SHOBJ_LD=ld -*************** -*** 126,130 **** - # FreeBSD-3.x ELF - freebsd[3-9]*|freebsdelf[3-9]*|freebsdaout[3-9]*|dragonfly*) -! SHOBJ_CFLAGS=-fpic - SHOBJ_LD='${CC}' - ---- 126,130 ---- - # FreeBSD-3.x ELF - freebsd[3-9]*|freebsdelf[3-9]*|freebsdaout[3-9]*|dragonfly*) -! SHOBJ_CFLAGS=-fPIC - SHOBJ_LD='${CC}' - -*************** -*** 143,147 **** - - # Darwin/MacOS X -! darwin8*) - SHOBJ_STATUS=supported - SHLIB_STATUS=supported ---- 143,147 ---- - - # Darwin/MacOS X -! darwin[89]*) - SHOBJ_STATUS=supported - SHLIB_STATUS=supported -*************** -*** 154,158 **** - SHLIB_LIBSUFF='dylib' - -! SHOBJ_LDFLAGS='-undefined dynamic_lookup' - SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v' - ---- 154,158 ---- - SHLIB_LIBSUFF='dylib' - -! SHOBJ_LDFLAGS='-dynamiclib -dynamic -undefined dynamic_lookup -arch_only `/usr/bin/arch`' - SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v' - -*************** -*** 172,176 **** - - case "${host_os}" in -! darwin[78]*) SHOBJ_LDFLAGS='' - SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v' - ;; ---- 172,176 ---- - - case "${host_os}" in -! darwin[789]*) SHOBJ_LDFLAGS='' - SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v' - ;; -*************** -*** 183,187 **** - ;; - -! openbsd*) - SHOBJ_CFLAGS=-fPIC - SHOBJ_LD='${CC}' ---- 183,187 ---- - ;; - -! openbsd*|netbsd*) - SHOBJ_CFLAGS=-fPIC - SHOBJ_LD='${CC}' -*************** -*** 248,252 **** - ;; - -! aix4.[2-9]*-*gcc*) # lightly tested by jik@cisco.com - SHOBJ_CFLAGS=-fpic - SHOBJ_LD='ld' ---- 248,252 ---- - ;; - -! aix4.[2-9]*-*gcc*|aix[5-9].*-*gcc*) # lightly tested by jik@cisco.com - SHOBJ_CFLAGS=-fpic - SHOBJ_LD='ld' -*************** -*** 259,263 **** - ;; - -! aix4.[2-9]*) - SHOBJ_CFLAGS=-K - SHOBJ_LD='ld' ---- 259,263 ---- - ;; - -! aix4.[2-9]*|aix[5-9].*) - SHOBJ_CFLAGS=-K - SHOBJ_LD='ld' -*************** -*** 330,334 **** - # if you have problems linking here, moving the `-Wl,+h,$@' from - # SHLIB_XLDFLAGS to SHOBJ_LDFLAGS has been reported to work -! SHOBJ_LDFLAGS='-shared -Wl,-b -Wl,+s' - - SHLIB_XLDFLAGS='-Wl,+h,$@ -Wl,+b,$(libdir)' ---- 330,334 ---- - # if you have problems linking here, moving the `-Wl,+h,$@' from - # SHLIB_XLDFLAGS to SHOBJ_LDFLAGS has been reported to work -! SHOBJ_LDFLAGS='-shared -fpic -Wl,-b -Wl,+s' - - SHLIB_XLDFLAGS='-Wl,+h,$@ -Wl,+b,$(libdir)' diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/readline-5.2-patches/readline52-013 new/readline-6.0-patches/readline52-013 --- old/readline-5.2-patches/readline52-013 2008-11-18 17:19:22.000000000 +0100 +++ new/readline-6.0-patches/readline52-013 1970-01-01 01:00:00.000000000 +0100 @@ -1,135 +0,0 @@ - READLINE PATCH REPORT - ===================== - -Readline-Release: 5.2 -Patch-ID: readline52-013 - -Bug-Reported-by: slinkp <stuff@slinkp.com> -Bug-Reference-ID: <da52a26a-9f38-4861-a918-14d3482b539d@c65g2000hsa.googlegroups.com> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2008-05/msg00085.html - -Bug-Description: - -The presence of invisible characters in a prompt longer than the screenwidth -with invisible characters on the first and last prompt lines caused readline -to place the cursor in the wrong physical location. - -Patch: - -*** ../readline-5.2-patched/display.c 2007-12-14 21:12:40.000000000 -0500 ---- display.c 2008-10-23 09:39:46.000000000 -0400 -*************** -*** 911,914 **** ---- 944,951 ---- - OFFSET (which has already been calculated above). */ - -+ #define INVIS_FIRST() (prompt_physical_chars > _rl_screenwidth ? prompt_invis_chars_first_line : wrap_offset) -+ #define WRAP_OFFSET(line, offset) ((line == 0) \ -+ ? (offset ? INVIS_FIRST() : 0) \ -+ : ((line == prompt_last_screen_line) ? wrap_offset-prompt_invis_chars_first_line : 0)) - #define W_OFFSET(line, offset) ((line) == 0 ? offset : 0) - #define VIS_LLEN(l) ((l) > _rl_vis_botlin ? 0 : (vis_lbreaks[l+1] - vis_lbreaks[l])) -*************** -*** 945,949 **** - _rl_last_c_pos > wrap_offset && - o_cpos < prompt_last_invisible) -! _rl_last_c_pos -= wrap_offset; - - /* If this is the line with the prompt, we might need to ---- 982,992 ---- - _rl_last_c_pos > wrap_offset && - o_cpos < prompt_last_invisible) -! _rl_last_c_pos -= prompt_invis_chars_first_line; /* XXX - was wrap_offset */ -! else if (linenum == prompt_last_screen_line && prompt_physical_chars > _rl_screenwidth && -! (MB_CUR_MAX > 1 && rl_byte_oriented == 0) && -! cpos_adjusted == 0 && -! _rl_last_c_pos != o_cpos && -! _rl_last_c_pos > (prompt_last_invisible - _rl_screenwidth - prompt_invis_chars_first_line)) -! _rl_last_c_pos -= (wrap_offset-prompt_invis_chars_first_line); - - /* If this is the line with the prompt, we might need to -*************** -*** 1205,1209 **** - { - register char *ofd, *ols, *oe, *nfd, *nls, *ne; -! int temp, lendiff, wsatend, od, nd, o_cpos; - int current_invis_chars; - int col_lendiff, col_temp; ---- 1264,1268 ---- - { - register char *ofd, *ols, *oe, *nfd, *nls, *ne; -! int temp, lendiff, wsatend, od, nd, twidth, o_cpos; - int current_invis_chars; - int col_lendiff, col_temp; -*************** -*** 1221,1225 **** - temp = _rl_last_c_pos; - else -! temp = _rl_last_c_pos - W_OFFSET(_rl_last_v_pos, visible_wrap_offset); - if (temp == _rl_screenwidth && _rl_term_autowrap && !_rl_horizontal_scroll_mode - && _rl_last_v_pos == current_line - 1) ---- 1280,1284 ---- - temp = _rl_last_c_pos; - else -! temp = _rl_last_c_pos - WRAP_OFFSET (_rl_last_v_pos, visible_wrap_offset); - if (temp == _rl_screenwidth && _rl_term_autowrap && !_rl_horizontal_scroll_mode - && _rl_last_v_pos == current_line - 1) -*************** -*** 1587,1599 **** - { - _rl_output_some_chars (nfd + lendiff, temp - lendiff); -- #if 1 - /* XXX -- this bears closer inspection. Fixes a redisplay bug - reported against bash-3.0-alpha by Andreas Schwab involving - multibyte characters and prompt strings with invisible - characters, but was previously disabled. */ -! _rl_last_c_pos += _rl_col_width (nfd+lendiff, 0, temp-col_lendiff); -! #else -! _rl_last_c_pos += _rl_col_width (nfd+lendiff, 0, temp-lendiff); -! #endif - } - } ---- 1648,1660 ---- - { - _rl_output_some_chars (nfd + lendiff, temp - lendiff); - /* XXX -- this bears closer inspection. Fixes a redisplay bug - reported against bash-3.0-alpha by Andreas Schwab involving - multibyte characters and prompt strings with invisible - characters, but was previously disabled. */ -! if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) -! twidth = _rl_col_width (nfd+lendiff, 0, temp-col_lendiff); -! else -! twidth = temp - lendiff; -! _rl_last_c_pos += twidth; - } - } -*************** -*** 1789,1793 **** - int cpos, dpos; /* current and desired cursor positions */ - -! woff = W_OFFSET (_rl_last_v_pos, wrap_offset); - cpos = _rl_last_c_pos; - #if defined (HANDLE_MULTIBYTE) ---- 1850,1854 ---- - int cpos, dpos; /* current and desired cursor positions */ - -! woff = WRAP_OFFSET (_rl_last_v_pos, wrap_offset); - cpos = _rl_last_c_pos; - #if defined (HANDLE_MULTIBYTE) -*************** -*** 1803,1807 **** - prompt string, since they're both buffer indices and DPOS is a - desired display position. */ -! if (new > prompt_last_invisible) /* XXX - don't use woff here */ - { - dpos -= woff; ---- 1864,1872 ---- - prompt string, since they're both buffer indices and DPOS is a - 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-wrap_offset))) - { - dpos -= woff; ++++++ readline-5.2-patches.tar.bz2 -> readline-6.0.tar.bz2 ++++++ ++++ 140362 lines of diff (skipped) ++++++ readline-5.2-wrap.patch -> readline-6.0-wrap.patch ++++++ --- bash/readline-5.2-wrap.patch 2006-11-13 17:29:32.000000000 +0100 +++ /mounts/work_src_done/STABLE/bash/readline-6.0-wrap.patch 2009-02-27 16:58:53.716001771 +0100 @@ -1,9 +1,9 @@ --- lib/readline/display.c -+++ lib/readline/display.c 2006-11-13 16:55:24.000000000 +0100 -@@ -665,7 +665,10 @@ ++++ lib/readline/display.c 2009-02-27 16:57:28.988001786 +0100 +@@ -713,7 +713,10 @@ rl_redisplay () inv_lbreaks[++newlines] = temp; #if defined (HANDLE_MULTIBYTE) - if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) + if (MB_CUR_MAX > 1 && rl_byte_oriented == 0 && prompt_multibyte_chars > 0) - lpos -= _rl_col_width (local_prompt, n0, num); + { + if (local_prompt_len > 0) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@Hilbert.suse.de