@database PROGED.MANUAL
@node MAIN "ProgED V2.3 1995-97 Giovanni Lambiase"

                 ######                             #######      ##
                ##   ##                            ##           ##
               ##   ## ####   ######  ######      ####    #######
              ####### ##  ## ##   ## ##   ## ### ##      ##   ##
             ##      ##     ##   ## ##   ##     ##      ##   ##
            ##      ##      ######  ######     #######   #####
                                       ##
                                  ##  ##
                                   ####

                       ProgED V2.3 - Programmers' Editor
                                        
              Copyright 1995-97 Giovanni Lambiase, January 1997

                  Reqtools.library - Copyright Nico Franois
                Powerpacker.library - Copyright Nico Franois
        XpkMaster.library - Copyright Urban Dominik Mller & Bryan Ford
                    Triton.library - Copyright Stefan Zeiger

                         * *   S H A R E W A R E   * *
                                        
                                        
                            @{"    Distribution     " link LICENCE}
                            @{"    Requirements     " link SYSTEMREQ}
                            @{"    Introduction     " link INTRO}
                            @{"      Features       " link FEATURE}
                            @{" Template/Tooltypes  " link ARGUMENTS }
                            @{"  Default settings   " link DEFSETTINGS}
                            @{"   Arexx commands    " link AREXX}
                            @{"  Internal commands  " link INTCOMMANDS}
                            @{"    Adapt ProgED     " link CUSTOMIZING}
                            @{"    Collaboration    " link COLLABO}
                            @{"     Registering     " link REGISTERING}
                            @{"  Updating from 1.x  " link UPDATING}
                            @{"  Updating from 2.x  " link UPDATING2}
                            @{"    SAS/C Support    " link SASC}
                            @{"     Known Bugs      " link BUGS}
                            @{"       Triton        " link TRITON}
                            @{"       Author        " link AUTHOR}
                            @{"       Thanks        " link THANKS}

      +-------------------------------------------------------------------+
      |                                                                   |
      | NOTE: Excuse me for my English. Yes, I know, it's terrible,       |
      |       but I had to translate it or you couldn't read it.          |
      |       If you want correct this file and send it to me I'll        |
      |       be very gratefull.                                          |
      |                                                                   |
      +-------------------------------------------------------------------+

@endnode

@node TRITON "Triton"

    Triton is a library by Stefan Zeiger. ProgED 2.3 requires it so,
as Stefan wrote, I included a simple script to install a general
release of this library for all 2.0 and above systems. Anyway Triton
has a preferences editor and an optimized 3.0+ release. Search for
the archive "TRI14USR.LHA" on your local bbs or Aminet to get full
distribution. Triton.library is shareware but it's fully working even
in unregistered release.

    To help you I've implemented a ProgED internal snapshot of Triton
windows (available only in registered Triton). As soon as you save
preferences ProgED stores position & size of all Triton windows. This
allows you to position & resize your windows and to get them even equal.

@endnode

@node THANKS "Thanks"

    A @{b}big@{ub} thanks to following people:


 Enrico Altavilla             \\
 Bruno Barbera                 | Beta testers
 Mario Bianchi                /

 Alberto Longo                 - For his useful suggests

 Mario Mure'                   - For all time he lost for me

 Felice Murolo                 - The (old) boss!

 All registered users          - (:-)

 Bruno Barbera                \\
 Mario Bianchi                 |
 Enrico Altavilla              |
 Luca Forlizzi                 |
 Paolo Menichetti              |
 Celestino Amoroso             |
 Costa Tsaousis                | For all suggests
 Daniel Stenberg               |  & bug reports
 Tim Stack                     |
 Matthias Moeller              |
 Timo Westen                   |
 Johan Sandgren                |
 Stefan Ruppert                |
 Marcel Offermans              |
 Naviliat Damien              /

 Richard Krber                - For german translation

 Stefan Zeiger                 - For his Triton GUI

 The Commodore                 - For Amiga's born

 The Escom                     - For Amiga's re-born

 The Viscorp (?)               - Do not speak about it...

 The Phase5                    - Perharps unique ones loving Amiga!

 Claudio Baglioni              - For his music, which helped me during
                                 all long programming sessions

@endnode

@node AUTHOR "Author"

     Giovanni Lambiase
     Via Capo Di Piazza , 6
     84010 Minori (SA) - Italy

     FOR FIDONET USERS:  (Giovanni Lambiase) 2:335/253.1@fidonet

     FOR INTERNET USERS:  Giovanni.Lambiase@p1.f253.n335.z2.fidonet.org

     PER AMIGANET USERS: (Giovanni Lambiase) 39:102/114.1@amiganet

     These addresses belong to the BBS "3D On Line BBS". I'm the
     cosysop of this BBS. Anyway I've not a modem, so I can't
     pool regularly. Anyway you can use these addresses because
     I regularly go to sysop's home where I can copy all messages
     arrived. I'm sorry, but it's all I can do.

     If you are an internet user you can use the following address, too:

       3donline@ita.flashnet.it

     This address belong to the sysop of "3D On Line BBS" (Renato
     Cretella) who will turn your message to me. You should use this
     address because the other one (for internet user) is slower
     because it's the address of a "gateway" i.e. the address of a
     system which "translates" messages from fidonet to internet and
     vice versa.

     If you want register ProgED, please send me your e-mail addresses,
     too.

@endnode

@node BUGS "Known bugs"

    Actually there are two (strange) bugs (?):

1) Using IconAppearer 1.0 you can lock WB and ProgED moving a file
   WITH its icon into handler windows (or icons) trying to load it.
   On the contrary, if you move a file WITHOUT icon (using fake WB
   icon) into handler windows all works right.

2) Using DOpus 5.5 there are strange locks on ProgED start. That
   seems due to the way DOpus checks for changes in DOS lists. Why?
   To solve this problem simply hide (using enviroment/desktop prefs)
   both PED: and PRJ: disks. There will be no more locks.

    If somebody can help me to solve those bugs, please contact me.

    I don't know about any other bugs, at moment. If you find a
bug send me a message reporting situation causing it. For my
addresses see @{" Author " link AUTHOR}. It's preferable use of e-mails,
if you can.

@endnode

@node SASC "SAS/C Support"

    Default settings was written so that SCMSG utility must close
its window if there aren't errors, after a compilation. If you want
that SCMSG doesn't close its window, then comment out the 'HIDE'
command in the ARexx script:

  "ProgED:SASC_Support/FirstError.script"

set "OpenSCMSG.rexx" as Post-iconify & Startup macro, and
"CloseSCMSG.rexx" as Pre-iconify macro. It is also useful to
reserve some space in screen to make room for the SCMSG window.
If you want to do so, use the relative gadgets in preference window
@{" Miscellaneous (glb) " link M7.9}.

    At last, if you want to position the SCMSG window on screen,
edit file "ProgED:SASC_Support/SCMSG.options". This file contains
SCMSG options used with ProgED.

@endnode

@node COLLABO "Collaboration"

    If someone wishes to write a new interface menu with a compiler
(DICE,GNU,...) or assembler (DEVPAC,ASM-ONE,...) and he wants to
contribute to ProgED development, he can send me his preference
file and all relative Rexx macro. I'm also searching for foreign
language catalogs (in "sources" drawer you can find the files
"PED.cd" and "PED_ita.ct"), preferably as CatComp files (.ct
extension).

    At last, since noone is perfect, I like receive your suggests
and bugs-reports. To do this is preferably to use E-mail.

    For my address see @{" Author " link AUTHOR}.

@endnode

@node LICENCE "Distribution"

                                LICENCE
                              -----------

     This license applies to the product called `ProgED', a program
for the Amiga computer, published by Giovanni Lambiase under the concepts
of SHAREWARE, and the accompanying documentation, example files and
anything else that comes with the original distribution.  The terms
`program' and `ProgED' below, refer to this product.  The licensee
is addressed as `you'.

   o You may copy and distribute verbatim copies of the program's
     executable code and documentation as you receive it, in any
     medium, provided that you conspicuously and appropriately publish
     only the original, unmodified program, with all copyright notices
     and disclaimers of warranty intact and including all the
     accompanying documentation, example files and anything else that
     came with the original.

   o You may not copy and/or distribute this program without the
     accompanying documentation and other additional files that came
     with the original.  You may not copy and/or distribute modified
     versions of this program.

   o You may not copy, modify, sublicense, distribute or transfer the
     program except as expressly provided under this license.  Any
     attempt otherwise to copy, modify, sublicense, distribute or
     transfer the program is void, and will automatically terminate
     your rights to use the program under this license.  However,
     parties who have received copies, or rights to use copies, from
     you under this license will not have their licenses terminated so
     long as such parties remain in full compliance.

   o By copying, distributing and/or using the program you indicate your
     acceptance of this license to do so, and all its terms and
     conditions.

   o Each time you redistribute the program, the recipient automatically
     receives a license from the original licensor to copy, distribute
     and/or use the program subject to these terms and conditions.  You
     may not impose any further restrictions on the recipients'
     exercise of the rights granted herein.

   o You may not disassemble, decompile, re-source or otherwise reverse
     engineer the program.

   o You may use the programs for a period of up to 2 weeks for
     evaluation.  After that, you have to register or quit using the
     program.

   o You agree to cease distributing the program and data involved if
     requested to do so by the author.

   o You may charge a fee to recover distribution costs.  The fee for
     diskette distribution may not be more than the cost to obtain a
     public domain diskette from Fred Fish.

   o Above listed conditions not applies for file 'keyfile' obtained
     registering. You may not redistibute this file.




                              WARRANTIES
                            --------------

    THERE IS NO WARRANTY FOR THE PROGRAM, EITHER EXPRESSED OR IMPLIED.
THE AUTHOR IS NOT RESPONSABLE FOR ANY DAMAGE YOU GET FROM THE PROGRAM.

                       USE IT AT YOUR OWN RISK!

@endnode

@node SYSTEMREQ "Requirements"
                                        
                                  REQUIREMENTS
                                 --------------

    ProgED needs O.S. 2.1, reqtools.library V38 (Copyright Nico Franois),
a 68000 processor and 2Mb of RAM. Notwithstanding this I suggest a fast
processor (68030-40-60), 6 Mb of RAM and O.S. 3.0 or above. A minimal
Triton.library distribution is included in this archive. Read the related
document to more informations about Triton.library registration.

    Optionally you can use powerpacker.library (Copyright Nico Franois)
and XPK libraries.

@endnode

@node INTRO "Introduction"

                                  INTRODUCTION
                                 --------------

    ProgED is a new programmers editor inspired from two greit editors:
CygnusEd and GoldED. In this new editor I have plugged in all I found
useful for a programmer without useless frills. Somebody will found
many features in common with CygnusED and GoldED. I did this choice
to get an editor sufficiently flexibile (like GoldED) and fast and
simple like CygnusED.

    Starting from 2.0 release I've added a new preferences system
which allows you to define various "filetypes". This new system allows
you to define different preferences for each type of file managed.

@endnode

@node FEATURE "Features"

                                   Features
                                  ----------

            o @{" Programmable keyword colors " link KEYWORDCOLORS}
            o @{" Keyword indentation " link INDENTATION }
            o @{" Automatic phrase completion " link COMPLETE }
            o @{" Automatic case correction " link AUTOCASE }
            o @{" Block folding " link FOLD }
            o @{" Programmable keyboard and menu " link KEYMENU }
            o @{" Integrated compiler frontend for SAS/C V6.x " link SASCSUPPORT }
            o @{" Programmable quick function search " link SCAN }
            o @{" Templates for structure creation " link TEMPLATE }
            o @{" Project management " link PROJECTS }
            o @{" Search for static references between files " link STATICREF }
            o @{" Search for dynamic references between project files " link DYNREF }
            o @{" File hunter " link HUNTFILE }
            o @{" Integreted API (APplication Interface) " link API }
            o @{" Autosave & Backup " link AUTOSAVE }
            o @{" Auto decrunch of PowerPacker crunched files" link PP }
            o @{" XPK libraries support " link XPK}
            o @{" Fast mode for slow processors " link FASTMODE}
            o @{" On line macro creation " link MACRO}
            o @{" Window freeze/unfreeze " link FREEZE}
            o @{" Iconify " link ICONIFY}
            o @{" Columnar block marking " link COLUMN}
            o @{" Indentation & block layout " link LAYOUT}
            o @{" Multilevel Undo/Redo " link UNDOREDO}
            o @{" Print texts on two colomns " link PRINT}
            o @{" Handler to read files in memory " link HANDLERPED}
            o @{" Handler to read files in project " link HANDLERPRJ}
            o @{" Window splitting " link WINDOWSPLIT}
            o @{" On line help " link ONLINEHELP}
            o @{" File-types management " link FILETYPES}
            o @{" Static markers management " link STATICMARKERS}
            o @{" Tool bar " link TOOLBAR}
            o @{" Recovery utility " link RECOVERYUTILITY}

@endnode

@node KEYWORDCOLORS "Programmable keyword colors"

    ProgED allows user to program keywords of the used language
and the relative colors used in rendering. This feature is,
probably, the mainly cause pushed me to write ProgED. In fact,
I couldn't think that no Amiga editor (except GoldED3) allows
it, while ALL pc editors allow it!

    Starting from 2.0 release the keywords coloration system is
improved. Now you can use two "prefix" words (two words are
"prefix" if the first word is a prefix of the second). Furthermore
you can insert constructions containing spaces, such as "PTR TO LONG"
of E language (thanks, Enrico!).

@endnode

@node INDENTATION "Keyword indentation"

    When you press RETURN ProgED analyses actual line. If it
finds out a keyword you specified, it moves line at a lower,
equal or greater indentation level. Furthermore cursor jumps
to next line at a lower, equal or greater level.

@endnode

@node COMPLETE "Automatic phrase completion"

    ProgED stores a programmable phrases dictionary. A special
command allows you to complete the phrase at left side of cursor
and to expand it. Same dictionary allows ProgED to correct the
case of letters in words written.

@endnode

@node AUTOCASE "Automatic case correction"

    Using the same dictionary that allow to complete phrases, ProgED
can correct case of letters in words written. The modification is
accomplished when the cursor change line.

@endnode

@node FOLD "Block folding"

    Using an external function ProgED allows recognition and folding
of text blocks. These extern functions allow user to add new folder
types. Function sources are included to allow adjustment to user
preferences.

@endnode

@node KEYMENU "Programmable keyboard and menu"

    ProgED allows the TOTAL modification of keyboard and menu.
User can modify the supplied configuration to adjust it to his/her
preferences.

@endnode

@node SASCSUPPORT "Integrated compiler frontend for SAS/C V6.x"

    The ProgED standard preferences allows creation of a special menu
capable to interface ProgED and SAS/C. This menu supplys items useful
to compile the actual project (using a SAS/C compiler V6.0 and above).
Menu itself allows to modify the compilation options and to execute
project (via WB or CLI).

@endnode

@node SCAN "Programmable quick function search"

    ProgED allows searchs for a text line (AmigaGuide nodes,
C functions, etc.) and jumping to wished line with a single mouse
click. This research type is accomplished using external functions.
User, thus, can modify (using included sources) or write own search
function. This search functions will be called "Scanners".

@endnode

@node TEMPLATE "Templates for structure creation"

    Templates allows user to get a complete structure typing only
a configurable string. For example, using standard preferences,
you can type "while{" to get a complete while cycle. Cursor, also,
will be positioned ready to write cycle condition.

@endnode

@node PROJECTS "Project management"

    ProgED allows user to store and manage a project (declaring all
files in project). Some external programs (executables or ARexx) can
read project file list to compile project using your favourite
compiler/assembler.

@endnode

@node STATICREF "Search for static references between files"

    Static references allows searchs between some files (user
declared) for all symbols gotten via scanners. This references
are called "static" because ProgED creates a map reference and
saves it in a special file. So, your references must be static!
(isn't it ? (:-X ). If you want references between project
files you must have a look at dynamic references.

@endnode

@node DYNREF "Search for dynamic referemences between project files"

    Since static references can't be used for project management
ProgED supplys the DYNAMIC references. ProgED allows to save,together
with the text file, a special file (containing all references found
in text file). This special files, thus, stores an updated map, at
each save, of sources so that you get a valid references map for
your project files.

@endnode

@node HUNTFILE "File hunter"

    Using a special command ProgED allows to open a new window and
to load in it a file. Path of this file will be "extracted" from
text under cursor. This search type is useful especially to open
immediately an "include" file.

@endnode

@node API "Integreted API (APplication Interface)"

    ProgED can hook-up with external executables using an API
(APplication Interface) message port. These executables are called
"clients". Clients can open their windows on ProgED screen and,
generally, add new features.

@endnode

@node AUTOSAVE "Autosave & Backup"

    At regular intervals ProgED can save, in a temporary file,
text in windows. This allows, if your Amiga guru, to save work done.
Furthermore, at each save, ProgED can create a backup file renaming
old file.

@endnode

@node PP "Auto decrunch of PowerPacker crunched files"

    If you have powerpacker library (Copyright Nico Franois) and
XpkMaster library (Copyright Urban Dominik Mller & Bryan Ford)
in your LIBS: drawer, ProgED can decrunch automatically files
crunched using these crunchers.

@endnode

@node XPK "XPK libraries support"

    ProgED allows to save files using XPK libraries to crunch or
encode data. At loading ProgED recognizes automatically crunched
files. To use this feature you need XpkMaster library
(Copyright Urban Dominik Mller & Bryan Ford) and some XPK
libraries (I use xpkNUKE.library, it's greit! :-) ).

@endnode

@node FASTMODE "Fast mode for slow processors"

    Using keyword colors you can slow down ProgED, especially using
slow processors. If you have a slow Amiga or if you don't want
keyword colors then you can use this mode. It disables colors but
speeds up text refresh.

@endnode

@node MACRO "On line macro creation"

    ProgED, in its default configuration, creates a special menu
dedicated to macros creation. You can create an ARexx macro simply
doing what you want to insert in it. When you have finished macro
can be saved in an ASCII file. You can, later, modify or use it.

@endnode

@node FREEZE "Window freeze/unfreeze"

    ProgED can, eventually, freeze a window. Freeze a window means
that you can close it but the relative text remains in memory.
Using special commands ProgED can show a frozen window list and
clicking in list you can reopen the window (unfreeze). A particulary
mode allows you to open, at same time, only a window. This feature
is useful if you haven't a multiscan monitor (no interlaced screens).

@endnode

@node ICONIFY "Iconify"

    Using a hotkey (default ralt rshift return) you can close ProgED
screen. It will show (if you want so) an AppIcon and an AppItem on
WB screen. You can configure ProgED so that you can get AppIcon
without AppItem, or vice versa or nothing. Hovewer you can open ProgED
screen using the same hotkey used to iconify it.

@endnode

@node COLUMN "Columnar block marking"

    ProgED can manage columnar blocks. All programmers needs this
feature.

@endnode

@node LAYOUT "Indentation & block layout"

    If you want write docs you can use the indentation and block
layout features of ProgED. It can format a block justifing it
to left, right, center or full. Furthermore you can move text
blocks to left,right or center to adjust wrong indentation.

@endnode

@node UNDOREDO "Multilevel Undo/Redo"

    Each good editor needs this feature. Don't say me that you not
know what it means (:-)

@endnode

@node PRINT "Print texts on two colomns"

    Using an external program ('PED_Print') ProgED allows you to
print your sources using one or two columns on ANY printer. Using
two columns allows you to save paper.

@endnode

@node HANDLERPED "Handler to read files in memory"

    ProgED can mount two particular handlers. One of them allows
you to read, externally, files actually in memory using a new device
(PED:). If you are not interesting in this feature then you can
unmount PED device (move PED icon from Devs/DosDrivers to
Storage/DosDrivers).

    If you are using the demo release of ProgED then you can
read ONLY the first 8192 bytes of texts loaded into memory.

NOTE: While you are reading a file using this handler the relative
window is LOCKED (in title will appear the word 'LOCKED'). This is
necessary because you'ld modify "on the fly" text data. When a window
is locked you can't select its menu. If you want to select a menu
click on a window not locked or on ProgED screen background. Window
will be unlocked when the external program terminates reading.

@endnode

@node HANDLERPRJ "Handler to read files in project"

    2nd handler supplied together with ProgED, allows world to
read files actually in project. This handler was done so that
you can read a file in memory if it is actually in memory, or
to read it from disk if it isn't actually in memory. Using this
handler is possible to compile temporary projects modifing some
files (without saving them) and to compile project. Modified
file will be read from memory while others from disk. If the
modification is right you can save, later, the modified files.
As for first handler if you are not interested in this feature
you can move PRJ icon from Devs/DosDrivers to Storage/DosDrivers.

    If you are using the demo release of ProgED then you can
read ONLY the first 8192 bytes of texts loaded into memory.

NOTE: While you are reading a file using this handler the relative
window is LOCKED (in title will appear the word 'LOCKED'). This is
necessary because you'ld modify "on the fly" text data. When a window
is locked you can't select its menu. If you want to select a menu
click on a window not locked or on ProgED screen background. Window
will be unlocked when the external program terminates reading.

@endnode

@node WINDOWSPLIT "Window splitting"

    ProgED allows user to "split" a window, creating a new window
containing same text. So, you can edit your text in both windows.
This feature, furthermore, allows you to edit line 2367 of text
while you are wiewing (on other window) the first text lines.

@endnode

@node ONLINEHELP "On line macro creation"

    If you move your mouse over a menu and press HELP key, ProgED
will show you a brief help regarding selected menu. This feature
is active only if you have Kickstart 3.0 or above.

@endnode

@node FILETYPES "File-types management"

    ProgED 2.0 has a new feature: major part of preferences, now,
depend upon the "type" of file actually loaded. Other preferences
remain "global", thus, they are equal for all files. The user can
create wished "filetypes" specifing the AmigaDOS pattern which
match the file-name. For each filetype you can change all related
preferences. At file loading ProgED searchs for the first filetype
which match the name of the file and use it for the new window
opened. When the user changes window ProgED switch to related
preferences. So, writing in a C source, ProgED will use some
preferences, while writing in a classic text it will use other
preferences.

    This is the major innovation of ProgED V2.0. I hope this new
feature will be welcome.

@endnode

@node STATICMARKERS "Static markers management"

    From 2.0 release you can use the "static" markers. At internal
command "STORE CURRENT" execution ProgED stores, in a special list,
the current position of the cursor. Using the "GOTO STORED" command is
possible, later, to jump to a position stored previously in any
file. The main feature of the static markers, anyway, is the
possibility to save them together the file. This allows you, after
a reset or a putting off, to reload all markers stored yesterday.

@endnode

@node TOOLBAR "Tool bar"

    Main improvement done on release 2.3 is the possibility to
add a toolbar on each window. In the toolbar you can insert
graphical buttons rendered using user supplied brushes. At button
pressure ProgED executes normal internal programs. Toolbar buttons
can be placed everywhere, even on more than one row.

@endnode

@node RECOVERYUTILITY " Recovery utility "

    Using the special PED_Recovery program you can recovery texts
lost due a guru. I suggest you to start without "StartUp-Sequence"
(press both mouse buttons on reset) because, otherwise, loaded
programs could overwrite texts. In starting shell run PED_Recovery.
It will search in memory for lost texts and, if it finds someone,
allows you to choose a file to save it to. DO NOT use the same
file name! The recovered file could be damaged!

@endnode

@node ARGUMENTS "Template/Tooltypes"

    ProgED's template is the following:

@{"FILE/M," link T_FILE}@{"CX_POPKEY/K," link T_CX_POPKEY}@{"CX_PRIORITY/N," link T_CX_PRIORITY}@{"CX_POPUP/K," link T_CX_POPUP}@{"HANDLERPED/K," link T_HANDLERPED}@{"HANDLERPRJ/K," link T_HANDLERPRJ}@{"CONFIG/K," link T_CONFIG}@{"SCREEN/K" link T_SCREEN}

    Same strings can be used as tooltypes if you start ProgED from WB.

@endnode

@node T_FILE "FILE/M,"

    Specify file(s) to load at start. If ProgED is already in
memory new ProgED task will send to old ProgED task a special
message signaling it to open your file(s).

NOTE: You can load ONLY one instance of ProgED.

@endnode

@node T_CX_POPKEY "CX_POPKEY/K,"

    It specifys hotkey used to iconify and uniconify ProgED. Default is
"rshift ralt return".

@endnode

@node T_CX_PRIORITY "CX_PRIORITY/K,"

    It specifys commodity priority. ProgED, in fact, can be used as a
commodity. For example you can insert it in WbStartup drawer to start
it at each reset. Thus is useful the @{" CX_POPUP " link T_CX_POPUP} tooltype that allows
you to start ProgED iconified.

@endnode

@node T_CX_POPUP "CX_POPUP/K,"

    It specifys if ProgED must open or not its windows at start.
To open, later, its screen use relative hotkey (see @{" CX_POPKEY " link T_CX_POPKEY}).

@endnode

@node T_HANDLERPED "HANDLERPED/K,"

    It allows you to specify name of PED device. Default PED:. Generally
you need not this option, but you'll find it very useful if you would
change handler's name. See also @{" Handler to read files in memory " link HANDLERPED}.

@endnode

@node T_HANDLERPRJ "HANDLERPRJ/K,"

    It allows you to specify name of PRJ device. Default PRJ:. Generally
you need not this option, but you'll find it very useful if you would
change handler's name. See also @{" Handler to read files in project " link HANDLERPED}.

@endnode

@node T_CONFIG "CONFIG/K,"

    It allows you to specify initial config file. Generally ProgED
use default file "ENV:PED/PED.prefs". Sometimes you'ld change its
behaviour to use special configurations.

@endnode

@node T_SCREEN "SCREEN/K"

    It allows you to specify name of public screen opened from
ProgED. Default "PED_SCREEN".

@endnode

@node DEFSETTINGS "Default settings"

    Since ProgED is fully configurable, supplied preferences
are only one of the thousands possibly configurations. User
can modify menu and keyboard to adjust them. In this doc, thus,
I'll describe you only default settings. If you modified them
you'll find, thus, some differences.

      Menu:

         @{" Project " link M0}
              @{" New                " link M0.0}
              @{" Open               " link M0.1}
              @{" Load               " link M0.2}
              @{" Save               " link M0.3}
              @{" Save as...         " link M0.4}
              @{" Save as... (XPK)   " link M0.5}
              @{" Save all changes   " link M0.6}
              @{" Save & close       " link M0.7}
              @{" Close              " link M0.8}
              @{" ------------------ " link M0.9}
              @{" Revert             " link M0.10}
              @{" Clear              " link M0.11}
              @{" Insert             " link M0.12}
              @{" Append             " link M0.13}
              @{" New name           " link M0.14}
              @{" ------------------ " link M0.15}
              @{" Current dir        " link M0.16}
              @{" ------------------ " link M0.17}
              @{" Print              " link M0.18}
              @{" ------------------ " link M0.19}
              @{" About              " link M0.20}
              @{" ------------------ " link M0.21}
              @{" Save all & quit    " link M0.22}
              @{" Quit               " link M0.23}

         @{" Edit " link M1}
              @{" Mark                 " link M1.0}
              @{" Mark columnar        " link M1.1}
              @{" Mark lines           " link M1.2}
              @{" Select all           " link M1.3}
              @{" -------------------- " link M1.4}
              @{" Cut                  " link M1.5}
                        @{" To std clip    " link M1.5.0}
                        @{" To clip 1      " link M1.5.1}
                        @{" To clip 2      " link M1.5.2}
                        @{" To clip 3      " link M1.5.3}
              @{" Copy                 " link M1.6}
                        @{" To std clip    " link M1.6.0}
                        @{" To clip 1      " link M1.6.1}
                        @{" To clip 2      " link M1.6.2}
                        @{" To clip 3      " link M1.6.3}
              @{" Paste                " link M1.7}
                        @{" From std clip  " link M1.7.0}
                        @{" From clip 1    " link M1.7.1}
                        @{" From clip 2    " link M1.7.2}
                        @{" From clip 3    " link M1.7.3}
              @{" Clear                " link M1.8}
              @{" -------------------- " link M1.9}
              @{" Cut line             " link M1.10}
              @{" Paste line           " link M1.11}
              @{" Swap line            " link M1.12}
              @{" Double line          " link M1.13}
              @{" Delete to EOL        " link M1.14}
              @{" -------------------- " link M1.15}
              @{" Undo                 " link M1.16}
              @{" Redo                 " link M1.17}
              @{" -------------------- " link M1.18}
              @{" Layout block         " link M1.19}
                        @{" Left           " link M1.19.0}
                        @{" Right          " link M1.19.1}
                        @{" Center         " link M1.19.2}
                        @{" Full           " link M1.19.3}
              @{" Move block           " link M1.20}
                        @{" Left           " link M1.20.0}
                        @{" Right          " link M1.20.1}
                        @{" Center         " link M1.20.2}
              @{" Indent block         " link M1.21}
              @{" Save block as...     " link M1.22}

         @{" Search/Replace " link M2}
              @{" Jump to line      " link M2.0}
              @{" Unfold            " link M2.1}
              @{" ----------------- " link M2.2}
              @{" Jump to byte      " link M2.3}
              @{" Unfold            " link M2.4}
              @{" ----------------- " link M2.5}
              @{" Set marker        " link M2.6}
                        @{" 1            " link M2.6.0}
                        @{" 2            " link M2.6.1}
                        @{" 3            " link M2.6.2}
                        @{" 4            " link M2.6.3}
                        @{" 5            " link M2.6.4}
                        @{" 6            " link M2.6.5}
                        @{" 7            " link M2.6.6}
                        @{" 8            " link M2.6.7}
                        @{" 9            " link M2.6.8}
                        @{" 10           " link M2.6.9}
              @{" Goto marker       " link M2.7}
                        @{" 1            " link M2.7.0}
                        @{" 2            " link M2.7.1}
                        @{" 3            " link M2.7.2}
                        @{" 4            " link M2.7.3}
                        @{" 5            " link M2.7.4}
                        @{" 6            " link M2.7.5}
                        @{" 7            " link M2.7.6}
                        @{" 8            " link M2.7.7}
                        @{" 9            " link M2.7.8}
                        @{" 10           " link M2.7.9}
              @{" Set marker        " link M2.8}
              @{" Jump to...        " link M2.9}
              @{" Unfold            " link M2.10}
              @{" ----------------- " link M2.11}
              @{" Search for...     " link M2.12}
              @{" Repeat search fwd " link M2.13}
              @{" Repeat search bkw " link M2.14}
              @{" ----------------- " link M2.15}
              @{" Replace           " link M2.16}
              @{" Repeat replace    " link M2.17}
              @{" ----------------- " link M2.18}
              @{" Matching bracket  " link M2.19}
              @{" Check bracket     " link M2.20}

         @{" Special  " link M3}
              @{" Fold                " link M3.0}
              @{" Unfold              " link M3.1}
              @{" Fold all            " link M3.2}
              @{" Unfold all          " link M3.3}
              @{" ------------------- " link M3.4}
              @{" Windows             " link M3.5}
                        @{" Arrange ver   " link M3.5.0}
                        @{" Arrange hor   " link M3.5.1}
                        @{" Zip           " link M3.5.2}
                        @{" Enlarge       " link M3.5.3}
                        @{" Center        " link M3.5.4}
              @{" Extend active win   " link M3.6}
              @{" ------------------- " link M3.7}
              @{" Case letter         " link M3.8}
                        @{" Upper         " link M3.8.0}
                        @{" Lower         " link M3.8.1}
                        @{" Toggle        " link M3.8.2}
              @{" Case block          " link M3.9}
                        @{" Upper         " link M3.9.0}
                        @{" Lower         " link M3.9.1}
                        @{" Toggle        " link M3.9.2}
              @{" ------------------- " link M3.10}
              @{" ASCII               " link M3.11}
                        @{" Show          " link M3.11.0}
                        @{" Insert        " link M3.11.1}
                        @{" Table         " link M3.11.2}
              @{" ------------------- " link M3.12}
              @{" Window              " link M3.13}
                        @{" Close         " link M3.13.0}
                        @{" Open          " link M3.13.1}
                        @{" Swap          " link M3.13.2}
              @{" ------------------- " link M3.14}
              @{" Window next         " link M3.15}
              @{" Window prev         " link M3.16}
              @{" ------------------- " link M3.17}
              @{" Iconify             " link M3.18}
              @{" ------------------- " link M3.19}
              @{" Split window        " link M3.20}
              @{" ------------------- " link M3.21}
              @{" Change filetype     " link M3.22}

         @{" Misc " link M4}
              @{" DOS                  " link M4.0}
                        @{" Delete file    " link M4.0.0}
                        @{" Rename file    " link M4.0.1}
                        @{" -------------- " link M4.0.2}
                        @{" Create new dir " link M4.0.3}
              @{" -------------------- " link M4.1}
              @{" Shell                " link M4.2}
              @{" Calculator           " link M4.3}
              @{" -------------------- " link M4.4}
              @{" Insert               " link M4.5}
                        @{" Path           " link M4.5.0}
                        @{" Date           " link M4.5.1}
                        @{" Time           " link M4.5.2}
              @{" -------------------- " link M4.6}
              @{" Scan                 " link M4.7}
              @{" Unfold               " link M4.8}
              @{" -------------------- " link M4.9}
              @{" Template             " link M4.10}
              @{" -------------------- " link M4.11}
              @{" Find reference       " link M4.12}
              @{" Ask for reference    " link M4.13}
              @{" -------------------- " link M4.14}
              @{" Find project refer.  " link M4.15}
              @{" Ask for project ref. " link M4.16}
              @{" -------------------- " link M4.17}
              @{" Hunt file            " link M4.18}
              @{" Ask for hunted file  " link M4.19}
              @{" -------------------- " link M4.20}
              @{" Complete             " link M4.21}
              @{" Autocase             " link M4.22}
              @{" -------------------- " link M4.23}
              @{" Project files        " link M4.24}
              @{" Project search       " link M4.25}

         @{" Macro " link M5}
              @{" Edit macro             " link M5.0}
              @{" Save & run as macro    " link M5.1}
              @{" ---------------------- " link M5.2}
              @{" Start recording        " link M5.3}
              @{" Stop recording         " link M5.4}
              @{" Continue recording     " link M5.5}
              @{" ---------------------- " link M5.6}
              @{" Macro play             " link M5.7}
              @{" Macro play times...    " link M5.8}
              @{" ---------------------- " link M5.9}
              @{" Macro save             " link M5.10}

         @{" SAS/C " link M6}
              @{" SAS/C Options      " link M6.0}
              @{" Arguments          " link M6.1}
              @{" Create SMakeFile   " link M6.2}
              @{" ------------------ " link M6.3}
              @{" Build all          " link M6.4}
              @{" Make               " link M6.5}
              @{" Link               " link M6.6}
              @{" ------------------ " link M6.7}
              @{" Run WB             " link M6.8}
              @{" Run CLI            " link M6.9}
              @{" ------------------ " link M6.10}
              @{" First error        " link M6.11}
              @{" Next error         " link M6.12}
              @{" Last errore        " link M6.13}
              @{" ------------------ " link M6.14}
              @{" Compile file       " link M6.15}

         @{" Preferences " link M7}
              @{" Screen             " link M7.0}
                        @{" Mode           " link M7.0.0}
                        @{" Colors         " link M7.0.1}
                        @{" Fonts          " link M7.0.2}
                        @{" Drawinfo       " link M7.0.3}
              @{" Menu                " link M7.1}
              @{" Keyboard            " link M7.2}
              @{" Mouse               " link M7.3}
              @{" Reference           " link M7.4}
              @{" Scanners            " link M7.5}
              @{" Hunter              " link M7.6}
              @{" Startup API clients " link M7.7}
              @{" Startup REXX macro  " link M7.8}
              @{" Miscellaneous (glb) " link M7.9}
              @{" ------------------- " link M7.10}
              @{" Filetypes           " link M7.11}
              @{" ------------------- " link M7.12}
              @{" Keyword colors      " link M7.13}
              @{" Comment colors      " link M7.14}
              @{" Indentation         " link M7.15}
              @{" Templates           " link M7.16}
              @{" Dictionary          " link M7.17}
              @{" Fold function       " link M7.18}
              @{" Brackets            " link M7.19}
              @{" Saved files         " link M7.20}
              @{" Tool bar            " link M7.21}
              @{" Miscellaneous (ft)  " link M7.22}
              @{" ------------------- " link M7.23}
              @{" I/O                 " link M7.24}
                        @{" Load from...   " link M7.24.0}
                        @{" Save as...     " link M7.24.1}
                        @{" -------------- " link M7.24.2}
                        @{" Load default   " link M7.24.3}
                        @{" Save default   " link M7.24.4}
                        @{" -------------- " link M7.24.5}
                        @{" Use            " link M7.24.6}

@endnode

@node M0 "Menu: Project"

    This menu contains all classic operations you can apply on
files: open new window, load, save, close window, reload file from
disk, insert a file, print. Furthermore you can find here classic
options as "About" to show infos, and "Quit" to exit.

@endnode

@node M0.0 "Menu: Project/New"

    This menu opens a new window containing an empty text. It's useful
to start a new text.

@endnode

@node M0.1 "Menu: Project/Open"

    It shows a file-requester that you can use to open one or more files.
To load more files multiselect them using shift key. For each selected
file ProgED will open a new window containing relative text.

@endnode

@node M0.2 "Men: Project/Load"

    It shows a file-requester that you can use to load a file into
actually active window. New file will substitute the old one.

@endnode

@node M0.3 "Menu: Project/Save"

    It Saves on disk text contained in currently active window. ProgED
will use the filename showed in window title bar.

@endnode

@node M0.4 "Menu: Project/Save as..."

    It saves on disk text contained in currently active window. ProgED
will open a file-requester to ask you for name to use.

@endnode

@node M0.5 "Menu: Project/Save as... (XPK)"

    This menu operates as previous (see @{" Save as... " link M0.4} but this menu
saves files using the XPK library chosen in @{" Miscellaneous (glb) " link M7.9}
preference window.

@endnode

@node M0.6 "Menu: Project/Save all changes"

    This menu saves all changed texts. Each text will be saved
using filename showed on relative window title bar.

@endnode

@node M0.7 "Menu: Project/Save & close"

    This menu operates as @{" Save " link M0.3}. Unique difference is that this
menu closes the window after save.

@endnode

@node M0.8 "Menu: Project/Close"

    It allows you to close a window freeing memory allocated for the
text. You can, hovewer, close the window using the Intuition close
gadget. If you changed text then ProgED will ask you to confirm
the operation.

@endnode

@node M0.9 "Menu: Project/-----"
@endnode

@node M0.10 "Menu: Project/Revert"

    Selecting this menu the window will be refreshed reloading the
text from disk. This option is useful to undo all operation done
on text and to return to the original text on disk. If text was
changed then ProgED will ask you to confirm the operation.

@endnode

@node M0.11 "Menu: Project/Clear"

    It clears the active window, freeing the memory allocated for
text. After this operation the window will be empty. If text
was changed then ProgED will ask you to confirm the operation.

@endnode

@node M0.12 "Menu: Project/Insert"

    It allows you to insert a file (at cursor position) in actually
active window. You can specify filename of new text using a file
requester.

@endnode

@node M0.13 "Menu: Project/Append"

    It allows you to append a file at end of window. You can specify
filename of new text using a file-requester.

@endnode

@node M0.14 "Menu: Project/New name"

    It modifys filename of text loaded in currently active window. New
name will be supplied using a file-requester.

@endnode

@node M0.15 "Menu: Project/-----"
@endnode

@node M0.16 "Menu: Project/Current dir"

    It allows you to modify the current directory of ProgED. Generally
it is the program directory ('ProgED:'), but sometimes you have to
change it.

@endnode

@node M0.17 "Menu: Project/-----"
@endnode

@node M0.18 "Menu: Project/Print"

    It starts external print program 'PED_Print'. This program
allows you to print your sources on one or two columns.

@endnode

@node M0.19 "Menu: Project/-----"
@endnode

@node M0.20 "Menu: Project/About"

    Selecting this menu you will get a message containing the
version number, my address and names for ARexx port,public screen
and API port.

    In same message you can identify your copy as demo or registered.
If your copy is demo you'll get a message as 'UNREGISTERED VERSION',
while if it is registered you will get a message as 'REGISTERED
VERSION' followed by your name and serial number.

@endnode

@node M0.21 "Menu: Project/-----"
@endnode

@node M0.22 "Menu: Project/Save all & quit"

    Selecting this menu ProgED will save all changed files. When it
will finish it will quit.

@endnode

@node M0.23 "Menu: Project/Quit"

    It quits ProgED.

@endnode

@node M1 "Menu: Edit"

    This menu contains all options useful to edit text blocks:
block marking, block cutting, block pasting, line cutting, etc.

@endnode

@node M1.0 "Menu: Edit/Mark"

    Selecting this menu you can mark start of a text block. Hovewer,
you can do same operation double clicking on the start position.
Furthermore, if you want a "line" block you can hold down shift
key. A "line" block is a block which includes all text from start
line to end line.

    Reselecting this menu you can unmark the block.

@endnode

@node M1.1 "Menu: Edit/Mark columnar"

    This menu allows you to select a "columnar" block. A columnar
block is a "rectangular" block. The rectangle extrems are the
start positione of the block and the cursor position. Columnar
blocks are very useful sometimes. You can, furthermore, mark a
columnar block double-clicking on block start position while
holding down an ALT key.

@endnode

@node M1.2 "Menu: Edit/Mark lines"

    Selecting this menu allows you to select a "line" block. They
are text blocks which include all text from start line to end
line. You can also mark a line block double clicking on start
position while holding down shift key.

@endnode

@node M1.3 "Menu: Edit/Select all"

    It selects all text in active window. It's equivalent to jump
to start, to mark block start and to jump to end.

@endnode

@node M1.4 "Menu: Edit/-----"
@endnode

@node M1.5 "Menu: Edit/Cut"

    Cut the text block currently selected and insert it in a
clipboard. You can specify which clipboard have to be used using
subitems:

           @{" Std clip " link M1.5.0}
           @{" Clip 1   " link M1.5.1}
           @{" Clip 2   " link M1.5.2}
           @{" Clip 3   " link M1.5.3}

@endnode

@node M1.5.0 "Menu: Edit/Cut/To std clip"

    It cuts out selected text block and inserts it in standard
clipboard. You can specify standard clipboard number using
preference's window @{" miscellaneous (glb) " link M7.9}. Default 0.

@endnode

@node M1.5.1 "Menu: Edit/Cut/To clip 1"

    It cuts out selected text block and inserts it in clipboard #1.

@endnode

@node M1.5.2 "Menu: Edit/Cut/To clip 2"

    It cuts out selected text block and inserts it in clipboard #2.

@endnode

@node M1.5.3 "Menu: Edit/Cut/To clip 3"

    It cuts out selected text block and inserts it in clipboard #3.

@endnode

@node M1.6 "Menu: Edit/Copy"

    It copys selected text block to a clipboard. You can specify
wished clipboard using subitems:

           @{" Std clip " link M1.6.0}
           @{" Clip 1   " link M1.6.1}
           @{" Clip 2   " link M1.6.2}
           @{" Clip 3   " link M1.6.3}

@endnode

@node M1.6.0 "Menu: Edit/Copy/To std clip"

    It copys selected text block to a clipboard. Selecting this
subitem you'll insert it in standard clipboard. You can change
the standard clipboard using preference's window @{" miscellaneous (glb) " link M7.9}.
Default 0.

@endnode

@node M1.6.1 "Menu: Edit/Copy/To clip 1"

    It copys selected text block to the clipboard # 1.

@endnode

@node M1.6.2 "Menu: Edit/Copy/To clip 2"

    It copys selected text block to the clipboard # 2.

@endnode

@node M1.6.3 "Menu: Edit/Copy/To clip 3"

    It copys selected text block to the clipboard # 3.

@endnode

@node M1.7 "Menu: Edit/Insert"

    It inserts text block from a clipboard (choosed using subitems)
to actually active window at cursor position:

           @{" Std clip " link M1.7.0}
           @{" Clip 1   " link M1.7.1}
           @{" Clip 2   " link M1.7.2}
           @{" Clip 3   " link M1.7.3}

@endnode

@node M1.7.0 "Menu: Edit/Insert/From std clip"

    It inserts text block from standard clipboard to actually active
window at cursor position. The standard clipboard is the clipboard
specified in the preference's window @{" Miscellaneous (glb) " link M7.9}. Default 0.
NOTE: if text block was columnar it will be inserted in columnar
mode, inserting, thus, as a rectangular block of text in the window.

@endnode

@node M1.7.1 "Menu: Edit/Insert/From clip 1"

    It inserts text block from clipboard # 1 to the actually active
window at cursor position.
NOTE: if text block was columnar it will be inserted in columnar
mode, inserting, thus, as a rectangular block of text in the window.

@endnode

@node M1.7.2 "Menu: Edit/Insert/From clip 2"

    It inserts text block from clipboard # 2 to the actually active
window at cursor position.
NOTE: if text block was columnar it will be inserted in columnar
mode, inserting, thus, as a rectangular block of text in the window.

@endnode

@node M1.7.3 "Menu: Edit/Insert/From clip 3"

    It inserts text block from clipboard # 3 to the actually active
window at cursor position.
NOTE: if text block was columnar it will be inserted in columnar
mode, inserting, thus, as a rectangular block of text in the window.

@endnode

@node M1.8 "Menu: Edit/Clear"

    It clears from window the actually selected text block. It will
be NOT inserted in a clipboard. To copy a block to a clipboard see
@{" Cut " link M1.5}.

@endnode

@node M1.9 "Menu: Edit/-----"
@endnode

@node M1.10 "Menu: Edit/Cut line"

    It cuts the cursor line and inserts it in a special internal
clipboard which can be local or global. The former is a clipboard
local into the filetype. It means that you can cut a line from a
C source and paste it into another C source but you cannot paste
it into an HTML document because the clipboard will not be the same.
To insert line around the text use @{" Insert line " link M1.11}.

@endnode

@node M1.11 "Menu: Edit/Insert line"

    It inserts a text line from the line internal clipboard at cursor line.
To insert a line in this special clipboard use @{" Cut line " link M1.10}.

@endnode

@node M1.12 "Menu: Edit/Swap line"

    It swaps cursor line & next line.

@endnode

@node M1.13 "Menu: Edit/Double line"

    It creates a copy of the line cursor. This copy will be inserted
next to cursor line itself.

@endnode

@node M1.14 "Menu: Edit/Delete to EOL"

    Delete all chars at right side of the cursor.

@endnode

@node M1.15 "Menu: Edit/-----"
@endnode

@node M1.16 "Menu: Edit/Undo"

    It does an UNDO operation. If you wrong something, selecting this
menu you can get from the undo queue all previous data. To return to
actual data you'll can select the menu @{" Redo " link M1.17}.

@endnode

@node M1.17 "Menu: Edit/Redo"

    It does a REDO operation. If you did an undo operation and you wronged
doing so, you can return to original data selecting this menu. To return
to previous data select @{" Undo " link M1.16} menu.

@endnode

@node M1.18 "Menu: Edit/-----"
@endnode

@node M1.19 "Menu: Edit/Layout block"

    It layouts actually selected block formatting it using left and right
margin you'll find in preference's window @{" Miscellaneous (ft) " link M7.22}. Layout can
be done in four ways:

           @{" Left     " link M1.19.0}
           @{" Right    " link M1.19.1}
           @{" Center   " link M1.19.2}
           @{" Full     " link M1.19.3}

NOTE: Text block must be marked using the menu @{" Mark lines " link M1.2}.

@endnode

@node M1.19.0 "Menu: Edit/Layout block/Left"

    It layouts actually selected block to fill in all lines. New lines
will be moved to fit (if possible) left side of text. ProgED will use
left and right margin specified in the preference's window
@{" Miscellaneous (ft) " link M7.22}.

NOTE: Text block must be marked using the menu @{" Mark lines " link M1.2}.

@endnode

@node M1.19.1 "Menu: Edit/Layout block/Right"

    It layouts actually selected block to fill in all lines. New lines
will be moved to fit (if possible) right side of text. ProgED will use
left and right margin specified in the preference's window
@{" Miscellaneous (ft) " link M7.22}.

NOTE: Text block must be marked using the menu @{" Mark lines " link M1.2}.

@endnode

@node M1.19.2 "Menu: Edit/Layout block/Center"

    It layouts actually selected block to fill in all lines. New lines
will be moved to center (if possible) of text. ProgED will use left and
right margin specified in the preference's window @{" Miscellaneous (ft) " link M7.22}.

NOTE: Text block must be marked using the menu @{" Mark lines " link M1.2}.

@endnode

@node M1.19.3 "Menu: Edit/Layout block/Full"

    It layouts actually selected block to fill in all lines. New lines
will be moved to fit (if possible) whole text. ProgED will use left and
right margin specified in the preference's window @{" Miscellaneous (ft) " link M7.22}.

NOTE: Text block must be marked using the menu @{" Mark lines " link M1.2}.

@endnode

@node M1.20 "Menu: Edit/Move block"

    It moves each line of actually selected text block in three ways:

           @{" Left     " link M1.20.0}
           @{" Right    " link M1.20.1}
           @{" Center   " link M1.20.2}

NOTE: Text block must be marked using the menu @{" Mark lines " link M1.2}.

@endnode

@node M1.20.0 "Menu: Edit/Move block/Left"

    It moves each line of actually selected text block to left margin
specified in preference's window @{" Miscellaneous (ft) " link M7.22}.

NOTE: Text block must be marked using the menu @{" Mark lines " link M1.2}.

@endnode

@node M1.20.1 "Menu: Edit/Move block/Right"

    It moves each line of actually selected text block to right margin
specified in preference's window @{" Miscellaneous (ft) " link M7.22}.

NOTE: Text block must be marked using the menu @{" Mark lines " link M1.2}.

@endnode

@node M1.20.2 "Menu: Edit/Move block/Center"

    It moves each line of actually selected text block to center it
between left and right margins specified in preference's window
@{" Miscellaneous (ft) " link M7.22}.

NOTE: Text block must be marked using the menu @{" Mark lines " link M1.2}.

@endnode

@node M1.21 "Menu: Edit/Indent block"

    It moves a text block one char (or more) to left (or right). You'll
can choose offset using a special dialog window.

NOTE: Text block must be marked using the menu @{" Mark lines " link M1.2}.

@endnode

@node M1.22 "Menu: Edit/Save block as..."

    It saves actually selected block. A file-requester allows you to
specify filename to use.

@endnode

@node M2 "Menu: Search&Replace"

    This menu contains all line/string search functions. It contains also
the replace function.

@endnode

@node M2.0 "Menu: Search&Replace/Jump to line"

    This menu allows you to jump to wished line specifing the line
number. If line iteself is in a fold you can tell ProgED to open
automatically the fold or not. This is possible using next menu
@{" Unfold " link M2.1}.

@endnode

@node M2.1 "Menu: Search&Replace/Unfold"

    If this checkmark is enabled then, if you search for a line by number
and line itself is in a fold (see @{" Jump to line " link M2.0}), then ProgED will
unfold automatically the fold to position cursor exactly. Otherwise ProgED
will position cursor on the fold.

@endnode

@node M2.2 "Menu: Search&Replace/-----"
@endnode

@node M2.3 "Menu: Search&Replace/Jump to byte"

    This menu allows you to jump to the wished byte in the text giving
the byte number (from start of text). If it is in a fold you can tell
ProgED to open automatically the fold. It's possible using next menu
@{" Unfold " link M2.4}.

@endnode

@node M2.4 "Menu: Search&Replace/Unfold"

    If this checkmark is enabled then, if you search for a byte by number
and the byte itself is in a fold (see @{" Jump to byte " link M2.3}), then ProgED will
unfold automatically the fold to position cursor exactly. Otherwise ProgED
will position cursor on the fold.

@endnode

@node M2.5 "Menu: Search&Replace/-----"
@endnode

@node M2.6 "Menu: Search&Replace/Set marker"

    Using the relative subitem you can store in a marker the current
cursor position. Using menu @{" Goto marker " link M2.7} you can jump to the
stored position. Ten markers are available.

@endnode

@node M2.6.0 "Menu: Search&Replace/Set marker/1"

    It stores actual cursor position in the marker # 1. Later, you can
jump to the stored position using menu @{" Goto marker " link M2.7}.

@endnode

@node M2.6.1 "Menu: Search&Replace/Set marker/2"

    It stores actual cursor position in the marker # 2. Later, you can
jump to the stored position using menu @{" Goto marker " link M2.7}.

@endnode

@node M2.6.2 "Menu: Search&Replace/Set marker/3"

    It stores actual cursor position in the marker # 3. Later, you can
jump to the stored position using menu @{" Goto marker " link M2.7}.

@endnode

@node M2.6.3 "Menu: Search&Replace/Set marker/4"

    It stores actual cursor position in the marker # 4. Later, you can
jump to the stored position using menu @{" Goto marker " link M2.7}.

@endnode

@node M2.6.4 "Menu: Search&Replace/Set marker/5"

    It stores actual cursor position in the marker # 5. Later, you can
jump to the stored position using menu @{" Goto marker " link M2.7}.

@endnode

@node M2.6.5 "Menu: Search&Replace/Set marker/6"

    It stores actual cursor position in the marker # 6. Later, you can
jump to the stored position using menu @{" Goto marker " link M2.7}.

@endnode

@node M2.6.6 "Menu: Search&Replace/Set marker/7"

    It stores actual cursor position in the marker # 7. Later, you can
jump to the stored position using menu @{" Goto marker " link M2.7}.

@endnode

@node M2.6.7 "Menu: Search&Replace/Set marker/8"

    It stores actual cursor position in the marker # 8. Later, you can
jump to the stored position using menu @{" Goto marker " link M2.7}.

@endnode

@node M2.6.8 "Menu: Search&Replace/Set marker/9"

    It stores actual cursor position in the marker # 9. Later, you can
jump to the stored position using menu @{" Goto marker " link M2.7}.

@endnode

@node M2.6.9 "Menu: Search&Replace/Set marker/10"

    It stores actual cursor position in the marker # 10. Later, you can
jump to the stored position using menu @{" Goto marker " link M2.7}.

@endnode

@node M2.7 "Menu: Search&Replace/Goto marker"

    It jumps to cursor position stored in a marker. You can choose
marker using subitems. To store a cursor position use menu
@{" Set marker " link M2.6}.

@endnode

@node M2.7.0 "Menu: Search&Replace/Goto marker/1"

    It jumps to cursor position stored in marker #1. To store a cursor
position see @{" Set marker " link M2.6}. If checkmark of next menu (@{" Unfold " link M2.10}) is
enabled and the stored position is closed in a fold, then ProgED will
open the fold to position exactly. Otherwise ProgED will position cursor
on fold itself.

@endnode

@node M2.7.1 "Menu: Search&Replace/Goto marker/2"

    It jumps to cursor position stored in marker #2. To store a cursor
position see @{" Set marker " link M2.6}. If checkmark of next menu (@{" Unfold " link M2.10}) is
enabled and the stored position is closed in a fold, then ProgED will
open the fold to position exactly. Otherwise ProgED will position cursor
on fold itself.

@endnode

@node M2.7.2 "Menu: Search&Replace/Goto marker/3"

    It jumps to cursor position stored in marker #3. To store a cursor
position see @{" Set marker " link M2.6}. If checkmark of next menu (@{" Unfold " link M2.10}) is
enabled and the stored position is closed in a fold, then ProgED will
open the fold to position exactly. Otherwise ProgED will position cursor
on fold itself.

@endnode

@node M2.7.3 "Menu: Search&Replace/Goto marker/4"

    It jumps to cursor position stored in marker #4. To store a cursor
position see @{" Set marker " link M2.6}. If checkmark of next menu (@{" Unfold " link M2.10}) is
enabled and the stored position is closed in a fold, then ProgED will
open the fold to position exactly. Otherwise ProgED will position cursor
on fold itself.

@endnode

@node M2.7.4 "Menu: Search&Replace/Goto marker/5"

    It jumps to cursor position stored in marker #5. To store a cursor
position see @{" Set marker " link M2.6}. If checkmark of next menu (@{" Unfold " link M2.10}) is
enabled and the stored position is closed in a fold, then ProgED will
open the fold to position exactly. Otherwise ProgED will position cursor
on fold itself.

@endnode

@node M2.7.5 "Menu: Search&Replace/Goto marker/6"

    It jumps to cursor position stored in marker #6. To store a cursor
position see @{" Set marker " link M2.6}. If checkmark of next menu (@{" Unfold " link M2.10}) is
enabled and the stored position is closed in a fold, then ProgED will
open the fold to position exactly. Otherwise ProgED will position cursor
on fold itself.

@endnode

@node M2.7.6 "Menu: Search&Replace/Goto marker/7"

    It jumps to cursor position stored in marker #7. To store a cursor
position see @{" Set marker " link M2.6}. If checkmark of next menu (@{" Unfold " link M2.10}) is
enabled and the stored position is closed in a fold, then ProgED will
open the fold to position exactly. Otherwise ProgED will position cursor
on fold itself.

@endnode

@node M2.7.7 "Menu: Search&Replace/Goto marker/8"

    It jumps to cursor position stored in marker #8. To store a cursor
position see @{" Set marker " link M2.6}. If checkmark of next menu (@{" Unfold " link M2.10}) is
enabled and the stored position is closed in a fold, then ProgED will
open the fold to position exactly. Otherwise ProgED will position cursor
on fold itself.

@endnode

@node M2.7.8 "Menu: Search&Replace/Goto marker/9"

    It jumps to cursor position stored in marker #9. To store a cursor
position see @{" Set marker " link M2.6}. If checkmark of next menu (@{" Unfold " link M2.10}) is
enabled and the stored position is closed in a fold, then ProgED will
open the fold to position exactly. Otherwise ProgED will position cursor
on fold itself.

@endnode

@node M2.7.9 "Menu: Search&Replace/Goto marker/10"

    It jumps to cursor position stored in marker #10. To store a cursor
position see @{" Set marker " link M2.6}. If checkmark of next menu (@{" Unfold " link M2.10}) is
enabled and the stored position is closed in a fold, then ProgED will
open the fold to position exactly. Otherwise ProgED will position cursor
on fold itself.

@endnode

@node M2.8 "Menu: Search&Replace/Set marker"

    Using this menu you can set a "static" marker which can be saved
together the file itself.

@endnode

@node M2.9 "Menu: Search&Replace/Jump to ..."

    Using this menu you can jump to a previously defined "static" marker.
A special window will appear to let you choose which marker ProgED have
to jump to.

@endnode

@node M2.10 "Menu: Search&Replace/Unfold"

    If this checkmark is enabled and you are jumping to cursor position
(stored in a marker) in a fold (see @{" Goto marker " link M2.7}) ProgED will open
the fold to position cursor exactly. Otherwise ProgED will position
cursor on the fold.

@endnode

@node M2.11 "Menu: Search&Replace/-----"
@endnode

@node M2.12 "Menu: Search&Replace/Search for..."

    Questo men consente di ricercare determinate stringhe nel testo.
A partire dalla versione 2.0, ProgED consente di utilizzare o meno
il sistema "wildcards". Non utilizzando tale sistema ProgED cerca
semplicemente la stringa data nel testo. Utilizzando il sistema
    This menu allows you to search for strings in the text. From
2.0 release ProgED let you choose between a "wildcards" or a normal
search. The normal search simply searchs for given string in the
text. The "wildcards" search allows you to search for an AmigaDOS
pattern in the text. Using two checkboxes you can select a 'case
sensitive' research and a reverse research. Generally ProgED start
research from cursor position and go forward to end of text. Using
reverse research you can start research from cursor position and go
backward to begin of text.

    Using AmigaDOS patterns allows you to search for a wide range of
strings. For example the pattern:

                        struct#?amigaguide#?

allows you to search for the following strings:

                     struct AmigaGuideMsg
                     struct NewAmigaGuide
                     struct AmigaGuideHost

                            etc. etc.

    Using the cursor keys when the string gadget is enabled, you can
get last strings written to reuse them.

@endnode

@node M2.13 "Menu: Search&Replace/Repeat search fwd"

    Selecting this menu ProgED begins a new research. This new research
will use all settings used last time you used menu @{" Search for... " link M2.12}.
It's useful to position cursor on next occorrence of AmigaDOS pattern
without rewrite it.

@endnode

@node M2.14 "Menu: Search&Replace/Repeat search bkw"

    Selecting this menu ProgED begins a new research. This new research
will use all settings used last time you used menu @{" Search for... " link M2.12}.
It's useful to position cursor on previous occorrence of AmigaDOS pattern
without rewrite it.

@endnode

@node M2.15 "Menu: Search&Replace/-----"
@endnode

@node M2.16 "Menu: Search&Replace/Replace"

    This menu allows you to replace an AmigaDOS pattern for a string.
Pattern and string are entered using a window like that used for the
search window (see @{" Search for... " link M2.12}). When you start replace you
can have:

      1) the pattern occorrence doesn't exists
      2) the pattern occorrence exists

    In former case ProgED will show you a message reporting search
failure. In latter case ProgED will move cursor on occorrence and
will show you a requester reporting following question: "Do you want
to replace it ?", and the answers:

      a) Yes
      b) No
      c) All
      d) Last
      e) Stop

    If you hit "Yes" ProgED will replace occorrence with the given
string and will start search for next occorrence. If you hit "No" ProgED
will start search for next occorrence without replacing previous
occorrence. If you hit "All" ProgED will no ask you more. It will replace
ALL occorrence so more found. If you hit "Last" ProgED will replace this
occorrence and will stop. Hitting "Stop" ProgED will stop without
replacing the previous occorrence. Hitting ESC key has same effect of
"Stop" action.

@endnode

@node M2.17 "Menu: Search&Replace/Repeat replace"

    ProgED will start a new replace research. ProgED will use all settings
used last time you used menu @{" Replace " link M2.16}. It's useful because, so, you
can start a repeat research without reentering pattern and string.

@endnode

@node M2.18 "Menu: Search&Replace/-----"
@endnode

@node M2.19 "Menu: Search&Replace/Matching bracket"

    This menu should be selected only if cursor is on a bracket
defined using preference window @{" Brackets " link M7.19}. If it's true then ProgED
will search for matching bracket in text. If ProgED finds it then it
will move cursor on matching bracket. Otherwise it will show a
requester to notify you.

@endnode

@node M2.20 "Menu: Search&Replace/Check bracket"

    This menu checks the cursor line to verify if number of opened
bracket "(" is equal to number of closed bracket ")". If it is
so, ProgED will do nothing, else it will show you a message.

@endnode

@node M3 "Menu: Special"

    This menu contains special functions such as: fold, window management,
iconify.

@endnode

@node M3.0 "Menu: Special/Fold"

    Selecting this menu you'll activate selected external fold function.
According to standard preferences you'll activate the C fold function.
This function will fold the function containing cursor. Later you can
see a single line on window showing ">FOLD" string followed from function
name (string returned from external fold function).

    To open a fold move cursor on it and select menu @{" Unfold " link M3.1}.

@endnode

@node M3.1 "Menu: Special/Unfold"

    This menu allows you to open a fold. To do so, move cursor on
fold and select it. The fold itself will be opened and cursor will
move to its position at fold time.

@endnode

@node M3.2 "Menu: Special/Fold All"

    Using this menu you can fold all C functions in active window.
See also @{" Fold " link M3.0}.

@endnode

@node M3.3 "Menu: Special/Unfold All"

    It opens all folds in active window. See also @{" UnFold " link M3.1}.

@endnode

@node M3.4 "Menu: Special/-----"
@endnode

@node M3.5 "Menu: Special/Window"

    This menu controls window sizing. You have five use ways:

          @{" Arrange ver   " link M3.5.0}
          @{" Arrange hor   " link M3.5.1}
          @{" Zip           " link M3.5.2}
          @{" Enlarge       " link M3.5.3}
          @{" Center        " link M3.5.4}

@endnode

@node M3.5.0 "Menu: Special/Windows/Arrange ver"

    It arranges all opened windows vertically on screen. If special
checkmark of menu @{" Extend active win. " link M3.6} is enabled then ProgED will
extend the active window to fit half screen. The remaining windows
will share rest of screen.

@endnode

@node M3.5.1 "Menu: Special/Windows/Arrange hor"

    It arranges all opened windows horizontally on screen. If special
checkmark of menu @{" Extend active win. " link M3.6} is enabled then ProgED will
extend the active window to fit half screen. The remaining windows
will share rest of screen.

@endnode

@node M3.5.2 "Menu: Special/Windows/Zip"

    It zips a window. You can get same function using the Intuition Gadget.

@endnode

@node M3.5.3 "Menu: Special/Windows/Enlarge"

    It enlarges active window to fit all screen area.

@endnode

@node M3.5.4 "Menu: Special/Windows/Center"

    It centers active window on the screen.

@endnode

@node M3.6 "Menu: Special/Extend active win."

    If you arrange windows (see @{" Arrange ver " link M3.5.0} or @{" Arrange hor " link M3.5.1}
and this checkmark is enabled then ProgED will extend the active
window to fit half screen area.

@endnode

@node M3.7 "Menu: Special/-----"
@endnode

@node M3.8 "Menu: Special/Case letter"

    This menu allows you to modify case of letter in text in three
ways:

         @{" Upper     " link M3.8.0}
         @{" Lower     " link M3.8.1}
         @{" toggle    " link M3.8.2}

@endnode

@node M3.8.0 "Menu: Special/Case letter/Upper"

    It modifys letter at cursor position so that it will be upper.
If it was already upper ProgED will do nothing.

@endnode

@node M3.8.1 "Menu: Special/Case letter/Lower"

    It modifys letter at cursor position so that it will be lower.
If it was already lower ProgED will do nothing.

@endnode

@node M3.8.2 "Menu: Special/Case letter/Toggle"

    It modifys letter at cursor position so that if it was lower
it will be upper and vice versa.

@endnode

@node M3.9 "Menu: Special/Case block"

    This menu allows you to modify case of letters in a text block in
three ways:

         @{" Upper     " link M3.9.0}
         @{" Lower     " link M3.9.1}
         @{" Swap      " link M3.9.2}

@endnode

@node M3.9.0 "Menu: Special/Case block/Upper"

    All selected letter will be upper.

@endnode

@node M3.9.1 "Menu: Special/Case block/Lower"

    All selected letter will be lower.

@endnode

@node M3.9.2 "Menu: Special/Case block/Swap"

    It modifys letters in text block so that if it was lower it will
be upper and vice versa.

@endnode

@node M3.10 "Menu: Special/-----"
@endnode

@node M3.11 "Menu: Special/ASCII"

    This menu allows you some operation on ASCII characters:

         @{" Show          " link M3.11.0}
         @{" Insert        " link M3.11.1}
         @{" Table         " link M3.11.2}

@endnode

@node M3.11.0 "Menu: Special/ASCII/Show"

    It shows ASCII code of char at cursor position.

@endnode

@node M3.11.1 "Menu: Special/ASCII/Insert"

    It allows you to specify an ASCII code to insert in text (1-255).

@endnode

@node M3.11.2 "Menu: Special/ASCII/Table"

    It shows a complete ASCII table. Clicking on a char you'll insert
it in text.

@endnode

@node M3.12 "Menu: Special/-----"
@endnode

@node M3.13 "Menu: Special/Window"

    This menu allows you to open and close windows on screen without
freeing their text.

         @{" Close         " link M3.13.0}
         @{" Open          " link M3.13.1}
         @{" Swap          " link M3.13.2}

@endnode

@node M3.13.0 "Menu: Special/Window/Close"

    The actually active window will be close. The relative text will
be not freed. To reopen window use menu @{" Open " link M3.13.1} or @{" Swap " link M3.13.2}.

@endnode

@node M3.13.1 "Menu: Special/Window/Open"

    This menu shows a special list showing all closed windows. To open any
of them click on it.

@endnode

@node M3.13.2 "Menu: Special/Window/Swap"

    The actually active window will be closed (see @{" Close " link M3.13.0}).
Later, ProgED will show you a special list containing all closed window.
Clicking on any of them you can open it. This menu is very useful if
you haven't a monitor, because so you can open only a window a time.
At each swap ProgED will close actual window and will open another.

@endnode

@node M3.14 "Menu: Special/-----"
@endnode

@node M3.15 "Menu: Special/Window next"

    It cycles on all window. At each selection ProgED will active next
window. Using an hotkey you haven't to use mouse!

@endnode

@node M3.16 "Menu: Special/Window prev"

    It cycles on all window. At each selection ProgED will active previous
window. Using an hotkey you haven't to use mouse!

@endnode

@node M3.17 "Menu: Special/-----"
@endnode

@node M3.18 "Menu: Special/Iconify"

    Selecting this menu ProgED will close all window and its screen to
iconify. To reopen ProgED you can use the commodity hotkey (default:
rshift ralt return), AppIcon or AppItem on WB screen. AppIcon & AppItem
must be activated using the preference window @{" Miscellaneous (glb) " link M7.9}.

@endnode

@node M3.19 "Menu: Special/-----"
@endnode

@node M3.20 "Menu: Special/Split window"

    Using this menu ProgED will split actually active window. So,
you'll get two views of same text. In each view you'll can edit text.
Furthermore it's possible to split a splitted window so that you can
have three views, four views, and so on, on same text.

@endnode

@node M3.21 "Menu: Special/-----"
@endnode

@node M3.22 "Menu: Special/Change filetype"

    Using this menu you can change the filetype related to the text
of the currently active window.

@endnode

@node M4 "Menu: Miscellaneous"

    In this menu you'll find all miscellaneous functions dedicated to
file management, dynamic & static references, etc.

@endnode

@node M4.0 "Menu: Miscellaneous/DOS"

    Here you can do three basic DOS operation:

          @{" Delete file    " link M4.0.0}
          @{" Rename file    " link M4.0.1}
          @{" Create new dir " link M4.0.3}

@endnode

@node M4.0.0 "Menu: Miscellaneous/DOS/Delete file"

    Selecting this menu you can delete a file. A file-requester allows you
to select wished file.

@endnode

@node M4.0.1 "Menu: Miscellaneous/DOS/Rename file"

    Selecting this menu you can rename a file. A file-requester allows you
to select wished file. A special windows allows you to enter new name of
file.

@endnode

@node M4.0.2 "Menu: Miscellaneous/DOS/-----"
@endnode

@node M4.0.3 "Menu: Miscellaneous/DOS/Create new dir"

    Selecting this menu you'll can create a new drawer. A file-requester
will allow you to select wished name.

@endnode

@node M4.1 "Menu: Miscellaneous/-----"
@endnode

@node M4.2 "Menu: Miscellaneous/Shell"

    It creates a new shell process. The relative window will be open on
ProgED screen only if you enabled the 'Set DefPubScreen' flag in
@{" Miscellaneous (glb) " link M7.9} window.

@endnode

@node M4.3 "Menu: Miscellaneous/Calculator"

    Execute "Calculator" program (supplied on WB3.0) on ProgED screen.

@endnode

@node M4.4 "Menu: Miscellaneous/-----"
@endnode

@node M4.5 "Menu: Miscellaneous/Insert"

    Using this menu you can insert three objects in text:

          @{" Path         " link M4.5.0}
          @{" Date         " link M4.5.1}
          @{" Time         " link M4.5.2}

@endnode

@node M4.5.0 "Menu: Miscellaneous/Insert/Path"

    Selecting this menu you can insert in text a file path (at cursor
position). A file-requester will allow you to choose wished path.

@endnode

@node M4.5.1 "Menu: Miscellaneous/Insert/Date"

    Selecting this menu you'll can insert actual date in text (at
cursor position). Date will be write according to locale preferences
of your system.

@endnode

@node M4.5.2 "Menu: Miscellaneous/Insert/Time"

    This menu allows you to insert actual time in text (at cursor
position).

@endnode

@node M4.6 "Menu: Miscellaneous/-----"
@endnode

@node M4.7 "Menu: Miscellaneous/Scan"

    This menu is one of more important menu. Selecting it you'll get
a window containing two lists. At right list you'll see all scanners
actually resident (see @{" Scanners " link M7.5}), at left list you'll see a
list of symbols. These symbols are computed using selected scanner
on the right window. Changing scanner ProgED will recompute all
symbols.

    Using supplied scanners it's possible to get start of C functions,
C structures (struct), AmigaGuide nodes etc. Selecting a symbol in the
left list ProgED will position cursor exactly on scanner reported position
(function start point, structure start point, node start).

    Using next menu (see @{" Unfold " link M4.8}) you can specify if, at jump time,
ProgED must, or not, open a fold, if any.

@endnode

@node M4.8 "Menu: Miscellaneous/Unfold"

    This checkmark says ProgED if, at a cursor jump using scan function
(see @{" Scan " link M4.7}), it have to open the fold found, if any.

@endnode

@node M4.9 "Menu: Miscellaneous/-----"
@endnode

@node M4.10 "Menu: Miscellaneous/Template"

    This checkmark activates template's management (see @{" Templates " link M7.16}).
A template allows you to activate a ProgED internal command (see
@{" ProgED internal commands " link INTCOMMANDS}) each time user use a defined key sequence.
Templates allow cycle costruction (while,for,do-while,etc.) without effort!
Try typing "while{" in a window. While body will be expanded and the cursor
will be positioned ready to write cycle condition.

@endnode

@node M4.11 "Menu: Miscellaneous/-----"
@endnode

@node M4.12 "Menu: Miscellaneous/Find reference"

    Using this menu you can find, in a few seconds, definition of
a static reference. A static reference is a reference (#defines,
C structures, etc.) indipendent from actual project. A reference,
thus, is simply the occorrence in a "static" file indipendet from
project and that, thus, change never. These files are, generally,
include files that change never, of course, but are useful because
they contains many definitions.

    Symbols from "static" files are extracted using scanners
(see @{" Scanners " link M7.5}). Before use this menu you have to build a
references map (and store it in a file) using the special preference
menu @{" Reference " link M7.4}.

    When you have a references map you can select this menu to
find any symbol written under cursor. Wished string, so, will be
extracted automatically from text at cursor position. It's possible
to specify any other string using the menu @{" Ask for reference " link M4.13}.

    If reference was found, ProgED will open a new window containing
file with searched symbol and will move cursor at exact definition
point.

@endnode

@node M4.13 "Menu: Miscellaneous/Ask for reference"

    Using this menu you can find, in a few seconds, definition
of a static reference. A static reference is a reference (#defines,
C structures, etc.) indipendent from actual project. A reference,
thus, is simply the occorrence in a "static" file indipendet from
project and that, thus, change never. These files are, generally,
include files that change never, of course, but are useful because
they contains many definitions.

    Symbols from "static" files are extracted using scanners
(see @{" Scanners " link M7.5}). Before use this menu you have to build
a references map (and store it in a file) using the special preference
menu @{" Reference " link M7.4}.

    When you have a references map you can select this menu to
find any symbol. You'll give ProgED an AmigaDOS pattern. It will
search for all matches of pattern and symbol in references map.

    If reference was found, ProgED will open a new window containing
file with searched symbol and will move cursor at exact definition
point.

@endnode

@node M4.14 "Menu: Miscellaneous/-----"
@endnode

@node M4.15 "Menu: Miscellaneous/Find project refer."

    Using this menu, in a few seconds, definition of a dymanic
reference. A dymanic reference is a reference (#defines, C
structures, etc.) dipendent from actual project. A reference, thus,
is definition of symbols contained in actual project.

    Symbols from project files are extracted using scanners
(see @{" Scanners " link M7.5}). To use this menu you MUST activate the checkmark
@{"Save related refs " link M7.22}. Thus, at each save ProgED will write, together
the text file, a new file (with extension ".refs"). This file
will contain all symbol defined in text and found via scanners.
IT'S VERY IMPORTANT TO REMEMBER THAT YOU MUST NOT DEACTIVATE
THE CHECKMARK, SAVE A SOURCE AND REACTIVATE THE CHECKMARK,
in fact, this way you'll have wrong references in the related
file! If you like this feature activate checkmark and deactivate
it NEVER! If this feature looks useless deactivate it.

    At menu selection time, ProgED will extract from text under cursor
the searched string. To supply any string see @{" Ask for project ref. " link M4.15}.
    If ProgED found the reference it will open a new window containing
text defined symbol (if it's not opened already) and it will move
cursor on symbol definition.

@endnode

@node M4.16 "Menu: Miscellaneous/Ask for project ref."

    Using this menu, in a few seconds, definition of a dymanic
reference. A dymanic reference is a reference (#defines, C
structures, etc.) dipendent from actual project. A reference, thus,
is definition of symbols contained in actual project.

    Symbols from project files are extracted using scanners
(see @{" Scanners " link M7.5}). To use this menu you MUST activate the checkmark
@{"Save related refs " link M7.22}. Thus, at each save ProgED will write, together
the text file, a new file (with extension ".refs"). This file will
contain all symbol defined in text and found via scanners. IT'S VERY
IMPORTANT TO REMEMBER THAT YOU MUST NOT DEACTIVATE THE CHECKMARK,
SAVE A SOURCE AND REACTIVATE THE CHECKMARK, in fact, this way you'll
have wrong references in the related file! If you like this feature
activate checkmark and deactivate it NEVER! If this feature looks
useless deactivate it.

    At menu selection time ProgED will ask you for an AmigaDOS pattern.
All symbols matching this pattern will be showed.

    If ProgED found the reference it will open a new window containing
text defined symbol (if it's not opened already) and it will move
cursor on symbol definition.

@endnode

@node M4.17 "Menu: Miscellaneous/-----"
@endnode

@node M4.18 "Menu: Miscellaneous/File hunter"

    This menu allows you to load, simply and immediatly, wished file.
At menu selection time ProgED will extract file name from text under
cursor (it will search for <,>,",', etc.). File will be searched in
a list of user defined paths (see @{" File hunter " link M7.6}).

    If file was found, it is loaded in memory.

    To supply, via keyboard, wished filename use menu
@{" Ask for hunted file " link M4.18}.

@endnode

@node M4.19 "Menu: Miscellaneous/Ask for hunted file"

    This menu allows you to load, simply and immediatly, wished file.
At menu selection time ProgED will ask you for wished file name.
File will be searched in a list of user defined paths (see @{" File hunter " link M7.6}).

    If file was found, it will be loaded in memory.

@endnode

@node M4.20 "Menu: Miscellaneous/-----"
@endnode

@node M4.21 "Menu: Miscellaneous/Complete"

    ProgED allows you to use shortcuts while typing more used phrases.
Insert in dictionary (see @{" Dictionary " link M7.17}) phrases more used. Later,
write only few chars and select this menu. ProgED will search for
first phrase matching your chars, and it will complete phrase for you.

@endnode

@node M4.22 "Menu: Miscellaneous/Autocase"

    ProgED allows to use phrases contained in the dictionary
(see @{" Dictionary " link M7.17}) to correct automatically char case (how many
times you wrote "Openlibrary" instead of "OpenLibrary" ?). Activating
this checkmark ProgED will check for words in dictionary on the cursor
line (each time cursor leave line). ProgED will correct wrong case, so.

@endnode

@node M4.23 "Menu: Miscellaneous/-----"
@endnode

@node M4.24 "Menu: Miscellaneous/Project files"

    ProgED manage internally projects. Using this menu you can specify
sources of your project. It's important to use this menu to say ProgED
what you are doing. Use it also to open, quickly, a file in the actual
project.

@endnode

@node M4.25 "Menu: Miscellaneous/Project search"

    Selecting this menu you'll see a search window. This window allows
you to search for an AmigaDOS pattern in ALL files of your project
(how many times you want know where do you used "x" variable ?). When
you press return ProgED will start search for pattern occorences.
During search ProgED will select all files where an occorrence was
found. Click on "Edit" button to open them.

NOTE: During search ProgED will read files from memory, if they
are loaded. Otherwise it will read them from disk.

@endnode

@node M5 "Menu: Macro"

    This menu allows you to create and to use ARexx macros. Using it
you can create a macro "on line" and save it for later use.

@endnode

@node M5.0 "Menu: Macro/Edit macro"

    It allows, simply, to open a window loading an ARexx macro.

@endnode

@node M5.1 "Menu: Macro/Save & run as macro"

    It saves text in active window and, later, executes it (from
disk) as an ARexx macro.

@endnode

@node M5.2 "Menu: Macro/-----"
@endnode

@node M5.3 "Menu: Macro/Start recording"

    It starts on-line recording of an ARexx macro. If ProgED have a
previous recorded macro, ProgED ask you to confirm operation.
After recording start ProgED will follow all you do (menu select,
pressed keys, etc.). To stop recording use @{" Stop recording " link M5.4}.

    NOTE: If a file-requester pops up ProgED will ask you if you
want store file-requester contents or open file-requester during
macro executation, later.

@endnode

@node M5.4 "Menu: Macro/Stop recording"

    This menu stops macro recording. Later, if you want to continue
recording you can restart recording selecting @{" Continue recording " link M5.5}. 

@endnode

@node M5.5 "Menu: Macro/Continue recording"

    If you recorded a macro but you want add more commands use this
menu. It will continue recording, appending new commands to old macro.

@endnode

@node M5.6 "Menu: Macro/-----"
@endnode

@node M5.7 "Menu: Macro/Macro play"

    Execute macro actually in memory. All operation recorded will be
played back.

@endnode

@node M5.8 "Menu: Macro/Macro play times..."

    Execute macro actually in memory more times. All operation recorded
will be played back. At macro end ProgED will reexecute it. Before
start you can specify number of play-back times.

@endnode

@node M5.9 "Menu: Macro/-----"
@endnode

@node M5.10 "Menu: Macro/Save macro"

    It allows you to save macro actually in memory. This macro can be
reused, later.

@endnode

@node M6 "Menu: SAS/C"

    This menu supplys a pratical interface between ProgED and SAS
compiler (V6.0 and above). Using this menu you can build project,
execute it or, if an error occours, move cursor automatically on
errors. If you haven't SAS compiler delete this menu.

    To use this menu you must:

    1) allow SAS utility windows (mainly SCMSG, but it's the only
       one) to open on ProgED screen. You can do so setting flag
       "SetDefPubScr" in preference window @{" Miscellaneous (glb) " link M7.9}.

    2) have all project files in a single directory.

    3) mount PRJ handler.

    4) supply an executable name in the special gadget of scopts
       window.

    All Arexx macro, scripts and executable used, are available
in "SASC_Support" drawer. Here you can found also sources of
executable used.

    This menu was written so that if a smakefile was given in project
directory it will be used. Otherwise it will compile all files and
link them together using the options written using scopts utility.

NOTE: I apologise but, using SAS/C 6.3, if you want to add assembly
      sources in your project (and assembly them using asm SAS utility),
      you MUST create a smakefile using @{"Create SNakefile" link M6.2}
      menu. Unfortunately this is due to SAS "asm" utility.

      Write a simple asm source in 'RAM:foo.a'. Try to compile it
      using following command:

      SC OBJNAME T: RAM:foo.a

      You'll get an error (:-O). Why ? asm utility simply cats
      objname string (here, 'T:') and file name (here 'RAM:foo.a')
      getting 'T:RAM:foo.a'. What a silly bug, isn't it?
      If on your system you haven't this behaviour then you can
      assembly without using a SMakeFile.

@endnode

@node M6.0 "Menu: SAS/C/SAS/C options"

    This menu opens the scopts window. Using it you can modify
compile options regarding actually loaded project. Remember
that you MUST supply an executable name!

@endnode

@node M6.1 "Menu: SAS/C/Arguments"

    Selecting this menu you can specify executable arguments. These
arguments will be used if you select menu @{" Run CLI " link M6.9}.

@endnode

@node M6.2 "Menu: SAS/C/Create SMakeFile"

    This menu creates, in project dir, a file for SMake utility.
You can use this file as base for your makefile. Before to use this
menu you have to say ProgED all files in project creating it.

@endnode

@node M6.3 "Menu: SAS/C/-----"
@endnode

@node M6.4 "Menu: SAS/C/Build all"

    This menu executes a "build all" operation, rebuiling, thus,
all objects containg in actual project and linking them to rebuild
executable. If an error occours cursor will be positioned on first
error.

@endnode

@node M6.5 "Menu: SAS/C/Build"

    This menu executes a "build" operation, rebuilding, thus,
all objects modified from last compilation. Later, if necessary,
linker will be called to create new executable.

@endnode

@node M6.6 "Menu: SAS/C/Link"

    Selecting this menu you can call linker to rebuild your
executable.

@endnode

@node M6.7 "Menu: SAS/C/-----"
@endnode

@node M6.8 "Menu: SAS/C/Run WB"

    This menu allows you to run your project. Executation is made
using WB procedures. ProgED will not use arguments specified using
the special menu @{" Arguments " link M6.1}.

@endnode

@node M6.9 "Menu: SAS/C/Esegui CLI"

    This menu allows you to run your project. It simply creates a new
AmigaDOS process to run your executable as a CLI program. ProgED, here,
will use arguments you specified in menu @{" Arguments " link M6.1}.

@endnode

@node M6.10 "Menu: SAS/C/-----"
@endnode

@node M6.11 "Menu: SAS/C/First error"

    If, during a compilation, errors occours, this menu allows you to
position cursor on first error of list contained in scmsg utility
window (it automatically will be opened).

@endnode

@node M6.12 "Menu: SAS/C/Next error"

    If, during a compilation, errors occours, this menu allows you to
position cursor on next error of list contained in scmsg utility
window (it automatically will be opened).

@endnode

@node M6.13 "Menu: SAS/C/Last error"

    If, during a compilation, errors occours, this menu allows you to
position cursor on last error of list contained in scmsg utility
window (it automatically will be opened).

@endnode

@node M6.14 "Menu: SAS/C/-----"
@endnode

@node M6.15 "Menu: SAS/C/Compile file"

    This menu was added to compile small sources (without save them).
Selecting it, ProgED will compile source containd in active window
and will put relative object file (.o) in RAM:. Using this menu you
can avoid to use project management for small sources.

@endnode

@node M7 "Menu: Preference"

    Menu Preference allows you to configure ProgED according your
preferences.

@endnode

@node M7.0 "Menu: Preference/Screen"

    This menu allows you to choose type and properties of ProgED
screen. It uses four subitems:

          @{" Mode           " link M7.0.0}
          @{" Colors         " link M7.0.1}
          @{" Fonts          " link M7.0.2}
          @{" Drawinfo       " link M7.0.3}

@endnode

@node M7.0.0 "Menu: Preference/Screen/Mode"

    Selecting this menu you can choose DisplayID of ProgED screen.
If you are using asl.library (see @{" Miscellaneous (glb) " link M7.9}) you'll can
choose to open ProgED on a screen cloned from WB ("Same as Workbench")
or open it on a given public screen. In latter case you must choose
wished public screen selection the virtual DisplayID named "Open on:..."
(followed by screen name). Note that if you open a WB clone screen
you'll get a screen using same width,height and display-id. ProgED
will NOT copy WB screen-depth.

NOTE: If you are using ReqTools.library you CANNOT choose these
special modes. I apologise, but the ReqTools.library can't shows
special display id. ):-(

@endnode

@node M7.0.1 "Menu: Preference/Screen/Colors"

    Using this menu you'll can modify ProgED screen palette. Of course,
this palette isn't used if you open ProgED on a public screen.

@endnode

@node M7.0.2 "Menu: Preference/Screen/Fonts"

    Selecting this menu you can choose fonts used for ProgED screen.
You can select:

    a) Screen Font:

          Used for screen bar and for all Intuition window opened
          on ProgED screen. This font will NOT be used if you
          open ProgED on a public screen (the public screen font
          will be used).

    b) Menu Font:

          Used to render menu.

    c) Text Font:

          Used to redraw texts in ProgED windows. This font MUST be
          size fixed.

    d) Gadget Font:

          Used for all remaining ProgED window, and relative gadgets.
          This font should be tall 8 pixel. ProgED, in fact, doesn't
          scale windows to adjust them to used font. This menu
          give you only a possibility to adjust ProgED look at
          your preferences. So, DON'T USE A 24 PIXEL FONT !

@endnode

@node M7.0.3 "Menu: Preference/Screen/DrawInfo"

    Selecting this menu you can choose all pens used to render ProgED
screen. You can see, here, all AmigaDOS standard pens, and other
special pens:

    a) Background pen:

         Used to render background of ProgED screen.

    b) Paper pen:

         Used to render background of text windows.

    c) Text pen:

         Used to render text in ProgED windows.

    d) Mark pen:

         Used to highlight marked blocks.

    e) Cursor Pen:

         Used to render the cursor.

    f) Cursor mark pen:

         Used to render the cursor while marking blocks.

    g) Changed lines pen:

         Used to highlight changed lines.

    h) Matching bracket pen:

         Used to highlight the matching bracket.

    i) Toolbar back pen:

         Used to render the background of toolbars.

    j) Toolbar upper line pen:

         Two lines divide toolbar and text are. This pen is used
         to draw the upper one.

    k) Toolbar bottom line pen:

         Used to draw the bottom divide line.

    All pens (except the a) one) will be used ONLY you aren't using fast mode
(see @{" Fast mode " link FASTMODE}). Otherwise pens used are:

pen b) is 0
pen c) is 1
pen d) is 2
pen e) is 1
pen f) is 1
pen g) is 0
pen h) is 0
pen i) is 0
pen j) is 1
pen k) is 0

@endnode

@node M7.1 "Menu: Preference/Menu"

    Using this menu you can modify ProgED menu itself. BEWARE!
Modifing menu you can loose this item. If you do so, you'll can
never remodify a menu. This function, thus, must be used using
brain.

    In window opened at selection time, you'll see three lists.
In left one you'll see all menu titles, in center one you'll see
all item titles in menu actually selected in first list, in right
one you'll see all subitems of item actually selected in center
list. Using gadget relative at each list you can add a menu/
item/subitem, delete an entry, or move an entry up or down.

    Double clicking on any item or subitem yoy'll see a new
window called @{" Edit program... " link PROGPANEL} used to change action
executed at item/subitem selection.

    A string gadget allows you to enter an hotkey used for each
items/subitems (ProgED allows you to specify same char in two
menu such that in one you use it lower, in other upper).
If you are running ProgED on a 3.0 machine, it's possible to
specify an entire string (not only a key) such as "F1". Unfortunaly,
so O.S. will not activate menu at F1 activation. You must, thus,
modify keyboard prefs to create an hotkey for F1 key. I apologise,
but 3.0 kick don't activate menu if you are using a string...

    The gadget "CHECK" allows you to modify item/subitem actually
selected so to create a checkmark. If you create a checkmark and
you change checkmark using menu, you modify preferences flags.
A checkmark selection, furthermore, allows you to execute a
normal internal program. But generally you'll use only checkmarks
without internal commands. To do so delete all commands in
"Edit program" window.

    At last, gadget "Separate menu" allows you to place a barlabel,
each menu you left empty. Otherwise they will be showed as empty
labels.

@endnode

@node M7.2 "Menu: Preference/Keyboard"

    Using this menu you can modify keyboard behaviour. Clicking on
a key in list ProgED will show you @{" Edit program... " link PROGPANEL} that allows
you to modify action executed at each pressed key (or hotkey).

@endnode

@node M7.3 "Menu: Preference/Mouse"

    Using this menu you can modify mouse behaviour. You can specify a
program to be executed at each mouse button pressure (with qualifier or
not). If you have a three buttons mouse please let me know if the
management of middle button works because I couldn't test it. Thanks.

@endnode

@node M7.4 "Menu: Preference/Reference"

    This menu allows you to create a file containing the static
reference map. A special list contains all directory (or AmigaDOS
patterns) of files/dirs that ProgED must read during map creation.
A string gadget allows you to specify map filename. Clicking on
"Create" gadget ProgED will read all dirs and files matching
patterns, on each file readed ProgED will apply ALL possible scanners
actually mounted (possible because a file must match scanner
pattern or it will be not scanned), and all references found will
be written on output file that, at end, will contain all references
found appling scanners mounted.

    NOTE: Due to high number of disk I/O this function will be
completed in one or more minutes.

    A special gadget allows you to load and keep reference map in RAM.
I suggest you to set this gadget only if you have at least 6Mb.

@endnode

@node M7.5 "Menu: Preference/Scanners"

    This menu allows you to insert or remove scanners used to search for
symbols, in reference map creation and during a scan operation. A string
gadget allows you to specify an AmigaDOS pattern. This pattern specifys,
for each scanner, file that ProgED will scan. For example, a C-function
scanner should use a pattern as "#?.c".

@endnode

@node M7.6 "Menu: Preference/File hunter"

    ProgED can search for and load automatically files. To do so,
Hovewer, you must say ProgED dirs to scan during research. Using
window opened at selection time you can supply these directories.
The research follows specified order.

@endnode

@node M7.7 "Menu: Preference/API clients"

    Using window opened at selection time, you can specify filenames
of all API clients you want run at ProgED executation. To activate
a new client, thus, you must add it in the list, save preferences,
quit and reload ProgED.

    NOTE: Since an API client is runned as a CLI program, you can
use this window to run, at each ProgED load, any CLI program.

@endnode

@node M7.8 "Menu: Preference/Startup REXX macro"

    Using this menu you can specify REXX macro which ProgED must
execute at:

    a) Start
    b) Before close its screen (iconify)
    c) After open its screen (uniconify)

@endnode

@node M7.9 "Menu: Preference/Miscellaneous (glb)"

    This menu allows you to modify many flags of ProgED GLOBAL
preferences. GLOBAL because the @{" Miscellaneous (ft) " link M7.22} changes misc
flags of the active filetypes.

    1) Clipboard number

       number of standard clipboard used as default value during execution
       of internal command such as CUT,COPY,PASTE.

    2) Max chars in line

       Max bytes in line. You must supply an high value here (at least
       300-400). If your line lenght is greater than this value you
       could get a GURU!

    3) Alt step

       If you use ALT during a scroll operation (ALT+cursor UP,etc)
       you'll jump over a number of lines/columns here specified.

    4) Left scroll border

       if cursor exceed this value (at left side) ProgED will scroll window.

    5) Right scroll border

       if cursor exceed this value (at right side) ProgED will scroll window.

    6) Bottom scroll border

       if cursor exceed this value (at bottom side) ProgED will scroll window.

    7) Top scroll border

       if cursor exceed this value (at top side) ProgED will scroll window.

    8) Extra left

       It specifys pixel number to be left at left side of screen.
       This option allows you to open other window on ProgED screen
       without overlapping all windows.

    9) Extra Right

       It specifys pixel number to be left at right side of screen.

   10) Extra Top

       It specifys pixel number to be left at top side of screen.

   11) Extra bottom

       It specifys pixel number to be left at bottom side of screen.

   12) UNDO levels

       It specifys UNDO queue lenght. Each new window opened will have
       this undo queue lenght (don't change opened windows!).

   13) EOL char

       It specifys the ascii value of the char used to render a CR
       just at right of lines. Generally you can use a value such
       as 1 to get a simply rectangle. Some fonts, on the contrary,
       let you to set value 13 and to see a small "CR", such as
       XCourier/13 (my favourite). Even the rendered char is
       dipendent from used font. The value 0 disables EOL render.

   14) % Arrange

       It allows you to set the percentual of screen height used to
       show the active window, if the favourite mouse is active.

   15) Use AppIcon

       Activating this checkbox you say ProgED that, at iconify time,
       it have to create an AppIcon on WB screen. The icon file used
       is "ProgED:Icons/def_iconify.info". Double clicking on this
       AppIcon will reopen ProgED screen.

   16) Use AppItem

       Activating this checkbox you say ProgED that, at iconify time,
       it must create an item in the 'Tools' menu of WB screen.
       This item allows you to reopen ProgED screen.

   17) Ask filetype set

       At load time ProgED must choose a filetype for loaded text.
       If this checkbox is active then ProgED will ask you if chosen
       filetype is correct or you want change it. Disabling this
       checkbox you'll get even the filetype chosen by ProgED.

   18) Ask filetype change

       When you change file name you could change filetype. So, if
       this checkbox is active, ProgED will ask you if you want
       switch to new filetype or keep old filetype. If it's
       disabled you'll get even the new filetype chosen by ProgED.

   19) ReqTools system-reqs

       It activates ReqTools.library system-requester. Otherwise ProgED
       will use Intuition EasyRequest.

   20) ReqTools file-reqs

       It activates ReqTools.library file-requester. Otherwise ProgED
       will use Asl.library requester.

   21) ReqTools font-reqs

       It activates ReqTools.library font-requester. Otherwise ProgED
       will use Asl.library requester.

   22) ReqTools screen-reqs

       It activates ReqTools.library screenmode-requester. Otherwise ProgED
       will use Asl.library requester.

   23) Auto arrange (VER)

       It arranges, if active, all window at each window operation, such
       that windows shares screen vertically.

   24) Auto arrange (HOR)

       It arranges, if active, all window at each window operation, such
       that windows shares screen horizontally.

   25) Extend active win.

       Using this flag ProgED will left most of screen height to active
       the window each time it arranges windows according to the
       percentual chosen.

   26) Show cursor pos

       If activated, in window title bar, ProgED will show you cursor
       position (column & line number). Line number will be showed
       considering folds and not considering folds.
       NOTE: If you activate this option you can slow down window
       refresh.

   27) Show path

       It shows, if activated, the complete path of file in window
       title bar. Otherwise ProgED will show you only file name
       (without path).

   28) Fast load

       ProgED, generally, reads all files using a small I/O buffer.
       This, hovewer, slows down I/O operation. To speed up I/O
       activate this checkbox. If so, ProgED will allocate a big
       buffer to load (in a single read) all file. I suggest you
       to use always this flag because if ProgED cannot allocate
       requested memory it will try loading using "slow" mode.

   29) Safe save

       System guru (or other) can trouble to you loosing you files.
       To avoid this activate this flag. So, ProgED save each
       file using a different file name. If save is right ProgED
       will delete old file and rename new. If save isn't right ProgED
       will delete new file and report failure. If your disk is about
       to be full you can, anyway, save your file, now!

   30) Use Right gadget

       It activates right scroller gadget on ProgED text windows.

   31) Use bottom gadget

       It activates bottom scroller gadget on ProgED text windows.

   32) Auto reload

       If you enable this checkbox, then ProgED, on quit, will save
       all opened files, and latest loaded project file name, in
       "ProgED:OldFiles". When you reload ProgED it will reload
       all files and project.

   33) Use clock

       It activates a clock on ProgED screen title bar.

   34) Unfold (scan)

       It enables or disables unfold during a scan search.

   35) Unfold (marker)

       It enables or disables unfold during a jump to marker.

   36) Unfold (linea)

       It enables or disables unfold during a jump to line.

   37) Unfold (byte)

       It enables or disables unfold during a jump to byte.

   38) Blank border

       It allows you to blank the ProgED screen borders.

   39) Mouse blanker

       This flag activate mouse blanker. It allows you to remove
       mouse pointer (mouse arrow) from screen when user start
       typing. At first mouse move, ProgED will bring back
       mouse pointer.

   40) Set DefPubScreen

       Enabling this flag you set ProgED screen as default public
       screen. So all windows will open on ProgED screen. Use it
       if you don't want to swap screens using lamiga+m.

   41) FFFAAASSSTTT!!!

       If you activate this mode, then ProgED will deactivate all
       color management to speed up windows refresh.

   42) XPK packers

       It allows you to choose a XPK library (you'll see here all XPK
       libraries in 'LIBS:compressors'). The choosed library will
       be used when you save a file using the special menu
       @{" Save as... (XPK) " link M0.5}.

   43) XPK mode

       It allows you to specify XPK library mode to be used in a
       @{" Save as... (XPK) " link M0.5} operation.

   44) XPK Password

       It allows you to specify the XPK password. This password
       will be used if you save a file using an XPK encode
       library, or if you want to load an XPK encoded file.

   45) Cache images to ENV:

       Enabling this flag all brushes used as toolbar images will be copied,
       on first start, to "ENV:PED/Images/", and here loaded next times ProgED
       will start. That allows to lower brushes loading time because ENV:
       device is usually placed in RAM disks such as RAM: or HappyENV.

   46) Right jump scroll

       This flag enables a jump scroll when ProgED will reach the screen
       right border. It allows to speed up typing on long lines. Enable
       it on slow Amigas.

   47) No date in title

       Enabling this flag ProgED will not write date in screen title
       bar.

@endnode

@node M7.10 "Menu: Preference/-----"
@endnode

@node M7.11 "Menu: Preference/Filetypes"

    Using the window which is opened using this menu you can modify,
create, delete or duplicate a filetype. Most of preferences flags of
ProgED, starting from 2.0 release, are depending from filetype loaded
in the window. A filetype is identified using the AmigaDOS pattern
specified in this window. All texts which name matches this pattern
belong to the filetype. The filetypes list is readed from top to
bottom. First matching pattern specify the filetype of the text.
If none of the pattern matches the filename ProgED uses an internal
filetype which is useful mainly for plain texts. If you want
specify an own plain text filetype simply add a filetype AT THE END
of the list which has pattern "#?". Doing so, all text will match
the own created filetypes.

    All item of the preferences menu below this item are depending
from the the active filetype or, in other words, from the filetype
which is related to the text contained in the currently active
window. Each time you activate an item (below this!) you'll get
preferences regarding the filetype related to the active window.
if you want modify an other filetype simply click on the screen
background. You'll get a window to let you choose the wished
filetype to modify.

NOTE: The label of the filetype related to the text in windows is
      shown in the title window, just before the filename.

@endnode

@node M7.12 "Menu: Preference/-----"
@endnode

@node M7.13 "Menu: Preference/Keyword colors"

WARNING: The preferences shown in this window are related to
         the filetype of the active window! See @{" Filetypes " link M7.11}.

    Using this menu you can modify colors used to render some words.
In this list ProgED will show you all keywords actually stored. At
each word you can associate a color. Two string gadgets allows you to
specify chars which enable and disable color management. An integer
gadget allows you to specify, for each word in list, number of following
words using same color. For example the word "struct" shows 1 in this
gadget such that string "struct Library" will be rendered all using
color specified for "struct" word.

    A special checkbox allows you to force ProgED to do a no case
sensitive check on keywords. It's useful if, for example, you are
setting a filetype for AmigaGuide HyperTexts. In this texts you can
write "@EndNode", "@endnode" or "@ENDNODE". Enabling this flag you
have to write only one keyword (not all ones above) and ProgED will
color the three keywords equal.

NOTE: You can select ONLY colors between 1 and 127. So, DON'T
      SELECT COLOR 0 OR GREATER THAN 127 ! IT'S ILLEGAL !

@endnode

@node M7.14 "Menu: Preference/Comment colors"

WARNING: The preferences shown in this window are related to
         the filetype of the active window! See @{" Filetypes " link M7.11}.

    Using this menu you can modify colors used in comment rendering.
ProgED manages two comment types:

    a) From a string to end of line (C++ "//" )

    b) From a string to another string across lines
       (C "/*"-"*/").

    In window, opened at selection time, it's possible to specify
comment start and stop strings and relative colors. An integer
gadget allows you to specify max lines searched for a comment
during refresh. If you put here 0, you want no limit. Hovewer,
I suggest you to put here a normal limit (such us 30-100). If you
put a high limit you force ProgED to search for comments in wide
range of text. This can, thus, show down screen refresh (especially
for long texts). A special flag "Color all line" allows you to
color all line of a C++ "//" style comment. This allows you to
color a quoted fidonet/internet message specifing the string "> "
as C++ "//" style comment. Doing so all line will be colored.

@endnode

@node M7.15 "Menu: Preference/Indentation"

WARNING: The preferences shown in this window are related to
         the filetype of the active window! See @{" Filetypes " link M7.11}.

    Using indentation, each time you press return, ProgED analyses line
just entered. If it ends with a string specified in this list, ProgED
executes the action specified via mx gadgets. These actions are:

    a) ->

         Cursor, on new line, will be moved to a higher indentation level.

    b) <-

         Cursor, on new line, will be moved to a lower indentation level.

    c) >>>

         Line just entered will be moved to a higher indentation level.

    d) <<<

         Line just entered will be moved to a lower indentation level.

    e) >>> ->

         Combines (c) and (a) effects.

    f) <<< ->

         Combines (d) and (a) effects.

    g) >>> <-

         Combines (c) and (b) effects.

    h) <<< <-

         Combines (d) and (b) effects.

    Number of spaces used to move the cursor and the number of spaces
used to move the brackets can be specified using preference window
@{" Miscellaneous (ft) " link M7.22}. Note that ProgED will substitute spaces for
tabs, if possible.
    
@endnode

@node M7.16 "Menu: Preference/Templates"

WARNING: The preferences shown in this window are related to
         the filetype of the active window! See @{" Filetypes " link M7.11}.

    Window opened using this menu allows you to specify a template list.
A "template" cause a ProgED program activation each time user type a
key sequence. In window list you can insert these sequences. Double
clicking on each sequence you'll see the @{" Edit program... " link PROGPANEL} window.
Using this window you can specify a ProgED program to activate at
sequence typing.

@endnode

@node M7.17 "Menu:Preference/Dictionary"

WARNING: The preferences shown in this window are related to
         the filetype of the active window! See @{" Filetypes " link M7.11}.

    Using this menu opened window, you can specify a word (or phrase) list.
These words will be used in two case: phrase AutoCase and phrase Completing.
In former case, if autocase is enabled, each time cursor moves to new line
ProgED will check if on old line exists an occorrence of a word of
dictionary and if it's true It will modify the word case to match
word in dictionary. In latter case, at a special activation command,
ProgED will complete phrase at left size of cursor using dictionary.
Starting from 2.0 release ProgED will allow you to specify a set of
enable/disable chars.

@endnode

@node M7.18 "Menu: Preference/Fold function"

WARNING: The preferences shown in this window are related to
         the filetype of the active window! See @{" Filetypes " link M7.11}.

    This menu allows you to choose external fold function to use in
fold scan. Starting from 2.0 release ProgED allows you to enter two
strings: start and end string of the fold block. Note that the use of
this strings is a folder job so, if the folder doesn't use them, they
aren't useful.

@endnode

@node M7.19 "Menu: Preference/Bracket"

WARNING: The preferences shown in this window are related to
         the filetype of the active window! See @{" Filetypes " link M7.11}.

    Selecting this menu ProgED will show you a list of brackets.
All brackets here inserted will be searched any time you select
menu @{" Matching bracket  " link M2.19}. To do so, you must insert in list a string
such:

          <start bracket>,<end bracket>

inserting, so, a comma between start bracket string and end bracket
string. If you not insert a comma ProgED will not use this string.

@endnode

@node M7.20 "Menu: Preference/Saved files"

WARNING: The preferences shown in this window are related to
         the filetype of the active window! See @{" Filetypes " link M7.11}.

    This menu allows you to modify all protection bits to apply at
save time. It's possible, furthermore, add a comment to files.
A special gadget allows you to specify if ProgED must, or no, save an
icon for each file. Icon used have to be in the "ProgED:Icons" drawer.
Its name must be "def_Icon.info".

@endnode

@node M7.21 "Menu: Preference/Tool bar"

WARNING: The preferences shown in this window are related to
         the filetype of the active window! See @{" Filetypes " link M7.11}.

    This menu allows you to modify windows toolbar for the actual
filetype.

    Using buttons on the right you can insert a new button specifing
the brush to be used and a sequence of internal commands to execute
on button pressure. Other buttons allows you to delete a button, to
change the brush, to modify the commands sequence and to insert a
"space" or a "linefeed". The last two have the function to insert
a horizontal space between two buttons and to create a new row of
buttons. They also allows you to specify the pixel number to be used
(using the string gadget on the bottom-right part of window).

    Note that ProgED, even, remaps loaded brushed using screen
colors. It's a good idea, thus, to use brushes which colors match
some color used on screen.

    Brush loading is done using, if it's installed on your system
datatypes.library (3.0 and above), so you can use iff, gif or any
other brush format. If you do not have datatypes.library (O.S. 2.x)
ProgED uses custom IFF loading and remapping code to load brushes,
so you MUST use IFF brushes.

    Note that, to avoid multiple loading of the same brush, you must
provide same name for same brush. For example, imagine these file names:

    ProgED:Images/Undo.small
    Work:ProgED/Images/Undo.small

Imagine they refers to the same brush. Specifing the above brush
names ProgED will load two copies of the brush. Using equal names
ProgED will load and keep in memory only a single copy of the brush.

    To speed up loading of many and small brushes ProgED, after first
access, copies them to "ENV:PED/Images/". Later ProgED will load
brushes from this drawer (if any) lowering loading time because
ENV: is placed, generally, on RAM disks (such as RAM: or HappyENV,
for example). If you are using HDEnv you'll load brushes from disk, even.
My suggest is, then, to install HappyENV.

@endnode

@node M7.22 "Menu: Preference/Miscellaneous (ft)"

WARNING: The preferences shown in this window are related to
         the filetype of the active window! See @{" Filetypes " link M7.11}.

    This menu allows you to modify other ProgED features:

    1) Left margin

       This integer gadget contains left margin using during block
       layout operations.

    2) Right margin

       This integer gadget contains right margin using during block
       layout operations.

    3) TAB size

       Size of tabs in characters (generally 8).

    4) Indentation jump

       Modify the indentation jump from level to level. This value is
       given is charactes. You can supply any value here but I suggest
       you to put here same value as TAB size, so each indentation
       level will be a single TAB.

    5) Erase right

       At each return pression, ProgED will delete all spaces and tab
       forgotten at line end. This flag may trouble to you writing
       text (not programs). Disable it, if necessary.

    6) Check ()

       If you activate this flag ProgED will check, each time cursor
       move to a new line, the brackets "(" and ")". Sometimes,
       hovewer, this flag can trouble you...

    7) Fold all on load

       When ProgED ends loading a text, if this flag is enabled, then
       it will execute a "fold all" operation, closing all found
       folds.

    8) Ins mode

       Activating this gadget you set INS mode as starting mode (just
       after opening) in a window. If it's disabled you'll get OVR
       mode at window opening.

    9) Tabs=Spaces

       If you activate this checkbox as soon as you press TAB button
       you'll get spaces. This allows you to simulate TABs in a
       text which CAN'T contain tabs (such as fidonet messages).

   10) Backup on save

       If you activate this flag you'll get, at each save, a backup file.
       This file (with ".bak" extension") will be created renaming
       old file.

   11) Backup dir

       If you left blank this string gadget ProgED will save backups
       in the same directory used to save the text. On the contrary,
       if you specify here a directory all backups will be written
       here. It's useful if you don't want see all backups if your
       project directory *:-)

   12) Save related refs

       To keep updated project references map, ProgED must write,
       at each save, a new file with ".refs" extension. This checkbox
       enable refs-file save. If you don't want to use project
       references disable it. REMEMBER: if you disable this checkbox
       and you save a file, the references map will not be updated!
       To build a new map simply delete all ".refs" file. When
       needed ProgED will build all them.

   13) Refs dir

       It's job is equal to the "backup dir" checkbox. Of course
       it's used to specify the directory which must be used to
       write .refs files.

   14) Save markers

       Starting from 2.0 release ProgED allows you to save "static"
       markers together the text. This checkbox actives this feature.

   15) Marker dir

       It's job is equal to the "backup dir" checkbox. Of course
       it's used to specify the directory which must be used to
       write .mark files.

   16) Activate autosave

       Activate autosave. Autosaved files will have an ".auts" extension.

   17) Autosave every (min.)

       Specify how many minutes ProgED must wait between each autosave.

   18) Word wrapping

       This checkbox actives the word wrapping feature.

   19) WW margin

       This string gadget can be used to specify the right margin used
       by word wrapping engine. As soon as cursor reaches this margin
       the line is cutted.

   20) Separators string

       Here you can specify all separators to be used. All of them will
       be used to identify words using "LEFT WORD" or "RIGHT WORD"
       internal command (CTRL+LEFT,CTRL+RIGHT keyboard equivalent).

       You can specify ascii value comma separated, such as "0,8,13".
       You can also define an ascii value range using - char, such as
       "0-32,128-255". Using " char you can specify real chars, such
       as "()|:,.".

       NOTE: This separators ARE NOT USED to render keywords. ProgED
       computes automatically all keywords separators using following
       rules:

       a) All chars in a keywords ARE NOT SEPARATORS.
       b) All following chars ARE NOT SEPARATORS:"abc...xyzABC...XYZ012..789_"
       c) Remaning chars ARE SEPARATORS

   21) Global line clipboard

       This flag enables use of global line clipboard. Starting from V2.3
       ProgED allows use of "global" line clipboard and use of a filetype-local
       line clipboard. Enabling this flag you will use "global" line clipboard,
       disabling it you will use filetype-local line clipboard.

   22) Show changed lines

       Enabling this feature you will see all changed lines (from last
       save) marked using a special color.

       NOTE: When the @{" Fast mode " link FASTMODE} is activated, then this option
       is always off, even if you selected this checkbox.

   23) Show matching brackets

       Enabling this feature ProgED will automatically highlight the
       matching bracket of the one you are standing on. The highlighing
       is done using a special color.

       NOTE: When the @{" Fast mode " link FASTMODE} is activated, then this option
       is always off, even if you selected this checkbox.

   24) File changed

       Using this cycle you can change ProgED behaviour on a file change.
       Starting from V2.3 ProgED can act following action when a file is
       changed:

       a) Keep the old one: simply, do nothing
       b) Load the new one: automatically load the new one
       c) Overwrite the new one: save now, overwriting it
       d) Ask user for one of the previous actions

       NOTE: Some program may modify a file two times (for example it
       can save the file using a temp name, delete the file and
       rename the temp one). Using such programs ProgED will do
       actions two times. Pay attention.

@endnode

@node M7.23 "Menu: Preference/-----"
@endnode

@node M7.24 "Menu: Preference/I/O"

    This menu allows you to load and save ProgED preferences using
following subitems:

          @{" Load from...   " link M7.24.0}
          @{" Save as...     " link M7.24.1}
          @{" -------------- " link M7.24.2}
          @{" Load default   " link M7.24.3}
          @{" Save default   " link M7.24.4}
          @{" -------------- " link M7.24.5}
          @{" Use            " link M7.24.6}

@endnode

@node M7.24.0 "Menu: Preference/I/O/Load from..."

    It allows you to load a preference file suppling its file name.
You'll choose wished file name using a file-requester.

@endnode

@node M7.24.1 "Menu: Preference/I/O/Save as..."

    It allows you to save a preference file suppling file name.
You'll choose wished file name using a file-requester.

@endnode

@node M7.24.2 "Menu: Preference/I/O-----"
@endnode

@node M7.24.3 "Menu: Preference/I/O/Load default"

    It allows you to load the standard preference file. This is the
"ENV:PED/PED.prefs" file.

@endnode

@node M7.24.4 "Menu: Preference/I/O/Save default"

    It allows you to save the standard preference file. ProgED, so, will
save preferences in "ENV:PED/PED.prefs" and "ENVARC:PED/PED.prefs" files.

@endnode

@node M7.24.5 "Menu: Preference/I/O-----"
@endnode

@node M7.24.6 "Menu: Preference/I/O/Use"

    It allows you to save the standard preferences file. ProgED will
save prefs in "ENV:PED/PED.prefs". Thus, this preferences will be
used until next reset.

@endnode

@node CUSTOMIZING "Adapt ProgED"

                                 Adapt ProgED
                               ----------------


    ProgED philosophy, as for GoldED, allows user to modify completely
the used menu and keyboard. In ProgED I tried to supply the same
user-interface coming with CygnusED (before GoldED, the BEST amiga
editor!). Many CygnusED users, thus, will find same menu shortcuts
and managements. But if you want modify ProgED look, you have only
to rewrite its preference file.

    In 'icons' drawer you can save some icons used from ProgED in
some cases. These are their names:

             o def_Arexx:   ARexx macro icons created by using ProgED.
             o def_Icon:    Icon supplied for saved text files.
             o def_Iconify: AppIcon showed on WB screen at iconify time.
             o def_Project: Icon for project files.

    Furthermore, ProgED will come with three icons, but it not use
them automatically:

             o def_Client
             o def_FuncFolder
             o def_Scanner

    ProgED don't use these icons, but they will come in ProgED
distribution because, so, you will be able to apply them to new
folders, scanners or clients.

    At last ProgED allows you language localization. Now, I supplied
only the internal English catalog and an Italian external catalog.
If you want write a catalog in your language have a look in 'sources'
drawer. Here you can find the 'PED.cd' file used in catalogs creation.
If you write the relative 'PED.ct' file send me it and I'll use it
in future ProgED release.

@endnode

@node REGISTERING "Registering"

    This ProgED release is a DEMO version. Previously ProgED 2.3
it's not possible to save files. Because this limitation is very
hard even to users who want register I decided to change the
demo limitations. Here there is a list:

    a) It's possible to save only first 8K of text
    b) Handlers allow to read only first 8K of text
    c) It's not possible to save text blocks
    d) On start and on save a nervous-requester will bring up

    Using this version you can value if you need ProgED. To register
your ProgED copy, send 22 US$, or 33000 Italian lire, or 33DM, or
equivalent via (in case registered) mail specifing that you want to
register your ProgED copy, your name, your address and your e-mail
addresses (if any). You'll receive latest ProgED available release
and the special file "keyfile". This file removes all demo limitations.
In keyfile I'll code your name & address. DO NOT DISTRIBUTE THIS FILE!

    I'll accept only cash. Italian users can send me a postal money-order.
I can't accept eurocheck & bank-draft (I haven't bank accounts!). Hovewer,
specify ALWAYS your name, surname & address, and e-mail/fidonet addresses.

    If you are a registered user you can upgrade your copy simply
downloading new releases of ProgED and putting your keyfile in ProgED:
drawer.

    To get my address see @{" Author " link AUTHOR}.

    I would like to underline that, before 2.3, I asked 20 US$
or 30DM or 33000 italian lire. Unfortunately the exchange rates
are slowly changed so that 20 US$ (or 30DM) are equal to 30000
italian lire. So I changed my requests. Please note that the
additional 2 US$ or 3 DM or 3000 italian lire are used to pay
the mail costs.

@endnode

@node UPDATING "Updating from 1.x"

    If you are a 1.0/1.1 registered user you haven't to register again
your copy. Look into ProgED: drawer, you'll find the command UpdateKeyFile
which can be used to get a new 2.x keyfile starting from your 1.x keyfile.
Follow these steps:

 o MAKE A BACKUP OF YOUR OLD 1.x KEYFILE!  #;-)

 o Use the command: UpdateKeyFile <old keyfile> <new keyfile>
   For example:

   UpdateKeyFile Keyfile Keyfile20

 o Copy new keyfile (Keyfile20) into ProgED: drawer

 o Rename it as "Keyfile"

    That's all. If you have troubles updating your keyfile let me know
(see @{" Author " link AUTHOR) and I'll send you a ready to use keyfile. Anyway
you shouldn't have problems.

@endnode

@node UPDATING2 "Updating from 2.0"

    If you are a 2.x registered user you haven't to register again.
Your keyfile will work for 2.3, too. Simply install ProgED 2.3 and
use your 2.x keyfile. During installation the script will rename
your old preferences file, but you can use it for ProgED 2.x.

@endnode

@node AREXX "ARexx commands"

    ProgED have an ARexx port called "PED_AREXX". Commands ProgED recognizes
are equal to the @{" Internal commands " link INTCOMMANDS}.

    If you write an ARexx macro, hovewer, you must lock events input
from keyboard, menu and mouse. This is necessary to avoid user to
modify macro behaviour. To do so, insert at macro start the command:

        GUI LOCK

and at the end the command:

        GUI UNLOCK

You must remember that, if you don't unlock your window, you'll can
do no operation on window till the GUI UNLOCK command.

    Furthermore, ProgED can recognize two additional ARexx commands
(not available in internal commands) called "QUERY" and "SET" ("SET"
is available from 2.3 release). They allows you to obtain some infos
regard ProgED status (and actually active window status) and to modify
those infos.

    You may use QUERY command in following way:

        QUERY <info>

where <info> is one of the following strings. Each string specifys an
info type. The QUERY command, so, will return this value to the ARexx
macro. You can ask for three types of info: global,filetype, and window
dipendent, The former regard ProgED global status, the latter regard
active window status. Filetype infos regard all infos defined into
filetypes. These infos are active window dipendent, too.

   Global infos:

        @{" ADDPROJECTFILES " link INFO_ADDPROJECTFILES}
        @{" ALTSTEP " link INFO_ALTSTEP}
        @{" AUTOARRANGEHOR " link INFO_AUTOARRANGEHOR}
        @{" AUTOARRANGEVER " link INFO_AUTOARRANGEVER}
        @{" AUTORELOADPRJ " link INFO_AUTORELOADPRJ}
        @{" BLANKBORDERS " link INFO_BLANKBORDERS}
        @{" BOTTOMBORDER " link INFO_BOTTOMBORDER}
        @{" BOTTOMEXTRASPACE " link INFO_BOTTOMEXTRASPACE}
        @{" CLIPBOARD " link INFO_CLIPBOARD}
        @{" EXTENDACTIVEWINDOW " link INFO_EXTENDACTIVEWINDOW}
        @{" FASTLOAD " link INFO_FASTLOAD}
        @{" FASTMODE " link INFO_FASTMODE}
        @{" FILE " link INFO_FILE}
        @{" FILETYPELABEL " link INFO_FILETYPELABEL}
        @{" FILETYPEPATTERN " link INFO_FILETYPEPATTERN}
        @{" LEFTBORDER " link INFO_LEFTBORDER}
        @{" LEFTEXTRASPACE " link INFO_LEFTEXTRASPACE}
        @{" MAXCOL " link INFO_MAXCOL}
        @{" MOUSEBLANKER " link INFO_MOUSEBLANKER}
	@{" NUMFILES " link INFO_NUMFILES}
	@{" NUMFILETYPES " link INFO_NUMFILETYPES}
        @{" NUMPROJECTFILES " link INFO_NUMPROJECTFILES}
	@{" NUMWINDOWS " link INFO_NUMWINDOWS}
        @{" PROJECTFILES " link INFO_PROJECTFILES}
        @{" PUBSCREENNAME " link INFO_PUBSCREENNAME}
        @{" RIGHTBORDER " link INFO_RIGHTBORDER}
        @{" RIGHTEXTRASPACE " link INFO_RIGHTEXTRASPACE}
        @{" SETDEFPUBSCREEN " link INFO_SETDEFPUBSCREEN}
        @{" SAFESAVE " link INFO_SAFESAVE}
        @{" SCREENADDRESS " link INFO_SCREENADDRESS}
        @{" SEPARATEITEMS " link INFO_SEPARATEITEMS}
        @{" SHOWCURSORPOS " link INFO_SHOWCURSORPOS}
        @{" SHOWPATHNAME " link INFO_SHOWPATHNAME}
        @{" TOPBORDER " link INFO_TOPBORDER}
        @{" TOPEXTRASPACE " link INFO_TOPEXTRASPACE}
        @{" UNFOLDONGOTOBYTE " link INFO_UNFOLDONGOTOBYTE}
        @{" UNFOLDONGOTOLINE " link INFO_UNFOLDONGOTOLINE}
        @{" UNFOLDONGOTOMARKER " link INFO_UNFOLDONGOTOMARKER}
        @{" UNFOLDONGOTOSCAN " link INFO_UNFOLDONGOTOSCAN}
        @{" USEAPPICON " link INFO_USEAPPICON}
        @{" USEAPPITEM " link INFO_USEAPPITEM}
        @{" USEBOTTOMGADGET " link INFO_USEBOTTOMGADGET}
        @{" USECLOCK " link INFO_USECLOCK}
        @{" USERIGHTGADGET " link INFO_USERIGHTGADGET}
        @{" USERTFILEREQ " link INFO_USERTFILEREQ}
        @{" USERTFONTREQ " link INFO_USERTFONTREQ}
        @{" USERTSCREENREQ " link INFO_USERTSCREENREQ}
        @{" USERTSYSREQ " link INFO_USERTSYSREQ}
        @{" XPKLIB " link INFO_XPKLIB}
        @{" XPKMODE " link INFO_XPKMODE}
        @{" XPKPASSWORD " link INFO_XPKPASSWORD}

    Filetype infos:

        @{" AUTOFOLD " link INFO_AUTOFOLD}
        @{" AUTORELOAD " link INFO_AUTORELOAD}
        @{" BACKUP " link INFO_BACKUP}
        @{" BACKUPDIR " link INFO_BACKUPDIR}
        @{" BRACKETINDENTJUMP " link INFO_BRACKETINDENTJUMP}
        @{" CHECKBRACKETS " link INFO_CHECKBRACKETS}
        @{" CREATEICONS " link INFO_CREATEICONS}
        @{" ERASERIGHT " link INFO_ERASERIGHT}
        @{" GLOBALLINECLIPBOARD " link INFO_GLOBALLINECLIPBOARD}
        @{" INDENTJUMP " link INFO_INDENTJUMP}
        @{" LEFTMARGIN " link INFO_LEFTMARGIN}
        @{" MARKERSDIR " link INFO_MARKERSDIR}
        @{" MINAUTOSAVE " link INFO_MINAUTOSAVE}
        @{" REFSDIR " link INFO_REFSDIR}
        @{" RIGHTMARGIN " link INFO_RIGHTMARGIN}
        @{" RIGHTWW " link INFO_RIGHTWW}
        @{" SAVEMARKERS " link INFO_SAVEMARKERS}
        @{" SAVEREFS " link INFO_SAVEREFS}
        @{" SEPARATORSSTRING " link INFO_SEPARATORSSTRING}
        @{" TAB " link INFO_TAB}
        @{" TABEQSPACES " link INFO_TABEQSPACES}
        @{" USEAUTOCASE " link INFO_USEAUTOCASE}
        @{" USEAUTOSAVE " link INFO_USEAUTOSAVE}
        @{" USECOMMENT1COLORS " link INFO_USECOMMENT1COLORS}
        @{" USECOMMENT2COLORS " link INFO_USECOMMENT2COLORS}
        @{" USEKEYWORDCOLORS " link INFO_USEKEYWORDCOLORS}
        @{" USEKEYWORDINDENT " link INFO_USEKEYWORDINDENT}
        @{" USETEMPLATE " link INFO_USETEMPLATE}
        @{" WORDWRAPPING " link INFO_WORDWRAPPING}

   Active window infos:

        @{" ABSCURSORLINE " link INFO_ABSCURSORLINE}
        @{" ABSNUMLINES " link INFO_ABSNUMLINES}
        @{" CHANGES " link INFO_CHANGES}
        @{" CURSORCOL " link INFO_CURSORCOL}
        @{" CURSORLINE " link INFO_CURSORLINE}
        @{" FILENAME " link INFO_FILENAME}
        @{" FROZEN " link INFO_FROZEN}
        @{" LAYOUTMODE " link INFO_LAYOUTMODE}
        @{" LINE " link INFO_LINE}
        @{" LINECHARS " link INFO_LINECHARS}
        @{" MARKCOL " link INFO_MARKCOL}
        @{" MARKING " link INFO_MARKING}
        @{" MARKLINE " link INFO_MARKLINE}
        @{" MEMCURSORCOL " link INFO_MEMCURSORCOL}
        @{" MEMLINECHARS " link INFO_MEMLINECHARS}
        @{" NUMLINES " link INFO_NUMLINES}
        @{" SIZE " link INFO_SIZE}
        @{" TYPEMODE " link INFO_TYPEMODE}
        @{" WINDOWPOSX " link INFO_WINDOWPOSX}
        @{" WINDOWPOSY " link INFO_WINDOWPOSY}



    You may use SET command in following way:

        SET <info> <value>

where <info> is one of the following strings. Each string specifies
which info must be modified, while <value> specifies new value to be
set.

   Modifiable Infos:

        @{" BOTTOMEXTRASPACE " link INFO_BOTTOMEXTRASPACE}
        @{" LEFTEXTRASPACE " link INFO_LEFTEXTRASPACE}
        @{" RIGHTEXTRASPACE " link INFO_RIGHTEXTRASPACE}
        @{" TOPEXTRASPACE " link INFO_TOPEXTRASPACE}

@endnode

@node INFO_ADDPROJECTFILES "Info: ADDPROJECTFILES"

     It returns a "char *" array address. Each pointer in the array
     points to a filename in the actual project. This command is
     very useful to external C programs who want read the loaded
     project. Remember to use the @{" NUMPROJECTFILES " link INFO_NUMPROJECTFILES} to get
     project file number.

     Result type: integer

@endnode

@node INFO_ALTSTEP "Info: ALTSTEP"

     It returns line number scroll at alt+cursor keys scroll.

     Result type: integer

@endnode

@node INFO_AUTOARRANGEVER "Info: AUTOARRANGEVER"

     It signals if the auto arrange (ver) mode is activated.

     Result type: YES/NO

@endnode

@node INFO_AUTOARRANGEHOR "Info: AUTOARRANGEHOR"

     It signals if the auto arrange (hor) mode is activated.

     Result type: YES/NO

@endnode

@node INFO_AUTORELOADPRJ "Info: AUTORELOADPRJ"

     It signals if the auto reload mode of the project previously
opened is activated.

     Result type: YES/NO

@endnode

@node INFO_BLANKBORDERS "Info: BLANKBORDERS"

     It signals if ProgED must blank screen borders.

     Result type: YES/NO

@endnode

@node INFO_BOTTOMBORDER "Info: BOTTOMBORDER"

     It returns the bottom scroll border.

     Result type: integer

@endnode

@node INFO_BOTTOMEXTRASPACE "Info: BOTTOMEXTRASPACE"

     It retuns the bottom extra space that ProgED lefts on bottom side
     of screen at each window arrange operation.

     Result type: integer

@endnode

@node INFO_CLIPBOARD "Info: CLIPBOARD"

     It returns standard clipboard number.

     Result type: integer

@endnode

@node INFO_EXTENDACTIVEWIN "Info: EXTENDACTIVEWIN"

     It signals if the extend active window mode is activated.

     Result type: YES/NO

@endnode

@node INFO_FASTLOAD "Info: FASTLOAD"

     It signals if the fast load mode is activated.

     Result type: YES/NO

@endnode

@node INFO_FASTMODE "Info: FASTMODE"

     It signals if the fast mode is activated.

     Result type: YES/NO

@endnode

@node INFO_FILE "Info: FILE"

     It shows up a simple asl file-requester. It's useful writing
     ARexx scripts. The syntax is:

      QUERY FILE <req. title> <path> <filename> <pattern>

     If <pattern> is an empty string the requester doesn't show a
     pattern gadget.

     For example:

      QUERY FILE '"Choose a file"' '"ProgED:"' '""' '"#?.c"'

     allows you to choose for a file matching #?.c in the directory
     ProgED: If you don't want show the pattern gadget substitute
     '""' (empty string) for '"#?.c"'.

     Result type: Complete path name of choosen file. An empty string
                  if user has selected "cancel".

@endnode

@node INFO_FILETYPELABEL "Info: FILETYPELABEL"

     It returns the label related to the filetype of the text
     loaded in the active window.

     Result type: string

@endnode

@node INFO_FILETYPEPATTERN "Info: FILETYPEPATTERN"

     It returns the AmigaDOS pattern related to the filetype of the
     text loaded in the active window.

     Result type: string

@endnode

@node INFO_LEFTBORDER "Info: LEFTBORDER"

     It returns the left scroll border.

     Result type: integer

@endnode

@node INFO_LEFTEXTRASPACE "Info: LEFTEXTRASPACE"

     It retuns the left extra space that ProgED lefts on left side
     of screen at each window arrange operation.

     Result type: integer

@endnode

@node INFO_MAXCOL "Info: MAXCOL"

     It returns the max number of columns that ProgED have to use.

     Result type: integer

@endnode

@node INFO_MOUSEBLANKER "Info: MOUSEBLANKER"

     It signals if the mouse blanker is activated.

     Result type: YES/NO

@endnode

@node INFO_NUMFILES "Info: NUMFILES"

     It returns number of file actually loaded. Note that this doesn't
     include twin windows. So if you have a window and you slip it
     you'll get "1" using this QUERY. If you want to get the number of
     opened window see @{" NUMWINDOWS " link INFO_NUMWINDOWS}.

     Result type: integer

@endnode

@node INFO_NUMFILETYPES "Info: NUMFILETYPES"

     It returns number of filetypes actually loaded in preferences.

     Result type: integer

@endnode

@node INFO_NUMPROJECTFILES "Info: NUMPROJECTFILES"

     It returns number of file actually present in project.

     Result type: integer

@endnode

@node INFO_NUMWINDOWS "Info: NUMWINDOWS"

     It returns number of windows actually opened on ProgED screen.

     Result type: integer

@endnode

@node INFO_PROJECTFILES "Info: PROJECTFILES"

     This command must be used in following way:

     QUERY PROJECTFILES <i>

     It returns the i-th filename in actual project. If <i> is
     greather than number of files in project, it will return
     an empty string.

     Result type: string

@endnode

@node INFO_PUBSCREENNAME "Info: PUBSCREENNAME"

     Returns ProgED screen name. If ProgED opened on a public
     screen you'll get public screen name. If you get an empty
     string, then ProgED is actually iconified.

     Result type: string

@endnode

@node INFO_RIGHTBORDER "Info: RIGHTBORDER"

     It returns the right scroll border.

     Result type: integer

@endnode

@node INFO_RIGHTEXTRASPACE "Info: RIGHTEXTRASPACE"

     It retuns the right extra space that ProgED lefts on right side
     of screen at each window arrange operation.

     Result type: integer

@endnode

@node INFO_SETDEFPUBSCREEN "Info: SETDEFPUBSCREEN"

     It signals if ProgED must sets its screen as default public
     screen.

     Result type: YES/NO

@endnode

@node INFO_SAFESAVE "Info: SAFESAVE"

     It signals if the safe save mode is activated.

     Result type: YES/NO

@endnode

@node INFO_SCREENADDRESS "Info: SCREENADDRESS"

     Returns ProgED screen address. If ProgED opened on a public
     screen you'll get public screen address. If you get zero, then
     ProgED is actually iconified.

     Result type: integer

@endnode

@node INFO_SEPARATEITEMS "Info: SEPARATEITEMS"

     It signals if ProgED will substitute barlabel for empty menu labels.

     Result type: YES/NO

@endnode

@node INFO_SHOWCURSORPOS "Info: SHOWCURSORPOS"

     It signals if ProgED are showing the cursor position on windows
     title bars.

     Result type: YES/NO

@endnode

@node INFO_TOPBORDER "Info: TOPBORDER"

     It returns the top scroll border.

     Result type: integer

@endnode

@node INFO_TOPEXTRASPACE "Info: TOPEXTRASPACE"

     It retuns the top extra space that ProgED lefts on top side
     of screen at each window arrange operation.

     Result type: integer

@endnode

@node INFO_UNFOLDONGOTOBYTE "Info: UNFOLDONGOTOBYTE"

     It signals if ProgED must unfold a fold on a jump to byte.

     Result type: YES/NO

@endnode

@node INFO_UNFOLDONGOTOLINE "Info: UNFOLDONGOTOLINE"

     It signals if ProgED must unfold a fold on a jump to line.

     Result type: YES/NO

@endnode

@node INFO_UNFOLDONGOTOMARKER "Info: UNFOLDONGOTOMARKER"

     It signals if ProgED must unfold a fold on a jump to marker.

     Result type: YES/NO

@endnode

@node INFO_UNFOLDONGOTOSCAN "Info: UNFOLDONGOTOSCAN"

     It signals if ProgED must unfold a fold on a scan search.

     Result type: YES/NO

@endnode

@node INFO_USEAPPICON "Info: USEAPPICON"

     It signals if ProgED will use AppIcon on WB screen at iconify time.

     Result type: YES/NO

@endnode

@node INFO_USEAPPITEM "Info: USEAPPITEM"

     It signals if ProgED will use AppItem on WB screen at iconify time.

     Result type: YES/NO

@endnode

@node INFO_USEBOTTOMGADGET "Info: USEBOTTOMGADGET"

     It signals if ProgED are using the bottom scroller gadget for its
     windows.

     Result type: YES/NO

@endnode

@node INFO_USECLOCK "Info: USECLOCK"

     It signals if the clock window is activated.

     Result type: YES/NO

@endnode

@node INFO_USERIGHTGADGET "Info: USERIGHTGADGET"

     It signals if ProgED are using the right scroller gadget for its
     windows.

     Result type: YES/NO

@endnode

@node INFO_USERTFILEREQ "Info: USERTFILEREQ"

     It signals if ProgED are using the reqtools file-requesters.

     Result type: YES/NO

@endnode

@node INFO_USERTFONTREQ "Info: USERTFONTREQ"

     It signals if ProgED are using the reqtools font-requesters.

     Result type: YES/NO

@endnode

@node INFO_USERTSCREENREQ "Info: USERTSCREENREQ"

     It signals if ProgED are using the reqtools screenmode-requesters.

     Result type: YES/NO

@endnode

@node INFO_USERTSYSREQ "Info: USERTSYSREQ"

     It signals if ProgED are using the reqtools system-requesters.

     Result type: YES/NO

@endnode

@node INFO_XPKLIB "Info: XPKLIB"

     It returns the used XPK library name.

     Result type: string

@endnode

@node INFO_XPKMODE "Info: XPKMODE"

     It returns the XPK crunch library mode (0-100).

     Result type: integer

@endnode

@node INFO_XPKPASSWORD "Info: XPKPASSWORD"

     It returns the password used during XPK library encode/decode.

     Result type: string

@endnode

@node INFO_AUTOFOLD "Info: AUTOFOLD"

     It signals if auto fold-all mode is activated.

     Result type: YES/NO

@endnode

@node INFO_AUTORELOAD "Info: AUTORELOAD"

     It signals if the auto reload mode is activated.

     Result type: YES/NO

@endnode

@node INFO_BACKUP "Info: BACKUP"

     It signals if the backup mode is activated.

     Result type: YES/NO

@endnode

@node INFO_BACKUPDIR "Info: BACKUPDIR"

     It returns the directory used to save backups. If it's an
     empty string ProgED saves backups into same directory used
     to save the text.

     Tipo di risultato: string

@endnode

@node INFO_BRACKETINDENTJUMP "Info: BRACKETINDENTJUMP"

     Indica di quanti spazi spostare le parentesi ad ogni livello
     d'indentazione.

     Tipo di risultato: intero

@endnode

@node INFO_CHECKBRACKETS "Info: CHECKBRACKETS"

     It returns the indentation jump (column difference between levels)
     used moving the brackets.

     Result type: YES/NO

@endnode

@node INFO_CREATEICONS "Info: CREATEICONS"

     It signals if ProgED will save icons at each text save.

     Result type: YES/NO

@endnode

@node INFO_ERASERIGHT "Info: ERASERIGHT"

     It signals if the erase right mode is activated.

     Result type: YES/NO

@endnode

@node INFO_GLOBALLINECLIPBOARD "Info: GLOBALLINECLIPBOARD"

     It signals if the filetype uses the global line clipboard (YES)
     or the local one (NO).

     Result type: YES/NO

@endnode

@node INFO_INDENTJUMP "Info: INDENTJUMP"

     It returns the indentation jump (column difference between levels)
     used moving the cursor.

     Result type: integer

@endnode

@node INFO_LEFTMARGIN "Info: LEFTMARGIN"

     It returns the left margin that ProgED will use during text block
     layout operation.

     Result type: integer

@endnode

@node INFO_MARKERSDIR "Info: MARKERSDIR"

     It returns the directory used to save static markers files. If it's
     an empty string ProgED saves markers files into same directory used
     to save the text.

     Tipo di risultato: string

@endnode

@node INFO_SHOWPATHNAME "Info: SHOWPATHNAME"

     It signals if ProgED are showing the paths on window titles bars.

     Result type: YES/NO

@endnode

@node INFO_MINAUTOSAVE "Info: MINAUTOSAVE"

     It retuns the autosave interval between autosaves.

     Result type: integer

@endnode

@node INFO_REFSDIR "Info: REFSDIR"

     It returns the directory used to save referements files. If it's
     an empty string ProgED saves refs files into same directory used
     to save the text.

     Tipo di risultato: string

@endnode

@node INFO_RIGHTMARGIN "Info: RIGHTMARGIN"

     It returns the right margin that ProgED will use during text block
     layout operation.

     Result type: integer

@endnode

@node INFO_RIGHTWW "Info: RIGHTWW"

     It returns the wordwrapping right border.

     Result type: integer

@endnode

@node INFO_SAVEMARKERS "Info: SAVEMARKERS"

     It returns YES if ProgED saves markers together texts.

     Result type: YES/NO

@endnode

@node INFO_SAVEREFS "Info: SAVEREFS"

     It returns YES if ProgED saves referements file together texts.

     Result type: YES/NO

@endnode

@node INFO_SEPARATORSSTRING "Info: SEPARATORSSTRING"

     It returns a string containing all used defined separators.

     Result type: string

@endnode

@node INFO_TAB "Info: TAB"

     It returns tab size in characters.

     Result type: integer

@endnode

@node INFO_TABEQSPACES "Info: TABEQSPACES"

     It signals if the "tab=spaces" mode is activated.

     Result type: YES/NO

@endnode

@node INFO_USEAUTOCASE "Info: USEAUTOCASE"

     It signals if the autocase mode is activated.

     Result type: YES/NO

@endnode

@node INFO_USEAUTOSAVE "Info: USEAUTOSAVE"

     It signals if the autosave mode is activated.

     Result type: YES/NO

@endnode

@node INFO_USECOMMENT1COLORS "Info: USECOMMENT1COLORS"

     It signals if the multiple lines comment color management is
     activated.

     Result type: YES/NO

@endnode

@node INFO_USECOMMENT2COLORS "Info: USECOMMENT2COLORS"

     It signals if the single line comment color management is
     activated.

     Result type: YES/NO

@endnode

@node INFO_USEKEYWORDCOLORS "Info: USEKEYWORDCOLORS"

     It signals if the keyword color management is activated.

     Result type: YES/NO

@endnode

@node INFO_USEKEYWORDINDENT "Info: USEKEYWORDINDENT"

     It signals if indentation mode is activated.

     Result type: YES/NO

@endnode

@node INFO_USETEMPLATE "Info: USETEMPLATE"

     It signals if the templates are enabled.

     Result type: YES/NO

@endnode

@node INFO_WORDWRAPPING "Info: WORDWRAPPING"

     It signals if the "wordwrapping" mode is activated.

     Tipo di risultato: YES/NO

@endnode

@node INFO_ABSCURSORLINE "Info: ABSCURSORLINE"

     It returns the ABSOLUTE cursor line column number. This value is
     computed considering all folded lines, too!

     Result type: integer

@endnode

@node INFO_ABSNUMLINES "Info: ABSNUMLINES"

     It returns the ABSOLUTE number of lines in the text. This value
is computed considering folded lines, too!

     Result type: integer

@endnode

@node INFO_CHANGES "Info: CHANGES"

     It returns the number of changes from last save.

     Result type: integer

@endnode

@node INFO_CURSORCOL "Info: CURSORCOL"

     It returns the cursor column number.

     Result type: integer

@endnode

@node INFO_CURSORLINE "Info: CURSORLINE"

     It returns the cursor line number.

     Result type: integer

@endnode

@node INFO_FILENAME "Info: FILENAME"

     It returns the complete file path of file actually loaded in the
     active window.

     Result type: string

@endnode

@node INFO_FROZEN "Info: FROZEN"

     It signals if the active window is locked due to external reads
     via handlers.

     Result type: YES/NO

@endnode

@node INFO_LAYOUTMODE "Info: LAYOUTMODE"

     It signals if the active window has layout mode enabled.

     Result type: YES/NO

@endnode

@node INFO_LINE "Info: LINE"

     It returns the cursor line.

     Result type: string

@endnode

@node INFO_LINECHARS "Info: LINECHARS"

     It returns the column number of the cursor line.

     Result type: integer

@endnode

@node INFO_MARKCOL "Info: MARKCOL"

     It returns the start column number of marked block. You'ld use this
     only if exists a marked block!

     Result type: integer

@endnode

@node INFO_MARKING "Info: MARKING"

     It signals if you have marked start of a block.

     Result type: YES/NO

@endnode

@node INFO_MARKLINE "Info: MARKLINE"

     It returns the start line number of marked block. You'ld use this
     only if exists a marked block!

     Result type: integer

@endnode

@node INFO_MEMCURSORCOL "Info: MEMCURSORCOL"

     It returns the column number where cursor is. This number, hovewer,
     don't count tab, so each tab is computed as a single char. Thus,
     this values is simply number of bytes at left side of cursor.

     Result type: integer

@endnode

@node INFO_MEMLINECHARS "Info: MEMLINECHARS"

     It returns the line bytes lenght. Computing this value you must
     remember that a tab is a single byte!

     Result type: integer

@endnode

@node INFO_NUMLINES "Info: NUMLINES"

     It returns the number of lines in the text.

     Result type: integer

@endnode

@node INFO_SIZE "Info: SIZE"

     It returns the text size (in bytes).

     Result type: integer

@endnode

@node INFO_TYPEMODE "Info: TYPEMODE"

     It signals if you are using insert or overwrite mode.

     Result type: INS/OVW

@endnode

@node INFO_WINDOWPOSX "Info: WINDOWPOSX"

     It returns the X-position (in characters) of char at upper left
     corner of window inside text.

     Result type: integer

@endnode

@node INFO_WINDOWPOSY "Info: WINDOWPOSY"

     It returns the Y-position (in characters) of char at upper left
     corner of window inside text.

     Result type: integer

@endnode

@node INTCOMMANDS "Internal commands"

    ProgED is highly configurable due to its internal commands. The
internal commands are commands that ProgED executes each time user
selects a given menu or press a hotkey. During menu and keyboard
customizing, when ProgED shows you the @{" Edit program... " link PROGPANEL} window, user
can "program" a sequence of internal commands or Shell/Arexx external
programs. Internal commands supply all internal capabilites.

    NOTE: Each command can be specified in many ways. In the following
list you'll see commands and relative use mode.

        @{" ABOUT " link CMD_ABOUT }
        @{" APICLIENTSPREFS " link CMD_APICLIENTSPREFS }
        @{" APPEND " link CMD_APPEND }
        @{" ARRANGE " link CMD_ARRANGE }
        @{" ASCII " link CMD_ASCII }
        @{" BACK " link CMD_BACK }
        @{" BLOCKCASE " link CMD_BLOCKCASE }
        @{" BRACKET " link CMD_BRACKET }
        @{" CENTER " link CMD_CENTER }
        @{" CHARCASE " link CMD_CHARCASE }
        @{" CLEAR " link CMD_CLEAR }
        @{" CLEARTEXT " link CMD_CLEARTEXT }
        @{" CLOSE " link CMD_CLOSE }
        @{" COMMENTSCOLORSPREFS " link CMD_COMMENTSCOLORSPREFS }
        @{" COMPLETE " link CMD_COMPLETE }
        @{" COPY " link CMD_COPY }
        @{" CR " link CMD_CR }
        @{" CUT " link CMD_CUT }
        @{" DEL " link CMD_DEL }
        @{" DELFILE " link CMD_DELFILE }
        @{" DICTIONARYPREFS " link CMD_DICTIONARYPREFS }
        @{" DOWN " link CMD_DOWN }
        @{" DRAWINFOPREFS " link CMD_DRAWINFOPREFS }
        @{" ENLARGE " link CMD_ENLARGE }
        @{" FILETYPEPREFS " link CMD_FILETYPEPREFS }
        @{" FILETYPE " link CMD_FILETYPE }
        @{" FOLD " link CMD_FOLD }
        @{" FOLDPREFS " link CMD_FOLDPREFS }
        @{" FONTSPREFS " link CMD_FONTSPREFS }
        @{" FREEZE " link CMD_FREEZE }
        @{" GOTO " link CMD_GOTO }
        @{" GUI " link CMD_GUI }
        @{" HUNTER " link CMD_HUNTER }
        @{" HUNTERPREFS " link CMD_HUNTERPREFS }
        @{" ICONIFY " link CMD_ICONIFY }
        @{" INDENTBLOCK " link CMD_INDENTBLOCK }
        @{" INDENTPREFS " link CMD_INDENTPREFS }
        @{" INS " link CMD_INS }
        @{" INSERT " link CMD_INSERT }
        @{" JUMPTOBYTE " link CMD_JUMPTOBYTE }
        @{" JUMPTOLINE " link CMD_JUMPTOLINE }
        @{" KEYBOARDPREFS " link CMD_KEYBOARDPREFS }
        @{" KWCOLORSPREFS " link CMD_KWCOLORSPREFS }
        @{" LAYOUT " link CMD_LAYOUT }
        @{" LAYOUTBLOCK " link CMD_LAYOUTBLOCK }
        @{" LEFT " link CMD_LEFT }
        @{" LINE " link CMD_LINE }
        @{" LOAD " link CMD_LOAD }
        @{" MACRO " link CMD_MACRO }
        @{" MAKEDIR " link CMD_MAKEDIR }
        @{" MARK " link CMD_MARK }
        @{" MENU " link CMD_MENU }
        @{" MENUPREFS " link CMD_MENUPREFS }
        @{" MISC1PREFS " link CMD_MISC1PREFS }
        @{" MISC2PREFS " link CMD_MISC2PREFS }
        @{" MOUSE " link CMD_MOUSE }
        @{" MOUSEPREFS " link CMD_MOUSEPREFS }
        @{" MOVECURSOR " link CMD_MOVECURSOR }
        @{" NEW " link CMD_NEW }
        @{" NEWCURDIR " link CMD_NEWCURDIR }
        @{" NEWNAME " link CMD_NEWNAME }
        @{" OPEN " link CMD_OPEN }
        @{" PASTE " link CMD_PASTE }
        @{" PREFS " link CMD_PREFS }
        @{" PRJREFERENCEFIND " link CMD_PRJREFERENCEFIND }
        @{" PROJECT " link CMD_PROJECT }
        @{" PROJECTSEARCH " link CMD_PROJECTSEARCH }
        @{" QUIT " link CMD_QUIT }
        @{" REDO " link CMD_REDO }
        @{" REFERENCEFIND " link CMD_REFERENCEFIND }
        @{" REFERENCEPREFS " link CMD_REFERENCEPREFS }
        @{" RENAME " link CMD_RENAME }
        @{" REPLACE " link CMD_REPLACE }
        @{" REVERT " link CMD_REVERT }
        @{" REQUEST " link CMD_REQUEST }
        @{" RIGHT " link CMD_RIGHT }
        @{" SAVE " link CMD_SAVE }
        @{" SAVEAS " link CMD_SAVEAS }
        @{" SAVEBLOCKAS " link CMD_SAVEBLOCKAS }
        @{" SAVEDFILEPREFS " link CMD_SAVEDFILEPREFS }
        @{" SCAN " link CMD_SCAN }
        @{" SCANPREFS " link CMD_SCANPREFS }
        @{" SCREENCOLORSPREFS " link CMD_SCREENCOLORSPREFS }
        @{" SCREENMODEPREFS " link CMD_SCREENMODEPREFS }
        @{" SEARCH " link CMD_SEARCH }
        @{" SPLIT " link CMD_SPLIT }
        @{" STARTUPMACROPREFS " link CMD_STARTUPMACROPREFS }
        @{" STORE " link CMD_STORE }
        @{" SWAP " link CMD_SWAP }
        @{" TEMPLATEPREFS " link CMD_TEMPLATEPREFS }
        @{" TOOLBARPREFS " link CMD_TOOLBARPREFS }
        @{" TYPE " link CMD_TYPE }
        @{" UNDO " link CMD_UNDO }
        @{" UNFOLD " link CMD_UNFOLD }
        @{" UNFREEZE " link CMD_UNFREEZE }
        @{" UNICONIFY " link CMD_UNICONIFY }
        @{" UP " link CMD_UP }
        @{" WINDOW " link CMD_WINDOW }
        @{" WSELECT " link CMD_WSELECT }
        @{" ZIP " link CMD_ZIP }

@endnode

@node CMD_ABOUT "Internal command: ABOUT"

    ABOUT command haven't arguments. It shows classic info window
containing, hovewer, user name (if you own a registered copy).

    a) ABOUT

@endnode

@node CMD_APICLIENTSPREFS "Internal command: APICLIENTSPREFS"

    This command must be given using the ASK option:

       APICLIENTSPREFS ASK

    It shows the preference window regarding API clients.
See @{" API clients " link M7.7}.

@endnode

@node CMD_APPEND "Internal command: APPEND"

    APPEND allows you to append to active window text a new file. This
command can be given in two ways:

      a) APPEND ASK
      b) APPEND FILE <name>

    In former case ProgED shows a file-requester to allow user to
select wished file. In latter case ProgED append given file
(using <name> as file name).

@endnode

@node CMD_ARRANGE "Internal command: ARRANGE"

    ARRANGE allows you to reorganize all windows on screen in two
different ways:

      a) ARRANGE HOR [FAVOURITE]
      b) ARRANGE VER [FAVOURITE]

    In former case all windows will be arranged horizontally on screen,
in latter case they will be arranged vertically. The FAVOURITE flag
allows you to specify if ProgED must, or not, favourite the active
window giving it half screen. If you don't specify it then ProgED
will use value given in actual preferences.

@endnode

@node CMD_ASCII "Internal command: ASCII"

    ASCII command can be given in three ways:

     a) ASCII TABLE
     b) ASCII SHOW
     c) ASCII ASK

    In (a) case ProgED shows you an ASCII symbol table. Clicking on any
char you'll insert it in text. In (b) case, on the contrary, ProgED
shows you, using a special window, the ascii value of char under
cursor. At last, in (c) case ProgED shows you a window. You'll can,
thus, insert wished ascii code.

@endnode

@node CMD_BACK "Internal command: BACK"

    Backspace a char or a word (according user defined separators).
The optional TIMES arguments allows you to specify how many backspaces
ProgED must do (default 1).

    a) BACK
    b) BACK TIMES <number>
    c) BACK WORD TIMES <number>

@endnode

@node CMD_BLOCKCASE "Internal command: BLOCKCASE"

    This command allows you to modify all letters belonging actually
marked text block. Using the following three flags you can modify
command behaviour:

    a) BLOCKCASE UPPER
    b) BLOCKCASE LOWER
    c) BLOCKCASE TOGGLE

    In (a) case all letters will become upper. In (b) case all letters
will become lower. At last, in (c) case, all upper letters will become
lower and vice versa.

@endnode

@node CMD_BRACKET "Internal command: BRACKET"

    You can specify it in two ways:

    a) BRACKET MATCH
    b) BRACKET CHECK

    In former case ProgED searchs for bracket matching bracket under
cursor (you can search for any bracket defined in special preference
window). In latter case ProgED will check the number of "(" and ")"
brackets on cursor line. If they are not equal (and ONLY if they aren't
equal) ProgED will report you.

@endnode

@node CMD_CENTER "Internal command: CENTER"

    This command center the active window on screen.

    a) CENTER

@endnode

@node CMD_CHARCASE "Internal command: CHARCASE"

    This command modify the letter at cursor position so that they
will become lower, upper, or toggle its case. Three ways are
possible:

    a) CHARCASE UPPER
    b) CHARCASE LOWER
    c) CHARCASE TOGGLE

    First way modifys a lower letter to upper, second from upper
to lower and third toggles from lower to upper or vice versa.

@endnode

@node CMD_CLEAR "Internal command: CLEAR"

    This command does a "clear" operation. It, substantially, delete
marked text block from text. Deleted block ISN'T inserted in a
clipboard (hovewer you can get it using an @{" UNDO " link CMD_UNDO} operation).

@endnode

@node CMD_CLEARTEXT "Internal command: CLEARTEXT"

    CLEARTEXT clears active window deleting all text. The FORCE
flag allows you to force operation if text was changed (in this case,
if you don't use FORCE, ProgED will ask you to confirm operation).

    a) CLEARTEXT [FORCE]

@endnode

@node CMD_CLOSE "Internal command: CLOSE"

    CLOSE closes the active window freeing all text. The FORCE flag
allows you to force operation if text was changed (in this case,
if you don't use FORCE, ProgED will ask you to confim operation).

    a) CLOSE [FORCE]

@endnode

@node CMD_COMMENTSCOLORSPREFS "Internal command: COMMENTSCOLORSPREFS"

    This command can be given only this way:

    a) COMMENTSCOLORSPREFS ASK

    This command opens a preference window that allows you to change
colors used in comment render. See @{" Comment colors " link M7.14}.

@endnode

@node CMD_COMPLETE "Internal command: COMPLETE"

    This command says ProgED to complete phrase wrote at left
side of cursor. As we saw ProgED stores a phrase dictionary and
it will be used to get phrase. See @{" Dictionary " link M7.17}.

    a) COMPLETE

@endnode

@node CMD_COPY "Internal command: COPY"

    COPY allows you to copy to a clipboard (standard Amiga) contents
of actually marked block. Two ways are possible:

    a) COPY
    b) COPY CLIP <number>

    In former case the block will be copied in the standard clipboard
(the standard clipboard is the clipboard defined in @{" Miscellaneous (glb) " link M7.9}.
The latter case, on the contrary, allows you to specify wished clipboard
number (0-255).

@endnode

@node CMD_CR "Internal command: CR"

    CR is the command ProgED executes each time user presses return key.
An optional argument TIMES allows you to specify how many times ProgED
must press return (default 1).

    a) CR [SMART]
    b) CR TIMES <number> [SMART]

The optional parameter SMART allows you to insert a CR without indentation
rules. When you use a CR SMART ProgED will position cursor just below
first character of the previous line.

@endnode

@node CMD_CUT "Internal command: CUT"

    CUT allows you to cut the actually marked text block to a clipboard
(standard Amiga). You can use this command in two ways:

    a) CUT
    b) CUT CLIP <number>

    In former case text block will be deleted from text and copied in
standard clipboard (standard clipboard is the clipboard defined in
@{" Miscellaneous (glb) " link M7.9}. In latter case, on the contrary, ProgED allows
you to specify clipboard number (0-255).

@endnode

@node CMD_DEL "Internal command: DEL"

    DEL is executed each time you press del key. It deletes a char
or a word (according to user defined separators). The optional TIMES
argument allows you to specify how many times ProgED must press del
key. Last usage way allows you to delete right side of line just
at right of cursor.

    a) DEL
    b) DEL TIMES <number>
    c) DEL WORD TIMES <number>
    d) DEL EOL

@endnode

@node CMD_DELFILE "Internal command: DELFILE"

    DELFILE command allows you, without quitting ProgED, to delete
a file. Two ways are possible:

    a) DELFILE NAME <name>
    b) DELFILE ASK

    In former case ProgED will delete named file, in latter it
will ask user (using a file-requester) for wished file name to delete.

@endnode

@node CMD_DICTIONARYPREFS "Internal command: DICTIONARYPREFS"

   DICTIONARYPREFS allows you to open preference window regarding
the dictionary (see @{" Dictionary " link M7.17}). It can be given in a single
way:

    a) DICTIONARYPREFS ASK

@endnode

@node CMD_DOWN "Internal command: DOWN"

    DOWN moves cursor down. It allows you five ways:

    a) DOWN MAX
    b) DOWN STEP 
    c) DOWN PAGE
    d) DOWN
    e) DOWN TIMES <number>

    In (a) case the cursor will be moved to bottom of text (last line).
In (b) case the cursor will be moved down some lines. Scroll step is
the 'Alt step' from preference window @{" Miscellaneous (glb) " link M7.9}.
In (c) case cursor jumps to bottom of page or to bottom of next page.
In (d) case ProgED will move cursor simply down one line. At last,
in (e) case, the command allows you to specify how many lines do you want
to move cursor down.

@endnode

@node CMD_DRAWINFOPREFS "Internal command: DRAWINFOPREFS"

    You can use this command only in a single way:

    a) DRAWINFOPREFS ASK

    This command opens a preference window that allows you to choose
pens used to render ProgED screen. See @{" Drawinfo " link M7.0.3}.

@endnode

@node CMD_ENLARGE "Internal command: ENLARGE"

    ENLARGE command enlarges the active window such that it will
fit all screen area.

    a) ENLARGE

@endnode

@node CMD_FILETYPEPREFS "Internal command: FILETYPEPREFS"

    You can use this command only in a single way:

    a) FILETYPEPREFS ASK

    This command opens a preference window that allows you to modify
all filetypes recognized from ProgED.

@endnode

@node CMD_FILETYPE "Internal command: FILETYPE"

    You can use this command in the following ways:

    a) FILETYPE ASK
    b) FILETYPE FORCE <label>

    Former way opens a window to let user choose favourite filetype.
Latter way simply force filetype which user defined label is <label>.
Both ways change filetype related to the active window.

@endnode

@node CMD_FOLD "Internal command: FOLD"

    FOLD allows you to activate the fold function. You can use this
command in three ways:

    a) FOLD
    b) FOLD ALL
    c) FOLD TOGGLE

    In (a) case the block (returned from external fold function) will be
folded, if any. If cursor was on a fold nothing happen. In (b) case ProgED
will close all block found in text. In (c) case, finally, if cursor is
on a fold this will be open, otherwise the command behaviour is equal
to first case.

@endnode

@node CMD_FOLDPREFS "Internal command: FOLDPREFS"

    This command can be given in a single way:

    a) FOLDPREFS ASK

    It allows you to open the preference window regarding external
fold function. See @{" Fold function " link M7.18}.

@endnode

@node CMD_FONTSPREFS "Internal command: FONTSPREFS"

    FONTSPREFS can be gives in a single way:

    a) FONTSPREFS ASK

    This command opens a preference window regarding the ProgED screen
fonts. See @{" Font " link M7.0.2}.

@endnode

@node CMD_FREEZE "Internal command: FREEZE"

     FREEZE command closes a window without free its text. The
internal commands @{" SWAP " link CMD_SWAP} and @{" UNFREEZE " link CMD_UNFREEZE} allows you to
reopen the window. You can use it in two ways:

    a) FREEZE FILE <name>
    b) FREEZE CURRENT

    In former case you have to specify the (complete) file name of
wished window to close. In latter case, on the contrary, you'll
close the actually active window.

@endnode

@node CMD_GOTO "Internal command: GOTO"

    GOTO allows you to jump to wished text marker. Using the command
@{" STORE " link CMD_STORE} you can mark up to 10 text position plus
several "static" markers. Each position is identified using a number
from 1 to 10. Using GOTO (first way,see below),specifing the relative
number, you can jump to one of this markers. Regard "static" markers
you must use second way which opens a window to let user choose
wished marker to jump to.

    a) GOTO POSITION <number>
    b) GOTO STORED

(where <number> is an integer from 1 to 10).

@endnode

@node CMD_GUI "Internal command: GUI"

    You can use the GUI command in two ways:

    a) GUI LOCK
    b) GUI UNLOCK

    GUI should be used ONLY in an ARexx program (or it haven't effect).
The former case stops mouse,keyboard and menu input of active window.
The latter case enables it. This allows you to avoid user to modify
macro bahaviour.

@endnode

@node CMD_HUNTER "Internal command: HUNTER"

    HUNTER allows you to search for (and load) wished file using its file
name and searching for it in a special paths list (see @{" File hunter " link M7.6}).
Three possible ways are:

    a) HUNTER ASK
    b) HUNTER STRING <name>
    c) HUNTER EXTRACT

    In (a) case ProgED will open a window to ask you filename.
In (b) case the given string (name) will be used directly as filename.
In last case, finally, ProgED "extract" filename from text reading
chars under cursor (ProgED manages <,>,",' chars).

@endnode

@node CMD_HUNTERPREFS "Internal command: HUNTERPREFS"

     HUNTERPREFS command opens a preference window regarding file
hunter. See @{" File hunter " link M7.6}. Unique admissible way is:

    a) HUNTERPREFS ASK

@endnode

@node CMD_ICONIFY "Internal command: ICONIFY"

     ICONIFY command iconifys ProgED, closes its screen, and shows,
if user asked for them, an AppIcon and an AppItem on WB screen.
Using these icon and item (or the special hotkey) user can reopen
ProgED screen. This effect can be obtained using an ARexx macro
and the command: @{" UNICONIFY " link CMD_UNICONIFY}.

@endnode

@node CMD_INDENTBLOCK "Internal command: INDENTBLOCK"

     INDENTBLOCK allows you to "move" actually marked block text
one char left or right. A special window allows you to do it
using some gadgets. Admissible ways are:

    a) INDENTBLOCK LEFT
    b) INDENTBLOCK RIGHT
    c) INDENTBLOCK LEFTTAB
    d) INDENTBLOCK RIGHTTAB
    e) INDENTBLOCK ASK

    In (a) case block will be moved one char left. In (b) case it
will be moved one char right. (c) & (d) cases allows you to move the
block left or right of a tab size. At last, in (e) case, ProgED opens
the special dialog window.

@endnode

@node CMD_INDENTPREFS "Internal command: INDENTPREFS"

     INDENTPREFS command opens preference window regarding indentation.
See @{" Indentation " link M7.15}. Unique admissible way to use it
is:

    a) INDENTPREFS ASK

@endnode

@node CMD_INS "Internal command: INS"

     INS command allows you to toggle between insert and overwrite
modes. Three ways are admissible:

    a) INS ON
    b) INS OFF
    c) INS TOGGLE

    In (a) case you'll activate insert mode. In (b) case you'll
activate overwrite mode. In last case you will toggle between insert
and overwrite modes.

@endnode

@node CMD_INSERT "Internal command: INSERT"

    This command allows you to insert some objects in text. Here
you can see five admissible ways:

    a) INSERT FILE <name>
    b) INSERT PATH
    c) INSERT DATE
    d) INSERT TIME
    e) INSERT ASK

    In (a) case ProgED will insert, at cursor position, file
which name is <name>. In (b) case ProgED will show user a file
requester to choose a path. Path itself will be inserted in
text at cursor position. The (c) case allows you to insert
actual date. The (d) case, of course, allows you to insert
actual time. At last, the (e) case allows you to insert a file
at cursor position. You'll asked for wished file using a file
requester.

@endnode

@node CMD_JUMPTOBYTE "Internal command: JUMPTOBYTE"

     JUMPTOBYTE allows you to jump to any text byte. You can use
this command in two different ways:

    a) JUMPTOBYTE NUM <number> [HIGHLIGHT]
    b) JUMPTOBYTE ASK [HIGHLIGHT]

    In former case ProgED will jump to text byte which number
is <number>. In latter case ProgED will ask you for wished byte
number. Anyway you can always specify the HIGHLIGHT flag. If
you use it ProgED will highlight searched position.

@endnode

@node CMD_JUMPTOLINE "Internal command: JUMPTOLINE"

     JUMPTOLINE command allows you to jump to any line in text.
Admissible ways are:

    a) JUMPTOLINE NUM <number> [HIGHLIGHT]
    b) JUMPTOLINE ASK [HIGHLIGHT]

    In (a) case ProgED will jump to text line which number is <number>.
In (b) case ProgED will open a window to ask you wished line number.
Anyway you can always specify the HIGHLIGHT flag. if you use it ProgED
will highlight searched position.

@endnode

@node CMD_KEYBOARDPREFS "Internal command: KEYBOARDPREFS"

    This command opens a preference window regaring keyboard preferences.
See @{" keyboard " link M7.2}. You can use this command in this way:

    a) KEYBOARDPREFS ASK

@endnode

@node CMD_KWCOLORSPREFS "Internal command: KWCOLORSPREFS"

     KWCOLORSPREFS opens a preference window regarding language keyword
and relative colors used to render them. See @{" Keyword colors " link M7.13}. You can
use a single way:

    a) KWCOLORSPREFS ASK

@endnode

@node CMD_LAYOUT "Internal command: LAYOUT"

     LAYOUT command allows you to toggle between layout (the cursor is
free to move around) and normal (the cursor must be moved on text) modes.
Three ways are admissible:

    a) LAYOUT ON
    b) LAYOUT OFF
    c) LAYOUT TOGGLE

    In (a) case you'll activate layout mode. In (b) case you'll
activate normal mode. In last case you will toggle between layout
and normal modes.

@endnode

@node CMD_LAYOUTBLOCK "Internal command: LAYOUTBLOCK"

    This command allows you to layout actually marked text block.
ProgED can do it in seven different ways:

    a) LAYOUTBLOCK LEFT
    b) LAYOUTBLOCK RIGHT
    c) LAYOUTBLOCK CENTER
    d) LAYOUTBLOCK FULL
    e) LAYOUTBLOCK LEFT MOVE
    f) LAYOUTBLOCK RIGHT MOVE
    g) LAYOUTBLOCK CENTER MOVE

    In (a) case text block will be reorganized to fit all columns
between left and right margins (specified in @{" Miscellaneous (ft) " link M7.22}).
Each line will start at left margin.

    In (b) case text block will be reorganized to fit all columns
between left and right margins (specified in @{" Miscellaneous (ft) " link M7.22}).
Each line will be right-justified.

    In (c) case text block will be reorganized to fit all columns
between left and right margins (specified in @{" Miscellaneous (ft) " link M7.22}).
Each line will be centered between margins.

    In (d) case text block will be reorganized to fit all columns
between left and right margins (specified in @{" Miscellaneous (ft) " link M7.22}).
Each line will be filled using spaces to fit all area.

    In (e) case all lines belonging to text block will be moved to
left margin.

    In (f) case all lines belonging to text block will be moved to
right margin.

    In (e) case all lines belonging to text block will be centered
between left and right margins.

@endnode

@node CMD_LEFT "Internal command: LEFT"

     LEFT command is equal to the @{" DOWN " link CMD_DOWN} command. It has
two differences: LEFT doesn't supply PAGE argument and LEFT supplys a
WORD argument to jump left a word.

@endnode

@node CMD_LINE "Internal command: LINE"

     LINE command allows you some operation on cursor line:

    a) LINE CUT
    b) LINE PASTE
    c) LINE SWAP
    d) LINE DOUBLE

    In case (a) cursor line will be deleted from text and it
will be copied in a special internal clipboard. In (b) case
you can insert a previously cutted line into the text. In (c)
case cursor line and next line will be swapped. At last, in
(d) case, cursor line will be doubled.

    The clipboard this command uses can be window local or global
according to the special flag in the window @{" Miscellanee (ft) " link M7.22}.

@endnode

@node CMD_LOAD "Internal command: LOAD"

     LOAD command is similar to @{" OPEN " link CMD_OPEN} but it loads
a text into a previously opened window.

@endnode

@node CMD_MACRO "Internal command: MACRO"

     MACRO command manages on-line ARexx macro recording.
You can use it in following ways:

    a) MACRO RECSTART
    b) MACRO RECSTOP
    c) MACRO RECCONT
    d) MACRO PLAY [TIMES <number>]
    e) MACRO SAVE
    f) MACRO ASKTIMES

    In (a) case ProgED will start macro recording. All executed
internal commands will be stored automatically. In (b) case you'll
stop recording. Using (c) case you can continue recording starting
from last recorded macro end. In (d) case you can play macro.
Optional TIMES argument allows you to specify how many times ProgED
will play macro. In (e) case ProgED will pop up a file requester
to save stored macro. In last case ProgED will ask you how many
times it must play macro.

@endnode

@node CMD_MAKEDIR "Internal command: MAKEDIR"

     MAKEDIR command, without quitting ProgED, allows you to
create a drawer. You can use this ways:

    a) MAKEDIR DIR <name>
    b) MAKEDIR ASK

    In former case ProgED will create a drawer using <name>
string. In latter case ProgED will ask you for name using a file
requester.

@endnode

@node CMD_MARK "Internal command: MARK"

    MARK allows you to mark start of a text block. You can use
this command modes:

    a) MARK
    b) MARK COLUMNAR
    c) MARK ALL
    d) MARK LINE
    e) MARK WORD

    In (a) case ProgED will mark start of block at cursor position.
In (b) case ProgED will mark start of a columnar block at cursor
position. In (c) case you'll mark all text in window. At last,
in (d) case, you'll mark start of a "line" text block. A line text
block is a block starting at first column of first line and ending
at last column of last line. This marking is required to do some
special operations. In (e) case ProgED marks the word below cursor.
Of course ProgED uses user defined separators to identify the word
itself.

@endnode

@node CMD_MENU "Internal command: MENU"

    This command activates the specified menu such if you select it
using mouse. This is command syntax:

    a) MENU MENU <menu number> ITEM <item number> SUB <sub number>

@endnode

@node CMD_MENUPREFS "Internal command: MENUPREFS"

    This command opens preference window regarding menu. See
@{" Menu " link M7.1}. Unique admissible way is:

    a) MENUPREFS ASK

@endnode

@node CMD_MISC1PREFS "Internal command: MISC1PREFS"

    This command opens preference window regarding miscellaneous
global preferences. See @{" Miscellaneous (glb) " link M7.9}. You can use this
command in a single way:

    a) MISC1PREFS ASK

@endnode

@node CMD_MISC2PREFS "Internal command: MISC2PREFS"

    This command opens preference window regarding miscellaneous
filetypes preferences. See @{" Miscellaneous (ft) " link M7.22}. You can use this
command in a single way:

    a) MISC2PREFS ASK

@endnode

@node CMD_MOUSE "Internal command: MOUSE"

    It manages the cursor. Four ways are admissible:

    a) MOUSE SET
    b) MOUSE MARK
    c) MOUSE MARKCOL
    d) MOUSE MARKLINE

    In (a) case ProgED will move cursor to mouse pointer position.
In (b) case ProgED will start a block marking. (c) case starts a
columnar marking and (d) starts a line block marking.

@endnode

@node CMD_MOUSEPREFS "Internal command: MOUSEPREFS"

     MOUSEPREFS command opens a preference window regarding
mouse management (new for 2.0). Unique admissible way is:

    a) MOUSEPREFS ASK

@endnode

@node CMD_MOVECURSOR "Internal command: MOVECURSOR"

    It moves cursor to another position. Three ways are admissible:

    a) MOVECURSOR LINE <number> [TOP]
    b) MOVECURSOR COL <number> [TOP]
    c) MOVECURSOR LINE <number> COL <number> [TOP]

    In (a) case ProgED will jump to given line (via <number>). In
(b) case ProgED will jump to given column (via <number>). In (c)
case ProgED will jump to wished position (gived via line and column
numbers). In all cases the optional parameter TOP allows you to
position the cursor just near the top of the window (if possible).

@endnode

@node CMD_NEW "Internal command: NEW"

    It opens a new empty window.

    a) NEW

@endnode

@node CMD_NEWCURDIR "Internal command: NEWCURDIR"

    NEWCURDIR allows you to modify ProgED current directory.
Two ways are admissible:

    a) NEWCURDIR DIR <name>
    b) NEWCURDIR ASK

    In former case ProgED will create a new drawer using given name.
In latter case ProgED will ask you drawer's name using a file
requester.

@endnode

@node CMD_NEWNAME "Internal command: NEWNAME"

    NEWNAME allows you to modify active window filename. It's
possible to use in following two ways:

    a) NEWNAME FORCE <name>
    b) NEWNAME ASK

    In former case ProgED will set as new name the <name> string.
In latter case ProgED will ask you for new name using a file-requester.

@endnode

@node CMD_OPEN "Internal command: OPEN"

    It opens a new window to load a text. You can use this command
using these four ways:

    a) OPEN ASK [PICK]
    b) OPEN ASK PATH <name>
    c) OPEN FILE <name> [FORCECHANGE]
    d) OPEN PRJFILE <name> [FORCECHANGE]

    In (a) case ProgED will ask you for filename to open (using a
file requester). PICK option force ProgED to initialize the file
requester coping file path & name from the window now active.
In (b) case you can specify path gadget contents. In (c) case ProgED
loads file given (via <name>). In (d) case ProgED will search for
wished file (ProgED will search it WITHOUT path, checking only for
file name!) among the opened windows. If it founds it ProgED will
activate its window. Otherwise ProgED will start research among
project files. If, in (c) and (d) case, you use the FORCECHANGE
parameter and you are loading an already loaded file, ProgED will
no ask you if you want to reload same file.

    NOTE: The (d) case was been created to allow SCMSG utility,
          supplied with SAS compiler, to search for wished files.
          For an example you can see file 'SASC_Support/SCMSG.options'
          containing options used for SCMSG utility.

@endnode

@node CMD_PASTE "Internal command: PASTE"

     PASTE command inserts your clipboard contents in text at
cursor position. Two ways are admissible:

    a) PASTE
    b) PASTE CLIP <number>

    In former case ProgED will insert text block from standard
clipboard (see @{" Miscellaneous (glb) " link M7.9}. In latter case ProgED will
use given clipboard number.

@endnode

@node CMD_PREFS "Internal command: PREFS"

     PREFS command manages prefs loading and saving. You can
use it in the following ways:

    a) PREFS LOAD <name>
    b) PREFS SAVE <name>
    c) PREFS DEFLOAD
    d) PREFS DEFSAVE
    e) PREFS USE
    f) PREFS ASKLOAD
    g) PREFS ASKSAVE

    In (a) case ProgED will load wished preferences using file name
<name>. In (b) case ProgED will save actual preferences using file
name <name>. In (c) case ProgED will load default preferences from
'ENV:PED/PED.prefs' file. In (d) case ProgED will save actual
preferences as default preferences in files 'ENV:PED/PED.prefs'
and 'ENVARC:PED/PED.prefs'. In (e) case ProgED will save actual
preferences as default preferences in file 'ENV:PED/PED.prefs'.
In (f) case ProgED will ask you for wished preferences using a
file-requester. In (g) case progED will save preferences asking
you for file name using a file-requester.

@endnode

@node CMD_PRJREFERENZEFIND "Internal command: PRJREFERENCEFIND"

     PRJREFERENCEFIND command allows you to search for dynamic
symbols in actual project:

    a) PRJREFERENCEFIND STRING <reference> [CASE]
    b) PRJREFERENCEFIND EXTRACT [CASE]
    c) PRJREFERENCEFIND ASK [CASE]

    In (a) case ProgED will search for given reference in string
<reference>. In (b) case ProgED will extract string from
text under cursor. In (c) case ProgED will ask you for wished
string using a special window. At last optional CASE parameter
allows you to activate case-sensitive research (default no
case-sensitive).

@endnode

@node CMD_PROJECT "Internal command: PROJECT"

     PROJECT command allows you to manage actual ProgED project.
Five ways are admissible:

    a) PROJECT ASK
    b) PROJECT ASKLOAD
    c) PROJECT ASKSAVE
    d) PROJECT LOAD <name>
    e) PROJECT SAVE <name>

    In (a) case ProgED will show you a special window. This special
window allows you to modify actual project, to load new project,
to save project, etc. In (b) case ProgED will load a project
asking user for filename using a file-requester. In (c) case
ProgED will save actual project asking user for filename using
a file-requester. In (d) case ProgED will load given project
using <name> file name. In (e) case ProgED will save actual project
using <name> file name.

@endnode

@node CMD_PROJECTSEARCH "Internal command: PROJECTSEARCH"

    PROJECTSEARCH allows you to search for a given pattern in
project's files. It searchs occorrences as @{" SEARCH " link CMD_SEARCH} command
does.

    a) PROJECTSEARCH ASK
    b) PROJECTSEARCH FOR <string> [CASE]

    In latter case ProgED will ask user for wished string. In former
case ProgED will search for <string>. Optional CASE parameter forces
case-sensitive research.

@endnode

@node CMD_QUIT "Internal command: QUIT"

     QUIT command can be used this way:

    a) QUIT

     QUIT execution forces ProgED quitting (:-O) !

@endnode

@node CMD_REDO "Internal command: REDO"

     REDO command is symmetric of @{" UNDO " link CMD_UNDO} command. You can
use it so:

    a) REDO
    b) REDO TIMES <number>

    In former case ProgED will redo a single operation. In latter
case ProgED will redo <number> operations (default 1).

@endnode

@node CMD_REFERENCEFIND "Internal command: REFERENCEFIND"

     REFERENCEFIND command allows you to search, in active
window for static symbols in actual references map. Three ways
are admissible:

    a) REFERENCEFIND ASK
    b) REFERENCEFIND STRING <string> [CASE]
    c) REFERENCEFIND EXTRACT [CASE]

    In (a) case ProgED will open a search window. In this window you'll
can specify wished search pattern. In (b) case, on the contrary, ProgED
will search for <string> string. In (c) case ProgED will extract
searched string from text under cursor. Optional CASE parameter
forces a case-sensitive research.

@endnode

@node CMD_REFERENCEPREFS "Internal command: REFERENCEPREFS"

     REFERENCEPREFS command opens a preference window regarding
static references map. Before to use this command is necessary to
mount at least a scanner using the @{" SCANNERPREFS " link CMD_SCANNERPREFS} command.
Unique admissible way is:

    a) REFERENCEPREFS ASK

@endnode

@node CMD_RENAME "Internal command: RENAME"

     RENAME command allows you to rename a file without quitting
ProgED. Two ways are possible:

    a) RENAME ASK
    b) RENAME FILE <file1> AS <file2>

    In (a) case ProgED will open a file-requester to ask you for old
file, and a window to ask you for new file name. In (b) case ProgED
will rename <file1> as <file2>.

@endnode

@node CMD_REPLACE "Internal command: REPLACE"

     REPLACE command allows you to replace all occorrences of an
AmigaDOS pattern for a string. For an extended overview see
@{" Search for... " link M2.12}. Three ways are admissible:

    a) REPLACE STRING <pattern> BY <string> [CASE] [REVERSE] [WILDCARDS]
    b) REPLACE NEXT [CASE] [REVERSE] [WILDCARDS]
    c) REPLACE ASK

    In (a) case ProgED will search for first pattern occorrence and
it will replace it for <string>. CASE and REVERSE (optional parameters)
specify if you want a case-sensitive research and/or a reverse
research. In (b) case, which is useful after use of an (a) command,
ProgED will search for next pattern occorrence. In (c) case ProgED
will open a standard research window. In (a) and (b) cases WILDCARDS
argument allows you to force a search using AmigaDOS wildcards. If
you odmit this argument you'll get a simple search.

@endnode

@node CMD_REVERT "Internal command: REVERT"

     REVERT command reload from disk text contained in active window.
You can use it so:

    a) REVERT [FORCE]

     Optional FORCE parameter allows you to force operation if
file was changed. If file was changed, in fact, ProgED will ask you
to confirm operation. FORCE disables this request.

@endnode

@node CMD_REQUEST "Internal command: REQUEST"

     REQUEST command is, generally, used only in ARexx scripts. It
supplys a standard requester. Unique admissible way is:

    a) REQUEST TITLE <title> BODY <body> FORMAT <format>

    <title> is requester title, <body> requester body and
<format> format gadget string. You can create gadgets using
a '|' char in <format> string (see intuition EasyRequest).
This command returns EasyRequest return code.

@endnode

@node CMD_RIGHT "Internal command: RIGHT"

     RIGHT command moves cursor to right. Its use is equal to use of
@{" DOWN " link CMD_DOWN} command. It has two differences: RIGHT doesn't
supply PAGE argument and WORD argument can be used to jump right a word.

@endnode

@node CMD_SAVE "Internal command: SAVE"

     SAVE command saves actually active window text to disk. You
can use it so:

    a) SAVE ALLCHANGES [XPK]
    b) SAVE [XPK}

    In former case ProgED will save all changed files. In latter
case ProgED will save active window text. Anyway the optional
XPK parameter allows you to save xpk-packed files, according
to actual preferences.

@endnode

@node CMD_SAVEAS "Internal command: SAVEAS"

     SAVEAS command allows you to save text from active windows
to disk, using a new file name. Two ways are possible:

    a) SAVEAS FILE <name> [XPK]
    b) SAVEAS ASK [XPK}

    In former case ProgED will save actual window text using given
filename <name>. In latter case ProgED will save actual window text
asking user for file name using a file-requester. Anyway optional
XPK parameter allows you to save xpk-packed files, according to
actual preferences.

@endnode

@node CMD_SAVEBLOCKAS "Internal command: SAVEBLOCKAS"

     SAVEBLOCKAS command saves actually marked text block to disk.
You can use this command in following ways:

    a) SAVEBLOCKAS FILE <name>
    b) SAVEBLOCKAS ASK

    In former case ProgED will save text block using given filename
<name>. In latter case ProgED will ask you for file name using a
file requester.

@endnode

@node CMD_SAVEDFILEPREFS "Internal command: SAVEDFILEPREFS"

     SAVEDFILEPREFS command allows you to open a preference
window regarding file protection bits, file comments, etc.
See also @{" Saved files " link M7.20}. You can use this command in a
single way:

    a) SAVEDFILEPREFS ASK

@endnode

@node CMD_SCAN "Internal command: SCAN"

     SCAN command allows you to jump, using any of mounted scanners,
to a symbol definition. For a wide overview see @{" Scan " link M4.7}. You can
use this command in a single way:

    a) SCAN ASK

@endnode

@node CMD_SCANPREFS "Internal command: SCANPREFS"

     SCANPREFS command allows you to open a preference window
regarding mounted scanners, used during a research started with a
@{" SCAN " link CMD_SCAN} command. You can use this command in following way:

    a) SCANPREFS ASK

@endnode

@node CMD_SCREENCOLORSPREFS "Internal command: SCREENCOLORSPREFS"

     SCREENCOLORSPREFS command allows you to open a preference
window regarding screen colors. You can use this command in
following way:

    a) SCREENCOLORSPREFS ASK

@endnode

@node CMD_SCREENMODEPREFS "Internal command: SCREENMODEPREFS"

     SCREENMODEPREFS command allows you to open a preference
window regarding screen mode. You can use this command in
following way:

    a) SCREENMODEPREFS ASK

@endnode

@node CMD_SEARCH "Internal command: SEARCH"

     SEARCH command allows you to search for any occorrence of an
AmigaDOS pattern in text. For a wide overview see @{" Search for... " link M2.12}.
You can use this command in following ways:

    a) SEARCH FOR <pattern> [CASE] [REVERSE] [WILDCARDS]
    b) SEARCH ASK
    c) SEARCH NEXT [CASE] [NOCASE] [REVERSE] [FORWARD] [WILDCARDS]

    In case (a) ProgED will search for given pattern. Optional
CASE and REVERSE parameters select case-sensitive research and
reverse-research. In (b) case ProgED will open a search window.
In (c) case, useful if you gived an (a) or (b) command, you can
search for next pattern occorrence. CASE force a case-sensitive
search. NOCASE force a no case-sensitive search. If you omit both
of them then you use search specified into (last opened) search
window. The couple FORWARD/REVERSE works similarly. Last, the
WILDCARDS arguments allows to force a search using AmigaDOS
wildcards. If you odmit this argument you'll get a simple
search.

@endnode

@node CMD_SPLIT "Internal command: SPLIT"

     SPLIT command allows you to split active window. Later, you'll
have two equal window. So you'll can edit text in both windows.
SPLIT command haven't arguments:

     a) SPLIT

@endnode

@node CMD_STARTUPMACROPREFS "Internal command: STARTUPMACROPREFS"

    STARTUPMACROPREFS command allows you to specify some ARexx macro.
ProgED will use these macros at start, iconify and uniconify time.
You can use only a single way:

    a) STARTUPMACROPREFS ASK

@endnode

@node CMD_STORE "Internal command: STORE"

    STORE command allows you to store in any of 10 markers cursor
position. Using @{" GOTO " link CMD_GOTO} command, later, you'll can jump to stored
position. Second admissible way allows you to store current cursor
position into a "static" marker.

    a) STORE POSITION <number>
    b) STORE CURRENT

<number> is an integer from 1 to 10.

@endnode

@node CMD_SWAP "Internal command: SWAP"

    SWAP allows you to close active window (without freeing its
text) and reopen a window closed using @{" FREEZE " link CMD_FREEZE} command. This
allows you to open, on screen, a single window a time.

    a) SWAP ASK
    b) SWAP ASK CLOSE <file>
    c) SWAP CLOSE <file1> OPEN <file2>

    In (a) case ProgED will close active window and it will open a
special window to ask user which window have to be opened. In (b)
case ProgED will close window containing <file> and it will open the
special window to ask you wished window. In (c) case ProgED will close
<file1> window and it will open <file2> window.

@endnode

@node CMD_TEMPLATEPREFS "Internal command: TEMPLATEPREFS"

    TEMPLATEPREFS opens a preference window regarging templates.
For a wide overview on templates see also @{" Template " link M7.16}. Unique
admissible way is:

    a) TEMPLATEPREFS ASK

@endnode

@node CMD_TOOLBARPREFS "Internal command: TOOLBARPREFS"

    TOOLBARPREFS allows you to open a prefs window to change preferences
about windows toolbar. Using this window you can insert and/or modify
function of each tool button. You can use only a single way:

    a) TOOLBARPREFS ASK

@endnode

@node CMD_TYPE "Internal command: TYPE"

    TYPE allows you to type any text in active window at cursor
position. You can use TYPE in following ways:

    a) TYPE ASCII <number>
    b) TYPE TEXT <text> [STAY]

    In former case ProgED will insert char whose ASCII code was given
using <number>. In latter case ProgED will simply insert <text> at
cursor position. If you specify STAY parameter cursor will not move.

@endnode

@node CMD_UNDO "Internal command: UNDO"

    UNDO command allows you to repair if your typing was wrong. At each
UNDO invocation ProgED repairs to a user change. You can use this command
in following ways:

    a) UNDO
    b) UNDO TIMES <number>

    In latter case you can specify how many undo operations ProgED must
do.

@endnode

@node CMD_UNFOLD "Internal command: UNFOLD"

    UNFOLD allows you to open a text block folded using the @{" FOLD " link CMD_FOLD}
command. Two ways are possible:

    a) UNFOLD
    b) UNFOLD ALL

    In (a) case ProgED will unfold text block under cursor (if any).
In (b) case ProgED will unfold all folded text blocks in text.

@endnode

@node CMD_UNFREEZE "Internal command: UNFREEZE"

    UNFREEZE command allows you to open any frozen window closed using
@{" FREEZE " link CMD_FREEZE} or @{" SWAP " link CMD_SWAP} commands. You can use two ways:

    a) UNFREEZE FILE <name>
    b) UNFREEZE ASK

    In former case ProgED will unfreeze window containing file named
<name>. In latter case ProgED will open a special window to ask user
wished window.

@endnode

@node CMD_UNICONIFY "Internal command: UNICONIFY"

    UNICONIFY reopens ProgED screen after an @{" ICONIFY " link CMD_ICONIFY} command.
This command is useful only in ARexx macro (naturally..). It haven't
arguments:

    a) UNICONIFY

@endnode

@node CMD_UP "Internal command: UP"

    UP command is equal to DOWN command, so see @{" DOWN " link CMD_DOWN}.

    a) UP MAX
    b) UP STEP 
    c) UP PAGE
    d) UP
    e) UP TIMES <number>

@endnode

@node CMD_WINDOW "Internal command: WINDOW"

    WINDOW command allows you to activate, in a cycle, all window on
ProgED screen. This command, thus, allows you to use only keyboard,
without jumping to mouse. It have two ways:

    a) WINDOW NEXT
    b) WINDOW PREV

    In former case ProgED will activate next window, while in former
ProgED will active previous window.

@endnode

@node CMD_WSELECT "Internal command: WSELECT"

    WSELECT command allows you to select a window during an ARexx
macro. You can use it so:

    a) WSELECT ACTIVE
    b) WSELECT NEXT
    c) WSELECT FILE <name>

    In (a) case ProgED will say ProgED that we wish send our ARexx
command to active window. In (b) case ProgED will select next
window. In (c) case ProgED will activate window whose file is
<name>.

    NOTE: If you want to write an ARexx macro you MUST insert a
WSELECT command above all commands (generally WSELECT ACTIVE).
Otherwise ProgED can loose your commands!

    WSELECT use is useless during menu or keyboard programmation.
In these cases ProgED executes (automatically) a WSELECT ACTIVE
command.

@endnode

@node CMD_ZIP "Internal command: ZIP"

    ZIP command zips your window as Intuition gadget does. It haven't
arguments:

    a) ZIP

@endnode

@node PROGPANEL "Edit program..."

    ProgED opens the "Edit program" window each time user wants modify
a menu or a keyboard hotkey. Using this window you can specify an
instruction list executed in list order. Instruction types can be
anyone of:

    1) dummy (-----)
    2) internal
    3) Shell
    4) Arexx
    5) Text

    See all of them:

    1) ProgED ignores completely "dummy" instruction. They are useful if
       you want to comment out some block.

    2) Internal instructions are, simply, @{" Internal commands " link INTCOMMANDS}.

    3) Shell instructions allows you to execute normal AmigaDOS programs.
       For each command you can specify current directory, output file
       (default "con:") and sync/async execution. It's important to say
       that, generally, you have to use async execution. This happens
       because if your program run sync and it sends an ARexx msg to
       ProgED you'll hang-up your Amiga! This happens because if ProgED
       are executing your program it can't wait for messages...

    4) ARexx instructions allows you to execute any ARexx script. This
       script types are ALWAYS async to avoid problems as for shell
       instructions. You can specify current directory and output
       file, too.

    5) Text instrution simply inserts given string in active window.

    At last, in Arexx macro string, Shell command string or internal
command string you can use following modifiers:

1)     \n

it will be replaced with COMPLETE file name contained in active
window.

2)     \f

it will be replaced with file name (with no path) contained in
active window.

3)     \s

it will be replaced with public screen name on which ProgED
was opened.

4)     \xxx

it will be replaced with ASCII char which code is 'xxx'.

5)     \\

it will be replace with a single \ char.

     Starting from 2.0 release ProgED allows you to force the "Shanghai"
mode which is a special mode used to force the ProgED public screen to
became (for one or two seconds) the default public screen. This special
mode allows you to force Intuition to open windows on ProgED public
screen. Simply activate Shanghai mode and set how many seconds the
ProgED screen must remain the default public screen. That's all.

     Starting from 2.2 release ProgED has an internal clipboard for
his programs. In this window you'll see "copy" and "paste" buttons.
Using them you can copy a full program from a menu (for example) and
paste it into a key.

@endnode
