While not strictly necessary, replacing the two ASCII tab characters in the markdown copyright comment makes it easier to detect problematic TAB indentation within markdown files. After this commit, only 90 markdown files have leading ASCII TAB characters. And again, while not strictly necessary, we can consider running expand on those 90 markdown files to see what effect that might have on the HTML files they produce. Replace leading ASCII TAB characters with multiples of 8 ASCII SPACE characters (the default action of the `expand(1)` tool) might have an negative effect on some HTML formatting where **hack-a-round** formatting was attempted to fix broken indentation caused by problematic ASCII TAB characters. Think of this as a baseline for evaluating leading TAB characters within markdown files. TODO: Consider either using `expand(1)` to replace leading ASCII TAB characters with multiples of 8 ASCII SPACE characters AND/OR modifying the appropriate `bin` tool to convert leading ASCII TAB characters into multiples of 8 ASCII SPACE characters.
1.8 KiB
To build:
make all
To use:
make all
NOTE: that's not a typo or mistake but one can also do:
./o
Judges' remarks:
We changed the alias that the author's suggested alias from a C-shell alias to a Bourne-like shell alias.
Note that shst.c is renamed to stig.c in the distribution.
WARNING: This program's how to compile is too specific to a particular shell.
The obfuscation of this program is more related to shell obfuscation than C
obfuscation. This type of entry will not be permitted in future contests.
Author's remarks:
If you like shell programming you may also admire my creative quoting. (I use
echo to create an alias which when run calls cc with the -D option to create
a C macro with double quotes in it. ARRRRRGGGHHH!)
The program is totally portable, but the compile commands are very shell specific so don't be TOO mad at me if they don't work for you.
If you want to put these commands in a Makefile you must add 4 - four - backslashes at the end on first line. (At least that's what works here.)
If everything works correctly it create an executable named o which checks
whether your compiler supports nested comments. I've stolen the "/*/*/0*/**/1"
from somewhere so don't give me any points for it. Of course neither ANSI nor
K&R support nested comments when properly implemented, but what the heck.