Home » Archimedes archive » Acorn User » AU 1998-05 A.adf » Regulars » StarInfo/Fletcher/!Help

StarInfo/Fletcher/!Help

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Acorn User » AU 1998-05 A.adf » Regulars
Filename: StarInfo/Fletcher/!Help
Read OK:
File size: 1CB2 bytes
Load address: 0000
Exec address: 0000
File contents
                                 SquigglyPipes
                                 =============

Version 1.01 (10 Aug 1997)
     
Introduction
------------
If you've used Unix you'll know how nice it can be to perform a task and,
depending on the result, do something else. Take, for example a simple 'list
all files and show the symlinks'; this might be done as something like 
"ls -al | grep '->'". Whilst this probably isn't the best example of pipes,
it does illustrate the point that this is impossible under Risc OS in a
single command.

Squiggly pipes allows you to do a similar thing to the above unix command
with the line "ex { | grep Link }" (ex is the equivilent of ls -al, SymLinks
have the filetype 'Link'). Notice that the pipe usage is almost identical to
the redirection usage "command { <|> file }".


Usage
-----
Basically any line with { | <anything> } will be parsed as a piped command.
The piped command /must/ be the last thing on the line; anything after it
will be ignored at present. Pipes may be nested, but you should remember to
include the correct number of closing brackets. That's about all I can tell
you really... It works in the majority of cases :-)


Redirection
-----------
Pipes are implemented using both the Risc OS and C redirection systems. If a
program is recognised as C it will have an input, or output (or both)
appended to it's command line; otherwise a standard OS_ChangeRedirection call
is issued. C programs are recognised as such by the signature &EF000011 at
&8010, so if you have a basic program which uses C style IO you should modify
it to contain a !&8010=&EF000011 /before/ the OS_GetEnv line. Conversely, to
ensure that you know how much data to read from the input if using 'GET'
(etc) you should do something like : 
  SYS "OS_ChangeRedirection",-1,-1 TO i%:IF i%<>0 THENleft%=EXT#i%-PTR#i%
  ELSEleft%=0

Error redirection is not performed in C, and should still result in output to
the screen in much the same way an error would in assembler or for built-ins.


Examples
--------
These are some of the examples I've tried any found to work successfully.

=== examples of simple pipes ===
( search the help for a the word 'key', search the modules list for a
  particular module, and search for commands starting with 'wimp' )
| *help { | grep key }
| ==> Help on keyword Help
| *Help <subjects> attempts to give useful information on the selected
| topics. Special keywords
| *modules { | grep URI }
| 111 0186A2B4 01830414  URI
| *help wimp. { | grep "==>" }
| ==> Help on keyword WimpFlags
| ==> Help on keyword WimpMode
| ==> Help on keyword WimpPalette
| ==> Help on keyword WimpSlot
| ==> Help on keyword WimpTask
| ==> Help on keyword WimpWriteDir
| ==> Help on keyword WimpDragDelay
| ==> Help on keyword WimpDragMove
| ==> Help on keyword WimpDoubleClickDelay
| ==> Help on keyword WimpDoubleClickMove
| ==> Help on keyword WimpAutoMenuDelay
| ==> Help on keyword WimpMenuDragDelay
| ==> Help on keyword WimpSWIVe

=== example of complex gzip ===
( compress a file, decompress it, and search the output for the word 'Justin')
| *gzip -c text { | gzip -d -c { | grep Justin } }
| Author    Justin Fletcher

=== examples of error handling ===
( Command where the first half of a pipe is broken, then second part is
broken )
| *ahelp wimp { | grep found }
| Bad vector release
(only under a taskwindow; under a shell this works correctly... curious)
| *help wimp. { | agrep "==>" }
| File 'agrep' not found

=== example of use of awk ===
( show the directory [as example], then search for files dated 'August',
  display them and at the end the total of their lengths )
| *ex ^.^.^
| Dir. ADFS::Gerph.$.Utils.Library Option 02 (Run) 
| CSD  ADFS::Gerph.$.Utils.Library.GNU.awk.Egs
| Lib. ADFS:"Unset"
| URD  ADFS:"Unset"
| Acorn        D/      Directory 14:08:51 06-May-1997 2048  bytes
| C            D/      Directory 18:35:27 03-Aug-1997 2048  bytes
| CD           D/      Directory 14:16:02 06-May-1997 2048  bytes
| Compress     D/      Directory 14:26:08 06-May-1997 2048  bytes
| Econet       D/      Directory 14:24:06 06-May-1997 2048  bytes
| Encode       D/      Directory 14:18:04 06-May-1997 2048  bytes
| FSCK         D/      Directory 14:09:20 06-May-1997 2048  bytes
| GNU          D/      Directory 14:16:34 06-May-1997 2048  bytes
| Graphics     D/      Directory 14:22:01 06-May-1997 2048  bytes
| Internet     D/      Directory 16:53:28 06-May-1997 2048  bytes
| Mail         D/      Directory 18:18:18 07-Aug-1997 2048  bytes
| Misc         D/      Directory 14:26:36 06-May-1997 2048  bytes
| Module       D/      Directory 14:13:16 06-May-1997 2048  bytes
| Obsolete     D/      Directory 14:11:20 06-May-1997 2048  bytes
| Prog         D/      Directory 14:17:31 06-May-1997 2048  bytes
| RCS          D/      Directory 15:57:16 12-Apr-1997 2048  bytes
| ReadFiles    WR/     BASIC     14:54:59 06-May-1997  985  bytes
| System       D/      Directory 14:19:31 06-May-1997 2048  bytes
| Unix         D/      Directory 14:13:54 06-May-1997 2048  bytes
| UnixComs     D/      Directory 14:28:40 06-May-1997 2048  bytes
| 
| *ex ^.^.^ { | awk "{ if ($5 ~ /Aug/) { sum+=$6; print } } END { print sum }" }
| C            D/      Directory 18:35:27 03-Aug-1997 2048  bytes
| Mail         D/      Directory 18:18:18 07-Aug-1997 2048  bytes
| 4096


    
How it works
------------
Basically I'm just using the built in redirection system to a better effect;
Temporary files are stored in the SqPipes$Path directory and should be
deleted after the commands exit. Error handling is rudimentary but should be
sufficient for 99% of occassions.


Disclaimer
----------
The author accepts no responsibility for any problems which this application
may cause or loss of data resulting in its use. You may not release this
application in any way shape or form without my express permission.


Source code
-----------
Source code for this module is not currently available. Contact
Gerph@innocent.com for details.


Bugs
----
There are a few bugs in it. To be honest (and I really mean this) I wasn't
actually at the stage at which it should have worked when it did, it was
still in the 'let's try this and see what happens' stage. As such there maybe
some fundamental things I've missed out. If there are I'm sorry, and a quick
mail to me would be muchly appreciated.

Major bug which I need to find the cause of : 'Bad vector release' - see
example on error handling (only happens in taskwindows).


Contact
-------
Any comments, queries, donations or bug reports can be sent to Justin
Fletcher at :

E-Mail : Gerph@innocent.com
URL    : http://users.essex.ac.uk/users/gerph
IRC    : On #Acorn as Gerph
Finger : finger jrflet@sunlab1.essex.ac.uk
Tel    : (01842) 813979

Snail Mail :
    Justin Fletcher
    �Galadriel�
    17b Cromwell Road,
    Weeting,
    Brandon,
    Suffolk.
    IP27 0QT


History
-------
Version 1.00 : 09 Aug 1997
               A twinkle in my eye this morning, which left my screaming that
               my head would explode by lunch time (C redirection fiddle), and
               finally worked at around 7pm.

Version 1.01 : 10 Aug 1997
               Error handling ? What's that ? Oh, well I suppose I'd better
               add some then. Oh... And maybe I should remove those little
               memory leaks that are going around.
00000000  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000020  20 53 71 75 69 67 67 6c  79 50 69 70 65 73 0a 20  | SquigglyPipes. |
00000030  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000050  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 0a 0a 56  |=============..V|
00000060  65 72 73 69 6f 6e 20 31  2e 30 31 20 28 31 30 20  |ersion 1.01 (10 |
00000070  41 75 67 20 31 39 39 37  29 0a 20 20 20 20 20 0a  |Aug 1997).     .|
00000080  49 6e 74 72 6f 64 75 63  74 69 6f 6e 0a 2d 2d 2d  |Introduction.---|
00000090  2d 2d 2d 2d 2d 2d 2d 2d  2d 0a 49 66 20 79 6f 75  |---------.If you|
000000a0  27 76 65 20 75 73 65 64  20 55 6e 69 78 20 79 6f  |'ve used Unix yo|
000000b0  75 27 6c 6c 20 6b 6e 6f  77 20 68 6f 77 20 6e 69  |u'll know how ni|
000000c0  63 65 20 69 74 20 63 61  6e 20 62 65 20 74 6f 20  |ce it can be to |
000000d0  70 65 72 66 6f 72 6d 20  61 20 74 61 73 6b 20 61  |perform a task a|
000000e0  6e 64 2c 0a 64 65 70 65  6e 64 69 6e 67 20 6f 6e  |nd,.depending on|
000000f0  20 74 68 65 20 72 65 73  75 6c 74 2c 20 64 6f 20  | the result, do |
00000100  73 6f 6d 65 74 68 69 6e  67 20 65 6c 73 65 2e 20  |something else. |
00000110  54 61 6b 65 2c 20 66 6f  72 20 65 78 61 6d 70 6c  |Take, for exampl|
00000120  65 20 61 20 73 69 6d 70  6c 65 20 27 6c 69 73 74  |e a simple 'list|
00000130  0a 61 6c 6c 20 66 69 6c  65 73 20 61 6e 64 20 73  |.all files and s|
00000140  68 6f 77 20 74 68 65 20  73 79 6d 6c 69 6e 6b 73  |how the symlinks|
00000150  27 3b 20 74 68 69 73 20  6d 69 67 68 74 20 62 65  |'; this might be|
00000160  20 64 6f 6e 65 20 61 73  20 73 6f 6d 65 74 68 69  | done as somethi|
00000170  6e 67 20 6c 69 6b 65 20  0a 22 6c 73 20 2d 61 6c  |ng like ."ls -al|
00000180  20 7c 20 67 72 65 70 20  27 2d 3e 27 22 2e 20 57  | | grep '->'". W|
00000190  68 69 6c 73 74 20 74 68  69 73 20 70 72 6f 62 61  |hilst this proba|
000001a0  62 6c 79 20 69 73 6e 27  74 20 74 68 65 20 62 65  |bly isn't the be|
000001b0  73 74 20 65 78 61 6d 70  6c 65 20 6f 66 20 70 69  |st example of pi|
000001c0  70 65 73 2c 0a 69 74 20  64 6f 65 73 20 69 6c 6c  |pes,.it does ill|
000001d0  75 73 74 72 61 74 65 20  74 68 65 20 70 6f 69 6e  |ustrate the poin|
000001e0  74 20 74 68 61 74 20 74  68 69 73 20 69 73 20 69  |t that this is i|
000001f0  6d 70 6f 73 73 69 62 6c  65 20 75 6e 64 65 72 20  |mpossible under |
00000200  52 69 73 63 20 4f 53 20  69 6e 20 61 0a 73 69 6e  |Risc OS in a.sin|
00000210  67 6c 65 20 63 6f 6d 6d  61 6e 64 2e 0a 0a 53 71  |gle command...Sq|
00000220  75 69 67 67 6c 79 20 70  69 70 65 73 20 61 6c 6c  |uiggly pipes all|
00000230  6f 77 73 20 79 6f 75 20  74 6f 20 64 6f 20 61 20  |ows you to do a |
00000240  73 69 6d 69 6c 61 72 20  74 68 69 6e 67 20 74 6f  |similar thing to|
00000250  20 74 68 65 20 61 62 6f  76 65 20 75 6e 69 78 20  | the above unix |
00000260  63 6f 6d 6d 61 6e 64 0a  77 69 74 68 20 74 68 65  |command.with the|
00000270  20 6c 69 6e 65 20 22 65  78 20 7b 20 7c 20 67 72  | line "ex { | gr|
00000280  65 70 20 4c 69 6e 6b 20  7d 22 20 28 65 78 20 69  |ep Link }" (ex i|
00000290  73 20 74 68 65 20 65 71  75 69 76 69 6c 65 6e 74  |s the equivilent|
000002a0  20 6f 66 20 6c 73 20 2d  61 6c 2c 20 53 79 6d 4c  | of ls -al, SymL|
000002b0  69 6e 6b 73 0a 68 61 76  65 20 74 68 65 20 66 69  |inks.have the fi|
000002c0  6c 65 74 79 70 65 20 27  4c 69 6e 6b 27 29 2e 20  |letype 'Link'). |
000002d0  4e 6f 74 69 63 65 20 74  68 61 74 20 74 68 65 20  |Notice that the |
000002e0  70 69 70 65 20 75 73 61  67 65 20 69 73 20 61 6c  |pipe usage is al|
000002f0  6d 6f 73 74 20 69 64 65  6e 74 69 63 61 6c 20 74  |most identical t|
00000300  6f 0a 74 68 65 20 72 65  64 69 72 65 63 74 69 6f  |o.the redirectio|
00000310  6e 20 75 73 61 67 65 20  22 63 6f 6d 6d 61 6e 64  |n usage "command|
00000320  20 7b 20 3c 7c 3e 20 66  69 6c 65 20 7d 22 2e 0a  | { <|> file }"..|
00000330  0a 0a 55 73 61 67 65 0a  2d 2d 2d 2d 2d 0a 42 61  |..Usage.-----.Ba|
00000340  73 69 63 61 6c 6c 79 20  61 6e 79 20 6c 69 6e 65  |sically any line|
00000350  20 77 69 74 68 20 7b 20  7c 20 3c 61 6e 79 74 68  | with { | <anyth|
00000360  69 6e 67 3e 20 7d 20 77  69 6c 6c 20 62 65 20 70  |ing> } will be p|
00000370  61 72 73 65 64 20 61 73  20 61 20 70 69 70 65 64  |arsed as a piped|
00000380  20 63 6f 6d 6d 61 6e 64  2e 0a 54 68 65 20 70 69  | command..The pi|
00000390  70 65 64 20 63 6f 6d 6d  61 6e 64 20 2f 6d 75 73  |ped command /mus|
000003a0  74 2f 20 62 65 20 74 68  65 20 6c 61 73 74 20 74  |t/ be the last t|
000003b0  68 69 6e 67 20 6f 6e 20  74 68 65 20 6c 69 6e 65  |hing on the line|
000003c0  3b 20 61 6e 79 74 68 69  6e 67 20 61 66 74 65 72  |; anything after|
000003d0  20 69 74 0a 77 69 6c 6c  20 62 65 20 69 67 6e 6f  | it.will be igno|
000003e0  72 65 64 20 61 74 20 70  72 65 73 65 6e 74 2e 20  |red at present. |
000003f0  50 69 70 65 73 20 6d 61  79 20 62 65 20 6e 65 73  |Pipes may be nes|
00000400  74 65 64 2c 20 62 75 74  20 79 6f 75 20 73 68 6f  |ted, but you sho|
00000410  75 6c 64 20 72 65 6d 65  6d 62 65 72 20 74 6f 0a  |uld remember to.|
00000420  69 6e 63 6c 75 64 65 20  74 68 65 20 63 6f 72 72  |include the corr|
00000430  65 63 74 20 6e 75 6d 62  65 72 20 6f 66 20 63 6c  |ect number of cl|
00000440  6f 73 69 6e 67 20 62 72  61 63 6b 65 74 73 2e 20  |osing brackets. |
00000450  54 68 61 74 27 73 20 61  62 6f 75 74 20 61 6c 6c  |That's about all|
00000460  20 49 20 63 61 6e 20 74  65 6c 6c 0a 79 6f 75 20  | I can tell.you |
00000470  72 65 61 6c 6c 79 2e 2e  2e 20 49 74 20 77 6f 72  |really... It wor|
00000480  6b 73 20 69 6e 20 74 68  65 20 6d 61 6a 6f 72 69  |ks in the majori|
00000490  74 79 20 6f 66 20 63 61  73 65 73 20 3a 2d 29 0a  |ty of cases :-).|
000004a0  0a 0a 52 65 64 69 72 65  63 74 69 6f 6e 0a 2d 2d  |..Redirection.--|
000004b0  2d 2d 2d 2d 2d 2d 2d 2d  2d 0a 50 69 70 65 73 20  |---------.Pipes |
000004c0  61 72 65 20 69 6d 70 6c  65 6d 65 6e 74 65 64 20  |are implemented |
000004d0  75 73 69 6e 67 20 62 6f  74 68 20 74 68 65 20 52  |using both the R|
000004e0  69 73 63 20 4f 53 20 61  6e 64 20 43 20 72 65 64  |isc OS and C red|
000004f0  69 72 65 63 74 69 6f 6e  20 73 79 73 74 65 6d 73  |irection systems|
00000500  2e 20 49 66 20 61 0a 70  72 6f 67 72 61 6d 20 69  |. If a.program i|
00000510  73 20 72 65 63 6f 67 6e  69 73 65 64 20 61 73 20  |s recognised as |
00000520  43 20 69 74 20 77 69 6c  6c 20 68 61 76 65 20 61  |C it will have a|
00000530  6e 20 69 6e 70 75 74 2c  20 6f 72 20 6f 75 74 70  |n input, or outp|
00000540  75 74 20 28 6f 72 20 62  6f 74 68 29 0a 61 70 70  |ut (or both).app|
00000550  65 6e 64 65 64 20 74 6f  20 69 74 27 73 20 63 6f  |ended to it's co|
00000560  6d 6d 61 6e 64 20 6c 69  6e 65 3b 20 6f 74 68 65  |mmand line; othe|
00000570  72 77 69 73 65 20 61 20  73 74 61 6e 64 61 72 64  |rwise a standard|
00000580  20 4f 53 5f 43 68 61 6e  67 65 52 65 64 69 72 65  | OS_ChangeRedire|
00000590  63 74 69 6f 6e 20 63 61  6c 6c 0a 69 73 20 69 73  |ction call.is is|
000005a0  73 75 65 64 2e 20 43 20  70 72 6f 67 72 61 6d 73  |sued. C programs|
000005b0  20 61 72 65 20 72 65 63  6f 67 6e 69 73 65 64 20  | are recognised |
000005c0  61 73 20 73 75 63 68 20  62 79 20 74 68 65 20 73  |as such by the s|
000005d0  69 67 6e 61 74 75 72 65  20 26 45 46 30 30 30 30  |ignature &EF0000|
000005e0  31 31 20 61 74 0a 26 38  30 31 30 2c 20 73 6f 20  |11 at.&8010, so |
000005f0  69 66 20 79 6f 75 20 68  61 76 65 20 61 20 62 61  |if you have a ba|
00000600  73 69 63 20 70 72 6f 67  72 61 6d 20 77 68 69 63  |sic program whic|
00000610  68 20 75 73 65 73 20 43  20 73 74 79 6c 65 20 49  |h uses C style I|
00000620  4f 20 79 6f 75 20 73 68  6f 75 6c 64 20 6d 6f 64  |O you should mod|
00000630  69 66 79 0a 69 74 20 74  6f 20 63 6f 6e 74 61 69  |ify.it to contai|
00000640  6e 20 61 20 21 26 38 30  31 30 3d 26 45 46 30 30  |n a !&8010=&EF00|
00000650  30 30 31 31 20 2f 62 65  66 6f 72 65 2f 20 74 68  |0011 /before/ th|
00000660  65 20 4f 53 5f 47 65 74  45 6e 76 20 6c 69 6e 65  |e OS_GetEnv line|
00000670  2e 20 43 6f 6e 76 65 72  73 65 6c 79 2c 20 74 6f  |. Conversely, to|
00000680  0a 65 6e 73 75 72 65 20  74 68 61 74 20 79 6f 75  |.ensure that you|
00000690  20 6b 6e 6f 77 20 68 6f  77 20 6d 75 63 68 20 64  | know how much d|
000006a0  61 74 61 20 74 6f 20 72  65 61 64 20 66 72 6f 6d  |ata to read from|
000006b0  20 74 68 65 20 69 6e 70  75 74 20 69 66 20 75 73  | the input if us|
000006c0  69 6e 67 20 27 47 45 54  27 0a 28 65 74 63 29 20  |ing 'GET'.(etc) |
000006d0  79 6f 75 20 73 68 6f 75  6c 64 20 64 6f 20 73 6f  |you should do so|
000006e0  6d 65 74 68 69 6e 67 20  6c 69 6b 65 20 3a 20 0a  |mething like : .|
000006f0  20 20 53 59 53 20 22 4f  53 5f 43 68 61 6e 67 65  |  SYS "OS_Change|
00000700  52 65 64 69 72 65 63 74  69 6f 6e 22 2c 2d 31 2c  |Redirection",-1,|
00000710  2d 31 20 54 4f 20 69 25  3a 49 46 20 69 25 3c 3e  |-1 TO i%:IF i%<>|
00000720  30 20 54 48 45 4e 6c 65  66 74 25 3d 45 58 54 23  |0 THENleft%=EXT#|
00000730  69 25 2d 50 54 52 23 69  25 0a 20 20 45 4c 53 45  |i%-PTR#i%.  ELSE|
00000740  6c 65 66 74 25 3d 30 0a  0a 45 72 72 6f 72 20 72  |left%=0..Error r|
00000750  65 64 69 72 65 63 74 69  6f 6e 20 69 73 20 6e 6f  |edirection is no|
00000760  74 20 70 65 72 66 6f 72  6d 65 64 20 69 6e 20 43  |t performed in C|
00000770  2c 20 61 6e 64 20 73 68  6f 75 6c 64 20 73 74 69  |, and should sti|
00000780  6c 6c 20 72 65 73 75 6c  74 20 69 6e 20 6f 75 74  |ll result in out|
00000790  70 75 74 20 74 6f 0a 74  68 65 20 73 63 72 65 65  |put to.the scree|
000007a0  6e 20 69 6e 20 6d 75 63  68 20 74 68 65 20 73 61  |n in much the sa|
000007b0  6d 65 20 77 61 79 20 61  6e 20 65 72 72 6f 72 20  |me way an error |
000007c0  77 6f 75 6c 64 20 69 6e  20 61 73 73 65 6d 62 6c  |would in assembl|
000007d0  65 72 20 6f 72 20 66 6f  72 20 62 75 69 6c 74 2d  |er or for built-|
000007e0  69 6e 73 2e 0a 0a 0a 45  78 61 6d 70 6c 65 73 0a  |ins....Examples.|
000007f0  2d 2d 2d 2d 2d 2d 2d 2d  0a 54 68 65 73 65 20 61  |--------.These a|
00000800  72 65 20 73 6f 6d 65 20  6f 66 20 74 68 65 20 65  |re some of the e|
00000810  78 61 6d 70 6c 65 73 20  49 27 76 65 20 74 72 69  |xamples I've tri|
00000820  65 64 20 61 6e 79 20 66  6f 75 6e 64 20 74 6f 20  |ed any found to |
00000830  77 6f 72 6b 20 73 75 63  63 65 73 73 66 75 6c 6c  |work successfull|
00000840  79 2e 0a 0a 3d 3d 3d 20  65 78 61 6d 70 6c 65 73  |y...=== examples|
00000850  20 6f 66 20 73 69 6d 70  6c 65 20 70 69 70 65 73  | of simple pipes|
00000860  20 3d 3d 3d 0a 28 20 73  65 61 72 63 68 20 74 68  | ===.( search th|
00000870  65 20 68 65 6c 70 20 66  6f 72 20 61 20 74 68 65  |e help for a the|
00000880  20 77 6f 72 64 20 27 6b  65 79 27 2c 20 73 65 61  | word 'key', sea|
00000890  72 63 68 20 74 68 65 20  6d 6f 64 75 6c 65 73 20  |rch the modules |
000008a0  6c 69 73 74 20 66 6f 72  20 61 0a 20 20 70 61 72  |list for a.  par|
000008b0  74 69 63 75 6c 61 72 20  6d 6f 64 75 6c 65 2c 20  |ticular module, |
000008c0  61 6e 64 20 73 65 61 72  63 68 20 66 6f 72 20 63  |and search for c|
000008d0  6f 6d 6d 61 6e 64 73 20  73 74 61 72 74 69 6e 67  |ommands starting|
000008e0  20 77 69 74 68 20 27 77  69 6d 70 27 20 29 0a 7c  | with 'wimp' ).||
000008f0  20 2a 68 65 6c 70 20 7b  20 7c 20 67 72 65 70 20  | *help { | grep |
00000900  6b 65 79 20 7d 0a 7c 20  3d 3d 3e 20 48 65 6c 70  |key }.| ==> Help|
00000910  20 6f 6e 20 6b 65 79 77  6f 72 64 20 48 65 6c 70  | on keyword Help|
00000920  0a 7c 20 2a 48 65 6c 70  20 3c 73 75 62 6a 65 63  |.| *Help <subjec|
00000930  74 73 3e 20 61 74 74 65  6d 70 74 73 20 74 6f 20  |ts> attempts to |
00000940  67 69 76 65 20 75 73 65  66 75 6c 20 69 6e 66 6f  |give useful info|
00000950  72 6d 61 74 69 6f 6e 20  6f 6e 20 74 68 65 20 73  |rmation on the s|
00000960  65 6c 65 63 74 65 64 0a  7c 20 74 6f 70 69 63 73  |elected.| topics|
00000970  2e 20 53 70 65 63 69 61  6c 20 6b 65 79 77 6f 72  |. Special keywor|
00000980  64 73 0a 7c 20 2a 6d 6f  64 75 6c 65 73 20 7b 20  |ds.| *modules { |
00000990  7c 20 67 72 65 70 20 55  52 49 20 7d 0a 7c 20 31  || grep URI }.| 1|
000009a0  31 31 20 30 31 38 36 41  32 42 34 20 30 31 38 33  |11 0186A2B4 0183|
000009b0  30 34 31 34 20 20 55 52  49 0a 7c 20 2a 68 65 6c  |0414  URI.| *hel|
000009c0  70 20 77 69 6d 70 2e 20  7b 20 7c 20 67 72 65 70  |p wimp. { | grep|
000009d0  20 22 3d 3d 3e 22 20 7d  0a 7c 20 3d 3d 3e 20 48  | "==>" }.| ==> H|
000009e0  65 6c 70 20 6f 6e 20 6b  65 79 77 6f 72 64 20 57  |elp on keyword W|
000009f0  69 6d 70 46 6c 61 67 73  0a 7c 20 3d 3d 3e 20 48  |impFlags.| ==> H|
00000a00  65 6c 70 20 6f 6e 20 6b  65 79 77 6f 72 64 20 57  |elp on keyword W|
00000a10  69 6d 70 4d 6f 64 65 0a  7c 20 3d 3d 3e 20 48 65  |impMode.| ==> He|
00000a20  6c 70 20 6f 6e 20 6b 65  79 77 6f 72 64 20 57 69  |lp on keyword Wi|
00000a30  6d 70 50 61 6c 65 74 74  65 0a 7c 20 3d 3d 3e 20  |mpPalette.| ==> |
00000a40  48 65 6c 70 20 6f 6e 20  6b 65 79 77 6f 72 64 20  |Help on keyword |
00000a50  57 69 6d 70 53 6c 6f 74  0a 7c 20 3d 3d 3e 20 48  |WimpSlot.| ==> H|
00000a60  65 6c 70 20 6f 6e 20 6b  65 79 77 6f 72 64 20 57  |elp on keyword W|
00000a70  69 6d 70 54 61 73 6b 0a  7c 20 3d 3d 3e 20 48 65  |impTask.| ==> He|
00000a80  6c 70 20 6f 6e 20 6b 65  79 77 6f 72 64 20 57 69  |lp on keyword Wi|
00000a90  6d 70 57 72 69 74 65 44  69 72 0a 7c 20 3d 3d 3e  |mpWriteDir.| ==>|
00000aa0  20 48 65 6c 70 20 6f 6e  20 6b 65 79 77 6f 72 64  | Help on keyword|
00000ab0  20 57 69 6d 70 44 72 61  67 44 65 6c 61 79 0a 7c  | WimpDragDelay.||
00000ac0  20 3d 3d 3e 20 48 65 6c  70 20 6f 6e 20 6b 65 79  | ==> Help on key|
00000ad0  77 6f 72 64 20 57 69 6d  70 44 72 61 67 4d 6f 76  |word WimpDragMov|
00000ae0  65 0a 7c 20 3d 3d 3e 20  48 65 6c 70 20 6f 6e 20  |e.| ==> Help on |
00000af0  6b 65 79 77 6f 72 64 20  57 69 6d 70 44 6f 75 62  |keyword WimpDoub|
00000b00  6c 65 43 6c 69 63 6b 44  65 6c 61 79 0a 7c 20 3d  |leClickDelay.| =|
00000b10  3d 3e 20 48 65 6c 70 20  6f 6e 20 6b 65 79 77 6f  |=> Help on keywo|
00000b20  72 64 20 57 69 6d 70 44  6f 75 62 6c 65 43 6c 69  |rd WimpDoubleCli|
00000b30  63 6b 4d 6f 76 65 0a 7c  20 3d 3d 3e 20 48 65 6c  |ckMove.| ==> Hel|
00000b40  70 20 6f 6e 20 6b 65 79  77 6f 72 64 20 57 69 6d  |p on keyword Wim|
00000b50  70 41 75 74 6f 4d 65 6e  75 44 65 6c 61 79 0a 7c  |pAutoMenuDelay.||
00000b60  20 3d 3d 3e 20 48 65 6c  70 20 6f 6e 20 6b 65 79  | ==> Help on key|
00000b70  77 6f 72 64 20 57 69 6d  70 4d 65 6e 75 44 72 61  |word WimpMenuDra|
00000b80  67 44 65 6c 61 79 0a 7c  20 3d 3d 3e 20 48 65 6c  |gDelay.| ==> Hel|
00000b90  70 20 6f 6e 20 6b 65 79  77 6f 72 64 20 57 69 6d  |p on keyword Wim|
00000ba0  70 53 57 49 56 65 0a 0a  3d 3d 3d 20 65 78 61 6d  |pSWIVe..=== exam|
00000bb0  70 6c 65 20 6f 66 20 63  6f 6d 70 6c 65 78 20 67  |ple of complex g|
00000bc0  7a 69 70 20 3d 3d 3d 0a  28 20 63 6f 6d 70 72 65  |zip ===.( compre|
00000bd0  73 73 20 61 20 66 69 6c  65 2c 20 64 65 63 6f 6d  |ss a file, decom|
00000be0  70 72 65 73 73 20 69 74  2c 20 61 6e 64 20 73 65  |press it, and se|
00000bf0  61 72 63 68 20 74 68 65  20 6f 75 74 70 75 74 20  |arch the output |
00000c00  66 6f 72 20 74 68 65 20  77 6f 72 64 20 27 4a 75  |for the word 'Ju|
00000c10  73 74 69 6e 27 29 0a 7c  20 2a 67 7a 69 70 20 2d  |stin').| *gzip -|
00000c20  63 20 74 65 78 74 20 7b  20 7c 20 67 7a 69 70 20  |c text { | gzip |
00000c30  2d 64 20 2d 63 20 7b 20  7c 20 67 72 65 70 20 4a  |-d -c { | grep J|
00000c40  75 73 74 69 6e 20 7d 20  7d 0a 7c 20 41 75 74 68  |ustin } }.| Auth|
00000c50  6f 72 20 20 20 20 4a 75  73 74 69 6e 20 46 6c 65  |or    Justin Fle|
00000c60  74 63 68 65 72 0a 0a 3d  3d 3d 20 65 78 61 6d 70  |tcher..=== examp|
00000c70  6c 65 73 20 6f 66 20 65  72 72 6f 72 20 68 61 6e  |les of error han|
00000c80  64 6c 69 6e 67 20 3d 3d  3d 0a 28 20 43 6f 6d 6d  |dling ===.( Comm|
00000c90  61 6e 64 20 77 68 65 72  65 20 74 68 65 20 66 69  |and where the fi|
00000ca0  72 73 74 20 68 61 6c 66  20 6f 66 20 61 20 70 69  |rst half of a pi|
00000cb0  70 65 20 69 73 20 62 72  6f 6b 65 6e 2c 20 74 68  |pe is broken, th|
00000cc0  65 6e 20 73 65 63 6f 6e  64 20 70 61 72 74 20 69  |en second part i|
00000cd0  73 0a 62 72 6f 6b 65 6e  20 29 0a 7c 20 2a 61 68  |s.broken ).| *ah|
00000ce0  65 6c 70 20 77 69 6d 70  20 7b 20 7c 20 67 72 65  |elp wimp { | gre|
00000cf0  70 20 66 6f 75 6e 64 20  7d 0a 7c 20 42 61 64 20  |p found }.| Bad |
00000d00  76 65 63 74 6f 72 20 72  65 6c 65 61 73 65 0a 28  |vector release.(|
00000d10  6f 6e 6c 79 20 75 6e 64  65 72 20 61 20 74 61 73  |only under a tas|
00000d20  6b 77 69 6e 64 6f 77 3b  20 75 6e 64 65 72 20 61  |kwindow; under a|
00000d30  20 73 68 65 6c 6c 20 74  68 69 73 20 77 6f 72 6b  | shell this work|
00000d40  73 20 63 6f 72 72 65 63  74 6c 79 2e 2e 2e 20 63  |s correctly... c|
00000d50  75 72 69 6f 75 73 29 0a  7c 20 2a 68 65 6c 70 20  |urious).| *help |
00000d60  77 69 6d 70 2e 20 7b 20  7c 20 61 67 72 65 70 20  |wimp. { | agrep |
00000d70  22 3d 3d 3e 22 20 7d 0a  7c 20 46 69 6c 65 20 27  |"==>" }.| File '|
00000d80  61 67 72 65 70 27 20 6e  6f 74 20 66 6f 75 6e 64  |agrep' not found|
00000d90  0a 0a 3d 3d 3d 20 65 78  61 6d 70 6c 65 20 6f 66  |..=== example of|
00000da0  20 75 73 65 20 6f 66 20  61 77 6b 20 3d 3d 3d 0a  | use of awk ===.|
00000db0  28 20 73 68 6f 77 20 74  68 65 20 64 69 72 65 63  |( show the direc|
00000dc0  74 6f 72 79 20 5b 61 73  20 65 78 61 6d 70 6c 65  |tory [as example|
00000dd0  5d 2c 20 74 68 65 6e 20  73 65 61 72 63 68 20 66  |], then search f|
00000de0  6f 72 20 66 69 6c 65 73  20 64 61 74 65 64 20 27  |or files dated '|
00000df0  41 75 67 75 73 74 27 2c  0a 20 20 64 69 73 70 6c  |August',.  displ|
00000e00  61 79 20 74 68 65 6d 20  61 6e 64 20 61 74 20 74  |ay them and at t|
00000e10  68 65 20 65 6e 64 20 74  68 65 20 74 6f 74 61 6c  |he end the total|
00000e20  20 6f 66 20 74 68 65 69  72 20 6c 65 6e 67 74 68  | of their length|
00000e30  73 20 29 0a 7c 20 2a 65  78 20 5e 2e 5e 2e 5e 0a  |s ).| *ex ^.^.^.|
00000e40  7c 20 44 69 72 2e 20 41  44 46 53 3a 3a 47 65 72  || Dir. ADFS::Ger|
00000e50  70 68 2e 24 2e 55 74 69  6c 73 2e 4c 69 62 72 61  |ph.$.Utils.Libra|
00000e60  72 79 20 4f 70 74 69 6f  6e 20 30 32 20 28 52 75  |ry Option 02 (Ru|
00000e70  6e 29 20 0a 7c 20 43 53  44 20 20 41 44 46 53 3a  |n) .| CSD  ADFS:|
00000e80  3a 47 65 72 70 68 2e 24  2e 55 74 69 6c 73 2e 4c  |:Gerph.$.Utils.L|
00000e90  69 62 72 61 72 79 2e 47  4e 55 2e 61 77 6b 2e 45  |ibrary.GNU.awk.E|
00000ea0  67 73 0a 7c 20 4c 69 62  2e 20 41 44 46 53 3a 22  |gs.| Lib. ADFS:"|
00000eb0  55 6e 73 65 74 22 0a 7c  20 55 52 44 20 20 41 44  |Unset".| URD  AD|
00000ec0  46 53 3a 22 55 6e 73 65  74 22 0a 7c 20 41 63 6f  |FS:"Unset".| Aco|
00000ed0  72 6e 20 20 20 20 20 20  20 20 44 2f 20 20 20 20  |rn        D/    |
00000ee0  20 20 44 69 72 65 63 74  6f 72 79 20 31 34 3a 30  |  Directory 14:0|
00000ef0  38 3a 35 31 20 30 36 2d  4d 61 79 2d 31 39 39 37  |8:51 06-May-1997|
00000f00  20 32 30 34 38 20 20 62  79 74 65 73 0a 7c 20 43  | 2048  bytes.| C|
00000f10  20 20 20 20 20 20 20 20  20 20 20 20 44 2f 20 20  |            D/  |
00000f20  20 20 20 20 44 69 72 65  63 74 6f 72 79 20 31 38  |    Directory 18|
00000f30  3a 33 35 3a 32 37 20 30  33 2d 41 75 67 2d 31 39  |:35:27 03-Aug-19|
00000f40  39 37 20 32 30 34 38 20  20 62 79 74 65 73 0a 7c  |97 2048  bytes.||
00000f50  20 43 44 20 20 20 20 20  20 20 20 20 20 20 44 2f  | CD           D/|
00000f60  20 20 20 20 20 20 44 69  72 65 63 74 6f 72 79 20  |      Directory |
00000f70  31 34 3a 31 36 3a 30 32  20 30 36 2d 4d 61 79 2d  |14:16:02 06-May-|
00000f80  31 39 39 37 20 32 30 34  38 20 20 62 79 74 65 73  |1997 2048  bytes|
00000f90  0a 7c 20 43 6f 6d 70 72  65 73 73 20 20 20 20 20  |.| Compress     |
00000fa0  44 2f 20 20 20 20 20 20  44 69 72 65 63 74 6f 72  |D/      Director|
00000fb0  79 20 31 34 3a 32 36 3a  30 38 20 30 36 2d 4d 61  |y 14:26:08 06-Ma|
00000fc0  79 2d 31 39 39 37 20 32  30 34 38 20 20 62 79 74  |y-1997 2048  byt|
00000fd0  65 73 0a 7c 20 45 63 6f  6e 65 74 20 20 20 20 20  |es.| Econet     |
00000fe0  20 20 44 2f 20 20 20 20  20 20 44 69 72 65 63 74  |  D/      Direct|
00000ff0  6f 72 79 20 31 34 3a 32  34 3a 30 36 20 30 36 2d  |ory 14:24:06 06-|
00001000  4d 61 79 2d 31 39 39 37  20 32 30 34 38 20 20 62  |May-1997 2048  b|
00001010  79 74 65 73 0a 7c 20 45  6e 63 6f 64 65 20 20 20  |ytes.| Encode   |
00001020  20 20 20 20 44 2f 20 20  20 20 20 20 44 69 72 65  |    D/      Dire|
00001030  63 74 6f 72 79 20 31 34  3a 31 38 3a 30 34 20 30  |ctory 14:18:04 0|
00001040  36 2d 4d 61 79 2d 31 39  39 37 20 32 30 34 38 20  |6-May-1997 2048 |
00001050  20 62 79 74 65 73 0a 7c  20 46 53 43 4b 20 20 20  | bytes.| FSCK   |
00001060  20 20 20 20 20 20 44 2f  20 20 20 20 20 20 44 69  |      D/      Di|
00001070  72 65 63 74 6f 72 79 20  31 34 3a 30 39 3a 32 30  |rectory 14:09:20|
00001080  20 30 36 2d 4d 61 79 2d  31 39 39 37 20 32 30 34  | 06-May-1997 204|
00001090  38 20 20 62 79 74 65 73  0a 7c 20 47 4e 55 20 20  |8  bytes.| GNU  |
000010a0  20 20 20 20 20 20 20 20  44 2f 20 20 20 20 20 20  |        D/      |
000010b0  44 69 72 65 63 74 6f 72  79 20 31 34 3a 31 36 3a  |Directory 14:16:|
000010c0  33 34 20 30 36 2d 4d 61  79 2d 31 39 39 37 20 32  |34 06-May-1997 2|
000010d0  30 34 38 20 20 62 79 74  65 73 0a 7c 20 47 72 61  |048  bytes.| Gra|
000010e0  70 68 69 63 73 20 20 20  20 20 44 2f 20 20 20 20  |phics     D/    |
000010f0  20 20 44 69 72 65 63 74  6f 72 79 20 31 34 3a 32  |  Directory 14:2|
00001100  32 3a 30 31 20 30 36 2d  4d 61 79 2d 31 39 39 37  |2:01 06-May-1997|
00001110  20 32 30 34 38 20 20 62  79 74 65 73 0a 7c 20 49  | 2048  bytes.| I|
00001120  6e 74 65 72 6e 65 74 20  20 20 20 20 44 2f 20 20  |nternet     D/  |
00001130  20 20 20 20 44 69 72 65  63 74 6f 72 79 20 31 36  |    Directory 16|
00001140  3a 35 33 3a 32 38 20 30  36 2d 4d 61 79 2d 31 39  |:53:28 06-May-19|
00001150  39 37 20 32 30 34 38 20  20 62 79 74 65 73 0a 7c  |97 2048  bytes.||
00001160  20 4d 61 69 6c 20 20 20  20 20 20 20 20 20 44 2f  | Mail         D/|
00001170  20 20 20 20 20 20 44 69  72 65 63 74 6f 72 79 20  |      Directory |
00001180  31 38 3a 31 38 3a 31 38  20 30 37 2d 41 75 67 2d  |18:18:18 07-Aug-|
00001190  31 39 39 37 20 32 30 34  38 20 20 62 79 74 65 73  |1997 2048  bytes|
000011a0  0a 7c 20 4d 69 73 63 20  20 20 20 20 20 20 20 20  |.| Misc         |
000011b0  44 2f 20 20 20 20 20 20  44 69 72 65 63 74 6f 72  |D/      Director|
000011c0  79 20 31 34 3a 32 36 3a  33 36 20 30 36 2d 4d 61  |y 14:26:36 06-Ma|
000011d0  79 2d 31 39 39 37 20 32  30 34 38 20 20 62 79 74  |y-1997 2048  byt|
000011e0  65 73 0a 7c 20 4d 6f 64  75 6c 65 20 20 20 20 20  |es.| Module     |
000011f0  20 20 44 2f 20 20 20 20  20 20 44 69 72 65 63 74  |  D/      Direct|
00001200  6f 72 79 20 31 34 3a 31  33 3a 31 36 20 30 36 2d  |ory 14:13:16 06-|
00001210  4d 61 79 2d 31 39 39 37  20 32 30 34 38 20 20 62  |May-1997 2048  b|
00001220  79 74 65 73 0a 7c 20 4f  62 73 6f 6c 65 74 65 20  |ytes.| Obsolete |
00001230  20 20 20 20 44 2f 20 20  20 20 20 20 44 69 72 65  |    D/      Dire|
00001240  63 74 6f 72 79 20 31 34  3a 31 31 3a 32 30 20 30  |ctory 14:11:20 0|
00001250  36 2d 4d 61 79 2d 31 39  39 37 20 32 30 34 38 20  |6-May-1997 2048 |
00001260  20 62 79 74 65 73 0a 7c  20 50 72 6f 67 20 20 20  | bytes.| Prog   |
00001270  20 20 20 20 20 20 44 2f  20 20 20 20 20 20 44 69  |      D/      Di|
00001280  72 65 63 74 6f 72 79 20  31 34 3a 31 37 3a 33 31  |rectory 14:17:31|
00001290  20 30 36 2d 4d 61 79 2d  31 39 39 37 20 32 30 34  | 06-May-1997 204|
000012a0  38 20 20 62 79 74 65 73  0a 7c 20 52 43 53 20 20  |8  bytes.| RCS  |
000012b0  20 20 20 20 20 20 20 20  44 2f 20 20 20 20 20 20  |        D/      |
000012c0  44 69 72 65 63 74 6f 72  79 20 31 35 3a 35 37 3a  |Directory 15:57:|
000012d0  31 36 20 31 32 2d 41 70  72 2d 31 39 39 37 20 32  |16 12-Apr-1997 2|
000012e0  30 34 38 20 20 62 79 74  65 73 0a 7c 20 52 65 61  |048  bytes.| Rea|
000012f0  64 46 69 6c 65 73 20 20  20 20 57 52 2f 20 20 20  |dFiles    WR/   |
00001300  20 20 42 41 53 49 43 20  20 20 20 20 31 34 3a 35  |  BASIC     14:5|
00001310  34 3a 35 39 20 30 36 2d  4d 61 79 2d 31 39 39 37  |4:59 06-May-1997|
00001320  20 20 39 38 35 20 20 62  79 74 65 73 0a 7c 20 53  |  985  bytes.| S|
00001330  79 73 74 65 6d 20 20 20  20 20 20 20 44 2f 20 20  |ystem       D/  |
00001340  20 20 20 20 44 69 72 65  63 74 6f 72 79 20 31 34  |    Directory 14|
00001350  3a 31 39 3a 33 31 20 30  36 2d 4d 61 79 2d 31 39  |:19:31 06-May-19|
00001360  39 37 20 32 30 34 38 20  20 62 79 74 65 73 0a 7c  |97 2048  bytes.||
00001370  20 55 6e 69 78 20 20 20  20 20 20 20 20 20 44 2f  | Unix         D/|
00001380  20 20 20 20 20 20 44 69  72 65 63 74 6f 72 79 20  |      Directory |
00001390  31 34 3a 31 33 3a 35 34  20 30 36 2d 4d 61 79 2d  |14:13:54 06-May-|
000013a0  31 39 39 37 20 32 30 34  38 20 20 62 79 74 65 73  |1997 2048  bytes|
000013b0  0a 7c 20 55 6e 69 78 43  6f 6d 73 20 20 20 20 20  |.| UnixComs     |
000013c0  44 2f 20 20 20 20 20 20  44 69 72 65 63 74 6f 72  |D/      Director|
000013d0  79 20 31 34 3a 32 38 3a  34 30 20 30 36 2d 4d 61  |y 14:28:40 06-Ma|
000013e0  79 2d 31 39 39 37 20 32  30 34 38 20 20 62 79 74  |y-1997 2048  byt|
000013f0  65 73 0a 7c 20 0a 7c 20  2a 65 78 20 5e 2e 5e 2e  |es.| .| *ex ^.^.|
00001400  5e 20 7b 20 7c 20 61 77  6b 20 22 7b 20 69 66 20  |^ { | awk "{ if |
00001410  28 24 35 20 7e 20 2f 41  75 67 2f 29 20 7b 20 73  |($5 ~ /Aug/) { s|
00001420  75 6d 2b 3d 24 36 3b 20  70 72 69 6e 74 20 7d 20  |um+=$6; print } |
00001430  7d 20 45 4e 44 20 7b 20  70 72 69 6e 74 20 73 75  |} END { print su|
00001440  6d 20 7d 22 20 7d 0a 7c  20 43 20 20 20 20 20 20  |m }" }.| C      |
00001450  20 20 20 20 20 20 44 2f  20 20 20 20 20 20 44 69  |      D/      Di|
00001460  72 65 63 74 6f 72 79 20  31 38 3a 33 35 3a 32 37  |rectory 18:35:27|
00001470  20 30 33 2d 41 75 67 2d  31 39 39 37 20 32 30 34  | 03-Aug-1997 204|
00001480  38 20 20 62 79 74 65 73  0a 7c 20 4d 61 69 6c 20  |8  bytes.| Mail |
00001490  20 20 20 20 20 20 20 20  44 2f 20 20 20 20 20 20  |        D/      |
000014a0  44 69 72 65 63 74 6f 72  79 20 31 38 3a 31 38 3a  |Directory 18:18:|
000014b0  31 38 20 30 37 2d 41 75  67 2d 31 39 39 37 20 32  |18 07-Aug-1997 2|
000014c0  30 34 38 20 20 62 79 74  65 73 0a 7c 20 34 30 39  |048  bytes.| 409|
000014d0  36 0a 0a 0a 20 20 20 20  0a 48 6f 77 20 69 74 20  |6...    .How it |
000014e0  77 6f 72 6b 73 0a 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |works.----------|
000014f0  2d 2d 0a 42 61 73 69 63  61 6c 6c 79 20 49 27 6d  |--.Basically I'm|
00001500  20 6a 75 73 74 20 75 73  69 6e 67 20 74 68 65 20  | just using the |
00001510  62 75 69 6c 74 20 69 6e  20 72 65 64 69 72 65 63  |built in redirec|
00001520  74 69 6f 6e 20 73 79 73  74 65 6d 20 74 6f 20 61  |tion system to a|
00001530  20 62 65 74 74 65 72 20  65 66 66 65 63 74 3b 0a  | better effect;.|
00001540  54 65 6d 70 6f 72 61 72  79 20 66 69 6c 65 73 20  |Temporary files |
00001550  61 72 65 20 73 74 6f 72  65 64 20 69 6e 20 74 68  |are stored in th|
00001560  65 20 53 71 50 69 70 65  73 24 50 61 74 68 20 64  |e SqPipes$Path d|
00001570  69 72 65 63 74 6f 72 79  20 61 6e 64 20 73 68 6f  |irectory and sho|
00001580  75 6c 64 20 62 65 0a 64  65 6c 65 74 65 64 20 61  |uld be.deleted a|
00001590  66 74 65 72 20 74 68 65  20 63 6f 6d 6d 61 6e 64  |fter the command|
000015a0  73 20 65 78 69 74 2e 20  45 72 72 6f 72 20 68 61  |s exit. Error ha|
000015b0  6e 64 6c 69 6e 67 20 69  73 20 72 75 64 69 6d 65  |ndling is rudime|
000015c0  6e 74 61 72 79 20 62 75  74 20 73 68 6f 75 6c 64  |ntary but should|
000015d0  20 62 65 0a 73 75 66 66  69 63 69 65 6e 74 20 66  | be.sufficient f|
000015e0  6f 72 20 39 39 25 20 6f  66 20 6f 63 63 61 73 73  |or 99% of occass|
000015f0  69 6f 6e 73 2e 0a 0a 0a  44 69 73 63 6c 61 69 6d  |ions....Disclaim|
00001600  65 72 0a 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 0a 54 68  |er.----------.Th|
00001610  65 20 61 75 74 68 6f 72  20 61 63 63 65 70 74 73  |e author accepts|
00001620  20 6e 6f 20 72 65 73 70  6f 6e 73 69 62 69 6c 69  | no responsibili|
00001630  74 79 20 66 6f 72 20 61  6e 79 20 70 72 6f 62 6c  |ty for any probl|
00001640  65 6d 73 20 77 68 69 63  68 20 74 68 69 73 20 61  |ems which this a|
00001650  70 70 6c 69 63 61 74 69  6f 6e 0a 6d 61 79 20 63  |pplication.may c|
00001660  61 75 73 65 20 6f 72 20  6c 6f 73 73 20 6f 66 20  |ause or loss of |
00001670  64 61 74 61 20 72 65 73  75 6c 74 69 6e 67 20 69  |data resulting i|
00001680  6e 20 69 74 73 20 75 73  65 2e 20 59 6f 75 20 6d  |n its use. You m|
00001690  61 79 20 6e 6f 74 20 72  65 6c 65 61 73 65 20 74  |ay not release t|
000016a0  68 69 73 0a 61 70 70 6c  69 63 61 74 69 6f 6e 20  |his.application |
000016b0  69 6e 20 61 6e 79 20 77  61 79 20 73 68 61 70 65  |in any way shape|
000016c0  20 6f 72 20 66 6f 72 6d  20 77 69 74 68 6f 75 74  | or form without|
000016d0  20 6d 79 20 65 78 70 72  65 73 73 20 70 65 72 6d  | my express perm|
000016e0  69 73 73 69 6f 6e 2e 0a  0a 0a 53 6f 75 72 63 65  |ission....Source|
000016f0  20 63 6f 64 65 0a 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  | code.----------|
00001700  2d 0a 53 6f 75 72 63 65  20 63 6f 64 65 20 66 6f  |-.Source code fo|
00001710  72 20 74 68 69 73 20 6d  6f 64 75 6c 65 20 69 73  |r this module is|
00001720  20 6e 6f 74 20 63 75 72  72 65 6e 74 6c 79 20 61  | not currently a|
00001730  76 61 69 6c 61 62 6c 65  2e 20 43 6f 6e 74 61 63  |vailable. Contac|
00001740  74 0a 47 65 72 70 68 40  69 6e 6e 6f 63 65 6e 74  |t.Gerph@innocent|
00001750  2e 63 6f 6d 20 66 6f 72  20 64 65 74 61 69 6c 73  |.com for details|
00001760  2e 0a 0a 0a 42 75 67 73  0a 2d 2d 2d 2d 0a 54 68  |....Bugs.----.Th|
00001770  65 72 65 20 61 72 65 20  61 20 66 65 77 20 62 75  |ere are a few bu|
00001780  67 73 20 69 6e 20 69 74  2e 20 54 6f 20 62 65 20  |gs in it. To be |
00001790  68 6f 6e 65 73 74 20 28  61 6e 64 20 49 20 72 65  |honest (and I re|
000017a0  61 6c 6c 79 20 6d 65 61  6e 20 74 68 69 73 29 20  |ally mean this) |
000017b0  49 20 77 61 73 6e 27 74  0a 61 63 74 75 61 6c 6c  |I wasn't.actuall|
000017c0  79 20 61 74 20 74 68 65  20 73 74 61 67 65 20 61  |y at the stage a|
000017d0  74 20 77 68 69 63 68 20  69 74 20 73 68 6f 75 6c  |t which it shoul|
000017e0  64 20 68 61 76 65 20 77  6f 72 6b 65 64 20 77 68  |d have worked wh|
000017f0  65 6e 20 69 74 20 64 69  64 2c 20 69 74 20 77 61  |en it did, it wa|
00001800  73 0a 73 74 69 6c 6c 20  69 6e 20 74 68 65 20 27  |s.still in the '|
00001810  6c 65 74 27 73 20 74 72  79 20 74 68 69 73 20 61  |let's try this a|
00001820  6e 64 20 73 65 65 20 77  68 61 74 20 68 61 70 70  |nd see what happ|
00001830  65 6e 73 27 20 73 74 61  67 65 2e 20 41 73 20 73  |ens' stage. As s|
00001840  75 63 68 20 74 68 65 72  65 20 6d 61 79 62 65 0a  |uch there maybe.|
00001850  73 6f 6d 65 20 66 75 6e  64 61 6d 65 6e 74 61 6c  |some fundamental|
00001860  20 74 68 69 6e 67 73 20  49 27 76 65 20 6d 69 73  | things I've mis|
00001870  73 65 64 20 6f 75 74 2e  20 49 66 20 74 68 65 72  |sed out. If ther|
00001880  65 20 61 72 65 20 49 27  6d 20 73 6f 72 72 79 2c  |e are I'm sorry,|
00001890  20 61 6e 64 20 61 20 71  75 69 63 6b 0a 6d 61 69  | and a quick.mai|
000018a0  6c 20 74 6f 20 6d 65 20  77 6f 75 6c 64 20 62 65  |l to me would be|
000018b0  20 6d 75 63 68 6c 79 20  61 70 70 72 65 63 69 61  | muchly apprecia|
000018c0  74 65 64 2e 0a 0a 4d 61  6a 6f 72 20 62 75 67 20  |ted...Major bug |
000018d0  77 68 69 63 68 20 49 20  6e 65 65 64 20 74 6f 20  |which I need to |
000018e0  66 69 6e 64 20 74 68 65  20 63 61 75 73 65 20 6f  |find the cause o|
000018f0  66 20 3a 20 27 42 61 64  20 76 65 63 74 6f 72 20  |f : 'Bad vector |
00001900  72 65 6c 65 61 73 65 27  20 2d 20 73 65 65 0a 65  |release' - see.e|
00001910  78 61 6d 70 6c 65 20 6f  6e 20 65 72 72 6f 72 20  |xample on error |
00001920  68 61 6e 64 6c 69 6e 67  20 28 6f 6e 6c 79 20 68  |handling (only h|
00001930  61 70 70 65 6e 73 20 69  6e 20 74 61 73 6b 77 69  |appens in taskwi|
00001940  6e 64 6f 77 73 29 2e 0a  0a 0a 43 6f 6e 74 61 63  |ndows)....Contac|
00001950  74 0a 2d 2d 2d 2d 2d 2d  2d 0a 41 6e 79 20 63 6f  |t.-------.Any co|
00001960  6d 6d 65 6e 74 73 2c 20  71 75 65 72 69 65 73 2c  |mments, queries,|
00001970  20 64 6f 6e 61 74 69 6f  6e 73 20 6f 72 20 62 75  | donations or bu|
00001980  67 20 72 65 70 6f 72 74  73 20 63 61 6e 20 62 65  |g reports can be|
00001990  20 73 65 6e 74 20 74 6f  20 4a 75 73 74 69 6e 0a  | sent to Justin.|
000019a0  46 6c 65 74 63 68 65 72  20 61 74 20 3a 0a 0a 45  |Fletcher at :..E|
000019b0  2d 4d 61 69 6c 20 3a 20  47 65 72 70 68 40 69 6e  |-Mail : Gerph@in|
000019c0  6e 6f 63 65 6e 74 2e 63  6f 6d 0a 55 52 4c 20 20  |nocent.com.URL  |
000019d0  20 20 3a 20 68 74 74 70  3a 2f 2f 75 73 65 72 73  |  : http://users|
000019e0  2e 65 73 73 65 78 2e 61  63 2e 75 6b 2f 75 73 65  |.essex.ac.uk/use|
000019f0  72 73 2f 67 65 72 70 68  0a 49 52 43 20 20 20 20  |rs/gerph.IRC    |
00001a00  3a 20 4f 6e 20 23 41 63  6f 72 6e 20 61 73 20 47  |: On #Acorn as G|
00001a10  65 72 70 68 0a 46 69 6e  67 65 72 20 3a 20 66 69  |erph.Finger : fi|
00001a20  6e 67 65 72 20 6a 72 66  6c 65 74 40 73 75 6e 6c  |nger jrflet@sunl|
00001a30  61 62 31 2e 65 73 73 65  78 2e 61 63 2e 75 6b 0a  |ab1.essex.ac.uk.|
00001a40  54 65 6c 20 20 20 20 3a  20 28 30 31 38 34 32 29  |Tel    : (01842)|
00001a50  20 38 31 33 39 37 39 0a  0a 53 6e 61 69 6c 20 4d  | 813979..Snail M|
00001a60  61 69 6c 20 3a 0a 20 20  20 20 4a 75 73 74 69 6e  |ail :.    Justin|
00001a70  20 46 6c 65 74 63 68 65  72 0a 20 20 20 20 94 47  | Fletcher.    .G|
00001a80  61 6c 61 64 72 69 65 6c  95 0a 20 20 20 20 31 37  |aladriel..    17|
00001a90  62 20 43 72 6f 6d 77 65  6c 6c 20 52 6f 61 64 2c  |b Cromwell Road,|
00001aa0  0a 20 20 20 20 57 65 65  74 69 6e 67 2c 0a 20 20  |.    Weeting,.  |
00001ab0  20 20 42 72 61 6e 64 6f  6e 2c 0a 20 20 20 20 53  |  Brandon,.    S|
00001ac0  75 66 66 6f 6c 6b 2e 0a  20 20 20 20 49 50 32 37  |uffolk..    IP27|
00001ad0  20 30 51 54 0a 0a 0a 48  69 73 74 6f 72 79 0a 2d  | 0QT...History.-|
00001ae0  2d 2d 2d 2d 2d 2d 0a 56  65 72 73 69 6f 6e 20 31  |------.Version 1|
00001af0  2e 30 30 20 3a 20 30 39  20 41 75 67 20 31 39 39  |.00 : 09 Aug 199|
00001b00  37 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |7.              |
00001b10  20 41 20 74 77 69 6e 6b  6c 65 20 69 6e 20 6d 79  | A twinkle in my|
00001b20  20 65 79 65 20 74 68 69  73 20 6d 6f 72 6e 69 6e  | eye this mornin|
00001b30  67 2c 20 77 68 69 63 68  20 6c 65 66 74 20 6d 79  |g, which left my|
00001b40  20 73 63 72 65 61 6d 69  6e 67 20 74 68 61 74 0a  | screaming that.|
00001b50  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 6d  |               m|
00001b60  79 20 68 65 61 64 20 77  6f 75 6c 64 20 65 78 70  |y head would exp|
00001b70  6c 6f 64 65 20 62 79 20  6c 75 6e 63 68 20 74 69  |lode by lunch ti|
00001b80  6d 65 20 28 43 20 72 65  64 69 72 65 63 74 69 6f  |me (C redirectio|
00001b90  6e 20 66 69 64 64 6c 65  29 2c 20 61 6e 64 0a 20  |n fiddle), and. |
00001ba0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 66 69  |              fi|
00001bb0  6e 61 6c 6c 79 20 77 6f  72 6b 65 64 20 61 74 20  |nally worked at |
00001bc0  61 72 6f 75 6e 64 20 37  70 6d 2e 0a 0a 56 65 72  |around 7pm...Ver|
00001bd0  73 69 6f 6e 20 31 2e 30  31 20 3a 20 31 30 20 41  |sion 1.01 : 10 A|
00001be0  75 67 20 31 39 39 37 0a  20 20 20 20 20 20 20 20  |ug 1997.        |
00001bf0  20 20 20 20 20 20 20 45  72 72 6f 72 20 68 61 6e  |       Error han|
00001c00  64 6c 69 6e 67 20 3f 20  57 68 61 74 27 73 20 74  |dling ? What's t|
00001c10  68 61 74 20 3f 20 4f 68  2c 20 77 65 6c 6c 20 49  |hat ? Oh, well I|
00001c20  20 73 75 70 70 6f 73 65  20 49 27 64 20 62 65 74  | suppose I'd bet|
00001c30  74 65 72 0a 20 20 20 20  20 20 20 20 20 20 20 20  |ter.            |
00001c40  20 20 20 61 64 64 20 73  6f 6d 65 20 74 68 65 6e  |   add some then|
00001c50  2e 20 4f 68 2e 2e 2e 20  41 6e 64 20 6d 61 79 62  |. Oh... And mayb|
00001c60  65 20 49 20 73 68 6f 75  6c 64 20 72 65 6d 6f 76  |e I should remov|
00001c70  65 20 74 68 6f 73 65 20  6c 69 74 74 6c 65 0a 20  |e those little. |
00001c80  20 20 20 20 20 20 20 20  20 20 20 20 20 20 6d 65  |              me|
00001c90  6d 6f 72 79 20 6c 65 61  6b 73 20 74 68 61 74 20  |mory leaks that |
00001ca0  61 72 65 20 67 6f 69 6e  67 20 61 72 6f 75 6e 64  |are going around|
00001cb0  2e 0a                                             |..|
00001cb2