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 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 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 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 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 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 3154 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 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 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 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 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 3416 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 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 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 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653
|
2009-11-26 Paolo Bonzini <bonzini@gnu.org>
* bootstrap.conf: Add binary-io, dirname.
* configure.ac: Remove check for setmode, AC_DOSFILE.
* m4/dosfile.m4: Remove.
* src/grep.c: Adjust for dirname.h.
* src/system.h: Adjust for new gnulib modules.
2009-11-26 Paolo Bonzini <bonzini@gnu.org>
* bootstrap.conf: Add gnulib modules for replacement functions and
headers.
* configure.ac: Remove macros subsumed by gnulib.
* lib/hard-locale.c: Remove guards for headers/functions provided by gnulib.
* lib/regex.c: Likewise.
* lib/savedir.c: Likewise.
* src/dfa.c: Likewise.
* src/grep.c: Likewise.
* src/mbsupport.h: Likewise.
* src/system.h: Likewise.
* src/dfa.h: Do not look at PROTOTYPES.
* m4/mbstate_t.m4: Remove.
* src/getpagesize.h: Remove.
2009-11-26 Paolo Bonzini <bonzini@gnu.org>
* bootstrap.conf: Add gnulib modules and build libgreputils.a.
* configure.ac: Remove macros subsumed by gnulib.
* lib/Makefile.am: Remove files subsumed by gnulib.
* lib/alloca.c: Remove.
* lib/atexit.c: Remove.
* lib/error.c: Remove.
* lib/error.h: Remove.
* lib/fnmatch.c: Remove.
* lib/fnmatch.h: Remove.
* lib/getopt.c: Remove.
* lib/getopt.h: Remove.
* lib/getopt1.c: Remove.
* lib/gettext.h: Remove.
* lib/malloc.c: Remove.
* lib/memchr.c: Remove.
* lib/obstack.c: Remove.
* lib/obstack.h: Remove.
* lib/quotearg.c: Remove.
* lib/quotearg.h: Remove.
* lib/realloc.c: Remove.
* lib/stpcpy.c: Remove.
* lib/strtol.c: Remove.
* lib/strtoul.c: Remove.
* lib/strtoull.c: Remove.
* lib/xalloc.h: Remove.
* lib/xmalloc.c: Remove.
* lib/xstrtol.c: Remove.
* lib/xstrtol.h: Remove.
* lib/xstrtoumax.c: Remove.
* m4/error.m4: Remove.
* m4/inttypes_h.m4: Remove.
* m4/malloc.m4: Remove.
* m4/realloc.m4: Remove.
* m4/uintmax_t.m4: Remove.
* m4/ulonglong.m4: Remove.
* m4/xstrtoumax.m4: Remove.
* src/system.h: Remove strerror, sys_nerr, sys_errlist.
2009-11-26 Paolo Bonzini <bonzini@gnu.org>
* bootstrap: Use gnulib's build-aux/bootstrap.
* configure.ac: Add gl_INIT and gl_EARLY.
2009-11-26 Paolo Bonzini <bonzini@gnu.org>
* configure.ac: Bump AC_PREREQ to 2.59.
2009-11-26 Paolo Bonzini <bonzini@gnu.org>
* lib/savedir.c: Do not use NAMLEN.
2009-11-21 Paolo Bonzini <bonzini@gnu.org>
* configure.ac: Remove AC_SEP.
* m4/envsep.m4: Remove.
2009-11-20 Paolo Bonzini <bonzini@gnu.org>
* configure.ac: Do not generate lib/posix/Makefile.
* lib/Makefile.am: Remove SUBDIRS.
* lib/posix/Makefile.am: Remove.
* lib/posix/regex.h: Overwrite...
* lib/regex.h: ... this.
2009-11-20 Paolo Bonzini <bonzini@gnu.org>
* doc/Makefile.am: Remove AUTOMAKE_OPTIONS.
* lib/posix/Makefile.am: Remove AUTOMAKE_OPTIONS.
* vms/Makefile.am: Remove AUTOMAKE_OPTIONS.
2009-11-20 Paolo Bonzini <bonzini@gnu.org>
* Makefile.cvs: Remove.
2009-11-20 Paolo Bonzini <bonzini@gnu.org>
* m4/largefile.m4: Remove.
* m4/lib-ld.m4: Remove.
* m4/lib-prefix.m4: Remove.
* m4/missing.m4: Remove.
* m4/nls.m4: Remove.
* m4/progtest.m4: Remove.
2009-11-20 Paolo Bonzini <bonzini@gnu.org>
* bootstrap: Add autopoint invocation and fetching of .po files.
* configure.ac: Bump to GNU gettext 0.17.
* ABOUT-NLS: Remove.
* m4/gettext.m4: Remove.
* m4/iconv.m4: Remove.
* m4/lib-link.m4: Remove.
* m4/po.m4: Remove.
* po/*.po: Remove.
2009-11-20 Paolo Bonzini <bonzini@gnu.org>
* autogen.sh: Rename to...
* bootstrap: ... this.
2009-11-20 Paolo Bonzini <bonzini@gnu.org>
* bootstrap/*: Remove.
* configure.ac: Do not create bootstrap/Makefile.
* Makefile.am: Do not recurse into bootstrap, distribute new files.
* Makefile.boot: Move from bootstrap/Makefile.try.
* README-boot: Move from bootstrap/README.
2009-11-20 Paolo Bonzini <bonzini@gnu.org>
* lib/Makefile.am: Distribute gettext.h.
* lib/closeout.c: Use it.
* lib/gettext.h: New.
* lib/quotearg.c: Use it.
* lib/xmalloc.c: Use it.
* src/dfa.c: Use it.
* src/system.h: Use it.
2009-11-20 Paolo Bonzini <bonzini@gnu.org>
* configure.ac.in: Rename...
* configure.ac: ... to this. Remove ALL_LINGUAS definition.
* autogen.sh: Generate po/LINGUAS instead of configure.ac.
2009-11-20 Paolo Bonzini <bonzini@gnu.org>
* configure.ac.in: Remove pointless (?) stamp-h rule.
2009-11-20 Paolo Bonzini <bonzini@gnu.org>
* configure.ac.in: Remove m4/Makefile creation.
* Makefile.am: Remove m4 subdirectory.
* m4/Makefile.am: Remove.
* m4/codeset.m4: Remove.
* m4/glibc.m4: Remove.
* m4/glibc21.m4: Remove.
* m4/header.m4: Remove.
* m4/install.m4: Remove.
* m4/isc-posix.m4: Remove.
* m4/lcmessage.m4: Remove.
* m4/sanity.m4: Remove.
2009-11-20 Paolo Bonzini <bonzini@gnu.org>
* configure.ac.in (AM_GNU_GETTEXT_VERSION): Bump to 0.17.
* Makefile.am (EXTRA_DIST): Add build-aux/config.rpath.
* intl/*: Remove.
* m4/gettext.m4: Upgrade to gettext-0.17.
* m4/iconv.m4: Upgrade to gettext-0.17.
* m4/lib-ld.m4: New file, from gettext-0.17.
* m4/lib-link.m4: New file, from gettext-0.17.
* m4/lib-prefix.m4: New file, from gettext-0.17.
* m4/nls.m4: New file, from gettext-0.17.
* m4/po.m4: New file, from gettext-0.17.
* m4/progtest.m4: Upgrade to gettext-0.17.
* m4/Makefile.am (EXTRA_DIST): Add the new files.
* po/Makefile.in.in: Upgrade to gettext-0.17.
* po/Makevars: New.
* po/cat-id-tbl.c: New.
* src/Makefile.am: Replace @INTLLIBS@ with @LIBINTL@.
2009-11-20 Paolo Bonzini <bonzini@gnu.org>
* configure.ac.in: Test for limits.h, locale.h, stddef.h, mempcpy
and setlocale, though already done implicitly via AM_GNU_GETTEXT.
2009-11-20 Paolo Bonzini <bonzini@gnu.org>
* bootstrap/Makefile.try: Adjust.
* lib/savedir.c: Avoid using stpcpy, so that bootstrapping does not
need it.
2009-11-20 Paolo Bonzini <bonzini@gnu.org>
* configure.ac: Slightly modernize.
* Makefile.am: Modernize, use dependencies.
* Makefile.am: Modernize, use dependencies.
* lib/Makefile.am: Remove ansi2knr.
* src/Makefile.am: Remove ansi2knr.
* .gitignore: Add INSTALL
* build-aux/.gitignore: New.
2009-11-20 Paolo Bonzini <bonzini@gnu.org>
* autogen.sh: Remove what is useless with git.
2009-02-10 Tony Abou-Assaleh <taa@acm.org>
* po/*.po: update from the Translation Project
* configure.ac.in: update version to 2.6-cvs
2009-02-02 Karl Berry <karl@tug.org>
* configure.ac.in (pcre): set CPPFLAGS, not CFLAGS.
2009-02-01 Tony Abou-Assaleh <taa@acm.org>
* po/*.po: update from the Translation Project
* po/Makefile.in.in: Remove deleted file ChangeLog from DISTFILES
* configure.ac.in: Replace obsolete macro AC_OUTPUT with modern equivalent
2009-02-01 Karl Berry <karl@tug.org>
* missing: re-add (from gnulib), since it's missing.
* src/grep.c (usage): consistent punctuation.
2009-01-31 Tony Abou-Assaleh <taa@acm.org>
* m4/*.m4: quote underquoted definitions
* m4/codeset.m4: serial AM1 -> serial 1
* m4/iconv.m4: serial AM2 -> serial 2
* m4/header.m4: m4_regexp -> m4_bregexp, m4_patsubst -> m4_bpatsubst
2009-01-29 Karl Berry <karl@gnu.org>
* src/grep.c (usage): mention gnu.org/s/grep and gnu.org/gethelp.
Update and/or add copyright notices:
* ABOUT-NLS
* AUTHORS
* ChangeLog
* Makefile.am
* NEWS
* README
* README-alpha
* README.DOS
* THANKS
* autogen.sh
* configure.ac.in
* bootstrap/Makefile.am
* bootstrap/Makefile.try
* bootstrap/README
* doc/Makefile.am
* doc/grep.texi
* lib/Makefile.am
* m4/Makefile.am
* po/POTFILES.in
* src/Makefile.am
* src/dfa.h
* src/dosbuf.c
* src/grep.h
* src/kwset.c
* src/kwset.h
* src/mbsupport.h
* src/search.c
* src/system.h
* src/vms_fab.c
* src/vms_fab.h
* tests/Makefile.am
* tests/backref.sh
* tests/bre.awk
* tests/bre.sh
* tests/empty.sh
* tests/ere.awk
* tests/ere.sh
* tests/file.sh
* tests/fmbtest.sh
* tests/foad1.sh
* tests/khadafy.sh
* tests/options.sh
* tests/pcre.sh
* tests/spencer1.awk
* tests/spencer1.sh
* tests/spencer2.sh
* tests/status.sh
* tests/tests
* tests/warning.sh
* tests/yesno.sh
* vms/Makefile.am
* vms/config_vms.h
* po/ChangeLog: remove this file, just a bit of ancient cruft.
2009-01-25 Tony Abou-Assaleh <taa@acm.org>
* README: updated "KNOWN BUGS" section
2009-01-24 Bruno Haible <bruno@clisp.org>
* lib/posix/regex.h (__restrict, __restrict_arr): Remove macros.
(_Restrict_, _Restrict_arr_): New macros. From gnulib/lib/regex.h.
(regcomp, regexec): Update declarations to use them.
* lib/savedir.c (isdir): New declaration.
* src/dfa.c (update_mb_len_index): Change argument type to
'char const *'.
(match_mb_charset): Cast argument to strncpy.
(dfaexec): Add pointer cast.
* src/grep.c (parse_grep_colors): Add braces for disambiguation.
* src/kwset.c: Include xalloc.h instead of declaring xmalloc manually.
2009-01-20 Tony Abou-Assaleh <taa@acm.org>
* tests/foad1.sh: disable tests that fail under cs_CZ.UTF-8.
* tests/fmbtest.sh: likewise
* README: added "KNOWN BUGS" section
* src/grep.c: updated copyright year
2008-12-12 Karl Berry <karl@gnu.org>
* doc/grep.texi (Exit Status, grep Programs): move these
nodes to under Invoking.
* doc/grep.texi: remove all remaining node pointers;
downcase cindex entries.
2008-12-11 Karl Berry <karl@gnu.org>
* doc/grep.texi (Copying): update url's.
(GNU General Public License): remove node.
(GNU Free Documentation License): @include fdl.texi instead.
(@copying): update to v1.3 or later.
* doc/fdl.texi: new file, copied from
https://www.gnu.org/licenses/fdl.texi.
* doc/Makefile.am (grep_TEXINFOS): new variable to get fdl.texi.
Also add usual GPL license statement.
* doc/grep.texi (Index): Merge in Concept Index node,
to have only one index. Arrange @syncodeindex's accordingly.
2008-12-10 Karl Berry <karl@gnu.org>
* doc/grep.texi (@copying): use @copying; move @contents to
beginning; rearrange other frontmatter in the conventional ways.
2008-06-15 Tony Abou-Assaleh <taa@acm.org>
* src/ansi2knr.[1c]: Remove generated files (installed by
automake). Thanks to Emanuele Giaquinta for this.
2008-02-14 Tony Abou-Assaleh <taa@acm.org>
* src/grep.c: Factor out copyright year in --version. Thanks to
Karl Berry for this.
* src/grep.c: Update copyright years
* po/POTFILES.in: +src/system.h +lib/closeout.c +lib/regex.c
+lib/xmalloc.c -lib/getopt1.c
2008-02-09 Tony Abou-Assaleh <taa@acm.org>
* src/dfa.c: Replace a MALLOC and for loop with a CALLOC. Thanks to
Johan Walles for this. Patch #6288
* README-alpha: more info about CVS code
* README: pointer to README-alpha
* src/grep.c: Update grep copyright year
2008-02-08 Reuben Thomas <rrt@sc3d.org> (tiny change)
* .cvsignore: add configure.ac
* src/.cvsignore: add .deps
2008-02-06 Tony Abou-Assaleh <taa@acm.org>
* tests/foad1.sh: Comment out cases that are known to fail. These
should be uncommented after the 2.5.4 release.
* tests/yesno.sh: Likewise.
* doc/grep.1: Update description of -e PATTERN; from Benno Schulenberg
* doc/grep.texi: Likewise.
2007-11-19 Tony Abou-Assaleh <taa@acm.org>
* m4/Makefile.am: Remove reference strerror_r.m4
2007-11-16 Tony Abou-Assaleh <taa@acm.org>
* po/sk.po: updated from the translation project
2007-11-03 Tony Abou-Assaleh <taa@acm.org>
* po/*.po: get latest translations
* po/no.po: removed
* po/ky.po: added
* po/sk.po: added
2007-10-10 Tony Abou-Assaleh <taa@acm.org>
* configure.ac.in: update version to 2.6-dev
* src/grep.c: update --version message
2007-10-07 Tony Abou-Assaleh <taa@acm.org>
* src/grep.c: When -h and -H are combined, use the last specified,
Bug #15620, Patch #4866
* tests/foad1.sh: add tests for -h and -H
* ChangeLog: Add a copyright notice (years taken from commit logs),
add a license notice (taken from gnulib ChangeLog)
* TODO: update the link to a list of other grep implementations
2007-06-29 Bernhard Rosenkraenzer <bero@arklinux.org>
* all files: GPLv3
* configure.ac.in: Change version number
2006-11-25 Bernhard Rosenkraenzer <bero@arklinux.org>
* configure.ac.in: Update version number for post-2.5.2 development
2006-11-25 Bernhard Rosenkraenzer <bero@arklinux.org>
* configure.ac.in, grep.spec: Update version number
* Makefile.cvs: Update to work with current autoconf scripts
* po/Makefile.in.in: Adjust to work with automake 1.1x
2006-08-19 Bernhard Rosenkraenzer <bero@arklinux.org>
* po/*: Sync with translation project
* doc/*: Assorted documentation updates, Patch #4610
* autogen.sh, configure.in, configure.ac.in: Autogenerate
ALL_LINGUAS variable
* m4/strerror_r.m4, configure.ac.in: Fix detection of strerror_r
* lib/error.c: Remove bogus warning
* lib/savedir.c, lib/savedir.h, src/grep.c, doc/*:
Add --exclude-dir option (patch #5051)
2005-11-18 Charles Levert <charles_levert@gna.org>
* tests/foad1.sh: Use ": ${VERBOSE=}" so that the caller can
set it without modifying the script; the usual caller (Makefile)
still leaves it untouched (usually unset, so it's off by default).
Modify "-m1 -A99 '^...$'" tests that failed so that their
expectation now corresponds to the output currently produced
by grep. Those tests used to expect that two selected (or
selectable) lines be output, even with -m1. Nothing was
modified with other similar tests that output _context_ lines
after one selected line has been output with -m1; they used to
and still succeed. Although tests/yesno.sh now provides a more
comprehensive framework for testing -m/-C feature interaction,
it doesn't exercise mixing them with anchors so the whole
relevant tests/foad1.sh test group is kept, notably to check
that grep doesn't crash when it is run.
2005-11-17 Charles Levert <charles_levert@gna.org>
On 2005-06-21, many changes were made that affected --color,
--only-matching, and --invert-match. Some of them introduced a
misunderstanding between the concepts of matched/non-matched and
selected/rejected lines. Furthermore, a few bugs with -v sneaked
in stemming from this. This set of changes aims to rectify most
of this situation. Some GREP_COLORS capabilities are also added
as a result of the clarification. (Further issues with -v/-o/-C
feature interaction still remain to be sorted out.)
* src/grep.c: Rename/add global variables, macros, and capabilities:
SEP_CHAR_MATCH --> SEP_CHAR_SELECTED
SEP_CHAR_CONTEXT --> SEP_CHAR_REJECTED
SEP_STR_CHUNK --> SEP_STR_GROUP
grep_color --> selected_match_color + context_match_color
mlines_color --> selected_line_color
context_color --> context_line_color
"ml" --> "sl"
"mt" --> "mt" = "ms" + "mc"
--> "rv" (reverse "sl"/"cx" when -v)
* src/grep.c (color_cap_mt_fct, color_cap_rv_fct): New functions.
* src/grep.c (print_line_tail): Renamed color argument to line_color.
* src/grep.c (print_line_middle, prline): Revert part of the logic to
a pre-2005-06-21 one so that lines with matches have their matched
parts properly handled again ("m?" colors or --only-matching),
whether or not -v is specified. Whole line colors ("sl", "cx")
follow a selected / rejected(context) logic, as opposed to a
matched / non-matched one (unless "rv"). Matched text colors ("ms",
"mc") always follow a selected / rejected(context) logic,
regardless of "rv", because only matched lines use them anyway.
pr_line_middle() now takes additional line_color and match_color
arguments computed by prline() prior to calling that function.
The old logic was a buggy hybrid matched / rejected(context) one.
* src/grep.c (prpending, prtext, grepfile): Renamed macro invocations.
* src/grep.c (parse_grep_colors): Update top comment.
* src/grep.c (main): GREP_COLOR (singular) now sets both
selected_match_color and context_match_color.
2005-11-16 Charles Levert <charles_levert@gna.org>
* src/search.c (Pcompile): Clarify message for the -P option
not being supported so that users don't assume it's a run-time
problem, but know that it's a compile-time configuration choice.
Based on an idea by: Benno Schulenberg <benno@nietvergeten.nl>.
2005-11-13 Charles Levert <charles_levert@gna.org>
* tests/yesno.sh: New file. Test feature interaction
of -C, -v, -o, and -m. This reveals bugs, including some I
introduced on 2005-06-21, but also others.
* tests/Makefile.am (TESTS): Add yesno.sh.
* tests/Makefile.am (CLEANFILES): Add cspatfile and csinput, as
created by fmbtest.sh. Add yesno.txt, as created by yesno.sh.
2005-11-11 Charles Levert <charles_levert@gna.org>
* configure.in (ALL_LINGUAS): Add languages that were missing
from this variable (bg, ca, da, nb, tr), but that GNU grep supports
with a po/xx.po file. Reported by Tony Abou-Assaleh <taa@acm.org>.
* src/search.c (Pcompile): Abort in error if -P and multiple patterns
are specified, with an error message explaining the situation.
Fixing this won't be simple; the '\n' characters separating the
patterns cannot just be replaced by '|' to create an alternation as
back-references are assumed to be local to each individual pattern.
* src/grep.c (parse_grep_colors, main): Replace all uses of
fprintf(stderr, _("%s: foo\n"), program_name, ...) with
error(0, 0, _("foo"), ...) for uniformization and simplification
of warning messages that will be up for localization. (My bad.)
2005-11-10 Charles Levert <charles_levert@gna.org>
The introduction of the --only-matching and --color GNU extensions
to grep added the requirement that each execute() implementation
not only be able to identify matching lines as a whole, but also
individual "exact" matches within a line known to be matching,
from leftmost to rightmost match, when the output from matching
lines is actually produced. The interface and implementations
of execute() were not up to it. This set of changes aims to
rectify that situation. Previously failing tests relative to
left anchors (^ and \<) and -w should now pass. This fixes
<https://savannah.gnu.org/bugs/?func=detailitem&item_id=11579>,
<https://savannah.gnu.org/patch/?func=detailitem&item_id=1834>,
<https://savannah.gnu.org/bugs/?func=detailitem&item_id=8243>,
and possibly part of other, bigger, pending patches. The problem
was also compounded by the POSIX requirement to support a pattern
list instead of just an individual pattern (for -G and -E as well).
* tests/foad1.sh: Test for increasing/decreasing-length word
matches, given pattern order, and leftmost/longest match.
* tests/fmbtest.sh: Modify test #6 according to new expectations.
Better document what tests #6 and #7 are actually for. Eliminate
test #5 in favor of bringing tests #6 and #7 within the F G E loop.
* src/grep.h (EXECUTE_ARGS): Change last argument from "int exact"
to "char const *start_ptr". Testing for "start_ptr" being non-NULL
retains the same semantics as testing for "exact" being non-zero.
* src/grep.c (print_line_middle): Call execute() with whole
buffer to work on, but using current position as start_ptr.
* src/grep.c (prpending, grepbuf): Call execute() with NULL
as start_ptr.
* src/search.c (EGexecute, Fexecute, Pexecute): When start_ptr is
non-NULL, return first match from it as an offset relative to buf.
* src/search.c (EGexecute): Consider all patterns if many and,
for an exact match, return the best one (leftmost, then longest).
Don't explore worst solutions, of course (branch and bound).
2005-11-10 Charles Levert <charles_levert@gna.org>
* src/grep.c (main): Fix a subtle memory allocation bug introduced
with the mb_icase_keys() function, which can call xrealloc() or
free() on keys, by making sure keys is always dynamically allocated.
2005-11-09 Charles Levert <charles_levert@gna.org>
* doc/grep.1, doc/grep.texi: Advise users to test for
"exit_status > 1" instead of "exit_status == 2" in order to
detect errors, for portability with other POSIX-compliant
implementations.
2005-11-09 Charles Levert <charles_levert@gna.org>
The following set of changes aims to make "egrep" and "fgrep"
minimal executable programs for legacy applications, instead of
shell scripts. This "fgrep" is much smaller than "grep".
This set of changes appears more daunting than it really is.
* src/egrep.c, src/fgrep.c, src/esearch.c, src/fsearch.c: New files
that #define either EGREP_PROGRAM or FGREP_PROGRAM and #include
the corresponding generic (i.e., non e or f specific) *.c file.
* src/grepmat.c: Remove whole file.
* src/Makefile.am: Remove no-dependencies from AUTOMAKE_OPTIONS.
Add definitions to make "egrep" and "fgrep" specific standalone
executable programs that only use the source files they need.
Remove rules for "egrep" and "fgrep" shell scripts.
* src/grep.h: #define GREP_PROGRAM if both EGREP_PROGRAM and
FGREP_PROGRAM are #undef. Only declare matchers[] in this case
along with the compile_fp_t and execute_fp_t function pointers
typedefs, otherwise declare prototypes for straight compile()
and execute() functions for the specialized "egrep" and "fgrep"
programs. Remove the extern declaration for matcher.
Define COMPILE_RET, COMPILE_ARGS, EXECUTE_RET, EXECUTE_ARGS,
COMPILE_FCT, and EXECUTE_FCT helper preprocessor macros.
* src/grep.c (short_options, long_options, usage, main): Only
support -G, -E, -F, -P, and -X for GREP_PROGRAM, but not for
EGREP_PROGRAM or FGREP_PROGRAM. Customize usage messages.
* src/grep.c (set_limits): New function with unchanged code,
called from main(), because it shouldn't be in install_matcher()
since it was already matcher-independent.
* src/grep.c (matcher): Add as static, only for GREP_PROGRAM.
* src/grep.c (setmatcher, install_matcher): Only for GREP_PROGRAM.
* src/grep.c (main): Remove any tweaking and dependence on argv[0].
* src/grep.c (print_line_middle, prpending, grepbuf, main): Call
compile() and execute() directly, not through a function
pointer dereferencing notation, so that it works with both
straight functions (in EGREP_PROGRAM and FGREP_PROGRAM) and
function pointers (in GREP_PROGRAM).
* src/search.c (<regex.h>, "dfa.h", dfa, pattern0, patterns,
pcount, dfaerror, kwset_exact_matches, kwsmusts): Only
include/declare/define if not FGREP_PROGRAM.
* src/search.c: Remove function prototypes for all functions
that are not used before their definition, since this is just
a hassle now with their varying names and conditional definition.
* src/search.c (GEAcompile): Rename from Ecompile(). Add new
syntax_bits argument/variable. Use as compile() for EGREP_PROGRAM.
Put in the needed RE_ICASE fix, albeit commented-out for now.
Make sure to free() modified word/line pattern after use, if any.
* src/search.c (Gcompile): Merge with GEAcompile() then remove.
* src/search.c (Gcompile, Acompile, Ecompile): New small functions
that call GEAcompile(), now that matcher is not an extern variable.
* src/search.c (GEAcompile, Gcompile, Acompile, Ecompile,
Fcompile, Pcompile, EGexecute, Fexecute, Pexecute, matchers):
Only define when needed according to *GREP_PROGRAM, and rename
to just compile() and execute() when appropriate.
* grep/bootstrap/Makefile.try: Similar changes.
2005-11-08 Charles Levert <charles_levert@gna.org>
* README.DOS, TODO, grep.spec, doc/grep.1, doc/grep.texi,
src/grep.h, po/da.po, po/nb.po, po/no.po, po/sv.po:
Replace all capitalized "Grep" by a lowercase "grep", except
in citations. Reported by Benno Schulenberg <benno@nietvergeten.nl>
from the <https://bugs.debian.org/190551>
entry in the Debian bug tracker.
* doc/grep.1, doc/grep.texi: Explain that the "egrep" and "fgrep"
commands are deprecated and provided for historical applications.
Replace some "egrep" uses by "grep -E" to promote the newer usage.
Typeset "zgrep" as a command. Fix some spacing and punctuation bugs.
2005-11-08 Julian Foad <julianfoad@btopenworld.com>
* doc/grep.texi: Rewrite a poorly written usage example about
back-references, and tweak another. New text by Benno Schulenberg.
2005-11-04 Charles Levert <charles_levert@gna.org>
* src/grep.c (mb_icase_keys): New function to properly lowercase
keys if match_icase. The problem was that some multi-octet
characters can get longer or shorter upon this conversion, so that
it cannot just naively be done in place on the same memory buffer.
* src/grep.c (main): Call mb_icase_keys (and remove in-line code).
* tests/foad1.sh: Duplicate three "-o -b" tests for the "-F"
mode because it relies on a different code path that deserves
the same kind of testing.
2005-09-27 Stepan Kasal <kasal@ucw.cz>
* doc/grep.1: Fix a typo.
2005-08-24 Charles Levert <charles_levert@gna.org>
* src/grep.c (print_line_middle): In case of an empty match,
make minimal progress and continue instead of aborting process
of the remainder of the line, in case there's still an upcoming
non-empty match.
* tests/foad1.sh: Add two tests for this.
* doc/grep.texi, doc/grep.1: Document this behavior, since
--only-matching and --color are GNU extensions which are
otherwise unspecified by POSIX or other standards.
2005-07-26 Charles Levert <charles_levert@gna.org>
* tests/pcre.sh: New file. Add test 1.
* tests/Makefile.am: Add pcre.sh to TESTS.
2005-07-07 Charles Levert <charles_levert@gna.org>
* src/grep.c: Remove all xm capability code.
2005-07-05 Charles Levert <charles_levert@gna.org>
* doc/grep.texi: Add missing green color in GREP_COLORS description.
* doc/grep.1: Fix typo and reorganize GREP_COLORS documentation.
* src/kwset.c (DEPTH_SIZE): New macro to anticipate
architectures/compilers where CHAR_BIT is not 8 (we assume it
won't be less than 4, which would be non-standard and unlikely).
Checked to hold for CHAR_BIT up to 1023 (and maybe more)!
* src/kwset.c (kwsincr): Use DEPTH_SIZE in two array declarations.
* src/kwset.c (kwsincr): When a second obstack_alloc() call fails,
free what the first one successfully allocated by popping it
off the top of the obstack, before returning in error, just
to keep things clean.
* src/kwset.c (kwsprep): Verify return value of obstack_alloc()
and return a memory exhausted error if so. This function had
a prototype to return such errors, but never did.
2005-07-04 Charles Levert <charles_levert@gna.org>
* src/kwset.c: Readability changes.
Replace uses of 0 for pointer values by NULL.
Generalize use of existing U() macro to whole file.
* src/kwset.c (kwsprep): Use memset() and memcpy() when appropriate.
* src/kwset.c (kwsprep): Move three variable declarations to
the single {}-block where they are used.
* src/kwset.c (kwsprep): Optimize search for mind2 value by
starting from the end of the target[] array.
2005-06-22 Charles Levert <charles_levert@gna.org>
* grep/autogen.sh, grep/src/Makefile.am, grep/tests/backref.sh,
grep/tests/bre.sh, grep/tests/empty.sh, grep/tests/ere.sh,
grep/tests/file.sh, grep/tests/fmbtest.sh, grep/tests/foad1.sh,
grep/tests/khadafy.sh, grep/tests/options.sh,
grep/tests/spencer1.sh, grep/tests/spencer2.sh,
grep/tests/status.sh, grep/tests/warning.sh: As per autoconf's
"Portable Shell Programming" guidelines, replace all instances
of "#!/bin/sh" by "#! /bin/sh" (notice the space).
2005-06-21 Charles Levert <charles_levert@gna.org>
* src/grep.c (nlscan): Make this function more robust by removing
the undocumented assumption that its "lim" argument points
right after a line boundary. This will be used later to fix
--byte-offset's broken behavior. Patch #3769.
* src/grep.c (main): Add a test to check if -o/--only-matching
and context lines are both specified and if so, set both context
specifications (before and after) to zero then print an explicit
warning to stderr explaining what was done and why (as opposed
to drastically aborting the process in error). Patch #3768.
Other code needs this zero setting to work correctly without
having to repeatedly test for this conflictual condition.
* tests/foad1.sh: Add tests combining -o, -n/-b/-H, and -i,
since there are separate code paths for -i. Add tests combining
-o, -n/-b/-H, and -3, since any context line specification
should be ignored when combined with -o.
* src/grep.c (print_line_head): New function, culled off the
top content of prline(). Adds a guard against "lastnl" having
already reached "lim", which can happen when if the function
is called more than once per line.
* src/grep.c (prline): Now calls print_line_head(), not only at
the beginning to replace the moved code when -o is not
specified, but also for each match when -o is specified (two
code paths with this). Patch #3770, more or less. This makes
all tests combining -o and -n/-b/-H pass, which they didn't
before. Fixes bug #12727.
* src/grep.c (SEP_CHAR_MATCH, SEP_CHAR_CONTEXT, SEP_STR_CHUNK):
New macros for ':', '-', and "--". Used throughout the file.
Will be used even more in upcoming updates, so good to have now.
* src/grep.c: The new GREP_COLORS (plural) framework, only
partially used at this point to make for a simpler initial
patch in CVS. A subset of patch #3644 on Savannah.
* src/grep.c (color_cap_ne_fct, color_cap_xm_fct, print_filename,
print_sep, parse_grep_colors): New functions.
* src/grep.c (prtext, grepfile, main): Existing functions modified
to use the new framework.
* doc/grep.texi, doc/grep.1: Document GREP_COLORS.
* src/grep.c: The new -T/--initial-tab framework, only
partially used at this point to make for a simpler initial
patch in CVS. A subset of patch #3644 on Savannah.
The option name/calling convention is the same as for GNU diff.
* doc/grep.texi, doc/grep.1: Document -T/--initial-tab.
* src/grep.c (print_offset): Renamed print_offset_sep() to better
represent its new functionality; new calling convention.
* src/grep.c (print_offset, print_line_head): Use and implement
missing parts of the GREP_COLORS and -T/--initial-tab frameworks.
* src/grep.c (print_line_middle, print_line_tail): New functions,
unused for now, intended to allow a simplifying rewrite of
prline(). Adding them first will make for cleaner CVS patches.
* src/grep.c (prline): Simplifying rewrite using
print_line_middle() and print_line_tail(). No longer attempts
to find matches to colorize in context lines, thus avoiding
costly calls to (*execute)(), since we know by then that they
can't contain any by definition. There are no longer four
different code paths whether -o and -i are each specified
or not; they have been unified into one, which should help
avoid bugs similar to previous ones due to not updating all
code paths in a synchronized fashion. The -i code has been
explicitly marked since it doesn't belong there and should
be removed as soon as other -i code elsewhere is fixed.
The remaining GREP_COLORS functionality is implemented.
Savannah patch #3771 and patch #3644, heavily reworked.
* src/grep.c (color_cap_ne_fct, color_cap_xm_fct,
print_line_middle, print_line_tail): Make these four functions
static.
2005-06-20 Charles Levert <charles_levert@gna.org>
* src/grep.c: Extensively document the SGR/EL-to-Right issue.
* src/grep.c: Explain the context and logic for choosing default
--color screen attributes (SGR parameters).
2005-06-15 Charles Levert <charles_levert@gna.org>
* tests/foad1.sh: Since this script is run by /bin/sh, it
must work under posix mode. That means not using assignment
statements right before a function call (LC_ALL=... grep_test,
in this case), because it won't do the expected thing.
2005-06-14 Charles Levert <charles_levert@gna.org>
Fix bug #11022 (Line wrapping causes GREP_COLOR background
color to "smear") by outputting a "clear to end of line"
control sequence after each SGR (Select Graphic Rendition)
control sequence (START and END). This also avoid similar
problems with HT (tab) characters.
* src/grep.c (SGR_START, SGR_END, PR_SGR_FMT, PR_SGR_FMT_IF,
PR_SGR_START, PR_SGR_END, PR_SGR_START_IF, PR_SGR_END_IF):
New macros.
* src/grep.c (prline): Use the new macros.
* tests/fmbtest.sh, tests/foad1.sh: Adjust the regression tests
to expect the new control sequences.
2005-05-06 Charles Levert <charles_levert@gna.org>
* TODO: Add a few more projects and derived versions to check out.
2005-05-05 Charles Levert <charles_levert@gna.org>
* README-alpha: Document grep-commit mailing list.
* TODO: Add various stuff culled from the mailing list.
2005-05-02 Charles Levert <charles_levert@gna.org>
* 78 files: Update FSF's civic address, zip code,
and citizen relocation code.
2005-04-29 Charles Levert <charles_levert@gna.org>
* tests/foad1.sh: Add -b and tricky UTF-8 tests.
Display LC_ALL when its value is special. Patch #3962.
* ABOUT-NLS: Sync with CVS revision 1.9
of 2005-04-13T11:21:55Z from GNU gettext
on ":pserver:anoncvs@sources.redhat.com:/cvs/gettext",
file "gettext/gettext-runtime/ABOUT-NLS".
2005-04-29 Julian Foad <julianfoad@btopenworld.com>
* Makefile.am: Remove reference to long-gone files PATCHES.AC and
PATCHES.AM. Thanks to Tony Abou-Assaleh for this. Patch #3961.
2005-04-29 Charles Levert <charles_levert@gna.org>
* src/grep.c: Fix typo in prline()'s --only-matching --ignore-case
code path; this fixes bug #9768 and passes one more test
in tests/foad1.sh. This whole code path should be removed in
the future, when other --ignore-case issues are dealt with.
2005-04-28 Julian Foad <julianfoad@btopenworld.com>
* tests/foad1.sh: Remove Bash-specific syntax.
* src/dfa.c: Fix a DFA bug whereby a bracket "[" was matched by the
pattern "[[:alpha:]]" in UTF-8 locales. Patch #3800, by Tim Waugh.
* tests/foad1.sh: Add a regression test for that.
2005-04-27 Julian Foad <julianfoad@btopenworld.com>
Fix a bug reported by Elliott Hughes in patch #1834 whereby "grep -Fw"
would miss matches after a non-word occurrence of the pattern. Fix by
Gordon Lack; tests based on reproduction recipes by Gordon Lack.
* src/search.c (Fexecute): Fix the "match_words" case.
* tests/foad1.sh: Modify the test framework so that the "PATTERN"
argument is optional. Add a regression test and a test for
a similar case that other proposed patches have got wrong.
Add more tests, some initially failing.
* tests/foad1.sh: Add tests for "--color", most initially failing.
* tests/fmbtest.sh: New file of tests for "grep -i" with multi-byte
chars, by Jakub Jelinek, from patch #3808: Red Hat's "tests" patch.
Initially, test #4 fails (in all three modes).
* tests/Makefile.am: Include the new tests file "fmbtest.sh".
2005-04-12 Julian Foad <julianfoad@btopenworld.com>
* tests/bre.tests: Enable a regression test for bug #9519.
* src/grep.c: Fix a seg-fault in "-o -i": patch #1939.
* tests/foad1.sh: New tests for "-o", initially all failing.
* tests/Makefile.am: Include the new tests file "foad1.sh".
* tests/spencer2.sh: Be consistent with "spencer1.sh" in the
naming of associated files.
* src/grep.c: Fix off-by-one error in prpending().
Patch #3840 by Claudio Fontana.
* tests/foad1.sh: Add tests by Pavol Gono for patch #3840.
Some of them still fail, but no longer seg-fault due to that bug.
2005-04-11 Julian Foad <julianfoad@btopenworld.com>
* doc/grep.texi, doc/grep.1: Document USG grep -s too.
Based on a patch by Paul Eggert; suggested by Keith Marshall.
* src/dfa.c (lex): Fix bug #9519: "echo do^re | grep do^re" was
failing to find a match.
2005-03-09 Stepan Kasal <kasal@ucw.cz>
* src/search.c (EGexecute, Fexecute): Use xmalloc, not malloc.
(EGexecute): Handle the failure in one place, goto there.
2005-02-26 Stepan Kasal <kasal@ucw.cz>
* src/grep.c (get_nondigit_option): Don't give up too early.
* src/search.c (Pexecute): Add a comment explaining that this
situation should not happen.
2005-02-22 Claudio Fontana <sick_soul@users.sourceforge.net> (tiny change)
* src/search.c (Pexecute): Consider eof case when delimiting
matching line. Fixes bug #4531.
2005-02-23 Julian Foad <julianfoad@btopenworld.com>
* po/ko.po: Fix email address.
* README-alpha: Fix email addresses and clarify the notes.
* tests/backref.sh: Fix trivial typos.
2005-02-08 Bruno Haible <bruno@clisp.org> (tiny change)
* src/kwset.h (kwsincr, kwsprep): Change return type to 'const char *'.
* src/kwset.c (kwsincr, kwsprep): Likewise.
2005-02-08 Arnold D. Robbins <arnold@skeeve.com>
Stepan Kasal <kasal@ucw.cz>
* src/mbsupport.h: Don't say the file is part of GAWK.
Make wording in explanatory comment more generic.
2005-02-07 Stepan Kasal <kasal@ucw.cz>
* src/grep.c: Document that -X is undocumented.
2005-01-16 Bruno Haible <bruno@clisp.org> (tiny change)
Stepan Kasal <kasal@ucw.cz>
* configure.in: Add tests for iswctype, mbrlen, wcrtomb, wcscoll;
use AC_FUNC_MBRTOWC to check for mbrtowc and mbstate_t; move
AC_MBSTATE_T below it.
* src/grep.c: Include mbsupport.h to define MBS_SUPPORT uniformly.
* src/mbsupport.h: Don't test for HAVE_WCTYPE_T.
2005-01-13 Arnold D. Robbins <arnold@skeeve.com>
* src/dfa.c (dfaparse): Use LC_COLLATE whenever it is defined;
ENABLE_NLS has nothing to do with this.
2005-01-07 Stepan Kasal <kasal@ucw.cz>
* tests/status.sh: Added two tests--option '-s' should have no
influence on the exit status.
2004-12-16 Stepan Kasal <kasal@ucw.cz>
Cosmetic changes, mostly imported from gawk:
* src/dfa.c (lexstart): Removed unused variable.
(parse_bracket_exp_mb): Don't initialize different pointers in one
assignment
(lex): Don't initialize automatic arrays, it's invalid in pre-C89
compilers.
Various other typos.
* src/dfa.h, src/grep.c, src/search.c: Typos.
2004-12-16 Isamu Hasegawa <isamuh@jp.ibm.com>
From http://oss.software.ibm.com/linux/patches/?patch_id=25
* src/search.c: Patch for i18n correctness.
* src/grep.c: Likewise.
* src/dfa.c: Likewise.
* lib/regex.c: Likewise.
2004-12-15 Julian Foad <julianfoad@btopenworld.com>
Changes to documentation and help text, mostly from Stepan Kasal.
* doc/grep.texi: Minor fixes of phrasing.
* doc/grep.1: Likewise.
* src/grep.c: Likewise.
2004-12-01 Stepan Kasal <kasal@ucw.cz>
* src/grep.c (usage): Use "FILE_PATTERN" for --include and --exclude,
change "only print" to "print only".
* doc/grep.1: Likewise; state that wildcard matching is used.
Move some options so that they are sorted alphabetically.
* dfa.c, NEWS: Fix typos.
2004-11-28 Benno Schulenberg <benno@nietvergeten.nl> (tiny change)
* src/grep.c (usage): Clean up several details in the usage string.
* doc/grep.1: Fix descriptions of --include and --exclude.
* doc/grep.texi: Likewise.
2004-11-23 Stepan Kasal <kasal@ucw.cz>
* src/Makefile.am: The egrep and fgrep script now use their own
path to construct the full pathname of grep.
2004-11-23 Stepan Kasal <kasal@ucw.cz>
* src/Makefile.am: Merged the rules for creating the egrep and
fgrep script.
2004-11-23 Stepan Kasal <kasal@ucw.cz>
* src/grep.c (usage): Make sure both copies of the "usage"
strings match. Add "(C)" to the copyright notice.
* src/dfa.c: Changed "out of memory" to "memory exhausted" to
match messages elsewhere in the source.
2004-11-22 Stepan Kasal <kasal@ucw.cz>
* src/search.c: Use mbsupport.h .
* src/dfa.c: Move the inclusion of mbsupport.h lower.
2004-11-22 Stepan Kasal <kasal@ucw.cz>
* src/grep.c (main): Use PACKAGE_STRING for --version.
2004-11-20 Benno Schulenberg <benno@nietvergeten.nl> (tiny change)
* src/grep.c (reset): Move the stat check ...
(grepfile): ... here, and also check for a fifo.
2004-11-20 Stepan Kasal <kasal@ucw.cz>
This change is based on a suggestion by Elliott Hughes.
* src/grep.c (usage): Use PACKAGE_BUGREPORT.
* po/*.po: Hacked the current translation again.
2004-11-20 Stepan Kasal <kasal@ucw.cz>
* configure.in: Added a copyright notice (using gawk as a template).
(AC_INIT, AM_INIT_AUTOMAKE): Changed to the "new" form so that
the PACKAGE_* symbols get defined correctly in config.h.
2004-11-20 Stepan Kasal <kasal@ucw.cz>
* ./cvsignore: Amended several .cvsignore files and
removed *.gmo, acinclude.m4 and stamp-h.in from the root one.
* m4/init.m4: Nuked, it was breaking current automake.
* m4/Makefile.m4: Removed init.m4.
* autogen.m4: Drop support for legacy autoconf; tell whether the
auto tools exited successfully or not; fix the permissions of
tests/*.sh--CVS doesn't provide a way to fix it.
2004-11-19 Stepan Kasal <kasal@ucw.cz>
* src/dfa.c: Removed old version of gofast patch, from 2003-05-30.
* src/search.c (check_multibyte_string): Likewise.
2004-11-19 Stepan Kasal <kasal@ucw.cz>
* src/dfa.c: Added some simple changes from gawk.
* src/mbsupport.h: Imported from gawk.
2004-11-11 Stepan Kasal <kasal@ucw.cz>
* tests/spencer1.awk: Use only lines with 3 fields.
* tests/spencer1.tests: Disable #55 for now.
* tests/ere.tests, tests/bre.tests: Add "TO CORRECT" to disabled
tests which had empty $4.
* tests/backref.sh: Modify #2 so that current glibc regex can
handle it in finite time.
2004-11-12 Stepan Kasal <kasal@ucw.cz>
Change bug-gnu-utils address to bug-grep, on many places; there
is no need to have the word "grep" in subject then.
Thanks to Tony Abou-Assaleh and Benno Schulenberg for pointing
out this.
2004-11-02 Stepan Kasal <kasal@ucw.cz>
* README-alpha: Remove obsolete instructions about CVS, redirect
the reader to savannah web.
2004-09-26 Stepan Kasal <kasal@ucw.cz>
* src/search.c (check_multibyte_string, Gcompile, Ecompile): Replace
malloc with xmalloc.
* src/dfa.c (dfamust): Replace two calls to 'malloc' by MALLOC.
2003-07-23 Stepan Kasal <kasal@ucw.cz>
* src/Makefile.am: Add the egrep and fgrep scripts to CLEANFILES.
2003-07-23 Stepan Kasal <kasal@ucw.cz>
* tests/backref.sh: Messages fixed.
2003-07-08 David Kaelbling <drk@sgi.com> (tiny change)
* src/dfa.c: remove non-constant initializers from dfa.c
2003-06-16 Stepan Kasal <kasal@ucw.cz>
* doc/grep.1: two typos "--line-buffered [...] penalty"
* doc/grep.texi: a typo
2003-06-12 Bernhard Rosenkraenzer <bero@arklinux.org>
* README-alpha: Mention bug tracking system and grep-devel-list
* tests/spencer1.tests: Fix test 55, as noted by Tim Waugh
* src/search.c: Speed up multibyte support (Patch from Tim Waugh)
2003-06-05 Stepan Kasal <kasal@ucw.cz>
* tests/formatbre.awk, tests/formatere.awk: probably unused, so
I've removed them.
2003-06-05 Stepan Kasal <kasal@ucw.cz>
* intl/Makefile: remove generated file.
2003-06-04 Stepan Kasal <kasal@ucw.cz>
* src/dfa.c: typos fixed.
2003-05-30 Bernhard Rosenkraenzer <bero@arklinux.org>
* src/dfa.c: Speed up multibyte support (Patch from Tim Waugh)
2003-01-18 Bernhard Rosenkraenzer <bero@arklinux.org>
* src/grep.c: Fix -i -o combination (Patch from Tim Waugh)
2002-03-26 Bernhard Rosenkraenzer <bero@arklinux.org>
* 2.5.1 Release.
2002-03-26 Bernhard Rosenkraenzer <bero@arklinux.org>
* src/grep.c: Don't fail if we don't have an stdout fd and -q
is used (happens e.g. on calls from hotplug scripts)
* src/grep.c: Don't hang forever if fed with an empty string to
grep for and --color enabled
* src/grep.c: Fix infinite loop on
echo "1 one" | grep -E "[0-9]*" -o
echo "1 one" | grep -E "[0-9]*" --color
* po/*: Sync with translation project
* src/grep.c, src/Makefile.am, configure.in: Add patch from
Paul Eggert <eggert@twinsun.com> to comply with ridiculous
guidelines (don't act differently if invoked as egrep or fgrep)
* configure.in: Bump version number, require a recent autoconf
2002-03-14 Bernhard Rosenkraenzer <bero@arklinux.org>
* src/Makefile.am, po/Makefile.in.in: Support DESTDIR properly
* tests/bre.tests: Add fix from
Peter Breitenlohner <peb@mppmu.mpg.de>
2002-03-13 Bernhard Rosenkraenzer <bero@arklinux.org>
* configure.in, m4/regex.m4, m4/malloc.m4, m4/realloc.m4:
Don't set LIBOBJS directly, autoconf 2.53 doesn't like it
* intl/*: Sync with gettext 0.11
* po/*: Sync with translation project
* configure.in, src/Makefile.am: Don't duplicate code - make
egrep and fgrep links to grep and set matcher based on
application name, suggestion from
Guillaume Cottenceau <gc@mandrakesoft.com>
* src/grep.c: (prline) Add fix for -i --color from
Jim Meyering <meyering@lucent.com>
* configure.in: Version 2.5; release
2002-01-23 Bernhard Rosenkraenzer <bero@arklinux.org>
* configure.in: Version 2.5g
* Makefile.cvs, grep.spec: Add packaging tools
Merge djgpp changes from Andrew Cottrell <anddjgpp@ihug.coml.au>:
* src/grep.c: Added conditional compilation for DJGPP
* djgpp: remove directory as it is no longer required with DJGPP 2.03
(or 2.04 when released)
* README.DOS: Moved djgpp/readme to readme.dos
* PATCHES.AC, PATCHES.AM: delete files - redundant
* configure.in, Makefile.am: remove djgpp directory from list
2002-01-22 Bernhard Rosenkraenzer <bero@arklinux.org>
* doc/grep.texi, doc/grep.1, NEWS: Document --label
* po/ru.po: Sync with translation project
* po/grep.pot: Sync with source
2002-01-18 Bernhard Rosenkraenzer <bero@arklinux.org>
* src/grep.c: Add --label, based on patch from Stepan Koltsov
2001-11-20 Bernhard Rosenkraenzer <bero@arklinux.org>
* autogen.sh: Don't hardcode aclocal dir
2001-11-19 Bernhard Rosenkraenzer <bero@arklinux.org>
* src/grep.c: Add --only-matching (-o) switch (see NEWS)
* doc/grep.texi, doc/grep.1, NEWS: Document changes
* configure.in, lib/Makefile.am: Don't use internal getopt if
we're on a system that provides a working getopt function
2001-09-25 Bernhard Rosenkraenzer <bero@arklinux.org>
* configure.in: Detect pcre correctly even when it's in
non-standard locations, using pcre-config
* src/grep.c: Add --color={always,never,tty} argument (like in ls)
* src/grep.c: Turn off blinking in the default colorization
* src/grep.c: Add --devices (-D) switch (analogous to --directories)
* src/dfa.c: Fix an i18n bug: echo "A" | grep '[A-Z0-9]' wouldn't work
in non-C-Locales on systems using current versions of glibc.
* AUTHORS: Change maintainer, credit Alain for his work until now
* configure.in, m4/decl.m4, m4/dosfile.m4, m4/gettext.m4,
m4/init.m4, m4/install.m4, m4/largefile.m4, m4/lcmessage.m4,
m4/header.m4, m4/isc-posix.m4, m4/missing.m4, m4/progtest.m4,
m4/sanity.m4:
Fix build with autoconf 2.5x, retain 2.1x compatibility for now
* autogen.sh: Add some crude hacks to make it possible to build with
both autoconf 2.5x and 2.1x
* acconfig.h: removed (no longer required)
* Makefile.am: add cvs-clean target
* doc/grep.texi, doc/grep.1, NEWS: Document changes
(--color, --devices, -D)
* src/dfa.c, src/grep.c: Add vim modelines
2001-08-30 Alain Magloire
* configure.in: Add gl in ALL_LINGUAS.
2001-08-30 Kurt D Schwehr
* doc/grep.1: Warn that grep insert a "--" between groups of matches,
when using the context options.
* doc/grep.texi: Likewised.
2001-08-25 Heikki Korpela
* doc/grep.texi: Point out that some Platforms do not support
reading of directories and silently ignore them.
2001-08-21 Alain Magloire
* lib/malloc.c: New file:
* lib/realloc.c: New file:
* lib/Makefile.am: Add malloc.c and realloc.c in EXTRA_DIST.
2001-07-31 Alain Magloire
* po/*.po: New files from the translation team:
grep-2.5e.de.po grep-2.5e.el.po grep-2.5e.eo.po grep-2.5e.es.po
grep-2.5e.et.po grep-2.5e.fr.po grep-2.5e.gl.po grep-2.5e.it.po
grep-2.5e.pl.po grep-2.5e.sl.po
2001-07-31 Andreas Schwab
* src/grep.c: Fix all uses of error to pass a proper format
string.
2001-07-29 Alain Magloire
* grep/src/grep.c (usage): Typos corrected.
Patches from Santiago Vila.
2001-07-29 Alain Magloire
David Clissold, wrote:
a small bug in the GNU grep 2.4.2, which may have gone unnoticed
because it only causes a failure if building on a system with large
files enabled (e.g. an "off_t" is a "long long" rather than a "long").
savedir() takes on off_t argument, but in grepdir() the parameter
is cast to an (unsigned). Well, if an off_t is larger than an int,
the value gets truncated. This would not normally have an effect on a
little-endian platform (unless the file is >2GB), but on a big-endian
system it will always fail. The external effect is that
"grep -r foo dir_name" fails with ENOMEM (from malloc() within
savedir()).
* grep/src/grep.c (grepdir): Remove the (unsigned) cast when calling
savedir().
Patch from David Clissold.
2001-07-29 Alain Magloire
* grep/doc/grep.texi: In Bugs report use {n,m} for consistency.
* grep/doc/grep.1: Likewised.
Noted by Steven Lucy.
2001-04-27 Isamu Hasegawa
* dfa.c (mblen_buf) : New variable contains the amount of remain
byte of corresponding multibyte character in the input string.
(SKIP_REMAIN_MB_IF_INITIAL_STATE) : Use mblen_buf.
(match_anychar) : Use mblen_buf.
(match_mb_charset) : Use mblen_buf.
(transit_state_consume_1char) : Use mblen_buf.
(transit_state) : Use inputwcs to get current (multibyte) character.
(dfaexec) : Add initialization of mblen_buf.
2001-04-27 Isamu Hasegawa
* dfa.c (addtok) : Set appropriate value to multibyte_prop.
(dfastate) : Add the initialization of the variable.
(dfaexec) : Call transit_state if d->fail may transit by
multibyte characters.
(transit_state_singlebyte) : Clean up unnecessary code.
(transit_state_consume_1char) : Likewise.
(transit_state) : Add checking for word and newline.
2001-04-19 Isamu Hasegawa
* search.c (check_multibyte_string) : Check the case when mbclen == 0.
2001-04-11 Isamu Hasegawa
* search.c (check_multibyte_string) : Check the head of multibyte
characters, and optimize a bit.
(EGexecute) : Optimize a bit.
(Fexecute) : Fix the index.
2001-04-02 Alain Magloire
* lib/regex.c: Update from GNU lib C, with the changes
provided by Paul Eggert.
* lib/posix/regex.h: Likewise.
2001-02-17 Paul Eggert
Stop trying to support hosts that have nonstandard declarations for
mbrtowc and/or mbstate_t. It's not worth the portability hassle.
* lib/quotearg.c (mbrtowc, mbsinit): Remove workaround macros
for hosts that have mbrtowc but not mbstate_t, as we now
insist on proper declarations for both before using mbrtowc.
2001-03-18 Alain Magloire
* configure.in: Call AC_MBSTATE_T.
* Makefile.am: Add mbstate_t.m4
* m4/Makefile.am: Add mbstate_t.m4
* m4/mbstate_t.m4: New m4 macro.
* lib/strtol.c: Define CHAR_BITS.
Uwe H. Steinfeld, Ruslan Ermilov, Volkert Bochert, noted
that mbstate_t was not define for certain platforms.
2001-03-18 Paul Eggert
* src/grep.c (fillbuf): Fix storage allocation performance
bug: buffer was doubling in size in many cases where it didn't
have to.
2001-03-17 Paul Eggert
* src/grep.c (fillbuf): Avoid unnecessary division by 2.
Don't check xrealloc return value; it's guaranteed to be nonzero.
(fillbuf, grepdir): Use xalloc_die rather than error; it's shorter.
2001-03-17 Alain Magloire
* src/grep.c (context_length_arg): error () passing wrong format.
Spotted by Jim Meyering.
2001-03-07 Alain Magloire
* README-alpha: Removed reference to GNU tar, add the location
of the CVSROOT.
2001-03-06 Alain Magloire
Only the Regex patterns should be split in an array, patterns[].
The dfa and KWset compiled patterns should remain global and the
patterns compiled all at once.
* src/search.c: include "error.h" and "xalloc.h" to get prototyping
of x*alloc() and error().
(kwsinit): Reverse to previous behaviour and takes no argument.
(kwsmusts): Likewised.
(Gcompile): For the regex pattern, split them and each pattern
is put in different compiled structure patterns[]. The patterns
are given to dfacomp() and kwsmusts() as is.
(Ecompile): Likewised.
(Fcompile): Reverse to the old behaviour of compiling the entire
patterns in one shot.
(EGexecute): If falling to GNU regex for the matching, loop in the
array of compile patterns[] to find a match.
(error): Many error () were call with arguments in the wrong order.
* tests/file.sh: Simple test to check for pattern in files.
Reaction to bug report fired by Greg Louis <glouis@dynamicro.on.ca>
2001-03-06 Isamu Hasegawa
In multibyte environments, handle multibyte characters as single
characters in bracket expressions.
* src/dfa.h (mb_char_classes) : new structure.
(mbcsets): new variable.
(nmbcsets): new variable.
(mbcsets_alloc) : new variable.
* src/dfa.c (prtok) : handle MBCSET.
(fetch_wc): new function to fetch a wide character.
(parse_bracket_exp_mb) : new function to handle multibyte character
in lex().
(lex): invoke parse_bracket_exp_mb() for multibyte bracket expression.
(atom): handle MBCSET.
(epsclosure): likewise.
(dfaanalyze): likewise.
(dfastate): likewise.
(match_mb_charset): new function to judge whether a bracket match
with a multibyte character.
(check_matching_with_multibyte_ops) : handle MBCSET.
(dfainit): initialize new variables.
(dfafree): free new variables.
2001-03-04 Alain Magloire
To get more in sync with other GNU utilities like GNU tar and fetish
all the supporting functions are now under lib.
Thanks to Jim Meyering, Volkert Bochert and Paul Eggert for
the code and the reminders.
* src/grep.c (fatal): Function removed, using error () from
lib/error.c instead.
(usage): Copyright updated.
(error): Function removed, using error () from lib/error.c instead,
adjust prototypes.
(prog): Global variable rename to program_name, to work with new
lib/error.c.
(xrealloc): Removed using lib/xmalloc.c.
(xmalloc): Removed using lib/xmalloc.c
(main): Register with atexit() to check for error on stdout.
* configure.in: Check for atexit(), call jm_MALLOC, jm_REALLOC and
jm_PREREQ_ERROR.
* tests/bre.awk: Removed the hack to drain the buffer since we
always fclose(stdout) atexit.
* tests/ere.awk: Likewise.
* tests/spencer1.awk: Likewise.
* bootstrap/Makefile.try: Update the Makefile to reflect the changes
in the new hierarchy.
* README-alpha: New File.
* m4/realloc.m4: New File.
* m4/malloc.m4: New File.
* m4/error.m4: New File.
* m4/Makefile.am: Updated.
* lib: New directory.
* lib/Makefile.am: New file.
* lib/closeout.c: New file.
* lib/closeout.h: New file.
* lib/fnmatch.c: New file.
* lib/fnmatch.h: New file.
* lib/atexit.c: New file.
* lib/error.c: New file.
* lib/error.h: New file.
* lib/quotearg.h: New file.
* lib/quotearg.c: New file.
* lib/xmalloc.c: New file.
* lib/posix: New directory.
* lib/posix/Makefile.am: New file.
* src/getopt.c: Moved to lib.
* src/getopt1.c: Moved to lib.
* src/getopt.h: Moved to lib.
* src/alloca.c: Moved to lib.
* src/exclude.c: Moved to lib.
* src/exclude.h: Moved to lib.
* src/hard-locale.h: Moved to lib.
* src/hard-locale.c: Moved to lib.
* src/isdir.c: Moved to lib.
* src/mechr.c: Moved to lib.
* src/obstack.c: Moved to lib.
* src/obstack.h: Moved to lib.
* src/regex.c: Moved to lib.
* src/regex.h: Moved to lib.
* src/posix: Moved to lib.
* src/posix/regex.h: Moved to lib.
* src/savedir.h: Moved to lib.
* src/savedir.c: Moved to lib.
* src/stpcpy.c: Moved to lib.
* src/strtoul.c: Moved to lib.
* src/strtol.c: Moved to lib.
* src/strtoull.c: Moved to lib.
* src/strtoumax.c: Moved to lib.
* src/xstrtol.c: Moved to lib.
* src/xstrtol.h: Moved to lib.
* src/xstrtoumax.c: Moved to lib.
2001-03-01 Isamu Hasegawa
Implement the mechanism to match with multibyte characters,
and use it for 'period' in multibyte environments.
* dfa.h (mbps): new variable.
* dfa.c (prtok): handle ANYCHAR.
(lex): use ANYCHAR for 'period' in multibyte environments.
(atom): handle ANYCHAR.
(state_index): initialize mbps in multibyte environments.
(epsclosure): handle ANYCHAR.
(dfaanalyze): handle ANYCHAR.
(dfastate): handle ANYCHAR.
(realloc_trans_if_necessary): new function.
(transit_state_singlebyte): new function.
(match_anychar): new function.
(check_matching_with_multibyte_ops): new function.
(transit_state_consume_1char): new function.
(transit_state): new function.
(dfaexec): invoke transit_state if expression can match with
a multibyte character in multibyte environments.
(dfamust): handle ANYCHAR.
2001-03-01 Alain Magloire
* src/exclude.c: New file.
* src/exclude.h: New file.
* src/grep.c (main): Took the GNU tar code to handle
the option --include, --exclude, --exclude-from.
Files are check for a match, with exclude_filename ().
New option --exclude-from.
* src/savedir.c: Call exclude_filename() to check for
file pattern exclusion or inclusion.
* configure.in: --disable-pcre rename to --disable-perl-regexp.
2001-02-25 Alain Magloire
* src/dfa.c: Typo corrected.
Noted by Isamu Hasegawa.
* src/savedir.c: Typos corrected.
2001-02-22 Alain Magloire
* src/savedir.c (isdir1): New function, calling isdir with
the correct pathname.
2001-02-19 Isamu Hasegawa
Avoid incorrect state transition in multibyte environments.
* dfa.h (nmultibyte_prop): new variable.
(multibyte_prop): new variable.
* dfa.c (addtok): set inputwcs.
(dfastate): avoid incorrect state transition in multibyte
environments.
(dfaexec): likewise.
(dfainit): init multibyte_prop.
(dfafree): free multibyte_prop.
(inputwcs): new variable.
2001-02-19 Isamu Hasegawa
Handle a multibyte character followed by '*', '+', and '{n,m}'
correctly.
* dfa.c (update_mb_len_index): new function.
Support for multibyte string.
(FETCH): call update_mb_len_index.
(lex): check cur_mb_index not to misunderstand multibyte characters.
(atom): make a tree from a multibyte character.
(dfaparse): initialize new variables.
(mbs): new variable.
(cur_mb_len): new variable.
(cur_mb_index): new variable.
2001-02-18 Jim Meyering
* m4/dosfile.m4 (AC_DOSFILE): Move AC_DEFINEs out of AC_CACHE_CHECK.
2001-02-17 Alain Magloire
* doc/grep.texi: Document the new options and the new behaviour
back-references are local. Use excerpt from Karl Berry regex
texinfo.
* bootstrap/Makefile.try: Added xstrtoumax.o xstrtoul.o hard-local.o
2001-02-17 Alain Magloire
From Guglielmo 'bond' Bondioni :
The bug was that using a multi line file that contained REs (one per
line), backreferences in the REs were considered global (to the file)
and not local (to the line).
That is, \1 in line n refers to the first \(.\) in the whole file,
rather than in the line itself.
From Tapani Tarvainen :
# Re: grep -e '\(a\)\1' -e '\(b\)\1'
That's not the way it should work: multiple -e arguments
should be treated as independent patterns and back references
should not refer to previous ones.
From Paul Eggert :
GNU grep currently does not issue
diagnostics for the following two cases, both of which are erroneous:
grep -e '[' -e ']'
grep '[
]'
POSIX requires a diagnostic in both cases because '[' is not a valid
regular expression.
To overcome those problems, grep no longer pass the concatenate
patterns to GNU regex but rather compile each patterns separately
and keep the result in an array.
* src/search.c (patterns): New global variable; a structure array
holding the compiled patterns.
Declare function prototypes to minimize error.
(dfa, kswset, regexbuf, regs): Removed, no longer static globals, but
rather fields in patterns[] structure per motif.
(Fcompile): Alloc an entry in patterns[] to hold the regex.
(Ecompile): Alloc an entry per motif in the patterns[] array.
(Gcompile): Likewise.
(EGexecute): Loop through of array of patterns[] for a match.
2001-02-17 Alain Magloire
From Bernd Strieder :
# tail -f logfile | grep important | do_something_urgent
# tail -f logfile | grep important | do_something_taking_very_long
If grep does full buffering in these cases then the urgent operation
does not happen as it should in the first case, and in the second case
time is lost due to waiting for the buffer to be filled.
This is clearly spoken not grep's fault in the first place, but libc's.
There is a heuristic in libc that make a stream line-buffered only if a
terminal is on the other end. This doesn't take care of the cases where
this connection is somehow indirect.
* src/grep.c (line_buffered): new option variable.
(prline): if line_buffered is set fflush() is call.
(usage): line_buffered new option.
Input from Paul Eggert, doing setvbuf() may not be portable
and breaks grep -z.
2001-02-16 Alain Magloire
Patch from Isamu Hasegawa, for multibyte support.
This patch prevent kwset_matcher from following problems.
For example, in SJIS encoding, one character has the codepoint 0x895c.
So the second byte of the character can match with '\' incorrectly.
And in eucJP encoding, there are the characters whose codepoints are
0xa5b9, 0xa5c8. On the other hand, there is one character whose
codepoint is 0xb9a5. So 0xb9a5 can match with 2nd byte of 0xa5b9
and 1st byte of 0xa5c8.
* configure.in: Add check for mbrtowc.
* src/search.c (check_multibyte_string): new function.
Support for multibyte string.
(EGexecute): call check_multibyte_string when kwset is set.
(Fexecute): call to check_multibyte_string.
(MBS_SUPPORT): new macro.
(MB_CUR_MAX): new macro.
2001-02-16 Alain Magloire
* djgpp/config.bat: Fix for 4dos.com.
* m4/dosfile.m4 (HAVE_DOS_FILE_CONTENTS): Was not set.
Bugs noted and patched by Juan Manuel Guerrero.
2001-02-16 Alain Magloire
A much requested feature, the possibility to select
files when doing recurse :
# find . -name "*.c" | xargs grep main {}
# grep --include=*.c main .
# find . -not -name "*.c" | xargs grep main {}
# grep --exclude=*.c main .
* src/grep.c (short_options): -R equivalent to -r.
(#ifdef) : Fix some inconsistencies in the use of #ifdefs, prefer
#if defined() wen possible.
(long_options): Add --color, --include and exclude.
(Usage): Description of new options.
(color): Rename color variable to color_option.
Removed 'always|never|auto' arguments, not necessary for grep.
(exclude_pattern): new variable, holder for the file pattern.
(include_pattern): new variable, holder for the file pattern.
* src/savedir.c: Signature change, take two new arguments.
* doc/grep.texi: Document, new options.
* doc/grep.man: Document, new options.
2001-02-09 Alain Magloire
* src/grep.c (long_options): Added equivalent to -r with -R.
* src/grep.c (usage): added --color and --colour.
Noted with patch from, H.Merijn Brand and Wichert Akkerman.
2001-02-09 Alain Magloire
Patch from Ulrich Drepper to provide highlighting.
* src/grep.c: New option --color.
(color): New static var.
(COLOR_OPTION): new constant.
(grep_color): new static var.
(prline): Now when color is set prline() will call the current matcher
to find the offset of the matching string.
* src/savedir.c: Take advantage of _DIRENT_HAVE_TYPE if supported.
* src/search.c (EGexecute, Fexecute, Pexecute): Take a new argument
when doing exact match for the color highlighting.
2000-09-01 Brian Youmans
* doc/grep.texi: Typo fixes.
2000-08-30 Paul Eggert
* doc/grep.texi (Usage): Talk about what "grep -r hello *.c"
means.
2000-08-20 Paul Eggert
Handle range expressions correctly even when they match
strings with two or more characters.
* src/dfa.h (CRANGE): New enum value. Comment fix.
* src/dfa.c: Include <locale.h> if HAVE_SETLOCALE.
Include "hard-locale.h".
(prtok): Print CRANGE.
(hard_LC_COLLATE): New static var.
(lex): Return CRANGE when parsing a character range in a hard locale.
Don't use strcoll; it's no longer needed and wasn't correct anyway.
Use unsigned rather than token to hold unsigned chars.
(addtok): Comment fix.
(atom): Treat a CRANGE as if it were (.\1), approximately.
(dfaparse): Initialize hard_LC_COLLATE.
* src/Makefile.am (base_sources): Add hard-locale.c, hard-locale.h.
* src/hard-locale.c, src/hard-locale.h: New files, taken from
textutils.
2000-08-20 Paul Eggert
* tests/Makefile.am (TESTS_ENVIRONMENT): Add LC_ALL=C, since
some of the tests assume the C locale.
2000-08-16 Paul Eggert
* src/search.c (Gcompile, Ecompile): -x overrides -w, for
consistency with fgrep. Don't assume that sizes fit in 'int'.
Fix comments to match code.
2000-06-06 Paul Eggert
* src/grep.c (grepdir): Don't look at st_dev when testing for
Mingw32 bug.
2000-06-05 Paul Eggert
Port to Mingw32, based on suggestions from Christian Groessler
<cpg@aladdin.de>.
* src/isdir.c: New file, taken from fileutils.
* src/Makefile.am (base_sources): Add isdir.c.
* src/grep.c (grepfile): Use isdir instead of doing it inline.
(grepdir): Suppress ancestor check if the directory's inode and device
are both zero, as that occurs only on Mingw32 which doesn't support
inode or device.
* src/system.h (isdir): New decl.
(is_EISDIR): Depend on HAVE_DIR_EACCES_BUG, not D_OK.
Use isdir, not access.
2000-06-02 Paul Eggert
Problem noted by Gerald Stoller <gerald_stoller@hotmail.com>
* src/grep.c (main): POSIX says that -q overrides -l, which
in turn overrides the other output options. Fix grep to
behave that way.
2000-05-27 Paul Eggert
Simplify and tune the buffer allocation strategy. Do not reserve a
large save area: reserve only enough bytes to hold the residue, plus
page alignment. Put a newline sentinel before the buffer, for speed
when searching backwards for newline.
* src/grep.c (ubuffer, bufsalloc, PREFERRED_SAVE_FACTOR, page_alloc):
Remove. All uses changed.
(INITIAL_BUFSIZE): New macro.
(reset, fillbuf): Use simpler buffer allocation strategy.
(reset): Check for preposterously large pagesize that would cause
later calculations to overflow.
(fillbuf): Do not resize buffer if there's room at the end for
at least one more page. This greatly increases performance when
reading from non-regular files that contain no newlines.
When growing the buffer, double its size instead of using a
more complicated algorithm.
(prtext, grep): Speed up by relying on the newline sentinel before the
start of the buffer.
(grep): When looking backwards for the last newline in a buffer,
stop when we hit the residue, since it can't contain a newline.
This avoids an O(N**2) algorithm when reading binary data from
a pipe. Use a sentinel to speed up the backward search for newline.
(nlscan): Undo previous change; it wasn't needed and just complicates
and slows down the code a tad.
2000-05-24 Paul Eggert
Handle very large input counts better. Bug noted by Jim Meyering.
* src/grep.c (totalcc, totalnl): Use uintmax_t, not off_t.
(add_count): New function.
(nlscan, prline, grep): Use it to check line and byte count overflows.
(nlscan, grep): Don't keep track of counts when not asked to; this
avoids unnecessary overflow diagnostics.
(print_offset_sep): Now takes args of type uintmax_t and char,
not off_t and int.
2000-05-16 Paul Eggert
Problem reported by Bob Proulx <rwp@hprwp.fc.hp.com>, this patch
is base on his finding, with appropriate corrections.
* src/grep.c (main): Fix bug: -x and -w matched even when no
patterns were specified.
* tests/empty.sh: Test for -x and -w bug in grep 2.4.2.
2000-04-24 Paul Eggert
POSIX conformance fixes: grep -q now exits with status zero
if an input line is selected, even if an error also occurs.
grep -s no longer affects exit status.
* src/grep.c (suppress_errors): Move definition earlier so
that suppressible_error can use it.
(suppressible_error): New function.
(exit_on_match): New var.
(grepbuf): If exit_on_match is nonzero, exit with status zero
immediately.
(grep, grepfile, grepdir): Invoke suppressible_error.
(main): -q sets exit_on_match.
* doc/grep.1, doc/grep.texi, NEWS:
Document -q's behavior as required by POSIX.
* tests/status.sh:
Test for -q and -s behavior as conforming to POSIX.
2000-04-20 Paul Eggert
* tests/Makefile.am (TESTS_ENVIRONMENT):
Set GREP_OPTIONS to the empty string.
2000-04-20 Paul Eggert
* tests/status.sh: Fix typo: test -b -> test -r.
2000-04-20 Paul Eggert
* src/dfa.c (lex):
Do not assume that [c] is equivalent to [c-c]; this isn't true
if LC_COLLATE specifies that some characters are equivalent.
(setbit_case_fold): New function.
(lex): Use it to simplify the code a bit.
2000-04-17 Paul Eggert
Do CRLF munging only if HAVE_DOS_FILE_CONTENTS, instead of
having it depend on O_BINARY (which leads to incorrect results
on BeOS, VMS, and MacOS).
* bootstrap/Makefile.try (DEFS): Add -DHAVE_DOS_FILE_CONTENTS.
* src/system.h (SET_BINARY): Define only if HAVE_DOS_FILE_CONTENTS.
(O_BINARY): Do not define.
* m4/dosfile.m4: Define HAVE_DOS_FILE_CONTENTS if it appears we're
using DOS.
* src/grep.c (undossify_input, fillbuf, dosbuf.c, prline, main):
Depend on HAVE_DOS_FILE_CONTENTS, not O_BINARY, when handling CRLF
matters.
(grepfile, main): Depend on SET_BINARY, not O_BINARY, when
handling binary files on hosts that care about text versus binary.
2000-04-17 Paul Eggert
* lib/getpagesize.h (getpagesize): Define to B_PAGE_SIZE if
__BEOS__ is defined. Based on a fix by Bruno Haible
<haible@clisp.cons.org>.
2000-04-17 Bruno Haible
* src/system.h [BeOS]: Ignore O_BINARY.
* src/getpagesize.h [BeOS]: Define getpagesize() as B_PAGE_SIZE.
2000-04-10 Paul Eggert
* doc/grep.1, doc/grep.texi, NEWS: -C now requires an operand.
* src/grep.c (short_options, long_options, main, usage): Likewise.
(context_length_arg): Renamed from ck_atoi. Now reports an error
and exits if the number is out of range for a context length.
(get_nondigit_option): New function, which checks for overflow
correctly, and which does not parse nonadjacent strings of digits
into a single number.
(main): Use get_nondigit_option instead of doing the code inline.
With -A, -B, and -C, optarg is now guaranteed to be nonzero.
2000-04-08 Paul Eggert
Now that we know that the input is always terminated by a
newline before the matching algorithms see it, clean up the
matching algorithms so that they no longer need to modify the
input by inserting a sentinel newline, and no longer worry
about running off the end of the buffer due to a missing sentinel.
* src/grep.c (nlscan, prpending, prtext, grepbuf): Do not
worry about running off the end of the input buffer, since
it's now guaranteed to end in the sentinel newline.
* src/search.c (EGexecute, Pexecute): Likewise.
* src/dfa.c (prtok, dfasyntax, dfaparse, copy, merge, state_index,
epsclosure, dfaexec, dfacomp):
Change many instances of "T *" to "T const *", to catch
any inadvertent programming errors made during this conversion.
* src/dfa.h (dfacomp, dfaexec, dfaparse): Likewise.
* src/grep.c (struct stats.parent, long_options, grepdir,
compile, execute, fillbuf, lastnl, lastout, nlscan, prline,
prpending, prtext, grepbuf, grep, grepfile, grepdir): Likewise.
* src/grep.h (struct matcher.compile, struct matcher.execute):
Likewise.
* src/kwset.c (struct kwset.trans, kwsalloc, kwsincr, treefails,
treedelta, hasevery, treenext, bmexec, cwexec, kwsexec): Likewise.
* src/kwset.h (kwsalloc, kwsincr, kwsexec): Likewise.
* src/search.c (kwsmusts, Gcompile, Ecompile, EGexecute, Pcompile,
Pexecute): Likewise.
* src/dfa.c (dfaexec):
Use size_t, not char *, to avoid worrisome casts to convert
char const * to char *.
* src/dfa.h (dfaexec): Likewise.
* src/grep.c (execute): Likewise.
* src/grep.h (execute): Likewise.
* src/kwset.c (bmexec, cwexec, kwsexec): Likewise.
* src/kwset.h (struct kwsmatch.offset, kwsalloc, kwsincr,
kwsexec): Likewise.
* src/search.c (EGexecute, Fexecute, Pexecute): Likewise.
* src/dfa.h (_PTR_T): Depend on defined __STDC__, not __STDC__.
(PARAMS): Depend on PROTOTYPES, not __STDC__.
* src/dfa.c (dfasyntax): Last arg is unsigned char, not int.
* src/dfa.h (dfasyntax): Likewise.
* src/dfa.h (struct dfa): Remove member newlines; no longer needed.
* src/dfa.c (build_state, dfaexec, dfafree): Do not worry
about special newline state.
* src/search.c (matchers): Move definition to end of file, so
that we don't need forward decls.
(lastexact): Remove.
(kwset_exact_matches): New var; subsumes old lastexact var.
All uses changed.
* src/dfa.c (index): Remove macro.
(REALLOC_IF_NECESSARY): Skip unnecessary test.
(tstbit, setbit, clrbit): Declare arg to be unsigned, to help compiler.
(copyset, zeroset, equal): Use C builtin primitives, to help compiler.
(dfaexec): Do not modify input string.
Remove newline parameter; no longer needed.
(comsubs): Use strchr, not index.
* src/grep.h (matchers): Use fixed name size, not pointer (as
there's no need for the extra flexibility). All uses changed.
* src/kwset.h (struct kwsmatch.offset): Renamed from beg, with
change of type to size_t. All uses changed.
* src/grep.c (reset): No longer need kludge for dfaexec. Simplify.
(reset, grepbuf): Adjust to new interface for 'execute'.
(install_matcher): List is now terminated by null compile,
not null name.
Do not invoke setrlimit if that wouldn't change the limit.
* src/dfa.c (xcalloc, xmalloc, xrealloc, prtok, tstbit, setbit,
clrbit, copyset, zeroset, notset, equal, charclass_index,
looking_at, lex, addtok, atom, nsubtoks, copytoks, closure,
branch, regexp, copy, insert, merge, delete, state_index,
build_state, build_state_zero, icatalloc, icpyalloc, istrstr,
ifree, freelist, enlist, comsubs, addlists, inboth):
Remove forward decls; no longer needed.
* src/grep.c (ck_atoi, usage, error, setmatcher,
install_matcher, prepend_args, prepend_default_options,
page_alloc, reset, fillbuf, grepbuf, prtext, prpending, prline,
print_offset_sep, nlscan, grep, grepfile): Likewise.
* src/kwset.c (enqueue, treefails, treedelta, hasevery,
treenext, bmexec, cwexec): Likewise.
* src/search.c (Gcompile, Ecompile, EGexecute, Fcompile, Fexecute,
Pcompile, Pexecute, kwsinit): Likewise.
* src/search.c (Pcompile): Do not assume newly allocated
storage is zeroed.
2000-04-06 Paul Eggert
* doc/grep.1, doc/grep.texi, NEWS: Improve the explanation of
locale-dependent behavior of range expressions. Mention
LC_COLLATE, since this affects range expressions.
2000-03-26 Paul Eggert
* Makefile.am (ACINCLUDE_INPUTS): Add decl.m4, inttypes_h.m4,
uintmax_t.m4, ulonglong.m4, xstrtoumax.m4.
* m4/Makefile.am (EXTRA_DIST): Likewise.
* src/Makefile.am (base_sources):
Add xstrtol.c, xstrtol.h, xstrtoumax.c.
(EXTRA_DIST): Add strtol.c.
* configure.in (jm_AC_TYPE_UINTMAX_T, jm_AC_PREREQ_XSTRTOUMAX,
HAVE_DECL_STRTOUL, HAVE_DECL_STRTOULL): Add.
(AC_REPLACE_FUNCS): Add strtoul.
* src/grep.c: Include xstrtol.h.
(ck_atio): Use xstrtoumax and do proper overflow checking.
(max_count, outleft): Now off_t, not int.
(main): Likewise. Use xstrtoumax to convert max_count from string.
* acconfig.h (HAVE_DECL_STRTOUL, HAVE_DECL_STRTOULL): New #undefs.
(HAVE_STPCPY, ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT,
HAVE_LC_MESSAGES): Remove.
* m4/decl.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4,
m4/xstrtoumax.m4, src/strtol.c, src/strtoul.c, src/strtoull.c,
src/strtoumax.c, src/xstrtol.c, src/xstrtol.h, src/xstrtoumax.c:
New files, taken unchanged from textutils, fileutils, sh-utils
and/or tar.
2000-03-23 Paul Eggert
* src/search.c (Pcompile): Add support for NUL bytes in
Perl regular expressions.
2000-03-23 Paul Eggert
* NEWS, doc/grep.1, doc/grep.texi: Change --pcre to --perl-regexp.
* src/grep.c (long_options, usage): Likewise.
* doc/grep.1, doc/grep.texi: Remove pgrep program.
* src/Makefile.am (bin_PROGRAMS): Likewise.
(pgrep_SOURCES): Remove.
* src/grep.c (main): Rename matcher from "pgrep" to "perl".
* src/search.c (matchers): Likewise.
* src/search.c: Do not include stdio.h; no longer needed.
(NILP): Remove.
(sub): No longer static.
(n_pcre): Remove.
(cre): No longer an array. Present only if HAVE_LIBPCRE.
(extra): New variable.
(Pcompile): Use fatal to report errors.
This also removes a possible core dump.
Add checks (marked FIXME) for restrictions in pcre.
Use pcre_maketables for proper localized behavior.
(Pcompile, Pexecute): Use GNU coding style.
The argument is a single pattern, not a list of patterns separated
by newlines; this is for consistency with grep and egrep.
Use pcre_study for speed.
(Pexecute): Abort if we lack pcre.
Abort if pcre_exec reports an impossible error.
Use code similar to the rest of search.c
to narrow down to the line we've found.
2000-03-21 Alain Magloire
* configure.in: added AC_CHECK_LIB(pcre, pcre_exec)
* ChangeLog: Typos corrected.
* src/search.c: new MACRO HAVE_LIBPCRE
2000-03-21 H.Merijn Brand
* src/Makefile.am(bin_PROGRAMS): added pgrep and new macro
pgrep_SOURCES.
* src/search.c: new functions Pcompile() and Pexecute()
to support PCRE. Update matcher[] array for pgrep.
* src/grep.c: new short and long option --pcre and -P.
usage() updated.
2000-03-21 Bastiaan Stougie
Improvement of the -m or --max-count option. Now works for NUM > 1 and
prints trailing context for the last matching line.
* src/grep.c
(after_last_match): Is a new off_t variable that replaces inputhwm
to retain the correct input offset even after a call to fillbuf. Note
that after_last_match has a different meaning than inputhwm:
it always points to the offset in the input of the first byte after
the last matching line, and is 0 if no matching line has been found
yet.
(grep): Print trailing context after the NUMth match when the -m NUM
option is used.
(grep): Added comment. Should have been commented already.
(grepbuf): Now updates outleft correctly. This fixes the bug that the
-m NUM option did not stop after NUM lines for NUM greater than 1.
(grepbuf, prtext): Now update after_last_match instead of inputhwm.
(fillbuf): No longer updates inputhwm.
(prpending): When outputting trailing context of the max_count-th
matching line, stop at the first matching line.
(grepfile): Seek to after_last_match or eof, depending on the values
of outleft and bufmapped.
(usage): added the -m or --max-count option to the help message.
* doc/grep.texi, doc/grep.1: Document the change of the -m option.
2000-03-17 Paul Eggert
Add new -m or --max-count option, based on a suggestion by
Bastiaan Stougie.
* doc/grep.texi, doc/grep.1: Document it.
* src/grep.c (short_options, long_options, main): Add it.
(inputhwm): New variable.
(fillbuf, prtext, grepbuf): Set it.
(bufmapped): Now a macro (defined to zero) if HAVE_MMAP is not defined.
(max_count, outleft): New variables.
(prtext, grepbuf, grep): Don't output more than outleft lines.
(grepfile): If grepping standard input, seek to the limit of what
we've read before exiting. This fixes a bug with mmapped input,
and is needed for proper -m support.
(main): Exit immediately if -m 0 is specified.
2000-03-08 Alain Magloire
* configure.in: version 2.4.2
2000-03-07 Paul Eggert
* Make intl subdirectory match fileutils, tar, etc.;
see intl/ChangeLog for details.
* src/getpagesize.h: Reformat to match latest fileutils.
* src/savedir.c (savedir): Work even if directory size is
negative; this can happen with some NFS screwups.
2000-03-03 Jim Meyering
* regex.m4: Make sure re_compile_pattern accepts patterns like '{1'.
2000-03-02 Alain Magloire
* 2.4.1 Release
2000-02-25 Paul Eggert
* configure.in (LIBOBJS): Work around automake 1.4 bug:
regex.c wasn't being passed through ansi2knr on pre-ANSI hosts.
(ac_use_included_regex): Fix typo in warning.
* src/Makefile.am (EXTRA_DIST): Remove regex.c, as the LIBOBJS
workaround means that automake now puts regex.c into DIST_COMMON.
2000-02-25 Alain Magloire
* po/*.po: update of the PO files.
2000-02-22 Eli Zaretskii
* doc/grep.1: Two small glitches(typos).
2000-02-18 Eli Zaretskii
* djgpp/config.site (prefix, INSTALL): Use /dev/env/DJDIR instead
of ${DJDIR}, so that the produced Makefile's work on any DJGPP
installation.
2000-01-30 Alain Magloire
* doc/grep.1: corrected typo.
Noted by Ruslan Ermilov.
2000-01-30 Alain Magloire
* vms/Makefile.am: added config_vms.h to EXTRA_DIST.
* vms/config_vms.h: New File, contains macros specific to VMS and
avoid namespace collision with operating system supplied C library.
* vms/make.com: Better compiler auto-detection; information for builds
on pre-OpenVMS 7.x systems; general overhaul.
* src/getpagesize.h: Reinstate support for different pagesizes on
VAX and Alpha. Work around problem with DEC C compiler.
* src/vms_fab.c: Cast to some assignments; fixed typo argcp vs. argp.
* src/vms_fab.h: Added new include files to avoid warnings about
undefined function prototypes.
Those patches were provided by Martin P.J. Zinser (zinser@decus.de).
2000-01-30 Paul Eggert
* src/grep.c (main): Update copyright notice.
2000-01-28 Alain Magloire
* src/grep.c (usage): The example "%s -i 'hello.*world' could
lead to confusion when progname is 'fgrep.
Noted by Akim Demaille.
* configure.in: Reenable, jm_INCLUDE_REGEX() since we now
track GNU lib C.
* src/Makefile.am: EXTRA_DIST new macros with regex.c regex.h.
Requested By Ulrich Drepper.
2000-01-25 Paul Eggert
* src/grep.c (grep): If the final byte of an input file is not
a newline, grep now silently supplies one.
* doc/grep.texi, NEWS: Likewise.
2000-01-25 Paul Eggert
* NEWS, doc/grep.1, doc/grep.texi: Add -I option.
* src/grep.c (short_options, usage, main): Likewise.
* doc/grep.texi: Fix some incorrect references to ASCII.
2000-01-25 Paul Eggert
* doc/grep.1: Simplify synopsis; sort options; mention
environment variables; clean up some minor gaffes.
2000-01-25 Paul Eggert
* doc/grep.texi:
Fix some errors in description of [:print:] and the like.
2000-01-23 Paul Eggert
* src/dfa.c (FETCH, lex): Put brackets around if-body to avoid
GCC warning about ambiguous if-then-else.
2000-01-23 Paul Eggert
* src/regex.c (GET_UNSIGNED_NUMBER): Allow only ASCII digits.
* src/dfa.c (ISASCIIDIGIT): New macro.
(lex): Use it instead of ISDIGIT.
2000-01-23 Paul Eggert
The bug is that regular expression ranges like [a-z] compare raw
byte codes to the range boundaries, whereas POSIX says that they
should use the current collating sequence instead. For example,
in Solaris 7 with LC_ALL=en_US, the command
echo x | grep '[ -~]'
outputs 'x', but it shouldn't output anything since ' ' and '~'
sort before all letters in that locale.
* src/regex.c (compile_range): When matching a character
range, use the current collating sequence, as POSIX requires.
* src/dfa.c (lex): Likewise.
2000-01-20 Alain Magloire
* tests/Makefile.am (dist-hook): Added new rule to make sure
that the shell scripts have the right permissions.
* src/posix/Makefile.am (EXTRA_DIST): added regex.h in the
distribution.
* THANKS: updated.
2000-01-18 Alain Magloire
* Rectification the initial patch to add --binary-file option
was done by Ruslan Ermilov.
2000-01-17 Paul Eggert
Sync with sources of fileutils 4.0n, tar 1.13.17, glibc 2.1.3a1.
Convert to ANSI C prototypes (using ansi2knr for backwards
compatibility), as this makes it easier to sync.
* configure.in (AC_OBJEXT): Spell in a funny way, to work around
a bug in automake 1.4 with ansi2knr.
(LIBOBJS): Add assignment so that .o files in LIBOBJS are also built
via the ANSI2KNR-filtering rules.
(AC_OUTPUT): Add src/posix/Makefile.
* src/Makefile.am (AUTOMAKE_OPTIONS): Add ansi2knr.
(SUBDIRS): New macro.
* src/ansi2knr.1, src/ansi2knr.c, src/posix/Makefile.am: New files.
* src/dfa.c, src/dosbuf.c, src/grep.c, src/kwset.c, src/search.c,
src/vms_fab.c:
Use prototypes for function definitions.
* src/grep.c (main): Use int counter for default context,
fixing an ANSI portability bug uncovered by the above changes.
* config.guess, config.sub, install-sh, missing, src/alloca.c,
src/getpagesize.h, src/memchr.c, src/savedir.c, src/savedir.h,
src/stpcpy.c:
Upgrade to latest version from fileutils 4.0n.
* src/getopt.c, src/getopt.h, src/getopt1.c: Upgrade to latest
version from tar 1.13.17.
* src/obstack.c, src/obstack.h, src/regex.c, src/regex.h:
Upgrade to glibc 2.1.3 alpha 1, with K&R C portability fix.
* src/posix/regex.h: New file, from glibc 2.1.3 alpha 1.
2000-01-04 Paul Eggert
Initial patch by Ruslan Ermilov.
Add --binary-files option.
* NEWS, doc/grep.1, doc/grep.texi: Document it.
* src/grep.c (BINARY_FILES_OPTION): New constant.
(long_options, grep, usage, main): New --binary-files option.
(binary_files): New var.
* src/system.h (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, CHAR_MAX):
New macros.
(INT_MAX, UCHAR_MAX): Define in terms of TYPE_MAXIMUM.
2000-01-04 Paul Eggert
* savedir.c (savedir): Don't store past the end of an array if
name_size is zero and the directory is empty.
Reported by Dima Barsky <dima@pwd.hp.com>.
1999-12-03 Alain Magloire
* 2.4 Release.
1999-11-18 Paul Eggert
* m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
problem with the QNX 4.25 shell, which doesn't propagate exit
status of failed commands inside shell assignments.
1999-11-13 Eli Zaretskii
* doc/grep.texi: Minor markup and spelling corrections. Use
@noindent where appropriate.
* PATCHES-{AM,AC}: rename to PATCHES.{AM,AC}
1999-11-12 Eli Zaretskii
doc/grep.texi: Minor fixes and typos corrected.
djgpp/README: Updated version.
1999-11-07 Paul Eggert
* src/grep.c (usage): Fix misspelling.
1999-11-07 Paul Eggert
Don't assume that the C library has re_set_syntax and friends.
* src/Makefile.am (base_sources): Add regex.c, regex.h.
(EXTRA_DIST): Remove regex.c, regex.h.
* src/grep.c (prtext): Use out_quiet, not not_text, to decide
whether to set pending to zero at the end.
(not_text): Remove static variable, undoing latest change.
(grep): Likewise.
* doc/grep.texi: Tighten up the text, and fix some minor
spelling and usage errors. Use @enumerate rather than @table
@samp, since it's better for Q&A format. Add cross
references.
1999-11-01 Alain Magloire
* src/search.c: Use the more portable [[:alnum:]]
to define a word instead of Ascii dependent [0-9A-Za-z]
* src/grep.c: make not_text global to not display text when
the context switches -A/-B/-C are use on binary files.
* make grep-2.3g available for testing.
* configure.in: drop support for --without-included-regex.
This was generating bogus bug reports, since many GNU/Linux
users have different version of glibc. And glibc maintainers
decided to drop k&r support.
1999-11-01 Arnold D. Robbins
* regex.c (init_syntax_once): move below definition of
ISALNUM etc., then use ISALNUM to init the table, so that
the word ops will work if i18n'ed.
(SYNTAX): And subscript with 0xFF for Latin-1 characters.
1999-10-26 Alain Magloire
* src/regex.c: Merge changes from GNU lib C.
* Updated the *.po files
1999-10-26 Paul Eggert
* src/grep.c (fillbuf): Don't report buffer size overflow if
newalloc == save and maxalloc == save. This can happen
e.g. when reading a large page-aligned file that contains
no newlines.
1999-10-21 Paul Eggert
* src/grep.c (usage): Give example. Clarify -F.
Explain exit status more clearly.
1999-10-12 Paul Eggert
* doc/grep.texi: Shorten the commentary about egrep and {.
"BSD grep" -> "traditional grep".
* doc/grep.1: Match recent changes to grep.texi.
1999-10-11 Paul Eggert
* NEWS, doc/grep.1, doc/grep.texi: New option --mmap.
* src/grep.c (mmap_option): New variable.
(long_options, reset, usage): Add --mmap.
Default is now read, not mmap.
* doc/grep.1: Document -Z or --null.
1999-10-11 Paul Eggert
* doc/grep.texi: Fix texinfo glitches. POSIX -> POSIX where
appropriate.
1999-10-11 Paul Eggert
* acconfig.h (ssize_t): New #undef.
* configure.in (AC_CHECK_TYPE): Add ssize_t.
* src/grep.c (PREFERRED_SAVE_FACTOR): New macro.
(reset): If the buffer has already been allocated, set bufsalloc to
be bufalloc / PREFERRED_SAVE_FACTOR. This avoids problems when
bufsalloc == bufalloc (possible after reading a large binary file).
(reset): Use PREFERRED_SAVE_FACTOR instead of magic constant.
Do not set bufbeg; nobody uses it.
Always set buflim.
Check for lseek error.
Use SEEK_CUR, not a magic constant.
(fillbuf): Return an error indication, not a count.
All callers changed.
Do not assume ssize_t fits in int.
Use PREFERRED_SAVE_FACTOR instead of magic constant.
Clean up mmap code.
Do not attempt to mmap zero bytes.
Check for lseek error.
Use SEEK_SET, not a magic constant.
Work correctly if read is interrupted.
(grepfile): Work correctly if open or close is interrupted.
* src/system.h (SEEK_SET, SEEK_CUR): New macros.
1999-10-02 Alain Magloire
* src/regex.[ch]: upgrade from GNU lib C source tree.
* make beta 2.3f available.
1999-10-02 Paul Eggert
* NEWS: egrep is now equivalent to 'grep -E'.
The lower bound of an interval is not optional.
You can specify a matcher multiple types without error.
-u and -U are now allowed on non-DOS hosts, and have no effect.
* doc/grep.texi: Likewise.
* doc/grep.1: Likewise.
Fix some troff bugs that prevented 'groff' from rendering the page.
* src/egrepmat.c, src/fgrepmat.c, src/grepmat.c (default_matcher):
Remove.
(matcher): Add.
* src/grep.h (default_matcher): Remove.
(matcher): Now exported from ?grepmat.c, not grep.c.
* src/dfa.c (lex): If { would start an invalid interval specification,
treat it as a normal character.
Remove (broken) support for {,M} meaning {0,M}.
Diagnose bogus intervals like {1,0}.
(closure): maxrep is now -1 to indicate no limit, not zero;
zero is a valid value for maxrep, meaning an upper bound of zero.
* src/grep.c (short_options): New constant.
(long_options, main): -u and -U are now supported on Unix,
with no effect.
(matcher): Removed; now defined by ?grepmat.c.
(install_matcher): Renamed from setmatcher.
(setmatcher): New function.
(usage): Report new, more uniform option scheme.
(main): Do not initialize matcher; ?grepmat.c now does this.
Rely on setmatcher to catch matcher conflicts.
Default matcher is "grep".
* src/search.c (matchers):
Remove "posix-egrep" matcher; no longer needed.
(Ecompile): Likewise.
The egrep matcher now has POSIX behavior.
* tests/bre.tests: grep '\{' is no longer an error.
Fix test for interval too large, and enable it.
* tests/ere.tests: grep -E {1 is no longer an error
Likewise for a{1, a{1a, a{1a}, a{1,x}.
1999-09-22 Paul Eggert
* largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
2.95.1 bug with HP-UX 10.20.
1999-09-12 Paul Eggert
* src/grep.c (fillbuf): Fix typo: we sometimes reported
arithmetic overflow even when there wasn't any.
1999-09-12 Paul Eggert
* configure.in (AC_CHECK_FUNCS): Add memmove.
* src/system.h (S_ISREG): New macro.
(memmove): Define if ! defined HAVE_MEMMOVE && ! defined memmove,
not if !defined STDC_HEADERS. This is needed for SunOS 4.1.4,
which defines STDC_HEADERS but lacks memmove.
* src/grep.c (bufoffset): Needed even if !defined HAVE_MMAP.
(reset): Always fstat the file, since we always need its size if it is
regular.
Similarly, get the buffer offset of every regular file.
Set bufmapped to 0 if the file's initial offset is not a multiple
of the page size.
(fillbuf): Calculate an upper bound on how much memory we should
allocate only for regular files, since we don't know the sizes of
other files.
Don't bother to check whether the file offset is a multiple of the page
size, since we now do that just once in 'reset'.
When an mmapped area would fall past the end of the file, trim it to
just before instead of giving up immediately and doing a 'read';
that avoids a worst-case behavior that could read half an mmapped file.
Fix bug when computing offsets on hosts that don't have mmap.
1999-08-27 Paul Eggert
* src/system.h (memmove): New macro.
* src/grep.c (page_alloc): Reallocate the old buffer instead
of having both old and new buffers active simultaneously.
Remove valloc debugging variant, which no longer applies.
(fillbuf): Rejigger the buffer allocation mechanism. The old
mechanism could allocate more than 10*N bytes for an N-byte
file, which was excessive. Check for arithmetic overflow a
bit more carefully.
1999-08-25 Paul Eggert
* src/grep.c (grepdir):
Don't assume that st_ino and st_dev must be integers;
POSIX allows them to be floating-point (!).
* src/vms_fab.h (arr_ptr): ':' -> ';' to fix typo.
1999-08-18 Alain Magloire
* 2.3e snapshot.
1999-08-18 Alain Magloire
* src/search.c: On a CRAY J90 system running UNICOS 8.0.
Compilation of ./src/search.c failed because the declaration of
the variable "regex":
static struct re_pattern_buffer regex;
conflicted with a previous declaration search.c #includes "system.h",
which #includes <stdlib.h>, which declares :
extern char *regex __((char *_Re, char *_Subject, ...));
The declaration in search.c is local to that one source file.
I just changed its name to something less likely to conflict.
(I called it "regexbuf", but you could pick any name you want.)
Excerpt email from Dean Kopesky.
1999-08-16 Paul Eggert
Upgrade large-file support to the version used in tar and
textutils.
* Makefile.am (ACLOCAL_AMFLAGS): Define to be empty.
(M4DIR, ACINCLUDE_INPUTS): New macros.
($(srcdir)/acinclude.m4): New rule.
* configure.in (AC_CANONICAL_HOST, AM_C_PROTOTYPES): Add.
(AC_SYS_LARGEFILE): Renamed from AC_LFS, for compatibility
with what should appear in the next autoconf release.
* m4/largefile.m4: Renamed from m4/lfs.m4.
* src/ansi2knr.1, src/ansi2knr.c, config.guess, config.sub:
New files. config.guess and config.sub ar needed by the new
AC_SYS_LARGEFILE. ansi2knr is needed by AM_C_PROTOTYPES,
which in turn is needed by the new AC_SYS_LARGEFILE.
1999-08-16 Alain Magloire
* 2.3d snapshot on ftp server.
1999-07-26 Paul Eggert
Several GNU tools have options to process arbitrary file names, even
file names that contain newline characters. These include 'find
-print0', 'perl -0', 'sort -z', and 'xargs -0'. It'd be handy if GNU
grep also processed such file names. Here's a proposed patch to do
this, relative to grep 2.3c. This patch introduces two options, one
for the data, and one for the file names. (Sometimes one wants
null-terminated file names in the output, and sometimes one wants to
process lists of null-terminated strings, and these are orthogonal
axes.)
* NEWS, doc/grep.texi: New -z or --null-data and -Z or --null options.
* src/grep.c (long_options, usage, main): Likewise.
* src/dfa.h (dfasyntax): New eol parameter.
* src/dfa.c (eolbyte): New var.
(dfasyntax): Set it from new parameter.
(lex, dfastat, build_state, dfaexec): Use it instead of '\n'.
* src/grep.h (eolbyte): New decl.
* src/grep.c (eolbyte): New var.
(nlscan, prpending, prtext, grepbuf, grep): Use it instead of '\n'.
(filename_mask): New var.
(prline, grepfile): Output NUL separator if filename_mask is zero.
(grep): Look for '\200' as the hallmark of a binary file, not '\0',
if -z or --null-data is specified, since it implies that '\0' is
expected as text.
* src/search.c (Gcompile, Ecompile): Pass eolbyte to dfasyntax.
(EGexecute, Fexecute): Use eolbyte instead of '\n'.
1999-06-15 Alain Magloire
* src/grep.c, doc/grep{1,texi} :
--revert-match should be --invert-match.
Correction proposed by Karl Berry.
1999-06-12 Alain Magloire
* doc/grep.{1,texi}: add description for --with-filename.
Noted missing by UEBAYASHI Masao.
1999-03-17 Paul Eggert
* NEWS: Add GREP_OPTIONS.
* doc/grep.texi: Document GREP_OPTIONS, and the other
environment variables. Fix doc for [:blank:], [:cntrl:], [:punct:].
* src/grep.c (prepend_args, prepend_default_options): New functions.
(main): Use them to implement GREP_OPTIONS.
* src/system.h (getenv): New decl.
1999-03-16 Volker Borchert
* configure.in: Use case ... esac for checking Visual C++.
When ${CC} contains options it was not recognize.
1999-03-07 Paul Eggert
* src/grep.c (usage): Don't report -E, -F, and -G unless we're grep.
(main): Don't match options -E, -F, and -G unless we're grep.
Remove after-the-fact check for options -E, -F, and -G, since
they're no longer needed.
1999-03-05 Eli Zaretskii
* src/grep.c (main): Print the name of the default matcher instead
of just "grep".
1999-02-06 Alain Magloire
* tests/*.awk : Linux users are seeing "Broken Pipe" on make check.
The problem is that grep does not drain its stdin, thus the previous
process in the pipeline receives a SIGPIPE. Other shells are silent
about this. There is actually no failure, since the broken pipe is
expected. You can work around it by changing the pipeline, so that
the input is drained, like this:
status=`echo 'check' | { ${GREP} -E -e pattern >/dev/null 2>&1;
echo $?; cat >/dev/null; }`; if test $status -ne $errnu then ... fi
Excerpt email from Andreas Schwab.
1999-02-23 Alain Magloire
* src/grep.c : Restrict the use of -E, -F, -G
to only grep driver, Posix behaviour. {f,e}grep
the matcher is already set. This change may brake
scripts, warn in NEWS.
* doc/grep.{1,texi} : -C takes arguments, upgrade manual.
* beta 2.3a
1999-02-23 Alain Magloire
* configure.in : Change the configure VC test from
'test x$ac_cv_prog_CC = xcl;' to 'test x"$ac_cv_prog_CC" = xcl;'
Email from Joshua R. Poulson.
1999-02-23 Paul Eggert
Fix porting bug reported by Amakawa Shuhei for SunOS 4.1.4-JL.
The btowc.c shipped with grep 2.3 is incorrect for Solaris
2.5.1 and earlier, as it assumes UTF8, which these OSes do not
support. Solaris 7 supports btowc, so there's no need to ship
a substitute for it. The only questionable case is Solaris
2.6, which lacks btowc but does support UTF8. However, 2.6
supports UTF8 but only as a demonstration (for an English
locale!); Japanese Solaris 2.6 users typically use EUC, or
sometimes shift-JIS, but they cannot use UTF8 since Japanese
UTF8 is not supported. Hence there's no point to having grep
substitute a btowc that uses UTF8, as it is either redundant,
or it will almost invariably have incorrect behavior.
* configure.in (AC_CHECK_HEADERS): Don't set USE_WCHAR.
(AC_CHECK_FUNCS): Add btowc, wctype.
(AC_REPLACE_FUNCS): Don't replace btowc; our replacement is
invariably doing the wrong thing anyway, at least on SunOS/Solaris.
Don't bother to check for wctype in -lw, as we don't support
wide characters on Solaris 2.5.1 or earlier anyway.
* bootstrap/Makefile.try (OBJS): Remove btowc.$(OBJEXT).
* src/btowc.c: Removed; no longer needed.
1999-02-19 Paul Eggert
* NEWS: Fix typo when talking about the old behavior of
silently skipping directories; it was grep 2.1, not grep 2.2.
1999-02-15 Alain Magloire
* bootstrap/Makefile.try : add DJGPP DEFS.
Done by Elie Zaretsckii.
1999-02-14 Alain Magloire
* m4/gettext.m4 : Guard [] with changequote.
From Elie Zaretskii.
* djgpp/config.bat : Makefile.in.in --> Makefile.in-in
From Elie Zaretskii.
* src/dosbuf: k&r function parameter.
* release of 2.3.
1999-02-10 Alain Magloire
* bootstrap/{Makefile{try,am},README} : skeleton
provided for system lacking the tools to autoconfigure.
* src/{e,f,}grepmat.c: added guard [HAVE_CONFIG_H]
1999-02-10 Alain Magloire
* PATCHES-AC, PATCHES-AM: updated.
* m4/regex.m4 : updated.
1999-02-05 Eli Zaretskii
* m4/gettext.m4 : Support DOS-style D:/foo/bar absolute file
names.
* aclocal.m4 (DJGPP) : Use $DJ_GPP instead, since changing the
latter prevents GCC from finding headers and libraries.
* djgpp/config.bat: Make building from another directory work
* djgpp/config.sed: Remove redundant command that edited path
separator: now done by configure.
* src/grep.c [O_BINARY]: Add prototype for undossify_input.
* doc/grep.texi (Introduction): Typo fixed.
1999-02-03 Alain Magloire
* grep-2.2f beta release.
1999-02-02 Alain Magloire
* m4/{djgpp,envsep,glibc,regex,dosfile,isc-posix}.m4 :
New files to aid configuration and unload configure.in.
* m4/Makefile.am : updated.
* src/btowc.c : protect for wchar.h
1999-01-28 Alain Magloire
* intl/Makefile.in: Replace .o with .${ac_objext} where necessary.
Work around a limitation of Visual C++ on Cygwin32.
* acconfig.h configure.in: Define 'alloca' as '_alloca' when CC=cl.
This little hack was suggested by Ian Roxborough <irox@cygnus.com>.
Patch forwarded by Ben Elliston.
1999-01-28 Alain Magloire
* PATCHES-AM: New file. A small patch for automake-1.4, use $(sep)
as the path separator base on @SEP@.
* PATCHES-AC configure.in : updated for autoconf-13.
1999-01-27 Volker Borchert
* grep.c: fgrep -NUM not working correctly.
add the argument number to digit_args_val.
1999-01-22 Paul Eggert
Prevent grep -r from recursing infinitely through directory loops via
symbolic links.
* grep.c (struct stats): New type.
(stats_base): New var.
(bufstat): Remove; subsumed by stats->stat.
(reset, fillbuf, grep, grepdir, grepfile): Pass struct stats * arg,
for directory loop checking; use this instead of the bufstat global.
All callers changed.
(grepfile): Stat the file before invoking grepdir.
(grepdir): Assume that the argument has already been statted.
No longer a need for a directory size argument, since it
can be gotten from the struct stats * argument.
Check for directory loops.
Create linked list of directories currently being visited,
to detect loops.
1998-12-29 Kaveh R. Ghazi
intl/localealias.c: When building grep-2.2e using cc on Irix4,
I needed the following patch to intl/localealias.c.
(Its the same patch used by fileutils-4.0.) The patch resolves
conflicts between char* and unsigned char* in the i18n code.
1998-12-10 Alain Magloire
* src/grep.c : Typo in contex -->context
Noted by Vladimir Michl.
1998-12-01 Alain Magloire
* doc/Makefile.am djgpp/Makefile.am m4/Makefile.am vms/Makefile.am:
New files.
* m4/progtest.m4: protect '[]' from m4.
Noted by Eli Z.
* PATCHES-AC: New file, add the patch for autoconf in the dist.
* acconfig.h: (HAVE_DOS_FILENAME)
* TODO: updated.
* src/search.c: remove obsolete 'gegrep,ggrep,gnugrep'
matchers. grep no longer depend on argv[0].
* grep-2.2e beta to test DJGPP port.
1998-11-28 Paul Eggert
Various portability enhancements:
- Don't assume that O_BINARY implies DOS. Use separate
macros D_OK (for DOS-like directory access) and
HAVE_DOS_FILE_NAMES (for DOS-like file names).
- Don't assume that off_t fits into long; it doesn't on Solaris 2.6.
- Have is_EISDIR set errno properly on hosts with screwed-up EISDIR.
- Treat ':' specially in DOS file names only if it's the end of a
drive specifier.
- Protect against errno < 0.
* src/grep.c (is_EISDIR): Move defn to system.h.
(print_offset_sep): New function.
(fillbuf): Remove redundant test of O_BINARY.
(totalcc, totalnl): Now of type off_t.
(prline): Use print_offset_sep to print file offsets.
(grepfile): Don't set e to EISDIR; that's is_EISDIR's responsibility
on machines that don't work properly with EISDIR.
(grepdir): Don't assume ':' means slash on all DOS filenames;
it means it only in the file prefix.
* src/system.h (strerror): Check for negative error numbers.
(is_EISDIR): Depend on D_OK, not O_BINARY.
(SET_BINARY): Depend on HAVE_SETMODE, not __DJGPP__.
(IS_SLASH, FILESYSTEM_PREFIX_LEN): Depend on HAVE_DOS_FILE_NAMES,
not O_BINARY.
(CHAR_BIT): New macro.
* src/dosbuf.c (struct dos_map):
pos and add members are now of type off_t.
(dos_stripped_crs): Now of type off_t.
(dossified_pos): Now accepts arg and returns value of type off_t.
* configure.in (AC_CHECK_FUNCS): Add setmode.
(HAVE_DOS_FILENAMES): New macro
1998-11-27 Eli Zaretskii
* djgpp/config.sed: New file, a Sed script to edit configure
script before running it on DOS/Windows.
* djgpp/config.bat: Updated to handle po2tbl.sed.in and
po/Makefile.in.in on DOS filesystems, and to run config.sed.
1998-11-24 Jim Meyering
* src/grep.c : Typo s/infalid/invalid/
Also noted by Stanislav Brabec.
1998-11-24 Eli Zaretskii
* doc/grep.texi: I found and corrected several typos.
I believe the GNU standards require the section that describes the
options to the programs to be called "Invoking" or "Invoking
<program-name>". This is so users and programs can easily find
that node in any Info file. So I changed the name of the
"Options" chapter to "Invoking", and corrected the
cross-references accordingly.
I added some markup to things like file names and options.
I added some additional index entries where that seemed useful.
I also corrected some index entries, such as "@cindex [:alnum:]",
which used a colon in them (the colons confuse Info readers).
1998-11-24 Alain Magloire
* grep/doc/grep.texi : -h is not use for help.
Nit spotted by Jim Meyering.
1998-11-23 Alain Magloire
* doc: New directory, grep.1, {e,f}grep.man move here
* doc/grep.texi: New info manual
* doc/version.texi: New
* doc/Makefile.am: New
* tests/{ere,bre}.*: New files. The spencer2 test is split
in two ere/bre.
* config.hin: New, config.h.in rename to config.hin for OS
with limited file system aka DOS.
* grep-2.2d release for beta.
1998-11-18 Alain Magloire
* src/regex.[ch] : Updated from GLibc, previous patches were
integrate by Ulrich Drepper and some added ones.
1998-11-16 Paul Eggert
* grep.h (__attribute__): New macro, if not GCC.
(fatal): Add __attribute__((noreturn)).
* grep.c (usage): Add __attribute__((noreturn)).
1998-11-16 Paul Eggert
Remove memory leak with valloced buffers, by invoking malloc instead.
* configure.in (AC_CHECK_FUNCS), src/system.h (valloc): Remove.
* src/grep.c (page_alloc): New function.
(ubuffer, pagesize): New vars.
(ALIGN_TO): New macro.
(reset): Initialize new vars. Check for overflow in buffer size calc.
Use page_alloc instead of valloc.
(fillbuf): Likewise. Use memcpy to copy saved area.
1998-11-15 Paul Eggert
* dfa.c (dfacomp), search.c (EGexecute): Don't assume char is unsigned.
1998-11-14 Paul Eggert
* src/grep.c (grepdir): Fix bug: memory freed twice.
* src/search.c (Gcompile, Ecompile): Don't invoke dfainit,
since dfacomp does it for us, and if we also do it then we
leak memory.
1998-11-13 Eli Zaretskii
* djgpp/config.bat: Rewrite to run the configure script via Bash.
* djgpp/config.site, djgpp/getconf: New files.
* djgpp/config.h, djgpp/*.mak, djgpp/po2tbl.sed: Remove.
* djgpp/README: Update instructions.
* Makefile.am (EXTRA_DIST): Update the list of DJGPP files.
* src/system.h (IS_SLASH): New macro.
(is_EISDIR): Define it here for DOS and Windows.
* src/grep.c (main) [O_BINARY]: Set stdout to binary mode, so the
EOL formats of the input and output files match, unless stdout is
the console device.
(is_EISDIR): Don't define if already defined. Accept a second
argument, the file name; all callers changed.
(grepdir): Don't free 'file', inside the loop. Use IS_SLASH to
check whether 'dir' needs a slash.
(grepfile): If file is a directory, set e to EISDIR.
1998-11-10 Alain Magloire
* src/vms_fab.{c,h}: New file for VMS wildcard expansion
Written by Phillip C. Brisco.
* vms/make.com : add line to compile vms_fab.c and
{e,f,}grepmat.c with link for each grep/fgrep/egrep.
Base on patch send by Phillib C. Brisco.
1998-11-09 Alain Magloire
* grep-2.2c on alpha for testing.
1998-11-09 Paul Eggert
* src/grep.1: Fix "Last Change" of output by generating the date
from the RCS Id.
* src/grep.c (is_EISDIR): New macro.
(grep): If -s, suppress errors from trying to read directories.
(grepfile): Use is_EISDIR to simplify code.
(grepdir): If -s, suppress errors from trying to read directories.
* src/grep.1: Fix -q -r -s problems; describe BSD grep better.
* src/grep.c (main): Update copyright.
Specify default matcher with default_matcher extern var, not
DEFAULT_MATCHER macro. This is more straightforward and means
we need to compile grep.c just once.
* src/egrepmat.c, src/fgrepmat.c, src/grepmat.c: New files.
* src/Makefile.am (base_sources): New macro.
(egrep_SOURCES, fgrep_SOURCES, grep_SOURCES): Now consist of
$(base_sources) plus the single tailoring file.
(grep_LDADD, egrep_LDADD, fgrep_LDADD): Remove.
(EXTRA_DIST): Remove grep.c, regex.c.
(fgrep.o, egrep.o): Remove.
* src/grep.h (matcher): Now char const *.
(default_matcher): New decl.
* src/grep.c (matcher): Now char const *.
(setmatcher): Now accepts char const *.
(main): Default the matcher from default_matcher (linked externally)
rather than DEFAULT_MATCHER (a macro).
1998-11-08 Alain Magloire
* src/grep.1: 'prep.ai.mit.edu' should be replaced with 'gnu.org'.
Nit from Paul Eggert.
1998-11-06 Alain Magloire
* src/grep.c: The Matcher is not set to argv[0] but
explicitly by a #define MATCHER at compile time default is "grep".
* aclocal/: NEW dir. provides our own *.m4
* configure.in: Move Paul's Large Files to AC_LFS.(aclocal/lfs.m4)
Taken from Jim Meyering fileutils.
1998-11-05 Alain Magloire
* src/grep.1: update the man pages according to the
changes make by Miles.
* po/*.po: updated.
* first beta release for 2.3 (2.2a).
1998-11-04 Miles Bader
* src/grep.c (main): Rationalize interaction of -C/-NUM/-A/-B
options, and allow -C to have an optional argument. -NUM can
now be mixed with -C, and -A, -B always take precedence over
-C/-NUM, regardless of order.
(long_options): Let -C/--context take an optional argument.
1998-11-03 Alain Magloire
* src/dfa.c: HP-UX define clrbit/setbit as macros in <sys/param.h>
#undef if defined.
Fixed by Andreas Ley and Philippe Defert.
* src/grep.1 : mention that -s follows POSIX behavior.
Noted by Paul Eggert and others.
* tests/khadafy.sh: a typo in failure(s).
Spotted By Sotiris Vassilopoulos.
1998-11-01 Paul Eggert
* src/system.h (IN_CTYPE_DOMAIN): New macro.
(ISALPHA, ISUPPER, ISLOWER, ISDIGIT, ISXDIGIT, ISSPACE,
ISPUNCT, ISALNUM, ISPRINT, ISGRAPH, ISCNTRL): Use
IN_CTYPE_DOMAIN instead of isascii.
1998-08-18 Paul Eggert
Add support for new -r or --recursive (or -d recurse or
--directories=recurse) option.
* src/Makefile.am (grep_SOURCES): Add savedir.c, savedir.h, stpcpy.c.
* src/grep.1: Describe new options.
* src/grep.c: Include "savedir.h".
(long_options): Add -r or --recursive.
(RECURSE_DIRECTORIES): New enum value.
(IS_DIRECTORY_ERRNO): Remove.
(reset, grep): Add file name arg.
(grepdir, grepfile): New functions.
(initial_bufoffset): New var.
(reset): Initialize it.
(fillbuf): Use it.
(count_matches, list_files, no_filenames, suppress_errors): New static
vars; formerly were local to 'main'.
(grep): Recurse through directories if the user asks for this.
(usage, main): Add new options.
(main): Change some local vars to be static, as described above.
Move most of the guts into grepfile function.
so that it can be recursed through.
* configure.in (AC_HEADER_DIRENT, AC_FUNC_CLOSEDIR_VOID): Add.
(AC_REPLACE_FUNCS): Add stpcpy.
* src/savedir.c, src/savedir.h, src/stpcpy.c: New files;
taken from fileutils 3.16u.
1998-08-11 Paul Eggert
* src/system.h (initialize_main): New macro.
* src/grep.c (main): Invoke initialize_main first thing.
1998-04-29 Paul Eggert
* NEWS, src/grep.1: Describe new -a and -d options.
* src/grep.c (long_options, usage, main):
New options -d or --directories and -a or --text.
(directories, always_text): New variables.
(IS_DIRECTORY_ERRNO): New macro.
(reset): Now returns value specifying whether to skip this file.
Stat the file if either mmap or directory-skipping is possible.
Skip the file if it's a directory and we're skipping directories.
(grep): Skip the file if 'reset' tells us to.
(main): If open fails because the file is a directory, and if we're
skipping directories, don't report an error.
Remove special case for DOS and Windows.
* src/dosbuf.c (guess_type): Use the same method for guessing whether a
file is binary as grep.c's grep does.
There's no longer any need to declare 'bp' to be unsigned.
1998-04-26 Alain Magloire
* grep-2.2 release.
* src/dfa.c: Wrong revision was pulled out
for beta 2.1.1d.
* src/search.c: Wrong revision was pulled out
for beta 2.1.1d.
* src/grep.c: ck_atoi () added instead of atoi ().
Suggestion from Jim Meyering.
ck_atoi () pulled from diffutils-2.7, maintained by Paul Eggert.
* AUTHORS: Rephrase of some sentences.
* README: Rewording.
Noted and patched by Joel N. Weber II.
1998-04-17 Kaveh R. Ghazi
* src/dfa.h: Don't define 'const', trust autoconf to handle it.
1998-04-16 Alain Magloire
* tests/{status,empty}.sh: wrong return status.
* src/grep.c: Remove the REGEX part in usage (), it was
consider overkill by most.
1998-04-14 Eli Zaretskii
* djgpp/config.bat: Support file names with multiple dots on all
platforms.
* djgpp/README: Add instructions about file names illegal on
MS-DOS.
1998-04-13 Alain Magloire
* src/dfa.c: by "popular" demand reverse
back to '_' not word-constituent.
* grep-2.1.1c available for testing.
1998-04-13 Karl Heuer
* src/grep.c: (a) The directory check is done too early:
logically, if the argument is "-", then it refers to standard
input, regardless of whether there's something in the file
system answering to "-".
(b) The sh command "grep -l root /etc/passwd /etc/group 0<&-"
prints "(standard input)" instead of "/etc/passwd", because it
mistakenly believes that a named file will never be opened on fd
0. The string "(standard input)" should be based on the file
having been originally specified as "-", rather than making
assumptions about the fd.
(c) the code that calls close(fd) is being done outside of the
test for a bad fd. Thus, if the open failed, this code will
attempt to close(-1). It should be done inside the "fd != -1"
branch.
This patch addresses all three of these problems.
1998-04-13 Alain Magloire
* configure.in: remove the deprecated AC_ISC_POSIX macro.
Spotted by Karl Heuer.
1998-04-03 Eli Zaretskii
* djgpp/main.mak, djgpp/src.mak, djgpp/tests.mak: Updated from the
relevant Makefile.in files.
* djgpp/config.bat: Create files in intl directory like the
configure script does.
1998-03-28 Eli Zaretskii
* djgpp/main.mak, djgpp/src.mak, djgpp/tests.mak: Updated to track
changes in respective Makefile.in files.
* src/dosbuf.c (guess_type): Avoid running off the end of the
buffer. Spotted by Paul Eggert.
1998-03-27 Alain Magloire
* grep-2.1.1b.tar.gz available.
* src/regex.c: CLASS_CHAR_MAX set to 256 instead of 6
when WCTYPE and WCHAR are not defined. When class names
where bigger then 6, it will not detect an error.
example '[[:alphabet:]]'.
* Updated the copyright of the files with emacs.
With emacs Jim :).
1998-03-26 Jim Meyering
* src/dfa.c (IS_WORD_CONSTITUENT): Define.
(lex): Use IS_WORD_CONSTITUENT, not ISALNUM.
Don't special-case '_'.
(dfastate): Use IS_WORD_CONSTITUENT, not ISALNUM.
(dfaexec): Likewise.
1998-03-25 Alain Magloire
* tests/warning.sh: typos and replace the echos with
a simple cat.
Noted By Jim Meyering.
* src/regex.c: #undef ISASCII and ISPRINT before defining
them(On Solaris it was define).
Pattern 'a[[:]:]]b' is an invalid char class and the error
from regex was 1(REG_NOMATCH) instead of 2 (REG_ECTYPE).
Fix with help from Ulrich Drepper.
* src/grep.c (usage): Ulrich wrote: "A single printf should
not have more than 900 bytes. For translation reasons the
text shouldn't be split in too many pieces since this is
tiresome and also does not help to generate a consistent picture."
Noted by Ulrich Drepper.
* src/grep.c (usage): Dig out and old patch from
Franc,ois to explain the regex in usage().
Ideas from Franc,ois Pinard.
1998-03-23 Alain Magloire
* testing: grep-2.1.1a for testing.
* configure.in: Solaris needs '-lw' if we use wchar/wctype
functions.
* src/btowc.c: New file from GNU libc. Solaris 2.5 don't
have it define.
* configure.in : check for btowc ().
* regex.c: Include <wchar.h> before <wctype.h>, to work around
a Solaris 2.5 bug.
Patch provided by Paul Eggert.
* tests/status.sh: new file to check return status code.
* tests/empty.sh: new file to check for empty pattern.
* tests/warning.sh: new file to tell where to report errors.
* configure.in: If available, prefer support for large files
unless the user specified one of the CPPFLAGS, LDFLAGS, or LIBS
variables.
Done by Paul Eggert.
* src/grep.c (usage): change prep.ai.mit.edu for gnu.org.
1998-03-18 Alain Magloire
* src/grep.c (usage): Formating the --help message a bit off.
Noted by William Bader.
* src/grep.c (main): When checking conflicting matcher for option -E the
matcher was to "egrep" instead of "posix-egrep".
Reported by kwzh@gnu.org.
* src/grep.c: Typos and rewording the --help message.
Reported by Karl Heuer.
* src/grep.1: The man page wording :
A regular expression matching a single character may be
followed by one of several repetition operators:
is unclear since 'x(yz)*z' is a valid regex.
Remove the "matching a single character".
Suggested by Harald Hanche-Olsen.
* src/grep.c (main): '-f /dev/null' now specifies no patterns
and therefore matches nothing.
Reported by Jorge Stolfi.
Patched by Paul Eggert.
1998-03-10 Alain Magloire
* Ice storm 98(el nino). Lost grep repository disk,
and my $HOME directory, etc ..
Trying to get the emails/patch from dejanews.com
and start from grep-2.1.
sigh ....
1997-11-01 Alain Magloire
* src/grep.c: For the long options, the problems are:
--file appears in the option table as 'no_argument'
instead of 'required_argument'.
--files-with-matches is missing from the option table.
The help lists '--fixed-strings' as the long option for -F,
the table has '--fixed-regexp'.
--regexp appears in the option table as 'no_argument'
instead of 'required_argument'.
--with-filename is missing from the option table.
Reported by Grant McDorman and Krishna Sethuraman.
1997-10-19 Alain Magloire
* src/grep.c: the option "with-filename was not in the arg table.
Corrected by Jim Hand.
* GNU gettext library from gettext-0.10.32.
* src/grep.c: reverse back to greping directories,
One could skip the error message by defining
SKIP_DIR_ERROR. There is no clear way of doing
things, I hope to settle this on the next major release
Thanks Paul Eggert, Eli Zaretskii and gnits for the
exchange.
* tests/status.sh: add this check to make sure
That the return status code is ok.
1997-10-10 Andreas Schwab
* src/grep.1: Fix formatting.
* configure.in: Check for wctype.h, wchar.h, libintl.h and
isascii, which are needed for regex.c.
1997-10-01 Paul Eggert
* src/grep.c (fillbuf): Don't warn about mmap failures.
1997-09-7 Alain Magloire
* src/grep.c: added code for -H --with-filename.
* djgpp/*: patch wrongly apply
duplication of text in djgpp/{README,config.h}.
Filter djgpp/config.bat with unix2dos.
* djgpp/make.mak: beautify
From Eli Zaretskii.
* grep-2.1 release.
1997-09-01 Alain Magloire
* grep-2.0f out for testing.
* update to GNU gettext library from gettext-0.10.31
* grep.c : have a nicer format for --version.
Noted by Ulrich Drepper.
* obstack.[ch]: updated from GNU C library
* configure.in: look for stdlib.h [HAVE_STDLIB_H]
Comments from Ulrich Drepper.
1997-08-25 Philippe De Muyter <phdm@info.ucl.ac.be>
* src/dfa.c (sys/types.h): File included unconditionnaly.
1997-08-16 Eli Zaretskii <eliz@is.elta.co.il>
* grep.c (long_options) [O_BINARY]: Add DOS-specific options.
(fillbuf) [O_BINARY]: For DOS-style text files, strip CR
characters at end of line.
(prline) [O_BINARY]: Report correct byte offsets, even though CR
characters were stripped when reading the file.
(usage) [O_BINARY]: Add DOS-specific options.
(setmatcher) [HAVE_SETRLIMIT]: Set re_max_failures so that the
matcher won't ever overflow the stack.
(main) [__MSDOS__, _WIN32]: Handle backslashes and drive letters
in argv[0], remove the .exe suffix, and downcase the program name.
[O_BINARY]: Pass additional DOS-specific options to getopt_long
and handle them. Call stat before attempting to open the file, in
case it is a directory (DOS will fail the open call for
directories). Switch the input descriptor to binary mode, unless
it is a terminal device.
* system.h [O_BINARY]: Define macros to switch a handle to binary
mode, so binary files could be grep'ed on MS-DOS and MS-Windows.
[HAVE_SETLOCALE]: Test for HAVE_SETLOCALE instead of
HAVE_LC_MESSAGES, to prevent compilation error in grep.c on
systems which don't define HAVE_LC_MESSAGES, but have setlocale.
* dosbuf.c: New file, functions specific for MS-DOS/MS-Windows.
(guess_type, undossify_input, dossified_pos): New functions.
* djgpp/config.h, djgpp/config.bat, djgpp/main.mak, djgpp/src.mak,
djgpp/po.mak, djgpp/intl.mak, djgpp/tests.mak, djgpp/po2tbl.sed:
New files, for building Grep with DJGPP tools for MS-DOS and
MS-Windows.
* grep.1: Document DOS-specific switches.
1997-08-08 Alain Magloire
* grep-2.0e: available for testing
* grep.c: change LC_MESSAGE to LC_ALL for (LC_CTYPE).
Suggested by Jochen Hein.
* ABOUT-NLS: updated.
* grep.c: --version: more verbosity (COPYRIGHT).
* grep.c: --help: PATTERN, FILE instead of <pattern>, <file>.
* INSTALL.grep: not necessary removed.
* configure.in: --disable-regex rename --without-include-regex.
* THANKS: format: first row name, second email.
* ChangeLog: format ISO 8601.
Reported by Franc,ois Pinard.
* grep.c: move dcl of struct stat st into "else" where it's used.
Reported by Jim Meyering.
* grep.c: totalnl should be %u in printf.
Reported by Michael Aichlmay
Corrected with guidance from Ulrich Drepper
1997-07-24 Alain Magloire <alainm@rcsm.ee.mcgill.ca>
* Makefile.am: corrected an error when installing {f,e}grep.1.
From Kaveh R. Ghazi <ghazi@caip.rutgers.edu>.
From Ulrich Drepper <drepper@cygnus.com>.
* Many files: use PARAMS instead of __STDC__ for prototypes.
From Jim Meyering <meyering@eng.ascend.com>.
Patch provided by Kaveh R. Ghazi <ghazi@caip.rutgers.edu>.
* dfa.[ch]: uses the one in gawk-3.0.3 with the patch from
Arnold (see Changelog: July 12 1997)
* grep.1: a note to say -l, -L, -q stop on first match.
Noted by Andrew Beattie <gaffer@tug.com>.
* grep.c: refuse to scan if the file is a directory.
This was causing problems on SUNs. If the directory contains
a file that could match the pattern, garbage was display.
* tests directory: added new set of tests from Henry Spencer
regex package. Change the way the tests were done to be more
conformant to automake.
* configure.in: added --disable-regex for folks with their own functions.
* grep-20d : available for testing
1997-07-18 Alain Magloire <alainm@rcsm.ee.mcgill.ca>
* grep-2.0c: available for testing
1997-07-17 Alain Magloire <alainm@rcsm.ee.mcgill.ca>
* src/grep.c: Cause grep to fail if 'fclose (stdout)' fails.
From Jim Meyering <meyering@eng.ascend.com>.
* grep.c:usage() more consistency in the --help.
* egrep, fgrep were links This is in violation of GNU standards:
"Please don't make the behavior of a utility depend on the name used
to invoke it. It is useful sometimes to make a link to a utility with
a different name, and that should not change what it does."
For now egrep and fgrep will be copies of grep. A better scheme
should be found later.
After discussion with Tom Tromey <tromey@cygnus.com>.
* fgrep.man and egrep.man included: They are stubs that call grep.1.
* Makefile.am: modified to install {f,e,}grep[,.1].
* speed hack for -l, -L: bail out on first match.
From Scott Weikart <scott@igc.apc.org>.
* *.[ch]: provided prototypes for strict argument checking
With the help of Stewart Levin <stew@sep.stanford.edu>.
1997-07-16 Alain Magloire <alainm@rcsm.ee.mcgill.ca>
* configure.in: typo in the creation of po/Makefile
Noted by Volker Borchert bt@teknon.de.
* grep-2.0b: make it available for testing.
1997-07-15 Alain Magloire <alainm@rcsm.ee.mcgill.ca>
* src/grep.c usage(): cut the --help in smaller printf()'s
Noted by Ulrich Drepper <drepper@cygnus.com>.
1997-07-14 Alain Magloire <alainm@rcsm.ee.mcgill.ca>
* grep-2.0a: make an alpha available for testing.
1997-07-12 Alain Magloire <alainm@rcsm.ee.mcgill.ca>
* run gettextize: added the po directory filled with *.po files.
* check.sh, scriptgen.awk: fix grep paths.
* change the directory structure: grep is now in src to comply with
gettext.m4.
* grep.c version.c [VERSION]: got rid of version.c,
it is now define via config.h.
* dfa.c: patch to speed up initialization.
Arnold Robbins (arnold@gnu.ai.mit.edu).
1997-07-09 Alain Magloire <alainm@rcsm.ee.mcgill.ca>
* *.c [HAVE_CONFIG_H]: Macro defined.
* support for I18N in Makefile.am and configure.in.
* update all the string to use gettext(I18N).
Help from Franc,ois Pinard previous patch <pinard@IRO.UMontreal.CA>.
1997-07-04 Alain Magloire <alainm@rcsm.ee.mcgill.ca>
* obstack.[ch]: updated from glibc.
Work of Ulrich Drepper <drepper@cygnus.com>.
* regex.[ch]: updated from glibc.
Work of Ulrich Drepper <drepper@cygnus.com>.
* grep.c: for option -e not counting '\n' for new keys.
From Mark Waite <markw@mddmew.fc.hp.com>.
* grep.c: for option -f allocating the right count.
From Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>.
Mike Heartel (mike@cs.uoregon.edu).
* kwset.c (bmexec): Cast tp[-2] to unsigned char before comparing.
From Jim Meyering <meyering@asic.sc.ti.com>.
* grep.1: various typos.
From Keith Bostic <bostic@bsdi.com>.
Mike Heartel (mike@cs.uoregon.edu).
1997-06-17 Alain Magloire <alainm@rcsm.ee.mcgill.ca>
* grep.c: support for long options.
patch done by Franc,ois Pinard <pinard@IRO.UMontreal.CA>.
* add getopt1.c in Makefile.am.
Noted by Franc,ois Pinard <pinard@IRO.UMontreal.CA>
* replace getopt.[ch] and add getopt1.c.
* kwset.c: undef malloc before define it.
Franc,ois Pinard <pinard@IRO.UMontreal.CA>.
1997-06-07 Alain Magloire <alainm@rcsm.ee.mcgill.ca>
* grep.c: format incorrect in
fprintf("%s: warning: %s: %s...", filename, strerror(errno)).
Mike Heartel (mike@cs.uoregon.edu).
1996-11-19 David J MacKenzie <djm@catapult.va.pubnix.com>
* make.com: Set the logical SYS. From rdb@cocamrd.oz.au (Rodney Brown).
* grep.c (S_ISREG): Define if not defined already, for e.g.
SunOS 4.0.3.
* dfa.c (test_bit, set_bit, clear_bit): Renamed from tstbit,
setbit, clrbit to avoid conflict with HP-UX sys/param.h macros.
* memchr.c: New file, from GNU libc.
* grep.c (memchr): Remove definition.
* configure.in: Use AC_REPLACE_FUNCS for memchr.
* configure.in: Remove unused checks for memalign and unsigned char.
* grep.c: HAVE_WORKING_MMAP -> HAVE_MMAP.
* system.h: New file.
* dfa.c, kwset.c, grep.c, search.c: Use it instead of duplicating
portability boilerplate.
* grep.c: Include sys/types.h once, instead of three times
conditionally.
* dfa.c, kwset.c, search.c: Include sys/types.h unconditionally,
to always try to get size_t (needed on some old SysV's).
* dfa.c: Define strchr in terms of index, not the other way around.
* search.c: Use memcpy instead of bcopy.
1996-11-15 David J MacKenzie <djm@catapult.va.pubnix.com>
* Many files: Update FSF address.
Update configuration to use autoconf v2 and automake.
1993-05-22 Mike Haertel <mike@cs.uoregon.edu>
* Version 2.0 released.
Copyright (C) 1998-2023 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted provided the copyright notice and this notice are preserved.
|