Much progress, this now work on GNUstep. Here are GNUstep screenshots This can be compared to the original OPENSTEP42 screen shots:

To help porting to GNUstep, the code use no nib files and no threads. Drop me a line if you want to help.
Beware that this is not usable yet, as there is no way to open the files
Any help would be welcome, even request for features.

You should compile against the 990106 GNUstep repository, after having applied the following 'fix': In core/gui/Source/NSCell.m:343
  - (void)endEditing:(NSText *)textObject
  {
    [textObject removeFromSuperview];
    [self setStringValue: [textObject text]];
    [textObject setDelegate:nil];
  }
Should read:
  - (void)endEditing:(NSText *)textObject
  {
    [textObject setDelegate:nil];
    [textObject removeFromSuperview];
    [self setStringValue: [textObject text]];
  }

Bugs (non related to GNUstep missing functionality):

Working features: Left to be done
Here is the source 990106 [34KB]