You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@stdcxx.apache.org by Martin Sebor <se...@roguewave.com> on 2007/09/05 03:40:40 UTC

Re: svn commit: r569152 - /incubator/stdcxx/branches/4.2.0/etc/config/src/LIMITS.cpp

Mark Brown wrote:
>> -----Original Message-----
>> From: sebor@roguewave.com
>> Sent: Sun, 26 Aug 2007 17:37:02 -0600
>> To: stdcxx-dev@incubator.apache.org
>> Subject: Re: svn commit: r569152 -
>> /incubator/stdcxx/branches/4.2.0/etc/config/src/LIMITS.cpp
>>
>> Mark Brown wrote:
>>>> -----Original Message-----
>>>> From: sebor@roguewave.com
>>>> Sent: Fri, 24 Aug 2007 09:29:36 -0600
>>>> To: stdcxx-dev@incubator.apache.org
>>>> Subject: Re: svn commit: r569152 -
>>>> /incubator/stdcxx/branches/4.2.0/etc/config/src/LIMITS.cpp
>>>>
>>>> Andrew, please be sure to observe the 78 characters/line limit
>>>> in Change Log entries as documented in bullet (3) of the Patch
>>>> Format section on the Bugs page:
>>>>    http://incubator.apache.org/stdcxx/bugs.html#patch_format
>>>>
>>>> The reason for this limit in both ChangeLogs and source files
>>>> is that they all need to be readable on traditional VT100 text
>>>> terminals.
>>> I have seen coding styles with a 79 character limit (for instance
>>> Python) but I am curious what the rationale for the 78 character limit
>>> is when even the VT100 displays have 80 columns?
>> Opening a file with 80 characters per line in emacs with a buffer
>> width set to 80 columns will wrap the last character of the next
>> line. So if all you have to work with is an 80x24 text terminal
>> and want to run emacs in it you want files to have no more than
>> 79 characters per line. You can recreate this experience in an
>> xterm or similar terminal by setting it to 80 characters and
>> starting emacs with the -nw option.
> 
> If I understand correctly what you're describing, emacs -nw will display lines with up to 79 characters in a 80 column frame without wrapping. What, then, is the rationale for at most 78 characters?

You're right, that was a thinko on my part. Sounds like 79 should
work, but...

I've done some searching online to see what coding standards there
are out there and what rationale they give for imposing which limit.
What I've found is there are standards that impose a limit of 80
characters, others that call for no more than 79 characters, and
others still that require at most 78 characters. However, not all
of them are explicit about what these characters are, specifically
whether the newline separator is or isn't part of the limit. The
killer argument (IMO) in favor of the 78 character limit (not
including the newline, or 79 character limit including it), is
the fact the Unified diff format prepends a character to every
line to indicate whether it is being added ('+') or removed ('-')
or neither. So with at most 78 character lines, diffs still
display correctly on an 80 column display, but at 79 characters
they warp around to the next line.

Here's a reference:
http://amis.sourceforge.net/devel/CppCodingStandard.html#linelen

Martin