Update spec to require automake >= 1.13
[platform/upstream/gawk.git] / POSIX.STD
1   Copyright (C) 1992, 1995, 1998, 2001, 2006, 2007, 2010, 2011
2   Free Software Foundation, Inc.
3   
4   Copying and distribution of this file, with or without modification,
5   are permitted in any medium without royalty provided the copyright
6   notice and this notice are preserved.
7 --------------------------------------------------------------------------
8 Thu Mar 31 22:31:57 IST 2011
9 ============================
10 This file documents several things related to the 2008 POSIX standard
11 that I noted after reviewing it.
12
13 1. POSIX leaves undefined what happens for something like
14
15         awk '{ print ; exit }' if=42 /etc/passwd
16
17    Mawk diagnoses this.  Gawk and BWK awk do not. This doesn't seem to be
18    worth the effort to add the code, but at least I'm aware of it.
19
20 2. The 2001-2004 standards accidentally required support for hexadecimal
21    floating point constants and for Infinity and Not-A-Number (NaN) values.
22
23    The 2008 standard now explicitly allows, but does not require, such
24    support.
25
26    More discussion is provided in the node `POSIX Floating Point Problems'
27    in gawk.texi.
28
29 3. String comparison with <, <= etc is supposed to take the locale's collating
30    sequence into account.  By default gawk doesn't do this. Rather, gawk
31    will do this only if --posix is in effect.
32
33 The following things aren't described by POSIX but ought to be:
34
35 1. The value of $0 in an END rule
36
37 2. The return value of a function that either does return with no value
38    or that falls off the end of the function body.
39
40 3. What happens with substr() if start is <= 0, or greater than the length
41    of the string, or if length is <= 0.
42
43 4. Whether "next" can be invoked from a function body.