0.2: Test added. 0.3: Filehandles changed to \* from *, MinLine works, works with debugger. 0.4: Some bugs with $| corrected. Application name is set. Works under OS/2 without ReadKey. Should work under DOS with minimal changes (see $inDOS in ReadLine/readline.pl). 0.5: Code to support ReadLine'less debugger moved to debugger. One user reported that having .inputrc triggers the same bug that buggered earlier versions of the package. Request for a second readline is tried to be executed first, dying only if should work on a different terminal. 0.6: The above bug was due to missing vi keymap. Dirty workaround added. 0.7: We made ReadMode on term_OUT ;-( Better workaround for return of globs from a sub. Word break chars more suitable for Perl. 0.8: Insert, Operate, HistorySearch added. Rudimental support for tk being active during ReadLine. Should work better if ReadKey is present, but did not bootstrap. SelfLoader (and AutoLoader) supported (uncomment the lines with SelfLoader, ISA, and __DATA__). 0.9: tkRunning corrected. New attributes in Features: getHistory, setHistory, and new methods: GetHistory and SetHistory. After 0.9: Optional second argument to ->readline; [sg]etHistory, tkRunning features documented; Operate overwriting parameter fixed; AddHistory copied to addhistory in T::R::Perl; [SG]etHistory documented; tkRunning feature documented. eval "" => eval {} local => my After 0.91: Couple of bugs with my $var = @_; use SelfLoader; moved to DATA. Works in XTERM on OS/2. 0.93: Updates to Operate, couple of keybindings added. $rl_completer_terminator_character, $rl_correct_sw added. Reload-init-file moved to C-x C-x. C-x ? and C-x * list/insert possible completions (similar to tcsh globbing). For a second ReadLine interface ReadLine::Stub is used (unsuccessfully)? C-x * moves cursor correctly. 0.94: Should work everywhere where stty works (possibly with a warning). Warning says where to find TRK, switchable off. ReadLine.pm removed from distribution. 0.95: (from Jim Meyering): * readline.pm (preinit): Recognize bash's `input-meta' as a valid variable name. (F_ReReadInitFile): Recognize key binding directives in which the double-quoted RHS contains white space. (rl_set): Treat bash's `visible-stats' as a synonym of CompleteAddsuffix. Workaround against Term::ReadKey::ReadMode returning undef (thanks to Helmut Jarausch). 0.96: tkRunning support unrolled, now needs newer Term/ReadLine.pm to use it. Warnings from inputrc come only if -w. 0.97: Wrong version of Perl.pm was included, did not work with older Perls. 0.98: newTTY added. ornaments added. no longer installs into PERL dirs. Name of interface is now Term::ReadLine::Perl. Meta-flag tolerated (thanks to Honza Pazdziora). Bindings to \C-letter work again. 0.99: Buglet with -w corrected. 0.9901: Support for ornaments busted editing of long lines. 0.9902: Do not test TRL::Gnu in test.pl! Allow control-? in assignments. \M-\C- should work, as well as \x7F. (Thanks to Neil Bird!) 0.9903: Enable ornaments by default. Disable explicit ornaments in the test.pl. 0.9904: (thanks to Alexander Kourakos ) gave warnings for blank lines in my .inputrc showed underlined spaces in prompts (in xterm) which look ugly. 0.9905: (thanks to Wilson P. Snyder II wsnyder@maker.com) Fix reverse search. 0.9906: $readline::rl_getc added with the default value \&readline::rl_getc 0.9907: remove defined() noise. 0.9908: support $ENV{INPUTRC}. Advice users to look into *this* file for features... Joe.Petolino@Eng.Sun.COM added vi support (untested). Remove .gz-ness from Makefile.PL. 1.00: Ignore $/, $\, $,. Handle $include in RC file (by Roland Walker and Alexander Kourakos). Support "unsupported ioctl()". $rl_vi_replace_default_on_insert (by Russ Southern). Now we closely match the new syntax of .inputrc (by David Wollmann). Allow setenv PERL_RL_USE_TRK=0 to disable usage of Term::ReadKey. With $inDOS vicmd_map had conflicting definitions for #27. Removed spurious warnings from failing ioctl and stty. 1.01: Allow unset TERM. Wrong display and warnings if UP/DOWN reach a short line from a scrolled line Highlight the h-scroll indicators "<" ">" same as the prompt. Draw h-scroll indicator "<" even if a part of the prompt is shown. Scroll right if more than $rl_margin empty space is on the right. 1.02: Move reread-init to C-x C-r. Make C-x u and C-x C-u do undo. Set-mark: C-@, Control-Space on PC. Exchange-point-and-mark: C-x C-x. Kill-region: C-x C-w (as in lynx). Copy-region-as-kill: C-x w (kinda similar to Emacs). On PC, the last 2 and yank also available on Shift-Del, Control-Insert, Shift-Insert. Kill buffer is prepended or appended in natural manner. Disable detection of Japanese multibyte characters - conflicts with single-byte scripts. Reenable by $readline::_rl_japanese_mb = 1. 1.0201: Warnings due to a misprint fixed (thanks to Tatsuhiko Miyagawa). 1.0202: Warnings on highlight of the right scroll mark '<' fixed (thanks to Slaven Rezic). 1.0203: Unconditional titlecasing of .inputrc "values" broke settings with values such as 'vi' etc (thanks to Russ Southern for a report). 1.0204: Applied patches from Gurusamy and Slaven for vi mode: Logic to move insertion point one char back was wrong; Disable (YES!) choice of vi-mode based on $ENV{EDITOR}. Just in case: generate proper warning if an old $ket-bug resurrects. If readkey() returns undef, behave as on EOF. New option --no-print to test.pl. Try to move prompt to the next line if something is already on the current line (controlled by $rl_scroll_nextline, $rl_last_pos_can_backspace); Wrong setting of $rl_last_pos_can_backspace will result: a) 1 and wrong: empty line before the prompt; b) 0 and wrong: if the line contains 1 char only, (and no NL), the prompt will overwrite it; test with `perl -Mblib test.pl --no-print', type `print 1'. [This is not the same as termcap/am!]. New variable $readline::rl_default_selected; if true, default string is removed if the first keystroke is self-insert or BackSpace; test.pl modified to test this too; uses mr,me capabilities to highlight the default string. New command: SaveLine (on M-#). New command: PrintHistory (on M-h), PreviousHistory and NextHistory take count. The edited line is saved when one moves to history. 1.0205: Do not touch $ENV{HOME} unless defined. $ENV{AUTOMATED_TESTING} to skip interactive tests. 1.0206: Shift-Ins, Control-Ins, Shift-Del operate on clipboard (if available) (currently native on OS/2 only, otherwise uses commands $ENV{RL_PASTE_CMD}, $ENV{RL_CLCOPY_CMD}, or file $ENV{HOME}/.rl_cutandpaste). In absense of mark, CopyRegionAsKillClipboard operates on the whole line Completely ignore unknown variables in .inputrc. Moving cursor should remove the highlight of initial string too. Change some local() to my(). Region between point and mark is highlighted. Commands SelfInsert, Yank*, *DeleteChar remove this region if $rl_delete_selection is TRUE (default). (Set mark again to insert without removing.) 1.0207: If mark was active, redraw could be performed after Enter. Untested Win32 support for cut&paste. Alias $var_DeleteSelection for $rl_delete_selection (thus accessible via .inputrc). 1.0208: Allow 2-arg form for test.pl Open CONIN$ on Win (if asked for CON), and open RW (bug in Win devdriver). Allow non-first Digit-Arguments to be escaped too. Allow Alt-char translation to \M-char on DOSISH. Apparently, self-loaded empty subroutines crash 5.8.2; 5.8.7 OK. Work-around: put "1;" into non-implemented stuff. 1.03: Support for numeric arguments missed setting $lastcommand. MinLine would not return the old value etc. On MSWin32 without ReadKey, but with cygwin stty.exe: do binmode (since Enter sends \r in these settings) (XXXX we don't undo binmode; is it needed?) (Only Control-Key work; do "Control-[ key" for Meta) When optimizing "cursor" movement, take into account ornaments. Optimize "cursor" movement even if we redraw the line. Would display the string twice, even if cursor was at the end of the line. Add key binding for Control-Movement keys in xterm; and some OSX xterm. Do not prefer HPUX xterm bindings to "normal" XTerm bindings. New functions F_BeginUndoGroup F_EndUndoGroup F_DoNothing F_MemorizeDigitArgument F_ForceMemorizeDigitArgument F_UnmemorizeDigitArgument F_ResetDigitArgument F_MergeInserts F_MemorizePos (for better mouse support; untested) Undo list merges together states where the only change is position 1.0301: F_TransposeWords implemented Enable binmode() on MSWin32 if ReadMode succeeds. Since "normal" getc() returns 0 on "special keys" (as opposed to behaviour with reasonable CRT library, which would return a pair of keypresses 0 "keynumber"), to access special keys one needs something like C-[ for Esc, and C-[ c for Alt-c. Support \key with key in "abfnrtvd" in init files (\b/\d as C-?/C-d) and \ooo for octal. Allow single quotes in macro specifications, and backwacked quotes. Support macros (propagate numeric arguments). New functions F_BeginPasteGroup; F_EndPasteGroup; F_BeginEditGroup; F_EndEditGroup; bound to XTerm mouse editing Support ~/ in INPUTRC name and $include; $ENV{TRP_INPUTRC} overrides $ENV{INPUTRC}. New functions F_DoMetaVersion; F_DoControlVersion; bound as in Emacs: C-x Esc m and C-x Esc c. 1.0302: C-@ was incorrectly bound to a missing function SetPoint. C-x Esc c @ and C-x Esc c Space are now bound to SetMark, so do this if $inDOS too. Bind C-x @ c and C-x @ m too (as in Emacs).