diff options
author | Oliver Eikemeier <eik@FreeBSD.org> | 2004-11-19 13:44:37 +0000 |
---|---|---|
committer | Oliver Eikemeier <eik@FreeBSD.org> | 2004-11-19 13:44:37 +0000 |
commit | d8f7447a122c70937d781fea20d4ac3ec13e6283 (patch) | |
tree | 51160dfe016adc4323f17eacab4202c93727e680 /shells/bash | |
parent | b45aa2855c1f35292d1cf841eea612ff833e63bf (diff) |
Fix `read -e' handling when PS1 is longer than the terminal width
<http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=139306>
Obtained from: Tim Waugh <twaugh@redhat.com>
Notes
Notes:
svn path=/head/; revision=121960
Diffstat (limited to 'shells/bash')
-rw-r--r-- | shells/bash/Makefile | 2 | ||||
-rw-r--r-- | shells/bash/files/patch-lib::readline::display.c | 24 |
2 files changed, 25 insertions, 1 deletions
diff --git a/shells/bash/Makefile b/shells/bash/Makefile index 20cb20152e65..276c203e2937 100644 --- a/shells/bash/Makefile +++ b/shells/bash/Makefile @@ -7,7 +7,7 @@ PORTNAME= bash PORTVERSION= 3.0.${PATCHLEVEL} -PORTREVISION= 0 +PORTREVISION= 1 CATEGORIES= shells MASTER_SITES= ${MASTER_SITE_GNU:S/$/:bash/} \ http://cnswww.cns.cwru.edu/~chet/%SUBDIR%/:faq \ diff --git a/shells/bash/files/patch-lib::readline::display.c b/shells/bash/files/patch-lib::readline::display.c new file mode 100644 index 000000000000..269f52ee03d7 --- /dev/null +++ b/shells/bash/files/patch-lib::readline::display.c @@ -0,0 +1,24 @@ +# +# Fix handling of `read -e' while PS1 is set longer than the screen width +# +# http://lists.gnu.org/archive/html/bug-bash/2004-11/msg00220.html +# http://lists.gnu.org/archive/html/bug-bash/2004-11/msg00266.html +# +--- lib/readline/display.c.orig 2004-11-18 16:24:46.000000000 +0000 ++++ lib/readline/display.c 2004-11-18 17:12:32.904903404 +0000 +@@ -572,11 +572,10 @@ + + /* inv_lbreaks[i] is where line i starts in the buffer. */ + inv_lbreaks[newlines = 0] = 0; +-#if 0 +- lpos = out - wrap_offset; +-#else +- lpos = prompt_physical_chars + modmark; +-#endif ++ if (local_prompt) ++ lpos = prompt_physical_chars + modmark; ++ else ++ lpos = 0; + + #if defined (HANDLE_MULTIBYTE) + memset (_rl_wrapped_line, 0, vis_lbsize); |