start: 1.6.39
  reine ANSI-C Sourcen
  Makefiles ueber cpp
  Verwendung von awk
{{{  origami
1.6.39 -> 1.6.40

  os_init_args_read() in os.h und main eingebaut.  Wird  NACH  dem  Parsen  der
  Argumente aufgerufen.

  Hilfe bei -h gibt etwas  ausfuehrlichere  Informationen.  Entsprechend  haben
  sich die defines fuer OWN_ARG_USAGE geaendert.  Es  gibt  zwei  (LONG/SHORT),
  welche beide nur Strings sein duerfen.  Bei  deren Definition (in messages.c)
  wird jetzt die Eigenschaft von ANSI-C verwendet, dass "foo" "bar" zu "foobar"
  wird. Falls
    '#define PORTER "blah.fasel\n"'
  in os.h gemacht wird, wird der Text bei der Copyrightmessage angehaengt.

  dicken bug bzgl exit-fold behoben
    ( origami empty-file
      Leerzeile erzeuen
      enter-fold newline delete-line exit-fold
      WUMMM, das Ding haengt
    )

  Analog zu -X auf der Kommandozeile gibts jetzt im rc-File:
    Falls  das  Symbol  RC_OS_EXT_HANDLE  definiert  ist,  wird  es  als  Macro
    RC_OS_EXT_HANDLE(rc-file) aufgerufen. Der Port kann dann einen  String  bis
    zum naechsten Null-Character lesen. Was er damit macht,  ist  Origami egal.
    Ist das Symbol unbekannt, wird der Sting einfach ueberlesen.
  Analog zu os_init_args_read() gibts auch ein  define  fuer  os_init_rc_read()
  eingebaut.

  In der Statuszeile kann mittels -W name, name  vor  dem  Filenamen  angezeigt
  werden. Unterscheidung bzgl verschiedener Logins moeglich.

1.6.41:

  screen.c:

    Wenn xterm verwendet wird, und Origami nicht in einer  Pipe  steckt,  fragt
    Origami  nur  einmal  das  Environment  nach  der  Groesse.  Alle folgenden
    Abfragen gehen dann direkt ans xterm. Damit ist auf jedenfall die  richtige
    Fenstergroesse bestimmbar.
    Beim ersten mal  wird  das  Environment  abgefragt,  da  das  Terminal  und
    stdin/stdout noch nicht richtig eingestellt sind.

  VERSION wird jetzt in envvar_str.h definiert

  Die prompt-Befehle so modifiziert, dass auch eine  Meldung  ohne  Warten  auf
  Eingabe abgesetzt werden kann.

  Einen Bug in display.c bzgl Bildschirmsteuerung bei fehlendem al/dl  behoben.
  In den whole_screen_xx Funktionen musste das up/down_a_bit NACH  dem Umsetzen
  der Pointer aufgerufen werden.
  Aus dem  gleichen  Grund  Funktionen  in  foldhelp.c  (insert_(after/before))
  geaendert.

  set's koennen zugewiesen werden. => M_SET_COPY eingebaut

1.6.42

  Origami kann jetzt directories editieren. Es wird dirfold aufgerufen.  Dieses
  Feature muss beim Compilieren mit #define DIREDT enabled werden. Das Commando
  kann ueber ein extra Define geaendert werden.

  Es wird besser  erkannt,  ob  die  Filenamen  zu  Directories  gehoeren.  Die
  entsprechenden Funktionen sind in einem neuen File filetyp.c.

  File, die mit open-file gelesen werden, werden an die Liste der  Command-line
  Files angehaengt. Damit wirkt dann next/prev-file auch auf diese.

  Ein Exit  des  obersten  Files  laesst  den  User  jetzt  in  eine  List  der
  editierten/per  Commandline  uebergeben  Files  sehen.  Diese  wird  wie  ein
  Directory behandelt.
}}}
{{{  keybind
1.6.39 -> 1.6.40

  bugs im Optimierer ausgebaut

  undeclare eingebaut

  ( os-extension ( "blah "  "fasel ))
    eingebaut. Der text wird einfach im rc-File abgelgt. Origami  ueberlist  es
    in der Regel, ausser, ein entsprechender Handler ist beim Port definiert.

1.6.40 -> 1.6.41:

  keybind -f/-F eingebaut (keybind.c,scanner.c):
    Jedes File wird erst durch einen Filter geschickt, bevor es  gelesen  wird.
    Statt fopen(name,READ) wird also popen("filter  name",READ)  verwendet. Die
    entsprechenden Aufrufe fuer fopen sind durch  einen Prozeduraufruf ersetzt.
    Darin  wird  nicht  nur  die  Pipe  geoeffnet,  sondern vorher  mit  access
    geprueft, ob das File ueberhaupt da ist.
    Anwendung:
      Neben der Standardanwendung, Strings o.ae.durch cpp oder aehnlich  Filter
      zu ersetzen, kann  man  damit  OCL  erweitern.  Ports,  die  os-extension
      verwenden, koennen dann eigene Statements definieren, die im Preprocessor
      ausgefiltert  und  in normale os-extension Befehle umgesetzt werden.
       {{{  z.B. Amiga Menues
            :                                   ; einfach kopieren
         @if-using ( AMIGAOPP )                 ; amigaopp kann hiernach suchen!
            ( menus ( name0 ( name00 action00 ) ; erst ab hier parsen!
                            ( name01 action01 )
                    )
                    ( name1 ( name10 action10 )
                            ( name11 action11 )
                            ( name12 action12 )
                    )
           )
         @fi                                    ; hier kann das Parsen aufhoeren!
            :                                   ; einfach kopieren
       =>
            :
         ; @if deleted
         ( os-extension
            (" menus#name0#name00#name01##name1#name10#name11#name12### )
         )
         ( keybind action00 ( $menu "0 "0 ) )
         ( keybind action01 ( $menu "0 "1 ) )
         ( keybind action10 ( $menu "1 "0 ) )
         ( keybind action11 ( $menu "1 "1 ) )
         ( keybind action12 ( $menu "1 "2 ) )
         ; @fi deleted
            :
       }}}
      Ein solcher  Preprocessor  koennte  ziemlich  einfach  sein.  Er  muesste
      einfach nach den richtigen @if-usings suchen, und den darin beefindlichen
      Code  uebersetzen. Die darn verwendete Sprache kann ja so  einfach  sein,
      dass keine Probleme auftreten!
    -F macht das gleiche, nur wird NUR das toplevel-File gefiltert. Die  andere
    Moeglichkeit wird auf langsamen Kisten evtl ZU langsam.

    Bei beiden kann ueber defines ein Standard-Filter vordefiniert werden.

  (keybind foo ()) ist auch moeglich, wenn foo ueber  defmac  definiert  wurde,
  und das Macro die Laenge 1 hat!

  Den OCL-Optimizer in ein extra File gelegt.

  Zeige in der Hilfe auch die Origamiversion an.

  Name fuer die default-Variablen auch in envar_str.h

  OS_KB_NAMES kann definiert  werden.  Es  ist  in  die  Liste  der  Tokennamen
  eingesetzt,  um  z.B.  spezifische Identifier  auf  error  zu  setzen,  falls
  spezielle Namen durch os-spezifische Filter behandelt werden sollen.

  undeclare auf Origami-Funktionen (enter-fold .. ) erweitert.

  Bei " " in der Keysequence, wird statt " " jetzt "space" in  die  bindinglist
  im rc-File aufgenommen.

  set's koennen zugewiesen werden. => defset innerhalb von Macros erlaubt.
}}}
{{{  dirfold
1.6.42

  Optionen -s (single directory) und -M <markpattern> eingebaut.
  Mit diesen Optionen wird diredit realisiert.
}}}
{{{  bindings
1.6.39 -> 1.6.40

  undeclare bei diversen Bibliotheksfiles verwendet

  modeori bzgl wordstar Ebene verbessert
    Die Bindungen fuer  die  Movements  sind  jetzt  logisch  staerker  an  der
    Belegung des Blocks SUN-Cursorblocks orientiert.
    Die Verwendung der Puffer ist jetzt auf andere Tastenkombinationen  gelegt.
    Dabei habe ich mich nicht mehr an die Wordstar-Sourcen gestuetzt.  Die neue
    Belegung duerfte dafuer logischer sein,  und  auch  C-Q  als  zusaetzlichen
    meta-Key besser unterstuetzen.

  bug im regions Paket (tabs und Falten) ausgebaut

1.6.41

  Die C-Q Sequenzen fuer modeori umgestellt.

  Modeori fuer file-requester vorbereitet:
      @use ( FILEREQUEST )
      ( defmac file-requester
         ( ; die Sequenz, die den requester aufmacht
         )
      )
   genuegen, um den Requester bei allen normalen Fileoperationen aufzurufen.

   Neues Macropaket file-buffers ins fun-Directory gelegt, welches ein  Sichern
   und Lesen von kill/Move und delete-Buffer in ein File ermoeglicht.

   file-buffers in ModeOri als zusaetzlichen Mode integriert.

   usermacros fuer Modeori eingebaut

   Makefile setzt installiert auch die Directories.

}}}
{{{  docs
1.6.39 -> 1.6.40

  awk verwendet, um den Anhang fuer Token/Messages an die docs anzuhaengen. Die
  awk-Skripte benutzen dabei auch Variablen als Zaehler.

  Die Commandline options werden ebenfalls als Anhang behandelt.

  beim Installieren wird  nur  ein  origami.ms  abgelegt,  welches  ueber  awk,
  soelim, tbl erzeugt wird.

1.6.40 -> 1.6.41

  variablen  und  Versionsnamen  werden  ueber  ein  Skript  aus   envvar_str.h
  gewonnen.

  set's koennen zugewiesen werden. => defset innerhalb von Macros erlaubt.
1.6.41 -> 1.6.42

  neue Behandlung von Directories und next/prev file erwaehnt.

TODO:
  Die os spezifischen Manualteile, die bisher  in  den  verschiedenen  README's
  versteckt sind, sollten jeweils als roff-Sourcen der Form:
    ori-amiga.ms:
      {{{  read original origami docs
      .so origami.ms
      }}}
      {{{  amiga appendix
      .bp
      .NH 2
      Origami and Amiga
      .LP
      blah fasel..
      }}}
  zur Verfuegung stehen.
  Wer Probleme mit Roff hat, kann die Texte  ja  erst  mal  als  normalen  Text
  abgeben. Der Text sollte aber inhaltlich  einigermassen vollstaendig sein und
  inhaltlich und stilistisch als Anhang geschrieben sein.
}}}
{{{  man
1.6.39 -> 1.6.40

  Die Optionen fuer Origami in ein extra File gelegt, um diese auch in den docs
  angeben zu koennen. File mit .so included.

  Entsprechend das install so geaendert, das das .so mittels soelim  eliminiert
  wird.

1.6.40 -> 1.6.41

  Manuals verwenden die gleichen Namen wie in evvar_str.h vorgegeben.
  Daher wird auch hier das bei doc verwendete awk-Skript gebraucht.

}}}
