Monday, September 26, 2005

lab 43 - acme Wiki


lab 43 - acme Wiki


I ported the Acme Wiki client from Plan 9 to Inferno. At the moment (20050925) a small patch to Inferno's Acme is needed to get this to work. Make the following change (using ed) to /appl/acme/regx.b:

    if ((nc := xgetc(a0, a1, q)) != '#' && nc != '/' && nc != '?')

Download the wiki.tgz and unpack under /acme. Then mount a wiki and start Acme.

% cd /acme
% gunzip < wiki.tgz |gettar
% mount -9 tcp!!wiki /mnt/wiki
% acme -c1 /acme/wiki/guide
# inside Acme middle-click Wiki

I took a lot of the code that interfaces with the Acme filesystem from the Mail command and put it into the Acmewin module. This module should be useful to other Acme clients.

Once I started using this it flushed out a few bugs with my inferno wikifs port. I've updated the code under the original lab 30 with fixes.

Thanks to Russ Cox for writing the original wikifs and Acme wiki client. My version is not nearly as well tested as the original, so blame me for all bugs.