diff options
author | wiz <wiz> | 2009-02-23 12:35:46 +0000 |
---|---|---|
committer | wiz <wiz> | 2009-02-23 12:35:46 +0000 |
commit | 5a5628dc998069023794af4893cac46a5db6f66e (patch) | |
tree | cf6a1a55e8322e2f1bc339dda9059991cec52359 /devel/readline/patches | |
parent | f198e79a5e66d465befa3aeacb7be74331663c9c (diff) | |
download | pkgsrc-5a5628dc998069023794af4893cac46a5db6f66e.tar.gz |
Update to 6.0:
This is a terse description of the new features added to readline-6.0 since
the release of readline-5.2.
1. New Features in Readline
a. A new variable, rl_sort_completion_matches; allows applications to inhibit
match list sorting (but beware: some things don't work right if
applications do this).
b. A new variable, rl_completion_invoking_key; allows applications to discover
the key that invoked rl_complete or rl_menu_complete.
c. The functions rl_block_sigint and rl_release_sigint are now public and
available to calling applications who want to protect critical sections
(like redisplay).
d. The functions rl_save_state and rl_restore_state are now public and
available to calling applications; documented rest of readline's state
flag values.
e. A new user-settable variable, `history-size', allows setting the maximum
number of entries in the history list.
f. There is a new implementation of menu completion, with several improvements
over the old; the most notable improvement is a better `completions
browsing' mode.
g. The menu completion code now uses the rl_menu_completion_entry_function
variable, allowing applications to provide their own menu completion
generators.
h. There is support for replacing a prefix of a pathname with a `...' when
displaying possible completions. This is controllable by setting the
`completion-prefix-display-length' variable. Matches with a common prefix
longer than this value have the common prefix replaced with `...'.
i. There is a new `revert-all-at-newline' variable. If enabled, readline will
undo all outstanding changes to all history lines when `accept-line' is
executed.
Diffstat (limited to 'devel/readline/patches')
-rw-r--r-- | devel/readline/patches/patch-ae | 20 | ||||
-rw-r--r-- | devel/readline/patches/patch-af | 124 |
2 files changed, 10 insertions, 134 deletions
diff --git a/devel/readline/patches/patch-ae b/devel/readline/patches/patch-ae index 7a6600b5d82..4ed53d7458e 100644 --- a/devel/readline/patches/patch-ae +++ b/devel/readline/patches/patch-ae @@ -1,6 +1,6 @@ -$NetBSD: patch-ae,v 1.13 2007/11/21 23:33:14 minskim Exp $ +$NetBSD: patch-ae,v 1.14 2009/02/23 12:35:46 wiz Exp $ ---- Makefile.in.orig 2005-05-07 18:11:23.000000000 -0700 +--- Makefile.in.orig 2009-01-06 17:03:14.000000000 +0000 +++ Makefile.in @@ -18,6 +18,9 @@ RL_LIBRARY_VERSION = @LIBVERSION@ @@ -12,7 +12,7 @@ $NetBSD: patch-ae,v 1.13 2007/11/21 23:33:14 minskim Exp $ PACKAGE = @PACKAGE_NAME@ VERSION = @PACKAGE_VERSION@ -@@ -72,6 +75,7 @@ CTAGS = ctags -tw +@@ -74,6 +77,7 @@ CTAGS = ctags -tw CFLAGS = @CFLAGS@ LOCAL_CFLAGS = @LOCAL_CFLAGS@ -DRL_LIBRARY_VERSION='"$(RL_LIBRARY_VERSION)"' CPPFLAGS = @CPPFLAGS@ @@ -20,7 +20,7 @@ $NetBSD: patch-ae,v 1.13 2007/11/21 23:33:14 minskim Exp $ DEFS = @DEFS@ @CROSS_COMPILE@ LOCAL_DEFS = @LOCAL_DEFS@ -@@ -94,9 +98,15 @@ GCC_LINT_CFLAGS = $(XCCFLAGS) $(GCC_LINT +@@ -96,9 +100,15 @@ GCC_LINT_CFLAGS = $(XCCFLAGS) $(GCC_LINT ${RM} $@ $(CC) -c $(CCFLAGS) $< @@ -36,7 +36,7 @@ $NetBSD: patch-ae,v 1.13 2007/11/21 23:33:14 minskim Exp $ # The C code source files for this library. CSOURCES = $(srcdir)/readline.c $(srcdir)/funmap.c $(srcdir)/keymaps.c \ -@@ -145,6 +155,8 @@ INSTALL_TARGETS = @STATIC_INSTALL_TARGET +@@ -147,6 +157,8 @@ INSTALL_TARGETS = @STATIC_INSTALL_TARGET all: $(TARGETS) @@ -45,7 +45,7 @@ $NetBSD: patch-ae,v 1.13 2007/11/21 23:33:14 minskim Exp $ everything: all examples static: $(STATIC_LIBS) -@@ -154,17 +166,33 @@ libreadline.a: $(OBJECTS) +@@ -156,17 +168,33 @@ libreadline.a: $(OBJECTS) $(AR) $(ARFLAGS) $@ $(OBJECTS) -test -n "$(RANLIB)" && $(RANLIB) $@ @@ -77,11 +77,11 @@ $NetBSD: patch-ae,v 1.13 2007/11/21 23:33:14 minskim Exp $ + $(LIBTOOL) --mode=compile $(CC) $(CCFLAGS) -DREADLINE_LIBRARY -c $(srcdir)/tilde.c + readline: $(OBJECTS) readline.h rldefs.h chardefs.h ./libreadline.a - $(CC) $(CCFLAGS) -o $@ ./examples/rl.c ./libreadline.a ${TERMCAP_LIB} + $(CC) $(CCFLAGS) -DREADLINE_LIBRARY -o $@ $(top_srcdir)/examples/rl.c ./libreadline.a ${TERMCAP_LIB} -@@ -243,6 +271,12 @@ install-shared: installdirs install-head - uninstall-shared: maybe-uninstall-headers - -( cd shlib; ${MAKE} ${MFLAGS} DESTDIR=${DESTDIR} uninstall ) +@@ -251,6 +279,12 @@ install-examples: installdirs install-he + uninstall-examples: maybe-uninstall-headers + -( cd examples; ${MAKE} ${MFLAGS} DESTDIR=${DESTDIR} uninstall ) +install-libtool: installdirs $(LIBTOOL_LIBS) install-headers install-doc + -$(LIBTOOL) --mode=uninstall $(RM) $(DESTDIR)$(libdir)/libreadline.la diff --git a/devel/readline/patches/patch-af b/devel/readline/patches/patch-af deleted file mode 100644 index cc33a10b9d2..00000000000 --- a/devel/readline/patches/patch-af +++ /dev/null @@ -1,124 +0,0 @@ -$NetBSD: patch-af,v 1.4 2008/08/13 11:11:38 he Exp $ - -3 patches from Debian rolled into one: - -http://lists.gnu.org/archive/html/bug-bash/2006-11/msg00017.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. - -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. - -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. - - ---- display.c.orig 2006-09-14 20:20:12.000000000 +0200 -+++ display.c -@@ -561,14 +561,25 @@ rl_redisplay () - 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 -+ 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() \ -@@ -1586,8 +1597,22 @@ update_line (old, new, current_line, oma - temp = nls - nfd; - 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 += _rl_col_width (nfd, 0, 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; - } - } - /* Otherwise, print over the existing material. */ -@@ -1595,8 +1620,20 @@ update_line (old, new, current_line, oma - { - 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); - if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) -@@ -1732,7 +1769,10 @@ _rl_move_cursor_relative (new, data) - if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) - { - dpos = _rl_col_width (data, 0, new); -- if (dpos > prompt_last_invisible) /* XXX - don't use woff here */ -+ /* 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; - /* Since this will be assigned to _rl_last_c_pos at the end (more -@@ -2380,6 +2420,8 @@ _rl_col_width (str, start, end) - - if (end <= start) - return 0; -+ if (MB_CUR_MAX == 1) -+ return end - start; - - memset (&ps, 0, sizeof (mbstate_t)); - |