FILE: "/home/joze/src/tclreadline/README" LAST MODIFICATION: "Mit, 10 Jan 2001 06:29:33 +0100 (joze)" (C) 1998 - 2001 by Johannes Zellner, $Id$ --- tclreadline -- gnu readline for tcl http://www.zellner.org/tclreadline/ Copyright (c) 1998 - 2001, Johannes Zellner This software is copyright under the BSD license. tclreadline 1. Introduction --------------- This directory contains the sources and documentation for tclreadline, which builds a connection between tcl and the gnu readline. The information here corresponds to release 0.9. 2. Documentation ---------------- The tclreadline.n nroff man page in this release contains the reference manual entries for tclreadline. If you only want to use tclreadline as a tool for interactive script development, you don't have to read this manual page at all. Simply change your .tclshrc according to the section 4. 3. Compiling and installing tclreadline --------------------------------------- This release will probably only build under UNIX (Linux). Before trying to compile tclreadline you should do the following things: (a) Make sure you have tcl 8.0 or higher. I've tested tclreadline with tcl 8.0.3, 8.0.4, 8.0.5, 8.1.0, 8.1.1 and 8.2.0. tclreadline relies on a proper tcl installation: It uses the tclConfig.sh file, which should reside somewhere in /usr/local/lib/ or /usr/local/lib/tcl8.0/... (b) Make sure you have gnu readline 2.2 or higher. tclreadline uses the gnu readline callback handler, which wasn't implemented in early releases. (c) The usual ./configure; make; make install sequence should do the rest. (d) Optionally (or additionally) you can build the executables tclshrl and / or wishrl which are a readline enhanced replacement for tclsh and wish. To compile these executable you should type ./configure --enable-tclshrl --enable-wishrl (or one of these if you want just tclshrl or wishrl). NOTE that these executables need an installed version of tclreadline because they need some script files to run so you can't test tclshrl/wishrl before installing the tclreadline scripts. Building statically linked executables is DISCOURAGED but necessary on systems which don't support shared libs. 4. Using tclreadline for interactive tcl scripting. --------------------------------------------------- copy the sample.tclshrc to $HOME/.tclshrc. If you use another interpreter like wish, you should copy the file sample.tclshrc to $HOME/.wishrc (or whatever the manual page of your interpreter says.) If you have installed tclreadline properly, you are just ready to start: start your favorite interpreter. The tclreadlineSetup.tcl script does the rest. 4. History and Changes. ----------------------- tclreadline-1.2 0: (Mar 2000) switched to a BSD type license, introduced a new read-only variable `license' in the tclreadline namespace. tclreadline-1.1 0: (Mar 2000) code cleanup and checked that it compiles with tcl8.3 tclreadline-1.0.1: (Sep 1999) changes: - tclreadline::readline bell. Ring the terminal bell, obeying the setting of bell-style -- audible or visible. tclreadline-1.0.0: (Sep 1999) note: - the script completer procs are written. this is `sort of a first usable release'. fixes: - some minor configure.in fixes. tclreadline-0.9.3: (Sep 1999) changes: - tk completion. - multiple fallback completion routines for unknown commands. - readline reset-terminal sub-function. fixes: - another revision of procession events and macros. includes a hack using a readline's internal variable _rl_executing_macro. tclreadline-0.9.2: (Aug 1999) changes: - history event `!' expansion on - if tclreadline::historyLength >= 0, tclreadline::write will truncate the historyfile to this value. By default tclreadline::historyfile == -1, that is no truncation occurs. - ScriptCompleter largely extended. calls tclreadline::complete() functions. - tclreadline::complete(tclreadline_complete_unknown) - some basic tk completion. - convenience routines as Menu, CompleteFromList, AttemptFromList - returning an empty {} will inhibit further builtin filename completion. fixes: - after having at least one character typed, X events were not processed any more until pressing . - catching `tclreadline::readline read' errors in tclreadline::Loop. This was necessary, because the evaluation of the script completer can return an error. tclreadline-0.9.1: (Aug 1999) changes: - new variable tclreadline_patchLevel - tclreadline::Loop takes an optional fixes: - tying to fix configure problems. tclreadline-0.9: (Aug 1999) changes: - tclreadline::readline customcompleter - tclreadline::readline builtincompleter - tclreadline::readline eofchar - variable, array and '[' command completion by the script tclreadline::ScriptCompleter. See the man page or try typing "puts $env" ... Command completion currently only works, if a '[' preceeds immediately a non-white character. - the redefinition of the command `cd' was removed due to multiple requests. This redefinition can be found in the file `sample.tclshrc' and can be uncommented, if desired. - the definition of the command `ls' was moved outside the proc tclreadline::Setup and can be used with the command namespace import tclreadline::ls (see sample.tclshrc). bug fixes: - lines added to tcl's history. (were only in readline's hist.) - macro mappings didn't work. (only when hitting mapped characters more than once.) - various changes and fixes in configure.in tclreadline-0.8: (May 1999) - adapted for tcl8.1. - minor bug fixes. tclreadline-0.7: (Feb 1999) first `public release'.