-- Indented-text --
$Id: README,v 1.30 2010/05/02 10:38:53 hiroo Exp $
Term::ReadLine::Gnu --- GNU Readline Library Wrapper Module
Copyright (c) 2010 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.
Term::ReadLine::Gnu (TRG) 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 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. TRG may be useful for a C programmer to prototype
a program which uses the GNU Readline Library.
TRG is upper compatible with Term::ReadLine included in Perl
distribution. Term::ReadLine uses TRG automatically when TRG
is available. You can enjoy full line editing feature with
Perl debugger which use Term::ReadLine with no patch.
Ilya Zakharevich distributes his implementation,
Term::ReadLine::Perl, 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 simulated old GNU Readline
library before TRG was born. For example, it was not 8 bit
clean and it warns to the variables in ~/.inputrc which it did
not know yet. We Japanese usually use 8 bit characters, so
this was bad feature for me. I could make a patch for these
problems but 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. Then I made this module instead
of fixing his module.
You must have Perl 5.7 or later. If you have to use old Perl for some reason, use Term::ReadLine::Gnu 1.09. (I recommend you to use newer Perl.)
You must have GNU Readline Library Version 2.1 or later. See
INSTALL for more detail.
A report said GNU Readline Library might not work with perl with
sfio. Since I do not have sfio library, I am not sure.
How to build/install:
See INSTALL.
There may be many bugs in both programs and documents (especially in English grammar). Comments and bug reports are very welcome.
Hiroo Hayashi <hiroo.hayashi@computer.org>
Revision History:
1.20 2010-05-02
rl_free_keymap (disabled due to readline-6.1 bug) new variable
rl_filename_rewrite_hook (not supported yet)
1.19 2009-03-21
add description of the -DPERL_USE_SAFE_PUTENV issue. If you encounter a segmentation fault, read it.
1.18 2009-02-27
rl_save_state (not supported yet) rl_restore_state (not supported yet) rl_echo_signal_char new variable
rl_display_prompt rl_sort_completion_matches rl_completion_invoking_key t/history.t does not fail by hist_expand() which is fixed on readline-6.0
1.17 2008-02-07
1.16 2006-04-02
variable_value reset_screen_size new variable
prefer_env_winsize
1.15 2004-10-17
bind_key_if_unbound bind_keyseq bind_keyseq_if_unbound tty_unset_default_bindings add_history_time history_get_time new variable
history_write_timestamps completion_quote_character completion_suppress_quote completion_found_quote completion_word_break_hook
1.14 2003-03-16
1.13 2002-07-27
rl_completion_suppress_append rl_completion_mark_symlink_dirs new functions
rl_replace_line() rl_completion_mode()
1.12 2002-03-30
1.11 2001-10-27
rl_readline_version new function
rl_get_termcap
1.10 2001-04-22
rl_attemped_completion_over rl_completion_type rl_deprep_term_function rl_directory_rewrite_hook rl_dispatching rl_editing_mode rl_executing_macro rl_explicit_arg rl_gnu_readline_p rl_num_char_to_read rl_numeric_arg rl_prep_term_function rl_readline_state history_word_delimiters new functions
rl_add_funmap_entry rl_alphabetic rl_clear_pending_input rl_crlf rl_deprep_terminal rl_execute_next rl_expand_prompt rl_get_screen_size rl_macro_bind rl_macro_dumper rl_prep_terminal rl_push_macro_input rl_set_keyboard_input_timeout rl_set_paren_blink_timeout(usec) rl_set_prompt rl_set_screen_size rl_setkey rl_show_char rl_tty_set_default_bindings rl_tty_set_default_bindings rl_variable_bind rl_variable_dumper rename functions
free_undo_list() -> rl_free_undo_list() ding() -> rl_ding() completion_matches() -> rl_completion_matches() filename_completion_function -> rl_filename_completion_function() username_completion_function -> rl_username_completion_function() max_input_history -> history_max_entries
1.09 2000-04-04
1.08 1999-12-30
1.07 1999-07-19
1.06 1999-05-05
1.05 1999-04-04
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
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()
filename_quoting_function filename_dequoting_function char_is_quoted_p ignore_some_completions_function directory_completion_hook
rl_get_all_function_names()
display_readline_version() change_ornaments() shadow_redisplay()
rl_unbind_function_in_map to rl_unbind_function rl_unbind_command_in_map to rl_unbind_command
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
1.03 1998-09-27
1.02 1998-08-14
1.01 1998-05-13
add rl_unbind_function_in_map() and rl_unbind_command_in_map() Makefile.PL checks the version of the GNU Readline Library
'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
remove description related to mymalloc
0.10 1998-03-31
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()
eg/fileman t/history.t
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()
change my E-mail address
0.09 Mon Aug 25 00:33:29 1997
fix for Digital Unix C compiler
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
0.07 Wed Mar 19 02:26:06 1997
0.06 Wed Feb 5 01:26:27 1997
0.05 Sat Jan 25 00:06:56 1997
escape from an strange Exporter's behavior remove white spaces in prototype add argument explicitly
0.04 Thu Jan 23 00:25:45 1997
0.03 Sun Nov 24 23:34:27 1996
0.02 Thu Nov 21 00:22:11 1996
SunOS 4.1.3, Solaris 2.3, AIX 4.1.3
0.01 Wed Nov 20 01:14:09 1996