Concerning changes to bring github repo closer to Birmingham
distribution. One discrepancy is startup image. Adding
'emacsreadline' to startup image changes behaviour to that
of Birmingham setup (and a lot of examples assume this
behaviour). I have tried adding to 'lib/lib/startup.p'
things from v15.65 and its seems that adding all non-package
things works both with and without X. v15.65 brings
several things from packages: rc_graphic, teaching.p,
bhamlib.p, vedutils.p, rclib.p, vedscreendown.p,
vedsetwindow.p, rc_control_panel.p, rcmenu.p, vedmail.p.
I am reluctant to add things from packages to 'startup.p':
if added it would be no longer possible to build without
packages. Also, currently images work with '-nonwritable',
but IIRC trying to add some packages leads to errors
(which can be avoided by making image writable).
IMO better alternative is to handle extra things
by explicit uses (or maybe package autoload).
Another issue are extra commans: doc, help, im, ref, teach
During porting I had to rebuid multiple times and
not having those commands made my work a bit simpler.
So I changed build to avoid making them (and this
wnet to git repo). But if they are expected by users
I can add them back.
Next issue are parts missing from git repo. First,
a few libraries are missing: data, database, demo, flavours,
lr_parser, obsolete, proto, sun, turtle. Adding them
is easy. Main issue is that I would like to know
if they actually work. There are examples in
documentation, but it still takes time to extract
them and try.
Similar situation is with packages. It seems that
'rclib' and 'rcmenu' work (but there is problem with
killing windows). It seems that 'neural' and 'popvision'
do not work (when I tried I did not get expected
result). For few others I remember that in the past
to get them work I had to do sligthly different thing than
written in the doc (but I forgot details). Long ago
I used Gazdar and Mellish NLP examples. I remember that
I had to fix a bunch of things (vars versus lvars and
similar). IMO we should bundle such examples, but
with all fixes/changes needed to run on current
Poplog.
Now concerning libraries and packages, I see 3 possibilities:
- add the "known working" and when more is known add more
- wait till all are known working and then add them all
- add all regardless of which are working
To the moment I followed mostly second possibilty. My hope
was that we can quickly validate all libraries and packages
and add them. But it seems that this goes on quite slowly...
First possibilty slightly complicates merging extras with
git repo (in second variant one can blindly copy extras to
git repo, first requires little care to avoid overwriting
things recently included in repo). Third possibilty is
closest to current Birmingham tarball. It simplifies
creating distribution tarball. For me disadvantage is
that we loose track of what is tested (however shallow the
test) and what got no testing.
OK, tell me what you think about issues above.
--
Waldek Hebisch