diff -cr tf-40g3/CHANGES tf-40s1/CHANGES
*** tf-40g3/CHANGES	Sun Jan 31 22:47:41 1999
--- tf-40s1/CHANGES	Sat Mar  6 14:43:23 1999
***************
*** 1,7 ****
  Only the most recent version will have detailed changes described.
  Some fixes are followed by the version in which the problem first appeared.
  
! 4.0 gamma 3 (1/24/1999)
  -----------
  The prefix for /paste can be a tf command.
  Recognizes '?' and '%' fields when copying MAILPATH to TFMAILPATH.
--- 1,11 ----
  Only the most recent version will have detailed changes described.
  Some fixes are followed by the version in which the problem first appeared.
  
! 4.0 stable 1 (3/6/1999)
! ------------
! Workaround for solaris terminal driver bug that could disable keyboard.
! 
! 4.0 gamma 3 (1/31/1999)
  -----------
  The prefix for /paste can be a tf command.
  Recognizes '?' and '%' fields when copying MAILPATH to TFMAILPATH.
diff -cr tf-40g3/src/keyboard.c tf-40s1/src/keyboard.c
*** tf-40g3/src/keyboard.c	Sun Jan 31 22:47:43 1999
--- tf-40s1/src/keyboard.c	Sat Mar  6 14:43:24 1999
***************
*** 5,11 ****
   *  TinyFugue (aka "tf") is protected under the terms of the GNU
   *  General Public License.  See the file "COPYING" for details.
   ************************************************************************/
! /* $Id: keyboard.c,v 35004.42 1999/01/31 00:27:45 hawkeye Exp $ */
  
  /**************************************************
   * Fugue keyboard handling.
--- 5,11 ----
   *  TinyFugue (aka "tf") is protected under the terms of the GNU
   *  General Public License.  See the file "COPYING" for details.
   ************************************************************************/
! /* $Id: keyboard.c,v 35004.43 1999/03/06 22:34:48 hawkeye Exp $ */
  
  /**************************************************
   * Fugue keyboard handling.
***************
*** 132,138 ****
      static int place = 0;
      static int eof = 0;
  
!     if (!eof && read_flag) {
          /* read a block of text */
          if ((count = read(STDIN_FILENO, buf, sizeof(buf))) < 0) {
              /* error or interrupt */
--- 132,144 ----
      static int place = 0;
      static int eof = 0;
  
!     /* Solaris select() incorrectly reports the terminal as readable if
!      * the user typed LNEXT, when in fact there is nothing to read because
!      * the terminal is waiting for the next character.  So we wait for
!      * read() to return 0 TWICE in a row before deciding it's EOF.
!      */
! 
!     if (eof < 2 && read_flag) {
          /* read a block of text */
          if ((count = read(STDIN_FILENO, buf, sizeof(buf))) < 0) {
              /* error or interrupt */
***************
*** 140,150 ****
              die("handle_keyboard_input: read", errno);
          } else if (count > 0) {
              /* something was read */
              keyboard_time = time(NULL);
          } else {
              /* nothing was read, and nothing is buffered */
  	    /* Don't close stdin; we don't want the fd to be reused. */
! 	    eof = 1;
  #if 0
              if (!no_tty) {
                  internal_error(__FILE__, __LINE__);
--- 146,157 ----
              die("handle_keyboard_input: read", errno);
          } else if (count > 0) {
              /* something was read */
+ 	    eof = 0;
              keyboard_time = time(NULL);
          } else {
              /* nothing was read, and nothing is buffered */
  	    /* Don't close stdin; we don't want the fd to be reused. */
! 	    eof++;
  #if 0
              if (!no_tty) {
                  internal_error(__FILE__, __LINE__);
***************
*** 155,161 ****
      }
  
      if (count == 0 && place == 0)
!         return !eof;
  
      for (i = 0; i < count; i++) {
          if (istrip) buf[i] &= 0x7F;
--- 162,168 ----
      }
  
      if (count == 0 && place == 0)
!         return eof < 2;
  
      for (i = 0; i < count; i++) {
          if (istrip) buf[i] &= 0x7F;
***************
*** 168,174 ****
      }
  
      s = current_input->s;
!     if (!s) return !eof; /* no good chars; current_input not yet allocated */
      while (place < current_input->len) {
          if (!keynode) keynode = keytrie;
          if ((pending_input = pending_line))
--- 175,181 ----
      }
  
      s = current_input->s;
!     if (!s) return eof < 2; /* no good chars; current_input not yet allocated */
      while (place < current_input->len) {
          if (!keynode) keynode = keytrie;
          if ((pending_input = pending_line))
***************
*** 218,224 ****
      input_start = key_start;
      if (pending_line && !read_depth)
          handle_input_line();
!     return !eof;
  }
  
  /* Update the input window and keyboard buffer. */
--- 225,231 ----
      input_start = key_start;
      if (pending_line && !read_depth)
          handle_input_line();
!     return eof < 2;
  }
  
  /* Update the input window and keyboard buffer. */
diff -cr tf-40g3/src/main.c tf-40s1/src/main.c
*** tf-40g3/src/main.c	Sun Jan 31 22:47:43 1999
--- tf-40s1/src/main.c	Sat Mar  6 14:43:24 1999
***************
*** 44,50 ****
   * to the version number, and put a brief description of the modifications
   * in the mods[] string.
   */
! CONST char version[] = "TinyFugue version 4.0 gamma 3";
  CONST char mods[] = "";
  
  CONST char copyright[] =
--- 44,50 ----
   * to the version number, and put a brief description of the modifications
   * in the mods[] string.
   */
! CONST char version[] = "TinyFugue version 4.0 stable 1";
  CONST char mods[] = "";
  
  CONST char copyright[] =
diff -cr tf-40g3/src/vars.mak tf-40s1/src/vars.mak
*** tf-40g3/src/vars.mak	Sun Jan 31 22:47:44 1999
--- tf-40s1/src/vars.mak	Sat Mar  6 14:43:25 1999
***************
*** 15,21 ****
  # Predefined variables:
  #   O - object file suffix (e.g., "o" or "obj")
  
! TFVER=40g3
  
  SOURCE = command.c dstring.c expand.c help.c history.c keyboard.c \
    macro.c main.c malloc.c output.c process.c search.c signals.c \
--- 15,21 ----
  # Predefined variables:
  #   O - object file suffix (e.g., "o" or "obj")
  
! TFVER=40s1
  
  SOURCE = command.c dstring.c expand.c help.c history.c keyboard.c \
    macro.c main.c malloc.c output.c process.c search.c signals.c \
diff -cr tf-40g3/tf-lib/complete.tf tf-40s1/tf-lib/complete.tf
*** tf-40g3/tf-lib/complete.tf	Sun Jan 31 22:47:45 1999
--- tf-40s1/tf-lib/complete.tf	Sat Mar  6 14:43:27 1999
***************
*** 170,175 ****
--- 170,178 ----
  /def -i complete_worldname = \
      /_complete_from_list %1 $(/listworlds -s %{1}*)
  
+ /def -i complete_sockname = \
+     /_complete_from_list %1 $(/listsockets -s %{1}*)
+ 
  
  ;; /complete_context <word>
  ;; Uses context to determine which completion macro to use.
***************
*** 206,213 ****
      /elseif (regmatch('/quote .*`("?)(.+)$$', _head)) \
          /let _completion_suffix=%P1%;\
          /complete_macroname %P2%;\
!     /elseif (_head =/ "*{/world|/connect|/fg|/edworld} {*}") \
          /complete_worldname %1%;\
      /elseif (_head =/ "*{/telnet} {*}") \
          /complete_hostname %1%;\
      /elseif (_head =/ "*/quote *!*") \
--- 209,218 ----
      /elseif (regmatch('/quote .*`("?)(.+)$$', _head)) \
          /let _completion_suffix=%P1%;\
          /complete_macroname %P2%;\
!     /elseif (_head =/ "*{/world|/connect|/edworld} {*}") \
          /complete_worldname %1%;\
+     /elseif (_head =/ "*{/fg} {*}") \
+         /complete_sockname %1%;\
      /elseif (_head =/ "*{/telnet} {*}") \
          /complete_hostname %1%;\
      /elseif (_head =/ "*/quote *!*") \
diff -cr tf-40g3/tf-lib/tf-help tf-40s1/tf-lib/tf-help
*** tf-40g3/tf-lib/tf-help	Sun Jan 31 22:47:47 1999
--- tf-40s1/tf-lib/tf-help	Sat Mar  6 14:43:27 1999
***************
*** 2736,2742 ****
          [1m/test[22;0m [1msubstitute[22;0m([1mstrcat[22;0m({PL}, "TinyFugue", \
              [1mreplace[22;0m("TF", "TinyFugue", {PR})))
  
!   See: [1mevaluation[22;0m 
  
  &security
  &/restrict
--- 2736,2742 ----
          [1m/test[22;0m [1msubstitute[22;0m([1mstrcat[22;0m({PL}, "TinyFugue", \
              [1mreplace[22;0m("TF", "TinyFugue", {PR})))
  
!   See: [1mevaluation[22;0m, [1m/tr[22;0m 
  
  &security
  &/restrict
***************
*** 3458,3464 ****
    command: /biff TinyFugue is cool wares, dude. 
    output: T1NYFUGUE 1Z C00L WAREZ, DUDE!
  
!   See: [1m/require[22;0m, [1mexpressions[22;0m, [1mfunctions[22;0m 
  
  &/act
  &/trigpc
--- 3458,3464 ----
    command: /biff TinyFugue is cool wares, dude. 
    output: T1NYFUGUE 1Z C00L WAREZ, DUDE!
  
!   See: [1m/replace[22;0m, [1mexpressions[22;0m, [1mfunctions[22;0m 
  
  &/act
  &/trigpc
***************
*** 6088,6098 ****
        process, tf will hang until the line is completed.  
      * [1m/recall[22;0m by timestamp doesn't work when switching to/from daylight 
        savings time (but [1m/recall[22;0m by age always works).  
-     * On some Solaris systems, receiving large blocks of text (such as a 
-       welcome banner sent by a mud upon connecting) can sometimes cause a 
-       disconnection with an error like "recv: resource temporarily 
-       unavailable".  This is a bug in Solaris, not TF.  You may be able to 
-       avoid it if you "[1m/set[22;0m [1mconnect[22;0m=blocking" before making connections.  
  
  &tinyprocesses
  &process
--- 6088,6093 ----
***************
*** 7219,7225 ****
           [1mmoresize()[22;0m > 9999 ? "MuchMore" : \
           [1mpad[22;0m("More", 4, [1mmoresize()[22;0m, 4)
      [1m/set[22;0m status_int_world   [1m${world_name}[22;0m
!     [1m/set[22;0m status_int_read    [1minread()[22;0m ? "(Read)" : ""
      [1m/set[22;0m status_int_active  [1mnactive()[22;0m ? [1mpad[22;0m("(Active:",0,[1mnactive()[22;0m,2,")") : ""
      [1m/set[22;0m status_int_log     [1mnlog()[22;0m ? "(Log)" : ""
      [1m/set[22;0m status_int_mail \
--- 7214,7220 ----
           [1mmoresize()[22;0m > 9999 ? "MuchMore" : \
           [1mpad[22;0m("More", 4, [1mmoresize()[22;0m, 4)
      [1m/set[22;0m status_int_world   [1m${world_name}[22;0m
!     [1m/set[22;0m status_int_read    [1mnread()[22;0m ? "(Read)" : ""
      [1m/set[22;0m status_int_active  [1mnactive()[22;0m ? [1mpad[22;0m("(Active:",0,[1mnactive()[22;0m,2,")") : ""
      [1m/set[22;0m status_int_log     [1mnlog()[22;0m ? "(Log)" : ""
      [1m/set[22;0m status_int_mail \
diff -cr tf-40g3/tf-lib/tf-help.idx tf-40s1/tf-lib/tf-help.idx
*** tf-40g3/tf-lib/tf-help.idx	Sun Jan 31 22:47:47 1999
--- tf-40s1/tf-lib/tf-help.idx	Sat Mar  6 14:43:27 1999
***************
*** 247,1051 ****
  111669&/repeat
  113596&/replace
  114071#ex
! 114423&security
! 114433&/restrict
! 115984&/result
! 115993&/return
! 118652&mudwho
! 118660&rwho.tf
! 118669&/rwho
! 119362&/savebind
! 119373&/savedef
! 119383&/savegag
! 119393&/savehilite
! 119406&/savehook
! 119417&/savetrig
! 119428&/save
! 122145&/saveworld
! 122904&/send
! 123729&/set
! 124778&/setenv
! 125535&/sh
! 127142&/shift
! 127980&/signal
! 128521&spell
! 128528&spelling
! 128538&/spell_line
! 129170&/split
! 129741&/sub
! 130743&/substitute
! 130756&substitute()
! 132601&/suspend
! 132925&/sys
! 133996&/telnet
! 135342&/test
! 136816&/fgrep
! 136824&/grep
! 136831&/egrep
! 136839&/readfile
! 136850&/writefile
! 136862&/head
! 136869&/wc
! 136874&/tee
! 136880&/copyio
! 136889&/fmt
! 136895&/uniq
! 136902&textutil
! 136912&textutil.tf
! 139978&/tick
! 139985&/tickon
! 139994&/tickoff
! 140004&/tickset
! 140014&/ticksize
! 141218&/time
! 141653&/toggle
! 141989&/tr
! 142719&/act
! 142725&/trigpc
! 142734&/trigp
! 142742&/trigc
! 142750&/trig
! 144587&/trigger
! 146179&/false
! 146187&/:
! 146191&/true
! 146489&/unbind
! 146778&/undef
! 147276&/undefn
! 147756&/undeft
! 148249&/unhook
! 148607&/unset
! 148990&/untrig
! 149580&/unworld
! 150125&/ver
! 150131&/version
! 150716&/watchdog
! 151596&/watchname
! 152523&/while
! 152531&/do
! 152536&/done
! 152543&/while
! 154255&/world
! 155074&
! 155076&hilites
! 155085&gags
! 155091&underline
! 155102&reverse
! 155111&flash
! 155118&dim
! 155123&bell
! 155129&bold
! 155135&attributes
! 155147&display attributes
! 155167&attribute
! 158542&%catch_ctrls
! 158601&/color_on
! 158612&/color_off
! 158624&color
! 158631&colour
! 158639&colours
! 158648&colors
! 161489&/complete
! 161500&%completion_list
! 161518&completion
! 163086&copy
! 163092&warranty
! 163102&copying
! 163111&copyright
! 164281#sites
! 164288#find
! 164294#where
! 164301#www
! 164306#ftp
! 164692&syntax
! 164700&body
! 164706&macro body
! 164718&reentrance
! 164730&execution
! 164741&expansion
! 164752&evaluation
! 165185#/!
! 165189#/@
! 165193#/#
! 165197#/
! 165994#
! 167983#scope
! 167990#dynamic scope
! 168846#
! 168956&logic
! 168963&math
! 168969&strings
! 168978&arithmetic
! 168990&expression
! 169002&expressions
! 169385#float
! 169392#integer
! 169401#string
! 169409#hours:minutes:seconds
! 169432#hours:minutes
! 169447#hh:mm
! 169454#hh:mm:ss
! 169464#operands
! 171456#operators
! 174970#
! 176960&file
! 176966&files
! 176973&filenames
! 176984&filename expansion
! 177830&function
! 177840&functions
! 178412#abs
! 178417#abs()
! 178562#sin
! 178567#sin()
! 178634#cos
! 178639#cos()
! 178708#tan
! 178713#tan()
! 178783#asin
! 178789#asin()
! 178955#acos
! 178961#acos()
! 179123#atan
! 179129#atan()
! 179242#exp
! 179247#exp()
! 179337#pow
! 179342#pow()
! 179530#sqrt
! 179536#sqrt()
! 179666#log
! 179671#log()
! 179678#log10
! 179685#log10()
! 180048#mod
! 180053#mod()
! 180168#trunc
! 180175#trunc()
! 180262#rand
! 180268#rand()
! 180563#
! 180590#
! 180931#send
! 180937#send()
! 181407#fwrite
! 181415#fwrite()
! 181760#tfopen
! 181768#tfopen()
! 181959#tfclose
! 181968#tfclose()
! 182113#tfread
! 182121#tfread()
! 182349#tfwrite
! 182358#tfwrite()
! 182563#tfflush
! 182572#tfflush()
! 182953#read
! 182959#read()
! 183032#
! 183435#ascii
! 183442#ascii()
! 183675#char
! 183681#char()
! 183924#tolower
! 183933#tolower()
! 184048#toupper
! 184057#toupper()
! 184172#pad
! 184177#pad()
! 184675#regmatch
! 184685#regmatch()
! 185265#strcat
! 185273#strcat()
! 185378#strchr
! 185386#strchr()
! 185620#strcmp
! 185628#strcmp()
! 185879#strlen
! 185887#strlen()
! 185977#strncmp
! 185986#strncmp()
! 186194#strrchr
! 186203#strrchr()
! 186438#strrep
! 186446#strrep()
! 186587#strstr
! 186595#strstr()
! 186782#substr
! 186790#substr()
! 187231#
! 187261#kbdel
! 187268#kbdel()
! 187432#kbgoto
! 187440#kbgoto()
! 187709#kbhead
! 187717#kbhead()
! 187809#kblen
! 187816#kblen()
! 187893#kbmatch
! 187902#kbmatch()
! 188202#kbpoint
! 188211#kbpoint()
! 188314#kbtail
! 188322#kbtail()
! 188414#kbwordleft
! 188426#kbwordleft()
! 188713#kbwordright
! 188726#kbwordright()
! 189018#keycode
! 189027#keycode()
! 189282#
! 189308#time
! 189314#time()
! 189472#columns
! 189481#columns()
! 189655#lines
! 189662#lines()
! 189979#morescroll
! 189991#morescroll()
! 190237#moresize
! 190247#moresize()
! 190352#world_info
! 190364#world_info()
! 190745#fg_world
! 190755#fg_world()
! 190921#idle
! 190927#idle()
! 191199#sidle
! 191206#sidle()
! 191459#nactive
! 191468#nactive()
! 192032#nlog
! 192038#nlog()
! 192099#nmail
! 192106#nmail()
! 192241#nread
! 192248#nread()
! 192400#getpid
! 192408#getpid()
! 192499#systype
! 192508#systype()
! 192603#
! 192623#
! 192854#filename
! 192864#filename()
! 193224#
! 193370#
! 193516#
! 193519#macro
! 193526#function syntax
! 194777#
! 195303&getopts
! 195312&getopts()
! 198624&style
! 198631&tips
! 198637&hints
! 203019&scrollback
! 203031&history
! 204335#^^
! 204339#^
! 204570#
! 204740&hook
! 204746&hooks
! 206448#ACTIVITY
! 206674#BACKGROUND
! 206769#BAMF
! 206852#CONFAIL
! 206967#CONFLICT
! 207075#CONNECT
! 207177#DISCONNECT
! 207530#KILL
! 207596#LOAD
! 207694#LOADFAIL
! 207777#LOG
! 207863#LOGIN
! 207933#MAIL
! 208015#MORE
! 208092#NOMACRO
! 208181#PENDING
! 208373#PROCESS
! 208442#PROMPT
! 208610#PROXY
! 208715#REDEF
! 208806#SIGWINCH
! 208816#RESIZE
! 208966#RESUME
! 209031#SEND
! 209195#SHADOW
! 209289#SHELL
! 209380#SIGHUP
! 209471#SIGTERM
! 209564#SIGUSR1
! 209653#SIGUSR2
! 209742#WORLD
! 209818#
! 212914&topics
! 215194&typing
! 215202&user
! 215208&interface
! 217838&intro
! 217845&me
! 217849&newbie
! 217857&tinyfugue
! 217868&introduction
! 220316&keys
! 220322&kbbind
! 220330&kbfunc
! 220338&kbfunc.tf
! 220349&kbbind.tf
! 220360&keybindings
! 228006#kbstack.tf
! 228018#kb-bash.tf
! 228030#kb-emacs.tf
! 228043#kbregion.tf
! 228056#cut
! 228061#paste
! 228068#cut and paste
! 228083#bash
! 228089#emacs
! 228096#extra keybindings
! 228550#
! 228665&stdlib.tf
! 228676&local.tf
! 228686&lib
! 228691&library
! 228700&library
! 228709&standard library
! 229459#filename macros
! 229804#
! 229807#list*
! 230444#purge*
! 231296#load*
! 231636#save*
! 231980#compress
! 231990#COMPRESS_READ
! 232005#$COMPRESS_READ
! 232021#COMPRESS_SUFFIX
! 232038#$COMPRESS_SUFFIX
! 232056#compression
! 232828#retry
! 233158#hilite_whisper
! 233174#hilite whisper
! 233190#hilite_page
! 233203#hilite page
! 233434#
! 233648&8-bit
! 233655&international
! 233670&i18n
! 233676&internationalization
! 233698&internationalisation
! 233720&locale
! 236739&autologin
! 236750&login
! 237408&macros
! 241975&mail
! 241981&mail check
! 241993&mail checking
! 243956&mailing list
! 243970&mail list
! 244278&visual
! 244286&nonvisual
! 244297&windows
! 244306&screen
! 244314&mode
! 244691#visual
! 245957#nonvisual
! 246334#
! 247044&-
! 247047&--
! 247051&options
! 247985&patterns
! 248463#comparison
! 248475#simple
! 248483#simple matching
! 248640#smatch
! 248648#globbing
! 248658#glob
! 250720#re
! 250724#regex
! 250731#regexp
! 250739#regexps
! 250748#regular expressions
! 256355&priorities
! 256367&fallthru
! 256377&fall-thru
! 256388&selection
! 256399&priority
! 256409&priority rules
! 258177&bug
! 258182&bugs
! 258188&core
! 258194&crash
! 258201&error
! 258208&report
! 258216&hawkeye
! 258225&author
! 258233&support
! 258242&problems
! 259943#
! 260881&tinyprocesses
! 260896&process
! 260905&proc
! 260911&processes
! 263252&goahead
! 263261&eor
! 263266&end-of-record
! 263281&protocol
! 263291&prompt protocol
! 264832&lp
! 264836&diku
! 264842&prompt
! 264850&prompts
! 268277&firewall
! 268287&proxy
! 268294&/proxy_command
! 268310&proxy server
! 271577&redirection
! 272071&interrupt
! 272082&hangup
! 272090&sigwinch
! 272100&signals
! 273284&
! 273286&sockets
! 274099#current
! 274108#foreground
! 274120#background
! 274132#foreground/background/current
! 275728#
! 277581&flags
! 277588&globals
! 277597&global variables
! 277615&environment
! 277628&enumerated variable
! 277649&enumerated variables
! 277671&special
! 277680&special variable
! 277698&special variables
! 278602##
! 278605#%#
! 278690#?
! 278693#%?
! 278823#
! 278956#
! 279256#
! 279585#COLUMNS
! 279594#%COLUMNS
! 279833#HOME
! 279839#%HOME
! 280022#LANG
! 280028#%LANG
! 280165#LC_ALL
! 280173#%LC_ALL
! 280312#LC_CTYPE
! 280322#%LC_CTYPE
! 280504#LC_TIME
! 280513#%LC_TIME
! 280684#LINES
! 280691#%LINES
! 280916#%MAIL
! 281016#SHELL
! 281023#%SHELL
! 281182#terminal
! 281192#term
! 281198#TERM
! 281204#%TERM
! 281750#TFHELP
! 281758#%TFHELP
! 281877#TFLIBDIR
! 281887#%TFLIBDIR
! 282447#TFLIBRARY
! 282458#%TFLIBRARY
! 282715#MAILPATH
! 282725#TFMAILPATH
! 282737#%TFMAILPATH
! 282881#TFPATH
! 282889#%TFPATH
! 283350#TZ
! 283354#%TZ
! 283910#auto_fg
! 283919#%auto_fg
! 284137#background
! 284149#%background
! 284601#backslash
! 284612#%backslash
! 284938#bamf
! 284944#%bamf
! 285238#bg_output
! 285249#%bg_output
! 285859#binary_eol
! 285871#%binary_eol
! 286081#borg
! 286087#%borg
! 286246#clearfull
! 286257#%clearfull
! 286440#cleardone
! 286451#%cleardone
! 286604#clock
! 286611#%clock
! 286949#connect
! 286958#%connect
! 287319#%e
! 287378#raw
! 287383#canon
! 287390#print
! 287397#ansi
! 287403#ansi_strip
! 287415#ansi_attr
! 287426#emulation
! 287437#%emulation
! 289384#end_color
! 289395#%end_color
! 289616#gag
! 289621#%gag
! 289746#gethostbyname
! 289761#%gethostbyname
! 290139#gpri
! 290145#%gpri
! 290238#hook
! 290244#%hook
! 290482#hilite
! 290490#%hilite
! 290698#hiliteattr
! 290710#%hiliteattr
! 290956#histsize
! 290966#%histsize
! 291246#hpri
! 291252#%hpri
! 291325#insert
! 291333#typeover
! 291343#%insert
! 291481#isize
! 291488#%isize
! 291608#istrip
! 291616#%istrip
! 291873#kecho
! 291880#%kecho
! 292040#kprefix
! 292049#%kprefix
! 292156#%login
! 292338#lp
! 292342#%lp
! 292512#lpquote
! 292521#%lpquote
! 292776#maildelay
! 292787#%maildelay
! 293020#matching
! 293030#%matching
! 293476#max_iter
! 293486#%max_iter
! 293652#max_recur
! 293663#%max_recur
! 293845#debug
! 293852#debugging
! 293863#mecho
! 293870#%mecho
! 294352#meta_esc
! 294362#%meta_esc
! 294744#more
! 294750#%more
! 294864#mprefix
! 294873#%mprefix
! 294992#oldslash
! 295002#%oldslash
! 295464#%pi
! 295564#pedantic
! 295574#%pedantic
! 295829#prompt_sec
! 295841#%prompt_sec
! 295854#prompt_usec
! 296075#proxy_host
! 296087#%proxy_host
! 296100#proxy_port
! 296112#%proxy_port
! 296323#ptime
! 296330#%ptime
! 296472#qecho
! 296479#%qecho
! 296599#qprefix
! 296608#%qprefix
! 296720#quiet login
! 296733#quiet
! 296740#%quiet
! 297066#quitdone
! 297076#%quitdone
! 297185#redef
! 297192#%redef
! 297334#refreshtime
! 297347#%refreshtime
! 297745#scroll
! 297753#%scroll
! 297896#shpause
! 297905#%shpause
! 298016#snarf
! 298023#%snarf
! 298111#sockmload
! 298122#%sockmload
! 298514#start_color
! 298527#%start_color
! 298541#start_color_name
! 298559#%start_color_name
! 298578#start_color_<name>
! 298598#%start_color_<name>
! 298798#status_attr
! 298811#%status_attr
! 298999#
! 299167#status_pad
! 299179#%status_pad
! 299366#tab
! 299371#%tab
! 299377#tabs
! 299383#tabsize
! 299392#%tabsize
! 299529#telopt
! 299537#%telopt
! 299712#sub
! 299717#%sub
! 300012#time_format
! 300025#%time_format
! 300279#visual
! 300287#%visual
! 300433#watchdog
! 300443#%watchdog
! 300558#watchname
! 300569#%watchname
! 300691#wordpunct
! 300702#%wordpunct
! 300993#wrap
! 300999#%wrap
! 301260#wraplog
! 301269#%wraplog
! 301382#wrapsize
! 301392#%wrapsize
! 301761#indent
! 301769#%indent
! 301778#wrapspace
! 301934#
! 303001&status
! 303009&status fields
! 303024&status_fields
! 303039&%status_fields
! 303055&visual bar
! 303067&visual line
! 303080&status bar
! 303092&status_line
! 303105&status line
! 310324#prompt example
! 311001#
! 311031&subs
! 311037&substitution
! 311227#%;
! 311231#newline
! 311240#command separator
! 311368#%|
! 311535#character substitution
! 311559#\n
! 311563#\\
! 311567#ascii
! 312220#//
! 312538#$[
! 312542#$[]
! 312756#$(
! 312760#$()
! 312765#command subs
! 312779#command substitution
! 313622#$
! 313625#${
! 313629#${}
! 313634#macro subs
! 313646#macro substitution
! 314120#$$
! 314414#%
! 314417#%{
! 314421#%{}
! 314426#%n
! 314430#%0
! 314434#%1
! 314438#%R
! 314442#%L
! 314446#%*
! 314450#%#
! 314454#%?
! 314458#variable subs
! 314473#variable substitution
! 314496#positional parameters
! 314519#arguments
! 314530#parameters
! 314542#variables and parameters
! 317991#%{PL}
! 317998#%PL
! 318003#%{PR}
! 318010#%PR
! 318015#%{Pn}
! 318022#%Pn
! 318027#%P
! 318031#subexpressions
! 318047#regexp subexpressions
! 319637#%%
! 319641#percent compression
! 319952#
! 320517&summary
! 321162&command line
! 321176&commandline
! 321189&startup
! 321198&initialization
! 321214&invocation
! 321226&tf
! 324231&tfout
! 324238&tferr
! 324245&streams
! 324254&tfio
! 331640&config
! 331648&configuration
! 331663&customization
! 331678&customizing
! 331691&tfrc
! 331697&tinytalk
! 331707&.tinytalk
! 331718&.tfrc
! 333009&timer
! 333016&timing
! 333186&tools
! 333193&/reedit
! 333202&/edmac
! 333210&/edvar
! 333218&/edworld
! 333228&/name
! 333235&/getline
! 333245&/xtitle
! 333254&xterm
! 333261&tools.tf
! 334099&triggers
! 338145&util
! 338151&utils
! 338158&/alias
! 338166&/at
! 338171&/complete
! 338182&completion
! 338194&/putfile
! 338204&map
! 338209&/psh
! 338215&/rwho
! 338222&spell
! 338229&/spell_line
! 338242&space_page
! 338254&/speedwalk
! 338266&tintin
! 338274&/tick
! 338281&/watch
! 338289&worldqueue
! 338301&world-q
! 338310&esc-w
! 338317&utilities
! 340432&variables
! 340443&variable
! 342365&worlds
! 342993#$world_name
! 343006#$world_character
! 343024#$world_password
! 343041#$world_host
! 343054#$world_port
! 343067#$world_mfile
! 343081#$world_type
! 343094#fields
! 344851#
! 345183&
--- 247,1051 ----
  111669&/repeat
  113596&/replace
  114071#ex
! 114439&security
! 114449&/restrict
! 116000&/result
! 116009&/return
! 118668&mudwho
! 118676&rwho.tf
! 118685&/rwho
! 119378&/savebind
! 119389&/savedef
! 119399&/savegag
! 119409&/savehilite
! 119422&/savehook
! 119433&/savetrig
! 119444&/save
! 122161&/saveworld
! 122920&/send
! 123745&/set
! 124794&/setenv
! 125551&/sh
! 127158&/shift
! 127996&/signal
! 128537&spell
! 128544&spelling
! 128554&/spell_line
! 129186&/split
! 129757&/sub
! 130759&/substitute
! 130772&substitute()
! 132617&/suspend
! 132941&/sys
! 134012&/telnet
! 135358&/test
! 136832&/fgrep
! 136840&/grep
! 136847&/egrep
! 136855&/readfile
! 136866&/writefile
! 136878&/head
! 136885&/wc
! 136890&/tee
! 136896&/copyio
! 136905&/fmt
! 136911&/uniq
! 136918&textutil
! 136928&textutil.tf
! 139994&/tick
! 140001&/tickon
! 140010&/tickoff
! 140020&/tickset
! 140030&/ticksize
! 141234&/time
! 141669&/toggle
! 142005&/tr
! 142735&/act
! 142741&/trigpc
! 142750&/trigp
! 142758&/trigc
! 142766&/trig
! 144603&/trigger
! 146195&/false
! 146203&/:
! 146207&/true
! 146505&/unbind
! 146794&/undef
! 147292&/undefn
! 147772&/undeft
! 148265&/unhook
! 148623&/unset
! 149006&/untrig
! 149596&/unworld
! 150141&/ver
! 150147&/version
! 150732&/watchdog
! 151612&/watchname
! 152539&/while
! 152547&/do
! 152552&/done
! 152559&/while
! 154271&/world
! 155090&
! 155092&hilites
! 155101&gags
! 155107&underline
! 155118&reverse
! 155127&flash
! 155134&dim
! 155139&bell
! 155145&bold
! 155151&attributes
! 155163&display attributes
! 155183&attribute
! 158558&%catch_ctrls
! 158617&/color_on
! 158628&/color_off
! 158640&color
! 158647&colour
! 158655&colours
! 158664&colors
! 161505&/complete
! 161516&%completion_list
! 161534&completion
! 163102&copy
! 163108&warranty
! 163118&copying
! 163127&copyright
! 164297#sites
! 164304#find
! 164310#where
! 164317#www
! 164322#ftp
! 164708&syntax
! 164716&body
! 164722&macro body
! 164734&reentrance
! 164746&execution
! 164757&expansion
! 164768&evaluation
! 165201#/!
! 165205#/@
! 165209#/#
! 165213#/
! 166010#
! 167999#scope
! 168006#dynamic scope
! 168862#
! 168972&logic
! 168979&math
! 168985&strings
! 168994&arithmetic
! 169006&expression
! 169018&expressions
! 169401#float
! 169408#integer
! 169417#string
! 169425#hours:minutes:seconds
! 169448#hours:minutes
! 169463#hh:mm
! 169470#hh:mm:ss
! 169480#operands
! 171472#operators
! 174986#
! 176976&file
! 176982&files
! 176989&filenames
! 177000&filename expansion
! 177846&function
! 177856&functions
! 178428#abs
! 178433#abs()
! 178578#sin
! 178583#sin()
! 178650#cos
! 178655#cos()
! 178724#tan
! 178729#tan()
! 178799#asin
! 178805#asin()
! 178971#acos
! 178977#acos()
! 179139#atan
! 179145#atan()
! 179258#exp
! 179263#exp()
! 179353#pow
! 179358#pow()
! 179546#sqrt
! 179552#sqrt()
! 179682#log
! 179687#log()
! 179694#log10
! 179701#log10()
! 180064#mod
! 180069#mod()
! 180184#trunc
! 180191#trunc()
! 180278#rand
! 180284#rand()
! 180579#
! 180606#
! 180947#send
! 180953#send()
! 181423#fwrite
! 181431#fwrite()
! 181776#tfopen
! 181784#tfopen()
! 181975#tfclose
! 181984#tfclose()
! 182129#tfread
! 182137#tfread()
! 182365#tfwrite
! 182374#tfwrite()
! 182579#tfflush
! 182588#tfflush()
! 182969#read
! 182975#read()
! 183048#
! 183451#ascii
! 183458#ascii()
! 183691#char
! 183697#char()
! 183940#tolower
! 183949#tolower()
! 184064#toupper
! 184073#toupper()
! 184188#pad
! 184193#pad()
! 184691#regmatch
! 184701#regmatch()
! 185281#strcat
! 185289#strcat()
! 185394#strchr
! 185402#strchr()
! 185636#strcmp
! 185644#strcmp()
! 185895#strlen
! 185903#strlen()
! 185993#strncmp
! 186002#strncmp()
! 186210#strrchr
! 186219#strrchr()
! 186454#strrep
! 186462#strrep()
! 186603#strstr
! 186611#strstr()
! 186798#substr
! 186806#substr()
! 187247#
! 187277#kbdel
! 187284#kbdel()
! 187448#kbgoto
! 187456#kbgoto()
! 187725#kbhead
! 187733#kbhead()
! 187825#kblen
! 187832#kblen()
! 187909#kbmatch
! 187918#kbmatch()
! 188218#kbpoint
! 188227#kbpoint()
! 188330#kbtail
! 188338#kbtail()
! 188430#kbwordleft
! 188442#kbwordleft()
! 188729#kbwordright
! 188742#kbwordright()
! 189034#keycode
! 189043#keycode()
! 189298#
! 189324#time
! 189330#time()
! 189488#columns
! 189497#columns()
! 189671#lines
! 189678#lines()
! 189995#morescroll
! 190007#morescroll()
! 190253#moresize
! 190263#moresize()
! 190368#world_info
! 190380#world_info()
! 190761#fg_world
! 190771#fg_world()
! 190937#idle
! 190943#idle()
! 191215#sidle
! 191222#sidle()
! 191475#nactive
! 191484#nactive()
! 192048#nlog
! 192054#nlog()
! 192115#nmail
! 192122#nmail()
! 192257#nread
! 192264#nread()
! 192416#getpid
! 192424#getpid()
! 192515#systype
! 192524#systype()
! 192619#
! 192639#
! 192870#filename
! 192880#filename()
! 193240#
! 193386#
! 193532#
! 193535#macro
! 193542#function syntax
! 194793#
! 195319&getopts
! 195328&getopts()
! 198640&style
! 198647&tips
! 198653&hints
! 203035&scrollback
! 203047&history
! 204351#^^
! 204355#^
! 204586#
! 204756&hook
! 204762&hooks
! 206464#ACTIVITY
! 206690#BACKGROUND
! 206785#BAMF
! 206868#CONFAIL
! 206983#CONFLICT
! 207091#CONNECT
! 207193#DISCONNECT
! 207546#KILL
! 207612#LOAD
! 207710#LOADFAIL
! 207793#LOG
! 207879#LOGIN
! 207949#MAIL
! 208031#MORE
! 208108#NOMACRO
! 208197#PENDING
! 208389#PROCESS
! 208458#PROMPT
! 208626#PROXY
! 208731#REDEF
! 208822#SIGWINCH
! 208832#RESIZE
! 208982#RESUME
! 209047#SEND
! 209211#SHADOW
! 209305#SHELL
! 209396#SIGHUP
! 209487#SIGTERM
! 209580#SIGUSR1
! 209669#SIGUSR2
! 209758#WORLD
! 209834#
! 212930&topics
! 215210&typing
! 215218&user
! 215224&interface
! 217854&intro
! 217861&me
! 217865&newbie
! 217873&tinyfugue
! 217884&introduction
! 220332&keys
! 220338&kbbind
! 220346&kbfunc
! 220354&kbfunc.tf
! 220365&kbbind.tf
! 220376&keybindings
! 228022#kbstack.tf
! 228034#kb-bash.tf
! 228046#kb-emacs.tf
! 228059#kbregion.tf
! 228072#cut
! 228077#paste
! 228084#cut and paste
! 228099#bash
! 228105#emacs
! 228112#extra keybindings
! 228566#
! 228681&stdlib.tf
! 228692&local.tf
! 228702&lib
! 228707&library
! 228716&library
! 228725&standard library
! 229475#filename macros
! 229820#
! 229823#list*
! 230460#purge*
! 231312#load*
! 231652#save*
! 231996#compress
! 232006#COMPRESS_READ
! 232021#$COMPRESS_READ
! 232037#COMPRESS_SUFFIX
! 232054#$COMPRESS_SUFFIX
! 232072#compression
! 232844#retry
! 233174#hilite_whisper
! 233190#hilite whisper
! 233206#hilite_page
! 233219#hilite page
! 233450#
! 233664&8-bit
! 233671&international
! 233686&i18n
! 233692&internationalization
! 233714&internationalisation
! 233736&locale
! 236755&autologin
! 236766&login
! 237424&macros
! 241991&mail
! 241997&mail check
! 242009&mail checking
! 243972&mailing list
! 243986&mail list
! 244294&visual
! 244302&nonvisual
! 244313&windows
! 244322&screen
! 244330&mode
! 244707#visual
! 245973#nonvisual
! 246350#
! 247060&-
! 247063&--
! 247067&options
! 248001&patterns
! 248479#comparison
! 248491#simple
! 248499#simple matching
! 248656#smatch
! 248664#globbing
! 248674#glob
! 250736#re
! 250740#regex
! 250747#regexp
! 250755#regexps
! 250764#regular expressions
! 256371&priorities
! 256383&fallthru
! 256393&fall-thru
! 256404&selection
! 256415&priority
! 256425&priority rules
! 258193&bug
! 258198&bugs
! 258204&core
! 258210&crash
! 258217&error
! 258224&report
! 258232&hawkeye
! 258241&author
! 258249&support
! 258258&problems
! 259959#
! 260507&tinyprocesses
! 260522&process
! 260531&proc
! 260537&processes
! 262878&goahead
! 262887&eor
! 262892&end-of-record
! 262907&protocol
! 262917&prompt protocol
! 264458&lp
! 264462&diku
! 264468&prompt
! 264476&prompts
! 267903&firewall
! 267913&proxy
! 267920&/proxy_command
! 267936&proxy server
! 271203&redirection
! 271697&interrupt
! 271708&hangup
! 271716&sigwinch
! 271726&signals
! 272910&
! 272912&sockets
! 273725#current
! 273734#foreground
! 273746#background
! 273758#foreground/background/current
! 275354#
! 277207&flags
! 277214&globals
! 277223&global variables
! 277241&environment
! 277254&enumerated variable
! 277275&enumerated variables
! 277297&special
! 277306&special variable
! 277324&special variables
! 278228##
! 278231#%#
! 278316#?
! 278319#%?
! 278449#
! 278582#
! 278882#
! 279211#COLUMNS
! 279220#%COLUMNS
! 279459#HOME
! 279465#%HOME
! 279648#LANG
! 279654#%LANG
! 279791#LC_ALL
! 279799#%LC_ALL
! 279938#LC_CTYPE
! 279948#%LC_CTYPE
! 280130#LC_TIME
! 280139#%LC_TIME
! 280310#LINES
! 280317#%LINES
! 280542#%MAIL
! 280642#SHELL
! 280649#%SHELL
! 280808#terminal
! 280818#term
! 280824#TERM
! 280830#%TERM
! 281376#TFHELP
! 281384#%TFHELP
! 281503#TFLIBDIR
! 281513#%TFLIBDIR
! 282073#TFLIBRARY
! 282084#%TFLIBRARY
! 282341#MAILPATH
! 282351#TFMAILPATH
! 282363#%TFMAILPATH
! 282507#TFPATH
! 282515#%TFPATH
! 282976#TZ
! 282980#%TZ
! 283536#auto_fg
! 283545#%auto_fg
! 283763#background
! 283775#%background
! 284227#backslash
! 284238#%backslash
! 284564#bamf
! 284570#%bamf
! 284864#bg_output
! 284875#%bg_output
! 285485#binary_eol
! 285497#%binary_eol
! 285707#borg
! 285713#%borg
! 285872#clearfull
! 285883#%clearfull
! 286066#cleardone
! 286077#%cleardone
! 286230#clock
! 286237#%clock
! 286575#connect
! 286584#%connect
! 286945#%e
! 287004#raw
! 287009#canon
! 287016#print
! 287023#ansi
! 287029#ansi_strip
! 287041#ansi_attr
! 287052#emulation
! 287063#%emulation
! 289010#end_color
! 289021#%end_color
! 289242#gag
! 289247#%gag
! 289372#gethostbyname
! 289387#%gethostbyname
! 289765#gpri
! 289771#%gpri
! 289864#hook
! 289870#%hook
! 290108#hilite
! 290116#%hilite
! 290324#hiliteattr
! 290336#%hiliteattr
! 290582#histsize
! 290592#%histsize
! 290872#hpri
! 290878#%hpri
! 290951#insert
! 290959#typeover
! 290969#%insert
! 291107#isize
! 291114#%isize
! 291234#istrip
! 291242#%istrip
! 291499#kecho
! 291506#%kecho
! 291666#kprefix
! 291675#%kprefix
! 291782#%login
! 291964#lp
! 291968#%lp
! 292138#lpquote
! 292147#%lpquote
! 292402#maildelay
! 292413#%maildelay
! 292646#matching
! 292656#%matching
! 293102#max_iter
! 293112#%max_iter
! 293278#max_recur
! 293289#%max_recur
! 293471#debug
! 293478#debugging
! 293489#mecho
! 293496#%mecho
! 293978#meta_esc
! 293988#%meta_esc
! 294370#more
! 294376#%more
! 294490#mprefix
! 294499#%mprefix
! 294618#oldslash
! 294628#%oldslash
! 295090#%pi
! 295190#pedantic
! 295200#%pedantic
! 295455#prompt_sec
! 295467#%prompt_sec
! 295480#prompt_usec
! 295701#proxy_host
! 295713#%proxy_host
! 295726#proxy_port
! 295738#%proxy_port
! 295949#ptime
! 295956#%ptime
! 296098#qecho
! 296105#%qecho
! 296225#qprefix
! 296234#%qprefix
! 296346#quiet login
! 296359#quiet
! 296366#%quiet
! 296692#quitdone
! 296702#%quitdone
! 296811#redef
! 296818#%redef
! 296960#refreshtime
! 296973#%refreshtime
! 297371#scroll
! 297379#%scroll
! 297522#shpause
! 297531#%shpause
! 297642#snarf
! 297649#%snarf
! 297737#sockmload
! 297748#%sockmload
! 298140#start_color
! 298153#%start_color
! 298167#start_color_name
! 298185#%start_color_name
! 298204#start_color_<name>
! 298224#%start_color_<name>
! 298424#status_attr
! 298437#%status_attr
! 298625#
! 298793#status_pad
! 298805#%status_pad
! 298992#tab
! 298997#%tab
! 299003#tabs
! 299009#tabsize
! 299018#%tabsize
! 299155#telopt
! 299163#%telopt
! 299338#sub
! 299343#%sub
! 299638#time_format
! 299651#%time_format
! 299905#visual
! 299913#%visual
! 300059#watchdog
! 300069#%watchdog
! 300184#watchname
! 300195#%watchname
! 300317#wordpunct
! 300328#%wordpunct
! 300619#wrap
! 300625#%wrap
! 300886#wraplog
! 300895#%wraplog
! 301008#wrapsize
! 301018#%wrapsize
! 301387#indent
! 301395#%indent
! 301404#wrapspace
! 301560#
! 302627&status
! 302635&status fields
! 302650&status_fields
! 302665&%status_fields
! 302681&visual bar
! 302693&visual line
! 302706&status bar
! 302718&status_line
! 302731&status line
! 309949#prompt example
! 310626#
! 310656&subs
! 310662&substitution
! 310852#%;
! 310856#newline
! 310865#command separator
! 310993#%|
! 311160#character substitution
! 311184#\n
! 311188#\\
! 311192#ascii
! 311845#//
! 312163#$[
! 312167#$[]
! 312381#$(
! 312385#$()
! 312390#command subs
! 312404#command substitution
! 313247#$
! 313250#${
! 313254#${}
! 313259#macro subs
! 313271#macro substitution
! 313745#$$
! 314039#%
! 314042#%{
! 314046#%{}
! 314051#%n
! 314055#%0
! 314059#%1
! 314063#%R
! 314067#%L
! 314071#%*
! 314075#%#
! 314079#%?
! 314083#variable subs
! 314098#variable substitution
! 314121#positional parameters
! 314144#arguments
! 314155#parameters
! 314167#variables and parameters
! 317616#%{PL}
! 317623#%PL
! 317628#%{PR}
! 317635#%PR
! 317640#%{Pn}
! 317647#%Pn
! 317652#%P
! 317656#subexpressions
! 317672#regexp subexpressions
! 319262#%%
! 319266#percent compression
! 319577#
! 320142&summary
! 320787&command line
! 320801&commandline
! 320814&startup
! 320823&initialization
! 320839&invocation
! 320851&tf
! 323856&tfout
! 323863&tferr
! 323870&streams
! 323879&tfio
! 331265&config
! 331273&configuration
! 331288&customization
! 331303&customizing
! 331316&tfrc
! 331322&tinytalk
! 331332&.tinytalk
! 331343&.tfrc
! 332634&timer
! 332641&timing
! 332811&tools
! 332818&/reedit
! 332827&/edmac
! 332835&/edvar
! 332843&/edworld
! 332853&/name
! 332860&/getline
! 332870&/xtitle
! 332879&xterm
! 332886&tools.tf
! 333724&triggers
! 337770&util
! 337776&utils
! 337783&/alias
! 337791&/at
! 337796&/complete
! 337807&completion
! 337819&/putfile
! 337829&map
! 337834&/psh
! 337840&/rwho
! 337847&spell
! 337854&/spell_line
! 337867&space_page
! 337879&/speedwalk
! 337891&tintin
! 337899&/tick
! 337906&/watch
! 337914&worldqueue
! 337926&world-q
! 337935&esc-w
! 337942&utilities
! 340057&variables
! 340068&variable
! 341990&worlds
! 342618#$world_name
! 342631#$world_character
! 342649#$world_password
! 342666#$world_host
! 342679#$world_port
! 342692#$world_mfile
! 342706#$world_type
! 342719#fields
! 344476#
! 344808&
