Home » Archimedes archive » Acorn User » AU 1998-05 A.adf » Freeware » tcfs/Docs/Sensible

tcfs/Docs/Sensible

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 » Freeware
Filename: tcfs/Docs/Sensible
Read OK:
File size: 2DE8 bytes
Load address: 0000
Exec address: 0000
File contents
File        : Sensible
Date        : 31-Jan-98
Author      : � A.Thoukydides, 1995, 1998
Description : Description of the "Sensible Time" module.


INTRODUCTION

The "Sensible Time" module allows dates to be displayed in most applications
more sensibly than with the system default format. The following table
illustrates the way in which a few dates are displayed by the Filer "Full
info" display with and without this module loaded on the 1st May 1995.
    
    Original display    New display
    
    01 May 1995         Today
    30 Apr 1995         Yesterday
    26 Apr 1995         Wednesday
    25 Apr 1995         Tue, 25 Apr
    01 Dec 1994         01 Dec 1994

This module is FreeWare; it may be freely used and copied. However, I retain
full copyright. See the section on "LEGAL MATTERS" for more details.


USAGE

It is possible to use this module just by loading it, e.g. double-clicking on
it. This may be performed at any time, but probably the best way is to load
it automatically in your boot sequence. If you have a Risc PC then simply
place the module in the "$.!Boot.Choices.Boot.PreDesk" directory. Otherwise
add a line "RMEnsure SensibleTime 0.00 RMLoad System:modules.Sensible" to
your !Boot file, and place the module in your !System.Modules directory.

No further installation is required to use "Sensible Time". However, you may
wish to read the next section on "CUSTOMISATION" to discover how its behaviour
can be altered.


CUSTOMISATION

It is recommended that you have a look at pages 1-402/1-403 ("Format field
names") and 3-738/3-739 ("Message file format") of the "RISC OS 3
Programmer's Reference Manual" before reading this section.

This module uses a messages file accessed as "Sensible:Messages" to configure
its behaviour. The default configuration is contained in the pseudo-file
"Resources:$.Resources.Sensible.Messages", which currently contains:

    # Formats that prevent substitution
    STOP1:%we
    STOP2:%w3
    STOP3:%dy-%m3-%yr

    # Wildcarded formats to replace
    SRCH1:%dy#%m3#%ce%yr
    SRCH2:%dy#%m3#%yr
    SRCH3:%dy#%mn#%yr

    # Replacement format strings *must* be NULL terminated
    TMRW1:Tomorrow<0>
    TODY1:Today<0>
    JNOW1:Just now<0>
    YSTR1:Yesterday<0>
    WEEK1:%we<0>
    TODY2/JNOW2/YSTR2/WEEK2:%w3<0>
    YEAR1:%w3, %dy %m3<0>

Note: "<0>" is actually a single ASCII NULL character (value 0).

An alternative configuration may be used by pointing "Sensible$Path" to a
directory containing an alternative messages file on disc.

As can be clearly seen from the default file, there are three areas of
configuration:

    1) Formats that prevent substitution.
    
        The format string is searched for any occurrence of the text
        associated with tokens beginning "STOP". If any matches are found
        then no substitution is performed on the format string before
        conversion proceeds. This is useful to prevent the day name appearing
        twice in formats that already contain the day once.
        
        The search is not case-sensitive, and supports "#" as a single
        character wild-card. Any number of "STOP<x>" tokens may be supplied
        (including zero), where <x> can be any sequence of characters that
        are valid in a token.

    2) Formats to replace
    
        The format string is searched for any occurrence of the text
        associated with tokens beginning "SRCH". Any matches are replaced by
        one of the replacement formats from the next section.
        
        As with the "STOP" tokens any number of "SRCH<x>" tokens may be
        used. The search is also case-insensitive, and "#" is supported as a
        wild-card.
    
    3) Replacement format strings
    
        The final section specifies the replacement format strings which
        should be used for different relative dates. The possible tokens are:
        
            Principal   Auxiliary
            
            "PAST1"     "PAST2"     An earlier year
            "YEAR1"     "YEAR2"     More than five days ago, if the same year
            "WEEK1"     "WEEK2"     Two to five days ago, if the same year
            "YSTR1"     "YSTR2"     Previous day, if the same year
            "TODY1"     "TODY2"     Same day
            "JNOW1"     "JNOW2"     Within the last ten minutes
            "TMRW1"     "TMRW2"     The next day, if the same year
            "FUTR1"     "FUTR2"     A future year, or after the next day
        
        All of these tokens are optional. Auxiliary strings are only used if
        the corresponding principal string exists but generates an error when
        used, e.g. if the field width is too narrow to contain the resulting
        date string. If replacement is unsuccessful the original format
        string is used instead.
        
        All replacement format strings *must* be terminated with NULL
        characters to prevent spurious errors.
        
        Note that a different year takes priority over the other choices of
        substitution; this is deliberate.

The tokens may appear in any order within the Messages file. The only time
that ordering is important is when one search string ("SRCH<x>" token) could
contain part of another, in which case the first matching token is used.


LEGAL MATTERS

The "Sensible Time" module and documentation is supplied "as is"; no
warranty, express or implied, of the merchantability of this software or its
fitness for any particular purpose is given. In no circumstances shall the
author, or any provider or distributor of this software, be liable for any
damage, loss of profits, or any indirect or consequential loss arising out of
the use of this software or inability to use this software.

This module is FreeWare. Permission is granted for anyone to distribute it
unchanged and in its entirety, providing that no profit is made in the
process. The "Sensible Time" module may not be distributed if modified or
incomplete; neither may it be distributed without this documentation.

To use this module, or any part of it, as part of a system or other
application that is for sale (for however much and for whatever reasons) or
released as copyright material then the author's express permission in
writing must be obtained. The author maintains copyright on all the material
supplied and reserves the right to change these conditions at any time
without notice.


CONTACTING THE AUTHOR

I would be interested in hearing of any bugs or other unexpected features in
this module, and will endeavour to correct any such problems in future
releases. Suggestions for improvements are also most welcome. Implementation
depends upon practicability and on how much spare time I have.

If you have any comments on this program, or would like to suggest ways in
which it could be improved, I can be contacted at the following address:

    Thalna
    2 Dukes Drive
    Bearwood
    Bournemouth
    Dorset
    BH11 9SZ
    
    alex@thouky.tcp.co.uk

If in any communication you make specific reference to the program code please:

    Quote the version number and date of the module.
    
    Refer only to the module as released.
    
    Supply as many details as possible about the problem, including the
    hardware and software configuration of the machine being used.

Please send a stamped and self addressed envelope, or give details of how to
contact via e-mail, if you would like a reply.

I hope you find this module of some use.


ACKNOWLEDGEMENTS

I would like to the thank the following people for their contributions to
the development of this module:

    Acorn Computers - The Risc PC, RISC OS and the ObjAsm assembler.
    Aidan Corey     - Thorough testing, and good ideas for improvements.
    Dominic Symes   - The brilliant !Zap editor; get a copy immediately.
    Colin Turnbull  - Reminding me that I should be revising.
    Robin Watts     - !Larger, the greatest backdrop program ever.
    Rob Westwood    - The original idea behind this program.

and everyone at the Acorn User Group in Oxford.


THINGS TO DO

The following are changes that may be made to this module sometime in the
future:

    Check for format buffer overflow - currently a 1024 byte fixed length
    buffer is used whilst processing the format strings, without any checks
    for overflow.
    
    Incorporate extra %xx tokens for special purposes.

    Improve the error handling. If any part of initialisation fails then the
    correct point in the finalisation code should be jumped to allowing any
    successful initialisation to be undone. Memory allocation and deallocation
    should also be more controlled.
    

VERSION HISTORY

0.00 (25-Apr-95)    Original development version.

0.01 (26-Apr-95)    Writes to Territory Manager workspace to install as
                    current territory without being the configured territory.

0.02 (26-Apr-95)    Format strings containing the day not replaced to correct
                    problem with both BASIC and the Sys$* code variables
                    expecting fixed width fields. Modified string padded or
                    truncated to original length.

0.03 (28-Apr-95)    Installation routine legalised by reinitialising Territory
                    Manager with OS_Byte vector intercepted to pretend that
                    this is the configured Territory. Added replacement format
                    for earlier the same year. Corrected stack handling over
                    nested SWI calls. Only performs susbtitution if text would
                    not require truncation.

0.04 (29-Apr-95)    Added second choice replacement formats to cope better
                    with small field widths. Substitutions padded individually
                    within each replaced section. Comparisons made case
                    insensitive, and wild-cards supported.

0.05 (01-May-95)    Messages file generated on-the-fly for Territory Manager
                    to give the new territory the same name as the configured
                    territory to avoid problems with applications using the
                    name of the territory to load resources. Installs and uses
                    messages file for configuration.

0.06 (02-May-95)    Preprocessing of configuration messages file to improve
                    conversion performance. Error checking during conversions
                    improved.

0.07 (04-May-95)    Added substitutions for previous years, tomorrow and the
                    future. Improved handling of errors during substitution.
                    Preprocessed substitution messages also for even faster
                    conversions.

0.08 (05-May-95)    Improved macros for subroutine handling, making the code
                    more likely to be correct and shortening the module by
                    32 bytes.

0.09 (07-May-95)    Intercepts Territory Manager SWIs by using the same SWI
                    chunk number and ensuring that this module is the most
                    recently initialised. This has the advantage that a new
                    territory is not required.

1.00 (09-May-95)    First official release version. Changed default
                    configuration to use fully wild-carded search strings
                    and using extra specific stop strings to obtain desired
                    behaviour.

1.01 (10-May-95)    Corrected bug which prevented alternative substitutions
                    from working.

1.02 (17-Aug-95)    Updated to work with OSLIb version 5, and some
                    development code removed.

1.03 (31-Jan-98)    Corrected handling of future dates within the same year.
                    Added a substitution for the last ten minutes.
00000000  46 69 6c 65 20 20 20 20  20 20 20 20 3a 20 53 65  |File        : Se|
00000010  6e 73 69 62 6c 65 0a 44  61 74 65 20 20 20 20 20  |nsible.Date     |
00000020  20 20 20 3a 20 33 31 2d  4a 61 6e 2d 39 38 0a 41  |   : 31-Jan-98.A|
00000030  75 74 68 6f 72 20 20 20  20 20 20 3a 20 a9 20 41  |uthor      : . A|
00000040  2e 54 68 6f 75 6b 79 64  69 64 65 73 2c 20 31 39  |.Thoukydides, 19|
00000050  39 35 2c 20 31 39 39 38  0a 44 65 73 63 72 69 70  |95, 1998.Descrip|
00000060  74 69 6f 6e 20 3a 20 44  65 73 63 72 69 70 74 69  |tion : Descripti|
00000070  6f 6e 20 6f 66 20 74 68  65 20 22 53 65 6e 73 69  |on of the "Sensi|
00000080  62 6c 65 20 54 69 6d 65  22 20 6d 6f 64 75 6c 65  |ble Time" module|
00000090  2e 0a 0a 0a 49 4e 54 52  4f 44 55 43 54 49 4f 4e  |....INTRODUCTION|
000000a0  0a 0a 54 68 65 20 22 53  65 6e 73 69 62 6c 65 20  |..The "Sensible |
000000b0  54 69 6d 65 22 20 6d 6f  64 75 6c 65 20 61 6c 6c  |Time" module all|
000000c0  6f 77 73 20 64 61 74 65  73 20 74 6f 20 62 65 20  |ows dates to be |
000000d0  64 69 73 70 6c 61 79 65  64 20 69 6e 20 6d 6f 73  |displayed in mos|
000000e0  74 20 61 70 70 6c 69 63  61 74 69 6f 6e 73 0a 6d  |t applications.m|
000000f0  6f 72 65 20 73 65 6e 73  69 62 6c 79 20 74 68 61  |ore sensibly tha|
00000100  6e 20 77 69 74 68 20 74  68 65 20 73 79 73 74 65  |n with the syste|
00000110  6d 20 64 65 66 61 75 6c  74 20 66 6f 72 6d 61 74  |m default format|
00000120  2e 20 54 68 65 20 66 6f  6c 6c 6f 77 69 6e 67 20  |. The following |
00000130  74 61 62 6c 65 0a 69 6c  6c 75 73 74 72 61 74 65  |table.illustrate|
00000140  73 20 74 68 65 20 77 61  79 20 69 6e 20 77 68 69  |s the way in whi|
00000150  63 68 20 61 20 66 65 77  20 64 61 74 65 73 20 61  |ch a few dates a|
00000160  72 65 20 64 69 73 70 6c  61 79 65 64 20 62 79 20  |re displayed by |
00000170  74 68 65 20 46 69 6c 65  72 20 22 46 75 6c 6c 0a  |the Filer "Full.|
00000180  69 6e 66 6f 22 20 64 69  73 70 6c 61 79 20 77 69  |info" display wi|
00000190  74 68 20 61 6e 64 20 77  69 74 68 6f 75 74 20 74  |th and without t|
000001a0  68 69 73 20 6d 6f 64 75  6c 65 20 6c 6f 61 64 65  |his module loade|
000001b0  64 20 6f 6e 20 74 68 65  20 31 73 74 20 4d 61 79  |d on the 1st May|
000001c0  20 31 39 39 35 2e 0a 20  20 20 20 0a 20 20 20 20  | 1995..    .    |
000001d0  4f 72 69 67 69 6e 61 6c  20 64 69 73 70 6c 61 79  |Original display|
000001e0  20 20 20 20 4e 65 77 20  64 69 73 70 6c 61 79 0a  |    New display.|
000001f0  20 20 20 20 0a 20 20 20  20 30 31 20 4d 61 79 20  |    .    01 May |
00000200  31 39 39 35 20 20 20 20  20 20 20 20 20 54 6f 64  |1995         Tod|
00000210  61 79 0a 20 20 20 20 33  30 20 41 70 72 20 31 39  |ay.    30 Apr 19|
00000220  39 35 20 20 20 20 20 20  20 20 20 59 65 73 74 65  |95         Yeste|
00000230  72 64 61 79 0a 20 20 20  20 32 36 20 41 70 72 20  |rday.    26 Apr |
00000240  31 39 39 35 20 20 20 20  20 20 20 20 20 57 65 64  |1995         Wed|
00000250  6e 65 73 64 61 79 0a 20  20 20 20 32 35 20 41 70  |nesday.    25 Ap|
00000260  72 20 31 39 39 35 20 20  20 20 20 20 20 20 20 54  |r 1995         T|
00000270  75 65 2c 20 32 35 20 41  70 72 0a 20 20 20 20 30  |ue, 25 Apr.    0|
00000280  31 20 44 65 63 20 31 39  39 34 20 20 20 20 20 20  |1 Dec 1994      |
00000290  20 20 20 30 31 20 44 65  63 20 31 39 39 34 0a 0a  |   01 Dec 1994..|
000002a0  54 68 69 73 20 6d 6f 64  75 6c 65 20 69 73 20 46  |This module is F|
000002b0  72 65 65 57 61 72 65 3b  20 69 74 20 6d 61 79 20  |reeWare; it may |
000002c0  62 65 20 66 72 65 65 6c  79 20 75 73 65 64 20 61  |be freely used a|
000002d0  6e 64 20 63 6f 70 69 65  64 2e 20 48 6f 77 65 76  |nd copied. Howev|
000002e0  65 72 2c 20 49 20 72 65  74 61 69 6e 0a 66 75 6c  |er, I retain.ful|
000002f0  6c 20 63 6f 70 79 72 69  67 68 74 2e 20 53 65 65  |l copyright. See|
00000300  20 74 68 65 20 73 65 63  74 69 6f 6e 20 6f 6e 20  | the section on |
00000310  22 4c 45 47 41 4c 20 4d  41 54 54 45 52 53 22 20  |"LEGAL MATTERS" |
00000320  66 6f 72 20 6d 6f 72 65  20 64 65 74 61 69 6c 73  |for more details|
00000330  2e 0a 0a 0a 55 53 41 47  45 0a 0a 49 74 20 69 73  |....USAGE..It is|
00000340  20 70 6f 73 73 69 62 6c  65 20 74 6f 20 75 73 65  | possible to use|
00000350  20 74 68 69 73 20 6d 6f  64 75 6c 65 20 6a 75 73  | this module jus|
00000360  74 20 62 79 20 6c 6f 61  64 69 6e 67 20 69 74 2c  |t by loading it,|
00000370  20 65 2e 67 2e 20 64 6f  75 62 6c 65 2d 63 6c 69  | e.g. double-cli|
00000380  63 6b 69 6e 67 20 6f 6e  0a 69 74 2e 20 54 68 69  |cking on.it. Thi|
00000390  73 20 6d 61 79 20 62 65  20 70 65 72 66 6f 72 6d  |s may be perform|
000003a0  65 64 20 61 74 20 61 6e  79 20 74 69 6d 65 2c 20  |ed at any time, |
000003b0  62 75 74 20 70 72 6f 62  61 62 6c 79 20 74 68 65  |but probably the|
000003c0  20 62 65 73 74 20 77 61  79 20 69 73 20 74 6f 20  | best way is to |
000003d0  6c 6f 61 64 0a 69 74 20  61 75 74 6f 6d 61 74 69  |load.it automati|
000003e0  63 61 6c 6c 79 20 69 6e  20 79 6f 75 72 20 62 6f  |cally in your bo|
000003f0  6f 74 20 73 65 71 75 65  6e 63 65 2e 20 49 66 20  |ot sequence. If |
00000400  79 6f 75 20 68 61 76 65  20 61 20 52 69 73 63 20  |you have a Risc |
00000410  50 43 20 74 68 65 6e 20  73 69 6d 70 6c 79 0a 70  |PC then simply.p|
00000420  6c 61 63 65 20 74 68 65  20 6d 6f 64 75 6c 65 20  |lace the module |
00000430  69 6e 20 74 68 65 20 22  24 2e 21 42 6f 6f 74 2e  |in the "$.!Boot.|
00000440  43 68 6f 69 63 65 73 2e  42 6f 6f 74 2e 50 72 65  |Choices.Boot.Pre|
00000450  44 65 73 6b 22 20 64 69  72 65 63 74 6f 72 79 2e  |Desk" directory.|
00000460  20 4f 74 68 65 72 77 69  73 65 0a 61 64 64 20 61  | Otherwise.add a|
00000470  20 6c 69 6e 65 20 22 52  4d 45 6e 73 75 72 65 20  | line "RMEnsure |
00000480  53 65 6e 73 69 62 6c 65  54 69 6d 65 20 30 2e 30  |SensibleTime 0.0|
00000490  30 20 52 4d 4c 6f 61 64  20 53 79 73 74 65 6d 3a  |0 RMLoad System:|
000004a0  6d 6f 64 75 6c 65 73 2e  53 65 6e 73 69 62 6c 65  |modules.Sensible|
000004b0  22 20 74 6f 0a 79 6f 75  72 20 21 42 6f 6f 74 20  |" to.your !Boot |
000004c0  66 69 6c 65 2c 20 61 6e  64 20 70 6c 61 63 65 20  |file, and place |
000004d0  74 68 65 20 6d 6f 64 75  6c 65 20 69 6e 20 79 6f  |the module in yo|
000004e0  75 72 20 21 53 79 73 74  65 6d 2e 4d 6f 64 75 6c  |ur !System.Modul|
000004f0  65 73 20 64 69 72 65 63  74 6f 72 79 2e 0a 0a 4e  |es directory...N|
00000500  6f 20 66 75 72 74 68 65  72 20 69 6e 73 74 61 6c  |o further instal|
00000510  6c 61 74 69 6f 6e 20 69  73 20 72 65 71 75 69 72  |lation is requir|
00000520  65 64 20 74 6f 20 75 73  65 20 22 53 65 6e 73 69  |ed to use "Sensi|
00000530  62 6c 65 20 54 69 6d 65  22 2e 20 48 6f 77 65 76  |ble Time". Howev|
00000540  65 72 2c 20 79 6f 75 20  6d 61 79 0a 77 69 73 68  |er, you may.wish|
00000550  20 74 6f 20 72 65 61 64  20 74 68 65 20 6e 65 78  | to read the nex|
00000560  74 20 73 65 63 74 69 6f  6e 20 6f 6e 20 22 43 55  |t section on "CU|
00000570  53 54 4f 4d 49 53 41 54  49 4f 4e 22 20 74 6f 20  |STOMISATION" to |
00000580  64 69 73 63 6f 76 65 72  20 68 6f 77 20 69 74 73  |discover how its|
00000590  20 62 65 68 61 76 69 6f  75 72 0a 63 61 6e 20 62  | behaviour.can b|
000005a0  65 20 61 6c 74 65 72 65  64 2e 0a 0a 0a 43 55 53  |e altered....CUS|
000005b0  54 4f 4d 49 53 41 54 49  4f 4e 0a 0a 49 74 20 69  |TOMISATION..It i|
000005c0  73 20 72 65 63 6f 6d 6d  65 6e 64 65 64 20 74 68  |s recommended th|
000005d0  61 74 20 79 6f 75 20 68  61 76 65 20 61 20 6c 6f  |at you have a lo|
000005e0  6f 6b 20 61 74 20 70 61  67 65 73 20 31 2d 34 30  |ok at pages 1-40|
000005f0  32 2f 31 2d 34 30 33 20  28 22 46 6f 72 6d 61 74  |2/1-403 ("Format|
00000600  20 66 69 65 6c 64 0a 6e  61 6d 65 73 22 29 20 61  | field.names") a|
00000610  6e 64 20 33 2d 37 33 38  2f 33 2d 37 33 39 20 28  |nd 3-738/3-739 (|
00000620  22 4d 65 73 73 61 67 65  20 66 69 6c 65 20 66 6f  |"Message file fo|
00000630  72 6d 61 74 22 29 20 6f  66 20 74 68 65 20 22 52  |rmat") of the "R|
00000640  49 53 43 20 4f 53 20 33  0a 50 72 6f 67 72 61 6d  |ISC OS 3.Program|
00000650  6d 65 72 27 73 20 52 65  66 65 72 65 6e 63 65 20  |mer's Reference |
00000660  4d 61 6e 75 61 6c 22 20  62 65 66 6f 72 65 20 72  |Manual" before r|
00000670  65 61 64 69 6e 67 20 74  68 69 73 20 73 65 63 74  |eading this sect|
00000680  69 6f 6e 2e 0a 0a 54 68  69 73 20 6d 6f 64 75 6c  |ion...This modul|
00000690  65 20 75 73 65 73 20 61  20 6d 65 73 73 61 67 65  |e uses a message|
000006a0  73 20 66 69 6c 65 20 61  63 63 65 73 73 65 64 20  |s file accessed |
000006b0  61 73 20 22 53 65 6e 73  69 62 6c 65 3a 4d 65 73  |as "Sensible:Mes|
000006c0  73 61 67 65 73 22 20 74  6f 20 63 6f 6e 66 69 67  |sages" to config|
000006d0  75 72 65 0a 69 74 73 20  62 65 68 61 76 69 6f 75  |ure.its behaviou|
000006e0  72 2e 20 54 68 65 20 64  65 66 61 75 6c 74 20 63  |r. The default c|
000006f0  6f 6e 66 69 67 75 72 61  74 69 6f 6e 20 69 73 20  |onfiguration is |
00000700  63 6f 6e 74 61 69 6e 65  64 20 69 6e 20 74 68 65  |contained in the|
00000710  20 70 73 65 75 64 6f 2d  66 69 6c 65 0a 22 52 65  | pseudo-file."Re|
00000720  73 6f 75 72 63 65 73 3a  24 2e 52 65 73 6f 75 72  |sources:$.Resour|
00000730  63 65 73 2e 53 65 6e 73  69 62 6c 65 2e 4d 65 73  |ces.Sensible.Mes|
00000740  73 61 67 65 73 22 2c 20  77 68 69 63 68 20 63 75  |sages", which cu|
00000750  72 72 65 6e 74 6c 79 20  63 6f 6e 74 61 69 6e 73  |rrently contains|
00000760  3a 0a 0a 20 20 20 20 23  20 46 6f 72 6d 61 74 73  |:..    # Formats|
00000770  20 74 68 61 74 20 70 72  65 76 65 6e 74 20 73 75  | that prevent su|
00000780  62 73 74 69 74 75 74 69  6f 6e 0a 20 20 20 20 53  |bstitution.    S|
00000790  54 4f 50 31 3a 25 77 65  0a 20 20 20 20 53 54 4f  |TOP1:%we.    STO|
000007a0  50 32 3a 25 77 33 0a 20  20 20 20 53 54 4f 50 33  |P2:%w3.    STOP3|
000007b0  3a 25 64 79 2d 25 6d 33  2d 25 79 72 0a 0a 20 20  |:%dy-%m3-%yr..  |
000007c0  20 20 23 20 57 69 6c 64  63 61 72 64 65 64 20 66  |  # Wildcarded f|
000007d0  6f 72 6d 61 74 73 20 74  6f 20 72 65 70 6c 61 63  |ormats to replac|
000007e0  65 0a 20 20 20 20 53 52  43 48 31 3a 25 64 79 23  |e.    SRCH1:%dy#|
000007f0  25 6d 33 23 25 63 65 25  79 72 0a 20 20 20 20 53  |%m3#%ce%yr.    S|
00000800  52 43 48 32 3a 25 64 79  23 25 6d 33 23 25 79 72  |RCH2:%dy#%m3#%yr|
00000810  0a 20 20 20 20 53 52 43  48 33 3a 25 64 79 23 25  |.    SRCH3:%dy#%|
00000820  6d 6e 23 25 79 72 0a 0a  20 20 20 20 23 20 52 65  |mn#%yr..    # Re|
00000830  70 6c 61 63 65 6d 65 6e  74 20 66 6f 72 6d 61 74  |placement format|
00000840  20 73 74 72 69 6e 67 73  20 2a 6d 75 73 74 2a 20  | strings *must* |
00000850  62 65 20 4e 55 4c 4c 20  74 65 72 6d 69 6e 61 74  |be NULL terminat|
00000860  65 64 0a 20 20 20 20 54  4d 52 57 31 3a 54 6f 6d  |ed.    TMRW1:Tom|
00000870  6f 72 72 6f 77 3c 30 3e  0a 20 20 20 20 54 4f 44  |orrow<0>.    TOD|
00000880  59 31 3a 54 6f 64 61 79  3c 30 3e 0a 20 20 20 20  |Y1:Today<0>.    |
00000890  4a 4e 4f 57 31 3a 4a 75  73 74 20 6e 6f 77 3c 30  |JNOW1:Just now<0|
000008a0  3e 0a 20 20 20 20 59 53  54 52 31 3a 59 65 73 74  |>.    YSTR1:Yest|
000008b0  65 72 64 61 79 3c 30 3e  0a 20 20 20 20 57 45 45  |erday<0>.    WEE|
000008c0  4b 31 3a 25 77 65 3c 30  3e 0a 20 20 20 20 54 4f  |K1:%we<0>.    TO|
000008d0  44 59 32 2f 4a 4e 4f 57  32 2f 59 53 54 52 32 2f  |DY2/JNOW2/YSTR2/|
000008e0  57 45 45 4b 32 3a 25 77  33 3c 30 3e 0a 20 20 20  |WEEK2:%w3<0>.   |
000008f0  20 59 45 41 52 31 3a 25  77 33 2c 20 25 64 79 20  | YEAR1:%w3, %dy |
00000900  25 6d 33 3c 30 3e 0a 0a  4e 6f 74 65 3a 20 22 3c  |%m3<0>..Note: "<|
00000910  30 3e 22 20 69 73 20 61  63 74 75 61 6c 6c 79 20  |0>" is actually |
00000920  61 20 73 69 6e 67 6c 65  20 41 53 43 49 49 20 4e  |a single ASCII N|
00000930  55 4c 4c 20 63 68 61 72  61 63 74 65 72 20 28 76  |ULL character (v|
00000940  61 6c 75 65 20 30 29 2e  0a 0a 41 6e 20 61 6c 74  |alue 0)...An alt|
00000950  65 72 6e 61 74 69 76 65  20 63 6f 6e 66 69 67 75  |ernative configu|
00000960  72 61 74 69 6f 6e 20 6d  61 79 20 62 65 20 75 73  |ration may be us|
00000970  65 64 20 62 79 20 70 6f  69 6e 74 69 6e 67 20 22  |ed by pointing "|
00000980  53 65 6e 73 69 62 6c 65  24 50 61 74 68 22 20 74  |Sensible$Path" t|
00000990  6f 20 61 0a 64 69 72 65  63 74 6f 72 79 20 63 6f  |o a.directory co|
000009a0  6e 74 61 69 6e 69 6e 67  20 61 6e 20 61 6c 74 65  |ntaining an alte|
000009b0  72 6e 61 74 69 76 65 20  6d 65 73 73 61 67 65 73  |rnative messages|
000009c0  20 66 69 6c 65 20 6f 6e  20 64 69 73 63 2e 0a 0a  | file on disc...|
000009d0  41 73 20 63 61 6e 20 62  65 20 63 6c 65 61 72 6c  |As can be clearl|
000009e0  79 20 73 65 65 6e 20 66  72 6f 6d 20 74 68 65 20  |y seen from the |
000009f0  64 65 66 61 75 6c 74 20  66 69 6c 65 2c 20 74 68  |default file, th|
00000a00  65 72 65 20 61 72 65 20  74 68 72 65 65 20 61 72  |ere are three ar|
00000a10  65 61 73 20 6f 66 0a 63  6f 6e 66 69 67 75 72 61  |eas of.configura|
00000a20  74 69 6f 6e 3a 0a 0a 20  20 20 20 31 29 20 46 6f  |tion:..    1) Fo|
00000a30  72 6d 61 74 73 20 74 68  61 74 20 70 72 65 76 65  |rmats that preve|
00000a40  6e 74 20 73 75 62 73 74  69 74 75 74 69 6f 6e 2e  |nt substitution.|
00000a50  0a 20 20 20 20 0a 20 20  20 20 20 20 20 20 54 68  |.    .        Th|
00000a60  65 20 66 6f 72 6d 61 74  20 73 74 72 69 6e 67 20  |e format string |
00000a70  69 73 20 73 65 61 72 63  68 65 64 20 66 6f 72 20  |is searched for |
00000a80  61 6e 79 20 6f 63 63 75  72 72 65 6e 63 65 20 6f  |any occurrence o|
00000a90  66 20 74 68 65 20 74 65  78 74 0a 20 20 20 20 20  |f the text.     |
00000aa0  20 20 20 61 73 73 6f 63  69 61 74 65 64 20 77 69  |   associated wi|
00000ab0  74 68 20 74 6f 6b 65 6e  73 20 62 65 67 69 6e 6e  |th tokens beginn|
00000ac0  69 6e 67 20 22 53 54 4f  50 22 2e 20 49 66 20 61  |ing "STOP". If a|
00000ad0  6e 79 20 6d 61 74 63 68  65 73 20 61 72 65 20 66  |ny matches are f|
00000ae0  6f 75 6e 64 0a 20 20 20  20 20 20 20 20 74 68 65  |ound.        the|
00000af0  6e 20 6e 6f 20 73 75 62  73 74 69 74 75 74 69 6f  |n no substitutio|
00000b00  6e 20 69 73 20 70 65 72  66 6f 72 6d 65 64 20 6f  |n is performed o|
00000b10  6e 20 74 68 65 20 66 6f  72 6d 61 74 20 73 74 72  |n the format str|
00000b20  69 6e 67 20 62 65 66 6f  72 65 0a 20 20 20 20 20  |ing before.     |
00000b30  20 20 20 63 6f 6e 76 65  72 73 69 6f 6e 20 70 72  |   conversion pr|
00000b40  6f 63 65 65 64 73 2e 20  54 68 69 73 20 69 73 20  |oceeds. This is |
00000b50  75 73 65 66 75 6c 20 74  6f 20 70 72 65 76 65 6e  |useful to preven|
00000b60  74 20 74 68 65 20 64 61  79 20 6e 61 6d 65 20 61  |t the day name a|
00000b70  70 70 65 61 72 69 6e 67  0a 20 20 20 20 20 20 20  |ppearing.       |
00000b80  20 74 77 69 63 65 20 69  6e 20 66 6f 72 6d 61 74  | twice in format|
00000b90  73 20 74 68 61 74 20 61  6c 72 65 61 64 79 20 63  |s that already c|
00000ba0  6f 6e 74 61 69 6e 20 74  68 65 20 64 61 79 20 6f  |ontain the day o|
00000bb0  6e 63 65 2e 0a 20 20 20  20 20 20 20 20 0a 20 20  |nce..        .  |
00000bc0  20 20 20 20 20 20 54 68  65 20 73 65 61 72 63 68  |      The search|
00000bd0  20 69 73 20 6e 6f 74 20  63 61 73 65 2d 73 65 6e  | is not case-sen|
00000be0  73 69 74 69 76 65 2c 20  61 6e 64 20 73 75 70 70  |sitive, and supp|
00000bf0  6f 72 74 73 20 22 23 22  20 61 73 20 61 20 73 69  |orts "#" as a si|
00000c00  6e 67 6c 65 0a 20 20 20  20 20 20 20 20 63 68 61  |ngle.        cha|
00000c10  72 61 63 74 65 72 20 77  69 6c 64 2d 63 61 72 64  |racter wild-card|
00000c20  2e 20 41 6e 79 20 6e 75  6d 62 65 72 20 6f 66 20  |. Any number of |
00000c30  22 53 54 4f 50 3c 78 3e  22 20 74 6f 6b 65 6e 73  |"STOP<x>" tokens|
00000c40  20 6d 61 79 20 62 65 20  73 75 70 70 6c 69 65 64  | may be supplied|
00000c50  0a 20 20 20 20 20 20 20  20 28 69 6e 63 6c 75 64  |.        (includ|
00000c60  69 6e 67 20 7a 65 72 6f  29 2c 20 77 68 65 72 65  |ing zero), where|
00000c70  20 3c 78 3e 20 63 61 6e  20 62 65 20 61 6e 79 20  | <x> can be any |
00000c80  73 65 71 75 65 6e 63 65  20 6f 66 20 63 68 61 72  |sequence of char|
00000c90  61 63 74 65 72 73 20 74  68 61 74 0a 20 20 20 20  |acters that.    |
00000ca0  20 20 20 20 61 72 65 20  76 61 6c 69 64 20 69 6e  |    are valid in|
00000cb0  20 61 20 74 6f 6b 65 6e  2e 0a 0a 20 20 20 20 32  | a token...    2|
00000cc0  29 20 46 6f 72 6d 61 74  73 20 74 6f 20 72 65 70  |) Formats to rep|
00000cd0  6c 61 63 65 0a 20 20 20  20 0a 20 20 20 20 20 20  |lace.    .      |
00000ce0  20 20 54 68 65 20 66 6f  72 6d 61 74 20 73 74 72  |  The format str|
00000cf0  69 6e 67 20 69 73 20 73  65 61 72 63 68 65 64 20  |ing is searched |
00000d00  66 6f 72 20 61 6e 79 20  6f 63 63 75 72 72 65 6e  |for any occurren|
00000d10  63 65 20 6f 66 20 74 68  65 20 74 65 78 74 0a 20  |ce of the text. |
00000d20  20 20 20 20 20 20 20 61  73 73 6f 63 69 61 74 65  |       associate|
00000d30  64 20 77 69 74 68 20 74  6f 6b 65 6e 73 20 62 65  |d with tokens be|
00000d40  67 69 6e 6e 69 6e 67 20  22 53 52 43 48 22 2e 20  |ginning "SRCH". |
00000d50  41 6e 79 20 6d 61 74 63  68 65 73 20 61 72 65 20  |Any matches are |
00000d60  72 65 70 6c 61 63 65 64  20 62 79 0a 20 20 20 20  |replaced by.    |
00000d70  20 20 20 20 6f 6e 65 20  6f 66 20 74 68 65 20 72  |    one of the r|
00000d80  65 70 6c 61 63 65 6d 65  6e 74 20 66 6f 72 6d 61  |eplacement forma|
00000d90  74 73 20 66 72 6f 6d 20  74 68 65 20 6e 65 78 74  |ts from the next|
00000da0  20 73 65 63 74 69 6f 6e  2e 0a 20 20 20 20 20 20  | section..      |
00000db0  20 20 0a 20 20 20 20 20  20 20 20 41 73 20 77 69  |  .        As wi|
00000dc0  74 68 20 74 68 65 20 22  53 54 4f 50 22 20 74 6f  |th the "STOP" to|
00000dd0  6b 65 6e 73 20 61 6e 79  20 6e 75 6d 62 65 72 20  |kens any number |
00000de0  6f 66 20 22 53 52 43 48  3c 78 3e 22 20 74 6f 6b  |of "SRCH<x>" tok|
00000df0  65 6e 73 20 6d 61 79 20  62 65 0a 20 20 20 20 20  |ens may be.     |
00000e00  20 20 20 75 73 65 64 2e  20 54 68 65 20 73 65 61  |   used. The sea|
00000e10  72 63 68 20 69 73 20 61  6c 73 6f 20 63 61 73 65  |rch is also case|
00000e20  2d 69 6e 73 65 6e 73 69  74 69 76 65 2c 20 61 6e  |-insensitive, an|
00000e30  64 20 22 23 22 20 69 73  20 73 75 70 70 6f 72 74  |d "#" is support|
00000e40  65 64 20 61 73 20 61 0a  20 20 20 20 20 20 20 20  |ed as a.        |
00000e50  77 69 6c 64 2d 63 61 72  64 2e 0a 20 20 20 20 0a  |wild-card..    .|
00000e60  20 20 20 20 33 29 20 52  65 70 6c 61 63 65 6d 65  |    3) Replaceme|
00000e70  6e 74 20 66 6f 72 6d 61  74 20 73 74 72 69 6e 67  |nt format string|
00000e80  73 0a 20 20 20 20 0a 20  20 20 20 20 20 20 20 54  |s.    .        T|
00000e90  68 65 20 66 69 6e 61 6c  20 73 65 63 74 69 6f 6e  |he final section|
00000ea0  20 73 70 65 63 69 66 69  65 73 20 74 68 65 20 72  | specifies the r|
00000eb0  65 70 6c 61 63 65 6d 65  6e 74 20 66 6f 72 6d 61  |eplacement forma|
00000ec0  74 20 73 74 72 69 6e 67  73 20 77 68 69 63 68 0a  |t strings which.|
00000ed0  20 20 20 20 20 20 20 20  73 68 6f 75 6c 64 20 62  |        should b|
00000ee0  65 20 75 73 65 64 20 66  6f 72 20 64 69 66 66 65  |e used for diffe|
00000ef0  72 65 6e 74 20 72 65 6c  61 74 69 76 65 20 64 61  |rent relative da|
00000f00  74 65 73 2e 20 54 68 65  20 70 6f 73 73 69 62 6c  |tes. The possibl|
00000f10  65 20 74 6f 6b 65 6e 73  20 61 72 65 3a 0a 20 20  |e tokens are:.  |
00000f20  20 20 20 20 20 20 0a 20  20 20 20 20 20 20 20 20  |      .         |
00000f30  20 20 20 50 72 69 6e 63  69 70 61 6c 20 20 20 41  |   Principal   A|
00000f40  75 78 69 6c 69 61 72 79  0a 20 20 20 20 20 20 20  |uxiliary.       |
00000f50  20 20 20 20 20 0a 20 20  20 20 20 20 20 20 20 20  |     .          |
00000f60  20 20 22 50 41 53 54 31  22 20 20 20 20 20 22 50  |  "PAST1"     "P|
00000f70  41 53 54 32 22 20 20 20  20 20 41 6e 20 65 61 72  |AST2"     An ear|
00000f80  6c 69 65 72 20 79 65 61  72 0a 20 20 20 20 20 20  |lier year.      |
00000f90  20 20 20 20 20 20 22 59  45 41 52 31 22 20 20 20  |      "YEAR1"   |
00000fa0  20 20 22 59 45 41 52 32  22 20 20 20 20 20 4d 6f  |  "YEAR2"     Mo|
00000fb0  72 65 20 74 68 61 6e 20  66 69 76 65 20 64 61 79  |re than five day|
00000fc0  73 20 61 67 6f 2c 20 69  66 20 74 68 65 20 73 61  |s ago, if the sa|
00000fd0  6d 65 20 79 65 61 72 0a  20 20 20 20 20 20 20 20  |me year.        |
00000fe0  20 20 20 20 22 57 45 45  4b 31 22 20 20 20 20 20  |    "WEEK1"     |
00000ff0  22 57 45 45 4b 32 22 20  20 20 20 20 54 77 6f 20  |"WEEK2"     Two |
00001000  74 6f 20 66 69 76 65 20  64 61 79 73 20 61 67 6f  |to five days ago|
00001010  2c 20 69 66 20 74 68 65  20 73 61 6d 65 20 79 65  |, if the same ye|
00001020  61 72 0a 20 20 20 20 20  20 20 20 20 20 20 20 22  |ar.            "|
00001030  59 53 54 52 31 22 20 20  20 20 20 22 59 53 54 52  |YSTR1"     "YSTR|
00001040  32 22 20 20 20 20 20 50  72 65 76 69 6f 75 73 20  |2"     Previous |
00001050  64 61 79 2c 20 69 66 20  74 68 65 20 73 61 6d 65  |day, if the same|
00001060  20 79 65 61 72 0a 20 20  20 20 20 20 20 20 20 20  | year.          |
00001070  20 20 22 54 4f 44 59 31  22 20 20 20 20 20 22 54  |  "TODY1"     "T|
00001080  4f 44 59 32 22 20 20 20  20 20 53 61 6d 65 20 64  |ODY2"     Same d|
00001090  61 79 0a 20 20 20 20 20  20 20 20 20 20 20 20 22  |ay.            "|
000010a0  4a 4e 4f 57 31 22 20 20  20 20 20 22 4a 4e 4f 57  |JNOW1"     "JNOW|
000010b0  32 22 20 20 20 20 20 57  69 74 68 69 6e 20 74 68  |2"     Within th|
000010c0  65 20 6c 61 73 74 20 74  65 6e 20 6d 69 6e 75 74  |e last ten minut|
000010d0  65 73 0a 20 20 20 20 20  20 20 20 20 20 20 20 22  |es.            "|
000010e0  54 4d 52 57 31 22 20 20  20 20 20 22 54 4d 52 57  |TMRW1"     "TMRW|
000010f0  32 22 20 20 20 20 20 54  68 65 20 6e 65 78 74 20  |2"     The next |
00001100  64 61 79 2c 20 69 66 20  74 68 65 20 73 61 6d 65  |day, if the same|
00001110  20 79 65 61 72 0a 20 20  20 20 20 20 20 20 20 20  | year.          |
00001120  20 20 22 46 55 54 52 31  22 20 20 20 20 20 22 46  |  "FUTR1"     "F|
00001130  55 54 52 32 22 20 20 20  20 20 41 20 66 75 74 75  |UTR2"     A futu|
00001140  72 65 20 79 65 61 72 2c  20 6f 72 20 61 66 74 65  |re year, or afte|
00001150  72 20 74 68 65 20 6e 65  78 74 20 64 61 79 0a 20  |r the next day. |
00001160  20 20 20 20 20 20 20 0a  20 20 20 20 20 20 20 20  |       .        |
00001170  41 6c 6c 20 6f 66 20 74  68 65 73 65 20 74 6f 6b  |All of these tok|
00001180  65 6e 73 20 61 72 65 20  6f 70 74 69 6f 6e 61 6c  |ens are optional|
00001190  2e 20 41 75 78 69 6c 69  61 72 79 20 73 74 72 69  |. Auxiliary stri|
000011a0  6e 67 73 20 61 72 65 20  6f 6e 6c 79 20 75 73 65  |ngs are only use|
000011b0  64 20 69 66 0a 20 20 20  20 20 20 20 20 74 68 65  |d if.        the|
000011c0  20 63 6f 72 72 65 73 70  6f 6e 64 69 6e 67 20 70  | corresponding p|
000011d0  72 69 6e 63 69 70 61 6c  20 73 74 72 69 6e 67 20  |rincipal string |
000011e0  65 78 69 73 74 73 20 62  75 74 20 67 65 6e 65 72  |exists but gener|
000011f0  61 74 65 73 20 61 6e 20  65 72 72 6f 72 20 77 68  |ates an error wh|
00001200  65 6e 0a 20 20 20 20 20  20 20 20 75 73 65 64 2c  |en.        used,|
00001210  20 65 2e 67 2e 20 69 66  20 74 68 65 20 66 69 65  | e.g. if the fie|
00001220  6c 64 20 77 69 64 74 68  20 69 73 20 74 6f 6f 20  |ld width is too |
00001230  6e 61 72 72 6f 77 20 74  6f 20 63 6f 6e 74 61 69  |narrow to contai|
00001240  6e 20 74 68 65 20 72 65  73 75 6c 74 69 6e 67 0a  |n the resulting.|
00001250  20 20 20 20 20 20 20 20  64 61 74 65 20 73 74 72  |        date str|
00001260  69 6e 67 2e 20 49 66 20  72 65 70 6c 61 63 65 6d  |ing. If replacem|
00001270  65 6e 74 20 69 73 20 75  6e 73 75 63 63 65 73 73  |ent is unsuccess|
00001280  66 75 6c 20 74 68 65 20  6f 72 69 67 69 6e 61 6c  |ful the original|
00001290  20 66 6f 72 6d 61 74 0a  20 20 20 20 20 20 20 20  | format.        |
000012a0  73 74 72 69 6e 67 20 69  73 20 75 73 65 64 20 69  |string is used i|
000012b0  6e 73 74 65 61 64 2e 0a  20 20 20 20 20 20 20 20  |nstead..        |
000012c0  0a 20 20 20 20 20 20 20  20 41 6c 6c 20 72 65 70  |.        All rep|
000012d0  6c 61 63 65 6d 65 6e 74  20 66 6f 72 6d 61 74 20  |lacement format |
000012e0  73 74 72 69 6e 67 73 20  2a 6d 75 73 74 2a 20 62  |strings *must* b|
000012f0  65 20 74 65 72 6d 69 6e  61 74 65 64 20 77 69 74  |e terminated wit|
00001300  68 20 4e 55 4c 4c 0a 20  20 20 20 20 20 20 20 63  |h NULL.        c|
00001310  68 61 72 61 63 74 65 72  73 20 74 6f 20 70 72 65  |haracters to pre|
00001320  76 65 6e 74 20 73 70 75  72 69 6f 75 73 20 65 72  |vent spurious er|
00001330  72 6f 72 73 2e 0a 20 20  20 20 20 20 20 20 0a 20  |rors..        . |
00001340  20 20 20 20 20 20 20 4e  6f 74 65 20 74 68 61 74  |       Note that|
00001350  20 61 20 64 69 66 66 65  72 65 6e 74 20 79 65 61  | a different yea|
00001360  72 20 74 61 6b 65 73 20  70 72 69 6f 72 69 74 79  |r takes priority|
00001370  20 6f 76 65 72 20 74 68  65 20 6f 74 68 65 72 20  | over the other |
00001380  63 68 6f 69 63 65 73 20  6f 66 0a 20 20 20 20 20  |choices of.     |
00001390  20 20 20 73 75 62 73 74  69 74 75 74 69 6f 6e 3b  |   substitution;|
000013a0  20 74 68 69 73 20 69 73  20 64 65 6c 69 62 65 72  | this is deliber|
000013b0  61 74 65 2e 0a 0a 54 68  65 20 74 6f 6b 65 6e 73  |ate...The tokens|
000013c0  20 6d 61 79 20 61 70 70  65 61 72 20 69 6e 20 61  | may appear in a|
000013d0  6e 79 20 6f 72 64 65 72  20 77 69 74 68 69 6e 20  |ny order within |
000013e0  74 68 65 20 4d 65 73 73  61 67 65 73 20 66 69 6c  |the Messages fil|
000013f0  65 2e 20 54 68 65 20 6f  6e 6c 79 20 74 69 6d 65  |e. The only time|
00001400  0a 74 68 61 74 20 6f 72  64 65 72 69 6e 67 20 69  |.that ordering i|
00001410  73 20 69 6d 70 6f 72 74  61 6e 74 20 69 73 20 77  |s important is w|
00001420  68 65 6e 20 6f 6e 65 20  73 65 61 72 63 68 20 73  |hen one search s|
00001430  74 72 69 6e 67 20 28 22  53 52 43 48 3c 78 3e 22  |tring ("SRCH<x>"|
00001440  20 74 6f 6b 65 6e 29 20  63 6f 75 6c 64 0a 63 6f  | token) could.co|
00001450  6e 74 61 69 6e 20 70 61  72 74 20 6f 66 20 61 6e  |ntain part of an|
00001460  6f 74 68 65 72 2c 20 69  6e 20 77 68 69 63 68 20  |other, in which |
00001470  63 61 73 65 20 74 68 65  20 66 69 72 73 74 20 6d  |case the first m|
00001480  61 74 63 68 69 6e 67 20  74 6f 6b 65 6e 20 69 73  |atching token is|
00001490  20 75 73 65 64 2e 0a 0a  0a 4c 45 47 41 4c 20 4d  | used....LEGAL M|
000014a0  41 54 54 45 52 53 0a 0a  54 68 65 20 22 53 65 6e  |ATTERS..The "Sen|
000014b0  73 69 62 6c 65 20 54 69  6d 65 22 20 6d 6f 64 75  |sible Time" modu|
000014c0  6c 65 20 61 6e 64 20 64  6f 63 75 6d 65 6e 74 61  |le and documenta|
000014d0  74 69 6f 6e 20 69 73 20  73 75 70 70 6c 69 65 64  |tion is supplied|
000014e0  20 22 61 73 20 69 73 22  3b 20 6e 6f 0a 77 61 72  | "as is"; no.war|
000014f0  72 61 6e 74 79 2c 20 65  78 70 72 65 73 73 20 6f  |ranty, express o|
00001500  72 20 69 6d 70 6c 69 65  64 2c 20 6f 66 20 74 68  |r implied, of th|
00001510  65 20 6d 65 72 63 68 61  6e 74 61 62 69 6c 69 74  |e merchantabilit|
00001520  79 20 6f 66 20 74 68 69  73 20 73 6f 66 74 77 61  |y of this softwa|
00001530  72 65 20 6f 72 20 69 74  73 0a 66 69 74 6e 65 73  |re or its.fitnes|
00001540  73 20 66 6f 72 20 61 6e  79 20 70 61 72 74 69 63  |s for any partic|
00001550  75 6c 61 72 20 70 75 72  70 6f 73 65 20 69 73 20  |ular purpose is |
00001560  67 69 76 65 6e 2e 20 49  6e 20 6e 6f 20 63 69 72  |given. In no cir|
00001570  63 75 6d 73 74 61 6e 63  65 73 20 73 68 61 6c 6c  |cumstances shall|
00001580  20 74 68 65 0a 61 75 74  68 6f 72 2c 20 6f 72 20  | the.author, or |
00001590  61 6e 79 20 70 72 6f 76  69 64 65 72 20 6f 72 20  |any provider or |
000015a0  64 69 73 74 72 69 62 75  74 6f 72 20 6f 66 20 74  |distributor of t|
000015b0  68 69 73 20 73 6f 66 74  77 61 72 65 2c 20 62 65  |his software, be|
000015c0  20 6c 69 61 62 6c 65 20  66 6f 72 20 61 6e 79 0a  | liable for any.|
000015d0  64 61 6d 61 67 65 2c 20  6c 6f 73 73 20 6f 66 20  |damage, loss of |
000015e0  70 72 6f 66 69 74 73 2c  20 6f 72 20 61 6e 79 20  |profits, or any |
000015f0  69 6e 64 69 72 65 63 74  20 6f 72 20 63 6f 6e 73  |indirect or cons|
00001600  65 71 75 65 6e 74 69 61  6c 20 6c 6f 73 73 20 61  |equential loss a|
00001610  72 69 73 69 6e 67 20 6f  75 74 20 6f 66 0a 74 68  |rising out of.th|
00001620  65 20 75 73 65 20 6f 66  20 74 68 69 73 20 73 6f  |e use of this so|
00001630  66 74 77 61 72 65 20 6f  72 20 69 6e 61 62 69 6c  |ftware or inabil|
00001640  69 74 79 20 74 6f 20 75  73 65 20 74 68 69 73 20  |ity to use this |
00001650  73 6f 66 74 77 61 72 65  2e 0a 0a 54 68 69 73 20  |software...This |
00001660  6d 6f 64 75 6c 65 20 69  73 20 46 72 65 65 57 61  |module is FreeWa|
00001670  72 65 2e 20 50 65 72 6d  69 73 73 69 6f 6e 20 69  |re. Permission i|
00001680  73 20 67 72 61 6e 74 65  64 20 66 6f 72 20 61 6e  |s granted for an|
00001690  79 6f 6e 65 20 74 6f 20  64 69 73 74 72 69 62 75  |yone to distribu|
000016a0  74 65 20 69 74 0a 75 6e  63 68 61 6e 67 65 64 20  |te it.unchanged |
000016b0  61 6e 64 20 69 6e 20 69  74 73 20 65 6e 74 69 72  |and in its entir|
000016c0  65 74 79 2c 20 70 72 6f  76 69 64 69 6e 67 20 74  |ety, providing t|
000016d0  68 61 74 20 6e 6f 20 70  72 6f 66 69 74 20 69 73  |hat no profit is|
000016e0  20 6d 61 64 65 20 69 6e  20 74 68 65 0a 70 72 6f  | made in the.pro|
000016f0  63 65 73 73 2e 20 54 68  65 20 22 53 65 6e 73 69  |cess. The "Sensi|
00001700  62 6c 65 20 54 69 6d 65  22 20 6d 6f 64 75 6c 65  |ble Time" module|
00001710  20 6d 61 79 20 6e 6f 74  20 62 65 20 64 69 73 74  | may not be dist|
00001720  72 69 62 75 74 65 64 20  69 66 20 6d 6f 64 69 66  |ributed if modif|
00001730  69 65 64 20 6f 72 0a 69  6e 63 6f 6d 70 6c 65 74  |ied or.incomplet|
00001740  65 3b 20 6e 65 69 74 68  65 72 20 6d 61 79 20 69  |e; neither may i|
00001750  74 20 62 65 20 64 69 73  74 72 69 62 75 74 65 64  |t be distributed|
00001760  20 77 69 74 68 6f 75 74  20 74 68 69 73 20 64 6f  | without this do|
00001770  63 75 6d 65 6e 74 61 74  69 6f 6e 2e 0a 0a 54 6f  |cumentation...To|
00001780  20 75 73 65 20 74 68 69  73 20 6d 6f 64 75 6c 65  | use this module|
00001790  2c 20 6f 72 20 61 6e 79  20 70 61 72 74 20 6f 66  |, or any part of|
000017a0  20 69 74 2c 20 61 73 20  70 61 72 74 20 6f 66 20  | it, as part of |
000017b0  61 20 73 79 73 74 65 6d  20 6f 72 20 6f 74 68 65  |a system or othe|
000017c0  72 0a 61 70 70 6c 69 63  61 74 69 6f 6e 20 74 68  |r.application th|
000017d0  61 74 20 69 73 20 66 6f  72 20 73 61 6c 65 20 28  |at is for sale (|
000017e0  66 6f 72 20 68 6f 77 65  76 65 72 20 6d 75 63 68  |for however much|
000017f0  20 61 6e 64 20 66 6f 72  20 77 68 61 74 65 76 65  | and for whateve|
00001800  72 20 72 65 61 73 6f 6e  73 29 20 6f 72 0a 72 65  |r reasons) or.re|
00001810  6c 65 61 73 65 64 20 61  73 20 63 6f 70 79 72 69  |leased as copyri|
00001820  67 68 74 20 6d 61 74 65  72 69 61 6c 20 74 68 65  |ght material the|
00001830  6e 20 74 68 65 20 61 75  74 68 6f 72 27 73 20 65  |n the author's e|
00001840  78 70 72 65 73 73 20 70  65 72 6d 69 73 73 69 6f  |xpress permissio|
00001850  6e 20 69 6e 0a 77 72 69  74 69 6e 67 20 6d 75 73  |n in.writing mus|
00001860  74 20 62 65 20 6f 62 74  61 69 6e 65 64 2e 20 54  |t be obtained. T|
00001870  68 65 20 61 75 74 68 6f  72 20 6d 61 69 6e 74 61  |he author mainta|
00001880  69 6e 73 20 63 6f 70 79  72 69 67 68 74 20 6f 6e  |ins copyright on|
00001890  20 61 6c 6c 20 74 68 65  20 6d 61 74 65 72 69 61  | all the materia|
000018a0  6c 0a 73 75 70 70 6c 69  65 64 20 61 6e 64 20 72  |l.supplied and r|
000018b0  65 73 65 72 76 65 73 20  74 68 65 20 72 69 67 68  |eserves the righ|
000018c0  74 20 74 6f 20 63 68 61  6e 67 65 20 74 68 65 73  |t to change thes|
000018d0  65 20 63 6f 6e 64 69 74  69 6f 6e 73 20 61 74 20  |e conditions at |
000018e0  61 6e 79 20 74 69 6d 65  0a 77 69 74 68 6f 75 74  |any time.without|
000018f0  20 6e 6f 74 69 63 65 2e  0a 0a 0a 43 4f 4e 54 41  | notice....CONTA|
00001900  43 54 49 4e 47 20 54 48  45 20 41 55 54 48 4f 52  |CTING THE AUTHOR|
00001910  0a 0a 49 20 77 6f 75 6c  64 20 62 65 20 69 6e 74  |..I would be int|
00001920  65 72 65 73 74 65 64 20  69 6e 20 68 65 61 72 69  |erested in heari|
00001930  6e 67 20 6f 66 20 61 6e  79 20 62 75 67 73 20 6f  |ng of any bugs o|
00001940  72 20 6f 74 68 65 72 20  75 6e 65 78 70 65 63 74  |r other unexpect|
00001950  65 64 20 66 65 61 74 75  72 65 73 20 69 6e 0a 74  |ed features in.t|
00001960  68 69 73 20 6d 6f 64 75  6c 65 2c 20 61 6e 64 20  |his module, and |
00001970  77 69 6c 6c 20 65 6e 64  65 61 76 6f 75 72 20 74  |will endeavour t|
00001980  6f 20 63 6f 72 72 65 63  74 20 61 6e 79 20 73 75  |o correct any su|
00001990  63 68 20 70 72 6f 62 6c  65 6d 73 20 69 6e 20 66  |ch problems in f|
000019a0  75 74 75 72 65 0a 72 65  6c 65 61 73 65 73 2e 20  |uture.releases. |
000019b0  53 75 67 67 65 73 74 69  6f 6e 73 20 66 6f 72 20  |Suggestions for |
000019c0  69 6d 70 72 6f 76 65 6d  65 6e 74 73 20 61 72 65  |improvements are|
000019d0  20 61 6c 73 6f 20 6d 6f  73 74 20 77 65 6c 63 6f  | also most welco|
000019e0  6d 65 2e 20 49 6d 70 6c  65 6d 65 6e 74 61 74 69  |me. Implementati|
000019f0  6f 6e 0a 64 65 70 65 6e  64 73 20 75 70 6f 6e 20  |on.depends upon |
00001a00  70 72 61 63 74 69 63 61  62 69 6c 69 74 79 20 61  |practicability a|
00001a10  6e 64 20 6f 6e 20 68 6f  77 20 6d 75 63 68 20 73  |nd on how much s|
00001a20  70 61 72 65 20 74 69 6d  65 20 49 20 68 61 76 65  |pare time I have|
00001a30  2e 0a 0a 49 66 20 79 6f  75 20 68 61 76 65 20 61  |...If you have a|
00001a40  6e 79 20 63 6f 6d 6d 65  6e 74 73 20 6f 6e 20 74  |ny comments on t|
00001a50  68 69 73 20 70 72 6f 67  72 61 6d 2c 20 6f 72 20  |his program, or |
00001a60  77 6f 75 6c 64 20 6c 69  6b 65 20 74 6f 20 73 75  |would like to su|
00001a70  67 67 65 73 74 20 77 61  79 73 20 69 6e 0a 77 68  |ggest ways in.wh|
00001a80  69 63 68 20 69 74 20 63  6f 75 6c 64 20 62 65 20  |ich it could be |
00001a90  69 6d 70 72 6f 76 65 64  2c 20 49 20 63 61 6e 20  |improved, I can |
00001aa0  62 65 20 63 6f 6e 74 61  63 74 65 64 20 61 74 20  |be contacted at |
00001ab0  74 68 65 20 66 6f 6c 6c  6f 77 69 6e 67 20 61 64  |the following ad|
00001ac0  64 72 65 73 73 3a 0a 0a  20 20 20 20 54 68 61 6c  |dress:..    Thal|
00001ad0  6e 61 0a 20 20 20 20 32  20 44 75 6b 65 73 20 44  |na.    2 Dukes D|
00001ae0  72 69 76 65 0a 20 20 20  20 42 65 61 72 77 6f 6f  |rive.    Bearwoo|
00001af0  64 0a 20 20 20 20 42 6f  75 72 6e 65 6d 6f 75 74  |d.    Bournemout|
00001b00  68 0a 20 20 20 20 44 6f  72 73 65 74 0a 20 20 20  |h.    Dorset.   |
00001b10  20 42 48 31 31 20 39 53  5a 0a 20 20 20 20 0a 20  | BH11 9SZ.    . |
00001b20  20 20 20 61 6c 65 78 40  74 68 6f 75 6b 79 2e 74  |   alex@thouky.t|
00001b30  63 70 2e 63 6f 2e 75 6b  0a 0a 49 66 20 69 6e 20  |cp.co.uk..If in |
00001b40  61 6e 79 20 63 6f 6d 6d  75 6e 69 63 61 74 69 6f  |any communicatio|
00001b50  6e 20 79 6f 75 20 6d 61  6b 65 20 73 70 65 63 69  |n you make speci|
00001b60  66 69 63 20 72 65 66 65  72 65 6e 63 65 20 74 6f  |fic reference to|
00001b70  20 74 68 65 20 70 72 6f  67 72 61 6d 20 63 6f 64  | the program cod|
00001b80  65 20 70 6c 65 61 73 65  3a 0a 0a 20 20 20 20 51  |e please:..    Q|
00001b90  75 6f 74 65 20 74 68 65  20 76 65 72 73 69 6f 6e  |uote the version|
00001ba0  20 6e 75 6d 62 65 72 20  61 6e 64 20 64 61 74 65  | number and date|
00001bb0  20 6f 66 20 74 68 65 20  6d 6f 64 75 6c 65 2e 0a  | of the module..|
00001bc0  20 20 20 20 0a 20 20 20  20 52 65 66 65 72 20 6f  |    .    Refer o|
00001bd0  6e 6c 79 20 74 6f 20 74  68 65 20 6d 6f 64 75 6c  |nly to the modul|
00001be0  65 20 61 73 20 72 65 6c  65 61 73 65 64 2e 0a 20  |e as released.. |
00001bf0  20 20 20 0a 20 20 20 20  53 75 70 70 6c 79 20 61  |   .    Supply a|
00001c00  73 20 6d 61 6e 79 20 64  65 74 61 69 6c 73 20 61  |s many details a|
00001c10  73 20 70 6f 73 73 69 62  6c 65 20 61 62 6f 75 74  |s possible about|
00001c20  20 74 68 65 20 70 72 6f  62 6c 65 6d 2c 20 69 6e  | the problem, in|
00001c30  63 6c 75 64 69 6e 67 20  74 68 65 0a 20 20 20 20  |cluding the.    |
00001c40  68 61 72 64 77 61 72 65  20 61 6e 64 20 73 6f 66  |hardware and sof|
00001c50  74 77 61 72 65 20 63 6f  6e 66 69 67 75 72 61 74  |tware configurat|
00001c60  69 6f 6e 20 6f 66 20 74  68 65 20 6d 61 63 68 69  |ion of the machi|
00001c70  6e 65 20 62 65 69 6e 67  20 75 73 65 64 2e 0a 0a  |ne being used...|
00001c80  50 6c 65 61 73 65 20 73  65 6e 64 20 61 20 73 74  |Please send a st|
00001c90  61 6d 70 65 64 20 61 6e  64 20 73 65 6c 66 20 61  |amped and self a|
00001ca0  64 64 72 65 73 73 65 64  20 65 6e 76 65 6c 6f 70  |ddressed envelop|
00001cb0  65 2c 20 6f 72 20 67 69  76 65 20 64 65 74 61 69  |e, or give detai|
00001cc0  6c 73 20 6f 66 20 68 6f  77 20 74 6f 0a 63 6f 6e  |ls of how to.con|
00001cd0  74 61 63 74 20 76 69 61  20 65 2d 6d 61 69 6c 2c  |tact via e-mail,|
00001ce0  20 69 66 20 79 6f 75 20  77 6f 75 6c 64 20 6c 69  | if you would li|
00001cf0  6b 65 20 61 20 72 65 70  6c 79 2e 0a 0a 49 20 68  |ke a reply...I h|
00001d00  6f 70 65 20 79 6f 75 20  66 69 6e 64 20 74 68 69  |ope you find thi|
00001d10  73 20 6d 6f 64 75 6c 65  20 6f 66 20 73 6f 6d 65  |s module of some|
00001d20  20 75 73 65 2e 0a 0a 0a  41 43 4b 4e 4f 57 4c 45  | use....ACKNOWLE|
00001d30  44 47 45 4d 45 4e 54 53  0a 0a 49 20 77 6f 75 6c  |DGEMENTS..I woul|
00001d40  64 20 6c 69 6b 65 20 74  6f 20 74 68 65 20 74 68  |d like to the th|
00001d50  61 6e 6b 20 74 68 65 20  66 6f 6c 6c 6f 77 69 6e  |ank the followin|
00001d60  67 20 70 65 6f 70 6c 65  20 66 6f 72 20 74 68 65  |g people for the|
00001d70  69 72 20 63 6f 6e 74 72  69 62 75 74 69 6f 6e 73  |ir contributions|
00001d80  20 74 6f 0a 74 68 65 20  64 65 76 65 6c 6f 70 6d  | to.the developm|
00001d90  65 6e 74 20 6f 66 20 74  68 69 73 20 6d 6f 64 75  |ent of this modu|
00001da0  6c 65 3a 0a 0a 20 20 20  20 41 63 6f 72 6e 20 43  |le:..    Acorn C|
00001db0  6f 6d 70 75 74 65 72 73  20 2d 20 54 68 65 20 52  |omputers - The R|
00001dc0  69 73 63 20 50 43 2c 20  52 49 53 43 20 4f 53 20  |isc PC, RISC OS |
00001dd0  61 6e 64 20 74 68 65 20  4f 62 6a 41 73 6d 20 61  |and the ObjAsm a|
00001de0  73 73 65 6d 62 6c 65 72  2e 0a 20 20 20 20 41 69  |ssembler..    Ai|
00001df0  64 61 6e 20 43 6f 72 65  79 20 20 20 20 20 2d 20  |dan Corey     - |
00001e00  54 68 6f 72 6f 75 67 68  20 74 65 73 74 69 6e 67  |Thorough testing|
00001e10  2c 20 61 6e 64 20 67 6f  6f 64 20 69 64 65 61 73  |, and good ideas|
00001e20  20 66 6f 72 20 69 6d 70  72 6f 76 65 6d 65 6e 74  | for improvement|
00001e30  73 2e 0a 20 20 20 20 44  6f 6d 69 6e 69 63 20 53  |s..    Dominic S|
00001e40  79 6d 65 73 20 20 20 2d  20 54 68 65 20 62 72 69  |ymes   - The bri|
00001e50  6c 6c 69 61 6e 74 20 21  5a 61 70 20 65 64 69 74  |lliant !Zap edit|
00001e60  6f 72 3b 20 67 65 74 20  61 20 63 6f 70 79 20 69  |or; get a copy i|
00001e70  6d 6d 65 64 69 61 74 65  6c 79 2e 0a 20 20 20 20  |mmediately..    |
00001e80  43 6f 6c 69 6e 20 54 75  72 6e 62 75 6c 6c 20 20  |Colin Turnbull  |
00001e90  2d 20 52 65 6d 69 6e 64  69 6e 67 20 6d 65 20 74  |- Reminding me t|
00001ea0  68 61 74 20 49 20 73 68  6f 75 6c 64 20 62 65 20  |hat I should be |
00001eb0  72 65 76 69 73 69 6e 67  2e 0a 20 20 20 20 52 6f  |revising..    Ro|
00001ec0  62 69 6e 20 57 61 74 74  73 20 20 20 20 20 2d 20  |bin Watts     - |
00001ed0  21 4c 61 72 67 65 72 2c  20 74 68 65 20 67 72 65  |!Larger, the gre|
00001ee0  61 74 65 73 74 20 62 61  63 6b 64 72 6f 70 20 70  |atest backdrop p|
00001ef0  72 6f 67 72 61 6d 20 65  76 65 72 2e 0a 20 20 20  |rogram ever..   |
00001f00  20 52 6f 62 20 57 65 73  74 77 6f 6f 64 20 20 20  | Rob Westwood   |
00001f10  20 2d 20 54 68 65 20 6f  72 69 67 69 6e 61 6c 20  | - The original |
00001f20  69 64 65 61 20 62 65 68  69 6e 64 20 74 68 69 73  |idea behind this|
00001f30  20 70 72 6f 67 72 61 6d  2e 0a 0a 61 6e 64 20 65  | program...and e|
00001f40  76 65 72 79 6f 6e 65 20  61 74 20 74 68 65 20 41  |veryone at the A|
00001f50  63 6f 72 6e 20 55 73 65  72 20 47 72 6f 75 70 20  |corn User Group |
00001f60  69 6e 20 4f 78 66 6f 72  64 2e 0a 0a 0a 54 48 49  |in Oxford....THI|
00001f70  4e 47 53 20 54 4f 20 44  4f 0a 0a 54 68 65 20 66  |NGS TO DO..The f|
00001f80  6f 6c 6c 6f 77 69 6e 67  20 61 72 65 20 63 68 61  |ollowing are cha|
00001f90  6e 67 65 73 20 74 68 61  74 20 6d 61 79 20 62 65  |nges that may be|
00001fa0  20 6d 61 64 65 20 74 6f  20 74 68 69 73 20 6d 6f  | made to this mo|
00001fb0  64 75 6c 65 20 73 6f 6d  65 74 69 6d 65 20 69 6e  |dule sometime in|
00001fc0  20 74 68 65 0a 66 75 74  75 72 65 3a 0a 0a 20 20  | the.future:..  |
00001fd0  20 20 43 68 65 63 6b 20  66 6f 72 20 66 6f 72 6d  |  Check for form|
00001fe0  61 74 20 62 75 66 66 65  72 20 6f 76 65 72 66 6c  |at buffer overfl|
00001ff0  6f 77 20 2d 20 63 75 72  72 65 6e 74 6c 79 20 61  |ow - currently a|
00002000  20 31 30 32 34 20 62 79  74 65 20 66 69 78 65 64  | 1024 byte fixed|
00002010  20 6c 65 6e 67 74 68 0a  20 20 20 20 62 75 66 66  | length.    buff|
00002020  65 72 20 69 73 20 75 73  65 64 20 77 68 69 6c 73  |er is used whils|
00002030  74 20 70 72 6f 63 65 73  73 69 6e 67 20 74 68 65  |t processing the|
00002040  20 66 6f 72 6d 61 74 20  73 74 72 69 6e 67 73 2c  | format strings,|
00002050  20 77 69 74 68 6f 75 74  20 61 6e 79 20 63 68 65  | without any che|
00002060  63 6b 73 0a 20 20 20 20  66 6f 72 20 6f 76 65 72  |cks.    for over|
00002070  66 6c 6f 77 2e 0a 20 20  20 20 0a 20 20 20 20 49  |flow..    .    I|
00002080  6e 63 6f 72 70 6f 72 61  74 65 20 65 78 74 72 61  |ncorporate extra|
00002090  20 25 78 78 20 74 6f 6b  65 6e 73 20 66 6f 72 20  | %xx tokens for |
000020a0  73 70 65 63 69 61 6c 20  70 75 72 70 6f 73 65 73  |special purposes|
000020b0  2e 0a 0a 20 20 20 20 49  6d 70 72 6f 76 65 20 74  |...    Improve t|
000020c0  68 65 20 65 72 72 6f 72  20 68 61 6e 64 6c 69 6e  |he error handlin|
000020d0  67 2e 20 49 66 20 61 6e  79 20 70 61 72 74 20 6f  |g. If any part o|
000020e0  66 20 69 6e 69 74 69 61  6c 69 73 61 74 69 6f 6e  |f initialisation|
000020f0  20 66 61 69 6c 73 20 74  68 65 6e 20 74 68 65 0a  | fails then the.|
00002100  20 20 20 20 63 6f 72 72  65 63 74 20 70 6f 69 6e  |    correct poin|
00002110  74 20 69 6e 20 74 68 65  20 66 69 6e 61 6c 69 73  |t in the finalis|
00002120  61 74 69 6f 6e 20 63 6f  64 65 20 73 68 6f 75 6c  |ation code shoul|
00002130  64 20 62 65 20 6a 75 6d  70 65 64 20 74 6f 20 61  |d be jumped to a|
00002140  6c 6c 6f 77 69 6e 67 20  61 6e 79 0a 20 20 20 20  |llowing any.    |
00002150  73 75 63 63 65 73 73 66  75 6c 20 69 6e 69 74 69  |successful initi|
00002160  61 6c 69 73 61 74 69 6f  6e 20 74 6f 20 62 65 20  |alisation to be |
00002170  75 6e 64 6f 6e 65 2e 20  4d 65 6d 6f 72 79 20 61  |undone. Memory a|
00002180  6c 6c 6f 63 61 74 69 6f  6e 20 61 6e 64 20 64 65  |llocation and de|
00002190  61 6c 6c 6f 63 61 74 69  6f 6e 0a 20 20 20 20 73  |allocation.    s|
000021a0  68 6f 75 6c 64 20 61 6c  73 6f 20 62 65 20 6d 6f  |hould also be mo|
000021b0  72 65 20 63 6f 6e 74 72  6f 6c 6c 65 64 2e 0a 20  |re controlled.. |
000021c0  20 20 20 0a 0a 56 45 52  53 49 4f 4e 20 48 49 53  |   ..VERSION HIS|
000021d0  54 4f 52 59 0a 0a 30 2e  30 30 20 28 32 35 2d 41  |TORY..0.00 (25-A|
000021e0  70 72 2d 39 35 29 20 20  20 20 4f 72 69 67 69 6e  |pr-95)    Origin|
000021f0  61 6c 20 64 65 76 65 6c  6f 70 6d 65 6e 74 20 76  |al development v|
00002200  65 72 73 69 6f 6e 2e 0a  0a 30 2e 30 31 20 28 32  |ersion...0.01 (2|
00002210  36 2d 41 70 72 2d 39 35  29 20 20 20 20 57 72 69  |6-Apr-95)    Wri|
00002220  74 65 73 20 74 6f 20 54  65 72 72 69 74 6f 72 79  |tes to Territory|
00002230  20 4d 61 6e 61 67 65 72  20 77 6f 72 6b 73 70 61  | Manager workspa|
00002240  63 65 20 74 6f 20 69 6e  73 74 61 6c 6c 20 61 73  |ce to install as|
00002250  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00002260  20 20 20 20 20 63 75 72  72 65 6e 74 20 74 65 72  |     current ter|
00002270  72 69 74 6f 72 79 20 77  69 74 68 6f 75 74 20 62  |ritory without b|
00002280  65 69 6e 67 20 74 68 65  20 63 6f 6e 66 69 67 75  |eing the configu|
00002290  72 65 64 20 74 65 72 72  69 74 6f 72 79 2e 0a 0a  |red territory...|
000022a0  30 2e 30 32 20 28 32 36  2d 41 70 72 2d 39 35 29  |0.02 (26-Apr-95)|
000022b0  20 20 20 20 46 6f 72 6d  61 74 20 73 74 72 69 6e  |    Format strin|
000022c0  67 73 20 63 6f 6e 74 61  69 6e 69 6e 67 20 74 68  |gs containing th|
000022d0  65 20 64 61 79 20 6e 6f  74 20 72 65 70 6c 61 63  |e day not replac|
000022e0  65 64 20 74 6f 20 63 6f  72 72 65 63 74 0a 20 20  |ed to correct.  |
000022f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002300  20 20 70 72 6f 62 6c 65  6d 20 77 69 74 68 20 62  |  problem with b|
00002310  6f 74 68 20 42 41 53 49  43 20 61 6e 64 20 74 68  |oth BASIC and th|
00002320  65 20 53 79 73 24 2a 20  63 6f 64 65 20 76 61 72  |e Sys$* code var|
00002330  69 61 62 6c 65 73 0a 20  20 20 20 20 20 20 20 20  |iables.         |
00002340  20 20 20 20 20 20 20 20  20 20 20 65 78 70 65 63  |           expec|
00002350  74 69 6e 67 20 66 69 78  65 64 20 77 69 64 74 68  |ting fixed width|
00002360  20 66 69 65 6c 64 73 2e  20 4d 6f 64 69 66 69 65  | fields. Modifie|
00002370  64 20 73 74 72 69 6e 67  20 70 61 64 64 65 64 20  |d string padded |
00002380  6f 72 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |or.             |
00002390  20 20 20 20 20 20 20 74  72 75 6e 63 61 74 65 64  |       truncated|
000023a0  20 74 6f 20 6f 72 69 67  69 6e 61 6c 20 6c 65 6e  | to original len|
000023b0  67 74 68 2e 0a 0a 30 2e  30 33 20 28 32 38 2d 41  |gth...0.03 (28-A|
000023c0  70 72 2d 39 35 29 20 20  20 20 49 6e 73 74 61 6c  |pr-95)    Instal|
000023d0  6c 61 74 69 6f 6e 20 72  6f 75 74 69 6e 65 20 6c  |lation routine l|
000023e0  65 67 61 6c 69 73 65 64  20 62 79 20 72 65 69 6e  |egalised by rein|
000023f0  69 74 69 61 6c 69 73 69  6e 67 20 54 65 72 72 69  |itialising Terri|
00002400  74 6f 72 79 0a 20 20 20  20 20 20 20 20 20 20 20  |tory.           |
00002410  20 20 20 20 20 20 20 20  20 4d 61 6e 61 67 65 72  |         Manager|
00002420  20 77 69 74 68 20 4f 53  5f 42 79 74 65 20 76 65  | with OS_Byte ve|
00002430  63 74 6f 72 20 69 6e 74  65 72 63 65 70 74 65 64  |ctor intercepted|
00002440  20 74 6f 20 70 72 65 74  65 6e 64 20 74 68 61 74  | to pretend that|
00002450  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00002460  20 20 20 20 20 74 68 69  73 20 69 73 20 74 68 65  |     this is the|
00002470  20 63 6f 6e 66 69 67 75  72 65 64 20 54 65 72 72  | configured Terr|
00002480  69 74 6f 72 79 2e 20 41  64 64 65 64 20 72 65 70  |itory. Added rep|
00002490  6c 61 63 65 6d 65 6e 74  20 66 6f 72 6d 61 74 0a  |lacement format.|
000024a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000024b0  20 20 20 20 66 6f 72 20  65 61 72 6c 69 65 72 20  |    for earlier |
000024c0  74 68 65 20 73 61 6d 65  20 79 65 61 72 2e 20 43  |the same year. C|
000024d0  6f 72 72 65 63 74 65 64  20 73 74 61 63 6b 20 68  |orrected stack h|
000024e0  61 6e 64 6c 69 6e 67 20  6f 76 65 72 0a 20 20 20  |andling over.   |
000024f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002500  20 6e 65 73 74 65 64 20  53 57 49 20 63 61 6c 6c  | nested SWI call|
00002510  73 2e 20 4f 6e 6c 79 20  70 65 72 66 6f 72 6d 73  |s. Only performs|
00002520  20 73 75 73 62 74 69 74  75 74 69 6f 6e 20 69 66  | susbtitution if|
00002530  20 74 65 78 74 20 77 6f  75 6c 64 0a 20 20 20 20  | text would.    |
00002540  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002550  6e 6f 74 20 72 65 71 75  69 72 65 20 74 72 75 6e  |not require trun|
00002560  63 61 74 69 6f 6e 2e 0a  0a 30 2e 30 34 20 28 32  |cation...0.04 (2|
00002570  39 2d 41 70 72 2d 39 35  29 20 20 20 20 41 64 64  |9-Apr-95)    Add|
00002580  65 64 20 73 65 63 6f 6e  64 20 63 68 6f 69 63 65  |ed second choice|
00002590  20 72 65 70 6c 61 63 65  6d 65 6e 74 20 66 6f 72  | replacement for|
000025a0  6d 61 74 73 20 74 6f 20  63 6f 70 65 20 62 65 74  |mats to cope bet|
000025b0  74 65 72 0a 20 20 20 20  20 20 20 20 20 20 20 20  |ter.            |
000025c0  20 20 20 20 20 20 20 20  77 69 74 68 20 73 6d 61  |        with sma|
000025d0  6c 6c 20 66 69 65 6c 64  20 77 69 64 74 68 73 2e  |ll field widths.|
000025e0  20 53 75 62 73 74 69 74  75 74 69 6f 6e 73 20 70  | Substitutions p|
000025f0  61 64 64 65 64 20 69 6e  64 69 76 69 64 75 61 6c  |added individual|
00002600  6c 79 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |ly.             |
00002610  20 20 20 20 20 20 20 77  69 74 68 69 6e 20 65 61  |       within ea|
00002620  63 68 20 72 65 70 6c 61  63 65 64 20 73 65 63 74  |ch replaced sect|
00002630  69 6f 6e 2e 20 43 6f 6d  70 61 72 69 73 6f 6e 73  |ion. Comparisons|
00002640  20 6d 61 64 65 20 63 61  73 65 0a 20 20 20 20 20  | made case.     |
00002650  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 69  |               i|
00002660  6e 73 65 6e 73 69 74 69  76 65 2c 20 61 6e 64 20  |nsensitive, and |
00002670  77 69 6c 64 2d 63 61 72  64 73 20 73 75 70 70 6f  |wild-cards suppo|
00002680  72 74 65 64 2e 0a 0a 30  2e 30 35 20 28 30 31 2d  |rted...0.05 (01-|
00002690  4d 61 79 2d 39 35 29 20  20 20 20 4d 65 73 73 61  |May-95)    Messa|
000026a0  67 65 73 20 66 69 6c 65  20 67 65 6e 65 72 61 74  |ges file generat|
000026b0  65 64 20 6f 6e 2d 74 68  65 2d 66 6c 79 20 66 6f  |ed on-the-fly fo|
000026c0  72 20 54 65 72 72 69 74  6f 72 79 20 4d 61 6e 61  |r Territory Mana|
000026d0  67 65 72 0a 20 20 20 20  20 20 20 20 20 20 20 20  |ger.            |
000026e0  20 20 20 20 20 20 20 20  74 6f 20 67 69 76 65 20  |        to give |
000026f0  74 68 65 20 6e 65 77 20  74 65 72 72 69 74 6f 72  |the new territor|
00002700  79 20 74 68 65 20 73 61  6d 65 20 6e 61 6d 65 20  |y the same name |
00002710  61 73 20 74 68 65 20 63  6f 6e 66 69 67 75 72 65  |as the configure|
00002720  64 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |d.              |
00002730  20 20 20 20 20 20 74 65  72 72 69 74 6f 72 79 20  |      territory |
00002740  74 6f 20 61 76 6f 69 64  20 70 72 6f 62 6c 65 6d  |to avoid problem|
00002750  73 20 77 69 74 68 20 61  70 70 6c 69 63 61 74 69  |s with applicati|
00002760  6f 6e 73 20 75 73 69 6e  67 20 74 68 65 0a 20 20  |ons using the.  |
00002770  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002780  20 20 6e 61 6d 65 20 6f  66 20 74 68 65 20 74 65  |  name of the te|
00002790  72 72 69 74 6f 72 79 20  74 6f 20 6c 6f 61 64 20  |rritory to load |
000027a0  72 65 73 6f 75 72 63 65  73 2e 20 49 6e 73 74 61  |resources. Insta|
000027b0  6c 6c 73 20 61 6e 64 20  75 73 65 73 0a 20 20 20  |lls and uses.   |
000027c0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000027d0  20 6d 65 73 73 61 67 65  73 20 66 69 6c 65 20 66  | messages file f|
000027e0  6f 72 20 63 6f 6e 66 69  67 75 72 61 74 69 6f 6e  |or configuration|
000027f0  2e 0a 0a 30 2e 30 36 20  28 30 32 2d 4d 61 79 2d  |...0.06 (02-May-|
00002800  39 35 29 20 20 20 20 50  72 65 70 72 6f 63 65 73  |95)    Preproces|
00002810  73 69 6e 67 20 6f 66 20  63 6f 6e 66 69 67 75 72  |sing of configur|
00002820  61 74 69 6f 6e 20 6d 65  73 73 61 67 65 73 20 66  |ation messages f|
00002830  69 6c 65 20 74 6f 20 69  6d 70 72 6f 76 65 0a 20  |ile to improve. |
00002840  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002850  20 20 20 63 6f 6e 76 65  72 73 69 6f 6e 20 70 65  |   conversion pe|
00002860  72 66 6f 72 6d 61 6e 63  65 2e 20 45 72 72 6f 72  |rformance. Error|
00002870  20 63 68 65 63 6b 69 6e  67 20 64 75 72 69 6e 67  | checking during|
00002880  20 63 6f 6e 76 65 72 73  69 6f 6e 73 0a 20 20 20  | conversions.   |
00002890  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000028a0  20 69 6d 70 72 6f 76 65  64 2e 0a 0a 30 2e 30 37  | improved...0.07|
000028b0  20 28 30 34 2d 4d 61 79  2d 39 35 29 20 20 20 20  | (04-May-95)    |
000028c0  41 64 64 65 64 20 73 75  62 73 74 69 74 75 74 69  |Added substituti|
000028d0  6f 6e 73 20 66 6f 72 20  70 72 65 76 69 6f 75 73  |ons for previous|
000028e0  20 79 65 61 72 73 2c 20  74 6f 6d 6f 72 72 6f 77  | years, tomorrow|
000028f0  20 61 6e 64 20 74 68 65  0a 20 20 20 20 20 20 20  | and the.       |
00002900  20 20 20 20 20 20 20 20  20 20 20 20 20 66 75 74  |             fut|
00002910  75 72 65 2e 20 49 6d 70  72 6f 76 65 64 20 68 61  |ure. Improved ha|
00002920  6e 64 6c 69 6e 67 20 6f  66 20 65 72 72 6f 72 73  |ndling of errors|
00002930  20 64 75 72 69 6e 67 20  73 75 62 73 74 69 74 75  | during substitu|
00002940  74 69 6f 6e 2e 0a 20 20  20 20 20 20 20 20 20 20  |tion..          |
00002950  20 20 20 20 20 20 20 20  20 20 50 72 65 70 72 6f  |          Prepro|
00002960  63 65 73 73 65 64 20 73  75 62 73 74 69 74 75 74  |cessed substitut|
00002970  69 6f 6e 20 6d 65 73 73  61 67 65 73 20 61 6c 73  |ion messages als|
00002980  6f 20 66 6f 72 20 65 76  65 6e 20 66 61 73 74 65  |o for even faste|
00002990  72 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |r.              |
000029a0  20 20 20 20 20 20 63 6f  6e 76 65 72 73 69 6f 6e  |      conversion|
000029b0  73 2e 0a 0a 30 2e 30 38  20 28 30 35 2d 4d 61 79  |s...0.08 (05-May|
000029c0  2d 39 35 29 20 20 20 20  49 6d 70 72 6f 76 65 64  |-95)    Improved|
000029d0  20 6d 61 63 72 6f 73 20  66 6f 72 20 73 75 62 72  | macros for subr|
000029e0  6f 75 74 69 6e 65 20 68  61 6e 64 6c 69 6e 67 2c  |outine handling,|
000029f0  20 6d 61 6b 69 6e 67 20  74 68 65 20 63 6f 64 65  | making the code|
00002a00  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00002a10  20 20 20 20 20 6d 6f 72  65 20 6c 69 6b 65 6c 79  |     more likely|
00002a20  20 74 6f 20 62 65 20 63  6f 72 72 65 63 74 20 61  | to be correct a|
00002a30  6e 64 20 73 68 6f 72 74  65 6e 69 6e 67 20 74 68  |nd shortening th|
00002a40  65 20 6d 6f 64 75 6c 65  20 62 79 0a 20 20 20 20  |e module by.    |
00002a50  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002a60  33 32 20 62 79 74 65 73  2e 0a 0a 30 2e 30 39 20  |32 bytes...0.09 |
00002a70  28 30 37 2d 4d 61 79 2d  39 35 29 20 20 20 20 49  |(07-May-95)    I|
00002a80  6e 74 65 72 63 65 70 74  73 20 54 65 72 72 69 74  |ntercepts Territ|
00002a90  6f 72 79 20 4d 61 6e 61  67 65 72 20 53 57 49 73  |ory Manager SWIs|
00002aa0  20 62 79 20 75 73 69 6e  67 20 74 68 65 20 73 61  | by using the sa|
00002ab0  6d 65 20 53 57 49 0a 20  20 20 20 20 20 20 20 20  |me SWI.         |
00002ac0  20 20 20 20 20 20 20 20  20 20 20 63 68 75 6e 6b  |           chunk|
00002ad0  20 6e 75 6d 62 65 72 20  61 6e 64 20 65 6e 73 75  | number and ensu|
00002ae0  72 69 6e 67 20 74 68 61  74 20 74 68 69 73 20 6d  |ring that this m|
00002af0  6f 64 75 6c 65 20 69 73  20 74 68 65 20 6d 6f 73  |odule is the mos|
00002b00  74 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |t.              |
00002b10  20 20 20 20 20 20 72 65  63 65 6e 74 6c 79 20 69  |      recently i|
00002b20  6e 69 74 69 61 6c 69 73  65 64 2e 20 54 68 69 73  |nitialised. This|
00002b30  20 68 61 73 20 74 68 65  20 61 64 76 61 6e 74 61  | has the advanta|
00002b40  67 65 20 74 68 61 74 20  61 20 6e 65 77 0a 20 20  |ge that a new.  |
00002b50  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002b60  20 20 74 65 72 72 69 74  6f 72 79 20 69 73 20 6e  |  territory is n|
00002b70  6f 74 20 72 65 71 75 69  72 65 64 2e 0a 0a 31 2e  |ot required...1.|
00002b80  30 30 20 28 30 39 2d 4d  61 79 2d 39 35 29 20 20  |00 (09-May-95)  |
00002b90  20 20 46 69 72 73 74 20  6f 66 66 69 63 69 61 6c  |  First official|
00002ba0  20 72 65 6c 65 61 73 65  20 76 65 72 73 69 6f 6e  | release version|
00002bb0  2e 20 43 68 61 6e 67 65  64 20 64 65 66 61 75 6c  |. Changed defaul|
00002bc0  74 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |t.              |
00002bd0  20 20 20 20 20 20 63 6f  6e 66 69 67 75 72 61 74  |      configurat|
00002be0  69 6f 6e 20 74 6f 20 75  73 65 20 66 75 6c 6c 79  |ion to use fully|
00002bf0  20 77 69 6c 64 2d 63 61  72 64 65 64 20 73 65 61  | wild-carded sea|
00002c00  72 63 68 20 73 74 72 69  6e 67 73 0a 20 20 20 20  |rch strings.    |
00002c10  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002c20  61 6e 64 20 75 73 69 6e  67 20 65 78 74 72 61 20  |and using extra |
00002c30  73 70 65 63 69 66 69 63  20 73 74 6f 70 20 73 74  |specific stop st|
00002c40  72 69 6e 67 73 20 74 6f  20 6f 62 74 61 69 6e 20  |rings to obtain |
00002c50  64 65 73 69 72 65 64 0a  20 20 20 20 20 20 20 20  |desired.        |
00002c60  20 20 20 20 20 20 20 20  20 20 20 20 62 65 68 61  |            beha|
00002c70  76 69 6f 75 72 2e 0a 0a  31 2e 30 31 20 28 31 30  |viour...1.01 (10|
00002c80  2d 4d 61 79 2d 39 35 29  20 20 20 20 43 6f 72 72  |-May-95)    Corr|
00002c90  65 63 74 65 64 20 62 75  67 20 77 68 69 63 68 20  |ected bug which |
00002ca0  70 72 65 76 65 6e 74 65  64 20 61 6c 74 65 72 6e  |prevented altern|
00002cb0  61 74 69 76 65 20 73 75  62 73 74 69 74 75 74 69  |ative substituti|
00002cc0  6f 6e 73 0a 20 20 20 20  20 20 20 20 20 20 20 20  |ons.            |
00002cd0  20 20 20 20 20 20 20 20  66 72 6f 6d 20 77 6f 72  |        from wor|
00002ce0  6b 69 6e 67 2e 0a 0a 31  2e 30 32 20 28 31 37 2d  |king...1.02 (17-|
00002cf0  41 75 67 2d 39 35 29 20  20 20 20 55 70 64 61 74  |Aug-95)    Updat|
00002d00  65 64 20 74 6f 20 77 6f  72 6b 20 77 69 74 68 20  |ed to work with |
00002d10  4f 53 4c 49 62 20 76 65  72 73 69 6f 6e 20 35 2c  |OSLIb version 5,|
00002d20  20 61 6e 64 20 73 6f 6d  65 0a 20 20 20 20 20 20  | and some.      |
00002d30  20 20 20 20 20 20 20 20  20 20 20 20 20 20 64 65  |              de|
00002d40  76 65 6c 6f 70 6d 65 6e  74 20 63 6f 64 65 20 72  |velopment code r|
00002d50  65 6d 6f 76 65 64 2e 0a  0a 31 2e 30 33 20 28 33  |emoved...1.03 (3|
00002d60  31 2d 4a 61 6e 2d 39 38  29 20 20 20 20 43 6f 72  |1-Jan-98)    Cor|
00002d70  72 65 63 74 65 64 20 68  61 6e 64 6c 69 6e 67 20  |rected handling |
00002d80  6f 66 20 66 75 74 75 72  65 20 64 61 74 65 73 20  |of future dates |
00002d90  77 69 74 68 69 6e 20 74  68 65 20 73 61 6d 65 20  |within the same |
00002da0  79 65 61 72 2e 0a 20 20  20 20 20 20 20 20 20 20  |year..          |
00002db0  20 20 20 20 20 20 20 20  20 20 41 64 64 65 64 20  |          Added |
00002dc0  61 20 73 75 62 73 74 69  74 75 74 69 6f 6e 20 66  |a substitution f|
00002dd0  6f 72 20 74 68 65 20 6c  61 73 74 20 74 65 6e 20  |or the last ten |
00002de0  6d 69 6e 75 74 65 73 2e                           |minutes.|
00002de8