Update misc/rlwrap to rlwrap-0.42.
Changes:
0.42
----
* Added --mirror-arguments (-U) option
* On SunOS tcgetattr(slave pty) failed with "Invalid argument"
* If the completion list contained two words, one of which a
prefix of the other (e.g. "sea" and "seagull") the shorter one would
be skipped when displaying a list of completions
* reading completion files (with the -f option, or from
$RLWRAP_HOME/<command>_completions) could fail with an incorrect
ENOENT ("No such file or directory")
* rlwrap -z listing wouldn't list filters
* When both master and slave pty are unfit for sensing slave
commands terminal settings, rlwrap now bails out with an error
"cannot determine terminal mode of slave command"
0.41
----
* Slightly late SIGCHLD could cause an I/O error on master pty
* Added -W (-polling) option to poll slave pty for changes in its
interrupt character and ISIG flag.
* if $TERM is not found in termcap/terminfo database, use vt100
0.40
----
* configure will now find tgetent() in libtinfo
* compiling with gcc -O2 made rlwrap hang after CTRL-D on empty line
* HP-UX 11 has weird tgetent() return values, confusing rlwrap
* On Solaris, rlwrap would sometimes fail with "TIOCSWINSZ failed on
slave pty"
* Single quote ' is now word-breaking by default
* multi-line edit would mangle upper ASCII and UTF-8 (and still does
that to UTF16 :( )
* added --extra-char-after-completion and -multi-line-ext options
* rlwrap now recognises the 'rmcup' and 'rmkx' character sequences used by
programs that use an alternate screen (like editors and pagers) to return
from it.
* configure will now correctly determine pty type on SCO OpenServer
* rlwrap --no-children would leak file descriptors to /proc/<command_pid>/wchan
* non-ASCII characters in multi-line input are no longer replaced
by spaces after calling an external editor
* running rlwrap within emacs would crash (division by zero).
rlwrap now bails out whenever terminal width == 0
* added --enable-proc-mountpoint config option to use alternate linux-like
proc filesystems (like in FreeBSD) for finding <command>s working dir (-c option)
and kernel function in which <command> is sleeping (-N option)
* added prototype for copy_without_ignore_markers, fixing a segfault on NetBSD/amd64
* commands final output before dying was lost on FreeBSD
* Filters now get complete echo lines even if the echo comes back in chunks
Do it for all packages that
* mention perl, or
* have a directory name starting with p5-*, or
* depend on a package starting with p5-
like last time, for 5.18, where this didn't lead to complaints.
Let me know if you have any this time.
are replaced with .include "../../devel/readline/buildlink3.mk", and
USE_GNU_READLINE are removed,
* .include "../../devel/readline/buildlink3.mk" without USE_GNU_READLINE
are replaced with .include "../../mk/readline.buildlink3.mk".
a) refer 'perl' in their Makefile, or
b) have a directory name of p5-*, or
c) have any dependency on any p5-* package
Like last time, where this caused no complaints.
Now depends on perl.
0.37 Commands that emit "status lines" using backspaces and carriage
returns could confuse rlwrap
rlwrap uses C strings internally, and thus cannot cope with
command output that contains zero bytes (padding). It used to
replace these with spaces, now the zero bytes are removed.
if the RLWRAP_HOME is set, but $RLWRAP_HOME doesn't exist, rlwrap
will create it
typo: SIGERR instead of SIG_ERR in signals.c
0.36 Entering a line from vi command mode would echo the input twice
Output from very busy commands would not always be printed on time
When rlwrap kills itself after a command crash it will not dump
core, in order to avoid clobbering command's much more interesting
core dump.
Premature filter death is now reported properly (it used to only
say: "EOF reading from filter" or "Broken pipe writing to filter")
0.35 config.{guess,sub} have been updated to version 2009-12-13
Corrected array bounds error in my_putstr("") (which could make
rlwrap write an extra newline when exiting, but might even crash
on some systems)
Many small improvements and fixes for multi-line input:
Multi-line inputs are now written to the inferior command one
line at a time, so that command's response (e.g. a continuation
prompt) can be interleaved with the echo'ed (multi-line) input.
Calling an external editor will no longer obliterate the prompt,
and line/column positions are now correct.
After a multi-line edit in vi-mode, the cursor will no longer
end up one line too high.
CTRL-D on an empty line was handed directly to command, but also
(erroneously) put in readline's input buffer
Many small fixes and improvements in signal handling:
SIGSEGV, and other "error" signals like SIGFPE, are now unblocked
all of the time, so that rlwrap can always clean up after a crash.
Since version 0.25 rlrwap's transparency extends to signals: if
the inferior command segfaults, rlwrap will kill itself with a
SIGSEGV. In order to get the bug reports where they belong,
rlwrap now reports explicitly that it has not crashed itself.
rlwrap's call to sigaction forgot to set the signal mask (!)
Continuing after CTRL-Z on QNX now wakes up command
Added --one-shot (-o) and --only-cook (-O) options
debug log is now in a format that works well with emacs' grep-mode
rlwrap's bindable readline function names (like rlwrap-call-editor) are
now in hyphen-style instead of underscore_style (use of the
old_style_names will now be flagged as an error)
Filters can now prevent a prompt from being cooked by "rejecting" it.
Rlwrapfilter.pm would set $_ incorrectly in echo and output handlers.
RlwrapFilter.pm manpage is now created by newer (and less buggy)
version of pod2man
Added EXAMPLES section and -t option to rlwrap manpage
0.34 Binding wide (e.g. utf-8) chars in .inputrc now works
prefix arguments are now correctly reset (M-5 a b now
yields aaaaab instead of aaaaabbbbb)
0.33 rlwrap incorrectly fed terminfo-style capnames ("dl1") instead of
termcap codes ("dl") into tgetstr(). On newer Debian systems this
exposed a bug where random garbage would be printed by rlwrap
Hyphens in rlwrap manpage are now all properly escaped
RlwrapFilter.pm now only re-sets $filter->cumulative_output when an
INPUT message is received
0.32 Major new feature: filtering. Filters sit between rlwrap and the
wrapped command, re-writing command output, input, prompts,
history, and completion word lists.
System-wide filters live in DATADIR/rlwrap/filters (where DATADIR =
/usr/local/share by default, installation-dependent) Because of this,
completions now live in DATADIR/rlwrap/completions (until now:
DATADIR/rlwrap)
To make filter writing easy, a perl module RlwrapFilter.pm has
been added. It doesn't become part of your perl installation, but lives
in DATADIR/rlwrap/filters
rlwrap didn't properly check errno after reading from inferior pty.
This could lead to a spurious "read error on master pty"
Instead of using crusty old signal(), signal handlers are now set
by sigaction() without SA_RESTART (BSD semantics) Different
syscall-restarting behaviour among systems caused hard-to-trace
bugs
Now copies inferior pty's c_oflags to stdout before
output. (some editors like joe would mess up the screen)
prompt handling logic has been streamlined. Coloured prompt handling is
reliable now, even for long prompts.
At program exit, rlwrap now outputs a newline only when the client
didn't.
Added -g, -I, -N, -S, -w and -z options
Removed -F option (and added a filter to replace it)
-p option now takes colour names (-pYellow)
rlwrap (and readline) uses C strings internally, which could cause problems
with commands that output '\0' bytes. In direct mode, such
characters are left untouched, but in readline mode they are
replaced by spaces.
the tools directory has been updated, so that configure will
feel at home even on newer systems
tested on SunOS, AIX, FreeBSD, HP/UX, QNX (thanks to polarhome.com), as
well as cygwin and linux
Pkgsrc changes:
- Added option "debug" (off by default).
- Explicitly listed licence information.
Changes since version 0.28:
===========================
0.30 rlwrap can now use putenv() on machines that don't have
setenv() (like some Solaris systems)
EOF on stdin (e.g. by pressing CTRL-D) would end prompt colouring.
added -q option
0.29 added -A option to handle (ANSI-)coloured prompts
added -p option to colourise uncoloured prompts
added -t option to set terminal type for client command
rlwrap now copies its terminal settings from the client
even when this has put its terminal in single-keypress
(uncooked) mode. A rlwrapped emacs will now respond to CTRL-C
and CTRL-G as it should.
fixed a long-standing bug where long output lines with the -r option
would put mutilated words into the completion list. Drawback:
prompts are not put into the completion list anymore (bug or feature?).
rlwrap now handles output to the client before input from the
client, and only handles keyboard input when all client I/O has
been handled. This will make rlwrap a little better behaved when
handling large chunks of (pasted) input, especially with colourised
prompts
error messages and warnings now include the rlwrap version number
rlwrap now prints a warning when started in vi mode when the
terminal is too dumb to support upwards cursor movement
added a very simple custom malloc/free debugger for use with the
--debug option. Rather fragile and not well tested, use with care.
Whenever TERM is not set, rlwrap assumes vt100. Set TERM=dumb if
you really have a dumb terminal.
rlwrap now leaves the handling of multi-line prompts and edit
buffers to readline (except when in horizontal-scroll mode or when
configured with --enable-homegrown-redisplay).
whenever --always-readline is set, SIGWINCH not passed to
client command immediately, but only *after* accepting a line.
multi-byte prompts and input no longer confuse rlwrap (provided
your readline lib supports multi-byte characters)
--spy-on-readline now enabled by default
the configure script will now find term.h on cygwin
dropped the assumption that tgetent() and friends are only ever
declared in term.h; rlwrap now has proper terminal handling also
under SunOS.
the rlwrap source should again be fit for consumption by older
(C91 compliant) compilers
rlwrap is a 'readline wrapper' that uses the GNU readline library to
allow the editing of keyboard input for other commands. Input history
is remembered across invocations, separately for each command; history
completion and search work as in bash and completion word lists can be
specified on the command line.