
    FILE: "/home/joze/src/tclreadline/README"
    LAST MODIFICATION: "Sun Sep 19 22:44:24 1999 (joze)"
    (C) 1998, 1999 by Johannes Zellner, <johannes@zellner.org>
    $Id$
    ---

    tclreadline -- gnu readline for tcl
    Copyright (C) 1999  Johannes Zellner

    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License
    as published by the Free Software Foundation; either version 2
    of the License, or (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.

    <johannes@zellner.org>, http://www.zellner.org/tclreadline/


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.

The usual ./configure; make; make install sequence should do the rest.


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.0.0: (Sep 1999)

	note:
	    - the script completer procs are written.
		  this is `sort of a first usable release'.


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.


tclreadline-0.9.2: (Aug 1999)

    changes:
        - history event `!' expansion on <Tab>
        - 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(<cmd>) 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 <return>.
        - 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 <historyfile>

    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<TAB>" ... 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'.
