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 ;; 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 **** /test substitute(strcat({PL}, "TinyFugue", \ replace("TF", "TinyFugue", {PR}))) ! See: evaluation &security &/restrict --- 2736,2742 ---- /test substitute(strcat({PL}, "TinyFugue", \ replace("TF", "TinyFugue", {PR}))) ! See: evaluation, /tr &security &/restrict *************** *** 3458,3464 **** command: /biff TinyFugue is cool wares, dude. output: T1NYFUGUE 1Z C00L WAREZ, DUDE! ! See: /require, expressions, functions &/act &/trigpc --- 3458,3464 ---- command: /biff TinyFugue is cool wares, dude. output: T1NYFUGUE 1Z C00L WAREZ, DUDE! ! See: /replace, expressions, functions &/act &/trigpc *************** *** 6088,6098 **** process, tf will hang until the line is completed. * /recall by timestamp doesn't work when switching to/from daylight savings time (but /recall 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 "/set connect=blocking" before making connections. &tinyprocesses &process --- 6088,6093 ---- *************** *** 7219,7225 **** moresize() > 9999 ? "MuchMore" : \ pad("More", 4, moresize(), 4) /set status_int_world ${world_name} ! /set status_int_read inread() ? "(Read)" : "" /set status_int_active nactive() ? pad("(Active:",0,nactive(),2,")") : "" /set status_int_log nlog() ? "(Log)" : "" /set status_int_mail \ --- 7214,7220 ---- moresize() > 9999 ? "MuchMore" : \ pad("More", 4, moresize(), 4) /set status_int_world ${world_name} ! /set status_int_read nread() ? "(Read)" : "" /set status_int_active nactive() ? pad("(Active:",0,nactive(),2,")") : "" /set status_int_log nlog() ? "(Log)" : "" /set 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© ! 163092&warranty ! 163102©ing ! 163111©right ! 164281#sites ! 164288#find ! 164294#where ! 164301#www ! 164306#ftp ! 164692&syntax ! 164700&body ! 164706¯o 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¯os ! 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_ ! 298598#%start_color_ ! 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© ! 163108&warranty ! 163118©ing ! 163127©right ! 164297#sites ! 164304#find ! 164310#where ! 164317#www ! 164322#ftp ! 164708&syntax ! 164716&body ! 164722¯o 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¯os ! 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_ ! 298224#%start_color_ ! 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&