ChangeLog 164 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715
2016-02-27  Gary V. Vaughan  <gary@gnu.org>

	Release version 33.4.0
	* NEWS.md: Record release date.

	maint: update NEWS.md.
	* NEWS.md (Bugs fixed): Remove remaining mention of curses.  Note
	musl libc fix in _POSIX_PRIORITY_SCHEDULING entry.

	posix: handle thin gettimeofday tables from timer{add,cmp,sub}
	Close #196
	* specs/posix_spec.yaml (timeradd, timercmp, timersub): New
	examples of behaviour when passed tables from new thin wrapper
	tables from modern API.
	* lib/posix.lua.in (timeradd, timercmp, timersub): Handle tv_sec
	and tv_usec fields as an alternative to legacy sec and usec.
	* NEWS.md (Bug fixes): Update.

2016-02-26  Gary V. Vaughan  <gary@gnu.org>

	specs: make failing fdopen specs pending issue #217 resolution.
	* specs/posix_stdio_spec.yaml (fdopen): Now pending #217.

	specs: improve PATH and LUA environment propagation to spawn.
	* specs/spec_helper.lua (luaproc): Pass LUA and PATH to spawn
	environment.
	* specs/posix_stdio_spec.yaml (fdopen): Simplify output checking.

	specs: os.exit only takes numeric arguments on Lua 5.1.
	* specs/posix_spec.yaml (spawn, popen, popen_pipeline): Make
	sure to always pass a numeric argument when calling os.exit, to
	avoid failures on Lua 5.1.
	* specs/posix_stdio_spec.yaml (fdpopen): Likewise.

	specs: use portable unpack in spec_helpers
	* specs/spec_helper.lua (unpack): Use table.unpack where available,
	otherwise _G.unpack.

2016-02-25  Gary V. Vaughan  <gary@gnu.org>

	specs: don't leak spec example output into specl report summary
	* specs/posix_spec.yaml (spawn, popen, popen_pipeline): Use
	luaproc to force a separate Lua process to execute examples with
	output; communicate success using exit status, and adjust
	expectations to check for correct output.

	specs: stat over soft-links behaves surprisingly on ext2fs.
	* specs/posix_sys_stat_spec.yaml (posix.sys.stat): On ext2fs, the
	size of an empty directory seems to be equal to the number of bytes
	in its name.  So we have to put a file inside it for the softlink
	examples to work.

2016-02-24  Gary V. Vaughan  <gary@gnu.org>

	gnulib: remove.
	We were pulling in and syncing this whole huge repository for
	just a couple of m4 macros under an unlimited license.
	* slingshot: Sync with upstream for warnings.m4 et. al.
	* gnulib: Remove.
	* bootstrap.conf (gnulib_tool, require_dotgitmodules): Set to true
	to turn off gnulib-tool machinery.
	(gnulib_tool_options, gnulib_modules, gnulib_non_module_files):
	Remove.
	(slingshot_files): Add m4/warnings.m4 and m4/manywarnings.m4.
	(luaposix_ignore_gnulib_ignore, luaposix_remove_empty_lib): Remove.
	* configure.ac (gl_EARLY, gl_INIT): Remove.
	* .gitignore: Add /m4.
	* .travis.yml: Regenerate.

	configury: rearrange AC macros to avoid an expansion order warning.
	* configure.ac (AC_PROG_CC): Move after shell program checks.
	(gl_EARLY): Move after AC_PROG_CC, per gnulib-tool recommendations.
	(AC_USE_SYSTEM_EXTENSIONS): Move before gl_EARLY, to avoid
	expansion order warning from autoconf.

	slingshot: sync with upstream, for travis simplifications.
	* slingshot: Sync with upstream.
	* bootstrap: Regenerate, for license clarifications.
	* .travis.yml: Regenerate, for travis simplifications.

	configury: bump release version to 33.4.0.
	* configure.ac (AC_INIT): Bump release version to 33.4.0.
	* .travis.yml: Regenerate.

2016-01-23  Gary V. Vaughan  <gary@gnu.org>

	gnulib: sync with upstream.
	* gnulib: Sync with upstream, so that bootstrap works with its
	shallow copy of gnulib.

	slingshot: sync with upstream.
	* slingshot: Sync with upstream.
	* bootstrap: Regenerate.

2016-01-23  Gary V. Vaughan  <gary@vaughan.pe>

	Merge pull request #241 from jjandresson/pull-request/split-out-curses
	maint: move curses APIs back into their own library.

2016-01-23  JJ Andresson  <jjandresson@gmail.com>

	maint: move curses APIs back into their own library.
	* examples/curses.lua, ext/posix/curses.c,
	ext/posix/curses/chstr.c, ext/posix/curses/window.c,
	lib/curses.lua, m4/ax_with_curses.m4, specs/curses_spec.yaml:
	Remove.
	* .x-update-copyright, build-aux/config.ld.in, configure.ac,
	ext/include/_helpers.c, ext/posix/posix.c, local.mk,
	rockspec.conf, specs/specs.mk: Delete references to removed
	curses files.
	* AUTHORS, README.md: Remove mentions of curses.
	* NEWS.md: Update.

2016-01-06  Gary V. Vaughan  <gary@gnu.org>

	maint: bump copyright years.
	* COPYING, bootstrap.conf, configure.ac, ext/include/_helpers.c,
	ext/posix/ctype.c, ext/posix/curses.c, ext/posix/curses/chstr.c,
	ext/posix/curses/window.c, ext/posix/dirent.c, ext/posix/errno.c,
	ext/posix/fcntl.c, ext/posix/fnmatch.c, ext/posix/getopt.c,
	ext/posix/glob.c, ext/posix/grp.c, ext/posix/libgen.c,
	ext/posix/poll.c, ext/posix/posix.c, ext/posix/pwd.c,
	ext/posix/sched.c, ext/posix/signal.c, ext/posix/stdio.c,
	ext/posix/stdlib.c, ext/posix/sys/msg.c, ext/posix/sys/resource.c,
	ext/posix/sys/socket.c, ext/posix/sys/stat.c,
	ext/posix/sys/statvfs.c, ext/posix/sys/time.c,
	ext/posix/sys/times.c, ext/posix/sys/utsname.c,
	ext/posix/sys/wait.c, ext/posix/syslog.c, ext/posix/termio.c,
	ext/posix/time.c, ext/posix/unistd.c, ext/posix/utime.c,
	lib/posix.lua.in, lib/posix/_argcheck.lua, lib/posix/compat.lua,
	lib/posix/deprecated.lua, lib/posix/util.lua, local.mk,
	slingshot: Update format for `make update-copyright`, then use it to
	add 2016 to copyright years.

2016-01-05  Gary V. Vaughan  <gary@gnu.org>

	Merge branch 'jander-patch-2'

	examples: bring fork2.lua uptodate with modern luaposix API.
	* examples/fork2.lua: fix 'global posix is nil' error.
	* NEWS.md (Bugs Fixed): Update.

	slingshot: update to latest revision for Travis GCE compatibility.
	* slingshot: Pull latest upstream.
	* .travis.yml: Regenerate.

2015-12-31  jander  <jander.sy@163.com>

	Update fork2.lua
	fix global 'posix' is nil

2015-11-20  Gary V. Vaughan  <gary@vaughan.pe>

	Merge pull request #239 from jimmyharris/fix-termios
	Preserve baud rates in termios table

2015-11-20  James Harris  <james.harris@garmin.com>

	Preserve baud rates in termios table
	Previous versions of the termios interface assumed that the baud rate
	constants B0 B50 ... B115200 were bit masks that needed to be set in the
	cflags member of the termios struct. On most modern operating systems
	those are actually mapped to different members (not usually documented)
	that contain the baud speed. This speed is set using the posix
	functions: cfgetispeed(), cfgetospeed(), cfsetispeed(), and
	cfsetospeed(). Because the termios_p struct is translated into a lua
	table rather than being maintained in its original data format, extra
	information like the baud rate is lost.  This doesn't effect
	manipulations on ptty devices, but attempting to use this functionality
	over a physical serial connection results in the baud rate being set to
	whatever value was in the termios_p when it was created.

	This patch fixes this issue by adding the ispeed and ospeed to the lua
	representation of termios_p. This will allow luaposix to properly handle
	serial files backed by physical pipes.

2015-10-19  Gary V. Vaughan  <gary@gnu.org>

	posix: don't leak execx into global namespace.
	Close #236
	* lib/posix.lua.in (execx): Should be declared as a local.
	* NEWS.md (Bugs Fixed): Update.
	Reported by Felix Strilitz

2015-10-18  Gary V. Vaughan  <gary@gnu.org>

	unistd: readlink works on links to special devices.
	* ext/include/_helpers.c (PATH_MAX): Fall back to 1024 if the
	system headers don't define this.
	* ext/posix/unistd.c (Preadlink): When st_size is zero, as is the
	case for symlinks to some character and buffer devices on OSX,
	write the symlink destination path into a PATH_MAX length buffer
	instead of an st_size length buffer!
	* NEWS.md (Bug Fixes): Update.

2015-10-16  Gary V. Vaughan  <gary@gnu.org>

	examples: demonstrate use of pipe and dup2 for fork/exec prep.
	* examples/dup2.lua: New file.  People often want to call a
	subprocess and collect the output, error and status of that
	process in the parent.  Here is a simple example of just that!

	Merge branch 'Deoxyribonucleic-tcxetpgrp'

2015-10-16  Nils Ceberg  <nils.ceberg@gmail.com>

	unistd: add bindings to functions tcgetpgrp, tcsetpgrp
	Close #234
	* ext/posix/unistd.c (tcgetpgrp, tcsetpgrp): New API bindings
	where supported by host C library.
	* NEWS.md (New Features): Update.

2015-10-14  Gary V. Vaughan  <gary@gnu.org>

	socket: fix a typo in AF_NETLINK refactor.
	* ext/posix/sys/socket.c (pushsockaddrinfo): There's only one 'n'
	in 'sockaddr_nl'.

	socket: apparently Linux doesn't have sockaddr_un.sun_len.
	* ext/posix/sys/socket.c (pushsockaddrinfo): Use sizeof on the
	sun_path array, and always save the entire buffer.

	socket: handle AF_UNIX socket path string lengths properly.
	Close #232
	* ext/include/_helpers.c (checkstringfield): Add a length pointer,
	and...
	(checklstringfield): ...rename to this.
	(checkstringfield): Add a macro wrapper for the old API.
	(pushlstringfield): New macro to push an lstring.
	* ext/posix/sys/socket.c (pushsockaddrinfo): Use pushlstringfield
	for AF_UNIX path field so as not to terminate at the first \0.
	(sockaddr_from_lua): Use memcpy for the same reason.
	* examples/abstract-ns-server.lua, examples/abstract-ns-client.lua:
	New examples demonstrating non-NULL terminated AF_UNIX paths to
	us the Linux abstract namespace.
	* NEWS.md (New Features, Bugs Fixed): Update.

2015-10-06  Gary V. Vaughan  <gary@gnu.org>

	docs: don't mention removed KEY_MOUSE.
	* ext/posix/curses.c: Remove KEY_MOUSE doc table entry.
	Reported by Peter Melnichenko.

2015-10-03  Gary V. Vaughan  <gary@gnu.org>

	maint: update README.md.
	Closes #233.
	* README.md: Update and overhaul.

2015-08-26  Gary V. Vaughan  <gary@gnu.org>

	specs: add full examples for deprecated posix.getpid behaviour.
	* specs/posix_compat_spec.yaml (getpid): Move from here...
	* specs/posix_deprecated_spec.yaml (getpid): ...to here.  Add
	examples of fetching each supported syscall result, as well as
	default full table when called with no arguments.

2015-08-23  Gary V. Vaughan  <gary@gnu.org>

	configury: set and use HAVE_FDATASYNC for fdatasync support.
	FreeBSD 10.x claims POSIX.2001 compliance, but doesn't implement
	the fdatasync API.
	* configure.ac (AC_CHECK_FUNCS): Add fdatasync.
	* ext/posix/unistd.c (Pfdatasync, posix_unistd_fns): Elide
	posix.unistd.fdatasync when HAVE_FDATASYNC was not specified,
	instead of LPOSIX_2001_COMPLIANT.

	configury: don't mess up visible symbols on FreeBSD 10.x.
	* configure.ac: Add openbsd* to the list of platforms that are
	already POSIX.2008 compliant, until _XOPEN_SOURCE definition turns
	off all the other stuff.

2015-07-04  Timo Teräs  <timo.teras@iki.fi>

	fcntl: add constants FD_CLOEXEC, and O_CLOEXEC where supported.
	Close #227.
	* ext/posix/fcntl.c (O_CLOEXEC): Default to `0` when not defined
	by underlying system so that it can be ORed successfully.
	(open): Note O_CLOEXEC in LDocs.
	(O_CLOEXEC, FD_CLOEXEC): Define as Lua constants.
	* NEWS (New Features): Update.

2015-07-04  Gary V. Vaughan  <gary@gnu.org>

	doc: update opengroup manual links to issue 7 webpages.
	* build-aux/config.ld.in (upat): Build issue 7 links.
	* NEWS.md (New Features): Update.

	maint: add new posix.stdio.rename binding to NEWS.
	* NEWS.md (New Features): Add posix.stdio.rename binding.

2015-06-30  Ico Doornekamp  <ico@pruts.nl>

	stdio: add rename(2) binding.
	Closes #228, #229
	* specs/posix_stdio_spec.yaml (rename): Specify behaviour of
	posix.stdio.rename.
	* ext/posix/stdio.c (Prename): Bind rename(2).
	(posix_stdio_fns): Export Prename.

2015-06-30  Gary V. Vaughan  <gary@gnu.org>

	maint: add MIT license badge to README.md.
	* README.md: Add MIT license badge.

2015-06-27  Gary V. Vaughan  <gary@gnu.org>

	slingshot: sync with upstream for Travis Lua 5.3.1 support.
	* slingshot: Sync with upstream.
	* .travis.yml: Regenerate.

2015-06-20  Reuben Thomas  <rrt@sc3d.org>

	Fix docstring for spawn

2015-06-14  BJ Black  <bblack@barracuda.com>

	unistd: add support for alarm(2).
	Close #226
	* specs/posix_unistd_spec.yaml (alarm): Specify correct behaviour
	for new alarm(2) call.
	* ext/posix/unistd.c (Palarm): Implement it.
	(posix_unistd_fns): Add Palarm.

2015-04-07  Gary V. Vaughan  <gary@vaughan.pe>

	sched: workaround glibc _POSIX_PRIORITY_SCHEDULING bug.
	Close #223.
	* configure.ac (AC_CHECK_HEADERS): Add sched.h.
	* ext/posix/sched.c: Remove unistd.h; Predicate use of priority
	scheduling APIs on presence of sched.h instead of
	_POSIX_PRIORITY_SCHEDULING macro erroneously defined by glibc on
	Linux.
	Reported by ncopa@github.com.

2015-03-22  Gary V. Vaughan  <gary@vaughan.pe>

	curses: fix links to opengroup manual pages.
	Close #220
	* build-aux/config.ld.in (cpat): Define a new custom handler for
	3x manual pages to set curses urls correctly.
	* ext/posix/curses.c, ext/posix/curses/window.c: Fix LDoc @see
	references to point to existing opengroup pages.
	* NEWS.md (Bugs Fixed): Update.

	docs: fix return type of curses.window:getch.
	Close #222
	* ext/posix/curses/window.c (Wgetch): This function returns the
	character from the window's input buffer as an int, not a bool.
	Reported by Boris Nagaev <bnagaev@gmail.com>

	docs: add missing y and x parameters to curses.window:mvaddch.
	Close #221
	* ext/posix/curses/window.c (Wmvaddch): Add missing y and x
	parameters to doc-comments.
	Reported by Boris Nagaev <bnagaev@gmail.com>

2015-03-07  Gary V. Vaughan  <gary@gnu.org>

	slingshot: sync with upstream, to subproject .travis.yml.
	* slingshot: Sync with upstream.
	* .travis.yml: Regenerate.

	examples: be consistent with spaces before parens.
	* examples/curses.lua: Be consistent with spaces before parens.

2015-03-07  Gary V. Vaughan  <gary@vaughan.pe>

	Merge pull request #219 from starius/master
	curses example: use Lua boolean false instead of 0

2015-03-07  Boris Nagaev  <bnagaev@gmail.com>

	curses example: use Lua boolean false instead of 0
	curses.echo(0) is actually curses.echo(false), because
	value 0 is truthy in Lua.

2015-03-03  Reuben Thomas  <rrt@sc3d.org>

	posix/stdio.c: fix usage example for fdopen
	Thanks, Philipp Janda.

	posix/stdio.c: add missing parameter documentation to fdopen
	Thanks, Philipp Janda.

2015-03-01  Gary V. Vaughan  <gary@gnu.org>

	maint: post-release administrivia.
	* NEWS: Add header line for next release.
	* .prev-version: Record previous version.
	* ./local.mk (old_NEWS_hash): Auto-update.

	Release version 33.3.1
	* NEWS.md: Record release date.

	configury: bump release version to 33.3.1.
	* configure.ac (AC_INIT): Bump release version to 33.3.1.
	* .travis.yml: Regenerate.

	posix: fix a stupid cherry pick edit typo.
	* lib/posix.lua.in (popen_pipeline): Add comma after close.

2015-03-01  Reuben Thomas  <rrt@sc3d.org>

	posix: add missing locals before pclose and popen_pipeline.
	* lib/posix.lua.in (pclose, popen_pipeline): Make sure to import
	API module table entries into locals for easier refactoring if
	these functions are moved in a future revision.

	posix: remove ability to pass a simple string to execx.
	* specs/posix_spec.yaml (execx, spawn, popen): Adjust to exercise
	new behaviours with no special support for string arguments.
	* lib/posix.lua.in (execx, spawn, popen): Remove special support
	for string arguments.

	posix: remove obsolete `posix.system` alias.
	* lib/posix.lua.in (system): Remove.
	* NEWS.md (Incompatible Changes): Update.

2015-03-01  Gary V. Vaughan  <gary@gnu.org>

	specs: installcheck setup.
	To prevent a repeat of the unloadable 33.3.0 release, set up
	specs so that latest slingshot will rerun the specs against both
	configure and luarocks installed luaposix.
	* specs/posix_spec.yaml (posix.version): Move from here...
	* specs/posix_version_spec.yaml (version): ...to here.
	* specs/specs.mk (specl_SPECS): Add specs/posix_version_spec.yaml.
	* specs/spec_helper.lua: Check for installcheck in the environment
	before tweaking Lua paths to point at build tree.

	slingshot: sync with upstream, for installcheck support.
	* slingshot: Sync with upstream.
	* .travis.yml: Regenerate.

2015-02-28  Reuben Thomas  <rrt@sc3d.org>

	local.mk: install posix/init.lua under posix

2015-02-28  Gary V. Vaughan  <gary@gnu.org>

	maint: post-release administrivia.
	* NEWS: Add header line for next release.
	* .prev-version: Record previous version.
	* ./local.mk (old_NEWS_hash): Auto-update.

	Release version 33.3.0
	* NEWS.md: Record release date.

	configury: bump release version to 33.3.0.
	* configure.ac (AC_INIT): Bump release version to 33.3.0.
	* .travis.yml: Regenerate.
	* NEWS.md: Fix a small typo.

	maint: update .gitignore.
	* .gitignore: add lib/posix/init.lua.

	maint: workaround LuaRocks install manifest key clash.
	LuaRocks install manifest cannot store two files with the same
	key.
	* configure.ac (AC_CONFIG_FILES): Expand lib/posix.lua.in to
	lib/posix/init.lua for installation.
	* build-aux/config.ld.in (file): Adjust accordingly.
	* local.mk (dist_lua_DATA): Likewise.
	* NEWS.md (Bugs Fixed): Update.
	Workaround suggested by quae@daurnimator.com

	configury: don't forget to distribute compat-5.2.{c,h}.
	* local.mk (EXTRA_DIST): Add ext/include/compat-5.2.c and
	ext/include/compat-5.2.h.

2015-02-28  Reuben Thomas  <rrt@sc3d.org>

	rockspec.conf: remove bogus constraint on bit32 version

2015-02-28  Gary V. Vaughan  <gary@gnu.org>

	slingshot: sync with upstream for distcheck fixes.
	* slingshot: Sync with upstream again.

2015-02-27  Gary V. Vaughan  <gary@gnu.org>

	slingshot: Sync with upstream for Travis Lua 5.3 build fixes.
	* slingshot: Sync with upstream.
	* .travis.yml: Regenerate.

	maint: exclude compat-5.2 sources from assorted syntax checks.
	* build-aux/sanity-cfg.mk
	(exclude_file_name_regexp--sc_require_config_h)
	(exclude_file_name_regexp--sc_require_config_h_first)
	(exclude_file_name_regexp--sc_useless_cpp_parens): Add
	ext/include/compat-5.2.c.
	(exclude_file_name_regexp--sc_useless_cpp_parens): Add
	ext/include/compat-5.2.h.
	* ext/include/compat-5.2.c, ext/include/compat-5.2.h: Remove
	trailing empty lines.

	maint: don't trigger error-message-uppercase in stdlib.c.
	* build-aux/sanity-cfg.mk
	(exclude_file_name_regexp--sc_error_message_uppercase): Add
	ext/posix/stdlib.c.

	specs: expect portable wc command output format.
	BSD and Mac OS X `wc` indent the output from `wc`.
	* specs/posix_spec.yaml (popen_pipeline): Allow leading whitespace
	in wc output.

	slingshot: sync with upstream, for --libdir fix.
	Close #210
	* slingshot: Sync with upstream.

2015-02-27  Reuben Thomas  <rrt@sc3d.org>

	Merge pull request #213 from luaposix/remove-pipeline
	Remove pipeline

	NEWS.md: add recent changes

	posix: remove pipline, pipeline_iterator and pipeline_slurp
	These functions were experimental and only briefly documented. They are
	replaced by the popen family.

	NEWS.md: fix some formatting

2015-02-26  Reuben Thomas  <rrt@sc3d.org>

	posix: add popen, popen_pipeline, and execx.
	* specs/posix_spec.yaml (popen, popen_pipeline): Specify
	correct behaviours for these new functions.
	* lib/posix.lua.in (popen, popen_pipeline, execx): New functions.

2015-02-26  Gary V. Vaughan  <gary@vaughan.pe>

	Merge pull request #211 from luaposix/fdopen
	Fdopen

2015-02-25  Reuben Thomas  <rrt@sc3d.org>

	Merge pull request #206 from luaposix/remove-builtin-bit32
	build: remove posix.bit32

2015-02-21  Reuben Thomas  <rrt@sc3d.org>

	Add fdopen
	Uses luaL_Stream; we rely on compat-lua-5.2 to make this work on Lua 5.1
	and LuaJIT.

2015-02-19  Reuben Thomas  <rrt@sc3d.org>

	Build Lua 5.3 with 5.2 compatibility
	Needs -DLUA_COMPAT_5_2, just as 5.2 needs -DLUA_COMPAT_ALL

	Build Lua 5.3 with 5.2 compatibility
	Needs -DLUA_COMPAT_5_2, just as 5.2 needs -DLUA_COMPAT_ALL

	build: remove posix.bit32
	Close #204 again, removing posix.bit32 in favour of a rockspec
	dependency, which will use the built-in library in Lua >= 5.2, or the
	backported rock in Lua 5.1

2015-02-17  Gary V. Vaughan  <gary@gnu.org>

	Merge branch 'sparked435-master'

	curses: support linking against NetBSD curses.
	* ext/include/_helpers.c (LPOSIX_CURSES_COMPLIANT): Leave this
	unset on NetBSD, unless linked against ncurses.
	(binding_notimplemented): New function for returning a `nil`,
	"not implemented" error pair from an unbound function...
	* ext/posix/stdlib.c (mkdtemp): ...factored out of here.  Adjust
	accordingly.
	* ext/posix/curses.c (Presizeterm): Use it here too.
	(Pripoffline, Pslk_init, Pslk_refresh, Pslk_noutrefresh)
	(Pslk_label, pslk_clear, Pslk_restore, Pslk_touch)
	(Pslk_attron, Pslk_attroff, Pslk_attrset): Use it here When
	LPOSIX_CURSES_COMPLIANT is not set.
	* ext/posix/curses/window.c (Wsyncok, Wimmedok): Likewise.
	* NEWS.md (New Features): Update.

2015-02-17  aaron  <aaron@polygon.zs-zero.net>

	Workarounds for missing NetBSD curses functions.

2015-02-16  Gary V. Vaughan  <gary@gnu.org>

	curses: remove unusable KEY_MOUSE constant.
	* ext/posix/curses.c (register_curses_constants): Comment out
	KEY_MOUSE, along with a comment to remind us not to reintroduce
	it again later!
	* NEWS.md (Incompatible Changes): Update.

	dirent: throw a Lua error when called with non-existent path.
	Close #207.
	* specs/posix_dirent_spec.yaml: New file. Specify correct
	behaviours, paying special attention to throwing an error when
	called with a non-existent path.
	* specs/specs.mk (specl_SPECS): Add specs/posix_dirent_spec.yaml.
	* ext/posix/dirent.c (Pdir): Check for errors when opening
	path argument, and throw an error if necessary.
	(pfiles): Likewise.
	* examples/dir.lua: Adjust accordingly.
	* NEWS.md (Bugs Fixed): Update.
	Reported by Ingo Struck <web@ingostruck.de>

2015-02-11  Gary V. Vaughan  <gary@gnu.org>

	doc: rationale for posix.bit32 inclusion.
	Close #204
	* ext/posix/bit32.c: Add LDocs to explain why we have yet another
	bit twiddling functions module here in luaposix.

	Merge branch 'zevv-getsockname'

2015-02-11  Gary V. Vaughan  <gary@gnu.org>

	Merge branch 'getsockname' of https://github.com/zevv/luaposix into zevv-getsockname
	* specs/posix_sys_socket_spec.yaml (getsockname): Specify bad
	argument behaviours minimally.
	* ext/posix/sys/socket.c (getsockname): Port forward to latest
	helpers and conventions.  Fix LDocs.
	* examples/socket.lua: Port forward additional getsockname call.
	* NEWS.md (New features): Update.


	Conflicts:
		examples/socket.lua
		ext/posix/posix.c

2015-02-11  Ico Doornekamp  <ico@pruts.nl>

	Added getsockname() to examples/socket.lua

	Added getsockname

2015-01-31  Gary V. Vaughan  <gary@gnu.org>

	signal: workaround a printf long vs int type coercion issue.
	* ext/posix/signal.c (sig_handle): Some architectures use a long
	for sig_atomic_t, so we need a %ld specifier to display it without
	a warning.  In case sig_atomic_t is narrower than a long, cast it
	up before passing to fprintf.

	sys.socket: move sys/types.h include earlier.
	* ext/posix/sys/socket.c: netinet/udp.h complains about lack of
	u_short definition on FreeBSD 10, so move sys/types.h before it
	in the hope of fixing that.
	Reported by jeangit@github.

	sys.resource: add ifdef guards to RLIM_SAVED_CUR and RLIM_SAVED_MAX.
	* ext/posix/sys/resource.c (luaopen_posix_sys_resource): Add
	ifdef guards around RLIM_SAVED_CUR and RLIM_SAVED_MAX declarations,
	because FreeBSD 10 does not provide them.
	Reported by jeangit@github.

2015-01-20  Reuben Thomas  <rrt@sc3d.org>

	posix.lua: use error, not die; fixes #201

2015-01-19  Gary V. Vaughan  <gary@gnu.org>

	doc: improve LDocs for sys.socket sockaddr tables.
	Closes #200
	* ext/posix/sys/socket.c (sockaddr): Document all optional fields.
	* NEWS.md: Update.
	Reported by Bernd Eggink

	slingshot: sync with upstream for lua 5.3.0 final support.
	* slingshot: Sync with upstream.
	* .travis.yml: Regenerate.

2015-01-18  Reuben Thomas  <rrt@sc3d.org>

	Make posix.pipeline_slurp more efficient
	Use standard table.concat method instead of repeated string
	concatenation.

2015-01-04  Gary V. Vaughan  <gary@gnu.org>

	maint: post-release administrivia.
	* NEWS: Add header line for next release.
	* .prev-version: Record previous version.
	* ./local.mk (old_NEWS_hash): Auto-update.

	Release version 33.2.1
	* NEWS.md: Record release date.

	configury: distribute posix.curses.html correctly.
	* local.mk (dist_modules_DATA): Add posix.curses.html.
	* configure.ac (AC_INIT): Bump release version to 33.2.1.
	* .travis.yml: Regenerate.
	* NEWS.md: Update.
	Reported by Ulrich Schmidt <u.sch.zw@gmx.de>

2015-01-03  Gary V. Vaughan  <gary@gnu.org>

	maint: post-release administrivia.
	* NEWS: Add header line for next release.
	* .prev-version: Record previous version.
	* ./local.mk (old_NEWS_hash): Auto-update.

	Release version 33.2.0
	* NEWS.md: Record release date.

	specs: accept '?' as function name in Lua bad argument errors.
	LuaJIT in particular often fails to find the name of a function,
	so we must accept '?' when checking error message contents.
	* specs/spec_helper.lua (typeerrors): Call badargs.format twice,
	and return a table of results.
	(init): Use typerrors wrapper.
	* specs/posix_compat_spec.yaml, specs/posix_deprecated_spec.yaml,
	specs/posix_spec.yaml, specs/posix_sys_resource_spec.yaml,
	specs/posix_sys_socket_spec.yaml, specs/posix_time_spec.yaml: Use
	spec_helper.lua:init, or manually create a list of error messages
	including returned function name, or "?" when that could not be
	found, e.g. by LuaJIT.

2015-01-02  Gary V. Vaughan  <gary@gnu.org>

	configury: bump release version to 33.2.0.
	* configure.ac (AC_INIT): Bump release version to 33.2.0.
	* .travis.yml: Regenerate.

	maint: adjust indentation for github markdown multi-para bullets.
	* NEWS.md: Adjust indentation so that multi-paragram bullet
	points are correctly rendered by github markdown.

	specs: fix off by one error in localtime and gmtime examples.
	* specs/posix_time_spec.yaml (gmtime, localtime): Fix expectation
	range to fit (correct) description.
	* NEWS.md: Update.

	gnulib: sync with upstream.

	maint: commit git rockspec to master branch.
	* .gitignore: Allow git rockspecs.
	* luaposix-git-1.rockspec: New file.

	configury: add ansicolors to travis_extra_rocks.
	* bootstrap.conf (buildreq): Reference Specl 14.0.0 with correct
	version number.
	(travis_extra_rocks): Add ansicolors for color specl outpet.
	* .travis.yml: Regenerate.

2015-01-01  Gary V. Vaughan  <gary@gnu.org>

	maint: add 5.3 to compatiblity statement in files' preamble.
	* ext/include/_helpers.c, ext/posix/bit32.c, ext/posix/ctype.c,
	ext/posix/curses.c, ext/posix/curses/chstr.c,
	ext/posix/curses/window.c, ext/posix/dirent.c,
	ext/posix/errno.c, ext/posix/fcntl.c, ext/posix/fnmatch.c,
	ext/posix/getopt.c, ext/posix/glob.c, ext/posix/grp.c,
	ext/posix/libgen.c, ext/posix/poll.c, ext/posix/posix.c,
	ext/posix/pwd.c, ext/posix/sched.c, ext/posix/signal.c,
	ext/posix/stdio.c, ext/posix/stdlib.c, ext/posix/sys/msg.c,
	ext/posix/sys/resource.c, ext/posix/sys/socket.c,
	ext/posix/sys/stat.c, ext/posix/sys/statvfs.c,
	ext/posix/sys/time.c, ext/posix/sys/times.c,
	ext/posix/sys/utsname.c, ext/posix/sys/wait.c,
	ext/posix/syslog.c, ext/posix/termio.c, ext/posix/time.c,
	ext/posix/unistd.c, ext/posix/utime.c, lib/posix.lua.in,
	lib/posix/_argcheck.lua, lib/posix/compat.lua,
	lib/posix/deprecated.lua, lib/posix/util.lua: Add 5.3 to
	compatibility statement in files' preamble.

	maint: update copyrights.
	* COPYING, bootstrap.conf, configure.ac, ext/include/_helpers.c,
	ext/posix/bit32.c, ext/posix/ctype.c, ext/posix/curses.c,
	ext/posix/curses/chstr.c, ext/posix/curses/window.c,
	ext/posix/dirent.c, ext/posix/errno.c, ext/posix/fcntl.c,
	ext/posix/fnmatch.c, ext/posix/getopt.c, ext/posix/glob.c,
	ext/posix/grp.c, ext/posix/libgen.c, ext/posix/poll.c,
	ext/posix/posix.c, ext/posix/pwd.c, ext/posix/sched.c,
	ext/posix/signal.c, ext/posix/stdio.c, ext/posix/stdlib.c,
	ext/posix/sys/msg.c, ext/posix/sys/resource.c,
	ext/posix/sys/socket.c, ext/posix/sys/stat.c,
	ext/posix/sys/statvfs.c, ext/posix/sys/time.c,
	ext/posix/sys/times.c, ext/posix/sys/utsname.c,
	ext/posix/sys/wait.c, ext/posix/syslog.c, ext/posix/termio.c,
	ext/posix/time.c, ext/posix/unistd.c, ext/posix/utime.c,
	lib/posix.lua.in, lib/posix/_argcheck.lua, lib/posix/compat.lua,
	lib/posix/deprecated.lua, lib/posix/util.lua, local.mk: Add 2015
	to copyright statement.

	rockspec: Lua 5.4 and higher not yet supported.
	* rockspec.conf (dependencies): Add lua < 5.4 constraint.

	maint: use correct Specl >= 14 arity for bad argument errors.
	Now that Specl's badargs module is generating examples with
	the correct messages, we can now say 'no more than 0 arguments'.
	* ext/include/_helpers.c (checknargs): Return singular 'argument'
	in error message only for exactly 1 expected argument, otherwise
	plural.

	slingshot: sync with upstream.
	* slingshot: Sync with upstream.
	* bootstrap: Update from slingshot.
	* configure.ac: Remove SS_CONFIG_TRAVIS invocation. Move extra
	rocks from here...
	* bootstrap.conf (travis_extra_rocks): ...to here.
	(require_bootstrap_uptodate): Remove.
	* .gitignore: Remove slingshot.m4.

2014-12-22  Gary V. Vaughan  <gary@gnu.org>

	configury: enable mkdtemp on _XOPEN_SOURCE incompatible hosts.
	* configure.ac (POSIX_EXTRA_CPPFLAGS) <darwin*, openbsd*>: Add
	-DLPOSIX_2008_COMPLIANT instead of -D_XOPENSOURCE=700.
	* ext/include/_helpers (LPOSIX_2008_COMPLIANT): When manually
	defined, also ensure LPOSIX_2001_COMPLIANT is defined.

2014-12-19  Gary V. Vaughan  <gary@gnu.org>

	maint: use table.unpack over unpack for 5.3.0 compatibility.
	Lua 5.3 has table.unpack but not _G.unpack; Lua 5.2 has
	table.unpack and _G.unpack; Lua 5.1 has _G.unpack but not
	table.unpack
	* lib/posix.lua.in (unpack): Use table.unpack over unpack, to
	work on all three!
	* lib/posix/deprecated.lua (unpack): Likewise.

	maint: add missing NEWS.
	* NEWS: Note recent QNX support.

	stdlib: mkdtemp returns an error on substandard hosts.
	* ext/posix/stdlib.c (mkdtemp): Move POSIX compliance guards
	inside the function definition, with an alternate function body
	that returns an error when there is no mkdtemp in the C library.
	(posix_stdlib_fns): Remove POSIX compliance guard from mkdtemp.

	maint: detect POSIX 2001 or POSIX 2008 compliance.
	Close #197.
	* configure.ac: Reformat comments.
	Pass LPOSIX_2001_COMPLIANT directly to cpp on QNX.
	* ext/include/_helpers.c (LPOSIX_2008_COMPLIANT): Enable only
	if _POSIX_C_SOURCE or _XOPEN_SOURCE are set appropriately.
	(LPOSIX_2001_COMPLIANT): Add _XOPEN_SOURCE >= 600 condition.
	* ext/posix/stdlib.c (Pmkdtemp): Disable this function unless
	LPOSIX_2008_COMPLIANT is defined.
	Reported by James Harris <jimmy@jamesharris.org>

	maint: post-release administrivia.
	* NEWS: Add header line for next release.
	* .prev-version: Record previous version.
	* ./local.mk (old_NEWS_hash): Auto-update.

	Release version 33.1.0
	* NEWS.md: Record release date.

	specs: adjust setrlimit error message expectations.
	* specs/posix_sys_resource_spec.yaml (setrlimit): Adjust error
	messages to reflect recent int->number table field type changes.

	slingshot: sync with upstream, for Lua 5.3.0 improvements.
	* slingshot: Sync with upstream.
	* bootstrap: Update from slingshot.
	* NEWS: Move from here...
	* NEWS.md: ...to here. Convert to Markdown format.
	* .gitignore: Add NEWS.
	* local.mk (old_NEWS_hash): Regenerate.
	(luaexec_LTLIBRARIES): Change from assigment to appending.
	* .travis.yml: Regenerate.

2014-12-18  Gary V. Vaughan  <gary@gnu.org>

	resources: don't truncate rlim structure field values.
	With f8d8939 we were too zealous with changing all internal
	types from lua_Number (et. al) to lua_Integer (et. al), where
	lua_Integer is not wide enough to contain an rlim_t.
	* ext/include/_helpers (checknumberfield, pushnumberfield)
	(setnumberfield): New function and macros equivalent to the
	earlier implementations of checkintegerfield, pushintegerfield
	and setintegerfield respectively.
	* ext/posix/sys/resource.c (pushrlimit): Set PosixRlimit table
	entries with setnumberfield.
	(setrlimit): Extract PosixRlimit fields with checknumberfield.
	* specs/posix_sys_resource_spec.yaml (setrlimit): Remove
	spurious braces.

	posix: fix bad argument errors for spawn.
	* specs/posix_spec.yaml (spawn): Uncomment badargs diagnosis.
	* lib/posix.lua.in (M.spawn): Fix argument type error message for
	nil-valued argument 2.

2014-12-17  Gary V. Vaughan  <gary@gnu.org>

	sys.socket: support OpenBSD 5.6.
	Close #182.
	* ext/posix/sys/socket.c: Change the order of inclusion of some
	headers to satisfy OpenBSD 5.6.

2014-12-17  Reuben Thomas  <rrt@sc3d.org>

	Fix argument checks for spawn and add specs

2014-12-17  Gary V. Vaughan  <gary@gnu.org>

	sys.msg: only enable SysV messaging where it is supported.
	* configure.ac (AC_CHECK_HEADER): Add sys/msg.h.
	(AC_CHECK_FUNCS): Add msgrcv, msgsend.
	(HAVE_SYSV_MESSAGING): Define if the above are all present.
	* ext/posix/sys/msg.c (LPOSIX_2001_COMPLIANT): Change from using
	this...
	(HAVE_SYSV_MESSAGING): ...to this.

	configury: reformat AC_CHECK_FUNCS to discourage adding more!
	* configure.ac: Reformat.

2014-12-17  James Harris  <jimmy@jamesharris.org>

	configury: no _XOPEN_SOURCE on QNX.
	* configure.ac (POSIX_EXTRA_CPPFLAGS): Don't add _XOPEN_SOURCE on
	QNX either.

	socket: guard AI_ADDRCONFIG definition.
	* ext/posix/sys/socket.c (luaopen_posix_sys_socket): For machines
	that don't define AI_ADDRCONFIG, wrap the binding in a CPP guard.

	unistd: stub gethostid for POSIX implementations that dropped it.
	* configure.ac (AC_CHECK_FUNCS): Add gethostid.
	* ext/posix/unistd.c (Pgethostid): If there is no gethostid on
	this host, return an error rather than trying to call it.

	configury: support separate libsocket.
	* configure.ac (LIBSOCKET): Check for a socket funtion carrying
	socket library.
	* local.mk (ext_posix_posix_la_LDFLAGS): Add $(LIBSOCKET).

	curses: fix compilation errors when host has no curses library.
	* ext/posix/curses/chstr.c: Adjust #ifdef HAVE_CURSES to make
	sure there's an emptyg posix_curses_chstr_fns definition.
	* ext/posix/curses/window.c: Likewise for
	posix_curses_windows_fns.
	* ext/posix/curses.h: Likewise for curseslib.
	Also move #includes for the above files out of the HAVE_CURSES
	guard.

2014-12-17  Gary V. Vaughan  <gary@gnu.org>

	maint: add Lua 5.3 to README.md.
	* README.md: Add Lua 5.3 reference.

	slingshot: sync with upstream, for travis ownership fixes.
	* slingshot: Sync with uptstream.
	* .travis.yml: Regenerate.

	travis: debug check-local failure.
	* .travis.yml (script): Debug check-local failure.

	slingshot: sync with upstream, for Lua 5.3.x support.
	* slingshot: Sync with upstream.
	* .travis.yml: Regenerate.

	configury: bump release number to 33.1.0.
	* configure.ac (AC_INIT): Bump release number to 33.1.0.

	specs: move stdlib function specs to their own spec-file.
	* specs/posix_spec.yaml (abort, getenv, grantpt, mkdtemp, mkstemp)
	(openpt, ptsname, realpath, unlockpt, setenv): Move from here...
	* specs/posix_stdlib_spec.yaml (abort, getenv, grantpt, mkdtemp)
	(mkstemp, openpt, ptsname, realpath, unlockpt, setenv): New file.
	...to here.
	* specs/specs.mk (specl_SPECS): Add specs/posix_stdlib_spec.yaml.

	doc: cross reference umask and sys.stat.umask.
	* ext/posix/sys/stat.c (umask): Reference posix.umask.
	* lib/posix/compat.lua (umask): Reference posix.sys.stat.umask.

2014-12-16  Gary V. Vaughan  <gary@gnu.org>

	maint: support 5.3.0 integers correctly.
	Many integer fields and values were incorrectly becoming `.0`
	suffixed floats in Lua 5.3.0.
	* ext/include/_helpers.c (lua_isinteger): Define to lua_isnumber
	with pre-5.3.0 Lua headers.
	(checkinteger): Use it.
	(checkch): Use checkint over luaL_checknumber.
	(checkintegerfield): Use lua_pushinteger over lua_pushnumber.
	(pushnumberfield, setnumberfield): Rename from these...
	(pushintegerfield, setintegerfield): ...to these, and adjust to
	work with Integer subtypes in Lua 5.3.0.
	* ext/posix/curses.c (Punctrl): Use checkch over luaL_checknumber.
	* ext/posix/grp (pushgroup): Set gr_gid field as an integer.
	* ext/posix/poll.c (poll_fd_list_check_table): Use lua_isinteger
	for argument check.
	* ext/posix/pwd.c (pushpasswd): Use setintegerfield for pw_uid
	and pwd_gid fields.
	* ext/posix/sys/resource.c (pushrlimit): Use setintegerfield for
	rlim_cur and rlim_max fields.
	* ext/posix/sys/socket.c (pushsockaddrinfo): Use pushintegerfield
	for family, port, pid and groups fields.
	(Pgetaddrinfo): Use pushintegerfield for socktype and protocol
	fields.
	* ext/posix/sys/stat.c (pushstat): Use setintegerfield for all
	fields.
	* ext/posix/sys/statvfs.c (pushstatvfs): Use setintegerfield for
	all fields.
	* ext/posix/sys/time.c (pushtimeval): Use setintegerfield for
	tv_sec and tv_usec fields.
	* ext/posix/sys/times.c (pushtimefield): Use pushintegerfield.
	* ext/posix/termio.c (Ptcgetattr): Use pushintegerfield for
	iflag, oflag, lflag, cflag and cc fields.
	* ext/posix/time.c (pushtimespec): Use setintegerfield for
	tv_sec and tv_nsec fields.
	(pushtm): Use setintegerfield for all fields.
	* ext/posix/unistd.c (mygetuid. mygetgid): Use lua_isinteger and
	lua_tointeger for argument checking.
	* NEWS: Update.

	stdlib: accept optional 3rd argument to setenv.
	Close #185.
	* ext/posix/stdlib.c (Psetenv): Allow optional 3rd argument again.
	* NEWS: Update.

	maint: remove unused luaexec_LDFLAGS macro.
	Silence an Automake warning about unused luaexec_LDFLAGS.
	* local.mk (luaexec_LDFLAGS): Remove.

	slingshot: sync with upstream, for git submodule fixes.
	Latest slingshot bootstrap passes arguments to 'git submodule init'
	correctly.
	* slingshot: Sync with upstream.
	* bootstrap: Update from slingshot.
	* .travis.yml: Regenerate.

	specs: specify localtime and gmtime month values correctly.
	* specs/posix_time_spec.yaml (gmtime, localtime): Add a
	specification for December epoch returning month 11.
	Fix description of month range to be 0-11.
	* specs/posix_compat_spec.yaml (gmtime, localtime): Add a
	specification for December epoch returning month 12.
	Fix description of month range to be 1-12.
	Fix specification to check month range 1-12.

2014-12-16  Reuben Thomas  <rrt@sc3d.org>

	Fix #187

	Fix #189

2014-11-06  Gary V. Vaughan  <gary@gnu.org>

	deprecated: handle nonexistent files gracefully.
	* lib/posix/deprecated (stat, statvfs): If the underlying C API
	call does not return a table, simply return nil instead of
	calling doselection.

	sys.socket: initialize hints with zeros.
	* ext/posix/sys/socket.c (Pgetaddrinfo): It's not safe to rely
	on field values in uninitialised automatic struct addrinfo
	declaration.  Use memset to overwrite garbage.
	* NEWS: Update.

	maint: support _POSIX_C_SOURCE in lieu of _POSIX_VERSION.
	On OpenBSD 5.6, _POSIX_VERSION is set to just 199009L by default,
	and messing with _XOPEN_SOURCE or setting _POSIX_VERSION directly
	changes the C library header declarations.  It seems that
	_POSIX_C_SOURCE is defined to 200112L by default, indicating that
	the newer functions luaposix wants to bind to really are available.
	* configure.ac (POSIX_EXTRA_CPPFLAGS): Elide _XOPEN_SOURCE
	definition on OpenBSD.
	* ext/include/_helpers.c (LPOSIX_2001_COMPLIANT): New preprocessor
	symbol, defined when either _POSIX_VERSION or _POSIX_C_SOURCE
	are bigger than 200112L.
	* ext/posix/stdlib.c, ext/posix/sys/msg.c,
	ext/posix/sys/socket.c, ext/posix/sys/times.c,
	ext/posix/syslog.c, ext/posix/unistd.c: Predicate on new
	LPOSIX_2001_COMPLIANT definition instead of _POSIX_VERSION.

	sys.socket: make some more preprocessor constants conditional.
	* ext/posix/sys/socket.c (AI_ALL, AI_V4MAPPED): Add preprocessor
	guards, as these two are not defined on at least OpenBSD 5.6.

	configury: propagate _XOPEN_SOURCE cpp defines fully.
	* configure.ac (POSIX_EXTRA_CFLAGS): A misnomer...
	(POSIX_EXTRA_CPPFLAGS): ...better named like this.
	* local.mk (AM_CPPFLAGS): Add POSIX_EXTRA_CPPFLAGS, so addition
	preprocessor definitions reach submodule compilation too.
	(ext_posix_posix_la_CFLAGS): Remove.

2014-11-05  Gary V. Vaughan  <gary@gnu.org>

	doc: use OpenGroup SUSv3 urls for manual page links.
	* build-aux/config.ld.in (custom_see_handler): Send manual page
	links to OpenGroup SUSv3 specifications instead of kernel.org.

	maint: update README.
	* README.md: Update some bitrot.

	configury: add sys/socket.h to other socket header checks.
	The net/if.h check fails on at least OpenBSD 5.6 without this
	patch.
	* configure.ac (AC_CHECK_HEADERS): Add sys/socket.h to default
	headers when checking for net/if.h and linux/netlink.h.

	configury: set LIBRT only if it is required for clock_gettime.
	* configure.ac (LIBRT): Extract from != Darwin guard and set to
	-lrt if that is required for clock_gettime to work.
	(POSIX_EXTRA_CFLAGS): Move up to compiler flag setting section.
	(AC_CHECK_FUNCS): Move out of library checking section.

	sys.resource: provide RLIMIT_AS fallback for OpenBSD 5.6.
	* ext/posix/sys/resource.c (RLIMIT_AS): Fallback to RLIMIT_DATA
	if not otherwise defined.

	maint: preliminary Lua 5.3.0-beta compatibility.
	Close #181.
	* configure.ac (AX_PROG_LUA): Accept Lua 5.3 interpreters.
	* ext/include/lua52compat.h: Remove.
	* local.mk (EXTRA_DIST): Adjust accordingly.
	* ext/include/_helpers.c (lua_objlen, lua_strlen, luaL_openlib)
	(luaL_register): Lua 5.2 and 5.3 compatibility definitions.
	* ext/posix/sched.c, ext/posix/termio.c: Use luaposix optint()
	rather than deprecated luaL_optint().
	* NEWS: Update.

	bit32: remove remaining `require "bit"` invocations.
	* lib/posix.lua.in: require "posix.bit32" unconditionally.
	* specs/posix_unistd_spec.yaml: Likewise.

	maint: remove dependency on luabitop.
	* specs/spec_helper.lua (bit): Fallback on posix.bit32 if there
	is no native bit32 module.
	* lib/posix/compat.lua, lib/posix/deprecated.lua: Use
	posix.bit32 unconditionally.
	* rockspec.conf (dependencies): Remove luabitop.

	bit32: fetch uint32_t definition from stdint.h.
	* ext/posix/bit32.c: include stdint.h instead of sys/types.h.

	bit32: new module for lua5.1 compatibility.
	* specs/posix_bit32_spec.yaml: Specify behaviours of band, bnot
	and bor.
	* specs/specs.mk (specl_SPECS): Add posix_bit32_spec.yaml.
	* ext/posix/bit32.c: New module implementing band, bnot and bor.
	* ext/posix/posix.c: #include bit32.c.
	* build-aux/config.ld.in (file): Add ext/posix/bit32.c.
	* local.mk (EXTRA_ext_posix_posix_la_SOURCES): Likewise.
	(posix_submodules): Likewise.
	(ext_posix_bit32_la_LDFLAGS): Set module LDFLAGS.
	* NEWS: Update.

2014-11-04  Gary V. Vaughan  <gary@gnu.org>

	maint: ignore src.rock files.
	* .gitignore: Add *.src.rock.

	maint: update README.
	* README.md: Fix some outdated paragraphs.

	maint: post-release administrivia.
	* NEWS: Add header line for next release.
	* .prev-version: Record previous version.
	* ./local.mk (old_NEWS_hash): Auto-update.

	Release version 33.0.0
	* NEWS: Record release date.

	configury: adopt semantic versioning.
	* configure.ac (AC_INIT): Bump version to 33.0.0.

	doc: document returned error numbers in many APIs.
	* ext/posix/fcntl.c, ext/posix/poll.c, ext/posix/sched.c,
	ext/posix/signal.c, ext/posix/stdio.c, ext/posix/stdlib.c,
	ext/posix/sys/msg.c, ext/posix/sys/resource.c,
	ext/posix/sys/socket.c, ext/posix/sys/stat.c,
	ext/posix/sys/times.c, ext/posix/sys/utsname.c,
	ext/posix/sys/wait.c, ext/posix/syslog.c, ext/posix/termio.c,
	ext/posix/time.c, ext/posix/unistd.c, ext/posix/utime.c,
	lib/posix/compat.lua, lib/posix/deprecated.lua: Document third
	returned error number for many APIs.

2014-11-03  Gary V. Vaughan  <gary@gnu.org>

	syslog: add LOG_MASK, and pass bits to openlog and setlogmask.
	Close #156.
	* specs/posix_spec.yaml (openlog): Move from here...
	* specs/posix_deprecated_spec.yaml (openlog): ...to here.
	* specs/posix_spec.yaml (setlogmask): Move from here...
	* specs/posix_compat_spec.yaml (setlogmask): ...to here.
	* specs/posix_spec.yaml (closelog, syslog): Move from here
	* specs/posix_syslog_spec.yaml (closelog, syslog): New file.
	...to here.
	* specs/specs.mk (specl_SPECS): Add posix_syslog_spec.yaml.
	* specs/posix_syslog_spec.yaml (openlog, setlogmask)
	(LOG_MASK): Specify behaviour of new minimal bindings.
	* ext/posix/compat.lua (openlog, setlogmask): Simplify
	accordingly.
	* lib/posix/deprecated.lua (openlog): Reimplement old string
	specified option API in Lua over new minimal binding.
	* ext/posix/syslog.c (PLOG_MASK): New function for converting
	option priorities to mask bits.
	* lib/posix/compat.lua (setlogmask): Reimplement old auto-ORing
	API over new LOG_MASK and minimal setlogmask bindings.
	* NEWS: Update.

	doc: remove unused posix.util.html.
	* local.mk (dist_modules_DATA): Remove doc/modules/posix.util.html.

	posix: move openpty utility into posix and add argchecks.
	* lib/posix/util.lua (openpty): Move from here...
	* lib/posix.lua (openpty): ...to here.  Add argcheck wrapper.
	* lib/posix/util.lua: Reexport openpty for backwards compatibility.
	* specs/posix_spec.yaml (openpty): Add specs for argchecks.
	* build-aux/config.ld.in (file): Remove lib/posix/util.lua.
	* NEWS: Update.

	specs: set initial describe headers consistently.
	* specs/curses_spec.yaml, specs/posix_compat_spec.yaml,
	specs/posix_ctype_spec.yaml, specs/posix_deprecated_spec.yaml,
	specs/posix_fcntl_spec.yaml, specs/posix_fnmatch_spec.yaml,
	specs/posix_grp_spec.yaml, specs/posix_pwd_spec.yaml,
	specs/posix_sys_msg_spec.yaml,
	specs/posix_sys_resource_spec.yaml,
	specs/posix_sys_stat_spec.yaml,
	specs/posix_sys_statvfs_spec.yaml,
	specs/posix_sys_time_spec.yaml, specs/posix_sys_times_spec.yaml,
	specs/posix_sys_utsname_spec.yaml, specs/posix_time_spec.yaml,
	specs/posix_unistd_spec.yaml: Use dot delimmited module names
	consistently in initial describe heading.

	doc: show return type correctly on exec and execp.
	* ext/posix/unistd.c (Pexec, Pexecp): Show return type correctly.

	doc: show return type of posix.signal.signal.
	* ext/posix/signal.c (signal): Show return type.

	refactor: move lua docs to the top of LDoc index sidebar.
	* build-aux/config.ld.in (files): Move Lua files to the top of
	the list.

	unistd: deprecate exec with string tuple args.
	Close #167.
	* specs/posix_spec.yaml (exec, execp): Move from here...
	* specs/posix_deprecated.yaml (exec, execp): ...to here.
	* specs/posix_unistd.yaml (exec, execp): ...and much simplified
	specification here.
	* ext/posix/unistd.c (runexec): Simplify accordingly.
	* lib/posix/deprecated (exec, execp): Reimplement string tuple
	passing, [0]-crippled API again over C binding.
	* NEWS: Update.

	signal: modernize posix.signal.
	Close #161.
	* specs/posix_spec.yaml (kill, killpg, raise, signal): Move from
	here...
	* specs/posix_signal_spec.yaml (kill, killpg, raise, signal):
	New file.  ...to here.
	* specs/specs.mk (specl_SPECS): Add specs/posix_signal_spec,yaml.
	* examples/signal.lua: Rewrite in modern style.
	* ext/posix/signal.c (Psignal): Update LDocs.
	(luaopen_posix_signal): Add SIG_DFL and SIG_IGN constants.
	* NEWS: Update.

2014-11-02  Gary V. Vaughan  <gary@gnu.org>

	specs: don't truncate output after fcntl examples.
	* specs/lposix_spec.yaml (fcntl F_GETFL): Make sure to save and
	correctly restore stdio buffering correctly around examples.
	* NEWS: Update.

	deprecated: make sure bitwise operations are defined.
	* lib/posix/deprecated.lau (bit): Require a bit operation lib.
	(band, bnot, bor): Define local bitwise operators.

	refactor: separate undocumented compat APIs.
	* lib/posix/compat.lua (doselection, PosixTm, LegacyTm, pushmode)
	(bind, clock_getres, clock_gettime, connect, fadvise, fnmatch)
	(getgroup, getpasswd, getpid, getrimit, gettimeofday, gmtime)
	(hostid, isgraph, isprint, localtime, mktime, nanosleep, pathconf)
	(setrlimit, stat, statvfs, strftime, strptime, sysconf, times)
	(uname): Move from here...
	* lib/posix/deprecated.lua (doselection, PosixTm, LegacyTm)
	(pushmode, bind, clock_getres, clock_gettime, connect, fadvise)
	(fnmatch, getgroup, getpasswd, getpid, getrimit, gettimeofday)
	(gmtime, hostid, isgraph, isprint, localtime, mktime, nanosleep)
	(pathconf, setrlimit, stat, statvfs, strftime, strptime, sysconf)
	(times, uname): New file.  ...to here.
	* build-aux/sanity-cfg.mk (sc_error_message_uppercase): Adjust
	accordingly.
	* build-aux/config.ld.in (file): Add lib/posix/compat.lua.
	* lib/posix/compat.lua: Document within posix module.

2014-10-28  Gary V. Vaughan  <gary@gnu.org>

	refactor: separate private argument checking helpers.
	* lib/posix/compat.lua (argerror, argtypeerror, badoption)
	(checkint, checkselection, checkstring, checktable, optint)
	(optstring, opttable, toomanyargerror): Move from here...
	* lib/posix/_argcheck.lua (argerror, argtypeerror, badoption)
	(checkint, checkselection, checkstring, checktable, optint)
	(optstring, opttable, toomanyargerror): New file.  ...to here.
	* local.mk (dist_luaposix_DATA): Add lib/posix/_argcheck.lua.

	socket: bind connect and bind minimally.
	Close #158.
	* specs/posix_spec.yaml (accept, bind, connect, getaddrinfo)
	(listen, recv, recvfrom, send, sendto, setsockopt, shutdown)
	(socket, socketpair): Move from here...
	* specs/posix_sys_socket_spec.yaml (accept, bind, connect)
	(getaddrinfo, listen, recv, recvfrom, send, sendto, setsockopt)
	(shutdown, socket, socketpair): New file. ...to here.
	(bind, connect): Adjust specifications to expect 0 returned upon
	success.
	* specs/posix_deprecated_spec.yaml (bind, connect): New file.
	Check for backward compatible return types when imported from
	posix module.
	* specs/specs.mk (specl_SPECS): Add
	specs/posix_sys_socket_spec.yaml and
	specs/posix_deprecated_spec.yaml.
	* ext/posix/sys/socket.c (bind, connect): Simplify accordingly.
	* examples/socket.lua: Adjust to new style submodule imports.
	* lib/posix/deprecated.lua (bind, connect): Write wrapper
	functions to implement `true` return API.
	* local.mk (dist_luaposix_DATA): Add lib/posix/deprecated.lua.
	* lib/posix.lua.in: Import deprecated APIs.

	time: remote debugging with Travis!!
	* lib/posix/compat.lua (clock_getres): Fix if guard for
	undefined clock_getres.
	(clock_gettime): Fix indentation.
	* specs/psoix_time_spec.yaml (clock_getres, clock_gettime): Use
	prototype instead of type to get metatable _type!

	time: bind clock_getres and clock_gettime minimally.
	Close #159.
	* specs/posix_time_spec.yaml (clock_getres, clock_gettime): Adjust
	to specify passing of integer constants and return PosixTimespec
	tables.
	* specs/posix_compat_spec.yaml (clock_getres, clock_gettime):
	Specify backwards compatible behaviours accepting optional name
	and returning separate sec, nanosec results.
	* ext/posix/time.c (get_clk_id_const): Remove.
	(clock_getres, clock_gettime): Simplify.
	* lib/posix/compat.lua (clock_getres, clock_gettime): Reimplement
	old API over new minimal binding.
	* NEWS: Update

2014-10-25  Gary V. Vaughan  <gary@gnu.org>

	time: bind nanosleep minimally.
	Close #162.
	* specs/posix_spec.yaml (nanosleep): Move from here...
	* specs/posix_compat_spec.yaml (nanosleep): ...to here.
	* specs/posix_time_spec.yaml (nanosleep): Specify behaviour of
	minimal binding.
	* ext/posix/time.c (totimespec, pushtimespec): New functions.
	Convert between C struct timespec and Lua PosixTimespec table.
	(nanosleep): Simplify accordingly.
	* lib/posix/compat.lua (nanosleep): Reimplement old API over new
	minimal binding.
	* NEWS: Update.

	time: pass struct tm equivalent tables with POSIX field names.
	* specs/posix_spec.yaml (gmtime, localtime, mktime, strftime)
	(strptime): Move from here...
	* specs/posix_compat_spec.yaml (gmtime, localtime, mktime)
	(strftime, strptime): ...to here.  Add full specifications.
	* specs/posix_time_spec.yaml (clock_getres, clock_gettime, gmtime)
	(localtime, mktime, strftime, strptime, time): Specify behaviours
	of thin bindings for these APIs.
	* specs/specs.mk (specl_SPECS): Add specs/posix_time_spec.yaml.
	* ext/posix/time.c (Stm_fileds, totm, pushtm): Convert and verify
	C struct tm records and Lua PosixTm tables.
	(gmtime, localtime, mktime, strftime, strptime): Simplify
	accordingly.
	* lib/posix/compat.lua (PosixTm, LegacyTm): Convert between new
	PosixTm tables and old custom field name `struct tm` tables.
	(gmtime, localtime, mktime, strftime, strptime): Reimplement
	legacy table manipulation APIs over new thin bindings.
	* NEWS: Update.

	maint: tidy up sanity check configuration.
	* build-aux/sanity-cfg.mk: Escape '.' in regexps properly.
	Add lib/posix/compat.lua to sc_error_message_uppercase.

2014-10-24  Gary V. Vaughan  <gary@gnu.org>

	resource: bind getrlimit and setrlimit minimally.
	Close #164.
	* specs/posix_spec.yaml (getrlimit, setrlimit): Move from here...
	* specs/posix_compat_spec.yaml (getrlimit, setrlimit): ...to here.
	* specs/posix_sys_resource_spec.yaml (getrlimit, setrlimit): New
	file. Specify minimal binding behaviours.
	* specs/specs.mk (specl_SPECS): Add
	specs/posix_sys_resource_spec.yaml.
	* ext/include/_helpers.c (checkfieldtype): Improve nil diagnostic
	to read 'no value'.
	(lookup_symbol): Remove unused function.
	* ext/posix/sys/resource.c (rlimit_map, Krlimit, Srlimit): Remove
	unused internal APIs.
	(pushrlimit): Push a PosixRlimit table onto the stack.
	(getrlimit, setrlimit): Simplify accordingly.
	* lib/posix/compat.lua (optint): New helper function.
	(getrlimit, setrlimit): Reimplement string resource multi-return
	API in Lua.
	* NEWS: Update.

	refactor: reorder renamed fcntl functions alphabetically.
	* ext/posix/fcntl.c: Order functions alphabetically.

	compat: adjust argerror diagnostics for backwards compatibility.
	* lib/posix/compat.lua (fadvise): Adjust argerror diagnostics.

	maint: adjust badarguments example generation for fadvise.
	* specs/posix_compat_spec.yaml (fadvise): Adjust fadvise
	generation specifier.

	maint: missing declaration.
	* ext/posix/fcntl.c (Pposix_fadvise): Add missing declaration.

	fcntl: bind posix_fadvise minimally.
	Close #169.
	* specs/posix_spec.yaml (fadvise): Move from here...
	* specs/posix_compat_spec.yaml (fadvise): ...to here.
	* specs/posix_fcntl_spec.yaml (posix_fadvise): Specify argcheck
	behaviours on supporting systems.
	* ext/posix/fcntl.c (Pfadvise): Rename from this...
	(Pposix_fadvise): ...to this.  Change first argument to a file
	descriptor to match POSIX API.
	* lib/posix/compat.lua (fadvise): Reimplement file handle
	argument version in Lua.
	* NEWS: Update.

	refactor: move _helper.c functions into only calling submodule.
	* ext/include/_helpers.c (mygetuid, mygetgid): Move from here...
	* ext/posix/unistd.c (mygetuid, mygetgid): ...to here.

	maint: remove unused doselection helper.
	* ext/include/_helpers.c (Selector, doselection): Remove.
	* ext/posix/sys/resource.c (Pgetrlimit): Remove unsolvable FIXME
	comment.

	times: bind times minimally.
	Close #165.
	* specs/posix_spec.yaml (times): Move from here...
	* specs/posix_compat_spec.yaml (times): ...to here.
	* specs/posix_sys_times_spec.yaml (times): New file. Specify
	minimal binding of times(2).
	* specs/specs.mk (specl_SPECS): Add
	specs/posix_sys_times_spec.yaml.
	* ext/posix/sys/times.c (struct mytimes, Ftimes, Stimes): Remove.
	(Ptimes): Simplify accordingly.
	* lib/posix/compat.lua (times): Reimplement legacy multi-string
	or table io/API over minimal C binding.
	* NEWS: Update.

2014-10-23  Gary V. Vaughan  <gary@gnu.org>

	compat: fix a typo, so stat is wrapped with _DEBUG false.
	* lib/posix/compat.lua (stat): When _DEBUG is false, make sure to
	still add a stat function entry to the export table!

	statvfs: bind statvfs minimally.
	* specs/posix_spec.yaml (statvfs): Move from here...
	* specs/posix_compat_spec.yaml (statvfs): ...to here.
	* specs/posix_sys_statvfs_spec.yaml (statvfs): New file. Specify
	a minimal binding of statvfs(2).
	* specs/specs.mk (specl_SPECS): Add
	specs/posix_sys_statvfs_spec.yaml.
	* ext/posix/sys/statvfs.c (Fstatvfs, Kpathvfs, Sstatvfs): Remove.
	(Pstatvfs): Simplify drastically.
	(luaopen_posix_sys_vfs): Add statvfs f_flags bitmasks.
	* lib/posix/compat.lua (statvfs): Reimplement legacy multi-string
	or table io/API over minimal C binding.
	* NEWS: Update.

	maint: don't rely on undefined evaluation order.
	* ext/posix/unistd.c (Ppathconf): The C standard allows arguments
	to be evaluated in any order, and we have specl examples that
	require argchecks proceed from left to right, so hoist the first
	argument out of the nested call to satisfy that.

	unistd: wrap pathconf minimally.
	* specs/posix_spec.yaml (pathconf): Move from here...
	* specs/posix_compat_spec.yaml (pathconf): ...to here.
	* specs/posix_unistd_spec.yaml (pathconf): Specify a minimal
	binding of pathconf(2).
	* ext/posix/unistd.c (pathconf_map, Fpathconf, Kpathconf)
	(Spathconf): Remove.
	(pathconf): Simplify drastically.
	(luaopen_posix_unistd): Add pathconf argument constants.
	* lib/posix/compat.lua (pathconf): Reimplement legacy multi-
	string or table i/o API over minimal C binding.
	* NEWS: Update.

	unistd: wrap sysconf minimally.
	* specs/posix_spec.yaml (sysconf): Move from here...
	* specs/posix_compat_spec.yaml (sysconf): ...to here.
	* specs/posix_unist_spec.yaml (sysconf): Specify minimal
	binding of sysconf(2).
	* ext/posix/unistd.c (sysconf_map, Fsysconf, Ksysconf, Ssysconf):
	Remove.
	(sysconf): Simplify drastically.
	(luaopen_posix_unistd): Add sysconf argument constants.
	* lib/posix/compat.lua (sysconf): Reimplement legacy multi-string
	or table i/o API over minimal C binding.
	* NEWS: Update.

	posix: factor out doselection argument checking function.
	* lib/posix/compat.lua (badoption, checkint, checkstring)
	(checktable, optstring): Accept and propagate new error level
	parameter.
	(checkselection): Use them to factor out argument checking for
	doselection argchecking wrappers.
	(getpasswd, getpid, stat): Simplify argchecking wrappers
	accordingly.
	* NEWS: Update.

2014-10-22  Gary V. Vaughan  <gary@gnu.org>

	refactor: factor out doselection-like functionality.
	* lib/posix/compat.lua (doselection): Given a table of field
	names, and a mapping table return a tuple of remapped names, or
	the whole table when no fields are passed.
	(getpasswd, getpid, stat): Simplify accordingly.

	specs: specify posix.sys.stat.stat behaviour.
	* specs/posix_sys_stat_spec.yaml (stat): New examples based on
	lstat.

	specs: add missing file.
	* specs/posix_fcntl_spec.yaml: New file.

	posix: move mode munching from C to Lua.
	Close #147.
	* specs/posix_spec.yaml (chmod, mkdir, mkfifo, msgget, open):
	Move from here...
	* specs/posix_compat_spec.yaml (chmod, mkdir, mkfifo, msgget)
	(open): ...to here, and add functionality examples.
	* specs/posix_sys_msg_spec.yaml (msgget),
	specs/posix_sys_stat_spec.yaml (chmod, mkdir, mkfifo): Updated
	versions of original examples, tailored to work with integer mode
	arguments.
	* local.mk (specl_SPECS): Add specs/posix_fcntl_spec.yaml and
	specs/posix_sys_msg_spec.yaml.
	* ext/posix/fcntl.c (Popen): Drastically simplified, to a
	minimal POSIX binding.
	* ext/posix/sys/msg.c (Pmsgget): Likewise.
	* ext/posix/sys/stat.c (Pchomd, Pmkdir, Pmkfifo): Likewise.
	* ext/include/_helpers.c (M, rwxrwxrwx, octal_mode, mode_munch):
	Remove.  No longer in use.
	* lib/posix/compat.lua (checkint): New support function.
	(chmod, mkdir, mkfifo, msgget, open): Reimplement legacy mode
	munching APIs over minimal C bindings.
	(create): Adjust to use new minimal open binding.

2014-10-21  Gary V. Vaughan  <gary@gnu.org>

	sys.stat: wrap umask minimally.
	* specs/posix_spec.yaml (umask): Move from here...
	* specs/posix_compat_spec.yaml (umask): ...to here.
	* specs/posix_sys_stat_spec.yaml (umask): Specify minimal binding
	for umask(2).
	* ext/posix/sys/stat.c (umask): Simplify drastically.
	* ext/include/_helpers.c (pushmode): Remove.  No longer used.
	* lib/posix/compat.lua (rwxrwxrwx, octal_mode, mode_munch):
	Translated from C equivalents in ext/include/_helpers.c.
	(umask): Use them to reimplement legacy modestring based API.

	refactor: move pushtimeval function to ext/posix/sys/time.c.
	There's only one call-site for this function, so no need to keep
	it in the shared helpers file.
	* ext/include/_helpers.c (pushtimeval): Move from here...
	* ext/posix/sys/time.c (pushtimeval): ...to here.

	maint: retain backwards compatibility with v32 posix.stat.
	We now have `posix.sys.stat` for thin bindings of stat and lstat,
	so maintain backwards compatibility with v32 in `posix.stat`.
	* specs/posix_compat_spec.yaml (lstat): Remove.
	(stat): Adjust to expect lstat under the hood.
	* specs/posix_spec.yaml: Adjust stat/lstat clients.
	* lib/posix/compat.lua (lstat): Remove.
	(stat): Adjust to use lstat under the hood.
	* NEWS: Update.

	specs: fix a bug in lstat.st_blocks example.
	* specs/posix_sys_stat_spec.yaml (lstat): Don't expect number
	of disk blocks used by a file to equal the number used by the
	directory that file is in!

	compat: import bitwise operations before use.
	* lib/posix/compat.lua: Import bitwise operations before use.

	maint: disable prohibit_stat_st_blocks sanity check.
	* build-aux/sanity-cfg.mk (local-checks-to-skip): Add
	sc_prohibit_stat_st_blocks, because we need to use st_blocks
	here until licensing allows using the gnulib/module/stat-size.

	maint: add missing file.
	* specs/posix_sys_stat_spec.yaml: New file, forgotten from last
	commit.

	sys.stat: wrap stat and lstat properly.
	* specs/posix_spec.yaml (lstat, stat): Move from here...
	* specs/posix_compat_spec.yaml (lstat, stat): ...to here.
	* specs/posix_sys_stat_spec.yaml: New file. Specify correct thin
	binding for stat(2) and lstat(2).
	* specs/specs.mk (specl_SPECS): Add posix_sys_stat_spec.yaml.
	* ext/posix/sys/stat.c (pushstat): New function. Push a struct
	stat-like table on top of the stack.
	(S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISREG)
	(S_ISSOCK): New APIs.
	(S_IFMT, S_IFBLK, S_IFCHR, S_IFDIR, S_IFIFO, S_IFLNK, S_IFREG)
	(S_IRWXU, S_IRUSR, S_IWUSR, S_IXUSR, S_IRWXG, S_IRGRP, S_IWGRP)
	(S_IXGRP, S_IRWXO, S_IROTH, S_IWOTH, S_IXOTH, S_ISGID, S_ISUID):
	New constants.
	(Plstat, Pstat): Simplify accordingly.
	(filetype, Fstat, Sstat): Remove.
	* specs/spec_helper.lua (rmtmp): Update to use low-level stat
	call.
	* lib/posix/compat.lua (lstat, stat): Reimplement wierd multi-
	return value, table or tuple input APIs over new lean bindings.
	* NEWS: Update.

	maint: name posix_compat_spec.yaml correctly.
	* specs/posix_compat.yaml: Move from here...
	* specs/posix_compat_spec.yaml: ...to here.
	* specs/specs.mk (specl_SPECS): Adjust accordingly.

	refactor: use std.object.type compatible metatables.
	* specs/spec_helper.lua (prototype): Copied from lua-stdlib.
	* specs/posix_grp_spec.yaml (getgrent, getgrgid, getgrnam):
	Specify prototype responses for return tables.
	* specs/posix_pwd_spec.yaml (getpwent, getpwnam, getpwuid):
	Likewise.,
	* specs/posix_sys_time_spec.yaml (gettimeofday): Likewise.
	* specs/posix_sys_utsname_spec.yaml (uname): Likewise.
	* ext/include/_helpers.c (LPOSIX_STMT_BEG, LPOSIX_STMT_END): New
	macros for safe compound statement macro definitions.
	(LPOSIX_CONST, pushnumberfield, pushstringfield): Use them here.
	(pushliteralfield): New macro for literal fields.
	(setnumberfield, setstringfield, settypemetatable): New macros
	for easy return table creation.
	(pushtimeval): Simplify accordingly. Set metatable._type.
	* ext/posix/curses/chstr.c (luaopen_posix_curses_chstr): Ditto.
	* ext/posix/curses/window.c (luaopen_posix_curses_window): Ditto.
	* ext/posix/grp.c (pushgroup): Ditto.
	* ext/posix/pwd.c (pushpasswd): Ditto.
	* ext/posix/sys/socket.c (pushsockaddrinfo): Ditto.
	* ext/posix/sys/utsname.c (pushutsname): Ditto.
	* NEWS: Update.

	maint: add missing file.
	* specs/posix_sys_time_spec.yaml: Add missing file.

	doc: name timeval fields correctly.
	* ext/posix/sys/time.c (timeval): Prefix both field names with
	`tv_` per C struct timeval, and pushtimeval table.

	sys.time: wrap gettimeofday properly.
	* specs/posix_spec.yaml (gettimeofday): Move from here...
	* specs/posix_compat.yaml (gettimeofday): ...to here.
	* specs/posix_sys_time_spec.yaml (gettimeofday): Specify correct
	thin binding for gettimeofday(2).
	* specs/specs.mk (specl_SPECS): Add posix_sys_time_spec.yaml.
	* ext/include/_helpers.c (pushtimeval): New function. Push a
	struct timeval-like table on top of the stack.
	* ext/posix/sys/time.c (Pgettimeofday): Simplify accordingly.
	* lib/posix/compat.lua (gettimeofday): Rewrite misnamed table
	fields returning API here for backwards compatibility.

2014-10-20  Gary V. Vaughan  <gary@gnu.org>

	refactor: simplify push{string,number}field and clients.
	* ext/include/_helpers.c (pushnumberfield, pushstringfield):
	Reimplement as macros, with fewer arguments required.  Adjust all
	callers.
	* ext/posix/sys/socket.c (sockaddr_to_lua): Renamed from this...
	(pushsockaddrinfo): ...to this, and simplify considerably.  Adjust
	all callers.

	socket: allow getaddrinfo results as connect address argument.
	Undo overzealous rejection of misnamed fields to socket.connect.
	* ext/posix/sys/socket.c (Safinet_fields): Also permit fields
	written to getaddrinfo results.

	maint: move stat and lstat from posix.unistd to posix.sys.std.
	* ext/posix/unistd.c (filetype, Fstat, Sstat, Plstat, Pstat):
	Move from here...
	* ext/posix/sys/stat.c (filetype, Fstat, Sstat, Plstat, Pstat):
	...to here.

	utsname: wrap uname properly.
	Close #154.
	* specs/posix_spec.yaml (uname): Move from here...
	* specs/posix_compat.yaml (uname): ...to here. Add diagnose bad
	option example.
	* specs/posix_sys_utsname_spec.yaml (uname): Specify correct thin
	binding for uname(2).
	* specs/specs.mk (specl_SPECS): Add posix_sys_utsname_spec.yaml.
	* ext/posix/sys/utsname.c (pushutsname): New function to push
	a table with struct utsname fields.
	(uname): Use it to push the actual results of the call.
	* lib/posix/compat.lua (uname): Rewrite old format specifier
	replacing API here for backwards compatibility.

	ctype: wrap isprint and isgraph properly.
	Close #160.
	* specs/posix_spec.yaml (isprint, isgraph): Move from here...
	* specs/posix_compat.yaml (isprint, isgraph): ...to here.  Add
	result specifications.
	* specs/posix_ctype_spec.yaml (isprint, isgraph): Specify correct
	thin binding for these functions.
	* specs/specs.mk (specl_SPECS): Add posix_ctype_spec.yaml.
	* ext/posix/ctype.c (isprint, isgraph): Return the actual result
	of calling these functions.
	* lib/posix/compat.lua (isprint, isgraph): Rewrite the weird true/
	false return API here for backwards compatibility.

	fnmatch: wrap fnmatch(3) properly.
	Close #168.
	* specs/posix_spec.yaml (fnmatch): Move from here...
	* specs/posix_compat.yaml (fnmatch): ...to here.
	* specs/posix_fnmatch_spec.yaml (fnmatch): Specify correct thin
	binding for fnmatch(3).
	* specs/specs.mk (specl_SPECS): Add posix_fnmatch_spec.yaml.
	* ext/posix/fnmatch.c (fnmatch): Return the actual result of
	the call.
	(luaopen_posix_fnmatch): Export FNM_NOMATCH constant.
	* lib/posix/compat.lua (fnmatch): Rewrite the weird true/false
	error raising API here for backwards compatibility.

	doc: add curses constants LDocs.
	* ext/posix/curses.c: Document constants.
	(register curses constants): Fix a typo so that KEY_F31 is
	defined as advertised.
	* NEWS: Update.

	doc: LDoc config improvements.
	* build-aux/config.ld.in (title): Display package name as well as
	release number.
	(description): Mention inclusion of curses bindings explicitly.
	(backtick_references): Require @{...} for cross-references,
	leaving backticks for terminal font markup.

	doc: tidy up LDoc output for posix.termio.
	* ext/posix/termio.c: Tidy up formatting for LDocs.

2014-10-19  Gary V. Vaughan  <gary@gnu.org>

	slingshot: sync with upstream, for git submodule fixes.
	* slingshot: Sync with upstream.
	* bootstrap: Import from slingshot.

	doc: add LDocs for submodule constants.
	* ext/posix/errno.c, ext/posix/fcntl.c, ext/posix/fnmatch.c,
	ext/posix/sched.c, ext/posix/signal.c, ext/posix/stdio.c,
	ext/posix/sys/msg.c, ext/posix/sys/socket.c, ext/posix/sys/wait.c,
	ext/posix/syslog.c, ext/posix/unistd.c: Add LDocs for constants.
	* NEWS: Update.

2014-10-17  Gary V. Vaughan  <gary@gnu.org>

	posix: use correct POSIX gethostid API.
	Closes #153.
	* specs/posix_spec.yaml (hostid): Move from here...
	* specs/posix_compat.yaml (hostid): ...to here.
	* specs/posix_unistd_spect.yaml (gethostid): Specify with correct
	POSIX API name.
	* ext/posix/unistd.c (Phostid): Rename from this...
	(Pgethostid): ...to this.
	* lib/posix/compat.lua (hostid): An alias to gethostid for
	backwards compatibility.
	* NEWS: Update.

	maint: add missing lib/posix/compat.lua file.
	* lib/posix/compat.lua: New file, forgotten from an earlier
	commit.

	maint: add missing specs/posix_compat.yaml file.
	* specs/posix_compat.yaml: New file, forgotten from previous
	commit.

2014-10-16  Gary V. Vaughan  <gary@gnu.org>

	refactor: maintain backwards compatibility for getpasswd.
	Closes #148.
	Separate backwards compatibility functions so that they still
	work as before, but do not appear in the documentation.
	* specs/posix_spec.yaml (creat, getgroup, getpasswd, getpid):
	Move from here...
	* specs/posix_compat_spec.yaml (creat, getgroup, getpasswd)
	(getpid): New file. ...to here.
	* lib/posix.lua.in (argerror, argtypeerror, checkstring)
	(checktable, toomanyargerror, creat, getgroup, getpasswd)
	(getpid): Move from here...
	* lib/posix/compat.lua (argerror, argtypeerror, checkstring)
	(checktable, toomanyargerror, creat, getgroup, getpasswd)
	(getpid): New file. ...to here.
	* NEWS: Update.

	refactor: simplify posix.getpasswd for consistency.
	* specs/posix_spec.yaml (getpasswd): Simplify behaviours for
	consistency with pasix.getgroup.
	* lib/posix.lua.in (getpasswd): Simplify accordingly.
	* NEWS: Update.

	unistd: implement getpid and similar APIs.
	Closes #152.
	* specs/posix_unistd_spec.yaml: New file. Specify behaviours for
	getegid, geteuid, getgid, getpgrp, getpid, getppid, getuid.
	* specs/specs.mk (specs_SPECS): Add specs/posix_unistd_spec.yaml.
	* ext/posix/unistd.c (getpid): Delete.
	(setegid, geteuid, getgid, getpgrp, getpid, getppid, getuid): New
	functions. Satisfy specifications.
	* lib/posix.lua.in (getpid): Reimplement legacy API over new
	POSIX bindings.
	* NEWS: Update.

	posix: getgroup argument defaults to egid.
	* specs/posix_spec.yaml (getgroup): Specify behaviour with no
	arguments.
	* lib/posix.lua.in (group): New LDocs for getgroup return table
	fields.
	(getgroup): Adjust LDocs accordingly.
	Default to egid with no argument.
	* NEWS: Update.

	pwd: implement POSIX pwd APIs.
	Closes #150.
	(getpwuid, setpwent): Specify correct behaviours.
	* ext/posix/pwd.c (endpwent, getpwent, getpwnam, getpwuid)
	(setpwent): Implement bindings to these POSIX pwd APIs.
	* ext/posix/pwd.c (getpasswd): Remove.
	* lib/posix.lua.in (getpasswd): Reimplement over POSIX APIs to
	continue satisfying specifications.
	* NEWS: Update.

	refactor: tidy up formatting in grp.c.
	* ext/posix/grp.c: Tidy up formatting.

2014-10-14  Gary V. Vaughan  <gary@gnu.org>

	specs: specify timer math behaviours.
	* specs/posix_spec.yaml (timeradd, timercmp, timersub): Specify
	behaviours.
	* lib/posix.lua.in (timeradd, timercmp, timersub): Argcheck
	wrappers return inner function results.
	(timercmp, timersub): Fix typo with initial definition scopes.

	refactor: reorder posix.lua.in functions alphabetically.
	* lib/posix.lua.in: Reorder functions alphabetically.

	specs: add argument checking to Lua language posix functions.
	* specs/posix_spec.yaml (creat, getgroup, spawn, pipeline)
	(pipeline_iterator, pipeline_slurp, euidaccess, timeradd)
	(timercmp, timersub): Add basic argument checking behaviour
	specifications.
	* lib/posix.lua.in: Move submodule imports to the start, so they
	are available to local Lua functions.
	Cache import table lookups into upvalues for fast access.
	(creat, getgroup, spawn, pipeline, pipeline_iterator)
	(pipeline_slurp, euidaccess, timeradd, timercmp, timersub):
	Use cached upvalues everywhere.
	Split argument type checking into wrapper function which is not
	used when global `_DEBUG` is false.

	refactor: factor Lua argument checking into helper functions.
	* lib/posix.lua.in (argerror, toomanyargerror, argtyperror):
	Argument error message management, inspired by stdlib.
	(checkstring, checktable): Check argument types, inspired by Lua
	C API.
	(creat, getgroup, pipeline): Simplify accordingly.

	maint: revert a1f9049 'move creat from Lua to C'.
	* ext/posix/fcntl.c (creat): Remove.
	* lib/posix.lua (creat): Implement in Lua.
	* specs/posix_spec.yaml (creat): Adjust.
	* NEWS: Update.

	specs: allow empty root group membership.
	* specs/posix_grp_spec.yaml (getgrgid, getgrnam): Allow empty
	root group membership.
	* specs/posix_spec.yaml (getgroup): Likewise.

	maint: remove trailing blanks.
	* specs/posix_grp_spec.yaml: Remove trailing blanks.

	grp: implement POSIX group APIs.
	Closes #151.
	* specs/posix_grp_spec.yaml (endgrent, getgrent, getgrgid)
	(getgrnam, setgrent): Specify correct behaviours.
	* ext/posix/grp.c (endgrent, getgrent, getgrgid, getgrnam)
	(setgrent): Implement bindings to these POSIX group APIs.
	* specs/posix_spec.yaml (getgroup): Specify expected behaviour.
	* ext/posix/grp.c (getgroup): Remove.
	* lib/posix.lua (getgroup): Reimplement over POSIX APIs to
	continue satisfying specifications.
	* NEWS: Update.

	specs: remove unused curses subdirectory paths.
	* specs/spec_helper.lua (package.cpath): Remove unused curses
	subdirectory paths.

2014-10-13  Gary V. Vaughan  <gary@gnu.org>

	refactor: write final semi-colons at expansion site.
	Give text editors a fighting chance of doing auto-indentation
	properly.
	* ext/posix/curses.c (CCR): Remove final semi-colon from macro
	expansion.
	Write a literal semi-colon at each expansion site.

	curses: add curses.A_COLOR constant where supported.
	* ext/posix/curses.c (register_curses_constants): Define A_COLOR.
	* NEWS: Update.

	doc: add summary sentence to each curses API.
	* ext/posix/curses.c, ext/posix/curses/window.c: Add API summary
	lines.

2014-10-11  Gary V. Vaughan  <gary@gnu.org>

	doc: put release number in index.html.
	* build-aux/config.ld.in (project): Add release number.

	configury: fix documentation dependencies.
	* local.mk (allhtml): All generated documentation.
	Use it to ensure we regenerate as necessary.

	maint: add missing boilerplate copyright to lua sources.
	* lib/posix.lua.in, lib/posix/util.lua: Add boilerplate copyright

	doc: add per-module overview.
	* build-aux/config.ld.in (boilerplate): Set to true so we can put
	a copyright comment at the very top of each file.
	* ext/posix/ctype.c, ext/posix/curses.c,
	ext/posix/curses/chstr.c, ext/posix/curses/window.c,
	ext/posix/dirent.c, ext/posix/errno.c, ext/posix/fcntl.c,
	ext/posix/fnmatch.c, ext/posix/getopt.c, ext/posix/glob.c,
	ext/posix/grp.c, ext/posix/libgen.c, ext/posix/poll.c,
	ext/posix/pwd.c, ext/posix/sched.c, ext/posix/signal.c,
	ext/posix/stdio.c, ext/posix/stdlib.c, ext/posix/sys/msg.c,
	ext/posix/sys/resource.c, ext/posix/sys/socket.c,
	ext/posix/sys/stat.c, ext/posix/sys/statvfs.c,
	ext/posix/sys/time.c, ext/posix/sys/times.c,
	ext/posix/sys/utsname.c, ext/posix/sys/wait.c,
	ext/posix/syslog.c, ext/posix/termio.c, ext/posix/time.c,
	ext/posix/unistd.c, ext/posix/utime.c: Move copyright comments
	to the very top of the file.  Add a short overview description.

	curses: remove separate curses doc generation.
	* build-aux/make_lcurses_doc.pl: Remove.
	* local.mk (DIST_DOC_DATA, EXTRA_DIST): Adjust accordingly.
	(classesdir): Location for ldoc class html files.
	(dist_classes_DATA): Add new generated curses class docs.
	* ext/posix/curses.c: Rewrite equivalent docs here.
	* NEWS: Update.

	doc: add updated curses example.
	* examples/curses.lua: Updated example from old lcurses docs.

	curses: don't forget to open curses submodules.
	* ext/posix/curses.c (luaopen_posix_curses): Open submodules.

	curses: factor out chstr and window objects.
	* ext/posix/curses.c: Factor out chstr and window objects,
	methods and support functions from here...
	* ext/posix/curses/chstr.c, ext/posix/curses/window.c: ...to
	here.
	* ext/posix/curses.c, ext/posix/curses/chstr.c,
	ext/posix/curses/window.c: Add rudimentary LDocs to every API.
	* build-aux/config.ld.in (file): Add ext/posix/curses/window.c,
	ext/posix/curses/chstr.c and ext/posix/curses.c.
	* ext/posix/curses/chstr.c: Add __call metamethod for creating
	new objects.
	* ext/posix/curses/chstr.c, ext/posix/curses/window.c: Add _type
	field for compatibility with `std.object.type`.
	* local.mk (EXTRA_ext_posix_posix_la_SOURCES): Add
	ext/posix/curses/chstr.c and ext/posix/curses/window.c.
	(posix_submodules): Add ext/posix/curses/chstr.la and
	ext/posix/curses/window.la.
	* build-aux/config.ld.in (custom_see_handler): Adjust to create
	working URLs for curses 3X manual pages.

2014-10-10  Gary V. Vaughan  <gary@gnu.org>

	refactor: rename chstr_ prefixed functions to C prefix.
	* ext/posix/curses.c: Rename chstr_ prefixed function to C
	prefix.
	(chstrlib): Use LUAPOSIX_FUNC instead of MENTRY.

	refactor: rename curses api function with P prefix.
	* ext/posix/curses.c: Rename C prefixed functions with P prefix.

	refactor: use _helpers.c checkint and optint in curses submodule.
	* ext/posix/curses.c: Use checkint and optint throughout instead
	of luaL_checkint & luaL_checknumber and luaL_optint resp.

	refactor: reformat curses.c to match posix sources.
	* ext/posix/curses.c: Reformat.

	refactor: unroll curses submodule function generator macros.
	* ext/posix/curses.c: Unroll obfuscating function generating
	macros.
	(LC_NUMBER, LC_NUMBER2, LC_STRING, LC_STRING2, LC_BOOL)
	(LC_BOOLOK, LCW_BOOLOK, LCW_BOOLOK2, LCW_WIN2, LCW_WIN2YX)
	(LC_ATTROK, LC_TOGGLEOK, LCW_WINBOOLOK, LCW_WININTOK): Remove.
	* ext/include/_helpers.c (pushboolresult, pushintresult)
	(pushstringresult): New macros to simplify returning a single
	object on the stack.
	* ext/include/curses.c (pushokresult): Likewise.
	* ext/posix/ctype.c, ext/posix/curses.c, ext/posix/dirent.c,
	ext/posix/fnmatch.c, ext/posix/signal.c, ext/posix/stdio.c,
	ext/posix/stdlib.c, ext/posix/sys/socket.c, ext/posix/time.c,
	ext/posix/unistd.c: Simplify accordingly.

	curses: use _helpers.c macros.
	* ext/posix/curses.c (LCURSES_SPLICE, LCURSES_STR, LCURSES_STR_1):
	Remove. Adjust all callers to use LPOSIX equivalents from
	ext/include/_helpers.c.
	(curseslib, windowlib): Use LPOSIX_FUNC to declare table entries
	rather than custom MENTRY macros.

	posix: consolidate included C sources.
	* ext/include/strlcpy.c: Add multiple include guards.
	* ext/posix/_helpers.c: Move from here...
	* ext/include/_helpers.c: ...to here.
	* local.mk (EXTRA_ext_posix_posix_la_SOURCES)
	(EXTRA_DIST): Adjust accordingly.

	curses: integrate into posix tree.
	* ext/curses/curses.c: Move from here...
	* ext/posix/curses.c: ...to here.
	* local.mk
	* ext/posix/curses.c (luaopen_curses_c): Rename from this...
	(luaopen_posix_curses): ...to this.
	* lib/curses.lua: Adjust accordingly.
	* local.mk (curses_cpath, ext_curses_curses_c_la_SOURCES)
	(ext_curses_curses_c_la_LDFLAGS): Remove.
	(std_cpath): Simplify accordingly.
	(EXTRA_ext_posix_posix_la_SOURCES): Add ext/posix/curses.c.
	(ex_posix_curses_la_LDFLAGS, ext_posix_posix_la_LDFLAGS): Add
	$(CURSES_LIB).
	(posix_submodules): Add ext/posix/curses.la.
	* ext/posix/curses.c (luaopen_posix_curses): Add a version
	entry to the returned table to match other posix modules.
	* build-aux/make_lcurses_doc.pl: Adjust accordingly.
	* ext/posix/posix.c: Include curses.c module.
	* configure.ac (WANTEDLIBS, WANTEDLUA): Remove. Treat it like
	other posix modules with no OS support.
	* local.mk (dist_lua_DATA, luaexec_LTLIBRARIES): Adjust
	accordingly.

2014-10-09  Gary V. Vaughan  <gary@gnu.org>

	configury: make posix module version dynamic.
	* lib/posix.lua: Move from here...
	* lib/posix.lua.in: ...to here.
	(version): Use @PACKAGE_STRING@ in place of hard-coded 33.
	* configure.ac (AC_CONFIG_FILES): Add lib/posix.lua.
	* .gitignore: Add lib/posix.lua.

	configury: add missing fdatasync declaration if necessary.
	Fixes #172.
	* configure.ac (AC_CHECK_DECLS_ONCE): Check for missing fdatasync
	declaration, e.g. on Mac OS 10.9.
	* ext/posix/unistd.c (Pfdatasync): Roll our own to save a compiler
	warning if the system didn't supply one.

	posix: build and install modules correctly.
	* configure.ac (POSIX_EXTRA_LDFLAGS): Rename from this...
	(LIBRT): ...to this.
	(LIBCRYPT): Set according to results of AC_SEARCH_LIBS.
	* local.mk (lib_LTLIBRARIES): Moved from the C library tree...
	(luaexec_LTLIBRARIES): ...to the Lua cpath tree.
	(check_LTLIBRARIES): Move from here...
	(EXTRA_LTLIBRARIES): ...to here.
	(check_local): Ensure standalone modules build correctly...
	(clean_local): ...and that file droppings are removed.
	* NEWS: Update.

	posix: allow standalone reuse of posix submodules.
	* ext/posix/sys/msg.c, ext/posix/sys/socket.c,
	ext/posix/syslog.c: Move guards to ensure even on hosts with no
	sys/msg.h, we don't get an empty object file.
	* local.mk (noinst_LTLIBRARIES): Add standalone compilations to
	ensure the submodules really build as separate compilation units.
	* NEWS: Update.

	posix: split posix subfiles into separate modules.
	* ext/posix/_helpers.h: Removed.  Content moved from here...
	* ext/posix/_helpers.c: ...to here. Adjust all callers.
	* ext/posix/posix.c (R, luaopen_posix_c): Move registered
	functions and constants from here...
	* ext/posix/ctype.c, ext/posix/dirent.c, ext/posix/errno.c,
	ext/posix/fcntl.c, ext/posix/fnmatch.c, ext/posix/getopt.c,
	ext/posix/glob.c, ext/posix/grp.c, ext/posix/libgen.c,
	ext/posix/poll.c, ext/posix/pwd.c, ext/posix/sched.c,
	ext/posix/signal.c, ext/posix/stdio.c, ext/posix/stdlib.c,
	ext/posix/sys/msg.c, ext/posix/sys/resource.c,
	ext/posix/sys/socket.c, ext/posix/sys/stat.c,
	ext/posix/sys/statvfs.c, ext/posix/sys/time.c,
	ext/posix/sys/times.c, ext/posix/sys/utsname.c,
	ext/posix/sys/wait.c, ext/posix/syslog.c, ext/posix/termio.c,
	ext/posix/time.c, ext/posix/unistd.c, ext/posix/utime.c: ...to
	here. Provide individual `luaopen_<submodule>` entry functions.
	build-aux/config.ld.in, build-aux/sanity-cfg.mk: Adjust
	accordingly.
	* ext/posix/posix.c: Reduce to a single compilation unit that
	includes the sources for all the other submodules.
	* lib/posix.lua (openpty): Move from here...
	* lib/posix/util.lua (openpty): New file. ...to here.
	* lib/posix/sys.lua: Move definitions from here...
	* lib/posix.lua: ...to here.
	* lib/posix/sys.lua: Re-export backwards compatibility APIs from
	here too.
	* lib/posix.lua: Re-export all submodule entry points from here
	too to retain the flat namespace of old releases.
	* local.mk: Adjust accordingly.
	* NEWS: Update.

	posix: missing headers for Linux portability.
	* ext/posix/pwd.c: Include unistd.h for geteuid and others.
	* ext/posix/stdlib.c: Include fcntl.h for open.
	* ext/posix/sched.c: Include unistd.h for
	_POSIX_PRIORITY_SCHEDULING.
	* ext/posix/sys/msg.c, ext/posix/sys/socket.c,
	ext/posix/syslog.c: Include unistd.h for _POSIX_VERSION.
	* ext/posix/sys/times.h: Include unistd.h for sysconf.

	maint: split giant posix.c file into manageable chunks.
	* ext/posix/posix.c: Separate into sections...
	* ext/posix/_helpers.c, ext/posix/_helpers.h, ext/posix/ctype.c,
	ext/posix/dirent.c, ext/posix/errno.c, ext/posix/fcntl.c,
	ext/posix/fnmatch.c, ext/posix/getopt.c, ext/posix/glob.c,
	ext/posix/grp.c, ext/posix/libgen.c, ext/posix/poll.c,
	ext/posix/pwd.c, ext/posix/sched.c, ext/posix/signal.c,
	ext/posix/stdio.c, ext/posix/stdlib.c, ext/posix/syslog.c,
	ext/posix/termio.c, ext/posix/time.c, ext/posix/unistd.c,
	ext/posix/utime.c: ...here.
	* ext/posix/posix.c: #include sources back into here.
	* build-aux/config.ld.in (file): Adjust accordingly.
	* build-aux/sanity-cfg.mk: Likewise.
	* lib/posix.lua: Likewise.

2014-10-09  Gary V. Vaughan  <gary@vaughan.pe>

	Merge pull request #173 from tylerneylon/master
	doc: gettimeofday uses microsec, not nano.
	
	* ext/posix/posix.c (gettimeofday): Fix a typo in usec documentation.
	Reported by Tyler Neylon

2014-10-09  Tyler Neylon  <tylerneylon@gmail.com>

	Fix a typo: gettimeofday uses microsec, not nano.

2014-10-09  Gary V. Vaughan  <gary@gnu.org>

	maint: git ignore .dirstamp files.
	* .gitignore: Add .dirstamp catch all.  Remove per-directory
	duplicates of the same.

	slingshot: resync with upstream for yaml bugfix.
	* slingshot: Resync with upstream for yaml quoting bugfix.
	* .travis.yml: Regenerate.

	slingshot: sync with upstream for mkrockspecs bugfix.
	* slingshot: Sync with upstream for mkrocspecs bugfix.
	* .travis.yml: Regenerate.

2014-10-06  Gary V. Vaughan  <gary@gnu.org>

	maint: simplify installation instructions in README.md.
	* README.md (Installation): Remove --server flag; moonscript.org
	is checked automatically now.

	maint: add myself to the copyright holders in posix.c.
	* ext/posix/posix.c: Add myself to the copyright holders.

	specs: compare file size rather than racey modification times.
	Fix #145.
	* specs/posix_spec.yaml (stat): Compare the size statistic
	rather than mtime to avoid a race condition.

	posix: remove call to 5.2-only lua_tointegerx and simplify.
	* ext/posix/posix.c (interror): Remove, and fold functionality
	from here...
	(checkinteger): ...to here.
	(argtypeerror): Simplify accordingly.

	specs: don't fail tty tests when run from /dev/console
	* specs/posix_spec.yaml (ttyname): Allow /dev/console.

	posix: enforce argument types for clock_getres and clock_gettime.
	* ext/posix/posix.c (Pclock_getres, Pclock_gettime): Use
	luaL_checkstring instead of lua_tostring to enforce argument
	type checking.

2014-10-05  Gary V. Vaughan  <gary@gnu.org>

	posix: add posix.IPPROTO_UDP.
	* ext/posix/posix.c: Add IPPROTO_UDP definition.

	doc: improve posix LDocs.
	* expt/posix/posix.c: Use [opt] annotations, and add missing
	manual references.

	configury: remove duplicated SPECL_ENV settings.
	* specs/specs.mk (SPECL_ENV): Remove - these same valuas are
	already propagated automatically by slingshot.

	posix: show correct argument errors for fadvise and setsockopt.
	* ext/posix/posix.c (Pfadvise): Use checkint rather than
	luaL_checkinteger for correct argument error formatting.
	(Psetsockopt): Likewise for luaL_checknumber.

	slingshot: sync with upstream for SPECL_ENV improvements.
	* slingshot: Sync with upstream.
	* specs/specs.mk (SPECL_ENV): Set according to slingshot
	recommendations.
	* specs/specs_helper.lua (package.path): Likewise.

	posix: argument errors overhaul.
	* specs/spec_helper.lua (bind, init): Remove.
	* specs/lposix_spec.yaml, specs/posix_spec.yaml: Specify argument
	error diagnostics for all APIs.
	* ext/posix/posix.c: Use checknargs, or other means to diagnose
	argument type and arity errors for all APIs.
	* NEWS: Update.

	maint: reformat for consistency and GNU style function headers.
	* ext/posix/posix.c: Put function return types on a separate
	line for easy function name grepping; don't use cuddle braces;
	indent case branches one tab; exdent labels one tab; don't put a
	space between function call and arguments; do put a space between
	flow control keyword and arguments.

	maint: add buildreq tools to bootstrap.conf.
	* bootstrap.conf (buildreq): List bootstrap build requirements.

2014-10-01  Gary V. Vaughan  <gary@gnu.org>

	docs: move lseek, sync and nice to the correct sections.
	* ext/posix/posix.c (lseek): Move to "File descriptors" section.
	(sync): Move to "File system" section.
	(nice): Move to "Process management" section.

	maint: fix a type name typo.
	* ext/posix/posix.c (poll_fd_list_from_table): Replace missing
	'e' in lua_State from last commit.

	maint: reformat for consistency.
	* ext/posix/posix.c: Use TAB indents, comma-space argument
	separators and function declarations all-on-one-line consistently.

	doc: modernize LDocs.
	* ext/posix/posix.c (Pgetopt, Ppoll, Pfcntl, Pdirname, Pfnmatch)
	(Pglob, Psymlink, Paccess, Pfadvise, Pumask, Putime, Pwaitpid)
	(Psetlogmask): Modernize LDocs.

	doc: use correct manual references for isprint and isgraph.
	* ext/posix/posix.c (isgraph, isprint): Use correct manual page
	references.

2014-09-21  Gary V. Vaughan  <gary@gnu.org>

	specs: expect sockaddr.groups type to be number, not string.
	* specs/posix_spec.yaml (bind, connect, sendto): Expect correct
	type for AF_NETLINK socket groups field.

	Merge branch 'zevv-sockaddr-errors'

	posix: provide idiomatic argument errors from sockaddr calls.
	* specs/spec_helper.lua (init): New helper to return a partial
	application of expected argument error call.
	* specs/posix_spec.yaml (bind, connect, sendto): Use it to
	specify expected bad argument errors.
	* ext/posix/posix.c (try_getfield): Move from here...
	(checkfieldtype): ...to here.  Lua functions normally throw an
	error for bad arguments, so do that for posix API argument errors
	too.
	(sockaddr_from_lua): Use it.
	Provide a default case branch to report unsupported socket family
	arguments.
	(checknargs): Throw an error for too many arguments.
	(Pbind, Pconnect, Psendto): Use it.
	Revert to reporting invalid socket address if sockaddr_from_lua
	fails without diagnosing a type error.

2014-09-20  Ico Doornekamp  <ico@pruts.nl>

	posix: add better error reporting on sockaddr table member fields.
	* ext/posix/posix.c (try_getfield): New function.  Wrap
	`lua_getfield`, but push more accurate error diagnostics in case
	of type mismatch.
	(sockaddr_from_lua, Pconnect, Pbind, Psendto): Use it.

2014-08-26  Gary V. Vaughan  <gary@gnu.org>

	slingshot: synch with upstream, for slack integrations.
	* slingshot: Synch with upstream.
	* .slackid: Add slack id.
	* .travis.yml: Regenerate.

	Merge branch 'hjelmeland-f_sched_setscheduler'

	posix: tidy up rt_sched patches for merging.
	* configure.ac (AC_CHECK_FUNCS): Add sched_getscheduler and
	sched_setscheduler.
	* ext/posix/posix.c (Psched_setscheduler, Psched_getscheduler):
	Improve compilation guards to also require HAVE_SCHED_GETSCHEDULER
	and HAVE_SCHED_SETSCHEDULER before exposing to Lua.
	* examples/rt_sched.lua: Remove trailing tabs.

2014-08-26  Egil Hjelmeland  <egil.hjelmeland@zenitel.com>

	whitespace polish

	whitespace polish

	Added sched_setscheduler example/test

	Use ifdef _POSIX_PRIORITY_SCHEDULING to protect sched_setscheduler

	merge upstream

2014-08-19  Gary V. Vaughan  <gary@gnu.org>

	posix: support IPC_NOWAIT constant.
	Closes #140.
	* ext/posix/posix.c (luaopen_posix_c): Add IPC_NOWAIT constant.
	Reported by Bernd Eggink.

2014-07-31  Gary V. Vaughan  <gary@gnu.org>

	travis: use luarocks beta with rocks.moonscript.org.
	* .travis.yml: Regenerate with latest slingshot.

	maint: upgrade slingshot to work even when luarocks.org is down.
	* slingshot: Upgrade to latest upstream.

	doc: update luarocks install instructions.
	* README.md (Installation): Update to reference moonscript rocks
	repository, which has better uptime than the default luarocks
	domain used by released LuaRocks.

2014-07-26  Egil Hjelmeland  <egil.hjelmeland@zenitel.com>

	Added sched_setscheduler()/sched_getscheduler()

2014-07-17  Gary V. Vaughan  <gary@gnu.org>

	Merge branch 'waffle-iron-master'

2014-07-17  Making GitHub Delicious.  <iron@waffle.io>

	add waffle.io badge

2014-06-29  Gary V. Vaughan  <gary@gnu.org>

	refactor: move common spec initialisation to spec_helper.lua.
	This also allows running the latest (unreleased) specl directly
	from the bulid directory without having to call `make check`.
	* specs/spec_helper.lua: New file.  Set package.path and
	package.cpath so that specl can find specified modules without
	LUA_PATH and LUA_CPATH.
	Add common code...
	* specs/lposix_spec.yaml, specs/posix_spec.yaml: ...from here.
	* specs/specs.mk (EXTRA_DIST): Add specs/spec_helper.lua.

	posix: move creat from Lua to C.
	Better support for projects that copy posix.c into their own tree
	and compile directly.
	* lib/posix.lua (creat): Move from here...
	* ext/posix/posix.c (creat): ...to here.
	* NEWS: Update.

2014-06-28  Gary V. Vaughan  <gary@gnu.org>

	posix: tighten up readlink call.
	* specs/posix_spec.yaml (readlink): New specifications for
	readlink behaviours and error handling.
	* ext/posix/posix.c (Preadlink): Implement better error handling,
	and robustness.
	* NEWS: Update.

	posix: wrap stat and lstat correctly.
	* specs/posix_spec.yaml (describe stat): Adjust specs for correct
	behaviour of stat.
	(describe lstat): New examples to specify behaviour of new lstat
	wrapper.
	* ext/posix/posix.c (Pstat): Call stat(2), not lstat(2)!
	(Plstat): New wrapper for lstat(2).
	(R): Add Plstat.
	* NEWS: Update.

2014-05-30  Gary V. Vaughan  <gary@gnu.org>

	maint: post-release administrivia.
	* configure.ac (AC_INIT): Bump release number to 33.
	* NEWS: Add header line for next release.
	* .prev-version: Record previous version.
	* ./local.mk (old_NEWS_hash): Auto-update.

	Release version 32
	* NEWS: Record release date.

2014-05-25  Gary V. Vaughan  <gary@gnu.org>

	maint: bump copyright to include 2014.
	* COPYING: Bump copyright years to include 2014.

	travis: ignore CVE-2012-3386 failure on Ubuntu Precise.
	Travis runs on Ubuntu 12.04 LTS, which ships an automake old
	enough to still be vulnerable... but we're running CI checks
	here, so that shouldn't fail the whole build!
	* .travis.yml: Skip CVE-2012-3386 check.

	travis: ensure sanity-checks don't back up before a release.
	* .travis.yml: Append `make syntax-check` to prevent sanity
	erosion!

	posix: avoid spurious parens in cpp directives.
	* ext/posix/posix.c: Remove some spurious parentheses in ifdef
	statements.

	posix: use strlcpy instead of broken strncpy.
	* ext/curses/strlcpy.c: Move from here...
	* ext/include/strlcpy.c: ...to here.
	(strlcpy): Declare static to prevent symbol clashes.
	* local.mk (ext_curses_curses_c_la_CPPFLAGS): Remove. strlcpy is
	now in existing header directory.
	* build-aux/sanity-cfg.mk: Adjust strlcpy path references.
	* ext/posix/posix.c: Include strlcpy.c.
	(sockaddr_from_lua, Psetsockopt): Use strlcpy to avoid security
	and safety problems with strncpy.

	maint: remove spurious trailing blank lines.
	* examples/netlink-uevent.lua, examples/ping.lua: Remove
	spurious trailing blank lines.

	configury: exclude ext/posix/posix.c from file_system check.
	* build-aux/sanity-cfg.mk (sc_file_system): Exclude
	ext/posix/posix.c.

	doc: add missing termios api LDocs.
	* ext/posix/posix.c (tcdrain, tcflow, tcflush, tcgetattr)
	(tcsendbreak, tcsetattr): Add missing LDoc api headers.
	* NEWS: Update.

	doc: add missing socket api LDocs.
	* ext/posix/posix.c (accept, bind, connect, getaddrinfo, listen)
	(recv, recvfrom, send, sendto, setsockopt, shutdown, socket)
	(socketpair): Add missing LDoc api headers.
	* NEWS: Update.

	maint: `P` function prefix is for Published APIs exposed to Lua.
	Naming a C function with a leading `P` indicates that it is
	published to Lua.  Rename some functions that are not named
	according to this scheme.
	* ext/posix/posix.c (Ppoll_event_map)
	(Ppoll_events_createtable, Ppoll_events_from_table)
	(Ppoll_events_to_table, Ppoll_fd_list_check_table)
	(Ppoll_fd_list_from_table, Ppoll_fd_list_to_table): Rename from
	these...
	(poll_event_map, poll_events_createtable, poll_events_from_table)
	(poll_events_to_table, poll_fd_list_check_table)
	(poll_fd_list_from_table, poll_fd_list_to_table): ...to these.
	Adjust all callers.

	tests: remove spurious tests-termios.lua.
	* tests-termios.lua: Remove.  The existing examples/termios.lua
	demonstrates more functionality.

	docs: reorder posix.c and break into groups of named functions.
	* build-aux/config.ld.in (sort): Alphabetize documentation within
	sections.
	* ext/posix/posix.c: Add section blocks for related functions and
	move declarations into appropriate sections.

	slingshot: sync with upstream.
	* slingshot: Sync with upstream, particularly for datarootdir
	fixes that make docs visible with `luarocks doc luaposix`.
	* bootstrap.conf (slingshot_files): Remove
	m4/ax_compare_version.m4.
	* .gitignore: Update.

	doc: show LDocs for lib/posix.lua and lib/posix/sys.lua.
	* ext/posix/config.ld: Move from here...
	* build-aux/config.ld.in: ...to here.
	(title): Add Package name and version.
	(file): Add lib/posix.lua and lib/posix/sys.lua.
	(merge): Set to true to combine LDocs for lib/posix.lua and
	ext/posix/posix.c into a single document module.
	(format): Change from discount to markdown.
	* ext/posix/posix.c (@module): Change to `posix` to merge with
	lib/posix.lua.
	* lib/posix.lua: Add `@module posix` declaration.
	* lib/posix/sys.lua: Add `@module posix.sys` declaration.
	(euidaccess, spawn, timeradd): Fix LDoc formatting errors.
	* local.mk (examplesdir, modulesdir): New subdirectory locations
	for generated documentation to install to.
	(dist_examples_DATA): List generated examples files explicitly to
	avoid GNU make dependency on $(wildcard) expansion.
	(dist_modules_DATA): Add doc/modules/posix.html and
	doc/modules/posix.sys.html.
	(dist_data_DATA): Replace this...
	(dist_lua_DATA): ...with this
	(luaposixdir): Subdirectory for sys.lua to install to.
	(dist_luaposix_DATA): Add lib/posix/sys.lua.
	($(dist_doc_DATA)): Fix LDoc invocation for new config.ld
	location.
	(doc): Add $(dist_examples_DATA) and $(dist_modules_DATA)
	dependencies.
	(EXTRA_DIST): Add missing examples files.
	Change location of config.ld.
	(MAINTAINERCLEANFILES): Add $(dist_examples_data) and
	$(dist_modules_DATA).
	* NEWS: Update.

	sys: new submodule for non-POSIX apis.
	Close #73
	* lib/posix.lua (list, euidaccess, pipeline, pipeline_iterator)
	(pipeline_slurp, spawn, timeradd, timersub): Move from here...
	* lib/posix/sys.lua (list, euidaccess, pipeline)
	(pipeline_iterator, pipeline_slurp, spawn, timeradd, timersub):
	New file. ...to here.
	* lib/posix.lua (__index): Attempt to load a suitably named
	submodule to satisfy missing keys.
	* NEWS: Update.

2014-05-24  Gary V. Vaughan  <gary@gnu.org>

	docs: add some formatting consistency.
	* ext/posix/posix.c: Escape underscores for markdown processing
	where necessary to avoid spurious italics, and try to be more
	consistent with string examples in double quotes and constants
	in fixed width font.

	posix: fix gettimeofday LDocs to match API.
	Fix #133.
	* ext/posix/posix.c (Pgettimeofday): Has returned a Lua table
	with `sec` and `usec` fields for quite some time... make sure
	the LDocs reflect that!

2014-05-21  Gary V. Vaughan  <gary@gnu.org>

	specs: check fork() child processes in parent process.
	Close #110.
	* specs/posix_spec.yaml (fork): Running expect in the forked
	specl child process has no effect on the state and reporting in
	the parent.  Write the results from the child into a shared pipe
	and check them in the parent instead.

	Merge pull request 122 from cathalgarvey/luaposix
	Almost entirely rewritten to be lighter, correctly formatted, and
	to work when the host has no posix_advise implementation.

	Merge pull request #122 from cathalgarvey/luaposix
	Entirely rewritten.

	configury: add back net/if.h accidentally removed in merge conflict.
	* configure.ac (AC_CHECK_HEADERS): Add back net/if.h.

	examples: predicate ping example on p.SO_BINDTODEVICE.
	* examples/ping.lua: If either p.SOCK_RAW or p.SO_BINDTODEVICE
	are not defined, then the underlying OS libraries didn't have
	the necessary functionality for luaposix to bind to... so skip
	the example in that case.

	Merge pull request #132 from zevv/ping.
	posix: add support for netlink sockets with uevent netlink example.

2014-05-21  Gary V. Vaughan  <gary@gnu.org>

	Merge branch 'netlink' of github.com:zevv/luaposix into zevv-netlink

	Conflicts:
		configure.ac
		ext/posix/posix.c

2014-05-21  Gary V. Vaughan  <gary@vaughan.pe>

	Merge pull request #131 from zevv/ping
	posix: add SOCK_RAW, IPPROTO_ICMP and SO_BINDTODEVICE support.

2014-05-21  Ico Doornekamp  <ico@pruts.nl>

	Added support for netlink sockets with small uevent netlink example

	Added SOCK_RAW, IPPROTO_ICMP and SO_BINDTODEVICE; this allows sending and receiving of raw icmp (e.g. ping) packets from lua

2014-05-21  Gary V. Vaughan  <gary@gnu.org>

	posix: add Debug priority to syslog LDocs.
	* ext/posix/posix.c (syslog): Add Debug priority to LDocs.

	posix: include strings.h for strcasecmp declaration.
	* configure.ac (AC_CHECK_HEADERS): Add strings.h.
	* ext/posix/posix.c (strings.h): If the host system is POSIX
	compliant enough to ship this header, include it for a strcasecmp
	declaration.

	posix: FreeBSD 10 doesn't define O_DSYNC.
	* ext/posix/posix.c (O_DSYNC): Set a fallback definition of 0.

2014-05-21  Gary V. Vaughan  <gary@vaughan.pe>

	Merge pull request #128 from ittner/fix-getopt-ldoc-warning
	doc: Remove ldoc warning for getopt @see

2014-05-21  Gary V. Vaughan  <gary@gnu.org>

	travis: update scripts from slingshot.
	* .travis.yml: Regenerate with latest slingshot for a slew of
	improvements.

	NEWS: Update.
	* NEWS: Update.

	gnulib: sync with upstream.
	* gnulib: Update to latest master.

	slingshot: sync with upstream.
	* slingshot: Sync with upstream for grep GNUism fix.
	* bootstrap: Sync with slingshot/bootstrap.
	* .travis.yml: Regenerate.

2014-05-11  Alexandre Erwin Ittner  <alexandre@ittner.com.br>

	doc: Remove ldoc warning for getopt @see

2014-03-14  Reuben Thomas  <rrt@sc3d.org>

	openpty: add missing posix. prefix to call of close

2014-01-05  Gary V. Vaughan  <gary@gnu.org>

	slingshot: sync with upstream.
	Fix the annoying contest.sed file dropping bug.
	* slingshot: Sync with upstream.
	* bootstrap: Sync with slingshot.

2014-01-04  Gary V. Vaughan  <gary@gnu.org>

	maint: update copyright notices to include 2014.
	* .x-update-copyright: New file. Exclude files not owned by this
	project from update-copyright rules.
	* build-aux/.gitignore: Add update-copyright.
	* bootstrap.conf, configure.ac, local.mk: Bump copyright year.

	slingshot: sync with upstream, and simplify accordingly.
	* slingshot: Sync with upstream.
	* bootstrap: Update from slingshot.
	* bootstrap.slingshot: Remove, no longer required.
	* bootstrap.conf: Remove bootstrap.slingshot source boilerplate.
	(luaposix_force_readme): Remove. Automated by slingshot now.
	* .gitignore: Update.
	* .travis.yml: Until github.com/stevedonovan/LDoc catches up with
	require fixes for luaposix, use gvvaughan/LDoc on Travis.

2013-12-11  Gary V. Vaughan  <gary@gnu.org>

	doc: add missing LDoc function tag.
	* ext/posix/posix.c (strptime): Add missing @function tag.

	doc: fix LDoc manual page custom_see_handler pattern.
	* ext/posix/config.ld (custom_see_handler): Add a missing closing
	`%)`.
	(upat): Pull the format string up per LDoc documentation.

	slingshot: sync with upstream.
	* slingshot: Update from latest upstream, particularly for an
	empty table access fix in mkrockspecs.

	doc: move DateTime functions back to their own LDoc section. (Fix #119)
	* ext/posix/posix.c: Move Date and Time functions back to the
	end of the implementation functions to avoid picking up non-
	datetime related functions in the generated LDoc docs.

	slingshot: sync with upstream.
	* slingshot: Update to latest upstream revision, particularly
	to pick up fixes for changes in Travis wrt. libyaml.so location.
	* .travis.yml: Regenerate.

2013-12-11  Gary V. Vaughan  <gary@vaughan.pe>

	Merge pull request #121 from zevv/socketpair
	Added socketpair() and AF_UNIX domain

	Merge pull request #120 from craigbarnes/treefix
	Avoid unnecessary table creation and unpacking in examples/tree.lua

	Merge pull request #118 from craigbarnes/linkfix
	Fix typo in readme

	Merge pull request #117 from fperrad/master
	fix without IPv6

2013-11-25  Cathal Garvey  <cathalgarvey@cathalgarvey.me>

	Added Pfadvise and constant advise values. Untested.

2013-10-31  Ico Doornekamp  <ico@pruts.nl>

	Added socketpair() and AF_UNIX domain

2013-09-21  Craig Barnes  <cr@igbarn.es>

	Avoid unnecessary table creation and unpacking in examples/tree.lua

	Fix typo in LuaRocks URL

2013-09-20  Francois Perrad  <francois.perrad@gadz.org>

	fix without IPv6

2013-09-13  Gary V. Vaughan  <gary@gnu.org>

	slingshot: sync with upstream.
	* slingshot: Update to latest revision, particularly to get the
	fix for release announcement content.

Gary V. Vaughan's avatar
Gary V. Vaughan committed
2716 2717
2013-09-09  Gary V. Vaughan  <gary@gnu.org>

2718 2719 2720 2721 2722 2723
	maint: post-release administrivia.
	* configure.ac (AC_INIT): Bump revision to 32.
	* NEWS: Add header line for next release.
	* .prev-version: Record previous version.
	* ./local.mk (old_NEWS_hash): Auto-update.

Gary V. Vaughan's avatar
Gary V. Vaughan committed
2724 2725 2726
	Release version 31
	* NEWS: Record release date.

Gary V. Vaughan's avatar
Gary V. Vaughan committed
2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741
	slingshot: sync with upstream.
	* slingshot: Update to latest version for recent bootstrap fixes,
	among others.
	* bootstrap: Regenerate.

	maint: update NEWS.
	* NEWS: Update with user visible changes since previous release.

	posix: fix a typo in tc[gs]etattr constant definitions.
	* ext/posix/posix.c (VTOP): Changed spelling from this...
	(VSTOP): ...to this.

	maint: bump revision to 31.
	* configure.ac (AC_INIT): Bump release revision to 31.

Gary V. Vaughan's avatar
Gary V. Vaughan committed
2742 2743 2744 2745 2746 2747 2748 2749 2750
	maint: remove trailing spaces added by previous merge.
	* ext/posix/posix.c (Ptcsetattr, Ptcgetattr): Remove trailing
	whitespace.

2013-09-07  Gary V. Vaughan  <gary@vaughan.pe>

	Merge pull request #116 from zevv/termios-cc-flags
	Added missing termios cc flags

2751
2013-09-03  Ico Doornekamp  <ico@pruts.nl>
Gary V. Vaughan's avatar
Gary V. Vaughan committed
2752 2753 2754

	all termios c_cc flags available are now used in tcgetattr() and tcsetattr(), even though no symbols may be available for each flag. this makes sure a tcsetattr() after a tcgetattr() preserves all flags, even the non POSIX cmplient ones

2755
2013-09-02  Ico Doornekamp  <ico@pruts.nl>
Gary V. Vaughan's avatar
Gary V. Vaughan committed
2756 2757 2758

	Added missing termios cc flags

Gary V. Vaughan's avatar
Gary V. Vaughan committed
2759 2760
2013-08-29  Gary V. Vaughan  <gary@gnu.org>

Gary V. Vaughan's avatar
Gary V. Vaughan committed
2761 2762 2763 2764 2765
	maint: post-release administrivia.
	* NEWS: Add header line for next release.
	* .prev-version: Record previous version.
	* ./local.mk (old_NEWS_hash): Auto-update.

Gary V. Vaughan's avatar
Gary V. Vaughan committed
2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896
	Release version 30
	* NEWS: Record release date.

	maint: update NEWS.
	* NEWS: Update with user visible changes since previous release.

	boostrap: sync with upstream.
	This version fixes some cosmetic and CLI inconsistencies, as
	well as improving portability to BSDs.
	* bootstrap: sync with upstream.

	configury: don't nuke the lib subdirectory.
	Now that we've made use of lib for Lua library files, make sure
	not to let gnulib-tool scribble in it.
	* bootstrap.conf (source_base): Tell gnulib-tool to put its empty
	library directory somewhere harmless.
	(luaposix_remove_empty_lib): And then remove that.

	maint: reorganise sources into subdirectories.
	Rather than dump everything into the project root directory
	indiscriminately, move extension modules into subdirectories
	of a new 'ext/' subdirectory, Lua libraries into 'lib/'. And
	adjust the build system to work with that layout.
	* lua52compat.h: Move from here...
	* ext/include/lua52compat.h: ...to here.
	* local.mk (AM_CPPFLAGS): Add -I ext/include.
	* lcurses.c, strlcpy.c, curses.lua: Move from here...
	* ext/curses/curses.c, ext/curses/strlcpy.c, lib/curses.lua:
	...to here.
	* lposix.c, posix.lua: Move from here...
	* ext/posix/posix.c, lib/posix.lua: ...to here.
	* configure.ac (AM_INIT_AUTOMAKE): Add subdir-objects for future
	compatibility with Automake 2.0.
	(WANTEDLIBS, WANTEDLUA): Adjust paths.
	* local.mk (std_cpath, std_path, EXTRA_LTLIBRARIES, lib_LTLIBRARIES)
	(dist_data_DATA, dist_doc_DATA, EXTRA_DIST): Likewise.
	* tree.lua: Move from here...
	* examples/tree.lua: ...to here.
	* make_lcurses_doc.pl, config.ld: Move from here...
	* build-aux/make_lcurses_doc.pl, ext/posix/config.ld: ...to here,
	and adjust for relative path changes.
	* dummy.c: No longer used. Remove.
	* build-aux/sanity-cfg.mk: Remove references to dummy.c.
	Adjust for relative path changes.
	* .gitignore: Update.

	examples: error messages are not capitalized.
	* examples/lock.lua: Don't capitalize error messages.
	Discovered by 'make syntax-check'

2013-08-27  Gary V. Vaughan  <gary@gnu.org>

	posix: remember to register Pshutdown function.
	* lposix.c (R): Add Pshutdown MENTRY.

	posix: remove unused variables.
	* lposix.c (Precvfrom): Remove unused host and serv variables.
	(Paccept): Likewise, and remove unused r as well.

	posix: mark unused parameters for gcc.
	* lposix.c (UNUSED): New macro, expands to __unused__ with GNU C.
	(FgetID, Fsysconf, Pcloselog, Psync): Use it to mark unused
	function parameters.

	posix: report correct bad option number.
	* lposix.c (badoption): Report the passed option number as being
	the bad option.

2013-08-27  Gary V. Vaughan  <gary@vaughan.pe>

	Merge pull request #114 from GranPC/patch-1
	Fix repeated "Test ipv4" instead of "Test ipv6"

2013-08-27  Gary V. Vaughan  <gary@gnu.org>

	docs: fix typo in chdir ldoc comments.
	* lposix.c (Pchdir): Supply a valid usage example.
	Closes issue #113.
	Reported by Craig Barnes.

2013-08-26  Gary V. Vaughan  <gary@vaughan.pe>

	Merge pull request #112 from craigbarnes/master
	Fix and clean up Markdown formatting in README

2013-08-26  Enrico Tassi  <gareuselesinge@debian.org>

	posix: port getcwd to Hurd.
	* lposix.c (Pgetcwd): Use get_current_dir_name function on Hurd.

2013-08-26  Gary V. Vaughan  <gary@gnu.org>

	maint: git ignore build-aux/compile.
	* build-aux/.gitignore: Add compile.

	configury: don't use unicode characters in shell comments.
	* configure.ac: Replace unicode apostrophes with ASCII equivalents.

	typo: set the configure package version correctly.
	* configure.ac (AC_INIT): The correct release number is 30.

	posix: improve portability of constant definitions.
	Rather than try to catalog what compiler/OS releases supply what
	constant symbols in their headers with a rats nest of `#if __BSD`
	etc, wrap all of the contentious preprocessor defines in matching
	`#ifdefs` so that they are only provided by luaposix in the
	environments that define them.  This should provide much better
	future portability to new compiler/OS combinations.
	* lposix.c (lua_open_posix_c): Simplify the declarations by using
	a consistent MENTRY definition.
	Except for extremely well-known groups of symbols, and groups
	that are already inside _POSIX_VERSION >= 200112L guards, wrap
	each constant declaration in a matching `#ifdef`.

2013-08-12  GranPC  <gran.pc@gmail.com>

	Fix repeated "Test ipv4" instead of "Test ipv6"

2013-08-10  Alexander V. Nikolaev  <avn@daemon.hole.ru>

	Merge pull request #111 from markgurevich/mg/2625/file-locks-v2
	Lock or unlock files with fcntl()

2013-08-08  Craig Barnes  <cr@igbarn.es>

	Fix and clean up Markdown formatting in README.md

2013-07-24  Mark Gurevich  <markgurevichster@gmail.com>

	Lock or unlock files with fcntl()

2897
2013-06-27  Gary V. Vaughan  <gary@gnu.org>
2898

Gary V. Vaughan's avatar
Gary V. Vaughan committed
2899 2900 2901 2902 2903 2904 2905 2906 2907
	typo: fix target URL of Travis badge link in README.md.
	* README.md: Fix target URL of Travis badge link.

	maint: post-release administrivia.
	* NEWS: Add header line for next release.
	* .prev-version: Record previous version.
	* ./local.mk (old_NEWS_hash): Auto-update.
	* configure.ac (AC_INIT): Bump revision to 30.

2908 2909 2910
	Release version 29
	* NEWS: Record release date.

Gary V. Vaughan's avatar
Gary V. Vaughan committed
2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929
	configury: distribute config.ld.
	* local.mk (EXTRA_DIST): Add config.ld, and various example files.

	slingshot: update.
	* slingshot: Update to version with spurious gitmodule output
	from sanity checks fixed, and improved release branch cleanup.

	configury: run automake without --foreign flag.
	* configure.ac (AM_INIT_AUTOMAKE): Remove foreign.
	* bootstrap.conf (luaposix_force_changelog, luaposix_finish):
	Remove.  Bootstrap handles this automatically.
	(luaposix_force_readme): Distribute README file.
	* .gitignore: Add README.

	curses: remove trailing whitespace.
	* lcurses.c (Wresize): Remove trailing whitespace.

	NEWS: update.

2930
2013-06-27  Gary V. Vaughan  <gary@vaughan.pe>
Gary V. Vaughan's avatar
Gary V. Vaughan committed
2931 2932 2933 2934

	Merge pull request #105 from aeron005/master
	Added wresize binding in curses library

2935
2013-06-27  Gary V. Vaughan  <gary@gnu.org>
Gary V. Vaughan's avatar
Gary V. Vaughan committed
2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018

	slingshot: update.
	* slingshot: Update to version with ax_lua.m4 cross compilation
	fix.
	Reported by Reuben Thomas.

	Closes #98.

2013-06-27  Gary V. Vaughan  <gary@gnu.org>

	sync, fsync, fdatasync, nice, lseek: a bunch of new calls.
	* lposix.c (Psync, Pfsync, Pfdatasync): Wrap disk synchronisation
	calls.
	(Pnice): New call. Change process priority.
	(Plseek): New call. Move current position of a file discriptor.
	* specs/posix_spec.yaml (sync, fsync, fdatasync): New pending
	expectations.
	(nice, lseek): Specify basic behaviour of these new calls.
	Submitted by zevv@github.com, from a patch by Ico Doornekamp.

	Closes #93.

2013-06-27  Gary V. Vaughan  <gary@gnu.org>

	specs: convert socket tests from issue #92 to specl.
	* specs/posix_spec.yaml (socket handling): New spec, not working
	on Mountain Lion, at least :(
	Awaiting feedback, see issue #92.
	Reported by zevv@github, from a patch by Ico Doornekamp.

	specs: replace racy posix.times specs with more robust implementation.
	* specs/posix_spec.yaml (time accounting): Note the inconsistency
	between posix.times() and posix.times (...all keys...) from
	issue #107, and replace racy spec for posix.times().

2013-06-27  Gary V. Vaughan  <gary@gnu.org>

	docs: fix typo in clock_gettime ldoc comments.
	* lposix.c (Pclock_gettime): Fix a cut-n-paste duplication typo.
	Reported by Steve Donovan.

	Closes #104.

2013-06-27  Gary V. Vaughan  <gary@gnu.org>

	slingshot: update.
	* slingshot: Update.
	* configure.ac (SS_CONFIG_TRAVIS): Remove luafilesystem now that
	slingshot takes care of ldoc prerequisites.
	* .travis.yml: Regenerate.
	* .gitignore: Ignore doc directory rather than docs, as latest
	ldoc seems to be putting files in the former now.

	travis: regenerate .travis.yml.
	.travis.yml: Regenerate.

	configury: travis builds with 5.2 require luafilesystem rock.
	* configure.ac (SS_CONFIG_TRAVIS): Add luafilesystem to extra
	rocks list.

	configury: bump SPECL_MIN to 8.
	* configure.ac (SPECL_MIN): Bump to 8, because we're using the
	Specl 8 hell.spawn APIs now.

	typo: the documentation directory is called doc, not docs!
	* local.mk (dist_doc_DATA, MAINTAINERCLEANFILES): Use correctly
	spelled 'doc' instead of previous typo, 'docs'.

	specl: update to Specl 8 changes in hell.spawn.
	* specs/posix_spec.yaml: Specl 8 no longer copies table entries
	from require results into environments automatically, so make sure
	we capture the table, and then use qualified access to spawn.

	slingshot: update.
	* slingshot: Update.
	* bootstrap.slingshot: Install latest revision.

2013-05-23  aeron005  <mitchell.burdette@gmail.com>

	Added binding for wresize to curses library

2013-05-09  Gary V. Vaughan  <gary@gnu.org>

3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153
	Revert "Release version 29"
	This reverts commit bfce2bc28a5a5f675e4b6f7ef790bcdbfba15aad.

	syntax-check: remove trailing whitespace.
	* build-aux/sanity-cfg.mk (error-message-uppercase): Exclude
	examples/socket.lua, which otherwise triggers false positives.
	* NEWS, examples/socket.lua, examples/termios.lua, lposix.c:
	Remove trailing whitespace.

	Release version 29
	* NEWS: Record release date.

	configury: distribute INSTALL for autotools instructions.
	* bootstrap.conf (gnulib_non_module_files): Add doc/INSTALL.

	typo: use correct spelling of prefix in README.md.
	* README.md: s/perfix/prefix/g

2013-05-09  Gary V. Vaughan  <gary@vaughan.pe>

	Merge pull request #99 from zevv/fix-dir-example
	Fixed dir example for 5.2

	Merge pull request #96 from zevv/fix-glob-example
	Fixed glob example

	Merge pull request #100 from zevv/add-b57600
	Added missing 57k6 baudrate to termios table

	Merge pull request #95 from zevv/fix-poll
	I broke poll with commit 8deb0ebd041ab6d4761f86a7a906dd850111bae7

	Merge pull request #94 from zevv/fix-poll-example
	Fix poll example, open failed due to wrong 2nd argument type

2013-05-09  Gary V. Vaughan  <gary@gnu.org>

	specs: add pending guards to weird Travis failures.
	* specs/posix_spec.yaml: Mark pending those examples inexplicably
	failing on Travis, per github issue #102.

	configury: bump release version to 29.
	* configure.ac (AC_INIT): Bump release version to 29.
	The '5.1.' prefix is a misnomer now tha we support Lua 5.2, and
	bumping the prefix to '5.2.' would be no better, since we support
	Lua 5.1 simultaneously, and 5.3 will be along one of these days.

	sanity: add configuration fragment with sanity exclusions.
	* build-aux/sanity-config.mk (sc_require_config_h)
	(sc_require_config_h_first): Exclude dummy.c and strlcpy.c, which
	are both included directly into another source file before
	compilation.
	* .gitignore, build-aux/.gitignore: Adjust.

	syntax-check: fix many tiny errors raised by sanity.mk.
	* config.ld: Remove trailing blank line.
	* lcurses.c, strlcpy.c: Remove useless preprocessor parens.
	* lcurses.c: Use the blessed `#include <config.h>` format.
	* local.mk: Remove leading space from SPACE-TAB sequence.
	* lposix.c (STREQ): Define to avoid using inverted strcmp logic.
	Also remove useless preprocessor parens, and trailing whitespace.
	* posix.lua, specs/posix_spec.yaml: Remove trailing whitespace.
	* specs/posix_spec.yaml: Use 'file system' in preference to
	.filesystem'.

	maint: collect previous release notes into NEWS.
	* NEWS: New file, required for the Slingshot release process.
	* local.mk (old_NEWS_hash): Update.

2013-05-09  Reuben Thomas  <rrt@sc3d.org>

	specs: ttyname can contain 'pts' rather than 'tty'

	specs: fix some spec failures on Linux.
	* specs/posix_spec.yaml (uname): uname -a can display information
	that uname(2) does not return, so change the command to say
	explicitly what fields we want.

2013-05-09  Gary V. Vaughan  <gary@gnu.org>

	specs: convert adhoc tests to specl specs.
	* tests-curses.lua: Remove. Move contents from here...
	* specs/curses_spec.yaml: New file. ...to here, and reformat.
	* tests-posix.lua: Remove.
	* specs/posix_spec.yaml: New file. Implement equivalent (or
	better!) specs here.
	* specs/specs.mk (specl_SPECS): Add new specs.

	specs: convert lunit fcntl checks to specl specs.
	* README: Remove reference to lunit.
	* tests-fcntl.lua: Remove.
	* specs/posix_lua_spec.yaml: New file with equivalent checks for
	Specl.
	* specs/specs.mk (specl_SPECS): Add specs/posix_lua_spec.yaml.
	* local.mk: Include specs/specs.mk.

	slingshot: adopt slingshot release mechanism.
	* README: Move from here...
	* README.md: ...to here. Adjust for GH Markdown.
	* GNUmakefile, Makefile.am, build-aux/mkrockspecs,
	m4/ax_compare_version.m4, m4/ax_lua.m4:
	Remove. These files are handled by slingshot now.
	* rockspecs.lua, m4/ax_with_prog.m4: Remove. No longer used.
	* bootstrap.slingshot: New file. Slingshot bootstrap plugin.
	* bootstrap.conf: Source it.
	* configure.ac: Adjust to drive slingshot processes.
	* local.mk: New file. Project local make rules.
	* rockspec.conf: New file. Slingshat rockspec template.
	* specs/specs.mk: Simplified.
	* .prev-version: Record previous version number.
	* .gitignore: Update.
	* .travis.yml: Regenerate.

	termios: remove deprecated legacy symbols.
	Don't write new code with these, they are not definied by stricly
	POSIX conformant hosts. See:
	http://pubs.opengroup.org/onlinepubs/009695399/basedefs/termios.h.html
	* lposix.c (XCASE, IUCLC, OUCLC): Remove.

	termios: make XSI extensions optional.
	Mac OS X is a POSIX conformant system, but does not implement
	all XSI extensions. Only create constant for XSI extensions if
	they are defined by the host system. See:
	http://pubs.opengroup.org/onlinepubs/009695399/basedefs/termios.h.html
	* lposix.c (CBAUD, EXTA, EXTB, ECHOCTL, ECHOPRT, ECHOKE, FLUSHO)
	(PENDIN): Wrap with preprocessor guards.
	(DEFECHO, LOBLK, SWTCH, VDISCARD, VDSUSP, VLNEXT, VREPRINT)
	(VSTATUS, VWERASE): Additional conditional XSI extensions.

2013-04-23  Ico Doornekamp  <ico@pruts.nl>

	Fixed dir example for 5.2

	Added missing 57k6 baudrate to termios table

3154
2013-04-17  Ico Doornekamp  <ico@pruts.nl>
3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201

	Fixed glob example, added missing 'posix ='. Also removed the readlink() part because /proc on linux violates posix and does not properly fill in st_size on lstat(), causing readlink() to fail with EINVAL.

	Fix poll example, open failed due to wrong 2nd argument type, probably from old lposix API?

	I broke poll with commit 8deb0ebd041ab6d4761f86a7a906dd850111bae7
	The result is just fine for calling poll() only once, but breaks for
	subsequent calls to poll() when passing the same table. In this case,
	the events are not cleared from the revents table, causing false
	positives.

2013-04-16  Reuben Thomas  <rrt@sc3d.org>

	Merge pull request #90 from zevv/getopt
	Rename getopt_long() to getopt(), long options are now optional.

	Merge pull request #91 from zevv/termios
	Moved tests-termios.lua to examples/termios.lua

2013-04-16  Ico Doornekamp  <ico@pruts.nl>

	Added minimal termios test.

2013-04-16  Reuben Thomas  <rrt@sc3d.org>

	Mention where to look for other contributors.

	Merge pull request #82 from zevv/socket
	Added socket functions and test script

2013-04-16  Ico Doornekamp  <ico@pruts.nl>

	Changed getopt_long semantics, reorderd iterator return values, optarg is now string instead of number. This allows getopt_long to closely mimic getopt
	Renamed getopt_long to getopt, changed short options type from number to
	string, updated example

	Added POSIX socket functions and constants

2013-04-16  Reuben Thomas  <rrt@sc3d.org>

	Merge pull request #83 from zevv/termios
	Added termios and test script

2013-04-16  Ico Doornekamp  <ico@pruts.nl>

	Added termios and test script

3202
2013-04-14  Reuben Thomas  <rrt@sc3d.org>
3203 3204 3205 3206 3207

	Copy stdlib code into posix.lua, minimally modified
	Solves the discussion in already-closed issue #80, and closes pull
	request #88 and closes pull request #89.

3208
2013-04-13  Reuben Thomas  <rrt@sc3d.org>
3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224

	Merge pull request #85 from zevv/poll-only-triggered-revents
	poll only returns active events in revents table, increases performance

	Move require of std.list to correct place

2013-04-13  Ico Doornekamp  <ico@pruts.nl>

	Simplified lua_pushboolean() expression

	poll only returns active events in revents table, increases performance

2013-04-12  Reuben Thomas  <rrt@sc3d.org>

	Require stdlib; fixes #80

3225 3226
2013-04-11  Reuben Thomas  <rrt@sc3d.org>

3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291
	.gitignore: add TAGS

	lposix.c: fix lua_Alloc calls that free (they should pass the current size); fix a memory leak in msgrcv

	lposix.c: fix error-case space leak in Pread; fixes issue #78

2013-04-11  Gary V. Vaughan  <gary@gnu.org>

	posix.lua: fix a typo in assert.
	* posix.lua (pipeline): t1 is not declared, use type of t in the
	assert error.

2013-03-28  Reuben Thomas  <rrt@sc3d.org>

	lposix.c: change bogus @long tags to @int tags.

	lposix.c: add function line for pipe (was missing)
	Thanks to behoffski for the report.

2013-03-24  Reuben Thomas  <rrt@sc3d.org>

	lposix.c: fix @function line of isprint (was wrongly "isgraph")
	Thanks to behoffski for the report.

2013-03-23  Reuben Thomas  <rrt@sc3d.org>

	tests-posix.lua: fix pipeline test for VPATH build

	tests-posix.lua: fix pipeline test
	Should call pipeline_slurp, not pipeline_iterator to get whole output
	in one go. This has the nice side-effect of testing both
	pipeline_iterator and pipeline as well, as pipeline_slurp calls
	pipeline_iterator, which calls pipeline.

2013-03-20  Reuben Thomas  <rrt@sc3d.org>

	Makefile.am: unset LUA_INIT_5_2 in calls to get information from woger.
	This is an ugly hack, but since it will work at least until the
	release of Lua 5.3, it's better than nothing.

	configure.ac: bump version to 5.1.28

	Simplify and fix pipeline_iterator, and add a test.

2013-03-18  Reuben Thomas  <rrt@sc3d.org>

	posix.lua: fix bug in posix.pipeline_iterator, where it always closed the pipe on first iteration

2013-03-17  Reuben Thomas  <rrt@sc3d.org>

	configure.ac: bump version to 5.1.27

	posix.lua: rename posix.system to posix.spawn, keeping old name as alias for now.

2013-03-16  Reuben Thomas  <rrt@sc3d.org>

	Allow posix.system to take a function, a shell command, or a file and list of arguments. Use it in pipeline.
	Allow pipeline functions to take an extra parameter giving the
	function to use to make a pipe (e.g. so posix.openpty can be used
	instead). Change argument to a table rather than a list of tasks.

2013-03-14  Reuben Thomas  <rrt@sc3d.org>

	posix.lua: tidy up pipeline and add pipeline_iterator and pipeline_slurp

3292 3293
2013-03-13  Reuben Thomas  <rrt@sc3d.org>

3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305
	Merge pull request #72 from nmcveity/fix-5.1-compat
	Removed Lua 5.2 functions lua_len and lua_tointegerx

	COPYING: bump copyright year

	Add pipeline function to execute a pipeline of shell commands & Lua functions

2013-03-05  nmcveity  <nmcveity@gmail.com>

	Removed Lua 5.2 functions lua_len and lua_tointegerx
	This fixes issue #71.

3306
2013-03-04  Reuben Thomas  <rrt@sc3d.org>
3307 3308 3309

	Makefile.am: stop making unnecessary ChangeLog.

3310
2013-03-03  Reuben Thomas  <rrt@sc3d.org>
3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333

	lposix.c: fix a space leak in realpath

	configure.ac: bump version to 5.1.26.

	lposix.c: change some @param's to @string where possible

	Add posix.realpath.

	lposix.c: add support for SA_* flags when establishing a signal handler

2013-03-02  Reuben Thomas  <rrt@sc3d.org>

	posix.lua: add posix.openpty

2013-02-28  Reuben Thomas  <rrt@sc3d.org>

	lposix.c: improve documentation of posix.read

	lposix.c: document posix.wait's return values properly

	lposix.c: add killpg

3334
2013-02-20  Reuben Thomas  <rrt@sc3d.org>
3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353

	Makefile.am: release directory should already be on release branch; remove checkout command

	Makefile.am: use simpler and more robust scheme of parallel checkout for checking in release code.

	Allow exec/execp arguments to be supplied as a table, including argv[0]. Closes #65.

	configure.ac: bump version to 5.1.25

	Merge pull request #67 from zserge/master
	Support for message queues

2013-02-19  Reuben Thomas  <rrt@sc3d.org>

	Merge pull request #68 from sam-github/pts-support
	Fix posix.openpt() requireing and ignoring a path.

	When no LDoc installed, create docs directory before touching files in it; fixes issue #66

3354
2013-02-18  Sam Roberts  <vieuxtech@gmail.com>
3355 3356 3357

	Fix posix.openpt() requireing and ignoring a path.

3358
2013-02-18  Serge Zaitsev  <zaitsev.serge@gmail.com>
3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377

	added basic message queues support

2013-02-18  Reuben Thomas  <rrt@sc3d.org>

	Merge pull request #58 from sam-github/pts-support
	Support Unix 98 style pseudoterminals, as specified in POSIX.1-2001

2013-02-18  Sam Roberts  <vieuxtech@gmail.com>

	Tests for pseudoterminal support.

2013-02-17  Sam Roberts  <vieuxtech@gmail.com>

	Support Unix 98 style pseudoterminals, as specified in POSIX.1-2001
	Support consists of openpt(), ptsname(), grantpt(), and unlockpt(). The master
	fd can be created by calling  openpt(), or by opening "/dev/ptmx" (as
	specified by POSIX).

3378
2013-02-15  Reuben Thomas  <rrt@sc3d.org>
3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415

	Makefile.am: fix woger command for new rockspec arrangement.

	Makefile.am: prevent unpacked sources being recursively checked in to release branch.

	Makefile.am: remove references to defunct files.

	rockspecs.lua: don't need to turn dots in version into dashes to get release tag.

	.gitignore: remove tarball pattern, as we no longer have tarballs.

	Revert 31671409e62e: bit32 doesn't build with Lua 5.2, so require luabitop instead.

	rockspecs.lua: fix a misnamed variable

	configury: add rockspec-generating files for git/release rockspecs.

	Makefile.am: remove obsolete definition of ROCKSPEC

	configure.ac: remove useless AC_SUBST calls for precious variables.

	tests-posix.lua: remove a debugging line.

	lposix.c: correct cross-reference to getopt.lua

	Bump version down to 5.1.24: we haven't made such a release yet

	configury: update for releasing on 'release' branch of github rather than via tarballs.

	Update ax_lua.m4 to latest: no code changes, formatting only.

	tests-posix.lua: remove commented-out test for non-POSIX putenv function

	Add STD{IN,OUT,ERR}_FILENO constants.

	Add isatty.

3416
2013-02-12  Reuben Thomas  <rrt@sc3d.org>
3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539

	Use bit32 (now available for 5.1) rather than luabitop: slightly simplifies things.

2013-02-11  Reuben Thomas  <rrt@sc3d.org>

	lposix.c: Reuben Thomas is no longer the maintainer.

	m4/ax_compare_version.m4: add support file for ax_lua.m4

2013-02-07  Alexander V. Nikolaev  <avn@daemon.hole.ru>

	Merge pull request #61 from gvvaughan/pull-request/maint-clean-ldocs-output
	configury: clean up ldoc droppings with make maintainer-clean

	Merge pull request #62 from gvvaughan/pull-request/remove-empty-lib-subdir
	gnulib: no need to link always empty libgnu.

2013-02-06  Reuben Thomas  <rrt@sc3d.org>

	configury: update ax_lua.m4 to latest version, which simplifies configure.ac slightly.

2013-01-29  Gary V. Vaughan  <gary@gnu.org>

	gnulib: no need to link always empty libgnu.
	Now that we have no C modules from gnulib, there's no need to
	build and link the always empty library any more.
	* Makefile.am (SUBDIRS): Remove.
	* configure.ac (AC_CONFIG_FILES): Remove lib/Makefile.
	* bootstrap.conf (gnulib_tool_options): Add --avoid=dummy to skip
	the one remaining empty gnulib C source file.
	(luaposix_remove_empty_lib): gnulib-tool now generates a useless
	lib subdirectory containing just a Makefile.am and .gitignore. We
	don't use or need it any more, so delete it.
	(luaposix_finish): Don't copy dummy.c out of gnulib.

	configury: clean up ldoc droppings with make maintainer-clean
	* Makefile.am (MAINTAINERCLEANFILES): Add docs/index.html and
	docs/ldoc.css.

2013-01-27  Alexander V. Nikolaev  <avn@daemon.hole.ru>

	Merge pull request #59 from gvvaughan/pull-request/handle-missing-ldoc
	configury: handle missing ldoc binary.

2013-01-26  Gary V. Vaughan  <gary@gnu.org>

	configury: handle missing ldoc binary.
	* configure.ac (LDOC): Set with AX_WITH_PROG.
	(HAVE_LDOC): New conditional.
	* Makefile.am (HTML): Fold into...
	(dist_doc_DATA): ...here.
	Run ldoc when available, otherwise touch the requried files to
	prevent build failure.

2013-01-10  Reuben Thomas  <rrt@sc3d.org>

	Merge pull request #56 from gvvaughan/pull-request/curses-resizeterm-support
	curses: conditional resizeterm support.

	Merge pull request #55 from gvvaughan/pull-request/fix-waddstr-double-append-bug
	curses: don't waddstr() each string twice.

	Merge pull request #53 from gvvaughan/pull-request/remove-automake-werror
	configury: remove automake -Werror option.

	Merge pull request #52 from gvvaughan/pull-request/add-am-prog-ar
	configury: use AM_PROG_AR for automake 1.13.

	Merge pull request #50 from gvvaughan/pull-request/keep-gnulib-revision-under-version-control
	configury: keep gnulib revision under version control.

	Merge pull request #51 from gvvaughan/pull-request/sync-upstream-bootstrap
	bootstrap: sync with upstream.

	Merge pull request #54 from gvvaughan/pull-request/no-need-for-lt-output
	configury: no need to fork for libtool.m4 variables.

2013-01-10  Gary V. Vaughan  <gary@gnu.org>

	curses: conditional resizeterm support.
	* configure.ac (AC_CHECK_FUNCS): Check whether resizeterm is
	implemented by the selected curses library.
	* lcurses.c (Cresizeterm): If it is, use it, otherwis throw an
	error to explain why not.
	(curseslib): Add it to the toplevel curses functions.

	curses: don't waddstr() each string twice.
	Fix a bug introduced by commit 5aa297512.
	* lcurses.c (Waddstr): Only add the string one time!

	configury: no need to fork for libtool.m4 variables.
	libtool.m4 is expanded into configure already, so the values are
	available after LT_INIT in configure.in without creating config.lt
	to copy the values we already have into an early libtool script,
	and then fork again to grep the content of those copies back into
	configure!!  (LT_OUTPUT is only necessary if you need to run
	configure time compilation tests using the libtool script to
	wrap the actual compiler).
	* configure.ac (LT_OUTPUT): Remove.
	(shrext): shrext_cmds is already set by LT_INIT, so just use it
	without calling the early libtool script.

	configury: remove automake -Werror option.
	This option causes automake to bail out after warning about the
	use of gmake extensions.
	* configure.ac (AM_INIT_AUTOMAKE): Remove -Werror.

	bootstrap: sync with upstream.
	This revision fixes some small bugs, and is compatible with
	non-gnu awk and non-gnu sed again.
	* bootstrap: sync with upstream.

	configury: keep gnulib revision under version control.
	It's important to keep the gnulib revision number used by any
	particular checkout of luaposix under version control rather than
	hoping that whatever the current HEAD is will work.
	* .gitignore: Remove gnulib.
	* gnulib: Add current master revision.

	configury: use AM_PROG_AR for automake 1.13.
	* configure.ac (AM_PROG_AR): Required by recent automake releases,
	but not available in very old releases.

3540
2012-12-24  Reuben Thomas  <rrt@sc3d.org>
3541 3542 3543

	configure.ac: fix regeneration of luaposix.rockspec

3544
2012-12-23  Reuben Thomas  <rrt@sc3d.org>
3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561

	configure.ac: fix a comment

	luaposix.rockspec.in: remove redundant dir setting

2012-12-15  Alexander V. Nikolaev  <avn@daemon.hole.ru>

	configure.ac: bump version to 5.1.25

	rockspec: Add missing dependency for luabitop
	luaposix depends on bitop library on lua 5.1 since luaposix 5.1.16

2012-12-05  Alexander V. Nikolaev  <avn@daemon.hole.ru>

	Merge pull request #48 from Keen-github/vs/2230/fix_hack_for_luaposix_compatibility
	Added 'day' field for compatibility to Lua os.date(); fixed issue #32.

3562
2012-11-14  Valeriy Skurikhin  <Keen.vs@gmail.com>
3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587

	Added 'day' field for compatibility to Lua os.date(); fixed issue #32.

2012-10-25  Reuben Thomas  <rrt@sc3d.org>

	Use lstat to read size of a link (for Preadlink); fixes issue #47.

2012-10-17  Reuben Thomas  <rrt@sc3d.org>

	configure.ac: bump version to 5.1.24

	lcurses.c: don't run strlen unnecessarily; w[mv]addstr does that anyway

2012-10-04  Reuben Thomas  <rrt@sc3d.org>

	Makefile.am: now that github-upload is fixed, consolidate release into a single target

	Makefile.am: correct github_user parameter to woger (thanks, Liam)

	release: luarocks-related tweaks

	Makefile.am: make check-luarock depend on the rockspec, as github seems to work after all

	release: automatically check the rockspec before making a release

3588 3589
2012-10-03  Reuben Thomas  <rrt@sc3d.org>

3590 3591 3592 3593 3594 3595 3596 3597 3598 3599
	Make Lua 5.2-compatibility more Lua 5.2-ish.

	tree.lua: make Lua 5.2-compatible

2012-09-26  Reuben Thomas  <rrt@sc3d.org>

	rockspec: make build_command more robust

	build: install documentation with 'make install' and from luarocks

3600
2012-09-23  Reuben Thomas  <rrt@sc3d.org>
3601 3602 3603 3604 3605 3606 3607

	lposix.c: improve comment of mkstemp

2012-09-21  Reuben Thomas  <rrt@sc3d.org>

	configure.ac: bump version to 5.1.23

3608 3609
2012-09-20  Reuben Thomas  <rrt@sc3d.org>

3610 3611
	lcurses.c: define LUA_COMPAT_ALL to get luaL_register.

3612
2012-09-13  Reuben Thomas  <rrt@sc3d.org>
3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623

	dummy.c: fix copyright notice to be public domain

	version: bump to 5.1.22.

	gnulib: re-add dummy.c with correct license to fix Mac OS X build (issue #46)

2012-09-11  Reuben Thomas  <rrt@sc3d.org>

	configure.ac: enable automake to generate dependencies for rockspec (thanks, Hisham Muhammad).

3624
2012-09-07  Reuben Thomas  <rrt@sc3d.org>
3625 3626 3627 3628 3629 3630 3631 3632

	Merge pull request #45 from wcmaier/fix/github-url
	Update Github URL.

2012-09-07  Will Maier  <wcmaier@m.aier.us>

	Update Github URL.

3633
2012-09-03  Reuben Thomas  <rrt@sc3d.org>
3634 3635 3636

	Bump version to 5.1.21.

3637
2012-09-01  Reuben Thomas  <rrt@sc3d.org>
3638 3639 3640 3641 3642

	README: Add link to online HTML docs.

	README: Update location of repo and contact details.

3643
2012-08-31  Reuben Thomas  <rrt@sc3d.org>
3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657

	bootstrap.conf: no longer require now-defunct `missing' script.

2012-08-30  Reuben Thomas  <rrt@sc3d.org>

	Add docstrings (using Steve Donovan's ldoc) to lposix.c
	The documentation comes from from Steve Donovan and the Alpine Linux
	wiki (Natanael Copa).

	Reindent Psignal, which was a bit out of order.

	Make rpoll use file descriptors, not Lua file objects, so it can be
	used with both (via fileno).

3658
2012-06-28  Reuben Thomas  <rrt@sc3d.org>
3659 3660 3661 3662 3663

	Document dependency on bitop library with Lua 5.1 (thanks to Bernd Eggink).

	Remove documentation of configure options, one of which was obsolete.

3664
2012-06-22  Reuben Thomas  <rrt@sc3d.org>
3665 3666 3667 3668 3669 3670 3671 3672 3673

	Simplify Lua 5.2 compatibility

	lposix.c: revert to using MYNAME, as it is different from PACKAGE.

	build: don't unset LUA_INIT, as it may be needed to set Lua paths.

	Update bug reporting advice (thanks, Yuri Takhteyev).

3674 3675
2012-06-21  Reuben Thomas  <rrt@sc3d.org>

3676 3677 3678 3679
	Fix some incorrectly-named references to posix module.

	Simplify construction of messages with autoconf variables.

3680
2012-06-05  Reuben Thomas  <rrt@sc3d.org>
3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762

	build: don't include non-MIT-licensed dummy.c from gnulib (fixes issue #42).

2012-06-04  Reuben Thomas  <rrt@sc3d.org>

	Merge pull request #41 from gvvaughan/pull-request/timer-macros
	gettimeofday: change format to a table with sec and usec fields.

2012-06-01  Gary V. Vaughan  <gary@gnu.org>

	gettimeofday: replace C timer macros with lua equivalents.
	* lposix.c (Ptimeradd, Ptimercmp, Ptimersub): Remove.
	* posix.lua (timeradd, timercmp, timersub): New Lua equivalents
	to removed C implementations.

2012-05-29  Gary V. Vaughan  <gary@gnu.org>

	gettimeofday: change format to a table with sec and usec fields.
	* lposix.c (Pgettimeofday): Return a single table with sec and usec
	fields, rather than a pair of numbers.
	(Ptimeradd, Ptimercmp, Ptimersub): New functions to emulate the
	macros timeradd, timercmp and timersub respectively.

2012-05-29  Reuben Thomas  <rrt@sc3d.org>

	Merge pull request #40 from gvvaughan/pull-request/feature-tests-not-version-checks
	crypt: this function is available on darwin, but no crypt.h header is

2012-05-29  Gary V. Vaughan  <gary@gnu.org>

	statvfs: check for actual presence of function and header.
	* configure.ac (sys/statvfs.h): Test for presence of this header.
	(statvfs): Test for availability of this API.
	* lposix.c (sys/statvfs.h): Include it, if configure found it.
	(Pstatvfs): Wrap statvfs if configure found the API.
	(R): List Pstatvfs if we wrapped it earlier.

	crypt: this function is available on darwin, but no crypt.h header is
	One of the main principles of Autoconf is that you should test for
	features, not for versions - exactly because of compilation problems
	like this, where Apple sets _POSIX_VERSION to make us think that
	crypt.h is available, but there is no crypt.h header.
	* configure.ac (crypt.h): Test for presence of this header.
	(crypt): If the crypt function is available, whether or not the
	additional -lcrypt library is required, define HAVE_CRYPT.
	* lposix.c (crypt.h): Include it if configure found it.
	(Pcrypt): Define it if configure detected a system crypt API.
	(R): List Pcrypt, if we defined it earlier.

2012-05-28  Reuben Thomas  <rrt@sc3d.org>

	posix.lua: update call of posix.open to match new API.

	Add missing posix suffix to a call of access.

	Merge pull request #39 from stevedonovan/master
	Implement signal queue so signals arriving while in a Lua signal handler are not lost.

2012-05-28  Steve Donovan  <steve.j.donovan@gmail.com>

	signal handling queue implemented

2012-05-23  Reuben Thomas  <rrt@sc3d.org>

	Bump version to 5.1.20.

	getgroup: fix an off-by-one error (thanks, Steve Donovan)

	lposix.c: more minor whitespace fixes

	posix.lua: add a missing space (whitespace fix).

	system: Kill the fork if execp fails (thanks, Steve Donovan)

	lposix.c: require a mode for open with O_CREAT, and only then.

	tests: update for revised open API.

	lposix.c: minor whitespace fixes.

	lposix.c: make file & creation flags public; pass flags to open as an integer mask, not a table.

3763 3764
2012-05-22  Reuben Thomas  <rrt@sc3d.org>

3765 3766 3767 3768 3769 3770 3771 3772
	Fix some comments.

2012-05-21  Reuben Thomas  <rrt@sc3d.org>

	Remove non-POSIX crypt_r and replace function checks with POSIX version checks.

	Add a pointer to documentation and some basic coding principles.

3773
2012-05-13  Reuben Thomas  <rrt@sc3d.org>
3774 3775 3776

	Update web site URL and be more explicit about system requirements.

3777
2012-05-12  Alexander V. Nikolaev  <avn@daemon.hole.ru>
3778 3779 3780 3781 3782 3783

	Rework test for glob() -- use temporary directory
	This allow us to not depend from *.la files from build.

	Simple tests for mkdtemp and mkstemp

3784
2012-05-12  Your Name  <7hemroc@gmail.com>
3785 3786 3787

	Add mkdtemp()

3788
2012-05-12  Alexander V. Nikolaev  <avn@daemon.hole.ru>
3789 3790 3791 3792

	Memory leak in mkstemp
	Pmkstemp not release temporary string buffer, if mkstemp() raise an error

3793
2012-05-12  Reuben Thomas  <rrt@sc3d.org>
3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805

	Merge pull request #35 from likema/master
	Add statvfs and crypt_r.

2012-05-02  Reuben Thomas  <rrt@sc3d.org>

	lcurses.c: Remove some casts to chtype that only cause trouble.

	strlcpy.c: add prototype to squash compiler warning.

	strlcpy.c: Make function declaration ANSI.

3806
2012-04-30  Like Ma  <likemartinma@gmail.com>