Check-in [405bab1b22]
Not logged in
Overview
Comment: Modified Files: Makefile.in configure.in tclreadline.h.in tclreadline.n.in tclreadlineConfig.sh.in tclreadlineInit.tcl.in tclreadlineSetup.tcl.in
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 405bab1b22f04a9749dc2ea6ff803d8c8de45464
User & Date: johannes@zellner.org on 1999-08-25 14:43:15
Other Links: manifest | tags
Context
1999-08-25
15:55
Modified Files: Makefile.in tclreadline.c check-in: 5f4b6d99ea user: johannes@zellner.org tags: trunk
14:43
Modified Files: Makefile.in configure.in tclreadline.h.in tclreadline.n.in tclreadlineConfig.sh.in tclreadlineInit.tcl.in tclreadlineSetup.tcl.in check-in: 405bab1b22 user: johannes@zellner.org tags: trunk
09:13
Modified Files: tclreadlineSetup.tcl.in check-in: d451e5e397 user: johannes@zellner.org tags: trunk
Changes

Modified Makefile.in from [8a2abff6fe] to [0c48681c79].

1
2
3

4
5
6
7
8
9
10
1
2

3
4
5
6
7
8
9
10


-
+







# -*- make -*-
# FILE: "/diska/home/joze/src/tclreadline/Makefile.in"
# LAST MODIFICATION: "Mon Aug 23 17:55:26 1999 (joze)"
# LAST MODIFICATION: "Wed Aug 25 16:41:11 1999 (joze)"
# (C) 1998, 1999 by Johannes Zellner, <johannes@zellner.org>
# $Id$
# ---
#
# tclreadline -- gnu readline for tcl
# Copyright (C) 1999  Johannes Zellner
#
27
28
29
30
31
32
33



34
35
36
37
38
39
40
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43







+
+
+







#
# ================================================================== 


MAJOR_VERSION = @TCLREADLINE_MAJOR_VERSION@
MINOR_VERSION = @TCLREADLINE_MINOR_VERSION@
VERSION       = @TCLREADLINE_VERSION@
# NOTE, that PATCHLEVEL is the complete version string
#
PATCHLEVEL    = $(VERSION).@TCLREADLINE_PATCHLEVEL@

#host         = @host@
#host_cpu     = @host_cpu@
#host_vendor  = @host_vendor@
#host_os      = @host_os@

srcdir        = @srcdir@
265
266
267
268
269
270
271
272
273
274
275




276
277
278
268
269
270
271
272
273
274




275
276
277
278
279
280
281







-
-
-
-
+
+
+
+



ci: $(SOURCES)
	ci -u $(CIFLAGS) $^

co: $(SOURCES)
	co -l $^

distribution: $(SOURCES) configure $(AUXILIARY) tclreadline.n.html
	- mkdir -p dist/tclreadline-$(VERSION)/aux
	- cp $(SOURCES) configure tclreadline.n.html dist/tclreadline-$(VERSION)
	- cp $(AUXILIARY) dist/tclreadline-$(VERSION)/aux
	(cd dist; tar zcvf tclreadline-$(VERSION).tar.gz tclreadline-$(VERSION); rm -rf tclreadline-$(VERSION))
	- mkdir -p dist/tclreadline-$(PATCHLEVEL)/aux
	- cp $(SOURCES) configure tclreadline.n.html dist/tclreadline-$(PATCHLEVEL)
	- cp $(AUXILIARY) dist/tclreadline-$(PATCHLEVEL)/aux
	(cd dist; tar zcvf tclreadline-$(PATCHLEVEL).tar.gz tclreadline-$(PATCHLEVEL); rm -rf tclreadline-$(PATCHLEVEL))


# DO NOT DELETE THIS LINE -- make depend depends on it.

Modified configure.in from [b8c8642910] to [deb9dd7b2c].

1
2
3


4
5
6
7
8
9
10
1


2
3
4
5
6
7
8
9
10

-
-
+
+







# -*- autoconf -*-
# FILE: "/home/joze/src/tclreadline/configure.in"
# LAST MODIFICATION: "Mon Aug 23 21:54:31 1999 (joze)"
# FILE: "/diska/home/joze/src/tclreadline/configure.in"
# LAST MODIFICATION: "Wed Aug 25 16:17:27 1999 (joze)"
# (C) 1998, 1999 by Johannes Zellner, <johannes@zellner.org>
# $Id$
# ---
#
# tclreadline -- gnu readline for tcl
# Copyright (C) 1999  Johannes Zellner
#
33
34
35
36
37
38
39

40
41
42
43
44
45
46
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47







+








AC_REVISION($Revision$)

AC_INIT(tclreadline.c)

TCLREADLINE_MAJOR_VERSION=0
TCLREADLINE_MINOR_VERSION=9
TCLREADLINE_PATCHLEVEL=1
TCLREADLINE_VERSION=$TCLREADLINE_MAJOR_VERSION.$TCLREADLINE_MINOR_VERSION
VERSION=$TCLREADLINE_VERSION


AC_PREREQ(2.13)
AC_CONFIG_AUX_DIR(./aux)
AC_CANONICAL_HOST
331
332
333
334
335
336
337
338

339
340
341
342
343
344
345
332
333
334
335
336
337
338

339
340
341
342
343
344
345
346







-
+








if test -z "$READLINE_LIB_DIR"; then
    AC_MSG_ERROR([
  Can't find libreadline$SHLIB_SUFFIX.
  Use --with-readline-library to specify the directory
  containing libreadline$SHLIB_SUFFIX on your system.])
else
    AC_MSG_RESULT({READLINE_LIB_DIR}/libreadline${SHLIB_SUFFIX}${READLINE_VERSION_SUFFIX})
    AC_MSG_RESULT(${READLINE_LIB_DIR}/libreadline${SHLIB_SUFFIX}${READLINE_VERSION_SUFFIX})
fi



# ---
# check, if curses or termcap is already
# linked with libreadline. (on newer Linux
373
374
375
376
377
378
379
380

381
382
383


384
385
386
387
388
389
390
374
375
376
377
378
379
380

381
382


383
384
385
386
387
388
389
390
391







-
+

-
-
+
+







#--------------------------------------------------------------------
#   Check for appropriate version of gnu readline
#   (older versions of gnu readline don't have
#    rl_callback_read_char ()).
#--------------------------------------------------------------------

save=$LIBS
LIBS="-L$READLINE_LIB_DIR -lreadline"
LIBS="-L$READLINE_LIB_DIR -lreadline $TERM_LIB"
alternate=no
AC_CHECK_LIB(
    readline, rl_callback_read_char, alternate=yes, alternate=no, $TERM_LIB
AC_CHECK_FUNC(
    rl_callback_read_char, alternate=yes, alternate=no
)
if test "$alternate" = "no"; then
    AC_MSG_ERROR(alternate interface not supported by this readline version.)
fi


AC_MSG_CHECKING([for the readline version number])
412
413
414
415
416
417
418

419
420
421
422
423
424
425
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427







+








# TODO: check for readline version
# (link testprogram with -lreadline)

AC_SUBST(TCLREADLINE_MAJOR_VERSION)
AC_SUBST(TCLREADLINE_MINOR_VERSION)
AC_SUBST(TCLREADLINE_VERSION)
AC_SUBST(TCLREADLINE_PATCHLEVEL)

AC_SUBST(TCL_LIB_DIR)
AC_SUBST(TCL_INCLUDE_DIR)
AC_SUBST(READLINE_INCLUDE_DIR)

AC_SUBST(CFLAGS)
AC_SUBST(DL_LIBS)

Modified tclreadline.h.in from [a6316a5a56] to [5ff9fe59ba].

1
2
3
4
5


6
7
8
9
10
11
12
1
2
3


4
5
6
7
8
9
10
11
12



-
-
+
+








 /* ==================================================================
   
    FILE: "/krispc6/home/joze/src/tclreadline/tclreadline.h.in"
    LAST MODIFICATION: "Sat May  8 14:03:02 1999 (joze)"
    FILE: "/diska/home/joze/src/tclreadline/tclreadline.h.in"
    LAST MODIFICATION: "Wed Aug 25 16:25:25 1999 (joze)"
    (C) 1998, 1999 by Johannes Zellner, <johannes@zellner.org>
    $Id$
    ---

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

27
28
29
30
31
32
33







27
28
29
30
31
32
33
34
35
36
37
38
39
40







+
+
+
+
+
+
+
    johannes@zellner.org
    http://www.zellner.org/tclreadline/

    ================================================================== */  

static char *TCLREADLINE_VERSION = "@TCLREADLINE_VERSION@";

/**
 * NOTE, that PATCHLEVEL is the complete version string.
 * (PATCHLEVEL is not really used here).
 */
static char *TCLREADLINE_PATCHLEVEL
    = "@TCLREADLINE_VERSION@.@TCLREADLINE_PATCHLEVEL@";

Modified tclreadline.n.in from [25cdb5647d] to [7d9606e31a].

1

2
3
4
5


6
7
8
9
10
11
12

1
2
3


4
5
6
7
8
9
10
11
12
-
+


-
-
+
+







.TH tclreadline n "@TCLREADLINE_VERSION@" "Johannes Zellner"
.TH tclreadline n "@TCLREADLINE_VERSION@.@TCLREADLINE_PATCHLEVEL@" "Johannes Zellner"

.\" (C) 1999 by Johannes Zellner
.\" FILE: "/home/joze/src/tclreadline/tclreadline.n.in"
.\" LAST MODIFICATION: "Mon Aug 23 22:31:24 1999 (joze)"
.\" FILE: "/diska/home/joze/src/tclreadline/tclreadline.n.in"
.\" LAST MODIFICATION: "Wed Aug 25 16:32:02 1999 (joze)"
.\" (C) 1998, 1999 by Johannes Zellner, <johannes@zellner.org>
.\" $Id$
.\" ---
.\"
.\" tclreadline -- gnu readline for the tcl scripting language
.\" Copyright (C) 1999  Johannes Zellner
.\"
176
177
178
179
180
181
182
183

184
185
186
187
188



189
190
191
192
193
194
195
176
177
178
179
180
181
182

183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198







-
+





+
+
+







turns on or off the default behavior of tclsh to print the result of
every command. This is turned on by default, so it will just behave
as the tclsh w/o tclreadline. Turning off might be useful, when reading
binary data for example. If \fB::tclreadline::Print\fP is called w/o
arguments, it returns the current setting.

.TP 5
\fB::tclreadline::Loop\fP
\fB::tclreadline::Loop\fP [\fIhistoryfile\fP]
enter the tclreadline main loop. This command is typically called from
the startup resource file (something .tclshrc, depending on the interpreter
you use, see the file `sample.tclshrc'). The main loop sets up some
completion characteristics as variable -- try something like "puts $b<TAB>" -- 
and command completion -- try "puts [in<TAB>".
If the optional argument \fIhistoryfile\fP is given, this file will
be used for reading and writing the command history instead of the
default \fB.tclsh-history\fP.
\fB::tclreadline::Loop\fP will normally not return. 
If you want to write your own main loop and/or own custom completers,
it is probably a good idea to start with tclreadline::Loop
(see the file tclreadlineSetup.tcl).

.TP 5
\fB::tclreadline::prompt1\fP
220
221
222
223
224
225
226



227
228










229
230
231
232
233
234
235
223
224
225
226
227
228
229
230
231
232


233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249







+
+
+
-
-
+
+
+
+
+
+
+
+
+
+







.\" .SH "EXAMPLES"


.\" .SH "ENVIRONMENT VARIABLES"

.SH "VARIABLES"

\fItclreadline\fP defines the following variables in the global namespace:

.TP 5
The global variable \fBtclreadline_version\fP holds the version number
of the tclreadline package.
\fBtclreadline_version\fP
holds the version string "@TCLREADLINE_VERSION@".

.TP 5
\fBtclreadline_patchLevel\fP
holds the patch level string "@TCLREADLINE_VERSION@.@TCLREADLINE_PATCHLEVEL@".

.TP 5
\fBtclreadline_library\fP
holds the library string "@TCLREADLINE_LIBRARY@".

.SH "FILES"

the \fB.tclshrc\fP file in the HOME directory, which
is read on tclsh startup. Alternatively, the name of this initialization
file might be \fB.wishrc\fP ... depending on what interpreter you use.
These files should typically contain something like

Modified tclreadlineConfig.sh.in from [b0b13d39ee] to [59c0d36366].

1
2
3


4
5
6
7
8
9
10
1


2
3
4
5
6
7
8
9
10

-
-
+
+







#!/bin/sh
# FILE: "/krispc6/home/joze/src/tclreadline/tclreadlineConfig.sh.in"
# LAST MODIFICATION: "Sat May  8 14:03:17 1999 (joze)"
# FILE: "/diska/home/joze/src/tclreadline/tclreadlineConfig.sh.in"
# LAST MODIFICATION: "Wed Aug 25 16:23:10 1999 (joze)"
# (C) 1998, 1999 by Johannes Zellner, <johannes@zellner.org>
# $Id$
# ---
#
# tclreadline -- gnu readline for tcl
# Copyright (C) 1999  Johannes Zellner
#
38
39
40
41
42
43
44


45
46
47
48
49
50
51
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53







+
+







#
# The information in this file is specific to a single platform.

# tclreadline's version number.
TCLREADLINE_VERSION='@TCLREADLINE_VERSION@'
TCLREADLINE_MAJOR_VERSION='@TCLREADLINE_MAJOR_VERSION@'
TCLREADLINE_MINOR_VERSION='@TCLREADLINE_MINOR_VERSION@'
# there's no leading dot here as in tclConfig.sh!
TCLREADLINE_PATCHLEVEL='@TCLREADLINE_PATCHLEVEL@'

# The name of the tclreadline library
# (may be either a .a file or a shared library):
TCLREADLINE_LIB_FILE=@TCLREADLINE_LIB_FILE@

# String to pass to linker to pick up the tclreadline library from its
# build directory.

Modified tclreadlineInit.tcl.in from [5477ab3f3e] to [7b078b76d4].

1
2
3

4
5
6
7
8
9
10
1
2

3
4
5
6
7
8
9
10


-
+







#!/usr/local/bin/tclsh
# FILE: "/diska/home/joze/src/tclreadline/tclreadlineInit.tcl.in"
# LAST MODIFICATION: "Fri Aug 20 15:37:08 1999 (joze)"
# LAST MODIFICATION: "Wed Aug 25 16:27:19 1999 (joze)"
# (C) 1998, 1999 by Johannes Zellner, <johannes@zellner.org>
# $Id$
# ---
#
# tclreadline -- gnu readline for tcl
# Copyright (C) 1999  Johannes Zellner
#
33
34
35
36
37
38
39

40
41
42



43
44
45
46
47
48
49
50
51
52
53
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57







+



+
+
+











    namespace export Init
}

proc ::tclreadline::Init {} {
    
    global tclreadline_version
    global tclreadline_library
    global tclreadline_patchLevel
    
    set tclreadline_version @TCLREADLINE_VERSION@
    set tclreadline_library @TCLREADLINE_LIBRARY@
    # NOTE, that tclreadline_patchLevel is the complete patchlevel string.
    #
    set tclreadline_patchLevel @TCLREADLINE_VERSION@.@TCLREADLINE_PATCHLEVEL@

    if [catch {load @TCLREADLINE_LIBRARY@/@TCLREADLINE_LIB_FILE@} msg] {
        puts stderr $msg
        exit 2
    }
}

tclreadline::Init

source [file join [file dirname [info script]] tclreadlineSetup.tcl]

Modified tclreadlineSetup.tcl.in from [d37da43a66] to [efbc741fe2].

1
2
3

4
5
6
7
8
9
10
1
2

3
4
5
6
7
8
9
10


-
+







#!/usr/local/bin/tclsh
# FILE: "/diska/home/joze/src/tclreadline/tclreadlineSetup.tcl.in"
# LAST MODIFICATION: "Wed Aug 25 11:12:19 1999 (joze)"
# LAST MODIFICATION: "Wed Aug 25 14:49:37 1999 (joze)"
# (C) 1998, 1999 by Johannes Zellner, <johannes@zellner.org>
# $Id$
# ---
#
# tclreadline -- gnu readline for tcl
# Copyright (C) 1999  Johannes Zellner
#
320
321
322
323
324
325
326
327

328
329
330
331
332
333
334
320
321
322
323
324
325
326

327
328
329
330
331
332
333
334







-
+







    if {[exec uname -s] == "Linux"} {
        eval exec ls --color -FC [::tclreadline::Glob $args]
    } else {
        eval exec ls -FC [::tclreadline::Glob $args]
    }
}

proc ::tclreadline::Setup {} {
proc ::tclreadline::Setup {args} {

    uplevel #0 {

        if {[info commands ::tclreadline::readline] == ""} {
            ::tclreadline::Init
        }
        tclreadline::readline customcompleter tclreadline::ScriptCompleter
388
389
390
391
392
393
394









395
396
397
398
399

400
401
402
403
404
405
406
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416







+
+
+
+
+
+
+
+
+





+







        }

    }

    global env
    variable historyfile

    if {[string trim [llength ${args}]]} {
        set historyfile ""
        catch {
            set historyfile [file nativename [lindex ${args} 0]]
        }
        if {"" == [string trim $historyfile]} {
            set historyfile [lindex ${args} 0]
        }
    } else {
    if [info exists env(HOME)] {
        set historyfile  $env(HOME)/.tclsh-history
    } else {
        set historyfile  .tclsh-history
    }
    }
    set msg [::tclreadline::readline initialize $historyfile]
    if {$msg != ""} {
        puts stderr "$msg"
    }

    ::tclreadline::InitCmds

426
427
428
429
430
431
432
433

434
435

436
437
438
439
440
441
442
436
437
438
439
440
441
442

443
444

445
446
447
448
449
450
451
452







-
+

-
+







    # return $commandstring
    # Christian Krone <krischan@sql.de> proposed
    return [eval concat $commandstring]
}



proc ::tclreadline::Loop {} {
proc ::tclreadline::Loop {args} {

    ::tclreadline::Setup
    eval ::tclreadline::Setup ${args}

    uplevel #0 {

        while {1} {

            if [info exists tcl_prompt2] {
                set ::tclreadline::prompt2 $tcl_prompt2