$Id: README,v 1.14 1999-04-04 13:26:30+09 hayashi Exp $
Term::ReadLine::Gnu --- GNU Readline Library Wrapper Module
Copyright (c) 1996-1999 Hiroo Hayashi. All rights reserved.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
Description:
This is an implementation of the interface to the GNU Readline
Library. This module gives you input line editing facility,
input history management facility, word completion facility,
etc. It uses the real GNU Readline Library. And this module
has the interface with the almost all variables and functions
which are documented in the GNU Readline/History Library. So
you can program your custom editing function, your custom
completion function, and so on with Perl. This may be useful
for prototyping before programming with C.
Ilya Zakharevich distributes his implementation, which bases
on Jeffrey Friedl's readline.pl. His module works very well,
and is easy to install because it is written by only Perl. I
am trying to make my module compatible with his. He gives
useful advises for me.
Unfortunately readline.pl simulates old GNU Readline library.
For example, it is not 8 bit clean and it warns to the
variables in ~/.inputrc which it does not know yet. We
Japanese usually use 8 bit characters, so this is bad feature
for me. And I had interest with C interface facility and
dynamic loading facility of Perl, so I thought it was a good
chance for me to study them. I made this module instead of
fixing his module.
Prerequisites:
You must have GNU Readline Library Version 2.1 or later. See
INSTALL for more detail.
How to build/install:
See INSTALL.
Bugs:
The GNU Readline Library is very stable. But this is my first
XS programming, my first Perl module programming, and my first
object oriented programming, and... There must be many bugs
in both programs and documents (especially in English
grammar). Comments and bug reports are very welcome.
Author:
Hiroo Hayashi <
[email protected]>
Revision History:
1.05 1999-04-04
- bug fix
Term::ReadLine::Perl compatibility variable
`completion_function' and function `rl_filename_list' are
now compatible with Term::ReadLine::Perl. Completion code
written for Term::ReadLine::Perl, e.g. perl5db.pl, works
with this module.
search text of list_completion is quoted
- add support of new variables and functions introduced by GNU
Readline Library Version 4.0
new variable
rl_erase_empty_line
rl_catch_signals
rl_catch_sigwinch
rl_pre_input_hook
completion_display_matches_hook
history_inhibit_expansion_function
new function
rl_display_match_list()
rl_cleanup_after_signal()
rl_free_line_state()
rl_reset_after_signal()
rl_resize_terminal()
rl_set_signals()
rl_clear_signals()
- add support of variables and function which were not supported
yet
filename_quoting_function
filename_dequoting_function
char_is_quoted_p
ignore_some_completions_function
directory_completion_hook
rl_get_all_function_names()
- add support of functions which are specific to Term::ReadLine::Gnu
display_readline_version()
change_ornaments()
shadow_redisplay()
- rename some functions for the orthogonality
rl_unbind_function_in_map to rl_unbind_function
rl_unbind_command_in_map to rl_unbind_command
- `make test' is executed non-interactively and comprehensively
- sample code improvement
eg/perlsh
Perl symbol completion was rewritten and much more
improved.
SIGINT clears the current line
add support \w (current working package) in the prompt
string
add support `afterinit' hook as Perl debugger.
eg/pftp
password input is now invisible.
displaying of completion candidates are improved by using
completion_display_matches_hook.
- internal changes
Perl code for Term::ReadLine::Gnu::XS package are moved
into separate file Gnu/XS.pm and `AutoSplit'ed.
replace operate_and_get_next() to one borrowed from bash.
1.04 1999-02-23
- fix a bug by which $if-$endif feature in ~/.inputrc was
disabled.
- works with GNU Readline Library version 4.0 in which some
function names were changed. New functions, that are
introduced in the new library, were not supported in this
release.
1.03 1998-09-27
- fix a bug when prompt string includes non-printing
characters and an input line is longer than terminal width.
Constants, RL_PROMPT_START_IGNORE and RL_PROMPT_END_IGNORE,
are incorporated from the GNU Readline Library to support
this feature.
- now works on a system which does not have /etc/termcap and
has termcap compatible library, libncurses or libcurses.
1.02 1998-08-14
- fix a bug in Makefile.PL, which quoted a variable, $increadlinedir,
with a pair of single quotes
- this is an internal revision
1.01 1998-05-13
- support readline-2.2
add rl_unbind_function_in_map() and rl_unbind_command_in_map()
Makefile.PL checks the version of the GNU Readline Library
- define rl_save_prompt() and rl_restore_prompt()
- document fix
'Changes' file is removed. It is merged into README file.
fix a bug in a sample program of rl_completion_entry_function
1.00 1998-04-15
- the 1st major release
- ornaments feature is now on by default as recent
Term::ReadLine and Term::ReadLine::Perl
- document fix
remove description related to mymalloc
- add ornaments-change function to t/readline.t which
demonstrates rl_message().
0.10 1998-03-31
- new functions/variables
ornaments support
newTTY() (not tested)
max_input_history
read_history() (an aliase of read_history_range())
unstifle_history()
history_search_pos()
history_list()
history_tokenize() (Thank you, Tim Thomas)
history_arg_extract()
get_history_event()
- new sample/test programs
eg/fileman
t/history.t
- bug fix
dynamic loading works on Solaris2.x (define xfree() locally)
readline() calls add_history() only when MinLength > 0
Feature `addhistory' is renamed to `addHistory' since
Term/ReadLine.pm is fixed.
add NULL check for all sv_setpv()
remove arguments 'pos' from history_search()
- misc
change my E-mail address
0.09 Mon Aug 25 00:33:29 1997
- add documentation about readline-2.1.tar.gz
- add documentation about Solaris 2.5 with dynamic loading
- bug fix
fix for Digital Unix C compiler
- add two sample programs
eg/pftp An ftp client with the GNU Readline support
eg/ptksh+ Simple perl/Tk shell which demonstrates
the callback functions
0.08 Sun Apr 13 23:24:52 1997
- bug fix: AddHistory() accepts list again.
- move perlsh into eg/.
- add eg/ptksh+ which demonstrates the callback functions.
Thank you Achim.
- add eg/pftp: an ftp client which has much the GNU Readline support.
- Author's Email address is changed.
- internal functions, fetch_var() and store_var(), are removed.
0.07 Wed Mar 19 02:26:06 1997
- interface to internal function and variables are changed.
New interface is compatible with new Term::ReadLine.pm which
is distributed with Perl 5.003_92 and later. But it is not
compatible with previous release.
- add method interface to all internal function
- add Attribs method to access internal variables
- EXPORT_OK contains only some constant definitions
- tkRunning support (new ReadLine.pm is required)
- add document
- bug fixes
- XS bugs correspond to callback interface
- fix _rl_store_function() and _rl_fetch_function()
- fix prototype of append_history
- use new _rl_store_rl_line_buffer() instead of
reallocate rl_line_buffer.
- etc.
0.06 Wed Feb 5 01:26:27 1997
- the first revision on CPAN
- support for non ANSI C compiler
- rename addhistory to AddHistory
- checked by gcc -Wall
- fix void_arg_func_wrapper()
- add hook for rl_startup_hook in readline()
- update documents
0.05 Sat Jan 25 00:06:56 1997
- Fix for Perl 5.002 and 5.003
escape from an strange Exporter's behavior
remove white spaces in prototype
add argument explicitly
0.04 Thu Jan 23 00:25:45 1997
- This revision supports readline-2.1 or later. readline-2.0
is not supported.
- implement almost all GNU Readline/History Library variables
and functions
- use filehandle directly to access rl_instream and rl_outstream
- define operate_and_get_next and bind to "\C-o" by default
0.03 Sun Nov 24 23:34:27 1996
- OS/2 support by Ilya Zakharevich <
[email protected]>
- implement $rl_completer_word_break_characters
- define HAVE_STRING_H by checking $Config{strings}
- remove verbose prototypes on methods
0.02 Thu Nov 21 00:22:11 1996
- fix to install on
SunOS 4.1.3, Solaris 2.3, AIX 4.1.3
0.01 Wed Nov 20 01:14:09 1996
- The 1st alpha release revision (tested on Linux 1.2.13)