[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnustandards standards.texi
From: |
Richard M. Stallman |
Subject: |
gnustandards standards.texi |
Date: |
Sun, 24 Sep 2017 14:15:33 -0400 (EDT) |
CVSROOT: /sources/gnustandards
Module name: gnustandards
Changes by: Richard M. Stallman <rms> 17/09/24 14:15:33
Modified files:
. : standards.texi
Log message:
(GNU Manuals): Fix typo.
(file variables): Use write-file-functions.
(CPU Portability): Mention problem of Mingw64.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnustandards/standards.texi?cvsroot=gnustandards&r1=1.249&r2=1.250
Patches:
Index: standards.texi
===================================================================
RCS file: /sources/gnustandards/gnustandards/standards.texi,v
retrieving revision 1.249
retrieving revision 1.250
diff -u -b -r1.249 -r1.250
--- standards.texi 25 Jul 2016 17:05:18 -0000 1.249
+++ standards.texi 24 Sep 2017 18:15:33 -0000 1.250
@@ -3,7 +3,7 @@
@setfilename standards.info
@settitle GNU Coding Standards
@c This date is automagically updated when you save this file:
address@hidden lastupdate July 25, 2016
address@hidden lastupdate September 24, 2017
@c %**end of header
@dircategory GNU organization
@@ -2927,19 +2927,23 @@
@code{int} will be less than 32 bits. We don't support 16-bit machines
in GNU.
-Similarly, don't make any effort to cater to the possibility that
address@hidden will be smaller than predefined types like @code{size_t}.
-For example, the following code is ok:
+You need not cater to the possibility that @code{long} will be smaller
+than pointers and @code{size_t}. We know of one such platform: 64-bit
+programs on Microsoft Windows. If you care about making your package
+run on Windows using Mingw64, you would need to deal with 8-byte
+pointers and 4-byte @code{long}, which would break this code:
@example
printf ("size = %lu\n", (unsigned long) sizeof array);
printf ("diff = %ld\n", (long) (pointer2 - pointer1));
@end example
-1989 Standard C requires this to work, and we know of only one
-counterexample: 64-bit programs on Microsoft Windows. We will leave
-it to those who want to port GNU programs to that environment to
-figure out how to do it.
+Whether to support Mingw64, and Windows in general, in your package is
+your choice. The GNU Project does say you have any responsibility to
+do so. Our goal is to replace proprietary systems, including Windows,
+not to enhance them. If people pressure you to make your program run
+on Windows, and you are not interested, you can respond with, ``Switch
+to GNU/Linux --- your freedom depends on it.''
Predefined file-size types like @code{off_t} are an exception: they are
longer than @code{long} on many platforms, so code like the above won't
@@ -3399,7 +3403,7 @@
call with no arguments.
Whenever possible, please stick to the active voice, avoiding the
-passive, and use the present tense, not the future teste. For
+passive, and use the present tense, not the future tense. For
instance, write ``The function @code{foo} returns a list containing
@var{a} and @var{b}'' rather than ``A list containing @var{a} and
@var{b} will be returned.'' One advantage of the active voice is it
@@ -4312,7 +4316,7 @@
@bye
Local variables:
-eval: (add-hook 'write-file-hooks 'time-stamp)
+eval: (add-hook 'write-file-functions 'time-stamp)
time-stamp-start: "@set lastupdate "
time-stamp-end: "$"
time-stamp-format: "%:b %:d, %:y"
- gnustandards standards.texi,
Richard M. Stallman <=