<story><title>GNU Coding Standards: Writing Robust Programs</title><url>https://www.gnu.org/prep/standards/standards.html#Semantics</url></story><parent_chain></parent_chain><comment><author>kstenerud</author><text>&amp;gt; In error checks that detect “impossible” conditions, just abort. There is usually no point in printing any message. These checks indicate the existence of bugs. Whoever wants to fix the bugs will have to read the source code and run a debugger. So explain the problem with comments in the source.&lt;p&gt;But then the person &lt;i&gt;RUNNING&lt;/i&gt; the program will only see this:&lt;p&gt;&lt;pre&gt;&lt;code&gt;    Abort trap: 6
&lt;/code&gt;&lt;/pre&gt;
And that&amp;#x27;s all the info you&amp;#x27;ll get from their bug report.&lt;p&gt;So please ignore this directive and print a descriptive message always, complete with file and line, and the values that led to the impossible situation. Then you can get helpful bug reports like:&lt;p&gt;&lt;pre&gt;&lt;code&gt;    BUG: flush.c:51: buff_offset (65535) must not be greater than 20!
    Abort trap: 6&lt;/code&gt;&lt;/pre&gt;</text></comment>
<story><title>GNU Coding Standards: Writing Robust Programs</title><url>https://www.gnu.org/prep/standards/standards.html#Semantics</url></story><parent_chain></parent_chain><comment><author>bigbillheck</author><text>I see that they still say:&lt;p&gt;&amp;gt;&amp;gt;&amp;gt; Please don’t use “win” as an abbreviation for Microsoft Windows in GNU software or documentation. In hacker terminology, calling something a “win” is a form of praise. You’re free to praise Microsoft Windows on your own if you want, but please don’t do so in GNU packages. Please write “Windows” in full, or abbreviate it to “w.”&lt;p&gt;But they have removed some other guidance:&lt;p&gt;&amp;gt;&amp;gt;&amp;gt;  Instead of abbreviating “Windows” to “un”, you can write it in full or abbreviate it to “woe” or “w”.</text></comment>