dnl dnl Here it is, the long awaited rot13 in m4! dnl I have sinned. This program has bugs and non-printable characters. dnl dnl This version is System V m4 compatible. (Uses no GNU extensions) dnl dnl BUGS dnl All space from a comma to the next token is eaten! dnl This is because m4 eats the space as it passes the `sinclude' expansion dnl to `a'. dnl Also, it doesn't check for a lot of error conditions, and if you have dnl a lame umask, there is a potential race condition. dnl ^\ and ^] in the input will probably cause it to fail in interesting dnl ways. dnl Assumes /tmp exists and is writeable, that your umask doesn't prevent dnl you from reading a file you wrote, that cat(1) exists, does what it dnl should, is in your path, and is executable, and that the temp mask dnl r13XXXXX should be sufficient for most usage. dnl dnl Teknovore 1999 dnl $Id$ dnl define(b,maketemp(`/tmp/r13XXXXX'))`'m4wrap(`syscmd(rm b)')`'changecom()`'dnl changequote(,)define(a,$@)syscmd(cat>b)dnl translit(a(sinclude(b)),A-MN-Za-mn-z,N-ZA-Mn-za-m)dnl dnl EOF rot13.m4