$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)