Artifact Content
Not logged in

Artifact a59b6fbfd8fc840ff5afd287bdc1ef8db5e73f40:



    FILE: "/home/joze/src/tclreadline/README"
    LAST MODIFICATION: "Thu, 23 Mar 2000 21:16:15 +0100 (joze)"
    (C) 1998 - 2000 by Johannes Zellner, <johannes@zellner.org>
    $Id$
    ---

    tclreadline -- gnu readline for tcl
    Copyright (C) 1998 - 2000 by 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.

    (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
            make tclshrl
        or
            make wishrl
        or
            make shells
        the latter will compile both shells. To install these shells
        you should type
            make install-tclshrl
        or
            make install-wishrl
        or
            make install-shells
        Building these 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.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 <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'.