Updated doc.
authorAdam Dickmeiss <adam@indexdata.dk>
Fri, 16 Jan 1998 09:24:17 +0000 (09:24 +0000)
committerAdam Dickmeiss <adam@indexdata.dk>
Fri, 16 Jan 1998 09:24:17 +0000 (09:24 +0000)
Makefile.in
configure
configure.in
doc/Makefile
doc/ir-tcl.sgml

index 39ca9d1..3a2dd70 100644 (file)
@@ -2,7 +2,7 @@
 # (c) Index Data 1995-1996
 # See the file LICENSE for details.
 # Sebastian Hammer, Adam Dickmeiss
-# $Id: Makefile.in,v 1.44 1997-11-24 11:36:33 adam Exp $
+# $Id: Makefile.in,v 1.45 1998-01-16 09:24:17 adam Exp $
 SHELL=/bin/sh
 
 # IrTcl Version
@@ -62,7 +62,7 @@ RANLIB = @RANLIB@
 
 O=ir-tcl.o marc.o queue.o mem.o grs.o explain.o select.o
 
-all: ir-tcl ir-tk
+all: @ALL_SPEC@
 
 ir-tk: libirtcl.a tkmain.o
        $(CC) $(CFLAGS) tkmain.o -o ir-tk libirtcl.a $(YAZLIB) $(TKLIB) 
@@ -108,7 +108,7 @@ install.man:
                done; \
        fi
 
-install: ir-tcl
+install: @ALL_SPEC@
        @for d in $(IRTCLDIR) $(IRTCLDIR)/formats $(IRTCLDIR)/bitmaps; do \
                if [ ! -d $$d ]; then \
                        echo Making $$d; \
@@ -116,8 +116,14 @@ install: ir-tcl
                        chmod 755 $$d; \
                fi; \
        done;
-       @echo "Installing ir-tcl"
-       @$(INSTALL_PROGRAM) ir-tcl $(BINDIR)
+       @if [ -f ir-tcl ]; then \
+               echo "Installing ir-tcl"; \
+               $(INSTALL_PROGRAM) ir-tcl $(BINDIR); \
+       fi
+       @if [ -f @SHLIB_IRTCL@ ]; then \
+               echo "Installing @SHLIB_IRTCL@"; \
+               $(INSTALL_PROGRAM) @SHLIB_IRTCL@ $(IRTCLDIR); \
+       fi
        @echo "Installing libirtcl.a"
        @$(INSTALL_DATA) libirtcl.a $(LIBDIR)
        @echo "Installing ir-tcl.h"
@@ -125,43 +131,43 @@ install: ir-tcl
        @if [ -f ir-tk ]; then \
                echo "Installing ir-tk"; \
                $(INSTALL_PROGRAM) ir-tk $(BINDIR); \
-               echo "Installing irclient"; \
-               echo "#! $(BINDIR)/ir-tk -f" >head.bak; \
-               cat head.bak client.tcl| sed "s,^set libdir LIBDIR,set libdir $(IRTCLDIR)," >client.bak; \
-               $(INSTALL_PROGRAM) client.bak $(BINDIR)/irclient; \
-               if [ -f $(IRTCLDIR)/clientrc.tcl ]; then \
-                       echo "clientrc.tcl already exists"; \
-                       echo "Installing clientrc.tcl.n"; \
-                       cp clientrc.tcl clientrc.tcl.n; \
-                       $(INSTALL_DATA) clientrc.tcl.n $(IRTCLDIR); \
-                       rm clientrc.tcl.n; \
-               else \
-                       echo "Installing clientrc.tcl"; \
-                       $(INSTALL_DATA) clientrc.tcl $(IRTCLDIR); \
+       fi; \
+       echo "Installing irclient"; \
+       echo "#! $(BINDIR)/@IRCLIENT_SHELL@ -f" >head.bak; \
+       cat head.bak client.tcl| sed "s,^set libdir LIBDIR,set libdir $(IRTCLDIR)," >client.bak; \
+       $(INSTALL_PROGRAM) client.bak $(BINDIR)/irclient; \
+       if [ -f $(IRTCLDIR)/clientrc.tcl ]; then \
+               echo "clientrc.tcl already exists"; \
+               echo "Installing clientrc.tcl.n"; \
+               cp clientrc.tcl clientrc.tcl.n; \
+               $(INSTALL_DATA) clientrc.tcl.n $(IRTCLDIR); \
+               rm clientrc.tcl.n; \
+       else \
+               echo "Installing clientrc.tcl"; \
+               $(INSTALL_DATA) clientrc.tcl $(IRTCLDIR); \
+       fi; \
+       for f in *.tcl; do \
+               echo "Installing $$f"; \
+               $(INSTALL_DATA) $$f $(IRTCLDIR); \
+       done; \
+       echo "Installing LICENSE" ; \
+       $(INSTALL_DATA) LICENSE $(IRTCLDIR); \
+       echo "Installing display format scripts"; \
+       for b in formats/*.tcl; do \
+               if [ -f $$b ]; then \
+                       $(INSTALL_DATA) $$b $(IRTCLDIR)/formats; \
                fi; \
-               for f in *.tcl; do \
-                       echo "Installing $$f"; \
-                       $(INSTALL_DATA) $$f $(IRTCLDIR); \
-               done; \
-               echo "Installing LICENSE" ; \
-               $(INSTALL_DATA) LICENSE $(IRTCLDIR); \
-               echo "Installing display format scripts"; \
-               for b in formats/*.tcl; do \
-                       if [ -f $$b ]; then \
-                               $(INSTALL_DATA) $$b $(IRTCLDIR)/formats; \
-                       fi; \
-               done; \
-               echo "Installing bitmaps"; \
-               for b in bitmaps/*; do \
-                       if [ -f $$b ]; then \
-                               $(INSTALL_DATA) $$b $(IRTCLDIR)/bitmaps; \
-                       fi; \
-               done; \
-       fi; 
+       done; \
+       echo "Installing bitmaps"; \
+       for b in bitmaps/*; do \
+               if [ -f $$b ]; then \
+                       $(INSTALL_DATA) $$b $(IRTCLDIR)/bitmaps; \
+               fi; \
+       done
 
 clean:
        rm -f *.[oa] ir-tk ir-tcl wais-tcl core 
-       rm -f gmon.out mon.out *.bak config.cache @SHLIB_IRTCL@
+       rm -f *mon.out *.bak config.cache @SHLIB_IRTCL@
 
 autoconf:
        -rm config.cache
index cf10db7..aadd99d 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,8 +1,8 @@
 #! /bin/sh
 
 # Guess values for system-dependent variables and create Makefiles.
-# Generated automatically using autoconf version 2.7 
-# Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
+# Generated automatically using autoconf version 2.12 
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
 #
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
@@ -55,6 +55,8 @@ mandir='${prefix}/man'
 # Initialize some other variables.
 subdirs=
 MFLAGS= MAKEFLAGS=
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
 
 ac_prev=
 for ac_option
@@ -336,7 +338,7 @@ EOF
     verbose=yes ;;
 
   -version | --version | --versio | --versi | --vers)
-    echo "configure generated by autoconf version 2.7"
+    echo "configure generated by autoconf version 2.12"
     exit 0 ;;
 
   -with-* | --with-*)
@@ -438,11 +440,14 @@ do
 done
 
 # NLS nuisances.
-# Only set LANG and LC_ALL to C if already set.
-# These must not be set unconditionally because not all systems understand
-# e.g. LANG=C (notably SCO).
-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+# Only set these to C if already set.  These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
 if test "${LANG+set}"   = set; then LANG=C;   export LANG;   fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}"    = set; then LC_CTYPE=C;    export LC_CTYPE;    fi
 
 # confdefs.h avoids OS command line length limits that DEFS can exceed.
 rm -rf conftest* confdefs.h
@@ -501,12 +506,10 @@ fi
 
 ac_ext=c
 # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='echo $CPP $CPPFLAGS 1>&5;
-$CPP $CPPFLAGS'
-ac_compile='echo ${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5;
-${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5 2>&5'
-ac_link='echo ${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5;
-${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5 2>&5'
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
 
 if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
   # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
@@ -537,6 +540,8 @@ CC=${CC-cc}
 
 
 
+
+
 ac_aux_dir=
 for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
   if test -f $ac_dir/install-sh; then
@@ -567,11 +572,12 @@ ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
 # ./install, which can be erroneously created by make from ./install.sh.
 echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:576: checking for a BSD compatible install" >&5
 if test -z "$INSTALL"; then
 if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
-    IFS="${IFS=        }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+    IFS="${IFS=        }"; ac_save_IFS="$IFS"; IFS="${IFS}:"
   for ac_dir in $PATH; do
     # Account for people who put trailing slashes in PATH elements.
     case "$ac_dir/" in
@@ -594,7 +600,7 @@ else
       ;;
     esac
   done
-  IFS="$ac_save_ifs"
+  IFS="$ac_save_IFS"
 
 fi
   if test "${ac_cv_path_install+set}" = set; then
@@ -616,10 +622,11 @@ test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
 test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
 
 if test "x$prefix" = xNONE; then
-echo $ac_n "checking for prefix by ""... $ac_c" 1>&6
+echo $ac_n "checking for prefix by $ac_c" 1>&6
 # Extract the first word of "tclsh", so it can be a program name with args.
 set dummy tclsh; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:630: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_TCLSH'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -652,7 +659,88 @@ fi
   fi
 fi
 
+if test "x$prefix" = xNONE; then
+       if test "x$prefix" = xNONE; then
+echo $ac_n "checking for prefix by $ac_c" 1>&6
+# Extract the first word of "tclsh8.0", so it can be a program name with args.
+set dummy tclsh8.0; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:669: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_path_TCLSH8.0'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  case "$TCLSH8.0" in
+  /*)
+  ac_cv_path_TCLSH8.0="$TCLSH8.0" # Let the user override the test with a path.
+  ;;
+  *)
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_path_TCLSH8.0="$ac_dir/$ac_word"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+  ;;
+esac
+fi
+TCLSH8.0="$ac_cv_path_TCLSH8.0"
+if test -n "$TCLSH8.0"; then
+  echo "$ac_t""$TCLSH8.0" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+  if test -n "$ac_cv_path_TCLSH8.0"; then
+    prefix=`echo $ac_cv_path_TCLSH8.0|sed 's%/[^/][^/]*//*[^/][^/]*$%%'`
+  fi
+fi
+
+fi
+if test "x$prefix" = xNONE; then
+       if test "x$prefix" = xNONE; then
+echo $ac_n "checking for prefix by $ac_c" 1>&6
+# Extract the first word of "tclsh7.6", so it can be a program name with args.
+set dummy tclsh7.6; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:709: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_path_TCLSH7.6'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  case "$TCLSH7.6" in
+  /*)
+  ac_cv_path_TCLSH7.6="$TCLSH7.6" # Let the user override the test with a path.
+  ;;
+  *)
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_path_TCLSH7.6="$ac_dir/$ac_word"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+  ;;
+esac
+fi
+TCLSH7.6="$ac_cv_path_TCLSH7.6"
+if test -n "$TCLSH7.6"; then
+  echo "$ac_t""$TCLSH7.6" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+  if test -n "$ac_cv_path_TCLSH7.6"; then
+    prefix=`echo $ac_cv_path_TCLSH7.6|sed 's%/[^/][^/]*//*[^/][^/]*$%%'`
+  fi
+fi
+
+fi
 echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
+echo "configure:744: checking how to run the C preprocessor" >&5
 # On Suns, sometimes $CPP names a directory.
 if test -n "$CPP" && test -d "$CPP"; then
   CPP=
@@ -667,31 +755,37 @@ else
   # On the NeXT, cc -E runs the code through the compiler's parser,
   # not just through cpp.
   cat > conftest.$ac_ext <<EOF
-#line 671 "configure"
+#line 759 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
-eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:765: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   :
 else
   echo "$ac_err" >&5
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
   rm -rf conftest*
   CPP="${CC-cc} -E -traditional-cpp"
   cat > conftest.$ac_ext <<EOF
-#line 685 "configure"
+#line 776 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
-eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:782: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   :
 else
   echo "$ac_err" >&5
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
   rm -rf conftest*
   CPP=/lib/cpp
 fi
@@ -706,51 +800,29 @@ else
 fi
 echo "$ac_t""$CPP" 1>&6
 
-# If we cannot run a trivial program, we must be cross compiling.
-echo $ac_n "checking whether cross-compiling""... $ac_c" 1>&6
-if eval "test \"`echo '$''{'ac_cv_c_cross'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  if test "$cross_compiling" = yes; then
-  ac_cv_c_cross=yes
-else
-cat > conftest.$ac_ext <<EOF
-#line 719 "configure"
-#include "confdefs.h"
-main(){return(0);}
-EOF
-eval $ac_link
-if test -s conftest && (./conftest; exit) 2>/dev/null; then
-  ac_cv_c_cross=no
-else
-  ac_cv_c_cross=yes
-fi
-fi
-rm -fr conftest*
-fi
-
-echo "$ac_t""$ac_cv_c_cross" 1>&6
-cross_compiling=$ac_cv_c_cross
-
 echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
+echo "configure:805: checking for ANSI C header files" >&5
 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 741 "configure"
+#line 810 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 #include <stdarg.h>
 #include <string.h>
 #include <float.h>
 EOF
-eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:818: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
   ac_cv_header_stdc=yes
 else
   echo "$ac_err" >&5
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
   rm -rf conftest*
   ac_cv_header_stdc=no
 fi
@@ -759,7 +831,7 @@ rm -f conftest*
 if test $ac_cv_header_stdc = yes; then
   # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
 cat > conftest.$ac_ext <<EOF
-#line 763 "configure"
+#line 835 "configure"
 #include "confdefs.h"
 #include <string.h>
 EOF
@@ -777,7 +849,7 @@ fi
 if test $ac_cv_header_stdc = yes; then
   # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
 cat > conftest.$ac_ext <<EOF
-#line 781 "configure"
+#line 853 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 EOF
@@ -797,8 +869,8 @@ if test $ac_cv_header_stdc = yes; then
 if test "$cross_compiling" = yes; then
   :
 else
-cat > conftest.$ac_ext <<EOF
-#line 802 "configure"
+  cat > conftest.$ac_ext <<EOF
+#line 874 "configure"
 #include "confdefs.h"
 #include <ctype.h>
 #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -809,15 +881,19 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
 exit (0); }
 
 EOF
-eval $ac_link
-if test -s conftest && (./conftest; exit) 2>/dev/null; then
+if { (eval echo configure:885: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+then
   :
 else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -fr conftest*
   ac_cv_header_stdc=no
 fi
-fi
 rm -fr conftest*
 fi
+
+fi
 fi
 
 echo "$ac_t""$ac_cv_header_stdc" 1>&6
@@ -832,6 +908,7 @@ if test "$ac_cv_header_stdc" = no; then
        echo "configure: warning: Your system doesn't seem to support ANSI C" 1>&2
 fi
 echo $ac_n "checking for YAZ directory""... $ac_c" 1>&6
+echo "configure:912: checking for YAZ directory" >&5
 # Check whether --with-yazdir or --without-yazdir was given.
 if test "${with_yazdir+set}" = set; then
   withval="$with_yazdir"
@@ -854,6 +931,7 @@ else
        echo "$ac_t""$YAZDIR" 1>&6
 fi
 echo $ac_n "checking for MOSI""... $ac_c" 1>&6
+echo "configure:935: checking for MOSI" >&5
 # Check whether --with-mosidir or --without-mosidir was given.
 if test "${with_mosidir+set}" = set; then
   withval="$with_mosidir"
@@ -886,6 +964,7 @@ else
 fi
 if test -r ${tryprefix}/lib/tclConfig.sh; then
        echo $ac_n "checking for Tcl""... $ac_c" 1>&6
+echo "configure:968: checking for Tcl" >&5
        source ${tryprefix}/lib/tclConfig.sh
        TCLLIB="${TCL_LIB_SPEC} ${TCL_LIBS}"
        TCLINC=-I${TCL_PREFIX}/include
@@ -895,6 +974,7 @@ if test -r ${tryprefix}/lib/tclConfig.sh; then
        SHLIB_SUFFIX=$TCL_SHLIB_SUFFIX
        SHLIB_VERSION=$TCL_SHLIB_VERSION
        SHLIB_IRTCL=irtcl${TCL_SHLIB_SUFFIX}
+       ALL_SPEC="irtcl${TCL_SHLIB_SUFFIX} libirtcl.a"
        echo "$ac_t""$TCL_VERSION" 1>&6
 else
         SHLIB_CFLAGS=""
@@ -905,6 +985,7 @@ else
        # Extract the first word of "ranlib", so it can be a program name with args.
 set dummy ranlib; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:989: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -932,20 +1013,22 @@ fi
 
        checkBoth=0
        echo $ac_n "checking for connect""... $ac_c" 1>&6
+echo "configure:1017: checking for connect" >&5
 if eval "test \"`echo '$''{'ac_cv_func_connect'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 940 "configure"
+#line 1022 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char connect(); below.  */
 #include <assert.h>
 /* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
 char connect();
 
-int main() { return 0; }
-int t() {
+int main() {
 
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
@@ -958,16 +1041,18 @@ connect();
 
 ; return 0; }
 EOF
-if eval $ac_link; then
+if { (eval echo configure:1045: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_connect=yes"
 else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
   rm -rf conftest*
   eval "ac_cv_func_connect=no"
 fi
 rm -f conftest*
-
 fi
+
 if eval "test \"`echo '$ac_cv_func_'connect`\" = yes"; then
   echo "$ac_t""yes" 1>&6
   tk_checkSocket=0
@@ -977,26 +1062,28 @@ tk_checkSocket=1
 fi
 
        if test "$tk_checkSocket" = 1; then
-               echo $ac_n "checking for -lsocket""... $ac_c" 1>&6
-ac_lib_var=`echo socket | tr '.-/+' '___p'`
+               echo $ac_n "checking for main in -lsocket""... $ac_c" 1>&6
+echo "configure:1067: checking for main in -lsocket" >&5
+ac_lib_var=`echo socket'_'main | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   ac_save_LIBS="$LIBS"
 LIBS="-lsocket  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 989 "configure"
+#line 1075 "configure"
 #include "confdefs.h"
 
-int main() { return 0; }
-int t() {
+int main() {
 main()
 ; return 0; }
 EOF
-if eval $ac_link; then
+if { (eval echo configure:1082: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=no"
 fi
@@ -1017,20 +1104,22 @@ fi
                tk_oldLibs=$LIBS
                LIBS="$LIBS -lsocket -lnsl"
                echo $ac_n "checking for accept""... $ac_c" 1>&6
+echo "configure:1108: checking for accept" >&5
 if eval "test \"`echo '$''{'ac_cv_func_accept'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1025 "configure"
+#line 1113 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char accept(); below.  */
 #include <assert.h>
 /* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
 char accept();
 
-int main() { return 0; }
-int t() {
+int main() {
 
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
@@ -1043,16 +1132,18 @@ accept();
 
 ; return 0; }
 EOF
-if eval $ac_link; then
+if { (eval echo configure:1136: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_accept=yes"
 else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
   rm -rf conftest*
   eval "ac_cv_func_accept=no"
 fi
 rm -f conftest*
-
 fi
+
 if eval "test \"`echo '$ac_cv_func_'accept`\" = yes"; then
   echo "$ac_t""yes" 1>&6
   :
@@ -1063,20 +1154,22 @@ fi
 
        fi
        echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6
+echo "configure:1158: checking for gethostbyname" >&5
 if eval "test \"`echo '$''{'ac_cv_func_gethostbyname'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1071 "configure"
+#line 1163 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char gethostbyname(); below.  */
 #include <assert.h>
 /* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
 char gethostbyname();
 
-int main() { return 0; }
-int t() {
+int main() {
 
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
@@ -1089,41 +1182,45 @@ gethostbyname();
 
 ; return 0; }
 EOF
-if eval $ac_link; then
+if { (eval echo configure:1186: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_gethostbyname=yes"
 else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
   rm -rf conftest*
   eval "ac_cv_func_gethostbyname=no"
 fi
 rm -f conftest*
-
 fi
+
 if eval "test \"`echo '$ac_cv_func_'gethostbyname`\" = yes"; then
   echo "$ac_t""yes" 1>&6
   :
 else
   echo "$ac_t""no" 1>&6
-echo $ac_n "checking for -lnsl""... $ac_c" 1>&6
-ac_lib_var=`echo nsl | tr '.-/+' '___p'`
+echo $ac_n "checking for main in -lnsl""... $ac_c" 1>&6
+echo "configure:1204: checking for main in -lnsl" >&5
+ac_lib_var=`echo nsl'_'main | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   ac_save_LIBS="$LIBS"
 LIBS="-lnsl  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 1116 "configure"
+#line 1212 "configure"
 #include "confdefs.h"
 
-int main() { return 0; }
-int t() {
+int main() {
 main()
 ; return 0; }
 EOF
-if eval $ac_link; then
+if { (eval echo configure:1219: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=no"
 fi
@@ -1141,6 +1238,7 @@ fi
 fi
 
        echo $ac_n "checking for Tcl""... $ac_c" 1>&6
+echo "configure:1242: checking for Tcl" >&5
        TCL_VERSION=nope
        for i in "" 7.4 7.5 7.6 8.0; do
                if test -r ${tryprefix}/lib/libtcl${i}.a; then
@@ -1161,15 +1259,19 @@ fi
                TCLINC=-I${tryprefix}/include
        fi
        TCLLIB="${TCL_LIB_SPEC} ${LIBS} -lm"
+       ALL_SPEC="ir-tcl ir-tk"
 fi
 if test -r ${tryprefix}/lib/tkConfig.sh; then
        echo $ac_n "checking for Tk""... $ac_c" 1>&6
+echo "configure:1267: checking for Tk" >&5
        source ${tryprefix}/lib/tkConfig.sh
        echo "$ac_t""$TK_VERSION" 1>&6
        TKINC=${TK_XINCLUDES}
        TKLIB="${TK_LIB_SPEC} ${TCL_LIB_SPEC} ${TK_LIBS}"
+       IRCLIENT_SHELL=wish${TK_VERSION}
 else
        echo $ac_n "checking for Tk""... $ac_c" 1>&6
+echo "configure:1275: checking for Tk" >&5
        TK_VERSION=nope
        for i in "" 4.0 4.1 4.2 8.0; do
                if test -r ${tryprefix}/lib/libtk${i}.a; then
@@ -1192,6 +1294,7 @@ else
 # Uses ac_ vars as temps to allow command line to override cache and checks.
 # --without-x overrides everything else, but does not touch the cache.
 echo $ac_n "checking for X""... $ac_c" 1>&6
+echo "configure:1298: checking for X" >&5
 
 # Check whether --with-x or --without-x was given.
 if test "${with_x+set}" = set; then
@@ -1199,17 +1302,20 @@ if test "${with_x+set}" = set; then
   :
 fi
 
+# $have_x is `yes', `no', `disabled', or empty when we do not yet know.
 if test "x$with_x" = xno; then
-  no_x=yes
+  # The user explicitly disabled X.
+  have_x=disabled
 else
   if test "x$x_includes" != xNONE && test "x$x_libraries" != xNONE; then
-    no_x=
+    # Both variables are already set.
+    have_x=yes
   else
-if eval "test \"`echo '$''{'ac_cv_path_x'+set}'`\" = set"; then
+if eval "test \"`echo '$''{'ac_cv_have_x'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   # One or both of the vars are not set, and there is no cached value.
-no_x=yes
+ac_x_includes=NO ac_x_libraries=NO
 rm -fr conftestdir
 if mkdir conftestdir; then
   cd conftestdir
@@ -1219,7 +1325,6 @@ acfindx:
        @echo 'ac_im_incroot="${INCROOT}"; ac_im_usrlibdir="${USRLIBDIR}"; ac_im_libdir="${LIBDIR}"'
 EOF
   if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then
-    no_x=
     # GNU make sometimes prints "make[1]: Entering...", which would confuse us.
     eval `${MAKE-make} acfindx 2>/dev/null | grep -v make`
     # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR.
@@ -1229,7 +1334,9 @@ EOF
         ac_im_usrlibdir=$ac_im_libdir; break
       fi
     done
-    # Screen out bogus values from the imake configuration.
+    # Screen out bogus values from the imake configuration.  They are
+    # bogus both because they are the default anyway, and because
+    # using them would break gcc on systems where it needs fixed includes.
     case "$ac_im_incroot" in
        /usr/include) ;;
        *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes="$ac_im_incroot" ;;
@@ -1243,45 +1350,51 @@ EOF
   rm -fr conftestdir
 fi
 
-if test "$no_x" = yes; then
-test -z "$x_direct_test_library" && x_direct_test_library=Xt
-test -z "$x_direct_test_function" && x_direct_test_function=XtMalloc
-test -z "$x_direct_test_include" && x_direct_test_include=X11/Intrinsic.h
+if test "$ac_x_includes" = NO; then
+  # Guess where to find include files, by looking for this one X11 .h file.
+  test -z "$x_direct_test_include" && x_direct_test_include=X11/Intrinsic.h
+
+  # First, try using that file with no special directory specified.
 cat > conftest.$ac_ext <<EOF
-#line 1252 "configure"
+#line 1360 "configure"
 #include "confdefs.h"
 #include <$x_direct_test_include>
 EOF
-eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:1365: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
-  no_x= ac_x_includes=
+  # We can compile using X headers with no special include directory.
+ac_x_includes=
 else
   echo "$ac_err" >&5
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
   rm -rf conftest*
-    for ac_dir in               \
+  # Look for the header file in a standard set of common directories.
+# Check X11 before X11Rn because it is often a symlink to the current release.
+  for ac_dir in               \
+    /usr/X11/include          \
     /usr/X11R6/include        \
     /usr/X11R5/include        \
     /usr/X11R4/include        \
                               \
+    /usr/include/X11          \
     /usr/include/X11R6        \
     /usr/include/X11R5        \
     /usr/include/X11R4        \
                               \
+    /usr/local/X11/include    \
     /usr/local/X11R6/include  \
     /usr/local/X11R5/include  \
     /usr/local/X11R4/include  \
                               \
+    /usr/local/include/X11    \
     /usr/local/include/X11R6  \
     /usr/local/include/X11R5  \
     /usr/local/include/X11R4  \
                               \
-    /usr/X11/include          \
-    /usr/include/X11          \
-    /usr/local/X11/include    \
-    /usr/local/include/X11    \
-                              \
     /usr/X386/include         \
     /usr/x386/include         \
     /usr/XFree86/include/X11  \
@@ -1298,56 +1411,65 @@ else
     ; \
   do
     if test -r "$ac_dir/$x_direct_test_include"; then
-      no_x= ac_x_includes=$ac_dir
+      ac_x_includes=$ac_dir
       break
     fi
   done
 fi
 rm -f conftest*
+fi # $ac_x_includes = NO
+
+if test "$ac_x_libraries" = NO; then
+  # Check for the libraries.
+
+  test -z "$x_direct_test_library" && x_direct_test_library=Xt
+  test -z "$x_direct_test_function" && x_direct_test_function=XtMalloc
 
-# Check for the libraries.
-# See if we find them without any special options.
-# Don't add to $LIBS permanently.
-ac_save_LIBS="$LIBS"
-LIBS="-l$x_direct_test_library $LIBS"
+  # See if we find them without any special options.
+  # Don't add to $LIBS permanently.
+  ac_save_LIBS="$LIBS"
+  LIBS="-l$x_direct_test_library $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 1315 "configure"
+#line 1434 "configure"
 #include "confdefs.h"
 
-int main() { return 0; }
-int t() {
+int main() {
 ${x_direct_test_function}()
 ; return 0; }
 EOF
-if eval $ac_link; then
+if { (eval echo configure:1441: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
-  LIBS="$ac_save_LIBS" no_x= ac_x_libraries=
+  LIBS="$ac_save_LIBS"
+# We can link X programs with no special library path.
+ac_x_libraries=
 else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
   rm -rf conftest*
   LIBS="$ac_save_LIBS"
 # First see if replacing the include by lib works.
+# Check X11 before X11Rn because it is often a symlink to the current release.
 for ac_dir in `echo "$ac_x_includes" | sed s/include/lib/` \
+    /usr/X11/lib          \
     /usr/X11R6/lib        \
     /usr/X11R5/lib        \
     /usr/X11R4/lib        \
                           \
+    /usr/lib/X11          \
     /usr/lib/X11R6        \
     /usr/lib/X11R5        \
     /usr/lib/X11R4        \
                           \
+    /usr/local/X11/lib    \
     /usr/local/X11R6/lib  \
     /usr/local/X11R5/lib  \
     /usr/local/X11R4/lib  \
                           \
+    /usr/local/lib/X11    \
     /usr/local/lib/X11R6  \
     /usr/local/lib/X11R5  \
     /usr/local/lib/X11R4  \
                           \
-    /usr/X11/lib          \
-    /usr/lib/X11          \
-    /usr/local/X11/lib    \
-    /usr/local/lib/X11    \
-                          \
     /usr/X386/lib         \
     /usr/x386/lib         \
     /usr/XFree86/lib/X11  \
@@ -1358,6 +1480,7 @@ for ac_dir in `echo "$ac_x_includes" | sed s/include/lib/` \
     /usr/athena/lib       \
     /usr/local/x11r5/lib  \
     /usr/lpp/Xamples/lib  \
+    /lib/usr/lib/X11     \
                           \
     /usr/openwin/lib      \
     /usr/openwin/share/lib \
@@ -1365,31 +1488,38 @@ for ac_dir in `echo "$ac_x_includes" | sed s/include/lib/` \
 do
   for ac_extension in a so sl; do
     if test -r $ac_dir/lib${x_direct_test_library}.$ac_extension; then
-      no_x= ac_x_libraries=$ac_dir
+      ac_x_libraries=$ac_dir
       break 2
     fi
   done
 done
 fi
 rm -f conftest*
+fi # $ac_x_libraries = NO
 
-fi
-if test "$no_x" = yes; then
-  ac_cv_path_x="no_x=yes"
+if test "$ac_x_includes" = NO || test "$ac_x_libraries" = NO; then
+  # Didn't find X anywhere.  Cache the known absence of X.
+  ac_cv_have_x="have_x=no"
 else
-  ac_cv_path_x="no_x= ac_x_includes=$ac_x_includes ac_x_libraries=$ac_x_libraries"
+  # Record where we found X for the cache.
+  ac_cv_have_x="have_x=yes \
+               ac_x_includes=$ac_x_includes ac_x_libraries=$ac_x_libraries"
 fi
 fi
   fi
-  eval "$ac_cv_path_x"
+  eval "$ac_cv_have_x"
 fi # $with_x != no
 
-if test "$no_x" = yes; then
-  echo "$ac_t""no" 1>&6
+if test "$have_x" != yes; then
+  echo "$ac_t""$have_x" 1>&6
+  no_x=yes
 else
+  # If each of the values was on the command line, it overrides each guess.
   test "x$x_includes" = xNONE && x_includes=$ac_x_includes
   test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries
-  ac_cv_path_x="no_x= ac_x_includes=$x_includes ac_x_libraries=$x_libraries"
+  # Update the cache value to reflect the command line values.
+  ac_cv_have_x="have_x=yes \
+               ac_x_includes=$x_includes ac_x_libraries=$x_libraries"
   echo "$ac_t""libraries $x_libraries, headers $x_includes" 1>&6
 fi
 
@@ -1397,16 +1527,19 @@ fi
        if test "$no_x" = ""; then
                if test "$x_includes" = ""; then
                        cat > conftest.$ac_ext <<EOF
-#line 1401 "configure"
+#line 1531 "configure"
 #include "confdefs.h"
 #include <X11/XIntrinsic.h>
 EOF
-eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:1536: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   :
 else
   echo "$ac_err" >&5
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
   rm -rf conftest*
   not_really_there="yes"
 fi
@@ -1421,16 +1554,19 @@ rm -f conftest*
                echo checking for X11 header files
                XINCLUDES="# no special path needed"
                cat > conftest.$ac_ext <<EOF
-#line 1425 "configure"
+#line 1558 "configure"
 #include "confdefs.h"
 #include <X11/Intrinsic.h>
 EOF
-eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:1563: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   :
 else
   echo "$ac_err" >&5
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
   rm -rf conftest*
   XINCLUDES="nope"
 fi
@@ -1471,26 +1607,32 @@ rm -f conftest*
                fi
        fi
        if test "$XLIBSW" = nope ; then
-               echo $ac_n "checking for -lXwindow""... $ac_c" 1>&6
-ac_lib_var=`echo Xwindow | tr '.-/+' '___p'`
+               echo $ac_n "checking for XCreateWindow in -lXwindow""... $ac_c" 1>&6
+echo "configure:1612: checking for XCreateWindow in -lXwindow" >&5
+ac_lib_var=`echo Xwindow'_'XCreateWindow | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   ac_save_LIBS="$LIBS"
 LIBS="-lXwindow  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 1483 "configure"
+#line 1620 "configure"
 #include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char XCreateWindow();
 
-int main() { return 0; }
-int t() {
+int main() {
 XCreateWindow()
 ; return 0; }
 EOF
-if eval $ac_link; then
+if { (eval echo configure:1631: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=no"
 fi
@@ -1512,6 +1654,7 @@ fi
        fi
        TKINC=$XINCLUDES
        TKLIB="${TKLIB} ${XLIBSW} ${TCLLIB}"
+       IRCLIENT_SHELL=ir-tk
 fi
 trap '' 1 2 15
 cat > confcache <<\EOF
@@ -1530,11 +1673,25 @@ cat > confcache <<\EOF
 # --recheck option to rerun configure.
 #
 EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
 # Ultrix sh set writes to stderr and can't be redirected directly,
 # and sets the high bit in the cache file unless we assign to the vars.
 (set) 2>&1 |
-  sed -n "s/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=\${\1='\2'}/p" \
-  >> confcache
+  case `(ac_space=' '; set) 2>&1` in
+  *ac_space=\ *)
+    # `set' does not quote correctly, so add quotes (double-quote substitution
+    # turns \\\\ into \\, and sed turns \\ into \).
+    sed -n \
+      -e "s/'/'\\\\''/g" \
+      -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+    ;;
+  *)
+    # `set' quotes correctly as required by POSIX, so do not add quotes.
+    sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+    ;;
+  esac >> confcache
 if cmp -s $cache_file confcache; then
   :
 else
@@ -1566,7 +1723,7 @@ trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
 # Protect against shell expansion while executing Makefile rules.
 # Protect against Makefile macro expansion.
 cat > conftest.defs <<\EOF
-s%#define \([A-Za-z_][A-Za-z0-9_]*\) \(.*\)%-D\1=\2%g
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
 s%[    `~#$^&*(){}\\|;'"<>?]%\\&%g
 s%\[%\\&%g
 s%\]%\\&%g
@@ -1601,7 +1758,7 @@ do
     echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
     exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
   -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
-    echo "$CONFIG_STATUS generated by autoconf version 2.7"
+    echo "$CONFIG_STATUS generated by autoconf version 2.12"
     exit 0 ;;
   -help | --help | --hel | --he | --h)
     echo "\$ac_cs_usage"; exit 0 ;;
@@ -1657,28 +1814,68 @@ s%@SHLIB_LD@%$SHLIB_LD%g
 s%@SHLIB_SUFFIX@%$SHLIB_SUFFIX%g
 s%@SHLIB_VERSION@%$SHLIB_VERSION%g
 s%@SHLIB_IRTCL@%$SHLIB_IRTCL%g
+s%@ALL_SPEC@%$ALL_SPEC%g
+s%@IRCLIENT_SHELL@%$IRCLIENT_SHELL%g
 s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
 s%@INSTALL_DATA@%$INSTALL_DATA%g
 s%@TCLSH@%$TCLSH%g
+s%@TCLSH8.0@%$TCLSH8.0%g
+s%@TCLSH7.6@%$TCLSH7.6%g
 s%@CPP@%$CPP%g
 s%@RANLIB@%$RANLIB%g
 
 CEOF
 EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+  if test $ac_beg -gt 1; then
+    sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+  else
+    sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+  fi
+  if test ! -s conftest.s$ac_file; then
+    ac_more_lines=false
+    rm -f conftest.s$ac_file
+  else
+    if test -z "$ac_sed_cmds"; then
+      ac_sed_cmds="sed -f conftest.s$ac_file"
+    else
+      ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+    fi
+    ac_file=`expr $ac_file + 1`
+    ac_beg=$ac_end
+    ac_end=`expr $ac_end + $ac_max_sed_cmds`
+  fi
+done
+if test -z "$ac_sed_cmds"; then
+  ac_sed_cmds=cat
+fi
+EOF
+
 cat >> $CONFIG_STATUS <<EOF
 
 CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
 EOF
 cat >> $CONFIG_STATUS <<\EOF
 for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
-  # Support "outfile[:infile]", defaulting infile="outfile.in".
+  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
   case "$ac_file" in
-  *:*) ac_file_in=`echo "$ac_file"|sed 's%.*:%%'`
+  *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
        ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
   *) ac_file_in="${ac_file}.in" ;;
   esac
 
-  # Adjust relative srcdir, etc. for subdirectories.
+  # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
 
   # Remove last slash and all that follows it.  Not all systems have dirname.
   ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
@@ -1706,6 +1903,7 @@ for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
   [/$]*) INSTALL="$ac_given_INSTALL" ;;
   *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
   esac
+
   echo creating "$ac_file"
   rm -f "$ac_file"
   configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
@@ -1714,16 +1912,22 @@ for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
 # $configure_input" ;;
   *) ac_comsub= ;;
   esac
+
+  ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
   sed -e "$ac_comsub
 s%@configure_input@%$configure_input%g
 s%@srcdir@%$srcdir%g
 s%@top_srcdir@%$top_srcdir%g
 s%@INSTALL@%$INSTALL%g
-" -f conftest.subs $ac_given_srcdir/$ac_file_in > $ac_file
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
 fi; done
-rm -f conftest.subs
+rm -f conftest.s*
 
+EOF
+cat >> $CONFIG_STATUS <<EOF
 
+EOF
+cat >> $CONFIG_STATUS <<\EOF
 
 exit 0
 EOF
index 2e9b2d3..8dde199 100644 (file)
@@ -1,7 +1,7 @@
 dnl IR toolkit for tcl/tk
-dnl (c) Index Data 1996-1997
+dnl (c) Index Data 1996-1998
 dnl See the file LICENSE for details.
-dnl $Id: configure.in,v 1.21 1997-04-30 07:26:07 adam Exp $
+dnl $Id: configure.in,v 1.22 1998-01-16 09:24:17 adam Exp $
 AC_INIT(ir-tcl.h)
 CC=${CC-cc}
 dnl ------ Substitutions
@@ -20,10 +20,18 @@ AC_SUBST(SHLIB_LD)
 AC_SUBST(SHLIB_SUFFIX)
 AC_SUBST(SHLIB_VERSION)
 AC_SUBST(SHLIB_IRTCL)
+AC_SUBST(ALL_SPEC)
+AC_SUBST(IRCLIENT_SHELL)
 dnl
 dnl ------ Preliminary settings
 AC_PROG_INSTALL
 AC_PREFIX_PROGRAM(tclsh)
+if test "x$prefix" = xNONE; then
+       AC_PREFIX_PROGRAM(tclsh8.0)
+fi
+if test "x$prefix" = xNONE; then
+       AC_PREFIX_PROGRAM(tclsh7.6)
+fi
 AC_STDC_HEADERS
 if test "$ac_cv_header_stdc" = no; then
        AC_MSG_WARN(Your system doesn't seem to support ANSI C)
@@ -88,6 +96,7 @@ if test -r ${tryprefix}/lib/tclConfig.sh; then
        SHLIB_SUFFIX=$TCL_SHLIB_SUFFIX
        SHLIB_VERSION=$TCL_SHLIB_VERSION
        SHLIB_IRTCL=irtcl${TCL_SHLIB_SUFFIX}
+       ALL_SPEC="irtcl${TCL_SHLIB_SUFFIX} libirtcl.a"
        AC_MSG_RESULT($TCL_VERSION)
 else
         SHLIB_CFLAGS=""
@@ -128,6 +137,7 @@ else
                TCLINC=-I${tryprefix}/include
        fi
        TCLLIB="${TCL_LIB_SPEC} ${LIBS} -lm"
+       ALL_SPEC="ir-tcl ir-tk"
 fi
 dnl 
 dnl ------ look for Tk
@@ -138,6 +148,7 @@ if test -r ${tryprefix}/lib/tkConfig.sh; then
        AC_MSG_RESULT($TK_VERSION)
        TKINC=${TK_XINCLUDES}
        TKLIB="${TK_LIB_SPEC} ${TCL_LIB_SPEC} ${TK_LIBS}"
+       IRCLIENT_SHELL=wish${TK_VERSION}
 else
        AC_MSG_CHECKING(for Tk)
        TK_VERSION=nope
@@ -216,5 +227,6 @@ else
        fi
        TKINC=$XINCLUDES
        TKLIB="${TKLIB} ${XLIBSW} ${TCLLIB}"
+       IRCLIENT_SHELL=ir-tk
 fi
 AC_OUTPUT(Makefile)
index fa3e0dc..7eab96c 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.4 1995-10-27 11:16:53 adam Exp $
+# $Id: Makefile,v 1.5 1998-01-16 09:24:17 adam Exp $
 all: ir-tcl.ps ir-tcl.txt ir-tcl.html
 
 ir-tcl.txt: ir-tcl.sgml
@@ -7,8 +7,8 @@ ir-tcl.txt: ir-tcl.sgml
 ir-tcl.dvi: ir-tcl.sgml
        sgml2ps -d ir-tcl.sgml
 
-ir-tcl.ps: ir-tcl.sgml
-       sgml2ps ir-tcl.sgml
+ir-tcl.tex: ir-tcl.sgml
+       sgml2latex ir-tcl.sgml
 
 ir-tcl.html: ir-tcl.sgml
        sgml2html ir-tcl.sgml
index e053776..7a71169 100644 (file)
@@ -1,14 +1,14 @@
 <!doctype linuxdoc system>
 
 <!--
-  $Id: ir-tcl.sgml,v 1.23 1997-04-13 19:01:45 adam Exp $
+  $Id: ir-tcl.sgml,v 1.24 1998-01-16 09:24:18 adam Exp $
 -->
 
 <article>
 <title>IrTcl User's Guide and Reference 
 <author><htmlurl url="http://www.indexdata.dk/" name="Index Data">,
-<tt><htmlurl url="mailto:info@index.ping.dk" name="info@index.ping.dk"></tt>
-<date>$Revision: 1.23 $
+<tt><htmlurl url="mailto:info@indexdata.dk" name="info@indexdata.dk"></tt>
+<date>$Revision: 1.24 $
 <abstract>
 This document describes IrTcl -- an information retrieval toolkit for
 Tcl and Tk that provides access to the Z39.50/SR protocol.
@@ -36,14 +36,9 @@ However, the mOSI transport is only an option, and hence it is not
 needed unless you wish to communicate within an OSI environment.
 See &lsqb;ref 2&rsqb; for more information about the XTI/mOSI implementation.
 
-<sf/IrTcl/ provides two system environments:
-
-<itemize>
-<item> A simple command line shell -- useful for
-testing purposes.
-<item> A simple command line shell which operates within the Tk
- environment -- makes it very easy to implement GUI clients.
-</itemize>
+<sf/IrTcl/ is implemented as a <it/dynamic/ library (DLL) which is 
+dynamically loaded by using the <tt/load/ command. However, <sf/IrTcl/
+may also be compiled as a traditional <it/static/ library as well.
 
 <sect>Compilation and installation
 
@@ -51,16 +46,16 @@ testing purposes.
 In order to compile you need:
 <itemize>
 <item> An ANSI C compiler such as GNU C.
-<item> <htmlurl url="http://www.sunlabs.com/research/tcl/" name="Tcl">.
- Version 7.3, 7.4 and 7.5 has been tested.
+<item> <htmlurl url="http://sunscript.sun.com/TclTkCore/" name="Tcl">.
+ Version 7.X and 8.0 has been tested.
 <item> <htmlurl url="http://www.indexdata.dk/yaz.html" name="YAZ">
- version 1.2 or higher.
+ version 1.4 or higher.
 </itemize>
 
 As an option you may want:
 <itemize>
-<item> <htmlurl url="http://www.sunlabs.com/research/tcl/" name="Tk">.
-Version 3.6, 4.0 and 4.1 has been tested.
+<item> <htmlurl url="http://sunscript.sun.com/TclTkCore/" name="Tk">.
+Version 3.6, 4.X and 8.0 has been tested.
 <item> XTI/mOSI
 </itemize>
 
@@ -85,11 +80,14 @@ Compile <sf/IrTcl/ by typing:
 $ make
 </verb></tscreen>
 
-If you don't have Tk you will only be able to create the <tt>ir-tcl</tt>
-program and you must type <tt>make ir-tcl</tt> instead.
+For Tcl versions that support dynamic libraries the command above
+will create the shared library, <tt/irtcl.so/, as well as the
+normal static library, <tt/libirtcl.a/.
 
-If successful, this will make <tt>ir-tcl</tt>, <tt>ir-tk</tt> (if
-Tk is present) and a library called <tt>libirtcl.a</tt>.
+For Tcl versions that doesn't support dynamic libraries the
+command will create two shells will build-in <sf/IrTcl/ support --
+a Tcl shell called <tt/ir-tcl/ and a Tcl/Tk shell called <tt/ir-tk/.
+The traditional static library, <tt/libirtcl.a/, is build as well.
 
 To install the programs and support files type:
 <tscreen><verb>
@@ -104,71 +102,97 @@ $ make install.man
 Summary of files installed (the names refer to the Makefile variables):
 
 <descrip>
-<tag><tt>ir-tk</tt></tag> The <sf/IrTcl/ shell for Tk.
+<tag><tt>irtcl.so</tt></tag> The <sf/IrTcl/ shared dynamic library. 
+The actual name of this library vary. Installed in <tt>IRTCLDIR</tt>.
+This file is only generated when using newer versions of Tcl.
+
+<tag><tt>ir-tk</tt></tag> The <sf/IrTcl/ shell for Tk. This shell
+ is not needed when using a Tk that support for shared libraries is present.
  Installed in <tt>BINDIR</tt> -- defaults to
  <tt>/usr/local/bin</tt>. <tt>ir-tk</tt> works like
  <tt>wish</tt> &mdash without arguments it reads commands from stdin.
  A source file may be specified by option <tt>-f</tt>. <tt>ir-tk</tt>
  accept the same set of options as <tt>wish</tt>.
-<tag><tt>ir-tcl</tt></tag> The <sf/IrTcl/ shell for Tcl. Installed in
- <tt>BINDIR</tt> -- defaults to <tt>/usr/local/bin</tt>.
+
+<tag><tt>ir-tcl</tt></tag> The <sf/IrTcl/ shell for Tcl. This program
+ is not needed when using a Tcl that supports shared libraries. Installed
+ in <tt>BINDIR</tt> -- defaults to <tt>/usr/local/bin</tt>.
+
 <tag><tt>client.tcl</tt></tag> A graphical client for <tt>ir-tk</tt>.
  The client is installed as an executable script called <tt>irclient</tt> in
  <tt>BINDIR</tt>. This client needs a number of files, bitmaps, etc.
  The client looks for the files in the current directory &mdash if
  this fails it tries to look in the directory <tt>IRTCLDIR</tt>
  -- defaults to <tt>/usr/local/lib/irtcl</tt>.
+
 <tag><tt>libirtcl.a</tt></tag> The <sf/IrTcl/ library. 
  Installed in <tt>LIBDIR</tt> -- defaults to <tt>/usr/local/lib</tt>.
+
 <tag><tt>ir-tcl.h</tt></tag> The <sf/IrTcl/ header file.
  Installed in <tt>INCDIR</tt> -- defaults to <tt>/usr/local/include</tt>.
+
 <tag><tt>clientrc.tcl</tt></tag> A setup file with definitions
  of target and queries. Read and updated by <tt>client.tcl</tt>. Installed
  in <tt>IRTCLDIR</tt> -- defaults to <tt>/usr/local/lib/irtcl</tt>.
+
 <tag><tt>formats/*</tt></tag> Display format files written
  in Tk. Read by <tt>client.tcl</tt>. Installed 
  in <tt>IRTCLDIR</tt> -- defaults to <tt>/usr/local/lib/irtcl</tt>.
+
 <tag><tt>bitmaps/*</tt></tag> Various bitmap files. Read by
  <tt>client.tcl</tt>. Installed 
  in <tt>IRTCLDIR</tt> -- defaults to <tt>/usr/local/lib/irtcl</tt>.
+
 <tag><tt>LICENSE</tt></tag> LICENSE file. Read by
  <tt>client.tcl</tt>. Installed 
  in <tt>IRTCLDIR</tt> -- defaults to <tt>/usr/local/lib/irtcl</tt>.
 </descrip>
 
-<sect1>ir-tcl
+<sect1>Using Tcl
 
 <p>
-The <tt>ir-tcl</tt> program is a shell like <tt>tclsh</tt> except that
-<tt>ir-tcl</tt> features the new set of information retrieval commands. 
-Normally <tt>ir-tcl</tt> waits on <tt/stdin/ (for you to type commands) and
-on sockets events (connected to Z39.50/SR targets).
-You simply type the Tcl commands line by line. A filename may be specified as 
-argument to <tt>ir-tcl</tt> in which case the file specified is evaluated 
-as a script.
+Basic Tcl is handled by the program <tt/tclsh/. The script
+must use the <tt/load/ command to load the <sf/IrTcl/ dynamic
+library. If dynamic libraries are unsupported the <tt/ir-tcl/ program
+should be used instead, since that program is statically linked
+with the <sf/IrTcl/ library.
 
-<sect1>ir-tk
+So the static, non-dynamic, version goes like this:
+<tscreen><verb>
+   $ ir-tcl
+   % 
+</verb></tscreen>
+and the dynamic version goes like:
+<tscreen><verb>
+   $ tclsh
+   % load ./irtcl.tcl
+   %
+</verb></tscreen>
+  
+<sect1>Using Tk
 
 <p>
-<tt>ir-tk</tt> is a program that works like <tt>wish</tt> except that
-<tt>ir-tk</tt> include the new set of commands. All options accepted
-by <tt>wish</tt> are also accepted by <tt>ir-tk</tt>. 
+If your Tcl/Tk supports dynamic libraries you can use the
+<tt/load/ command as described in the previous section. If not,
+you must use the <tt>ir-tk</tt> shell that acts as <tt>wish</tt>
+except that it includes the <sf/IrTcl/ commands.
 
-The enclosed script <tt>client.tcl</tt> for <tt>ir-tk</tt> is a graphical 
-client which demonstates an example of a user interface for the Z39.50/SR 
-protocols. 
+The enclosed script <tt>client.tcl</tt> is a graphical client
+which demonstates an example of a user interface for the Z39.50/SR protocols. 
 At first the script was relatively small but it has grown since the 
 beginning. At present it is about 3000 lines. 
 
-The client can be started directly from the top level directory 
-of <sf/IrTcl/ by typing:
+To start the client using a dynamic library use:
 <tscreen><verb>
-$ ir-tk -f client.tcl
+$ wish -f client.tcl
 </verb></tscreen>
 
-Or, if you have installed <sf/IrTcl/ you may also type:
+Note: some installations a slightly different name for wish, eg.
+<tt/wish8.0/.
+
+To start the client without dynamic library support use:
 <tscreen><verb>
-$ irclient
+$ ir-tk -f client.tcl
 </verb></tscreen>
 
 The client lets up define targets and query types within the interface.
@@ -1066,12 +1090,131 @@ a SUTRS record use the <tt>getSutrs</tt> followed by an index.
 
 <sect1>GRS-1
 <p>
-To be written.
+A GRS-1 record in <sf/IrTcl/ is represented as a list of elements. 
+Each element specifies a tag as well as data. The data may
+be a subtree, which is represented as a list, and so on.
+
+The method <tt/getGrs/ is followed by a record index and
+optional specifiers that selects a specific sub-tree. Each element
+consists of 5 elements:
+
+<descrip>
+<tag>tag-set</tag> Tag set number.
+
+<tag>value-type</tag> Type of tag value. May be either
+<tt/numeric/ of <tt/string/.
+
+<tag>value</tag> The value it self.
+
+<tag>data-type</tag> May be either <tt/octets/, <tt/numeric/,
+<tt/ext/, <tt/string/, <tt/bool/, <tt/intUnit/, <tt/empty/,
+<tt/notRequested/, <tt/diagnostic/ or <tt/subtree/.
+
+<tag>data</tag>The data associated with element of given type as
+ indicated before. If data-type is <tt/numeric/ or <tt/string/
+ then data is encoded as a single Tcl token. The data-type <tt/bool/
+ is encoded as 0 or 1 for false and  true respectively. If the
+ data-type is <tt/subtree/ the data is a sub-list.
+ In all other cases, the data is the empty string.
+</descrip>
+
+<bf/Example/
+
+Consider the GRS-1 record below as shown by the Yaz client program:
+
+<tscreen><verb>
+(1,1) OID: GILS-schema
+(1,14) 2
+(2,1)  UTAH EARTHQUAKE EPICENTERS
+    class=4,type=1,value=us
+(4,52) UTAH GEOLOGICAL AND MINERAL SURVEY
+(3,Local-Subject-Index) APPALACHIAN VALLEY; EARTHQUAKE; EPICENTER
+(2,6)
+    (1,19) Five files of epicenter data arranged by ...
+    (3,Format) DIGITAL DATA SETS
+    (3,Data-Category) TERRESTRIAL
+    (3,Comments) Data are supplied by the University of Utah ...
+(4,70)
+    (4,90)
+        (2,10) UTAH GEOLOGICAL AND MINERAL SURVEY
+        (4,2) 606 BLACK HAWK WAY
+        (4,3) SALT LAKE CITY
+        (3,State) UT
+        (3,Zip-Code) 84108
+        (2,16) USA
+        (2,14) (801) 581-6831
+    (4,7) UTAH EARTHQUAKE EPICENTERS
+(4,1) ESDD0006
+(1,16) 198903
+</verb></tscreen>
+
+The record may be fetched from the result set, <tt/z.1/, at position 1
+by using:
+<tscreen><verb>
+z.1 getGrs 1 
+</verb></tscreen>
+which will return:
+<tscreen><verb>
+{ 1 numeric 1 oid 1.2.840.10003.13.2 }
+{ 1 numeric 14 string 2 }
+{ 2 numeric 1 string
+   { UTAH EARTHQUAKE EPICENTERS} }
+{ 4 numeric 52 string {UTAH GEOLOGICAL AND MINERAL SURVEY} }
+{ 3 string Local-Subject-Index string
+   {APPALACHIAN VALLEY; EARTHQUAKE; EPICENTER} }
+{ 2 numeric 6 subtree
+   { { 1 numeric 19 string
+      {Five files of epicenter data arranged by ...} }
+   { 3 string Format string {DIGITAL DATA SETS} }
+   { 3 string Data-Category string TERRESTRIAL }
+   { 3 string Comments string  
+      {Data are supplied by the University of Utah ...} } } }
+{ 4 numeric 70 subtree
+   { { 4 numeric 90 subtree
+      { { 2 numeric 10 string
+         {UTAH GEOLOGICAL AND MINERAL SURVEY} }
+      { 4 numeric 2 string {606 BLACK HAWK WAY} }
+      { 4 numeric 3 string {SALT LAKE CITY} }
+      { 3 string State string UT }
+      { 3 string Zip-Code string 84108 }
+      { 2 numeric 16 string USA }
+      { 2 numeric 14 string {(801) 581-6831} } } }
+      { 4 numeric 7 string {UTAH EARTHQUAKE EPICENTERS} } } }
+{ 4 numeric 1 string ESDD0006 }
+{ 1 numeric 16 string 198903 } 
+</verb></tscreen>
+
+We can choose only to get the path (2,6) by using:
+
+<tscreen><verb>
+z.1 getGrs 1 (2,6)
+</verb></tscreen>
+and we'll get:
+<tscreen><verb>
+{ 2 numeric 6 subtree { { 1 numeric 19 string
+   {Five files of epicenter data arranged by ...} }
+   { 3 string Format string {DIGITAL DATA SETS} }
+   { 3 string Data-Category string TERRESTRIAL }
+   { 3 string Comments
+      string {Data are supplied by the University of Utah ...} } } }
+</verb></tscreen>
+
+To get the well known (1,19) within the subject (2,6) we use
+<tscreen><verb>
+z.1 getGrs 1 (2,6) (1,19)
+</verb></tscreen>
+and get:
+<tscreen><verb>
+{ 2 numeric 6 subtree
+   { { 1 numeric 19 string
+      {Five files of epicenter data arranged by ...} } } }
+</verb></tscreen>
+<bf/End of example/
 
 <sect1>Explain
 <p>
 Explain records are retrieved like other records. The method,
-<tt>getExplain</tt> is followed by an index and, and an optional
+<tt>getExplain</tt> is followed by an index and and an optional
 Explain record pattern.
 
 The returned record is a canonical representation of the Explain record.
@@ -1248,7 +1391,7 @@ been created.
 <sect>License
 
 <p>
-Copyright &copy; 1995-1996, Index Data.
+Copyright &copy; 1995-1998, Index Data.
 
 Permission to use, copy, modify, distribute, and sell this software and
 its documentation, in whole or in part, for any purpose, is hereby granted,
@@ -1289,18 +1432,17 @@ development of quality software for open network communication.
 We'll be happy to answer questions about the software, and about ourselves
 in general.
 
-<tscreen>
-Index Data&nl
-Ryesgade 3&nl
-2200 K&oslash;benhavn N&nl
-DENMARK
-</tscreen>
-
+<tscreen><verb>
+Index Data
+Ryesgade 3
+2200 Copenhagen N
+Denmark
+</verb></tscreen>
 <p>
 <tscreen><verb>
 Phone: +45 3536 3672
 Fax  : +45 3536 0449
-Email: info@index.ping.dk
+Email: info@indexdata.dk
 </verb></tscreen>
 
 <sect>References
@@ -1311,16 +1453,14 @@ Email: info@index.ping.dk
 <tag>1 Ousterhout, John K.:</tag>
 Tcl and the Tk Toolkit. Addison-Wesley Company Inc (ISBN
 0-201-63337-X). The Tcl/Tk toolkit home page is
-<tt><htmlurl url="http://www.sunlabs.com/research/tcl/"
- name="http://www.sunlabs.com/research/tcl"></tt>.
+<tt><htmlurl url="http://www.sunscript.com"
+ name="http://www.sunscript.com"></tt>.
 The primary ftp site is <tt><htmlurl url="ftp://ftp.smli.com/pub/tcl/"
 name="ftp://ftp.smli.com/pub/tcl/"></tt>.
-A mirror site can be found at <tt>
-<htmlurl url="ftp://ftp.neosoft.com/pub/tcl/mirror/ftp.smli.com"
-name="ftp://ftp.neosoft.com/pub/tcl/mirror/ftp.smli.com"></tt>.
-<tag>2 Furniss, Peter:</tag>
-RFC 1698: Octet Sequences for Upper-Layer OSI to Support
-Basic Communications Applications.
+<tag>2 Welch, Brent B.:</tag>
+Practical Programming in Tcl and Tk. Prentice Hall
+(ISBN 0-13-616830-2).
+
 </descrip>
 
 </article>