ANYCOMPILE (ZapDWExt Daniel Wagenaar)
Does MAKE or CC, whichever is appropriate: for project files do MAKE;
for C files do CC, unless the string 'Makefile: <name> [<target>]' occurs
near the start of the text. In that case, MAKE is done, but no options are
asked.
 
If a line of the form: xxx +-+ <command> +-+ xxx or: xxx +-+ <command> is
found, then the command is executed instead of any default action. In the
command, the sequences %f, %l, %d may be used to represent, respectively,
the full filename, the leafname, or the parent directory name of the file.
 
Example: /* +-+ cc -IC: -Lc:o.stubs -throwback -Desktop ^ %f +-+ */

BLOCKID (ZapDWExt Daniel Wagenaar)
Blocks the identifier under the cursor. An identifier is as defined by ANSI
C, ie it starts with a letter, and may contain numbers, letters, and the
underscore.

BLOCKSTAR (ZapDWExt Daniel Wagenaar)
Do *TaskWindow "<block>" -quit, where <block> is the selected area.

CC (ZapDWExt Daniel Wagenaar)
Compiles a C program using 'STARCOM "cc <filename>"'. It opens a minibuffer
in which the command line options may be specified. The default options are
read from and written to the system variable Zap$CCOptions. As explained
below, a default value may be assigned in Zap's !Run file. A sensible
default could be: '-IC: -throwback -Lc:o.stubs,c:o.risc_oslib -Desktop ^'

DDEFIND
Searches for patterns in files, using STARCOM "find -t <args> >null:",
ie calling the command find, producing a throwback window (only).

DEFBLOCK (ZapDWExt Daniel Wagenaar)
Finds '.<block>' or 'DEF<block>' for BASIC or '<block>(' for C.

FINDID (ZapDWExt Daniel Wagenaar)
First do BLOCKID, then, if the mode is BASIC, or the mode is C and the first
char after the block is '(', do DEFBLOCK, else find the first occurence of
the selection in the file (FINDSEL "first"). In this way, function
definitions may be found, and the first occurrence of a variable may be
found in C mode.

MAKE (ZapDWExt Daniel Wagenaar)
Makes a project using 'STARCOM "prefix <dirname> |M amu -f <leafname>"'.
Additional command line options may be specified via the minibuffer. Default
options are read from and written to the system variable Zap$AmuOptions.

MODBRK (ZapDWExt Daniel Wagenaar)
Sets a breakpoint in a module, at the cursor address.
The module must be loaded into Zap using 

Create.Get module.<modname>

OPENCH (ZapDWExt Daniel Wagenaar)
Switches between C files and header files as follows:
 file is named... OPENCH tries to open...
  ...c.yyy	->	...h.yyy
  ...cpp.yyy	->	...h.yyy or ...hpp.yyy
  ...c++.yyy	->	...h.yyy or ...h++.yyy
  ...cc.yyy	->	...h.yyy or ...hh.yyy
  ...h.yyy	->	...c.yyy, ...cpp.yyy,
			...c++.yyy or ...cc.yyy
  ...hpp.yyy	->	...cpp.yyy
  ...h++.yyy	->	...c++.yyy
  ...hh.yyy	->	...cc.yyy

OPENMAKE (ZapDWExt Daniel Wagenaar)
Opens the makefile for this project, if the string 'Makefile: <name>' is
included in the start of the file.

OPENOTHER (ZapDWExt Daniel Wagenaar)
Does either OPENREF, OPENMAKE or OPENCH, whichever is most appropriate.
OPENOTHER uses the path 'ZapDWS:' to complete filenames. For example, if a
reference is made to 'stdio.h', then OPENOTHER/OPENREF will try to open
'ZapDWS:h.stdio'. (As always, element inversion is taken care of.) To make
this system work, a line defining ZapDWS$Path must be included in Zap's
!ZapRun file. See the !Help file for ZapDWExt for details.

OPENREF (ZapDWExt Daniel Wagenaar)
Opens a file referenced at the cursor, eg for #include <fff.h>.
Note that OPENREF takes care of path element inversion, as in
'fff.h' => 'h.fff'.

REVERT (ZapDWExt Daniel Wagenaar)
Reloads the current file from disc. This can be used in two occasions:
firstly if you have accidentally corrupted your work and don't feel like
pressing Full undo a million times. Secondly if an external program
(such as AMU) has changed your file and you want to edit the new version.

STARCOM (ZapDWExt Daniel Wagenaar)
Does '*TaskWindow "<arg>" -quit'. <arg> may be included in the Keys file, or
typed in a mini-buffer.

TLDBFILE (ZapDWExt Daniel Wagenaar)
Finds the current selection as a top level definition in the
current file: in header files (in dir 'h.') function
declarations are found, in source files (in dir 'c.') only
definitions are found.

TLDBDIR (ZapDWExt Daniel Wagenaar)
As TLDBFILE, but also searches parent directory.
If the directory is 'c.', 'h.' is searched as well.
If the directory is 's.', 'c.' and 'h.' are searched instead.
This command will often be used in the sequence 'BLOCKID:TLDBDIR:CLEARSEL'.
(In later version, absence of a selection may trigger prompt.)
(There is no automatic conversion between C++ file-directories
and their header-directories.)

TLDBHEAD (ZapDWExt Daniel Wagenaar)
As TLDBDIR, but also searches through #includes.  This works for C only,
but will, on demand, be extended to assembly in a later version.
