I remember the Bournegol well; I did some hacking on the BSD shell.
In general, it wasn't too unusual for people from Pascal backgrounds to
do similar things, e.g.
#define repeat do {
#define until(cond) } while (! (cond))
*was* not unusual? This kind of stuff is still everywhere. In fact there's probably more of it each month. It seems to be especially popular in "high level" languages like C++ but you see tons of it in kernels too.
Some of the worst cpp abuse I've seen is in C++ in fact. One reason I'm glad Go has no preprocessor.