Of course, we can cheat and use a byte to store the column
number, as after all, nobody has more than 256 columns.
Then you get a bug report where someone does. So raise it to an
unsigned short, then, sigh, you get another bug report where
someone's entire source file is on one line, and on it goes.
I realize putting "maximum line length 32767 characters" is an
arbitrary limit, but if you add that to the language spec and
make your column counter an unsigned short you're good forever.
This might break some existing code but I can't imagine it would
be much.
There are advantages to owning the language spec!