New Code!
The last time I added a new feature to levee, it had just been ported to the Atari ST and I was taking advantage of a functional exec()
system call to implement the “!” command in exec mode.
That was two decades ago.
Sometime last year I started corresponding with Felipe Augusto van de Wiel from the Debian project about doing a new release of the software to make the somewhat fussier than me modern Linux world happier with it. That correspondence resulted in levee 3.4p, but more importantly it resulted in my starting to use levee as my primary system editor on MacOS and various work Linux boxes that had inexplicably shipped with the vi clone vim
instead of the One True Editor.
As a result of this, I found that there are some real vi features I miss, ranging from the :g
and :v
commands through line-wrapping and the “!” command in visual mode. I didn’t really need :g
or :v
, nor did I need linewrapping, but not having “!!” turned out to be a real pain. I looked over the code, decided that it wouldn’t be too difficult to implement, and put it aside until this evening, when, in a 45 minute hacking session, I went in, restructured the code, and implemented the “!” command.
If you use levee, you want this New Code! because it makes the editor more useful. Regrettably, it also makes it about 400 bytes longer with the code restructuring and new function, but that’s a pretty small price to pay for being able to do “!}fmt” in the traditional way.
If you don’t use levee, you still want this New Code! because it’s a nice tiny bit of software from when the earth was young and you were lucky to find 64kbytes to program in (the Terak that I wrote levee on had 56k, and I only had 28k left after fitting it and my stripped-down version USCD Pascal onto the box. Machines are a bit larger now, but levee is still a pretty tiny piece of code.)