Index: Makefile.in ================================================================== --- Makefile.in +++ Makefile.in @@ -1,8 +1,8 @@ # -*- make -*- -# FILE: "/home/joze/src/tclreadline/Makefile.in" -# LAST MODIFICATION: "Sat Aug 21 00:21:27 1999 (joze)" +# FILE: "/diska/home/joze/src/tclreadline/Makefile.in" +# LAST MODIFICATION: "Mon Aug 23 17:10:16 1999 (joze)" # (C) 1998, 1999 by Johannes Zellner, # $Id$ # --- # # tclreadline -- gnu readline for tcl @@ -136,11 +136,11 @@ TCL_INCLUDE_DIR = @TCL_INCLUDE_DIR@ READLINE_INCLUDE_DIR = @READLINE_INCLUDE_DIR@ TCLREADLINE_LIB_FILE = @TCLREADLINE_LIB_FILE@ READLINE_LIB = -L@READLINE_LIB_DIR@ -lreadline -TERMCAP_LIB = -L@TERMCAP_LIB_DIR@ -l@TERMCAP_LIB@ +TERM_LIB = @TERM_LIB@ #---------------------------------------------------------------- # The information below should be usable as is. The configure # script won't modify it and you shouldn't need to modify it # either. @@ -191,11 +191,11 @@ all: $(TCLREADLINE_LIB_FILE) @TCLREADLINE_LIB_FILE@: ${OBJS} rm -f $(TCLREADLINE_LIB_FILE) - @MAKE_LIB@ $(TERMCAP_LIB) $(READLINE_LIB) + @MAKE_LIB@ $(TERM_LIB) $(READLINE_LIB) $(RANLIB) $(TCLREADLINE_LIB_FILE) install: install-binaries install-libraries install-man install-man: $(MANN_INSTALL_DIR)/$(MAN) @@ -231,11 +231,11 @@ rm -f *.a *.o core errs *~ \#* tags* *.E a.out errors so_locations distclean: clean rm -f \ Makefile *.so *.sl pkgIndex.tcl tclreadlineInit.tcl \ - tclreadlineSetup.tcl\ + tclreadlineSetup.tcl tclreadline.h tclreadline.n \ tclreadlineConfig.sh config.status config.log config.cache depend: makedepend -- $(CC_SWITCHES) -- $(CSRCS) Index: README ================================================================== --- README +++ README @@ -1,8 +1,8 @@ - FILE: "/home/joze/src/tclreadline/README" - LAST MODIFICATION: "Mon Aug 23 00:21:24 1999 (joze)" + FILE: "/diska/home/joze/src/tclreadline/README" + LAST MODIFICATION: "Mon Aug 23 17:46:01 1999 (joze)" (C) 1998, 1999 by Johannes Zellner, $Id$ --- tclreadline -- gnu readline for tcl @@ -49,12 +49,12 @@ 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 and 8.0.4. tclreadline relies on a proper tcl - installation: + 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 @@ -96,13 +96,13 @@ 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.) - - minor fixes in configure.in + - various changes and fixes in configure.in tclreadline-0.8: (May 1999) - adapted for tcl8.1. - minor bug fixes. tclreadline-0.7: (Mar 1999) first `public release'. Index: configure.in ================================================================== --- configure.in +++ configure.in @@ -1,8 +1,8 @@ # -*- autoconf -*- # FILE: "/diska/home/joze/src/tclreadline/configure.in" -# LAST MODIFICATION: "Mon Aug 23 10:59:40 1999 (joze)" +# LAST MODIFICATION: "Mon Aug 23 16:45:33 1999 (joze)" # (C) 1998, 1999 by Johannes Zellner, # $Id$ # --- # # tclreadline -- gnu readline for tcl @@ -337,82 +337,55 @@ else AC_MSG_RESULT({READLINE_LIB_DIR}/libreadline${SHLIB_SUFFIX}${READLINE_VERSION_SUFFIX}) fi - -#-------------------------------------------------------------------- -# Specify termlib or curses library -#-------------------------------------------------------------------- - -opt_curses=no -AC_ARG_WITH(curses, -[ --with-curses force using the curses library instead of termcap], -opt_curses=$withval) - -if test "$opt_curses" = "yes"; then - TERMCAP_CHECK="curses ncurses" -else - TERMCAP_CHECK="termcap curses ncurses" -fi - - -#-------------------------------------------------------------------- -# Check for termlib / curses / ncurses library. -#-------------------------------------------------------------------- - -AC_ARG_WITH(termcap-library, - [ --with-termcap-library=DIR - search termcap (or curses / ncurses) library in DIR], - termcap_lib=$withval, termcap_lib=$exec_prefix/lib) - -tcheck_path="$termcap_lib $TCLREADLINE_LPATH $prefix/lib" -for tcheck in $TERMCAP_CHECK; do - AC_MSG_CHECKING([whether we use lib$tcheck$SHLIB_SUFFIX]) - TERMCAP_LIB_DIR="" - for dir in $tcheck_path; do - if test -r $dir/lib$tcheck$SHLIB_SUFFIX; then - TERMCAP_LIB_DIR=$dir - break - fi - done - - if test -z "$TERMCAP_LIB_DIR"; then - AC_MSG_RESULT(no) - else - TERMCAP_LIB=$tcheck - TERMCAP_LOAD_PATH=${TERMCAP_LIB_DIR}/lib${tcheck}${SHLIB_SUFFIX} - AC_MSG_RESULT(yes: $TERMCAP_LOAD_PATH) - break - fi -done - -if test -z "$TERMCAP_LIB_DIR"; then - AC_MSG_ERROR([ - None of "$TERMCAP_CHECK" found in: - $tcheck_path - Use --with-termcap-library to specify the directory containing - lib$TERMCAP_LIB$SHLIB_SUFFIX on your system.]) -fi - - #-------------------------------------------------------------------- # 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 -L$TERMCAP_LIB_DIR -l$TERMCAP_LIB" +LIBS="-L$READLINE_LIB_DIR -lreadline" alternate=no -AC_CHECK_LIB(readline, rl_callback_read_char, alternate=yes, alternate=no, -l$TERMCAP_LIB) -if test $alternate = "no"; then +AC_CHECK_LIB(readline, 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 + +# --- +# check, if curses or termcap is already +# linked with libreadline. (on newer Linux +# systems it is.) +# --- + +AC_CHECK_LIB(readline, tputs, termcaps=yes, termcaps=no) +if test "$termcaps" = "no"; then + + # --- + # nope. tputs() is unresolved in libreadline, so + # check if we want libcurses or libtermcap. + # --- + + AC_ARG_WITH( + termcap, + [ --with-termcap use termcap library instead of curses.], + TERM_LIB="termcap", + TERM_LIB="curses" + ) + AC_CHECK_LIB($TERM_LIB, tputs, tputs_ok=yes, tputs_ok=no) + if test "$tputs_ok" = "no"; then + AC_MSG_ERROR(tputs() not found in lib$TERM_LIB.) + else + TERM_LIB=-l$TERM_LIB + fi +fi +# =========================================== + AC_MSG_CHECKING([for the readline version number]) AC_TRY_RUN([ #include int main () { FILE *fp = fopen ("conftestversion", "w"); @@ -456,12 +429,11 @@ AC_SUBST(SHLIB_LD) AC_SUBST(SHLIB_LD_LIBS) AC_SUBST(SHLIB_SUFFIX) -AC_SUBST(TERMCAP_LIB_DIR) -AC_SUBST(TERMCAP_LIB) +AC_SUBST(TERM_LIB) AC_SUBST(READLINE_LIB_DIR) AC_SUBST(TCLREADLINE_LIB_FILE) AC_SUBST(TCLREADLINE_BUILD_LIB_SPEC) AC_SUBST(TCLREADLINE_LIB_SPEC) Index: sample.tclshrc ================================================================== --- sample.tclshrc +++ sample.tclshrc @@ -1,8 +1,8 @@ #!/bin/sh -# FILE: "/home/joze/src/tclreadline/sample.tclshrc" -# LAST MODIFICATION: "Mon Aug 23 00:55:51 1999 (joze)" +# FILE: "/diska/home/joze/src/tclreadline/sample.tclshrc" +# LAST MODIFICATION: "Mon Aug 23 17:50:54 1999 (joze)" # (C) 1999 by Johannes Zellner, # $Id$ # vim:set ft=tcl: \ exec tclsh "$0" "$@" @@ -27,25 +27,26 @@ # } # uncomment the following line to use # tclreadline's fancy ls proc. # - # namespace import ::tclreadline::ls + # namespace import tclreadline::ls # tclreadline::Print is on (`yes') by default. # This mimics the command echoing like in the # non-readline interactive tclsh. # If you don't like this, uncomment the following # line. # - # ::tclreadline::Print no + # tclreadline::Print no # uncomment the folling line, if you want # to change tclreadline's print behaviour # frequently with less typing. # - # namespace import ::tclreadline::Print + # namespace import tclreadline::Print # go to tclrealdine's main loop. - ::tclreadline::Loop + # + tclreadline::Loop } Index: tclreadlineSetup.tcl.in ================================================================== --- tclreadlineSetup.tcl.in +++ tclreadlineSetup.tcl.in @@ -1,8 +1,8 @@ #!/usr/local/bin/tclsh -# FILE: "/home/joze/src/tclreadline/tclreadlineSetup.tcl.in" -# LAST MODIFICATION: "Mon Aug 23 00:54:01 1999 (joze)" +# FILE: "/diska/home/joze/src/tclreadline/tclreadlineSetup.tcl.in" +# LAST MODIFICATION: "Mon Aug 23 17:34:09 1999 (joze)" # (C) 1998, 1999 by Johannes Zellner, # $Id$ # --- # # tclreadline -- gnu readline for tcl @@ -133,11 +133,11 @@ } return -code error "invalid command name \"$name\"" } namespace eval tclreadline:: { - namespace export Setup Glob Loop InitCmds InitTclCmds InitTkCmds Print + namespace export Setup Glob Loop InitCmds InitTclCmds InitTkCmds Print ls } # get the longest common completion # e.g. str == {tcl_version tclreadline_version tclreadline_library} # --> [tclreadline::GetCommon ${str}] == "tcl"