This file describes which problems occurred with the FPK Pascal Compiler,
version 0.9.2, when porting Graphics Vision to FPK.

* Pointer type definition before type definition is
  valid only for record/object.

* Calculated sets not valid in const initialization
  (views.pp)

* Can't change from non-virtual to virtual by overloading.
  (TView.Locate -> TGView.Locate)

* Can't change the return type of a method by overloading:
  TView.Prev -> TGView.Prev

* TStreamRec constants cause syntax errors (gvviews.pas).

* `set element type mismatch': (views.pp)
    (CurCommandSet * Commands <> [])

* The `Self' identifier cannot be used (outside a class).

* Can't use `uses' in the implementation part.

* Use of `Fail' leads to `illegal expression'.

* Directories are not handled well by the compiler.

* Nested `with' doesn't seem to work.

* If we use `with' inside a method and the name-spaces
  overlap, we will get class members, not `with' members.
  Causes lot of confusion.

  ===> Partial solution by a compiler patch, see with.txt

  Seems to be solved with 0.9.5 or earlier.

* array of Char cannot be initialized with a string.

* Cannot use open arrays as parameter
  (var x: array of T)

* If we have TView.Valid but no TGView.Valid (TGView is TView descendant),
  we cannot refer to TView.Valid as TGView.Valid.

* String constant initialization as in .GetPalette fails
  if the string has only one character.

* There seems to be a maximum number of methods;
  if we have more, the compiler crashes with general exception.
  -- This turned out to be a problem with unnamed enumeration in classes.

* We cannot place a whole block of code after `else' in a case statement,
  as in tv/menus.pas:TMenuView.Execute.

* Cannot use procedural call
  New(classpointervariable, Init(...));

* Cannot use Char(Size-1) (which is the same as Chr(Size-1))
  where Size is of Word type. Cannot use Byte('A'); this leads to
  an instruction unknown to the assembler.

* Use of `absolute' kills the compiler.

* Functions that are local to a method have a call scheme different to
  those that are local to a normal function. This makes it difficult to
  implement functions like ForEach.
  -- See the CallSpec unit.

* `Val' doesn't accept leading spaces. Overloadings for some types
  are missing.

* Can't use `Hi(...)' (... is Word) as a `case' constant.

* Can't use TypeOf().
  -- Seems to be fixed with 0.99.5 or maybe earlier.

