                               Terminate
                               =========

Version 1.06 (30 Dec 2002)


Introduction
------------
I just wanted to implement something that lets you do

   *Terminate "Foo Bar"
   *Terminate "foo bAr"
   *Terminate Foo#Bar
   *Terminate Foo*
   *Terminate "Foo B*"
   *Terminate #oo*#ar

etc. (I think you got the idea) in order to kill a named task from CLI or from within an obey file. # is the wildcard for one character only, whereas * can be used as a general wildcard for no or multiple characters.

Now I've even added a

   *TerminateAll "F#o B*"

thing which kills all matching tasks.


Usage
-----
It's a module, so just load it before you want to use the Terminate command. Somewhere in your boot is a good choice.


How it works
------------
It enumerates all active wimp tasks and compares them to the (wildcarded) command line argument using Justin's Strings library.


Bugs
----
I'm not yet aware of any. Please tell me, if you find some.


Disclaimer
----------
The author accepts no responsibility for any problems which this application may cause or loss of data resulting in its use. This application is Public Domain. This means that it may be distributed, so long as no charge other than copying costs are charged for it.


Source code
-----------
This program requires the !JFPatch pre-assembler to make the code. This is a simple text-to-basic assembler which takes a text assembler file, makes a basic program from it to assemble, assembles it and returns any errors.
You may download it from Justin's homepage at:

    http://www.movspclr.co.uk/software.html


Credits
-------
* Thanks to Justin Fletcher for writing JFPatch and explaining things to me.
* Thanks to GUS who gives me hints as well.


History
-------
Version 1.00 : 12th September 2000
               first version, not released to the public
        1.01 : 17th September 2000
               removed writes to code area, works now from within obey
               files as well (thanks to GUS for his hints)
        1.02 : 5th October 2000
               made use of module_title for the task name, thanks Justin!
        1.03 : 19th October 2000
               renamed from KillTask to Terminate because of another
               module providing the same command
               removed setting of Sys$ReturnCode as Terminate couldn't
               be called from within BASIC without leaving it, e.g.
        1.04 : 10th February 2002
               removed non-32bit safe instructions
        1.05 : 4th May 2002
               added TerminateAll to kill all matching tasks
        1.06 : 30th Dec 2002
               made 32-bit ready, use BASIC instead of JFPatch now as
               JFPatch is not able to produce 32-bit ready code


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

E-Mail : sbellon@sbellon.de
URL    : http://www.sbellon.de/
