@DATABASE GED.HYPER

@node MAIN


          @{"  Feature list          " link FEATURE_LIST}   @{"  Command list           " link COMMAND_LIST}
          @{"  Licence               " link LICENCE}   @{"  General hints          " link GENERAL_HINTS}
          @{"  Introduction          " link INTRODUCTION}   @{"  Credits                " link CREDITS}
          @{"  Required system       " link REQUIRED_SYSTEM}   @{"  How to register        " link HOW_TO_REGISTER}
          @{"  Getting started       " link GETTING_STARTED}   @{"  How to get updates     " link HOW_TO_GET_UPDATES}
          @{"  Description of menus  " link DESCRIPTION_OF_MENUS}   @{"  How to contact author  " link HOW_TO_CONTACT_AUTHOR}
          @{"  Keyboard              " link KEYBOARD}
          @{"  ARexx port            " link AREXX_PORT}   @{"           ???           " link APPENDIX}


  Suggested reading is from top to bottom. Novice users should skip
  the  section on GoldED's internal commands respectively its ARexx
  interface.


@endnode
@node FEATURE_LIST "FEATURE LIST"
                             FEATURE LIST 

        o OS3.x look & functions (@{" AppWindows " link M0.6} & more)
        o @{" Folding " link M4.7} of paragraphes (unlimited nesting available)
        o Menus fully customizable (easy-to-use requesters)
        o @{" ARexx port " link AREXX_PORT} (about 250 commands/options)
        o @{" QuickReference " link M3.9} capability (includes, sources, ...)
        o @{" APC " link M3.11} (TM): Automatic phrase completion, based on dictionary
        o @{" shifting " link M1.16} (two speeds)
        o Smooth display, fast scrolling
        o unlimited number of windows
        o @{" Formatter " link LAYOUT_MENU} (aligned, block, centered), @{" WordWrap " link M2.1}
        o automatic indention (left margin)
        o @{" SmartIndention " link M7.6} (code dependend, e.g. after 'if')
        o @{" AutoBackup " link M7.12} (any interval, any backup path)
        o @{" MenuHelp " link GETTING_STARTED} (AmigaGuide)
        o localized (English/German so far)
        o printer control (linefeed/spacing/style)
        o @{" Multiselect " link M0.6} of files (e.g. join files together)
        o direkt @{" XPK support " link M0.18}: (de)crunching
        o ASCII character selection window
        o flexible GUI handling: any @{" display mode " link M7.8}/@{" font " link M7.8}
        o two window modes: normal vs. @{" borderless " link M7.8} windows
        o protection bits support, file comment support
        o @{" clipboard " link M1.5} support (snapping): Cut & paste
        o @{" AutoLoad " link M7.12} of project file
        o @{" FastLoad " link M0.7} mode
        o @{" AutoCase " link M7.4} (TM) correction (based on user's dictionary)
        o automatic @{" parenthesis check " link M7.4} available
        o @{" QuickFunc " link M3.20} jump table display for many prog. languages
        o @{" insertion of columns " link M1.12}, @{" removal of columns " link M1.11}
        o user friendly (about 25 requesters)
        o Distinctive TAB's available; solid/tranparent TAB's
        o @{" character set remap " link M3.16} (e.g. Amiga to MS-DOS)
        o four @{" speeds of scrolling " link CURSOR_KEYS}
        o quick starter ED
        o @{" startup macro " link M7.12}
        o powerful @{" macro recording " link M6.5}
        o and many more ...



@endnode
@node LICENCE "LICENCE"
                                LICENCE 

  This licence agreement affects all programs, manuals and disks of
  the  editor  package  GoldED  (registered  or unregistered) exept
  files  within the 'support' directories. Violations of any of the
  topics  below  will  cause this licence to expire, i.e. terminate
  your  rights  to  use  or  otherwise handle (e.g. distribute) the
  package.

  You  may - apart from backups for private use - neither copy this
  program,  nor  modify  it  nor  transfer  it to other media. This
  doesn't  apply for the demo version. You may duplicate/distribute
  the demo version as long as you don't charge money for it.

  The   copyright   owner(s)   reserve   the   right  to  interdict
  distribution at any time if the distributor fails to obey to this
  licence  from  the copyright owner(s) point of view. Profits made
  by  illegal  distribution  have  to  be  passed  to the copyright
  owner(s).

  You  are not allowed to include the unregistered release into any
  FD  library.  You  are not allowed to include it into any kind of
  software collection apart from BBS file areas (i.e. no CD-ROM) or
  distribute it as part of a bundle (e.g. bookware, disk magazine).

  You may not modify the package: do not change the compilation, do
  not  change  (patch) files. The editor might become inoperational
  if you do so.

  The  copyright  owner(s) provide this program "as is". The entire
  risk  of  using  this program is with you. The copyright owner(s)
  won't  ever  be  reliable  for damages to you - wether they arise
  from  the  use of this package or the inability to use it, wether
  they  are direct or consequential, including, but not limited to,
  the loss of data or the generation of inaccurate data.


@endnode
@node INTRODUCTION "INTRODUCTION"
                             INTRODUCTION 

  The  basic  design  goals  of  this  editor were: make it as user
  friendly  as  possible. And make it as fast as possible. A lot of
  attention  has  been  put to the general look & feel, performance
  considerations  and full support of the great Amiga OS. The whole
  design  is  based  on OS2.1/3.0, a fast CPU, sufficient RAM and a
  hard  disk. I neither cared much about memory consumption nor did
  I  pay  attention  to  OS1.3  compatibility since this would have
  meant to make concessions to speed or general handling.

  GoldED's way of working is basically event based: the editor does
  wait  for  events like a pressed key or a menu selection and then
  calls  a  dispatcher  to perform approbiate action. Action is not
  hard coded: you may assign any of the editor's internal functions
  to  an  event (though most people won't do any assignments at all
  but  use  the  default configuration). For example you may assign
  the  'open  file'  function  to  the  'A'  key  by using GoldED's
  keyboard requester. Or assign the text "hi, I'm the A key" to the
  A  key.  Or assign an ARexx macro script to it. Or a DOS command.
  Or  just  leave  it as it is. No matter what kind of interface to
  GoldED  you  use (the menus, the keyboard or its ARexx port): all
  of  them  do  support  the  same  command  set. It's easy to use,
  straight-forward  and  flexible.  GoldED  doesn't use an internal
  macro  language  like  DME:  Its internal functions are basically
  function  calls,  performing some kind of action. It fully relies
  on  ARexx  as  far as conditional statements like IF ... THEN are
  concerned.

  Please keep in mind that this is the very first (beta) release of
  GoldED.   Some  features  (especially  the  ARexx  port)  require
  additional  work.  I do expect bugs to show up. The settings file
  format as well as the command set of GoldED's ARexx interface may
  change with the first official release.

@endnode
@node REQUIRED_SYSTEM "REQUIRED SYSTEM"
                             REQUIRED SYSTEM 

  Minimum  requirements  are OS2.04, 68000 and 1 MB RAM. GoldED has
  not  been  tested  with  a  68000.  Suggested  system for average
  performance  (I'm serious about that) is OS3.0, 68020 & 2 MB RAM.
  Sounds  like  the  A1200,  doesn't  it  ?  Some  features are not
  available  under  OS2.04.  I strongly recommend to install/rekick
  OS3.x  if  your  Amiga  is capable of it. GoldED is *much* faster
  under OS3.x.

  Software requirements (all these files have been realeased to the
  public already - check Fish disks):

  o @{" reqtools " link CREDITS} library
  o @{" xpk " link CREDITS} library
  o amigaguide library

@endnode
@node GETTING_STARTED "GETTING STARTED"
                               GETTING STARTED 


  Start  the  editor either by doubleclicking its icon or by typing
  its name at shell level. Depending on wether or not AutoLoad (see
  @{" config/misc " link M7.12})  is enabled, it might happen that a file is loaded
  automatically  even  though you have provided no file name. Don't
  get confused - it's a feature, not a bug :-)

  QuickStarter 

  Besides  the  main editor GoldED, a quick starter ED is provided.
  This program is a small (4 KB) GoldED frontend. You can use it AS
  IF  it were a real editor. For example you might type 'ed letter'
  to edit the file letter if the quick starter were named 'ed'. The
  big  advantage of a quick starter is its abilty to pass a new job
  to  an  already  running  instance  of  GoldED (if there is any).
  Needless  to  say  that this happens very fast. The quick starter
  may  be  made resident (the main editor may not). The source code
  of ED is available in the "GoldED:Tools/EDSource" drawer.

  Arguments 

  GoldED  accepts  only  three  kinds  of arguments: a list of file
  names  to load, the name of a public screen to open on (after the
  SCREEN  keyword)  and finally a configuration file to use (CONFIG
  keyword).  The  SCREEN/CONFIG  arguments may be passed as command
  line  options as well as icon tool types (don't use quotes around
  file names within tool type entries). Example:

              GoldED s:startup-sequence CONFIG s:MyPrefs

  The  quickstarter ED additionally supports the STICKY option (see
  below). It will ignore the CONFIG/SCREEN options if it is able to
  pass the list of files to a running instance of GoldED. Example:

              ED mail:answer CONFIG s:BBS.prefs STICKY

  The  quickstarter has been designed to for synchronous operation.
  It  won't detach itself from a shell window unless you RUN it. If
  the  STICKY  option  is not specified, a call to ED returns after
  the last GoldED window has been closed. If STICKY is specified, a
  call  to  ED  returns  after  the  window  opened by ED is closed
  (GoldED  itself  may keep on running if there are further windows
  to  handle).  This  is designed to be used in command files where
  you  want  the  execution  of the batch file or command script to
  wait  until  the  user has finished editing a particular file. ED
  will  return (using the sticky option) when the user quits out of
  the file.

  MenuHelp 

  The  editor's  help  facility  is based on Commodore's AmigaGuide
  library. Simply doubleclick the 'GoldED.guide' icon - its default
  tool  is  AmigaGuide.  You might use 'MultiView' of OS3.0 to read
  the  'GoldED.guide'  file,  too.  GoldED itself does support menu
  help:  press  the  <HELP>  key  during  selection  of a menu item
  (within  GoldED)  to  get  explanations  related  to the item you
  selected.

  Language 

  Locale library of OS2.1 or better is supported as far as GoldED's
  requesters  are concerned: if you have selected German to be your
  default  language  (by  using  the  'locale'  preferences of your
  Workbench),  requesters  as  well  as  time/date  strings will be
  German.  So  far  only  English  and  German are available; other
  languages  might  be  available in the future. Locale settings do
  not  affect menus because menus are not part of the editor itself
  but  external  text files. Use @{" config/menus " link M7.9} to edit/load menus.
  The  default  menu  definition  file  is  available  in  German &
  English.  It  is installed by the Install utility when installing
  the  GoldED  package.  You may load a new menu definition file at
  any time (see @{" config/menus " link M7.9}).

  GUI 

  The  editor's  user  interface  does  support  the look & feel of
  OS2.x.  Most gadgets offer keyboard activation: if a character of
  the  gadget  inscription  appears  underscored, it may be used as
  shortcut.  Thus you may move a slider gadget or activate a button
  gadget  by a single keystroke. Use the shift key simultanously to
  toggle  'direction' of changes - e.g. to move a slider gadget one
  step  to  the  left  instead of to the right. Use the 'Amiga' key
  simultanously  to  activate  another  gadget from within a string
  gadget  (without  R-Amiga  your  input  would  go  to  the string
  gadget).


@endnode
@node DESCRIPTION_OF_MENUS "DESCRIPTION OF MENUS"
                         DESCRIPTION OF MENUS 

  Since   the   editor  does  offer  many  possibilities  for  user
  configuration,  there is no 'standard' appearance, neither as far
  as  colors,  resolution  or fonts nor as far as menus & functions
  are   concerned.   This   manual   does   describe   the  default
  configuration. Use @{" config/load " link M7.16} to load a settings file.

  The standard menus are:

                 @{"  Project menu  " link PROJECT_MENU}  @{"  Control menu  " link CONTROL_MENU}
                 @{"  Block menu    " link BLOCK_MENU}  @{"  Misc menu     " link MISC_MENU}
                 @{"  Layout menu   " link LAYOUT_MENU}  @{"  Macro menu    " link MACRO_MENU}
                 @{"  Find menu     " link FIND_MENU}  @{"  Config menu   " link CONFIG_MENU}


@endnode
@node PROJECT_MENU "PROJECT MENU"
                              PROJECT MENU 
                        menu tree of project menu 


        @{"  project/about          " link M0.0}   @{"  project/append           " link M0.11}
        @{"  project/user           " link M0.1}   @{"  project/new name         " link M0.13}
        @{"  project/clear text     " link M0.3}   @{"  project/current dir      " link M0.14}
        @{"  project/more ed        " link M0.4}   @{"  project/save             " link M0.16}
        @{"  project/load           " link M0.6}   @{"  project/save as          " link M0.17}
        @{"  project/load fast      " link M0.7}   @{"  project/save as XPK      " link M0.18}
        @{"  project/load new       " link M0.8}   @{"  project/save & exit      " link M0.19}
        @{"  project/load original  " link M0.9}   @{"  project/bits             " link M0.21}
        @{"  project/insert         " link M0.10}   @{"  project/print            " link M0.22}
                                    @{"  project/quit             " link M0.24}


  The  project menu offers a variety of commands related to general
  handling  of  a  document, especially as far a basic input/output
  functions are concerned (load/save or printing).


@endnode
@node M0.0 "project/about"
  project/about of @{" PROJECT MENU " link PROJECT_MENU}

  Displays  version  ID.  Furthermore the name of this task's ARexx
  port  and  this task's screen name are displayed. If you told the
  editor  to  open a custom screen, this screen is always 'public',
  i.e.  you  are  invited to run other tasks on the editor's screen
  (example:  type  SHELL  CON:0/11/640/100/Shell/screenGOLDED.1  to
  open a shell window on the editor's screen). See @{" config/display " link M7.8}
  for  infomation  on how to make other programs appear on GoldED's
  screen.


@endnode
@node M0.1 "project/user"
  project/user of: @{" PROJECT MENU " link PROJECT_MENU}

  If  you  are  a  registered  user  of  GoldED, your name would be
  displayed  when  you  select  this  menu  item.  The unregistered
  release does show a general copyright information.


@endnode
@node M0.3 "project/clear text"
  project/clear text of: @{" PROJECT MENU " link PROJECT_MENU}

  Clears contents of current window. Protection bits are set to the
  defaults  (see  @{" config/misc " link M7.12})  before  any  further action takes
  place.  The  path  is reset to the current path, the file name is
  reset  to  "unnamed".  You  are  asked  for  confirmation  if the
  window's text has been changed since loading


@endnode
@node M0.4 "project/more ed"
  project/more ed of: @{" PROJECT MENU " link PROJECT_MENU}

  Does  open further window for input. The window size is read from
  the  configuration  file (see @{" config/load " link M7.16}). If you have enabled
  AutoCenter  (see @{" config/misc " link M7.12}, default is ON), the new window is
  centered  on  screen,  otherwise the window position is read from
  the  configuration  file,  too.  Use @{" config/save " link M7.15} to save window
  dimnsions  & position of your current window as default settings.
  This   editor   does  offer  many  functions  related  to  window
  management, e.g. it is able to 'arrange' your windows on screens.
  Autoscroll screens are fully supported: window functions consider
  the  visible section only. See @{" control/arrange windows " link M4.13} for more
  details.


@endnode
@node M0.6 "project/load"
  project/load of: @{" PROJECT MENU " link PROJECT_MENU}

  Discards  current  text if any was loaded (internally realized as
  @{" project/clear text " link M0.3}), asks for new file(s) & loads the file(s).

  Multiselect 

  Like  most  file requesters of GoldED, the file requester used by
  this function does support multi select, i.e. you may select more
  than  one file at once. Treatment of multi selected files depends
  on  the  context:  while this function will open a new window for
  each  file,  @{" project/append " link M0.11} will load all selected files to one
  window.

  AppWindows 

  GoldED's text windows are so called AppWindows: it is possible to
  drag  icons (of text files) over a text window. These files would
  be  appended  to  the  text  of  that  window.  Multi  select  is
  supported:  You  may  drag more than one file over a window using
  extended  selection  (hold  down  the  shift key while you select
  icons).

  Crunched XPK files (see @{" project/save as XPK " link M0.18}) are recognized and
  decompressed  while  reading  if  the @{" XPK " link CREDITS} library is available.
  This function does check for TABs (dez. 8); TABs will be replaced
  by  SPC (dez. 32) while loading. See @{" config/tabs " link M7.1} if you want to
  influence  substitution.  LOAD  does use a reasonable sized input
  buffer  of about 16KB to speed up operation. However, if you want
  even better performance, use @{" project/load fast " link M0.7} instead.
  
  If AutoFold (@{" config/misc " link M7.12}) is ON, the file is scanned for folded
  projects automatically after loading. You should disable AutoFold
  if  you  don't  want  to  use  this editor's folding capabilty to
  prevent scanning for fold markers and thus save time.

  Warning:  Do never attempt to edit binaries (programs). GoldED is
  a  text  editor, not a file monitor. It will change the data in a
  way  suitable  for  text  files  but  definitely  unsuitable  for
  binaries  ( e.g. remove CR return codes, substitute spaces, clear
  the executable-bit).


@endnode
@node M0.7 "project/load fast"
  project/load fast of: @{" PROJECT MENU " link PROJECT_MENU}

  FastLoad 

  A  fast  replacement for @{" project/load " link M0.6}. This option does require
  an  IO  buffer  of the original file's size and it does not check
  for  TABs.  However,  since  GoldED  does  never  write  TABs  (a
  concession  to  speed), this function might suit you very well if
  your Amiga has a decent amount of RAM. This function is about 50%
  faster  than 'slow' load. Use @{" project/load original " link M0.9} to reload a
  file in slow mode (with TAB substitution enabled) if you discover
  after loading that it does contain TAB's ('strange' characters at
  beginning  of lines). GoldED does automatically fall back to slow
  load  if  it  detects  TAB codes within the first 1500 bytes of a
  file.


@endnode
@node M0.8 "project/load new"
  project/load new of: @{" PROJECT MENU " link PROJECT_MENU}

  Load  a  document  but  don't  load  it  to the current window as
  @{" project/load " link M0.6} would do. Instead, a new window is prepared.


@endnode
@node M0.9 "project/load original"
  project/load original of: @{" PROJECT MENU " link PROJECT_MENU}

  Reload  current  file  from disk. Useful after you have made some
  changes  but  want  to switch back to the original. This function
  does  use  'slow  loading'  (see @{" project/load fast " link M0.7}), i.e. TAB's
  will be substituted by spaces.


@endnode
@node M0.10 "project/insert"
  project/insert of: @{" PROJECT MENU " link PROJECT_MENU}

  Insert a file at current cursor position (before current line). A
  file  requester  will pop up, asking you for one or more files to
  be inserted. Hold down the SHIFT key to select more than one file
  (this feature is called 'multiselect').


@endnode
@node M0.11 "project/append"
  project/append of: @{" PROJECT MENU " link PROJECT_MENU}

  Append  one  or more files to your current text. A file requester
  will  pop  up, asking you for one or more files to append to your
  text.  This  function  is  quite useful to join a couple of files
  together.


@endnode
@node M0.13 "project/new name"
  project/new name

  Usesul to change the name of current text (you are prompted for a
  new  one). Only the document in memory is affected - no disk file
  is renamed. Since one usually would use @{" PROJECT/SAVE AS " link M0.17} to save
  a file to a new location, this function is rarely used.


@endnode
@node M0.14 "project/current dir"
  project/current dir of: @{" PROJECT MENU " link PROJECT_MENU}

  This  function  sets the 'current path' to wherever you want. The
  current  path is used by many functions (e.g. @{" project/load new " link M0.8})
  as  default  path.  It is used by all menu items of type DOS, too
  (e.g.  'new  shell'). If you have set the current path to 's:', a
  function  like @{" project/load new " link M0.8} would list the s-directory when
  asking for a file.

  Setting  the current path doesn't change the name of a text - use
  the  menu  command  @{" project/new name " link M0.13} to do that. Some functions
  (like  @{" project/load " link M0.6})  don't  care about the current path - they
  extract  path  information  from the current document's name. Use
  @{" project/clear text " link M0.3} to reset the path of an empty text window.


@endnode
@node M0.16 "project/save"
  project/save of: @{" PROJECT MENU " link PROJECT_MENU}

  Save your current text, using the current name displayed in/below
  the  window's  title  bar. Any old copy (no matter how protection
  bits   have   been   set)   is  overwritten  without  asking  for
  confirmation.  However,  you might turn on backup creation if you
  want  the  editor  to backup the old version if any is available;
  see @{" config/misc " link M7.12} for more information on backups. You might even
  ask  the  editor  to  backup  your  files regulary (e.g. every 10
  minutes) to any directory (see @{" config/misc " link M7.12} as well).

  This  function  is  disabled  for  windows  of  type read-only to
  prevent  the  user from accidentally overwriting important files.
  QickRef (TM) windows are read-only (see @{" QuickReference " link M3.9}).


@endnode
@node M0.17 "project/save as"
  project/save as of: @{" PROJECT MENU " link PROJECT_MENU}

  Same as @{" project/save " link M0.16} but does give you the opportunity to enter
  a new file name before the text is written to disk.

  This  function  is  disabled  for  windows  of  type read-only to
  prevent  the  user from accidentally overwriting important files.
  QickRef (TM) windows are read-only (see @{" QuickReference " link M3.9}).


@endnode
@node M0.18 "project/save as XPK"
  project/save as XPK of: @{" PROJECT MENU " link PROJECT_MENU}

  XPK support 

  Save  current  file in compressed mode (about 50% less disk space
  required).  See  @{" config/misc " link M7.12} on how to select compression mode.
  This  function  requires  the complete set of XPK libraries which
  has  been  released as FD. Note: other editors/programs might not
  be  able  to handle crunched files, so be careful when using this
  function. Don't crunch your sources - the compiler won't like it.


@endnode
@node M0.19 "project/save & exit"
  project/save & exit of: @{" PROJECT MENU " link PROJECT_MENU}

  Same  as  @{" project/save " link M0.16} followed by @{" project/quit " link M0.24}: Save current
  text & close window. Exit from GoldED if the last window has been
  closed. GoldED won't close a window respectively exit if the SAVE
  operation fails (e.g. disk full error).

  This  function  is  disabled  for  windows  of  type read-only to
  prevent  the  user from accidentally overwriting important files.
  QickRef (TM) windows are read-only (see @{" QuickReference " link M3.9}).


@endnode
@node M0.21 "project/bits"
  project/bits of: @{" PROJECT MENU " link PROJECT_MENU}

  Edit  protection  bits  of  the current text. Have a look at your
  Amiga  DOS  manual  if  you  are  unfamilar  with  these bits. In
  generally  you  should set the S (script) bit for batch files but
  let the other bits untouched. Changes won't have any effect until
  you  save  the  text. These bits are set to a default state after
  performing @{" project/clear text " link M0.3}). Use @{" config/misc " link M7.12} to define the
  default state.


@endnode
@node M0.22 "project/print"
  project/print of: @{" PROJECT MENU " link PROJECT_MENU}

  Send  current  text  to  printer 'PRT:'. See @{" config/printer " link M7.11} for
  information  on  how  to  affect  output  style. DeskJet/LaserJet
  owners  should  use  the  HiSpeed printing facility of the @{" misc " link MISC}
  menu instead (@{" misc/hispeed " link M5.16}). HiSpeed is shareware; a registered
  HiSpeed release is part of the GoldED Pro registration.


@endnode
@node M0.24 "project/quit"
  project/quit of: @{" PROJECT MENU " link PROJECT_MENU}

  Close  current  window.  Exit  from GoldED if the last window has
  been  closed.  You  are  asked for confirmation if you attempt to
  exit  without  having  saved  your text so far (unless you didn't
  change  the  text  at all). You are NOT asked for confirmation if
  only preferences have been changed (see @{" config/save " link M7.15}).

  GoldED's  memory management is asynchronous - after having closed
  a  window you don't have to wait for the memory to be freed (this
  is  done  by  a  background  task). Your Amiga might appear to be
  slightly  slower  than  usual while the background task is busy -
  especially if the text buffer has been large (200 KB or more).


@endnode
@node BLOCK_MENU "BLOCK MENU"
                               BLOCK MENU 
                        menu tree of block menu 


         @{"  block/mark           " link M1.0}   @{"  block/insert column  " link M1.12}
         @{"  block/hide mark      " link M1.1}   @{"  block/append text    " link M1.13}
         @{"  block/cut            " link M1.3}   @{"  block/column text    " link M1.14}
         @{"  block/copy           " link M1.4}   @{"  block/indent         " link M1.16}
         @{"  block/paste          " link M1.5}   @{"  block/sort           " link M1.17}
         @{"  block/bcopy          " link M1.7}   @{"  block/uppercase      " link M1.19}
         @{"  block/bdelete        " link M1.8}   @{"  block/lowercase      " link M1.20}
         @{"  block/bmove          " link M1.9}   @{"  block/save as        " link M1.22}
         @{"  block/delete column  " link M1.11}   @{"  block/print          " link M1.23}


  All  functions of the block menu are related to the management of
  'blocks',  which are marked sections of lines. Ususally one would
  use   menu   functions   (respectively   corresponding   keyboard
  shortcuts)  to mark lines, however the mouse may be used as well:
  simply hold down the left mouse button while you drag the pointer
  over  a desired section of lines. You can have only one block per
  document.  Blocks  work  on  a line-by-line basis, i.e. it is not
  possible  to  mark  single  words.  This  will change with future
  releases of GoldED.


@endnode
@node M1.0 "block/mark"
  block/mark of: @{" BLOCK MENU " link BLOCK_MENU}

  Mark  beginning  or end of a block. If you call this function for
  the  fist time (no marked lines so far), the editor will remember
  the  current  line  as  START  of  a  new block. If you call this
  function  for  a  second  time,  the editor considers the current
  cursor  position as the block's END - all lines between START and
  END  are  highlighted.  START  respectively END are symbolic line
  names  -  START  doesn't necessaryly have to be smaller than END.
  Things  are  handled differently if you use this function after a
  block  has already been selected: If cursor position is closer to
  the  end of the current block than to its start, the end position
  is  updated.  Otherwise the start position is set to the cursor's
  line. You might use @{" block/hide mark " link M1.1} to get rid of a block, i.e.
  to unmark lines.


@endnode
@node M1.1 "block/hide mark"
  block/hide mark of: @{" BLOCK MENU " link BLOCK_MENU}

  Turn  block  off,  ie.  don't  have any text section highlighted.
  Useful after @{" block/mark " link M1.0} to get rid of a block selection.


@endnode
@node M1.3 "block/cut"
  block/cut of: @{" BLOCK MENU " link BLOCK_MENU}

  Cut  selected lines (see @{" block/mark " link M1.0}) from text. These lines are
  written   to  the  clipboard,  ready  to  be  inserted  into  any
  application  supporting  the  clipboard device (e.g. into a shell
  window  by  pressing  AMIGA & V or into any GoldED document using
  @{" block/paste " link M1.5}).  You shouldn't use these cliboard-based functions
  to  move/copy data within a single GoldED document; @{" block/bcopy " link M1.7}
  or @{" block/bmove " link M1.9} would perform the same task much faster.


@endnode
@node M1.4 "block/copy"
  block/copy of: @{" BLOCK MENU " link BLOCK_MENU}

  Copy  marked  lines  (see  @{" block/mark " link M1.0}) to the clipboard device,
  ready to be inserted into any application supporting this device.
  This  function  does not affect your current text (as @{" block/cut " link M1.3}
  would). See @{" block/paste " link M1.5} for more details.


@endnode
@node M1.5 "block/paste"
  block/paste of: @{" BLOCK MENU " link BLOCK_MENU}

  Insert  clipboard  contents  (if  any are available) into current
  text.  
  
  Clipboard 

  The 'clipboard' (actually the 'CLIPS:'-directory) is used by many
  applications  to exchange data. Postings to the clipboard are IFF
  files.   GoldED  does  support  IFF/FTXT  clipboard  access.  For
  example, you could mark a text within a shell window, press AMIGA
  +  C  to copy these lines to the clipboard and then reinsert them
  into a GoldED window using @{" block/paste " link M1.5}. A paste operation won't
  remove  the  data  from  the  clipboard,  i.e.  you can call this
  function several times.


@endnode
@node M1.7 "block/bcopy"
  block/bcopy of: @{" BLOCK MENU " link BLOCK_MENU}

  Copy  marked lines (see @{" block/mark " link M1.0}) to current cursor position.
  Useful  to duplicate sections within a single document (while you
  would  have  to  use a @{" block/cut " link M1.3}/@{" block/paste " link M1.5} pair to exchange
  data between different windows or different applications).


@endnode
@node M1.8 "block/bdelete"
  block/bdelete of: @{" BLOCK MENU " link BLOCK_MENU}

  Delete  highlighted  lines (see @{" block/mark " link M1.0}). It is not possible
  to  undo this operations, so better be careful. If you don't want
  to miss an undo option, use @{" block/cut " link M1.3} instead (@{" block/paste " link M1.5} to
  undo) - however those functions are no as fast as this one.


@endnode
@node M1.9 "block/bmove"
  block/bmove of: @{" BLOCK MENU " link BLOCK_MENU}

  Move  highlighted  lines  (see  @{" block/mark " link M1.0}) from their original
  position  to  current cursor position. This function is useful to
  move  sections of lines within a single document (while you would
  have  to  use  a @{" block/cut " link M1.3}/@{" block/paste " link M1.5} pair to move text from
  one window to another window/application).


@endnode
@node M1.11 "block/delete column"
  block/delete column of: @{" BLOCK MENU " link BLOCK_MENU}

  Removal of columns 

  Delete  a  column from highlighted lines (see @{" block/mark " link M1.0}). Move
  cursor to desired column before you call this function (e.g. move
  cursor  to  column  10 if you want to delete this column from all
  block  line).  You shouldn't use this function if you simply want
  to  change indention of a paragraphe because - use @{" block/indent " link M1.16}
  instead.


@endnode
@node M1.12 "block/insert column"
  block/insert column of: @{" BLOCK MENU " link BLOCK_MENU}

  Insertion of columns 

  Insert  a  column into highlighted lines (see @{" block/mark " link M1.0} on how
  to  mark  lines).  Move  cursor to desired column before you call
  this  function.  Example: Move cursor to column 40 if you want to
  insert  one  space  character  before this column into all marked
  lines.


@endnode
@node M1.13 "block/append text"
  block/append text of: @{" BLOCK MENU " link BLOCK_MENU}

  Append  text to marked lines. Example usage: Mark some lines (see
  @{" block/mark " link M1.0})  and  call  this function. A requester will pop up,
  asking  you  for  a  text  to  be  appended.  If you enter ';', a
  semicolon would be appended to each line you have marked.


@endnode
@node M1.14 "block/column text"
  block/column text of: @{" BLOCK MENU " link BLOCK_MENU}

  Insert  a  text  into  marked  lines  at current cursor position.
  Example usage: Mark some lines (see @{" block/mark " link M1.0}), move cursor to
  desired  column  (e.g.  column  1)  and  call  this  function.  A
  requester  will  pop up, asking you for a text to be inserted. If
  you  enter  'Prototype  ',  this  word  would  be inserted at the
  beginning  (column  1) of each block line. This function is quite
  useful if you want to create tables (for example you could insert
  a '|' to get a vertical line).


@endnode
@node M1.16 "block/indent"
  block/indent of: @{" BLOCK MENU " link BLOCK_MENU}

  Shifting 

  Change  indention  of  marked  lines  (@{" block/mark " link M1.0}).  Use  arrow
  gadgets   to   shift  text  left  or  right.  Currently  selected
  keyboard-TAB  distance  (see  @{" config/tabs " link M7.1})  is  used as default
  indention  step, however you may change this value using the step
  gadget. An indent function (two speeds) is assigned to keyboard's
  cursor keys, too (see @{" cursor keys " link CURSOR_KEYS}).


@endnode
@node M1.17 "block/sort"
  block/sort of: @{" BLOCK MENU " link BLOCK_MENU}

  Sort  selected  lines  (see  @{" block/mark " link M1.0})  alphabetically.  This
  function  is  not  case  sensitive  (i.e.  'A'  and  'a' would be
  considered equal).


@endnode
@node M1.19 "block/uppercase"
  block/uppercase of: @{" BLOCK MENU " link BLOCK_MENU}

  Make  all  characters  of  highlighted  lines  (see @{" block/mark " link M1.0})
  uppercase.  This function does use locale library if available to
  treat  non-ASCII  characters  (e.g.  'ß')  the  right way. Locale
  library  is  part of OS2.1 and OS3.0 or better. It is not part of
  OS2.04.


@endnode
@node M1.20 "block/lowercase"
  block/lowercase of: @{" BLOCK MENU " link BLOCK_MENU}

  Make  all  characters  of  highlighted  lines  (see @{" block/mark " link M1.0})
  lowercase.  This function does use locale library if available to
  treat  non-ASCII  characters  (e.g.  'ß')  the  right way. Locale
  library  is  part of OS2.1 and OS3.0 or better. It is not part of
  OS2.04.


@endnode
@node M1.22 "block/save as"
  block/save as of: @{" BLOCK MENU " link BLOCK_MENU}

  Save  marked  lines (see @{" block/mark " link M1.0}) to disk. You will be asked
  for  a  file name. Do not use this function to move text from one
  text to another - use the clipboard instead (see @{" block/copy " link M1.4}).


@endnode
@node M1.23 "block/print"
  block/print of: @{" BLOCK MENU " link BLOCK_MENU}

  Print  marked  lines (see @{" block/mark " link M1.0}). The standard preferences
  printer  is  used.  See  @{" config/printer " link M7.11}  if  you want to affect
  output settings like quality or linefeed.



@endnode
@node LAYOUT_MENU "LAYOUT MENU"
                               LAYOUT MENU 
                         menu tree of layou menu 


        @{"  layout/borders           " link M2.0} @{"  layout/block center    " link M2.6}
        @{"  layout/word wrap         " link M2.1} @{"  layout/section block   " link M2.8}
        @{"  layout/block left/right  " link M2.3} @{"  layout/section left    " link M2.9}
        @{"  layout/block left        " link M2.4} @{"  layout/section right   " link M2.10}
        @{"  layout/block right       " link M2.5} @{"  layout/section center  " link M2.11}


  Formatter 

  All  functions  of  the  layout  menu are related to formatting a
  text.  They are of no use when writing source code - which is the
  main  purpose  of  GoldED. But they should turn out useful if you
  edit  normal text files (e.g. your e-mail).

  Paragraphe vs. block 

  Some  of  the  formatting functions actually are block functions:
  they  do  affect marked lines only. See @{" block/mark " link M1.0} if you don't
  know how to mark lines. Others do affect the 'current paragraphe'
  of a text. For example you might move the cursor to this star '*'
  and  then choose @{" layout/section left " link M2.9}: the lines from 'Some ...'
  (beginning  of paragraphe) to the end of this paragraphe would be
  made  left  aligned.  The  editor  does  determine  the  end of a
  paragraphe  by  looking  for  an  empty  line (however some lines
  appear  to  be empty but actually contain multiple spaces - these
  lines are not considered empty).


@endnode
@node M2.0 "layout/borders"
  layout/borders of: @{" LAYOUT MENU " link LAYOUT_MENU}

  Set  layout  area for formatting functions. 'Left border' as well
  as  'width'  may  be  set.  Example: Set border to 5 respectively
  width to 70 before before using @{" layout/section block " link M2.8}. Your text
  be  left  &  right  aligned  afterwards.  Total  width (including
  border)  will  be  75 characters, 'black' width 70, left margin 5
  columns.


@endnode
@node M2.1 "layout/word wrap"
  layout/word wrap of: @{" LAYOUT MENU " link LAYOUT_MENU}

  WordWrap 

  Toggles  word  warp  mode  on/off. Current status is displayed in
  screen's title bar (either WRAP or NORM). If word wrap is on, the
  editor  will  reformat  the  current paragraphe (left aligned) if
  cursor  moves behind right margin (see @{" layout/borders " link M2.0} on how to
  set  right  margin).  Word  wrap  is very useful if you work on a
  plain  ASCII  text:  You  won't have to bother about pressing the
  enter  key  - the editor will switch too a new line automatically
  if the current lines is full.

  Do  never use word wrap if you work on a source file - the source
  would  get  mixed up as soon as the editor attempts to reformat a
  section  of  lines.  Do not use word wrap when creating tables or
  any other kind of formatted output for the same reason, too.


@endnode
@node M2.3 "layout/block left/right"
  layout/block left/right of: @{" LAYOUT MENU " link LAYOUT_MENU}

  Reformats  marked  lines  (see  @{" block/mark " link M1.0}) to make them appear
  left & right aligned. The block's last line is made left aligned.
  Empty   lines  are  not  removed  during  formatting,  i.e.  your
  document's basic structure remains unchanged. Multiple spaces are
  removed,   so  better  do  not  attempt  to  format  tables.  Use
  @{" layout/borders " link M2.0} to set block width respectively left border.


@endnode
@node M2.4 "layout/block left"
  layout/block left of: @{" LAYOUT MENU " link LAYOUT_MENU}

  Reformats  marked  lines  (see  @{" block/mark " link M1.0}) to make them appear
  left aligned. Empty lines are not removed during formatting, i.e.
  your document's basic structure remains unchanged. Multiple SPC's
  are  removed,  so  better  do  not  attempt to format tables. Use
  @{" layout/borders " link M2.0}  to  set  maximum  line  width respectively left
  border.

@endnode
@node M2.5 "layout/block right"
  layout/block right of: @{" LAYOUT MENU " link LAYOUT_MENU}

  Reformats  marked  lines  to make them appear left aligned. Empty
  lines  are  not  removed  during formatting, i.e. your document's
  basic  structure of paragraphes remains unchanged. Multiple SPC's
  are  removed,  so  better  do  not  attempt to format tables. Use
  @{" layout/borders " link M2.0}  to  set  maximum  line  width respectively left
  border.


@endnode
@node M2.6 "layout/block center"
  layout/block center of: @{" LAYOUT MENU " link LAYOUT_MENU}

  Reformats  marked  lines  to  make  them  appear  centered within
  currently selected layout area. Use @{" layout/borders " link M2.0} to set width
  of  layout area respectively its left margin. Empty lines are not
  removed  during  formatting, i.e. your document's basic structure
  of paragraphes remains unchanged.


@endnode
@node M2.8 "layout/section block"
  layout/section block of: @{" LAYOUT MENU " link LAYOUT_MENU}

  Reformats current paragraphe (see @{" Paragraphe vs. block " link LAYOUT_MENU}) to make
  the  lines  appear  left  &  right  aligned.  The  last line of a
  paragraphe is not affected - it is made left aligned. A line is a
  'last' line if its successor is an empty line (however some lines
  appear  to be empty but actually contain spaces - these lines are
  NOT  considered  empty).  Empty  lines  are  not  removed  during
  formatting,  i.e.  your document's basic structure of paragraphes
  remains  unchanged.  Multiple SPC's are removed, so better do not
  attempt to format tables. Use @{" layout/borders " link M2.0} to set block width
  respectively left border.

@endnode
@node M2.9 "layout/section left"
  layout/section left of: @{" LAYOUT MENU " link LAYOUT_MENU}

  Reformats current paragraphe (see @{" Paragraphe vs. block " link LAYOUT_MENU}) to make
  the lines appear left aligned. Empty lines are not removed during
  formatting,   i.e.   your   document's  basic  structure  remains
  unchanged.  Multiple  SPC's  are removed. Use @{" layout/borders " link M2.0} to
  set layout width respectively left border.

@endnode
@node M2.10 "layout/section right"
  layout/section right of: @{" LAYOUT MENU " link LAYOUT_MENU}

  Reformats current paragraphe (see @{" Paragraphe vs. block " link LAYOUT_MENU}) to make
  the  lines  appear  right  aligned.  Empty  lines are not removed
  during  formatting,  i.e. your document's basic structure remains
  unchanged.  Multiple  SPC's  are removed. Use @{" layout/borders " link M2.0} to
  set layout width respectively left border.

@endnode
@node M2.11 "layout/section center"
  layout/section center of: @{" LAYOUT MENU " link LAYOUT_MENU}

  Reformats current paragraphe (see @{" Paragraphe vs. block " link LAYOUT_MENU}) to make
  the  lines appear centered within currently selected layout area.
  Use  @{" layout/borders " link M2.0} to set layout width width respectively left
  border.  Empty lines are not removed during formatting, i.e. your
  document's  basic structure remains unchanged. Multiple SPC's are
  removed.


@endnode
@node FIND_MENU "FIND MENU"
                               FIND MENU 
                         menu tree of find menu 


         @{"  find/find              " link M3.0} @{"  find/complete          " link M3.11}
         @{"  find/find next         " link M3.1} @{"  find/ASCII table       " link M3.13}
         @{"  find/find previous     " link M3.2} @{"  find/ASCII insert      " link M3.14}
         @{"  find/replace           " link M3.4} @{"  find/show code         " link M3.15}
         @{"  find/replace next      " link M3.5} @{"  find/character set     " link M3.16}
         @{"  find/count             " link M3.7} @{"  find/insert code FF    " link M3.18}
         @{"  find/reference         " link M3.9} @{"  find/insert code ESC   " link M3.19}
         @{"  find/reference...      " link M3.10} @{"  find/functions         " link M3.20}


@endnode
@node M3.0 "find/find"
  find/find of: @{" FIND MENU " link FIND_MENU}

  Shows a requester to enter the text to search for. You may choose
  the  search  to  be case sensitive or not by using the approbiate
  checkmark  gadget.  Use  the  NEXT gadget to go to the next (i.e.
  after  current  cursor position) occurrence of the text to search
  for.  Use  the FIND gadget to look for the first occurence of the
  search pattern.

  Note: case-sensitive search is much faster than case-insensitive
        search.

@endnode
@node M3.1 "find/find next"
  find/find next of: @{" FIND MENU " link FIND_MENU}

  Go to the next occurrence (i.e. after current cursor position) of
  the pattern to search for. Use @{" find/find " link M3.0} to enter search text.


@endnode
@node M3.2 "find/find previous"
  find/find previous of: @{" FIND MENU " link FIND_MENU}

  Go  to  the  previous  occurrence  (i.e.  before  current  cursor
  position)  of the pattern to search for. Use @{" find/find " link M3.0} to enter
  the search text.


@endnode
@node M3.4 "find/replace"
  find/replace of: @{" FIND MENU " link FIND_MENU}

  Shows  a  requester to enter both, the text to search for as well
  as  a  replacement.  You  may  choose  the  operation  to be case
  sensitive or not by using the approbiate checkmark gadget. Select
  the NEXT gadget to replace the next occurrence of the search text
  by   the  replace  text.  Use  the  ALL  gadget  to  replace  all
  occurrencies  of  the search text. Decide for the BLOCK gadget if
  you  want  the  replacement  operation to be restricted to marked
  lines (see @{" block/mark " link M1.0}).


@endnode
@node M3.5 "find/replace next"
  find/replace next of: @{" FIND MENU " link FIND_MENU}

  Replaces  next  occurance  of  search  pattern  by  replace text.
  Replacement  as  well  as  the  search  pattern are set using the
  @{" find/replace " link M3.4} requester.


@endnode
@node M3.7 "find/count"
  find/count of: @{" FIND MENU " link FIND_MENU}

  Shows  a  requester  to  enter  a search text. You may choose the
  search  operation  to  be  case  sensitive  or  not  by using the
  approbiate  checkmark  gadget. Finally select the COUNT gadget to
  count all occurencies of the search pattern within your text.


@endnode
@node M3.9 "find/reference"
  find/reference of: @{" FIND MENU " link FIND_MENU}

  QuickReference 

  Does  try  to open a help text related to the word your cursor is
  placed  over.  Example usage: Type 'struct RastPort', move cursor
  over 'RastPort', then call this function. If the reference system
  is  set  up (see below), a new text window should pop up, showing
  you  a  file  'graphics.h' from you compiler's include directory.
  The  cursor  will  be  placed  in the first line of the structure
  definition  'RastPort'. The reference file is read-only, i.e. you
  may  change  its  contents  but  you  may not save it (this is to
  prevent you from accidentally overwriting important files).

  Setting up the reference system

  In order to have this command work properly you'll have to set up
  GoldED's  reference  system  first (i.e. tell the editor where to
  look  for files like 'graphics.h'): Use @{" config/references " link M7.3} to do
  this.  Setting  up  the  reference  system  basically consists of
  selecting  the  files  or directories to be referenced (e.g. your
  includes  directory);  it's  a matter of a few seconds. GoldED is
  shipped without the reference system set up.

  What files can be referenced ?

  It  is  possible  to reference a lot of different file types like
  source  codes (C, BASIC, Pascal, Assembler), autodocs or C-header
  files  (*.h).  See  @{" config/references " link M7.3} for details. Example: you
  might  set  up the reference system to know the functions of your
  current  programming project (probably consisting of many files).
  After  having done this you could move the cursor over a function
  call  of one of your own functions and then use find/reference. A
  new window would pop up, presenting you the lines of a file where
  this function is defined.


@endnode
@node M3.10 "find/reference..."
  find/reference... of: @{" FIND MENU " link FIND_MENU}

  Prompts  for  a  string  to  be referenced. Example usage (if the
  reference  system  is set up): Enter 'Window', then use OK. A new
  window  would  pop  up,  presenting you the header file from your
  compilers  includes  directory  where  a  structure  'Window'  is
  defined. See @{" find/reference " link M3.9} for further explanations.


@endnode
@node M3.11 "find/complete"
  find/complete of: @{" FIND MENU " link FIND_MENU}

  APC  (Automatic Phrase Completion) (Automatic Phrase Completion)

  Trys  to  'complete' the word your cursor is placed over. Example
  usage:  type  'swin',  then  call  this function. 'swin' would be
  replaced  by  'struct Window' if the C-dictionary is present (see
  @{" config/dictionary " link M7.4} on how to load/edit/create a dictionary). You
  might  type  'swindow'  as well - it would be replaced by 'struct
  Window',  too. You might even type 'swdow'. Or 'struwi'. However,
  something   like   'wind'   wouldn't   be  recognized  since  the
  abbreviation's  first letter must always be the same as the first
  letter  of  the  full  form.  This  function  uses the dictionary
  facility; the larger your dictionary grows the more detailed your
  abbreviations  will have to be to ensure unique identification. A
  keyboard shortcut of this function is assigned to the @{" ESC key " link ESC_KEY}.


@endnode
@node M3.13 "find/ASCII table"
  find/ASCII table of: @{" FIND MENU " link FIND_MENU}

  Opens  a  character  selection  requester: All characters of your
  current font are displayed in a table. Pick the character you are
  looking for; it will be inserted at current cursor postion.


@endnode
@node M3.14 "find/ASCII insert"
  find/ASCII insert of: @{" FIND MENU " link FIND_MENU}

  Prompts  you  for  an ASCII code. Enter desired number (e.g. 65),
  then  press  return.  The  character  will be inserted at current
  cursor  position.  The  ASCII  insert function is useful to embed
  control  codes into your text. Example usage: Insert the codes 27
  91  49  109  (calling  this  function  4  times)  at the top of a
  document.  This  sequence  is recognized by the printer device as
  'turn  bold on' command. The printer would switch to bold mode if
  the text were sent to the printer device (using @{" project/print " link M0.22}).

  Often-used  sequences  should be assigned to menu entries instead
  of using this requester; see @{" config/menus " link M7.9} on how to create menu
  entries of type 'text'.


@endnode
@node M3.15 "find/show code"
  find/show code of: @{" FIND MENU " link FIND_MENU}

  Show  ASCII  code of character under cursor. This might be useful
  to identify 'garbage' characters. Example usage: After loading of
  a  large  text  file  in  fast mode (see @{" project/load fast " link M0.7}; TAB
  substitution  turned  off) you discover strange characters at the
  beginning  of  some lines. Using this function you might find out
  that those characters actually are TAB codes (ASCII code 12). You
  then  would have to reload (see @{" project/load original " link M0.9}) the text
  to  have TABs replaced by spaces (use @{" find/character set " link M3.16} to get
  rid of other 'strange' codes).


@endnode
@node M3.16 "find/character set"
  find/character set of: @{" FIND MENU " link FIND_MENU}

  Character set remap 

  Asks  you  for  a  character  set  translation file before GoldED
  attempts  to  remap  the  current text. Remapping means that each
  character  is  replaced  by  another  character  defined  in  the
  translation  file.  The  result solely depends on the translation
  file.  If  you load the 'AmigaToMSDOS' file using the REQ(uester)
  gadget, the text would be remaped in a way to make it readable by
  MSDOS  machines.  You  could use the 'MSDOStoAmiga' to do it vice
  versa  (make  MSDOS  files  readable  for  the  Amiga).  Or  load
  'StripControl'   to   have   non-printable  'garbage'  characters
  removed.  Finally  StripNonASCII  is  useful  to remove non-ASCII
  characters (many e-mail networks do not allow non-ASCII codes).

  Most  translation  files  are  'lossy': some characters won't get
  translated.  For  example  MSDOS  doesn't know the '©' character,
  thus  a  '©'  couln'd  be  remapped  properly  by an AmigaToMSDOS
  translation file (a 'c' would be used instead).


@endnode
@node M3.18 "find/insert code FF"
  find/insert code FF of: @{" FIND MENU " link FIND_MENU}

  Inserts a form feed code (ASCII 12) at current cursor position.
  This code is recognized by printers. If the text is sent to the
  printer device (using @{" project/print " link M0.22}), the printer would eject
  a page when it encounters this code.


@endnode
@node M3.19 "find/insert code ESC"
  find/insert code ESC of: @{" FIND MENU " link FIND_MENU}

  Inserts  an  ESC code (ASCII 27) at current cursor position. This
  code  introduces many command sequences understood by the printer
  device respectively the console device (see @{" FIND/ASCII insert " link M3.14}).


@endnode
@node M3.20 "find/functions"
  find/functions of: @{" FIND MENU " link FIND_MENU}

  QuickFunc 

  Scans current text for functions, structure definitons or AutoDoc
  entries.  A  listview  is  made up for fast selection: click at a
  function  name to jump to where this function is defined. Several
  scan  modes  are  available: Select ANSI-C if you are looking for
  C-functions,  PASCAL  if  you  are looking for Pascal procedures/
  functions,  BASIC  if  you  are  looking  for Basic PROCEDUREs or
  SUBROUTINEs,  ASSEMBLER  if  you are looking for labels beginning
  with  an underscore (e.g. _main), C-HEADER if you are looking for
  structure  definitions  and  finally AUTODOC to scan AutoDoc-like
  files  (programmer manuals). QuickFunc heavily depends on the way
  of  formatting: Don't use a left margin in source codes. Function
  definitions  must start at column one. Some indention schemes are
  not  handled  properly.  For example C-function headers (function
  name,  parenthesis,  arguments,  parenthesis) must fit within one
  line to be recognized.

  You  may  preselect  a  default  scan mode for special file names
  using  the  pattern  gadget  below  the listview. For example you
  could set the default file extension of the C-mode to '*.c'. Thus
  the  C-mode  would  be used when referencing a file like 'main.c'
  (referencing   means   scanning   the   file  for  keywords;  see
  @{" config/references " link M7.3}).



@endnode
@node CONTROL_MENU "CONTROL MENU"
                              CONTROL MENU 
                       menu tree of control menu 


         @{"  control/go to line        " link M4.0} @{"  control/toggle TAB mode  " link M4.11}
         @{"  control/top-bottom        " link M4.1} @{"  control/arrange windows  " link M4.13}
         @{"  control/to last change    " link M4.2} @{"  control/center window    " link M4.14}
         @{"  control/store position    " link M4.4} @{"  control/zip window       " link M4.15}
         @{"  control/recall position   " link M4.5} @{"  control/enlarge window   " link M4.16}
         @{"  control/fold all          " link M4.7} @{"  control/freeze window    " link M4.18}
         @{"  control/unfold all        " link M4.8} @{"  control/unfreeze window  " link M4.19}
         @{"  control/insert-overwrite  " link M4.10} @{"  control/next window      " link M4.21}
                                      @{"  control/iconify          " link M4.23}

@endnode
@node M4.0 "control/go to line"
  control/go to line of: @{" CONTROL MENU " link CONTROL_MENU}

  Asks  you  for  a  line  to  go  to.  First line of a document is
  considered  to  be line 1. Use the 'unfold' (checkmark-)gadget to
  decide  wether  you  want  to  have  folded  sections unfolded if
  necessary  (see @{" Folding " link M4.7}). If unfolding is enabled, line numbers
  are  absolute,  i.e.  if  you enter 255, the editor would jump to
  line 255, no matter wether this line is folded (unvisible) so far
  or  not. If you don't enable unfolding, line numbers are based on
  the  number  of visible lines. The editor would jump to the 255th
  visible  line. The actual line number of that line - if all folds
  were  unfolded  -  is  either  255 (no folds before this line) or
  greater (some folds before this line). The line numbers displayed
  below  the  window  titles  are  based  on the number of visisble
  lines,  too.  They  are  not  abolute.  If  you  would perform an
  absolute  jump  to  line  300,  a  number  less than 300 might be
  displayed  if your text containes folds (i.e. if not all lines of
  the text are visible).


@endnode
@node M4.1 "control/top-bottom"
  control/top-bottom of: @{" CONTROL MENU " link CONTROL_MENU}


  Moves  the  cursor to line one if it has been positioned near the
  end  of  your text so far. Moves it to the last line of your text
  if it has been close to the top so far.


@endnode
@node M4.2 "control/to last change"
  control/to last change of: @{" CONTROL MENU " link CONTROL_MENU}

  Moves the cursor to the line of last change (or at least close to
  that position it if the last operation was a 'delete line').


@endnode
@node M4.4 "control/store position"
  control/store position of: @{" CONTROL MENU " link CONTROL_MENU}

  Records the position of the cursor & the view area of the text in
  the  window.  Use  @{" control/recall position " link M4.5} to recall the cursor
  and  view  area.  You  may  store  positions for each text window
  seperately.  Since GoldED does support 10 bookmarks for each text
  you  may  easyly  add  further  menu items similar to this one to
  remember a second, a third, ..., position (see @{" config/menus " link M7.9} for
  information on modifying menus).


@endnode
@node M4.5 "control/recall position"
  control/recall position of: @{" CONTROL MENU " link CONTROL_MENU}

  Recall  cursor  position/view stored by @{" control/store position " link M4.4}.
  If  you  simply  want  to  jump  back  to  the  line of your last
  operation at some time or other you do not have to use bookmarks.
  Use @{" control/to last change " link M4.2} instead.


@endnode
@node M4.7 "control/fold all"
  control/fold all of: @{" CONTROL MENU " link CONTROL_MENU}

  Scans  text  for fold markers. Folds all text sections surrounded
  by  fold  markers  (see below for general information on GoldED's
  folding  facilities).  There is a keyboard shortcut quite similar
  to  this  function:  CTRL  +  HELP;  it toggles all folds: if the
  cursor  is  placed over a fold header, all folds are unfolded. If
  the  cursor  is  placed  over  a  normal  text line, all sections
  surrounded by fold markers are folded.


  Folding 

  One  of  this  editor's  most  useful  features  is  its  folding
  capability:   Folding   means   hiding   some  lines  of  a  file
  temporarily.  This  is quite useful if you are working on a large
  sourcefile  but  don't  want  to  get lost in thousands of lines.
  Simply  fold away all functions you are not interested in. Unfold
  the ones you are working on.

  How to fold lines 

  If  you  want  to  hide a section of lines, enclose it into 'fold
  markers'.  Fold  markers  are  just  character sequences. Default
  sequence  is  ///  (which  is  regarded  as a comment by most K&R
  compilers respectively all C++ compilers). Example - type:

                       /// "important function"

                       void
                       main()
                       {
                          puts("fold me !");
                       }

                       ///

  Now  place  the cursor over any line of the example above (except
  the  last  line)  and  press  the  HELP key. The lines above will
  vanish, a single new line - the 'fold header' - appears:

                       > important function

  To unfold that header, press the HELP key once more. You may fold
  as  many  sections  of a document as you like. Use CTRL + HELP to
  unfold all folds upon a single keystroke. You may even have folds
  within  folds  up  to  any  level  (nested folding), however this
  requires the use of different markers for beginning/end of a fold
  section  (see  @{" config/misc " link M7.12}).  Fold  markers  may  be set to any
  string  of  up  to  8  letters. The shorter the faster. They must
  start  in  column 1 to 5 (to speed up scanning). In generally you
  should choose a sequence regarded as comment by your compiler. Or
  embed the fold markers into comments - for example after a REM if
  you are a BASIC programmer.

  Fold  headers are write protected since they aren't normal lines:
  keyboard  input is suppressed if the cursor is placed over a fold
  header.  Folded  sections  are  not  recognized by find & replace
  operations.  Unfold  a  fold  if  you want to change it. However,
  block  operations  (see  @{" block menu " link BLOCK_MENU}) do work. It is possible to
  copy,  duplicate, cut or remove a fold if it has been marked as a
  block.  Saving  or printing a file is not influenced by folding -
  the text is treated as if all folds were unfolded.


@endnode
@node M4.8 "control/unfold all"
  control/unfold all of: @{" CONTROL MENU " link CONTROL_MENU}

  Scans  text  for  fold  headers.  If  some  are  found,  they are
  unfolded. Have a look at the @{" Folding " link M4.7} chapter for information on
  GoldED's folding facilities.


@endnode
@node M4.10 "control/insert-overwrite"
  control/insert-overwrite of: @{" CONTROL MENU " link CONTROL_MENU}

  Toggles  writing mode from insert to overwrite and vice versa. In
  insert  mode  keyboard  input  is  inserted into the text without
  overwriting  the  existing  text.  In overwrite mode the existing
  text  is replaced by your input. The current mode is displayed in
  the  window's  title  bar.  It  is  either  INSR (insert) or OVER
  (overwrite).


@endnode
@node M4.11 "control/toggle TAB mode"
  control/toggle TAB mode of: @{" CONTROL MENU " link CONTROL_MENU}

  Toggles  TAB mode from solid to light and vice versa. Solid TAB's
  actually  insert  blank  characters  into your text. Depending on
  wether insert mode is on or off (see @{" control/insert-overwrite " link M4.10}),
  the  existing  text is either indented or overwritten. Light TABs
  do  not  overwrite  anything  - the cursor is simply moved to the
  next TAB position. See @{" config/TABs " link M7.1} on how to set TAB positions.


@endnode
@node M4.13 "control/arrange windows"
  control/arrange windows of: @{" CONTROL MENU " link CONTROL_MENU}

  Arranges windows on screen. If you have only one open window, the
  window  is  resized to cover the complete screen. If you have two
  open  windows,  the windows are made to share the display without
  overlapping.  The  screen's title bar is left free. This function
  does  handle autoscroll screens (screens larger then the display)
  properly - the window(s) are arranged within the visible section.


@endnode
@node M4.14 "control/center window"
  control/center window of: @{" CONTROL MENU " link CONTROL_MENU}

  Centers  current window on screen. If the screen is an autoscroll
  screen  (i.e.  larger  than  the display), the window is centered
  within the screen's visible section.


@endnode
@node M4.15 "control/zip window"
  control/zip window of: @{" CONTROL MENU " link CONTROL_MENU}

  Zips  current  window  as  if the window's zip (zoom) gadget were
  used: The OS keeps track of two alternative window sizes for each
  window.  This  functions toggles between them. The minimum window
  size  is  limited by GoldED (the editor ensures that at least one
  line  of  text can be displayed; besides it keeps the column/line
  display readable).


@endnode
@node M4.16 "control/enlarge window"
  control/enlarge window of: @{" CONTROL MENU " link CONTROL_MENU}

  Enlarge  current  window  to  make  it  as big as the screen. The
  screen's  title  bar  won't  get  covered. This functions handles
  autoscroll  screen  (screens  larger than the display), too: only
  the visible section is considered.


@endnode
@node M4.18 "control/freeze window"
  control/freeze window of: @{" CONTROL MENU " link CONTROL_MENU}

  Freeze text buffer, i.e. close the window but don't free the text
  itself.  Useful  to  have  several  text  files  present  without
  cluttering  the  display. Use @{" control/unfreeze window " link M4.19} to reopen
  the window.


@endnode
@node M4.19 "control/unfreeze window"
  control/unfreeze window of: @{" CONTROL MENU " link CONTROL_MENU}

  Asks  you  for a frozen window to reopen. This functions tries to
  restore the old window position/size. See @{" control/freeze window " link M4.18}
  for information on how to freeze a window.
  

@endnode
@node M4.21 "control/next window"
  control/next window of: @{" CONTROL MENU " link CONTROL_MENU}

  Activate  the  'next'  window.  A *very* handy function since you
  won't have to use the mouse anymore for window activation. Simply
  flip from one window to another using this command.


@endnode
@node M4.23 "control/iconify"
  control/iconify of: @{" CONTROL MENU " link CONTROL_MENU}

  Iconify  GoldED. All windows as well as the GoldED screen (if the
  editor  did  use an own screen) are closed. This function depends
  on  the  availability  of  the  workbench screen where the editor
  attempts to place an AppIcon. Iconify won't work if the workbench
  is closed.

  AppIcon 

  The  AppIcon may be used to pass new files to GoldED: Simply drag
  icons  of text files over it. Multi select is supported (i.e. you
  may  drag more than one file at once over the icon using extended
  selection:  hold  the SHIFT key down while you select icons). The
  editor  will  open a new window for each file. Doubleclick at the
  icon to wake GoldED up again.


@endnode
@node MISC_MENU "MISC MENU"
                              MISC MENU 
                        menu tree of misc menu 


         @{"  misc/help              " link M5.0} @{"  misc/calculator       " link M5.13}
         @{"  misc/project setup     " link M5.2} @{"  misc/new shell        " link M5.14}
         @{"  misc/pick line         " link M5.4} @{"  misc/delete file      " link M5.15}
         @{"  misc/push line         " link M5.5} @{"  misc/HiSpeed          " link M5.16}
         @{"  misc/swap lines        " link M5.6} @{"  misc/insert date      " link M5.18}
         @{"  misc/undo line         " link M5.8} @{"  misc/insert time      " link M5.19}
         @{"  misc/statistics        " link M5.10} @{"  misc/command          " link M5.21}
         @{"  misc/check             " link M5.11} @{"  misc/last error       " link M5.22}


@endnode
@node M5.0 "misc/help"
  misc/help of: @{" MISC MENU " link MISC_MENU}

  AmigaGuide  is  made  to display the main page of GoldED's manual
  ('database'  in  terms of AmigaGuide). You may use @{" config/menus " link M7.9}
  to  select a new database. This feature depends on the amigaguide
  library - if it is not available, you won't get any help.


@endnode
@node M5.2 "misc/project setup"
  misc/project setup of: @{" MISC MENU " link MISC_MENU}

  Open  project  definition  requester.  Used to specify all source
  files  that belong to a project. Doubleclick on a file being part
  of  that  list  to load it. GoldED itself does not use this list.
  The  editor  only  provides  a  few basic functions to add/remove
  source  files  to/from the list. This command has been implemeted
  to support the development of third party make utilities. Further
  processing has to be done by external programs:
  
  List access (programmers only)

  Programs  may  send a @{" QUERY " link QUERY} command to GoldED's @{" ARexx port " link AREXX_PORT} in
  order  to  obtain  a  pointer  to  a  linked list of nodes: QUERY
  PRJLIST. Example source code is is shipped with GoldED; check the
  GoldED:Tools/PRJSource directory. The node->ln_Name fields of the
  list's  nodes  will point to source file names (NULL terminated).
  You may pass this list to a listview. Use of this list requires a
  previous  LOCK to ensure a valid list. The list is read-only. Use
  the  @{" PROJECT " link PROJECT}  command to add or remove files. Do not modify the
  list on your own.


@endnode
@node M5.4 "misc/pick line"
  misc/pick line of: @{" MISC MENU " link MISC_MENU}

  Delete  current  line from text. The line is not lost - it is put
  to a pick-push ring buffer (last in, first out). You may reinsert
  it  anywhere  else  by  using  @{" misc/push line " link M5.5}. This function is
  assigned to the keyboard, too (CTRL + DEL). Example usage: Delete
  3  lines,  move  to  another line and call @{" misc/push line " link M5.5} three
  times to resinsert the lines. The pick/push buffer holds up up 50
  lines.


@endnode
@node M5.5 "misc/push line"
  misc/push line of: @{" MISC MENU " link MISC_MENU}

  Inserts  the  last  line  of  the pick/push buffer before current
  line. See @{" misc/pick line " link M5.4} for further explantions.


@endnode
@node M5.6 "misc/swap lines"
  misc/swap lines of: @{" MISC MENU " link MISC_MENU}

  Swaps current line with next line. The function is ususally used
  via the ARexx interface to sort a text.


@endnode
@node M5.8 "misc/undo line"
  misc/undo line of: @{" MISC MENU " link MISC_MENU}

  Restores  the  previous contents of a line after you have changed
  it.  You can undo a line as long as the cursor has not been moved
  to another line - leaving a line means accepting the change. This
  function  can  not  be  used to undo a delele line operation. Use
  @{" misc/push line " link M5.5} to rinsert a deleted line.


@endnode
@node M5.10 "misc/statistics"
  misc/statistics of: @{" MISC MENU " link MISC_MENU}

  Presents  a  statistic  overview  of a text. Bytes, lines, folded
  blocks  and  non-ASCII-characters  (codes above 127) are counted.
  Additionaly  the  width  of  the longest line is determined. This
  function  treats  the  text  as  if it were saved (i.e. all folds
  unfolded, CR codes appended to the lines).


@endnode
@node M5.11 "misc/check"
  misc/check of: @{" MISC MENU " link MISC_MENU}

  Checks  for  correct  use  of braces '(' within current line. You
  will  be  warned if the are more opening braces than closing ones
  or vice versa. Nesting is checked, too. You may turn on automatic
  checking after each line using @{" config/dictionary " link M7.4}.


@endnode
@node M5.13 "misc/calculator"
  misc/calculator of: @{" MISC MENU " link MISC_MENU}

  Tries  to run the calculator of your workbench (must be placed in
  sys:tools).  The  calculator is made to appear on the screen used
  by GoldED even if a custom screen is used.


@endnode
@node M5.14 "misc/new shell"
  misc/new shell of: @{" MISC MENU " link MISC_MENU}

  Opens a shell window on the screen used by the editor. The window
  is  arranged  on  screen,  i.e.  it  will open within the visible
  section of overscan screens. GoldED takes care of providing valid
  path  information:  if you have a PATH SYS:C2 ADD command in your
  startup-sequence, the shell window will know about it.


@endnode
@node M5.15 "misc/delete file"
  misc/delete file of: @{" MISC MENU " link MISC_MENU}

  Asks you for a file to delete. You are asked for confirmation. It
  is not possible to delete delete-protected files.


@endnode
@node M5.16 "misc/HiSpeed"
  misc/HiSpeed of: @{" MISC MENU " link MISC_MENU}

  Tries  to  run  the HiSpeed printer tool - the program is made to
  open its window on the screen used by GoldED.

  HiSpeed

  HiSpeed has been designed for PCL printers like Hewlett Packard's
  DeskJet  family.  It  is  used to reduce the amount of paper when
  printing  large files by using a small typeface. Up to 8 A4 pages
  are redirected to a single A4 sheet. It is fast. Speed depends on
  your  DeskJet model; DeskJet+: about 4 pages/minute if you switch
  to  HiSpeed mode. It should be a nice utility for people who have
  to  do  a lot of printing. Some of HiSpeed's features are:

  o workbench interface               o spooler (job list)
  o AppWindow/AppIcon support         o HiSpeed mode: fast printing
  o shell interface                   o preview (WYSIWYG)
  o ARexx port                        o many fonts supported
  o single or double sided printing   o page headers
  o descending printing available     o numbering of lines
  o free layout - e.g. two columns    o index/appendix creation
  o ANSI ESC sequences supported      o protrait/landscape
  o Linefeed adjustable               o book mode to print A5 books

  Please  read  the  HiSpeed  manual (see GoldED:Tools/HiSpeed) for
  more   information  on  this  tool.  HiSpeed  is  shareware.  The
  registered  version  is not part of the GoldED light distribution
  but it is part of the GoldED pro package; see @{" how to register " link HOW_TO_REGISTER}.


@endnode
@node M5.18 "misc/insert date"
  misc/insert date of: @{" MISC MENU " link MISC_MENU}

  Inserts  current date (e.g. "Boston, 3/5/93") at cursor position.
  You  should  set the environment variable USERTOWN to the name of
  your  town  using  the  DOS  command setenv (e.g. setenv USERTOWN
  "Boston").  DOS/setenv  does  use  the  'env:' directory to store
  environment  variables. Unfortunately this directory is placed in
  RAM,  so  your settings are lost after a reset. Copy env:usertown
  to envarc:usertown to prevent this.


@endnode
@node M5.19 "misc/insert time"
  misc/insert time of: @{" MISC MENU " link MISC_MENU}

  Inserts time string at cursor position. Formatting depends on the
  locale library (see @{" language " link GETTING_STARTED}).


@endnode
@node M5.21 "misc/command"
  misc/command of: @{" MISC MENU " link MISC_MENU}

  Asks you for one of GoldED' internal commands to be executed (see
  list  of @{" internal commands " link INTERNAL_COMMANDS}). This function is assigned to SHIFT
  ESC,  too.  Command  names  (e.g.  OPEN) have to be uppercase but
  arguments  may  be lowercase (e.g. INFO user). Parsing is done by
  the  OS  function  ReadArgs,  which is used by most CLI commands,
  too,  so  same  rules as usual apply (arguments containing spaces
  have to be quoted).


@endnode
@node M5.22 "misc/last error"
  misc/last error of: @{" MISC MENU " link MISC_MENU}

  Shows  the last error message once more (if there has been any so
  far).


@endnode
@node MACRO_MENU "MACRO MENU"
                              MACRO MENU 
                        menu tree of macro menu 


        @{"  macros/edit macro         " link M6.0} @{"  macros/load            " link M6.7}
        @{"  macros/run text as macro  " link M6.1} @{"  macros/save            " link M6.8}
        @{"  macros/number             " link M6.3} @{"  macros/dmake           " link M6.10}
        @{"  macros/record start-stop  " link M6.5} @{"  macros/compile & link  " link M6.11}
        @{"  macros/play               " link M6.6}


@endnode
@node M6.0 "macros/edit macro"
  macros/edit macro of: @{" MACRO MENU " link MACRO_MENU}

  Changes  to  GoldED's  macro  directory and asks you for an ARexx
  macro  to load. You schould save your current text before or open
  a  new  window.  GoldED's  ARexx macros use 'GED' as suffix (e.g.
  number.ged).  All  macros  addressing  GoldED  must use a special
  protocol  to register with GoldED before performing operations to
  prevent race conditions if user & macro are trying to control the
  editor simultanously (see @{" ARexx port " link AREXX_PORT}). I have provided an empty
  macro  (empty.ged)  to  be  used  as  basis  for  own development
  efforts.  Simply  load  this  macro, insert your code and save it
  under a new name.


@endnode
@node M6.1 "macros/run text as macro"
  macros/run text as macro of: @{" MACRO MENU " link MACRO_MENU}

  Tries  to  execute the current text as macro. You should save the
  text  before  you  call  this  function since the copy on disk is
  executed,  not the text in memory. All ARexx macros have to start
  with a comment (/* ... */) to get recognized by the ARexx server.
  If the first line of the text isn't a comment, nothing happens. A
  script  called  by  this  functions  has its host set up properly
  already  (i.e.  you don't need an ADDRESS command). Example: type
  these  lines (without left margin) and then select 'run as macro'
  to have them executed:

                          /* this is a test */

                          LOCK CURRENT
                          REQUEST BODY "Hi!"
                          UNLOCK

@endnode
@node M6.3 "macros/number"
  macros/number of: @{" MACRO MENU " link MACRO_MENU}

  Does number all lines of a text. You are asked for the first line
  number   as   well  the  step  value  to  be  used.  Choose  1000
  respectively  10  if  you  want to use 1000, 1010, 1020, ... This
  command  actually  is  a macro. It won't work if the ARexx server
  RexxMast  is  not  running  in  the background. Usually the ARexx
  server   is   installed  during  startup  (s:startup-sequence  or
  s:user-startup): run >NIL: sys:system/RexxMast


@endnode
@node M6.5 "macros/record start-stop"
  macros/record start-stop of: @{" MACRO MENU " link MACRO_MENU}

  Macro recording 

  Start (first call) respectively stop (second call) recording of a
  keyboard/command  sequence.  During recording all key presses and
  menu   selections  are  logged.  Mouse  movments/clicks  are  not
  recorded.  Use  @{" macros/play " link M6.6}  to replay a recorded sequence. Use
  @{" macros/save " link M6.8}  to write the sequence to disk, ready to be used at
  some other time. If you open a requester while recording you will
  be  asked  wether  this requester should pop up in playback mode,
  too  (unless  it  belongs to the config menu). If you disable the
  requester,  GoldED will use the selections made at recording time
  (e.g.  if  you  moved the cursor to line 100 during recording, it
  will  be  moved  to  line  100  in  playback  mode,  too. No GOTO
  requester  will  appear).  Macro  recording is based on low-level
  events  like  keystrokes or menu selections. For example pressing
  of  the  F10 key is recorded as "F10 has been pressed", no matter
  what  action  has  been  assigned  to that key. If you change key
  bindings  or menus after recording a macro, the macro will behave
  differently. This command is assigned to the SHIFT-F10 key, too.


@endnode
@node M6.6 "macros/play"
  macros/play of: @{" MACRO MENU " link MACRO_MENU}

  Replay  a  prevoiusly  recorded  keyboard/command  sequence  (use
  SHIFT+F10  or @{" macros/record start-stop " link M6.5} to enter/leave recording
  mode).  This command is assigned to the F10 key, too. If you want
  to  replay  the  macro  several  times,  use  the  @{" misc/command " link M5.21}
  requester  instead - for example you could enter MACRO PLAY LOOPS
  10 to run the sequence ten times.


@endnode
@node M6.7 "macros/load"
  macros/load of: @{" MACRO MENU " link MACRO_MENU}

  Load  a  recorded  keyboard/command  sequence  to  be replayed by
  @{" macros/play " link M6.6}  (or  by  pressing the F10 key). In generally it is
  more  convenient  to  assign often used sequences to keys or menu
  items (see @{" MACRO " link MACRO} command] instead of using this function.


@endnode
@node M6.8 "macros/save"
  macros/save of: @{" MACRO MENU " link MACRO_MENU}

  Save   a   recorded   keyboard/command   sequence,   recorded  by
  @{" macros/record start-stop " link M6.5}. Sequences related to GoldED should be
  written  to  the  GoldED:Macros drawer. Default file extension is
  "*.ged".


@endnode
@node M6.10 "macros/dmake"
  macros/dmake of @{" MACRO MENU " link MACRO_MENU}

  Does  look for a makefile called 'dmakefile' within the directory
  of  the  current  text.  If  one  is  found,  dmake of the DICE C
  compiler is evoked (won't work if you don't own DICE, of course).
  This  menu  command  actually  is  a macro. It fails if the ARexx
  server  RexxMast  is  not  running in the background. Usually the
  ARexx  server  is  installed during startup (s:startup-sequence):
  run >NIL: sys:system/RexxMast


@endnode
@node M6.11 "macros/compile & link"
  macros/compile & link of: @{" MACRO MENU " link MACRO_MENU}

  Compiles  and links the text using DCC of the DICE C distribution
  (won't  work  if  you  don't  own  DICE). To be more precisely: a
  temporary copy of your text (T:TEST.c) is created, this is passed
  to  DCC  to  create  an  executable  called  T:TEST.  If  DCC has
  compiled/linked your file (without error/warnings), you are asked
  wether  you  want  to  run  it. Example: type the following lines
  (without left margin) and then call the compile & link command:

                         main()
                         {
                             printf("hello world !");
                             exit(0);
                         }


@endnode
@node CONFIG_MENU "CONFIG MENU"
                               CONFIG MENU 
                        menu tree of config menu 


         @{"  config/keyboard bindings  " link M7.0} @{"  config/menus          " link M7.9}
         @{"  config/TABs               " link M7.1} @{"  config/printer        " link M7.11}
         @{"  config/references         " link M7.3} @{"  config/misc           " link M7.12}
         @{"  config/dictionary         " link M7.4} @{"  config/calender-time  " link M7.13}
         @{"  config/indention          " link M7.6} @{"  config/save           " link M7.15}
         @{"  config/display            " link M7.8} @{"  config/load           " link M7.16}


  Use these functions to ajust GoldED to your likings; don't forget
  to   use   @{" config/save " link M7.15}   before  you  leave  the  editor;  your
  definitions would be lost otherwise.

  Configuration guidelines 

  I'd  like  to  have  other  people  developing their own menus or
  keyboard  assignments and release them to the public. I'd like to
  include some into the unregistered release of GoldED, too. Useful
  guidelines for contributions:

  Use  standard shortcuts for standard menu functions. For example,
  do  not  decide  for  A  as shortcut for 'open file' if all other
  editors use O.

  Provide  a guide help file (AmigaGuide) for your menu definitions
  respectively  a  documentation  of your keyboard assignments. Use
  the  same language for menus & help text. Feel free to copy parts
  of the original GoldED manual(s).

  Use  a  symbolic  path  when  referencing external files/programs
  through  menu  calls.  Suggested:  'GoldED:tools'  for  DOS tools
  respectively   'GoldED:ARexx'  for  ARexx  scripts.  Do  not  use
  something like this: 'dh0:c/muchmore'.

  Provide  an  'Installer'  script to set up a working environment.
  Feel  free to copy parts of the original script(s) that came with
  GoldED.


@endnode
@node M7.0 "config/keyboard bindings"
  config/keyboard bindings of: @{" CONFIG MENU " link CONFIG_MENU}

  Open  keyboard  binding  requester  used to map desired action to
  keys  or  key-qualifier  combinations  (GoldED does recognize the
  qualifiers  ALT,  CTRL  and SHIFT). As long as you don't bind any
  action  to  a  key,  the  default  keymap  is used whenever it is
  possible:  Pressing  the  'A'  key would insert an 'A' at current
  cursor  position.  Non-character  keys (like the cursor keys) are
  initially unset, i.e. they wouldn't have the expected effect like
  moving  the  cursor  (however  GoldED  is shipped with this stuff
  already  set  up).  To  make  the cursor keys move the cursor you
  would  have to bind 'move cursor' commands to these keys. Setting
  up a key (-combination) is easy: Simply use the record gadget and
  press  the  desired  key (-combination). A new requester will pop
  up,  asking  you  for what action is to be assigned to this event
  (see @{" Event definition " link EVENT_DEFINITION}).
  
@endnode
@node EVENT_DEFINITION "Event definition"
  Event definition 

  You may assign any of the editor's @{" internal commands " link INTERNAL_COMMANDS} to a given
  event (event = keystroke or menu selection). Or a DOS command. Or
  a  macro.  Or  just  a  string.  Write  the  command/script  name
  respectively  string  to  the  CMD gadget and set the event type;
  supported  event types are internal, arexx, shell, text or dummy.
  If you set the event type to 'dummy', you would disable the event
  (i.e.  nothing would happen if the event is encountered). The DIR
  gadget  may  be used to set the current directory while the event
  is  processed.  This  is supported for events of type shell only.
  You  may set the output handle (e.g. 'con:0/0/640/400') using the
  OUTPUT  gadget;  this is supported for events of type 'arexx' and
  'shell'  only. GoldED defaults to opening a console window on its
  screen  if  the  output handle is omitted. The string contents of
  the CMD/OUTPUT/DIR gadgets are 'interpreted' before use (exept if
  the  event  is  of  type  'internal');  see @{" Magic codes " link MAGIC_CODES}. 

  Select  'shanghai'  if  you want to make all windows use GoldED's
  screen  during  event  processing.  You  have to specify how long
  shangai  mode  is  to be turned on; units are seconds. Toggle the
  AutoSave gadget to ON if you want the text to be saved before the
  event  is processed. Turn Async ON to make events of type 'shell'
  asynchronous.  Finally  you  may  assign  a help text to an event
  using  the  'hyper'  gadget:  enter  a node name of the 'current'
  AmigaGuide  database (see @{" config/menus " link M7.9}). The help text assigned
  to a menu event is displayed during @{" MenuHelp " link GETTING_STARTED} processing. If you
  don't  provide  a  node  name,  GoldED  defaults  to  use  M<menu
  number>.<item number> (e.g. M1.2).

@endnode
@node MULTIPLE_COMMANDS "Multiple commands"
  Multiple commands 

  Assignment  of  multiple commands to events is not supported. Use
  an  ARexx  script  instead.  However,  you  may  use the AmigaDos
  command  RX,  too  (i.e.  event  type  =  shell): RX does support
  multiple  arguments,  separated  by a semicolon. Example usage to
  open  the  info  requester  twice (might be mapped to a menu or a
  key):
           rx "address 'GOLDED.1'; INFO USER; INFO USER"

  Since  GoldED  would  parse this command before passing it to RX,
  we'll  have  to rewrite it to ensure that quotation marks are not
  stripped  during  parsing. For example one might decide to insert
  quotation  marks using their ASCII code (see @{" Magic codes " link MAGIC_CODES}) which
  is  34.  Additionally  the  fixed  port name in the example above
  should be replaced by the actual port name:

      "rx " %34 "address '" \HOST "'; INFO USER; INFO USER" %34

@endnode
@node MAGIC_CODES "Magic codes"
  Magic codes 

  Interpretation  of  strings  (see  @{" event definition " link EVENT_DEFINITION}) means that
  some  predefined  symbols like \DATE are replaced by their actual
  value  if  the  string  is  finally referenced by GoldED; quote a
  string  if  you  don't  want  it to be interpreted. The following
  keywords are supported:


             "<characters>" ..... character constant
             %<number> .......... inserts ASCII code <number>
             \n ................. return
             \t ................. tab
             \b ................. move cursor left
             \" ................. quote
             \NAME .............. current file name
             \CON ............... window dimension string
             \DATE .............. current date
             \TIME .............. current time
             \SCREEN ............ screen name
             \HOST .............. name of GoldED's ARexx port
             $<name> ............ environment variable <name>


@endnode
@node M7.1 "config/TABs"
  config/TABs of: @{" CONFIG MENU " link CONFIG_MENU}

  Open  TAB  configuration  requester.  GoldED does support several
  modes  as  far as TABs are concerned: solid TABs as well as light
  TABs  are available (see: @{" control/toggle TAB mode " link M4.11}. Additionally
  you  may  decide  for  distinctive  TABs  or  regular ones: while
  regular  TABs  are  set using the 'tab key' slider (e.g. to every
  4th  column),  distinctive  tabs are set using a listview; simply
  enter desired TAB positions.

  GoldED  does  never use TABs when writing a file to disk, however
  some other editors do, usually replacing eight spaces by a single
  TAB.  GoldED  does  resubstitute these  TAB codes by spaces while
  loading (see @{" project/load " link M0.6}). Usually one TAB code is replaced by
  eight  spaces.  Use the 'tab file' gadget to change this. Setting
  it to four would make GoldED use four spaces for each TAB).


@endnode
@node M7.3 "config/references"
  config/references of: @{" CONFIG MENU " link CONFIG_MENU}

  Open  requester to set up the editor's reference system. Whenever
  the user asks for a reference (see @{" find/reference " link M3.9}), GoldED does
  examine   its  reference  database.  This  database  consists  of
  keyword-filename pairs: one reference file for each keyword (e.g.
  RastPort)  GoldED  knows about. If a match for the user's request
  is found, the corresponding reference file is loaded.
  
  Database creation

  Use  the  GET  gadget  respectively the string gadget to select a
  database;  if  you  select a non-existant one, it is created (the
  editor  is  shipped  without  a  database; suggested file name is
  's:GoldED.refs').  A  new  data  base initially is empty. All you
  have  to do in order to fill the database is selecting some files
  using  the  ADD  gadget  or directories using the ADD DIR gadget:
  GoldED  will  scan all selected files for keywords. Scanning mode
  depends  on  the  file  name:  if  the  file name suffix is '.c',
  function  names  are  extracted. If the suffix is '.h', structure
  definitions  are  exctracted. Several other types are recognized,
  too  (see @{" find/functions " link M3.20}). You may even change the default file
  extensions recognized by the scanner (see @{" find/functions " link M3.20}).
  

@endnode
@node M7.4 "config/dictionary"
  config/dictionary of: @{" CONFIG MENU " link CONFIG_MENU}

  Opens requester to edit the dictionary. The dictionary is used by
  the  editors  @{" APC " link M3.11} facility (to complete expressions) as well as
  by its AutoCase support:

  AutoCase 

  If  you  enable  AutoCase  checking,  the  editor will search the
  current  line  for words present within the dictionary, too. This
  check is performed when the cursor leaves the current line. It is
  case-insensitive  (e.g. Rastport and RastPort would be recognized
  as  the  same expression). If a match is found, it is replaced by
  the dictionary entry, thus possibly correcting case.

  General hints

  Don't  make  the  dictionary to big - the smaller it is, the more
  efficient it will be. Only add unique names to it - otherwise the
  editor  might  try  to correct the spelling of a word even if you
  don't  want  it.  For  example  it wouldn't be a good idea to add
  'RastPort'  for  this  would  prevent  you  from using a variable
  'rastport'  within  your  programm. However, 'struct RastPort' is
  fine,  since this is the only way to write this kind of structure
  definition   (at   least  as  far  as  Amiga  C  programmers  are
  concerned).

  Parenthesis check 

  Toggle  the ()-check gadget to ON if you want the current line to
  be checked for correct use of braces as soon as the cursor leaves
  it  (see  @{" misc/check " link M5.11}). Unfortunately this check is performed if
  the  display  is  shifted,  too,  due  to  the internal design of
  GoldED.  Don't  use  this  option  for  'free-style'  programming
  languages like C.


@endnode
@node M7.6 "config/indention"
  config/indention of: @{" CONFIG MENU " link CONFIG_MENU}

  AutoIndention ,  SmartIndention ,  SmartIndention 

  Open  requester  to  set the indention scheme. Turn AutoIndention
  ON,  if you want the cursor to be indented the same amount as the
  previous  line after a CR (see @{" return key " link RETURN_KEY}). Turn SmartIndention
  ON  if  you  want automatic indention after user-defined keywords
  (e.g. after IF); use the listview gadget to set desired keywords.


@endnode
@node M7.8 "config/display"
  config/display of: @{" CONFIG MENU " link CONFIG_MENU}

  Display mode ,  Font ,  Font 

  Open  requester to set up display (i.e. resolution, fonts, window
  look  and  more).  Some gadgets of this requester are 'dangerous'
  since  they  require  closing  down  the  current windows/display
  temporarily:  the  editor might not be able to reopen its display
  if you are _very_ short of memory.

  You  may  select  three  different fonts to be used for the text,
  within  requesters  or  for  menus  (if  GoldED  runs on a custom
  screen) These fonts (apart from the screen font) have to be fixed
  width fonts.

  3D-Look

  The  3D  gadget  toggles  the OS2 color scheme (new look) on/off.
  Choose the mode you like better; the old look is a good choice if
  the  background color is black. GoldED won't use icons within its
  requesters if the new look is disabled.

  Borderless 

  Two basic window types are available: Borderless windows (looking
  like  a  screen)  and  normal  windows.  You  can  have  only one
  borderless window per screen; borderless windows are disabled if
  GoldED doesn't run on a custom screen for this reason.

  Shanghai

  Turn  shanghai  mode ON if you want to force all windows ususally
  opening  on  the  workbench  screen  to open on GoldED's (custom)
  screen.  Use  not  recommended  if GoldED's screen is a one-plane
  screen (many programs won't look that pleasing then).


@endnode
@node M7.9 "config/menus"
  config/menus of: @{" CONFIG MENU " link CONFIG_MENU}

  Open  menu  requester; used to set up menus. You may have as many
  menu  titles  (left  listview)  as  you  like - up to intuition's
  limit. Each menu may have as many menu entries as you like (right
  listview)  -  up to intuition's limit once more. Doubleclick at a
  menu item to set its action (see @{" event definition " link EVENT_DEFINITION}). Use the '^'
  gadget  to  move  a  listview entry one position up (respectively
  down  if you use the SHIFT key simultanously). The 'hyper' string
  gadget   selects  a  guide  file  ('database'),  containing  menu
  descriptions.  This  database  is used as default database by all
  commands related to AmigaGuide handling (e.g. @{" misc/help " link M5.0}).


@endnode
@node M7.11 "config/printer"
  config/printer of: @{" CONFIG MENU " link CONFIG_MENU}

  Printer  definition  requester.  Used to define printing mode for
  @{" project/print " link M0.22}  as  well  as  @{" block/print " link M1.23}. Since all output of
  GoldED  goes  to the standard printer driver, this works with any
  printer  (while  @{" misc/HiSpeed " link M5.16}  does support PCL printers only).
  Contents  of  the  'init'  string  gadget are send to the printer
  after  all other initialization (e.g. quality selection) has been
  done. This gadget may be used to pass printer specific data, too:
  The  gadget's  contents  are interpreted (see @{" magic codes " link MAGIC_CODES}), you
  may  easily  pass  a  so called aRaw to the printer device: '27 [
  <bytes>  34 r'. To send a 7-bytes command (e.g. "0123456") to the
  printer, enter:

                        %27 "[7" %34 "r" "0123456"


@endnode
@node M7.12 "config/misc"
  config/misc of: @{" CONFIG MENU " link CONFIG_MENU}

  Open  main  preferences  requester. This requester is used to set
  several  'Auto'  features as well as the backup handling, default
  protection  bits,  fold  markers  and  last  but  not  least  XPK
  compression mode (see @{" project/save as XPK " link M0.18}):

  AutoFold ,  AutoLoad ,  AutoCenter ,  AutoLoad ,  AutoCenter 

  If  AutoFold  is  enabled,  the editor does look for fold markers
  after  loading; if some are found, the corresponding sections are
  folded (see @{" Folding " link M4.7}); happens before the text is displayed. Use
  the  fold  marker  gadgets (start/end) to set the marker sequence
  for  start  respectively end of folds. The shorter this sequences
  are,  the  faster  folding  will  be. Using the same sequence for
  marking  start/end  of  sections  to  fold speeds up folding even
  more.  However, this would prevent you from using nested folding:
  nested folding requires different markers.

  If AutoLoad is enabled, GoldED attempts to load your last project
  during startup  - unless file names are specified.

  If  AutoCenter is enabled, window positions are not read from the
  configuration file. Instead, GoldED attempts to center windows on
  screen (only visible section considered).

  XPK compression mode

  The  XPK  listview  presents a list of available XPK compressors,
  found  within the libs:compressors subdirectory. Additionally you
  may  enter a passowrd (used by some XPK encryption libraries) and
  set  efficiency  for  compression  (0%  to 100%). Please read the
  original XPK documentation.

  Backup creation,  AutoBackup 

  The  editor attempts to backup old copies of a file before saving
  a  new  version  if  'create *.bak' is enabled (otherwise the old
  version is overwritten). Backups are written to any path you like
  (see  backup path gadget). Enable AutoSave if you want backups of
  your  windows every x minutes (use gadget below AutoSave to enter
  period).  Toggle  'ask' gadget to ON, if you want to be asked for
  confirmation of AutoBackup events.

  Create *.info

  If  'create  *.info'  is ON, the editor does generate an icon for
  each  file  saved to disk (unless an old one exists). The default
  tool of icons created by the editor is GoldD.

  File protection bits

  These gadgets (read/del/write/script) are used to set the default
  bits  for  a  new  text  (e.g. created by @{" project/more ed " link M0.4}). Use
  @{" project/bits " link M0.21} to set the actual bits of a document.

  Startup macro 

  The  startup  ARexx  macro  is executed once after the editor has
  been  launched,  windows already open. Have a look at the section
  about  the  editor's  @{" ARexx port " link AREXX_PORT} as far as ARexx programming is
  concerned.  You  could  use  the  macro  to  customize the GoldED
  environment  according to the type of files loaded during startup
  (e.g.  switch  to a C programming environment). Leave the startup
  gadget  empty  if you don't need automatic execution of a startup
  macro.


@endnode
@node M7.13 "config/calender-time"
  config/calender-time of: @{" CONFIG MENU " link CONFIG_MENU}

  Attempts  to  open  the  time/date  preferences  program  of your
  workbench (must be placed within sys:prefs).

@endnode
@node M7.15 "config/save"
  config/save of: @{" CONFIG MENU " link CONFIG_MENU}

  Save  configuration  to  a preferences file. Has to be used after
  GoldED's  settings  have  been changed if you don't want to loose
  your  definitions.  Default settings file is envarc:GoldEd/GoldED
  (this  file  is  used  during  the  editor's  startup if no other
  configuration is specified).


@endnode
@node M7.16 "config/load"
  config/load of: @{" CONFIG MENU " link CONFIG_MENU}

  Load  a  configuration  file  &  adjust to the new settings. This
  operation  includes closing down and reopening all windows; might
  be  a  dangerous  call if not enough memory is available (i.e. if
  the editor isn't able to reopen the windows).


@endnode
@node KEYBOARD "Keyboard"
                                Keyboard 

  Please  read  this  chapter  carefully  if  you want to take full
  advantage   of  this  editor's  features.  Keys  usually  perform
  different tasks depending on what qualifier key(s) is/are pressed
  simultanously. Qualifier keys are SHIFT, ALT or CTRL. For example
  the cursor keys map to seven different funcions. Key bindings are
  not  fixed; use @{" config/keyboard bindings " link M7.0} to adjust them to your
  likings.  This  manual  does  describe  the  default  setup.  The
  following descriptions are available:


                   @{"  Cursor keys  " link CURSOR_KEYS} @{"   DEL key   " link DEL_KEY}
                   @{"  HELP key     " link HELP_KEY} @{"   TAB key   " link TAB_KEY}
                   @{"  RETURN key   " link RETURN_KEY} @{"   ESC key   " link ESC_KEY}
                                   @{"   F-keys    " link F-KEYS}


@endnode
@node CURSOR_KEYS "Cursor keys"
                            Cursor keys 
                        Speeds of scrolling 
  UP/DOWN + ALT

  This  sequence  provides  fast scrolling (up or down) - it is one
  oft  GoldED's most useful key combinations. The cursor won't move
  during  fast  scrolling  (i.e.  it will stay in the middle of the
  screen if it was there before you switched to fast scrolling).

  UP/DOWN + SHIFT

  Go  to  next  (DOWN)  respectively  previous  (UP) page. Pages do
  overlap a bit to make navigation more comfortable.

  UP/DOWN + CRTL

  Fast  jump:  the  cursor  moves to the next quarter of your text.
  Useful  to  roughly  set  a new position before using fast/normal
  scrolling for fine tuning.

  LEFT/RIGHT + ALT

  Shifts  the  display area to the left respectively right. Usually
  display  is  shifted  automatically  if  the  cursor  reaches the
  right/left window borders. This function is useful if you want to
  shift the display without moving the cursor at all.

  LEFT/RIGHT + CTRL

  This  is a shifting function: mark same lines using @{" block/mark " link M1.0},
  then use this key combination to shift (indent) the block. Mainly
  used  by  programmers to ensure a proper indention sheme. Usually
  the  marked  lines  are  shifted by one column; use the SHIFT key
  simultanously to set shifting distance to TAB distance.

  LEFT/RIGHT + SHIFT

  Moves  cursor  to  the beginning of the next (RIGHT) respectively
  previous (LEFT) word.
  
  LEFT/RIGHT + SHIFT + ALT

  Moves  cursor to the end of the current/next (RIGHT) respectively
  previous (LEFT) word.


@endnode
@node HELP_KEY "HELP key"
                                HELP key 

  HELP

  Fold/unfold  current  section:  Unfold if cursor is placed over a
  fold  header  (see  @{" Folding " link M4.7}), otherwise look for fold markers &
  fold lines between markers (cursor must bee placed between a fold
  start marker and a folf end marker).

  HELP + CTRL

  Fold/unfold  the whole text: Unfold all folded sections if cursor
  is  placed  on  a fold header (see @{" Folding " link M4.7}), otherwise fold all
  sections surrounded by fold markers.


@endnode
@node TAB_KEY "TAB key"
                              TAB key 

  TAB  (+ SHIFT)

  Move cursor to next TAB position. This editor does support simple
  TABs  (e.g.  every  4th  column) as well as distinctive TABs (any
  column  you want). Use @{" config/tabs " link M7.1} to set mode & TAB positions.
  Press  the  SHIFT  key  simultanously  if you want to jump to the
  previous  instead  of  the  next tab position (backtab). TABs are
  either  solid  (i.e.  they  behave  as if they were a sequence of
  spaces)  or  light  (i.e.  they  simply  move  the cursor without
  inserting any character); use either @{" control/toggle tab mode " link M4.11} or
  @{" config/tabs " link M7.1} to switch from light to solid and vice versa.
  
  TAB + ALT (+ SHIFT)

  Usually  either  distinctive  or normal TABs are active. However,
  you can switch to distinctive tabs on the fly by holding down the
  ALT key while using TAB or TAB SHIFT.


@endnode
@node RETURN_KEY "RETURN key"
                                RETURN key 

  RETURN

  Split current line at cursor position & move cursor to next line.
  This editor does support @{" AutoIndention " link M7.6}: if you press the RETURN
  key,  the  current  line's indention is used as default indention
  for  the  next line (i.e. if the current line is indented by four
  columns,  pressing <CR> will move the cursor to the fourth column
  of the next line).

  RETURN + SHIFT

  Same  as  RETURN  but  the current line is not splitted no matter
  where the cursor is positioned so far.

  RETURN + CTRL

  Inserts  an  empty line: the cursor is not moved at all but a new
  line is inserted before the current line.


@endnode
@node DEL_KEY "DEL key"
                                  DEL key 

  DELETE (+ SHIFT)

  Delete  character  at current cursor position, shift rest of line
  one  position  to  the left. Press the shift key simultanously if
  you  want  to  delete  until  the  end of line. You can undo this
  operation using @{" misc/undo line " link M5.8}.

  DELETE + CTRL

  Delete  the  current  line. You can recall up to 50 deleted lines
  using  @{" misc/push line " link M5.5} since lines are not actually lost but put
  to the pick/push buffer.

  DELETE + ALT

  Delete  the next word. You can undo this operation as long as the
  cursor doesn't leave the current line using @{" misc/undo line " link M5.8}.


@endnode
@node ESC_KEY "ESC key"
                                ESC key 


  Trys  to  'complete' the word your cursor is placed over. Example
  usage:  type  'TIG',  then  press  the  ESC  key.  'TIG' would be
  replaced  by  'TAG_IGNORE'  if  the  C-dictionary is present (see
  @{" config/dictionary " link M7.4}  on  how  to  load/edit/create a dictionary).
  GoldED  does  use  a  (simple) pattern matching algorithm to find
  approbiate   dictionary   entries,   so   you   might  use  other
  abbreviations  than  'TIG',  too (e.g. 'TAGI'). This will work as
  long as the first letter of the short form is the first letter of
  the full form. However, the larger your dictionary grows the more
  detailed   your   abbreviations  have  to  be  to  ensure  unique
  identification.


@endnode
@node F-KEYS "F-Keys"
                                 F-Keys 

  Use  the @{" config/keyboard bindings " link M7.0} menu to assign strings, shell
  commands, ARexx macros or one of the editor's @{" internal commands " link INTERNAL_COMMANDS}
  to any key including the function keys. However, some commodities
  do  their  own  function  key  mapping.  If  such  a commodity is
  installed,  the  editor won't notice function key events. Default
  mappings of the function keys are:


        key     decription        see
        -----------------------------------------------------
        F1      open  file        @{" project/load " link M0.6}
        F2      merge file        @{" project/insert " link M0.10}
        F3      print file        @{" project/print " link M0.22}
        F4      hide block        @{" block/hide mark " link M1.1}
        F5      mark line         @{" block/mark " link M1.0}
        F6      find next         @{" find/find next " link M3.1}
        F7      next page         @{" cursor keys " link CURSOR_KEYS}
        F8      set insert mode   @{" control/insert-overwrite " link M4.10}
        F9      toggle TAB mode   @{" control/toggle TAB mode " link M4.11}
        F10     play macro        @{" macros/play " link M6.6}

        SHIFT
        & key   decription        see
        -----------------------------------------------------
        F1      save as           @{" project/save as " link M0.17}
        F2      save as XPK       @{" project/save as XPK " link M0.18}
        F3      quit              @{" project/quit " link M0.24}
        F4      clear text        @{" project/clear text " link M0.3}
        F5      mark line         @{" block/mark " link M1.0}
        F6      replace           @{" find/replace " link M3.4}
        F7      page up           @{" cursor keys " link CURSOR_KEYS}
        F8      overwrite mode    @{" control/insert-overwrite " link M4.10}
        F9      project setup     @{" misc/project setup " link M5.2}
        F10     play macro        @{" macros/record start-stop " link M6.5}


@endnode
@node AREXX_PORT "ARexx port"
                               ARexx port 

  ARexx macros vs. recorded sequences

  GoldED  does  offer  two  kinds  of macros for automated control:
  ARexx  scripts and recorded sequences. ARexx scripts are programs
  quite  similar  to  programming  languages  like  BASIC. They are
  evoked by GoldED (e.g. by setting up a menu item of type 'ARexx';
  see  @{" config/menus " link M7.9}),  but  actually executed by the ARexx master
  server  (part  of  the  Amiga operating system). The ARexx server
  will  examine the script and send messages to GoldED respectively
  recieve  messages  from  GoldED during execution. For example the
  ARexx  server  could  ask  GoldED to jump to a special line if it
  detects  a  GOTO  command  within a script. GoldED would tell the
  ARexx server wether the operation has been successful. Due to the
  flexibility  of  ARexx this is a very powerful method to automate
  control  of  GoldED. However this approach requires at least some
  basic  knowledge  of ARexx. If you need automated control but are
  not  interested  in ARexx you might want to use GoldED's abiltity
  to  record  command  sequences  instead:  Enable  recording using
  @{" macros/record start-stop " link M6.5} and perform a sequence of commands. In
  other  words: make the editor 'learn' how to do it. Once you have
  recorded  a  sequence you may replay it as many times as you like
  (see  @{" macros/play " link M6.6}).  You  may  save sequences @{" macros/save " link M6.8}) or
  assign  them  to  events  like menus or keystrokes using GoldED's
  @{" MACRO " link MACRO}  command.  Sequences  are  far  less  powerful than ARexx
  script. But they are far more handy, too.

  This  section does describe the editor's ARexx interface. You are
  expected  to  be  familar with ARexx basics, i.e. you should know
  about  the purpose of ARexx, how to write scripts, how to talk to
  applications, ...

  ARexx basics

  ARexx  control  of  this editor is somewhat complicated since you
  never  know  how  many editor tasks are running, how many windows
  are  open or what the user is doing when ARexx wants to take over
  control.  It  is  therefore  quite  important  to obey to certain
  rules wich are to be discussed now:

                    1. @{"  Select a host  " link SELECT_A_HOST}
                    2. @{"  Lock a window  " link LOCK_A_WINDOW}
                    3. @{"  Do your job    " link DO_YOUR_JOB}
                    4. @{"  unlock GUI     " link UNLOCK_GUI}

@endnode
@node SELECT_A_HOST "Select a host"
  Select a host 

  If  you run ARexx scripts from within the editor (i.e. if you set
  up  menu items of type 'ARexx' or if you execute the current text
  as  macro  using @{" macros/run text as macro " link M6.1}), any script commands
  which  are  not  part of ARexx itself are sent to the editor (the
  'host')  automatically.  However, if your script is evoked from a
  different  program  (e.g.  rx), it will have to select a port for
  communication: use ADDRESS <port name> for this purpose.
  
  Port name

  The editor's ARexx port is called "GOLDED.1" if the editor is run
  only  once.  The  ARexx  port  of  a further editor task would be
  "GOLDED.2".  Select  @{" project/about " link M0.0}  if  you  want  to  know the
  current  port/screen  name.  Or use the @{" QUERY " link QUERY} command (with the
  HOST  argument)  from  within  a  script.  As long as you use the
  @{" QuickStarter " link GETTING_STARTED} to run GoldED, you usually won't have to deal with
  port names different from 'GOLDED.1'.


@endnode
@node LOCK_A_WINDOW "Lock a window"
  Lock a window 

  Your  script  has  to  tell the editor what window is going to be
  affected  -  use  the @{" LOCK " link LOCK} command (e.g. 'LOCK CURRENT' to lock
  the  current  window). After locking a window, the GUI is locked,
  too,  to prevent the user from disturbing the macro. If you don't
  use  the  lock  command,  your  macro  might still appear to work
  perfectly, but it will break under special circumstances (e.g. if
  the  user  closes  a window while a script is executed). Once you
  have  locked  a  window successfully (ARexx return code RC is 0),
  you  have  to  take  care of unlocking it again on termination of
  your script (see @{" Unlock GUI " link UNLOCK_GUI}).


@endnode
@node DO_YOUR_JOB "Do your Job"
  Do your Job 

  You  can  use any of the editor's @{" internal commands " link INTERNAL_COMMANDS} within your
  macro.  Please  keep  in  mind  that  commands send from ARexx to
  GoldED  are  parsed  twice:  first  by  the  ARexx  server  while
  executing  the  script,  second  by  GoldED  using the ReadArgs()
  function  of  the  dos library. This sometimes screws things up a
  bit  -  especially  as  far  as quotes are concerned. Suggestion:
  Write the lines of your script as if you were talking directly to
  GoldED:  quote strings, command names upercase (step 1). Then put
  the  lines  to  be sent to GoldED into single qutotation marks to
  mark  them  as commands (step 2). Finally double single quotation
  marks  within these lines to prevent ARexx from regarding them as
  string delimiters (step 3). Example:

          step 1:  REQUEST BODY "Hi, I'm an empty macro"
          step 2: 'REQUEST BODY "Hi, I'm an empty macro"'
          step 3: 'REQUEST BODY "Hi, I''m an empty macro"'

  Usually GoldED does pass command results to your script using the
  special  ARexx  variable  RESULT - at least if you have asked for
  results using OPTIONS RESULTS. Some commands like @{" QUERY " link QUERY} support
  specification  of  a  variable name, too, using the VAR/K option.
  Example:      
                    'QUERY ABSLINE VAR LINE'
  
  No  result  is  returned if a command fails - instead the special
  variable  RC  is set to the error level: 5 = warning, 10 = error,
  20 = fatal error. RC would be 0 if a command has been successful.
  You  have  to  use  the OPTION FAILAT command of ARexx to prevent
  ARexx  from stopping execution if RC is not NULL, i.e. to recieve
  RC  return  codes  at  all. The special variable RC2 will keep an
  error text if a command has failed (i.e. if RC is not 0).


@endnode
@node UNLOCK_GUI "Unlock GUI"
  Unlock GUI 

  An  ARexx script must @{" unlock " link UNLOCK} the GUI before it terminates, if a
  prior call to @{" Lock " link LOCK} (see @{" Lock a window " link LOCK_A_WINDOW}) has been succesful. It
  mustn't  use  unlock  if  a  prior  attempt  to  lock has failed.
  Omitting  unlock  will leave the editor dead-locked, so take care
  to  unlock  the  GUI  even  if your script breaks (maybe due to a
  systax  error).  This  can  be  achieved using the error handling
  facilities  of  ARexx (e.g. SIGNAL or OPTION FAILAT). Just have a
  look  at the scripts in the GoldED:ARexx drawer. As a last resort
  the  Unlock  macro  is provided: simple doubleclick at its icon -
  all  editors  will  be unlocked (wich is a dangerous operation if
  one of those tasks is processing an ARexx script).


@endnode
@node INTERNAL_COMMANDS "Internal commands"
                            Internal commands 


  GoldED  offers  a set of about 250 commands (see @{" Command list " link COMMAND_LIST}),
  supported  by all interfaces of GoldED: you may use them in ARexx
  macros,  bind  them to menu items, attach them to keys or execute
  them  directly  using  @{" misc/command " link M5.21}.  As  far  as arguments are
  concerned, the DOS rules apply since GoldED does use the ReadArgs
  function  of OS2.0 just like most CLI commands: strings containig
  spaces  must  be  quoted,  option  keywords  may  be uppercase or
  lowercase  (however  the  command name itself must be uppercase).
  Command  templates/options  are  described in the same way as CLI
  commands are described. Example:

            PRINT FORCE/S,ITALICS/K,ALL/S,LPI/N,CONFIG/K

  This   PRINT  command  obviously  accepts  five  options:  force,
  italics,  all, lpi and config. The option force is a switch (/S):
  it  does  make the print command behave in a special way decribed
  in  this  manual _if_ this option is specified. The second option
  introduces  a keyword (/K) - value pair; e.g. print italics=true.
  The  equality  sign  may  be omitted. Options of type '/K' - just
  like  any  other  options  apart from /A ones - do not have to be
  specified.  If they are specified, a further argument (like true)
  is  expected. Suported arguments depend on the command: If one of
  the  commands  below offers an option described as BOOL, it would
  accept  the  strings  true,  false and probably toggle, too. If a
  command's option is marked as STRING, any text string is accepted
  as argument (e.g. print config "S:prt.prefs"). The 4th keyword in
  the  example  above  (lpi)  introduces a numerical (/N) argument;
  example:  print  lpi=10.  The  equality  sign may be omitted once
  more. The valid argument range depends on the command (e.g. byte,
  word,  unsigned  word  or  long).  Further  option types are "\N"
  (accepts rest of line as string), "\M" (accepts multiple strings)
  and "\A" (means: this argument must be specified).


@endnode
@node COMMAND_LIST "Command list"
  Command list  (use: see @{" internal commands " link INTERNAL_COMMANDS}):

  @{"  BACK    " link BACK} @{"  DOWN    " link DOWN} @{"  HELP    " link HELP} @{"  MISC   " link MISC} @{"  PREVEND  " link PREVEND} @{"  SMARTCR " link SMARTCR}
  @{"  BIND    " link BIND} @{"  DPAGE   " link DPAGE} @{"  INDENT  " link INDENT} @{"  MODE   " link MODE} @{"  PRINT    " link PRINT} @{"  TAB     " link TAB}
  @{"  BITS    " link BITS} @{"  ENDWORD " link ENDWORD} @{"  INFO    " link INFO} @{"  MORE   " link MORE} @{"  PROJECT  " link PROJECT} @{"  TABS    " link TABS}
  @{"  BLOCK   " link BLOCK} @{"  EXALL   " link EXALL} @{"  INSERT  " link INSERT} @{"  NAME   " link NAME} @{"  PUSH     " link PUSH} @{"  TASK    " link TASK}
  @{"  BRACKET " link BRACKET} @{"  FDOWN   " link FDOWN} @{"  KEY     " link KEY} @{"  NEW    " link NEW} @{"  QUERY    " link QUERY} @{"  TEXT    " link TEXT}
  @{"  CLIP    " link CLIP} @{"  FILE    " link FILE} @{"  LAYOUT  " link LAYOUT} @{"  NEXT   " link NEXT} @{"  QUIT     " link QUIT} @{"  UNDO    " link UNDO}
  @{"  CMD     " link CMD} @{"  FIND    " link FIND} @{"  LEFT    " link LEFT} @{"  OPEN   " link OPEN} @{"  REFRESH  " link REFRESH} @{"  UNLOCK  " link UNLOCK}
  @{"  CODE    " link CODE} @{"  FIRST   " link FIRST} @{"  LINES   " link LINES} @{"  PATH   " link PATH} @{"  REMAP    " link REMAP} @{"  UP      " link UP}
  @{"  COLON   " link COLON} @{"  FOLD    " link FOLD} @{"  LOCK    " link LOCK} @{"  PHRASE " link PHRASE} @{"  REPLACE  " link REPLACE} @{"  UPAGE   " link UPAGE}
  @{"  CONFIG  " link CONFIG} @{"  FORMAT  " link FORMAT} @{"  MACRO   " link MACRO} @{"  PING   " link PING} @{"  REQUEST  " link REQUEST} @{"  USE     " link USE}
  @{"  CR      " link CR} @{"  FREEZE  " link FREEZE} @{"  MARK    " link MARK} @{"  PONG   " link PONG} @{"  RIGHT    " link RIGHT} @{"  VIEW    " link VIEW}
  @{"  DEL     " link DEL} @{"  FUNC    " link FUNC} @{"  MAXDOWN " link MAXDOWN} @{"  POP    " link POP} @{"  SAVE     " link SAVE} @{"  WINDOW  " link WINDOW}
  @{"  DELETE  " link DELETE} @{"  FUP     " link FUP} @{"  MAXUP   " link MAXUP} @{"  PREFS  " link PREFS} @{"  SCREEN   " link SCREEN} @{"  XREF    " link XREF}
  @{"  DIR     " link DIR} @{"  GOTO    " link GOTO} @{"  MENUS   " link MENUS} @{"  PREV   " link PREV} @{"  SHIFT    " link SHIFT}

@endnode
@node BACK "BACK"
  BACK 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: BACK

  option        description
  --------------------------------------------------------
  (no options)  backspace operation


@endnode
@node BIND "BIND"
  BIND 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: BIND

  option        description
  -----------------------------------------------------------------
  (no options)  open keyboard requester (command assignement)


@endnode
@node BITS "BITS"
  BITS 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: BITS

  option        description
  -----------------------------------------------------------------
  ASK/S         open a requester to edit protection bits/comment
  R/K           set readable bit  (BOOL)
  W/K           set writeable bit (BOOL)
  D/K           set deletable bit (BOOL)
  S/K           set script bit    (BOOL)
  COMMENT/K     set comment       (STRING)


@endnode
@node BLOCK "BLOCK"
  BLOCK 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: BLOCK

  option        description
  -----------------------------------------------------------------
  UPPER/S       make block uppercase
  LOWER/S       make block lowercase
  SORT/S        sort block
  COPY/S        copy block to cursor position
  MOVE/S        move block to cursor position
  HIDE/S        hide marker after operation


@endnode
@node BRACKET "BRACKET"
  BRACKET 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: BRACKET

  option        description
  -----------------------------------------------------------------
  CHECK/S       check use of () in current line


@endnode
@node CLIP "CLIP"
  CLIP 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: CLIP

  option        description
  -----------------------------------------------------------------
  CUT/S         move block to clipboard
  COPY/S        copy block to clipboard
  PASTE/S       insert clipboard contents at cursor position


@endnode
@node CMD "CMD"
  CMD 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: CMD

  option        description
  -----------------------------------------------------------------
  (no options)  open command requester


@endnode
@node CODE "CODE"
  CODE 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: CODE

  option        description
  -----------------------------------------------------------------
  SHOW/S        show ASCII code of character under cursor
  SET/N         insert code (UBYTE)
  ASK/S         ask for ASCII code to be inserted
  TABLE/S       open character set table requester

  Comment: The SET option is influenced by current writing mode: in
  insert  mode  a  character  is  inserted,  in  overwrite mode the
  character under the cursor is overwritten.


@endnode
@node COLON "COLON"
  COLON 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: COLON

  option        description
  -----------------------------------------------------------------
  (no options)  insert semicolon and possibly a CR (return)

  Comment:  Suggested use is mapping to the ;-Key. Useful for C/C++
  programmers. The editor tries to figure out wether a CR should be
  inserted  (e.g.  no  CR is inserted if the semicolon is part of a
  'for'   statement).   Press  CTRL  simultanously  to  disable  CR
  insertion temporarily.


@endnode
@node CONFIG "CONFIG"
  CONFIG 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: CONFIG

  option        description
  -----------------------------------------------------------------
  SPLIT/K       output path prefix (STRING)

  Comment:  This  function  splits  the  current configuration into
  several  files  (menu  definition  file, dictionary, ...). Mainly
  used during devlopment of GoldED.


@endnode
@node CR "CR"
  CR 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: CR

  option        description
  -----------------------------------------------------------------
  (no options)  <RETURN> command; splits line at cursor position

  Comment: This function is influenced by the current setup (e.g.
  by the indention mode settings).


@endnode
@node DEL "DEL"
  DEL 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: DEL

  option        description
  -----------------------------------------------------------------
  (no options)  <DELETE> operation (deletes character under cursor).


@endnode
@node DELETE "DELETE"
  DELETE 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: DELETE

  option        description
  -----------------------------------------------------------------
  WORD/S        delete next word
  EOL/S         delete until end of line
  LINE/S        delete current line
  BLOCK/S       delete block
  COLUMN/S      delete column (see AT/N) from block
  AT/N          column to be deleted (UWORD); defaults to current


@endnode
@node DIR "DIR"
  DIR 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: DIR

  option        description
  -----------------------------------------------------------------
  ASK/S         open requester to set 'current directoy'
  NEW/F         set 'current directory' (STRING)

  Comment:  the  current  directory is passed to any program run by
  GoldED  (e.g. a shell using @{" misc/new shell " link M5.14}). It is used by many
  of GoldED's internal functions, too.


@endnode
@node DOWN "DOWN"
  DOWN 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: DOWN

  option        description
  -----------------------------------------------------------------
  (no options)  move cursor one line down


@endnode
@node DPAGE "DPAGE"
  DPAGE 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: DPAGE

  option        description
  -----------------------------------------------------------------
  (no options)  show next page


@endnode
@node ENDWORD "ENDWORD"
  ENDWORD 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: ENDWORD

  option        description
  -----------------------------------------------------------------
  (no options)  move cursor to end of word


@endnode
@node EXALL "EXALL"
  EXALL 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: EXALL

  option        description
  -----------------------------------------------------------------
  (no options)  Examine text

  Comment:  To  be  used  within  ARexx macros only. Used to update
  variables related to text statistics (see @{" QUERY " link QUERY}).


@endnode
@node FDOWN "FDOWN"
  FDOWN 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: FDOWN

  option        description
  -----------------------------------------------------------------
  (no options)  scroll down in fast mode


@endnode
@node FILE "FILE"
  FILE 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: FILE

  option        description
  -----------------------------------------------------------------
  DELETE/S      delete file
  NAME/K        file to delete (STRING)
  FORCE/S       don't ask for confirmation

  Comment: Protected files are not deleted unless the FORCE mode is
  used.


@endnode
@node FIND "FIND"
  FIND 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: FIND

  option        description
  -----------------------------------------------------------------
  STRING/K      pattern to search for (STRING)
  COUNT/S       count pattern (doesn't affect cursor position)
  PREV/S        jump to previous occurrance
  NEXT/S        jump to next occurance
  ASK/S         open requester
  CASE/K        case (in)sensitive (BOOL)
  QUIET/S       don't complain about missing pattern ('not found')


@endnode
@node FIRST "FIRST"
  FIRST 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: FIRST

  option        description
  -----------------------------------------------------------------
  (no options)  move to beginning of line


@endnode
@node FOLD "FOLD"
  FOLD 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: FOLD

  option        description
  -----------------------------------------------------------------
  OPEN/K        open respectively close fold(s) (BOOL)
  ALL/S         consider all lines
  TOGGLE/S      toggle fold (open/close)


@endnode
@node FORMAT "FORMAT"
  FORMAT 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: FORMAT

  option        description
  -----------------------------------------------------------------
  LINES/S       select current paragraphe for formatting
  MARK/S        select block for formatting
  LEFT/S        make selected area left -aligned
  RIGHT/S       make selected area right-aligned
  BLOCK/S       make selected area block-aligned
  CENTER/S      center selected area


@endnode
@node FREEZE "FREEZE"
  FREEZE 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: FREEZE

  option        description
  -----------------------------------------------------------------
  CURRENT/S     freeze current window
  ASK/S         ask for text to unfreeze


@endnode
@node FUNC "FUNC"
  FUNC 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: FUNC

  option        description
  -----------------------------------------------------------------
  C/S           set mode to C
  BASIC/S       set mode to BASIC
  A68K/S        set mode to Assembler
  PASCAL/S      set mode to Pascal
  AUTODOC/S     set mode to AutoDoc
  STRUCT/S      set mode to C-Header

  Comment:  scans text for structures, functions, ... (depending on
  selected  mode) to make up an index. If no mode is specified, the
  current mode is used.


@endnode
@node FUP "FUP"
  FUP 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: FUP

  option        description
  -----------------------------------------------------------------
  (no options)  scroll upwards in fast mode


@endnode
@node GOTO "GOTO"
  GOTO 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: GOTO

  option        description
  -----------------------------------------------------------------
  LINE/N        line number to go to (ULONG: 1, ...)
  COLUMN/N      column to go to (UWORD: 1, ...)
  UNFOLD/K      unfold if necessary ? (BOOL)
  TOP/S         go to first line of text
  BOTTOM/S      go to last line of text
  OTHEREND/S    toggle position
  CHANGE/S      go to last change
  ASK/S         ask for line number to go to
  EOL/S         place cursor over last character of line
  BFIRST/S      go to first line of marked block
  BLAST/S       go to last line of marked block
  STEP/N        move cursor left/right (WORD)

  Comment:  line numbers are considered to be absolute if UNFOLD is
  enabled (folded blocks would count as single line otherwise).


@endnode
@node HELP "HELP"
  HELP 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: HELP

  option        description
  -----------------------------------------------------------------
  CATALOG/K     set database (STRING)
  TOPIC/K       node to look for (STRING)

  Comment: if no database (i.e. help file) is specified, the menu's
  database is used (see @{" config/menus " link M7.9}).


@endnode
@node INDENT "INDENT"
  INDENT 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: INDENT

  option        description
  -----------------------------------------------------------------
  ASK/S         open indention requester
  AUTO/K        set automatic indention (BOOL)
  SMART/K       set smart indention (BOOL)
  IN/K          add keyword for smart indention   (STRING)
  OUT/K         add keyword for smart outdention  (STRING)
  CONFIG/K      load smart indention keyword list (STRING)
  CLR/S         clear smart indention keyword list


@endnode
@node INFO "INFO"
  INFO 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: INFO

  option        description
  -----------------------------------------------------------------
  VERSION/S     show version
  USER/S        show copyright requester
  TEXT/S        show statistics
  ERROR/S       show last error


@endnode
@node INSERT "INSERT"
  INSERT 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: INSERT

  option        description
  -----------------------------------------------------------------
  LINE/S        insert a line
  BLOCK/S       insert into block (see the following options)
  COLUMN/S      insert empty column into block; see AT/N
  STRING/K      insert text into block; see AT/N
  AT/N          where to insert (UWORD); defaults to current column
  APPEND/S      append text to marked lines


@endnode
@node KEY "KEY"
  KEY 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: KEY

  option        description
  -----------------------------------------------------------------
  CODE/N        key code to simulate
  RAW/S         make it a rawkey event
  ALT/S         set qualifier ALT
  CTRL/S        set qualifier CONTROL
  SHIFT/S       set qualifier SHIFT


@endnode
@node LAYOUT "LAYOUT"
  LAYOUT 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: LAYOUT

  option        description
  -----------------------------------------------------------------
  MARGIN/N      set left margin for formatting (UWORD)
  WIDTH/N       set width for formatting (UWORD)
  WRAP/K        set WordWrap (BOOL)
  ASK/S         open requester to set layout (margin/width)
  CONFIG/K      read layout settings file (STRING)
  AUTO/K        use current indention as left border (BOOL)


@endnode
@node LEFT "LEFT"
  LEFT 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: LEFT

  option        description
  -----------------------------------------------------------------
  (no options)  move cursor one position to the left


@endnode
@node LINES "LINES"
  LINES 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: LINES

  option        description
  -----------------------------------------------------------------
  JOIN/S        join current line & next line
  SWAP/S        swap current line <-> next line


@endnode
@node LOCK "LOCK"
  LOCK 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: LOCK

  option        description
  -----------------------------------------------------------------
  CURRENT/S     lock current window
  NAME/K        window to lock (STRING)

  Comment: To be used within ARexx macros only. An @{" UNLOCK " link UNLOCK} command
  *must* follow later on to prevent a deadlock situation (take care
  for a clean exit even after errors using the SIGNAL/OPTION FAILAT
  commands of ARexx). Exit your script immediately if the LOCK call
  fails  (error  code  RC  is 20). This call doesn't nest: a single
  @{" UNLOCK " link UNLOCK} unlocks any number of locks.


@endnode
@node MACRO "MACRO"
  MACRO 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: MACRO

  option        description
  -----------------------------------------------------------------
  RECORD/S      toggle sequence recording mode
  PLAY/S        play previsouly recorded sequence
  LOOPS/N       number of playback loops (UWORD); defaults to 1
  ASK/S         ask for number of loops
  FILE/K        sequence file to load/write (STRING)
  SAVE/S        save previously recorded sequence
  LOAD/S        load a sequence


@endnode
@node MARK "MARK"
  MARK 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: MARK

  option        description
  -----------------------------------------------------------------
  (no option)   set mark
  HIDE/S        hide mark


@endnode
@node MAXDOWN "MAXDOWN"
  MAXDOWN 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: MAXDOWN

  option        description
  -----------------------------------------------------------------
  (no options)  move to next quarter of document


@endnode
@node MAXUP "MAXUP"
  MAXUP 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: MAXUP

  option        description
  -----------------------------------------------------------------
  (no options)  move to previous quarter of document


@endnode
@node MENUS "MENUS"
  MENUS 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: MENUS

  option        description
  -----------------------------------------------------------------
  (no options)  open menu requester


@endnode
@node MISC "MISC"
  MISC 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: MISC

  option        description
  -----------------------------------------------------------------
  ASK/S         open misc preferences requester
  AUTOBAK/K     set AutoBak mode (BOOL)
  PERIOD/N      set backup interval (UWORD); units are minutes.
  CONFIRM/K     set confirm-backup mode (BOOL)
  PATH/K        set backup path (STRING)
  INFOS/K       set creation of info files (BOOL)
  AUTOLOAD/K    set AutoLoad mode (BOOL)
  AUTOFOLD/K    set AutoFold mode (BOOL)
  CENTERWIN/K   set AutoCenter mode (BOOL)
  FOLDSTART/K   set fold-start marker (STRING)
  FOLDEND/K     set fold-end marker (STRING)
  BACKUP/K      set backup creation (BOOL)


@endnode
@node MODE "MODE"
  MODE 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: MODE

  option        description
  -----------------------------------------------------------------
  INSERT/K      set insert/overwrite mode (BOOL)
  AUTOCASE/K    set AutoCase mode (BOOL)
  AUTOBRACKET/K set automatic parenthesis check (BOOL)


@endnode
@node MORE "MORE"
  MORE 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: MORE

  option        description
  -----------------------------------------------------------------
  (no options)  open further window
  SMART/S       open further window if current window is not empty

@endnode
@node NAME "NAME"
  NAME 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: NAME

  option        description
  -----------------------------------------------------------------
  ASK/S         ask for a new text name
  NEW/F         set new text name (STRING)


@endnode
@node NEW "NEW"
  NEW 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: NEW

  option        description
  -----------------------------------------------------------------
  (no option)   clear text; user is asked for confirmation
  FORCE/S       clear text at any rate
  NONAME/S      reset name to 'unnamed'


@endnode
@node NEXT "NEXT"
  NEXT 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: NEXT

  option        description
  -----------------------------------------------------------------
  (no options)  move cursor to next word within current line


@endnode
@node OPEN "OPEN"
  OPEN 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: OPEN

  option        description
  -----------------------------------------------------------------
  NAME/M        file(s) to open (STRING or STRINGS)
  FAST/S        use fast loading (no TAB substitution)
  NEW/S         open new window for each file
  AGAIN/S       reload current file
  APPEND/S      append file(s) to current text
  INSERT/S      insert file(s) into current text
  ASK/S         ask for file(s)
  QUIET/S       don't complain about missing files
  PATH/K        default path to be used by file requester (STRING)
  OLDPATH/S     use path of current text as default path
  SMART/S       use current window unless window is not empty

  Comment:  returns  window handle in ARexx mode. The window handle
  may be used to activate a window later on (see @{" window " link WINDOW}).


@endnode
@node PATH "PATH"
  PATH 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: PATH

  option        description
  -----------------------------------------------------------------
  (no options)  open requester to set reference file(s)


@endnode
@node PHRASE "PHRASE"
  PHRASE 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: PHRASE

  option        description
  -----------------------------------------------------------------
  CURRENT/S     try to complete current word
  ASK/S         open dictionary requester
  CONFIG/K      load dictionary (STRING)
  ADD/K         add keyword to dictionary (STRING)
  CLR/S         clear dictionary

@endnode
@node PING "PING"
  PING 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: PING

  option        description
  -----------------------------------------------------------------
  SLOT/N        write cursor position to named slot

  Comment:  GoldED  offers  ten  slots  ('bookmarks', 0-9) for each
  window  to  be recalled by @{" PONG " link PONG}. Slot 0 usually is reserved for
  use within ARexx scripts.


@endnode
@node PONG "PONG"
  PONG 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: PONG

  option        description
  -----------------------------------------------------------------
  SLOT/A/N      recall one of 10 bookmark positions (UWORD 0-9)

  Comment:  GoldED offers ten bookmarks (0-9) for each window. Slot
  0 usally is reserved for use within ARexx scripts (see @{" PING " link PING}).


@endnode
@node POP "POP"
  POP 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: POP

  option        description
  -----------------------------------------------------------------
  (no options)  move line from text to pick/push buffer

  Comment:  the pick/push buffer can hold up to 50 entries (lines).
  It is a last-in-first-out buffer.


@endnode
@node PREFS "PREFS"
  PREFS 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: PREFS

  option        description
  -----------------------------------------------------------------
  FILE/K        preferences file to load/save (STRING)
  LOAD/S        mode: load from file
  SAVE/S        mode: save to file


@endnode
@node PREV "PREV"
  PREV 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: PREV

  option        description
  -----------------------------------------------------------------
  (no options)  move cursor to previous word


@endnode
@node PREVEND "PREVEND"
  PREVEND 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: PREVEND

  option        description
  -----------------------------------------------------------------
  (no options)  move cursor to end of previous word


@endnode
@node PRINT "PRINT"
  PRINT 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: PRINT

  option        description
  -----------------------------------------------------------------
  FORCE/S       don't ask for confirmation
  BLOCK/S       print block
  ALL/S         print complete file
  LPI/N         set lines per inch value (UWORD)
  LQ/K          set letter quality (BOOL)
  ITALICS/K     set italics printing (BOOL)
  PROP/K        set proportional mode (BOOL)
  DOUBLE/K      set double width mode (BOOL)
  RESET/K       reset printer before output (BOOL)
  CONFIG/K      printer configuration file to load (STRING)
  ASK/S         open printer configuration requester


@endnode
@node PROJECT "PROJECT"
  PROJECT 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: PROJECT

  option        description
  -----------------------------------------------------------------
  ASK/S         open project requester
  ADD/K         add source file         (STRING)
  CONFIG/K      load project definition (STRING)
  DEL/N         remove a source file    (UWORD: 0, ...)
  CLR/S         clear list of source files


@endnode
@node PUSH "PUSH"
  PUSH 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: PUSH

  option        description
  -----------------------------------------------------------------
  (no options)  insert last line of pick/push buffer into text


@endnode
@node QUERY "QUERY"
  QUERY 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: QUERY

  option        description
  -----------------------------------------------------------------
  NAME/M        variable(s) you are interested in (STRING)
  VAR/K         ARexx variable; where to put the result (STRING).

  Comment:  Used  to  query  the  state  of one or more of GoldED's
  internal  variables.  This  function  may  be used in interactive
  mode,  too  (see @{" misc/command " link M5.21}). In interactive mode a requester
  is  used to display the result - e.g. 'LINES=123'. If evoked from
  a  script  file  (after a @{" LOCK " link LOCK} command), the variable name will
  not  be part of the result. In interactive mode it will. In ARexx
  mode  you  may  specify  the name of an ARexx variable to put the
  result  into  (defaults  to  RESULT). The variable name has to be
  uppercase.  It is possible to combine several options (e.g. QUERY
  DIR  DOC);  the  results  will be seperated by spaces, too. Valid
  variable names are:

  ABAK.......... AutoBackups enabled ? (BOOL)
  ABSLINE....... current absolute line number (ULONG)
  ABSLINES...... absolute number of lines (ULONG)
  ACENTER....... AutoCenter mode (BOOL)
  AFOLD......... AutoFold mode (BOOL)
  ALOAD......... AutoLoad mode (BOOL)
  ANSI.......... number of non-ASCII characters (*)
  ANYFOLDS...... does text contain folds ? (BOOL)
  ANYTEXT....... any text in current window ? (BOOL)
  ASKBAK........ ask for backups ? (BOOL)
  BACKUP........ create backups ? (BOOL)
  BAKDIR........ backup path (STRING)
  BFIRST........ number of block's 1st line (ULONG). See: MARKED
  BITS.......... default protection bits (ULONG)
  BLAST......... number of block's last line (ULONG). See: MARKED
  BOLD.......... bold mode used for printing (BOOL)
  BRACKET....... automatic parenthesis check ? (BOOL)
  BYTES......... text size (number of bytes) (ULONG) (*)
  CAT........... catalog name/language (STRING)
  CHKCASE....... automatic case check ? (BOOL)
  CODE.......... ASCII code of character under cursor (UBYTE)
  COLUMN........ current column (UWORD: 1, ...)
  COLUMNS....... window width (UWORD)
  CON........... window dimension string (STRING)
  CURRENT....... pointer to memory area of current line (ULONG)
  DIR........... path used by file requester (STRING)
  DOC........... window title = file name (STRING)
  DOUBLE........ use doublestrike printing ? (BOOL)
  DTABS......... use distinctive TABs ? (BOOL)
  ERR........... last error (STRING)
  FILE.......... name of current text without path (STRING)
  FIND.......... search pattern (STRING)
  FMTH.......... layout: left margin (UWORD)
  FMTW.......... layout: width (UWORD)
  FOLDA......... fold start marker (STRING)
  FOLDB......... fold end marker (STRING)
  FOLDS......... number of folds in text (ULONG) (*)
  FONTX......... width of text font (UWORD)
  FONTY......... height of text font (UWORD)
  FUNC.......... mode of QuickFunc list (UWORD: 1, ...)
  HANDLE........ window handle of current window (ULONG)
  HMI........... horizontal motion index/printer (UWORD)
  HOST.......... name of ARexx port (STRING)
  INDENT........ AutoIndention ? (BOOL)
  INFOS......... create *.info files ? (BOOL)
  INSERT........ insert mode used ? (BOOL)
  ITALICS....... italics printing ? (BOOL)
  LEN........... length of current line
  LINE.......... number of current line; not absolute (ULONG)
  LINES......... number of lines; not absolute (ULONG)
  LPI........... lines per inch/printer (UWORD)
  LQ...........  letter quality printing ? (BOOL)
  MARKED........ any block marked ? (BOOL)
  MAXLEN........ lenght of longest line (UWORD) (*)
  MODIFY........ has text been modified ? (BOOL)
  PATH.......... path of current text (STRING)
  PICKED........ number of lines in pick/push buffer (UWORD)
  PROG.......... program's name - usually GoldED (STRING)
  PRJLIST ...... list of project files; see @{" misc/project setup " link M5.2}
  READONLY...... is window read-only ? (BOOL)
  REM........... (file-)comment of current text (STRING)
  REMAP......... character translation file (STRING)
  RESET......... reset printer before output ? (BOOL)
  ROWS.......... window height (UWORD)
  RPLC.......... replace text (STRING)
  SCREEN........ screen name (STRING)
  SCRMODE....... screen mode ID (ULONG)
  SCRTYPE....... screen type: public/custom (UWORD)
  SHANGHAI...... shanghai mode set ? (BOOL)
  SINDENT....... smart indention enabled ? (BOOL)
  SOLID......... solid TABs ? (BOOL)
  STDLINE....... is current line a 'normal' line ? (BOOL)
  TAB........... TAB distance keyboard (UWORD)
  TABFILE....... TAB distance for TAB substitution (UWORD)
  TIMER......... backup interval - minutes (UWORD)
  TOPLINE....... line number of window's first line (ULONG)
  UNFOLD........ unfold during GOTO ? (BOOL)
  USECASE....... case sensitive search/replace ? (BOOL)
  VER........... version string (STRING)
  WINDOWS....... number of open text windows (UWORD)
  WINH.......... window height (UWORD)
  WINW.......... window width (UWORD)
  WORDS......... number of words (ULONG) (*)
  WORD.......... current word (STRING)
  WRAP.......... word wrap mode used ? (BOOL)
  X............. window's left edge (UWORD)
  XPK........... XPK compression mode (STRING)
  Y............. window's top edge (UWORD)

  (*): These variables are valid after an @{" EXAll " link EXALL} command only.


@endnode
@node QUIT "QUIT"
  QUIT 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: QUIT

  option        description
  -----------------------------------------------------------------
  (no option)   close current window (ask for confirmation)
  FORCE/S       close current window at any rate


@endnode
@node REFRESH "REFRESH"
  REFRESH 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: REFRESH

  option        description
  -----------------------------------------------------------------
  PAGE/S        redraw current text
  LINE/S        redraw current line


@endnode
@node REMAP "REMAP"
  REMAP 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: REMAP

  option        description
  -----------------------------------------------------------------
  TABLE/K       remap text; use this translation file (STRING)
  ASK/S         open remap requester


@endnode
@node REPLACE "REPLACE"
  REPLACE 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: REPLACE

  option        description
  -----------------------------------------------------------------
  STRING/K      pattern to look for (STRING)
  BY/K          replacement for pattern (STRING)
  PREV/S        replace previous occurance of pattern   (*)
  NEXT/S        replace next occurance of pattern only  (*)
  ALL/S         replace all occuranies of pattern       (*)
  BLOCK/S       replace pattern within marked lines     (*)
  ASK/S         open find/replace requester
  CASE/K        set case sensitive mode (BOOL)
  QUIET/S       don't complain about missing pattern ('not found')

  (*) only one of these options may be specified.


@endnode
@node REQUEST "REQUEST"
  REQUEST 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: REQUEST

  option        description
  -----------------------------------------------------------------
  HIDE/K        turn requesters off
  DEFAULT/K     set default selection if requesters are off (UWORD)
  BODY/K        body text (STRING), may contain newline characters
  BUTTON/K      text for button(s), separated by '|' (STRING)
  TITLE/K       requester title (STRING)
  LONG/S        ask for a number
  MIN/N         set lower limit for input of number (WORD)
  MAX/N         set upper limit for input of number (WORD)
  OLD/K         default value (STRING)
  FILE/S        ask for a file
  PATH/K        default path if asking for a file (STRING)
  VAR/K         ARexx variable; where to put the result (STRING)
  STRING/S      ask for a string
  STATUS/K      text to display in status line (STRING)

  Comment:  Don't use the hide option outside of ARexx macros. Turn
  requesters  on again at the end of your macro. Turning requesters
  off  is  useful  to  suppress requesters like 'pattern not found'
  (wich  would  annoy  the  user);  the  return  code RC is checked
  instead to determine wether a command has completed successfully.


@endnode
@node RIGHT "RIGHT"
  RIGHT 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: RIGHT

  option        description
  -----------------------------------------------------------------
  (no options)  move cursor one position to the right


@endnode
@node SAVE "SAVE"
  SAVE 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: SAVE

  option        description
  -----------------------------------------------------------------
  BLOCK/S       save block only
  ALL/S         save complete file
  NAME/K        set file name to be used for saving
  ASK/S         open save-as requester
  EXIT/S        exit GoldED if save operation is succesful
  CRUNCH/S      compress file (XPK) while saving it
  XPKMODE/K     set XPK compression mode (STRING, e.g. IMPL)


@endnode
@node SCREEN "SCREEN"
  SCREEN 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: SCREEN

  option        description
  -----------------------------------------------------------------
  ASK/S        open display mode requester
  USE/K         name of public screen to use (STRING)
  CONFIG/K      load this display configuration file (STRING)
  ICONIFY/K     (un)iconify (BOOL)
  FRONT/S       move GoldED's screen to the front
  BACK/S        move GoldED's screen to the back


@endnode
@node SHIFT "SHIFT"
  SHIFT 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: SHIFT

  option        description
  -----------------------------------------------------------------
  COLUMNS/N     number of columns to shift (UWORD)
  TAB/S         set shifting distance to TAB size
  ASK/S         open requester (left/right shifting)
  LEFT/S        shift to the left
  RIGHT/S       shift to the right (indent)


@endnode
@node SMARTCR "SMARTCR"
  SMARTCR 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: SMARTCR

  option        description
  -----------------------------------------------------------------
  (no options)  'smart' return (no splitting of line)


@endnode
@node TAB "TAB"
  TAB 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: TAB

  option        description
  -----------------------------------------------------------------
  BACK/S        perform a backtab (else a normal tab)
  DIST/K        make it a distinctive TAB (BOOL)
  SOLID/K       make it a solid TAB (BOOL)


@endnode
@node TABS "TABS"
  TABS 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: TABS

  option        description
  -----------------------------------------------------------------
  DISTINCTIVE/K set tab mode to distinctive TAB's (BOOL)
  FILE/N        number of SPC's used for TAB substitution (UWORD)
  KEY/N         TAB distance on screen
  ASK/S         open TAB preferences requester
  SET/N         add distinctive TAB position (UWORD)
  CLR/S         clear all distinctive TAB positions
  SOLID/K       set TAB mode to solid (BOOL)


@endnode
@node TASK "TASK"
  TASK 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: TASK

  option        description
  -----------------------------------------------------------------
  PRI/N         set task priority of GoldED (WORD, -3 to 3)


@endnode
@node TEXT "TEXT"
  TEXT 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: TEXT

  option        description
  -----------------------------------------------------------------
  T/K           text to be inserted at cursor position (STRING)
  STAY/S        don't move cursor while inserting text


@endnode
@node UNDO "UNDO"
  UNDO 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: UNDO

  option        description
  -----------------------------------------------------------------
  (no options)  undo line (restore previous contents)


@endnode
@node UNLOCK "UNLOCK"
  UNLOCK 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: UNLOCK

  option        description
  -----------------------------------------------------------------
  (no option)   unlock GUI after a previously call to @{" LOCK " link LOCK}
  DELAY/S       unlock GUI, delay until exit of GoldED
  STICKY/S      unlock GUI, delay until current window is closed

  Comment:  The  DELAY/STICKY  options  are  reserved  for  use  by
  external  applications (e.g. the @{" QuickStarter " link GETTING_STARTED} ED). They provide
  ways and means to synchronize with GoldED.


@endnode
@node UP "UP"
  UP 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: UP

  option        description
  -----------------------------------------------------------------
  (no options)  move cursor one line up


@endnode
@node UPAGE "UPAGE"
  UPAGE 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: UPAGE

  option        description
  -----------------------------------------------------------------
  (no options)  move to previous page


@endnode
@node USE "USE"
  USE 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: USE

  option        description
  -----------------------------------------------------------------
  (no options)  accept current line 

  Comment:  To  be  used  within  ARexx  macros  only. After having
  written directly to the memory area of the current line (which is
  *dangerous*) you have to call this function to make GoldED accept
  your changes. Use QUERY CURRENT (see @{" QUERY " link QUERY}) to get a pointer to
  the  current  line's  buffer.  It  is  not possible to change the
  lenght of the current line by poking into the line buffer.


@endnode
@node VIEW "VIEW"
  VIEW 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: VIEW

  option        description
  -----------------------------------------------------------------
  LEFT/S        shift view left
  RIGHT/S       shift view right
  COLUMNS/N     number of columns to shift (UWORD)


@endnode
@node WINDOW "WINDOW"
  WINDOW 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: WINDOW

  option        description
  -----------------------------------------------------------------
  MAX/S         blow up current window
  CENTER/S      center current window on screen
  ARRANGE/S     arrange windows on screen
  ZIP/S         zip window
  USE/K         activate named window   (STRING)
  WIDTH/N       resize window width     (UWORD)
  HEIGHT/N      resize window height    (UWORD)
  X/N           set window's x position (UWORD)
  Y/N           set window's y position (UWORD)
  NEXT/S        activate next window
  RECOVER/S     redraw window
  HANDLE/N      activate window using its handle (ULONG)
  ORDINAL/N     activate 1st , 2nd, ... window (ULONG: 0, ...)

  Comment:  A window handle is returned by the @{" OPEN " link OPEN} function. You
  may query the current window's handle, too (see @{" QUERY " link QUERY}/handle).


@endnode
@node XREF "XREF"
  XREF 

  Description of @{" internal commands " link INTERNAL_COMMANDS}
  Command name: XREF

  option        description
  -----------------------------------------------------------------
  CURRENT/S     open help text related to current word
  PHRASE/K      open help text related to this phrase (STRING)
  ASK/S         ask for topic


@endnode
@node GENERAL_HINTS "GENERAL HINTS"
                            GENERAL HINTS 

  Never change display mode if you are short of memory - the editor
  might not be able to reopen screen/windows.

  Turn AutoFold (see @{" config/misc " link M7.12}) OFF if you do not need folding.
  This will speed up loading since the editor won't have to examine
  each  line  after  loading  a  text  from  disk (looking for fold
  markers).

  Use  the same marker strings for beginning/end of folded sections
  (see  @{" config/misc " link M7.12}) to increase the speed of folding: the editor
  won't  have to look for two different strings. However, using the
  same strings doesn't allow nested folding.

  The backup path should point to the same device as your main text
  directory,  otherwise  backup  generation  is slowed down because
  file  copies  have to be used instead of a fast DOS rename (which
  is not available accross devices).

  Don't use soft/hardlinks with text files. If a file is renamed by
  the  editor  (happens  during  backup  creation) the link doesn't
  change,  i.e.  it  would  point  to the backup instead of the new
  file.

  Do not use fast loading if you are short of RAM or for huge files
  since fast loading requires a huge buffer of exactly the original
  file's  size.  Attempting  to load a 400 KB file would allocate a
  400  KB  IO  buffer  as  well  as  about 450 KB to store the text
  (however  the  400  KB  IO  buffer  is  freed  immediately  after
  loading).  Slow loading is much more efficient in terms of memory
  consumption: a 16K buffer is required, no matter how large a file
  is.

  Most file requesters of GoldED do support multi select. You could
  use  this feature to join a couple of files together using either
  @{" project/append " link M0.11} or @{" project/insert " link M0.10}.

  GoldED  as  well as any Amiga shell does employ the clipboard for
  cut  and  paste  operations. You can use this feature to insert a
  directory dump from a shell window into your current document. Or
  (vice  versa)  cut  a  line  from your text & paste it to a shell
  window (doesn't make that much sense though :-).

  The editor itself is not able to read the position of the 'sleep'
  icon  (reading an AppIcon's position is not supported by the OS),
  so  it is not able to remember the icon's position after you have
  moved  it.  Nevertheless it is possible to snapshot the preferred
  position: Open the 'prefs/env-archive/GoldED' directory. Move the
  'AppIcon'  icon  from  within that directory to desired location,
  than  snapshot it (icon menu of workbench). Finally move the icon
  back  to  its  drawer.  The editor will read the new position the
  next time it is evoked.

  The   Amiga  OS  does  support  font/library  caching:  Fonts  or
  libraries  opened  by  GoldED usually are not removed from memory
  when  GoldED is closed - instead they are marked as 'unused'. The
  OS  is  able to flush these ressources if required (in low memory
  situations),  so  the  memory  occupied by libs/fonts is not lost
  (you may verify this by using the 'avail flush' command).

  If  you  own  a  fast  Amiga  (4000),  operations  like scrolling
  (especially  in  monochrome  mode) are hardly limited in speed by
  GoldED  itself:  They  almost  solely  depend  on key repeat rate
  settings.  In  other  words: use the input preferences program of
  your  workbench  to  speed up GoldED by increasing the key repeat
  rate.

  In   spite  of  the  fact  that  GoldED  does  keep  its  default
  configuration file in 'envarc:GoldED' - do not use this directory
  to store further configuration files: A copy of envarc is written
  to RAM: during startup; you would waste memory. 'GoldED:' or even
  's:' are more approbiate locations.


@endnode
@node CREDITS "CREDITS"
                               CREDITS 


  *  DICE  *   Reqtools   *   XPK   *   ARexxBox  *  GadToolsBox  *


  This  program  has  been  devloped  using  Matt  Dillon's  Dice C
  compiler  (v2.07.54R). Most of the requester design has been done
  using  Jan  van den Baard's 'GadToolsBox'. Thanx to Nico François
  for his 'reqtools.library'. Further credits got to the developers
  of  'xpk.library'  - who created a fine (de)compression standard.
  The  ARexx routines of GoldED are somewhat related to source code
  created by Michael Balzer's ARexxBox (though less sophisticated).
  Thanks  to  Joerg  Gutzke  &  Dario  Farva for running Mowgli BBS
  respectively Mailway BBS (where I got most of the stuff above).


@endnode
@node HOW_TO_REGISTER "HOW TO REGISTER"
                           HOW TO REGISTER 

  If  you are currently using the unregistered version you may want
  to  register.  The registered GoldED consists of a mailing of one
  or  more  disks. Please allow up to 8 weeks for delivery. This is
  the worst case. Average is one week. To register for GoldED, send
  an  euro(!)check  to  me  (see  @{" How to contact author " link HOW_TO_CONTACT_AUTHOR}). Cash is
  fine,  too  (Europe:  must  be DM, outside Europe: must be US-$).
  Please   write  clearly  or  type.  The  following  packages  are
  available (offers valid until end of 1993):

  GoldED Light (20 DM Europe, 20$ outside Europe)

  Mailing  consists  of  one  or  two  disks.  Includes single user
  licence  for  GoldED  (except  HiSpeed).  The  latest versions of
  registered  GoldED as well as standard documentation (disk based)
  is shipped.

  GoldED Pro (30 DM Europe, 30$ outside Europe)

  Mailing  consists  of  two  disks  and a printed manual. Includes
  single  user licence for the latest versions of GoldED & HiSpeed.

  In  generally  FD support tools and libraries are not part of the
  registered  distribution  (even  if  they  come  along  with  the
  unregistered  one) unless I get permission from the authors. I do
  provide  disk(s)/postage. Special conditions are available if you
  order more than one copy. Don't forget to provide a user name for
  each of them (name is required for registration):


             2 packages .................... -20% each
             more (just joking :-) ......... -30% each



@endnode
@node HOW_TO_GET_UPDATES "HOW TO GET UPDATES"
                         HOW TO GET UPDATES 

  The  only  (I  repeat:  only)  way  to  recieve  updates,  wether
  registered  or  unregistered,  is to call your local BBS and look
  out  for  the  latest  GoldED  copy. Registered users may use the
  unlock keyfile of their original GoldED disk to turn unregistered
  versions  into  registered  ones.  Don't send me disks unless you
  want  to  get  rid  of them. My uploads usually go to Mowgli BBS:
  Fidonet  2:242/7,  Phone:  49-(0)241-40  59 49 (V22, V22bis, V32,
  V32bis, V42, V42bis, HST, MNP). Online: 0.00 - 24.00.



@endnode
@node HOW_TO_CONTACT_AUTHOR "HOW TO CONTACT AUTHOR"
                        HOW TO CONTACT AUTHOR 

  Feel  free  to  e-mail  me  bug reports, comments or suggestions.
  Current  e-mail  address  is  DIETMAR@MAILWAY.ZER (German Z-Net).
  FidoNet users may write to Mowgli 2:242/7, too (but since I don't
  run  a Fido point, I won't be able to answer). Do not send normal
  letters  unless  you want to register - at least do not expect me
  to  answer.  You  definitely  won't  get an answer if you fail to
  provide a self-addressed envelope, postage paid. In generally you
  can  reach  me  by  writing  to one of the addresses below. These
  addresses  are  **not** valid for requesting GoldED updates (see:
  @{" How to get updates " link HOW_TO_GET_UPDATES}).

  before 1-July-93:         AFTER JULY-1-93:
                            --------------------
  Dietmar Eilert            Dietmar Eilert
  Mies-v-d-Rohe-Str. 31     Mies-v-d-Rohe-Str. 31
  5100 Aachen (Germany)     52074 Aachen (Germany)
  Phone: 0241/81665         Phone: 0241/81665

  My second address (not valid when I wrote these lines):

  Dietmar Eilert
  Kampstrasse 28
  59269 Beckum (Germany)
  Phone: 02525/7776

  Better  give  me  a  ring to find out which one is valid when you
  read  this  text.  If you decide for the wrong one your letter is
  delayed for about one month.
@endnode
@node APPENDIX " GoldED "
@{"???                      "link APPENDIX} @{"FDOWN                    "link FDOWN} @{"MISC/COMMAND             "link M5.21} 
@{"APC                      "link M3.11} @{"FEATURE LIST             "link FEATURE_LIST} @{"MISC/DELETE FILE         "link M5.15} 
@{"APPICON                  "link M4.23} @{"FILE                     "link FILE} @{"MISC/HELP                "link M5.0} 
@{"APPWINDOWS               "link M0.6} @{"FIND                     "link FIND} @{"MISC/HISPEED             "link M5.16} 
@{"AREXX PORT               "link AREXX_PORT} @{"FIND MENU                "link FIND_MENU} @{"MISC/INSERT DATE         "link M5.18} 
@{"AREXXBOX                 "link CREDITS} @{"FIND/ASCII INSERT        "link M3.14} @{"MISC/INSERT TIME         "link M5.19} 
@{"ARGUMENTS                "link GETTING_STARTED} @{"FIND/ASCII TABLE         "link M3.13} @{"MISC/LAST ERROR          "link M5.22} 
@{"AUTOBACKUP               "link M7.12} @{"FIND/CHARACTER SET       "link M3.16} @{"MISC/NEW SHELL           "link M5.14} 
@{"AUTOCASE                 "link M7.4} @{"FIND/COMPLETE            "link M3.11} @{"MISC/PICK LINE           "link M5.4} 
@{"AUTOCENTER               "link M7.12} @{"FIND/COUNT               "link M3.7} @{"MISC/PROJECT SETUP       "link M5.2} 
@{"AUTOFOLD                 "link M7.12} @{"FIND/FIND                "link M3.0} @{"MISC/PUSH LINE           "link M5.5} 
@{"AUTOINDENTION            "link M7.6} @{"FIND/FIND NEXT           "link M3.1} @{"MISC/STATISTICS          "link M5.10} 
@{"AUTOLOAD                 "link M7.12} @{"FIND/FIND PREVIOUS       "link M3.2} @{"MISC/SWAP LINES          "link M5.6} 
@{"BACK                     "link BACK} @{"FIND/FUNCTIONS           "link M3.20} @{"MISC/UNDO LINE           "link M5.8} 
@{"BIND                     "link BIND} @{"FIND/INSERT CODE ESC     "link M3.19} @{"MODE                     "link MODE} 
@{"BITS                     "link BITS} @{"FIND/INSERT CODE FF      "link M3.18} @{"MORE                     "link MORE} 
@{"BLOCK                    "link BLOCK} @{"FIND/REFERENCE           "link M3.9} @{"MULTIPLE COMMANDS        "link MULTIPLE_COMMANDS} 
@{"BLOCK MENU               "link BLOCK_MENU} @{"FIND/REFERENCE...        "link M3.10} @{"MULTISELECT              "link M0.6} 
@{"BLOCK/APPEND TEXT        "link M1.13} @{"FIND/REPLACE             "link M3.4} @{"NAME                     "link NAME} 
@{"BLOCK/BCOPY              "link M1.7} @{"FIND/REPLACE NEXT        "link M3.5} @{"NEW                      "link NEW} 
@{"BLOCK/BDELETE            "link M1.8} @{"FIND/SHOW CODE           "link M3.15} @{"NEXT                     "link NEXT} 
@{"BLOCK/BMOVE              "link M1.9} @{"FIRST                    "link FIRST} @{"OPEN                     "link OPEN} 
@{"BLOCK/COLUMN TEXT        "link M1.14} @{"FOLD                     "link FOLD} @{"PARAGRAPHE VS. BLOCK     "link LAYOUT_MENU} 
@{"BLOCK/COPY               "link M1.4} @{"FOLDING                  "link M4.7} @{"PARENTHESIS CHECK        "link M7.4} 
@{"BLOCK/CUT                "link M1.3} @{"FONT                     "link M7.8} @{"PATH                     "link PATH} 
@{"BLOCK/DELETE COLUMN      "link M1.11} @{"FORMAT                   "link FORMAT} @{"PHRASE                   "link PHRASE} 
@{"BLOCK/HIDE MARK          "link M1.1} @{"FORMATTER                "link LAYOUT_MENU} @{"PING                     "link PING} 
@{"BLOCK/INDENT             "link M1.16} @{"FREEZE                   "link FREEZE} @{"PONG                     "link PONG} 
@{"BLOCK/INSERT COLUMN      "link M1.12} @{"FUNC                     "link FUNC} @{"POP                      "link POP} 
@{"BLOCK/LOWERCASE          "link M1.20} @{"FUP                      "link FUP} @{"PREFS                    "link PREFS} 
@{"BLOCK/MARK               "link M1.0} @{"GADTOOLSBOX              "link CREDITS} @{"PREV                     "link PREV} 
@{"BLOCK/PASTE              "link M1.5} @{"GENERAL HINTS            "link GENERAL_HINTS} @{"PREVEND                  "link PREVEND} 
@{"BLOCK/PRINT              "link M1.23} @{"GETTING STARTED          "link GETTING_STARTED} @{"PRINT                    "link PRINT} 
@{"BLOCK/SAVE AS            "link M1.22} @{"GOTO                     "link GOTO} @{"PROJECT                  "link PROJECT} 
@{"BLOCK/SORT               "link M1.17} @{"GUI                      "link GETTING_STARTED} @{"PROJECT MENU             "link PROJECT_MENU} 
@{"BLOCK/UPPERCASE          "link M1.19} @{"HELP                     "link HELP} @{"PROJECT/ABOUT            "link M0.0} 
@{"BORDERLESS               "link M7.8} @{"HELP KEY                 "link HELP_KEY} @{"PROJECT/APPEND           "link M0.11} 
@{"BRACKET                  "link BRACKET} @{"HOW TO CONTACT AUTHOR    "link HOW_TO_CONTACT_AUTHOR} @{"PROJECT/BITS             "link M0.21} 
@{"CHARACTER SET REMAP      "link M3.16} @{"HOW TO FOLD LINES        "link M4.7} @{"PROJECT/CLEAR TEXT       "link M0.3} 
@{"CLIP                     "link CLIP} @{"HOW TO GET UPDATES       "link HOW_TO_GET_UPDATES} @{"PROJECT/CURRENT DIR      "link M0.14} 
@{"CLIPBOARD                "link M1.5} @{"HOW TO REGISTER          "link HOW_TO_REGISTER} @{"PROJECT/INSERT           "link M0.10} 
@{"CMD                      "link CMD} @{"INDENT                   "link INDENT} @{"PROJECT/LOAD             "link M0.6} 
@{"CODE                     "link CODE} @{"INFO                     "link INFO} @{"PROJECT/LOAD FAST        "link M0.7} 
@{"COLON                    "link COLON} @{"INSERT                   "link INSERT} @{"PROJECT/LOAD NEW         "link M0.8} 
@{"COMMAND LIST             "link COMMAND_LIST} @{"INSERTION OF COLUMNS     "link M1.12} @{"PROJECT/LOAD ORIGINAL    "link M0.9} 
@{"CONFIG                   "link CONFIG} @{"INTERNAL COMMANDS        "link INTERNAL_COMMANDS} @{"PROJECT/MORE ED          "link M0.4} 
@{"CONFIG MENU              "link CONFIG_MENU} @{"INTRODUCTION             "link INTRODUCTION} @{"PROJECT/NEW NAME         "link M0.13} 
@{"CONFIG/CALENDER-TIME     "link M7.13} @{"KEY                      "link KEY} @{"PROJECT/PRINT            "link M0.22} 
@{"CONFIG/DICTIONARY        "link M7.4} @{"KEYBOARD                 "link KEYBOARD} @{"PROJECT/QUIT             "link M0.24} 
@{"CONFIG/DISPLAY           "link M7.8} @{"LANGUAGE                 "link GETTING_STARTED} @{"PROJECT/SAVE             "link M0.16} 
@{"CONFIG/INDENTION         "link M7.6} @{"LAYOUT                   "link LAYOUT} @{"PROJECT/SAVE & EXIT      "link M0.19} 
@{"CONFIG/KEYBOARD BINDINGS "link M7.0} @{"LAYOUT MENU              "link LAYOUT_MENU} @{"PROJECT/SAVE AS          "link M0.17} 
@{"CONFIG/LOAD              "link M7.16} @{"LAYOUT/BLOCK CENTER      "link M2.6} @{"PROJECT/SAVE AS XPK      "link M0.18} 
@{"CONFIG/MENUS             "link M7.9} @{"LAYOUT/BLOCK LEFT        "link M2.4} @{"PROJECT/USER             "link M0.1} 
@{"CONFIG/MISC              "link M7.12} @{"LAYOUT/BLOCK LEFT/RIGHT  "link M2.3} @{"PUSH                     "link PUSH} 
@{"CONFIG/PRINTER           "link M7.11} @{"LAYOUT/BLOCK RIGHT       "link M2.5} @{"QUERY                    "link QUERY} 
@{"CONFIG/REFERENCES        "link M7.3} @{"LAYOUT/BORDERS           "link M2.0} @{"QUICKFUNC                "link M3.20} 
@{"CONFIG/SAVE              "link M7.15} @{"LAYOUT/SECTION BLOCK     "link M2.8} @{"QUICKREFERENCE           "link M3.9} 
@{"CONFIG/TABS              "link M7.1} @{"LAYOUT/SECTION CENTER    "link M2.11} @{"QUICKSTARTER             "link GETTING_STARTED} 
@{"CONFIGURATION GUIDELINES "link CONFIG_MENU} @{"LAYOUT/SECTION LEFT      "link M2.9} @{"QUIT                     "link QUIT} 
@{"CONTROL MENU             "link CONTROL_MENU} @{"LAYOUT/SECTION RIGHT     "link M2.10} @{"REFRESH                  "link REFRESH} 
@{"CONTROL/ARRANGE WINDOWS  "link M4.13} @{"LAYOUT/WORD WRAP         "link M2.1} @{"REMAP                    "link REMAP} 
@{"CONTROL/CENTER WINDOW    "link M4.14} @{"LEFT                     "link LEFT} @{"REMOVAL OF COLUMNS       "link M1.11} 
@{"CONTROL/ENLARGE WINDOW   "link M4.16} @{"LICENCE                  "link LICENCE} @{"REPLACE                  "link REPLACE} 
@{"CONTROL/FOLD ALL         "link M4.7} @{"LINES                    "link LINES} @{"REQTOOLS                 "link CREDITS} 
@{"CONTROL/FREEZE WINDOW    "link M4.18} @{"LOCK                     "link LOCK} @{"REQUEST                  "link REQUEST} 
@{"CONTROL/GO TO LINE       "link M4.0} @{"LOCK A WINDOW            "link LOCK_A_WINDOW} @{"REQUIRED SYSTEM          "link REQUIRED_SYSTEM} 
@{"CONTROL/ICONIFY          "link M4.23} @{"MACRO                    "link MACRO} @{"RETURN KEY               "link RETURN_KEY} 
@{"CONTROL/INSERT-OVERWRITE "link M4.10} @{"MACRO MENU               "link MACRO_MENU} @{"RIGHT                    "link RIGHT} 
@{"CONTROL/NEXT WINDOW      "link M4.21} @{"MACRO RECORDING          "link M6.5} @{"SAVE                     "link SAVE} 
@{"CONTROL/RECALL POSITION  "link M4.5} @{"MACROS/COMPILE & LINK    "link M6.11} @{"SCREEN                   "link SCREEN} 
@{"CONTROL/STORE POSITION   "link M4.4} @{"MACROS/DMAKE             "link M6.10} @{"SELECT A HOST            "link SELECT_A_HOST} 
@{"CONTROL/TO LAST CHANGE   "link M4.2} @{"MACROS/EDIT MACRO        "link M6.0} @{"SHIFT                    "link SHIFT} 
@{"CONTROL/TOGGLE TAB MODE  "link M4.11} @{"MACROS/LOAD              "link M6.7} @{"SHIFTING                 "link M1.16} 
@{"CONTROL/TOP-BOTTOM       "link M4.1} @{"MACROS/NUMBER            "link M6.3} @{"SMARTCR                  "link SMARTCR} 
@{"CONTROL/UNFOLD ALL       "link M4.8} @{"MACROS/PLAY              "link M6.6} @{"SMARTINDENTION           "link M7.6} 
@{"CONTROL/UNFREEZE WINDOW  "link M4.19} @{"MACROS/RECORD START-STOP "link M6.5} @{"SPEEDS OF SCROLLING      "link CURSOR_KEYS} 
@{"CONTROL/ZIP WINDOW       "link M4.15} @{"MACROS/RUN TEXT AS MACRO "link M6.1} @{"STARTUP MACRO            "link M7.12} 
@{"CR                       "link CR} @{"MACROS/SAVE              "link M6.8} @{"TAB                      "link TAB} 
@{"CREDITS                  "link CREDITS} @{"MAGIC CODES              "link MAGIC_CODES} @{"TAB KEY                  "link TAB_KEY} 
@{"CURSOR KEYS              "link CURSOR_KEYS} @{"MAIN                     "link MAIN} @{"TABS                     "link TABS} 
@{"DEL                      "link DEL} @{"MARK                     "link MARK} @{"TASK                     "link TASK} 
@{"DEL KEY                  "link DEL_KEY} @{"MAXDOWN                  "link MAXDOWN} @{"TEXT                     "link TEXT} 
@{"DELETE                   "link DELETE} @{"MAXUP                    "link MAXUP} @{"UNDO                     "link UNDO} 
@{"DESCRIPTION OF MENUS     "link DESCRIPTION_OF_MENUS} @{"MENU TREE OF BLOCK MENU  "link BLOCK_MENU} @{"UNLOCK                   "link UNLOCK} 
@{"DICE                     "link CREDITS} @{"MENU TREE OF CONFIG MENU "link CONFIG_MENU} @{"UNLOCK GUI               "link UNLOCK_GUI} 
@{"DIR                      "link DIR} @{"MENU TREE OF CONTROL MENU"link CONTROL_MENU} @{"UP                       "link UP} 
@{"DISPLAY MODE             "link M7.8} @{"MENU TREE OF FIND MENU   "link FIND_MENU} @{"UPAGE                    "link UPAGE} 
@{"DO YOUR JOB              "link DO_YOUR_JOB} @{"MENU TREE OF LAYOU MENU  "link LAYOUT_MENU} @{"USE                      "link USE} 
@{"DOWN                     "link DOWN} @{"MENU TREE OF MACRO MENU  "link MACRO_MENU} @{"VIEW                     "link VIEW} 
@{"DPAGE                    "link DPAGE} @{"MENU TREE OF MISC MENU   "link MISC_MENU} @{"WINDOW                   "link WINDOW} 
@{"ENDWORD                  "link ENDWORD} @{"MENU TREE OF PROJECT MENU"link PROJECT_MENU} @{"WORDWRAP                 "link M2.1} 
@{"ESC KEY                  "link ESC_KEY} @{"MENUHELP                 "link GETTING_STARTED} @{"XPK                      "link CREDITS} 
@{"EVENT DEFINITION         "link EVENT_DEFINITION} @{"MENUS                    "link MENUS} @{"XPK SUPPORT              "link M0.18} 
@{"EXALL                    "link EXALL} @{"MISC                     "link MISC} @{"XREF                     "link XREF} 
@{"F-KEYS                   "link F-KEYS} @{"MISC MENU                "link MISC_MENU}                          
@{"FASTLOAD                 "link M0.7} @{"MISC/CALCULATOR          "link M5.13}                          
@{"FDOWN                    "link FDOWN} @{"MISC/CHECK               "link M5.11}                          
@endnode
