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 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380 4381 4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 4392 4393 4394 4395 4396 4397 4398 4399 4400 4401 4402 4403 4404 4405 4406 4407 4408 4409 4410 4411 4412 4413 4414 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4433 4434 4435 4436 4437 4438 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4462 4463 4464 4465 4466 4467 4468 4469 4470 4471 4472 4473 4474 4475 4476 4477 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487 4488 4489 4490 4491 4492 4493 4494 4495 4496 4497 4498 4499 4500 4501 4502 4503 4504 4505 4506 4507 4508 4509 4510 4511 4512 4513 4514 4515 4516 4517 4518 4519 4520 4521 4522 4523 4524 4525 4526 4527 4528 4529 4530 4531 4532 4533 4534 4535 4536 4537 4538 4539 4540 4541 4542 4543 4544 4545 4546 4547 4548 4549 4550 4551 4552 4553 4554 4555 4556 4557 4558 4559 4560 4561 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588 4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 4613 4614 4615 4616 4617 4618 4619 4620 4621 4622 4623 4624 4625 4626 4627 4628 4629 4630 4631 4632 4633 4634 4635 4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653 4654 4655 4656 4657 4658 4659 4660 4661 4662 4663 4664 4665 4666 4667 4668 4669 4670 4671 4672 4673 4674 4675 4676 4677 4678 4679 4680 4681 4682 4683 4684 4685 4686 4687 4688 4689 4690 4691 4692 4693 4694 4695 4696 4697 4698 4699 4700 4701 4702 4703 4704 4705 4706 4707 4708 4709 4710 4711 4712 4713 4714 4715 4716 4717 4718 4719 4720 4721 4722 4723 4724 4725 4726 4727 4728 4729 4730 4731 4732 4733 4734 4735 4736 4737 4738 4739 4740 4741 4742 4743 4744 4745 4746 4747 4748 4749 4750 4751 4752 4753 4754 4755 4756 4757 4758 4759 4760 4761 4762 4763 4764 4765 4766 4767 4768 4769 4770 4771 4772 4773 4774 4775 4776 4777 4778 4779 4780 4781 4782 4783 4784 4785 4786 4787 4788 4789 4790 4791 4792 4793 4794 4795 4796 4797 4798 4799 4800 4801 4802 4803 4804 4805 4806 4807 4808 4809 4810 4811 4812 4813 4814 4815 4816 4817 4818 4819 4820 4821 4822 4823 4824 4825 4826 4827 4828 4829 4830 4831 4832 4833 4834 4835 4836 4837 4838 4839 4840 4841 4842 4843 4844 4845 4846 4847 4848 4849 4850 4851 4852 4853 4854 4855 4856 4857 4858 4859 4860 4861 4862 4863 4864 4865 4866 4867 4868 4869 4870 4871 4872 4873 4874 4875 4876 4877 4878 4879 4880 4881 4882 4883 4884 4885 4886 4887 4888 4889 4890 4891 4892 4893 4894 4895 4896 4897 4898 4899 4900 4901 4902 4903 4904 4905 4906 4907 4908 4909 4910 4911 4912 4913 4914 4915 4916 4917 4918 4919 4920 4921 4922 4923 4924 4925 4926 4927 4928 4929 4930 4931 4932 4933 4934 4935 4936 4937 4938 4939 4940 4941 4942 4943 4944 4945 4946 4947 4948 4949 4950 4951 4952 4953 4954 4955 4956 4957 4958 4959 4960 4961 4962 4963 4964 4965 4966 4967 4968 4969 4970 4971 4972 4973 4974 4975 4976 4977 4978 4979 4980 4981 4982 4983 4984 4985 4986 4987 4988 4989 4990 4991 4992 4993 4994 4995 4996 4997 4998 4999 5000 5001 5002 5003 5004 5005 5006 5007 5008 5009 5010 5011 5012 5013 5014 5015 5016 5017 5018 5019 5020 5021 5022 5023 5024 5025 5026 5027 5028 5029 5030 5031 5032 5033 5034 5035 5036 5037 5038 5039 5040 5041 5042 5043 5044 5045 5046 5047 5048 5049 5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 5063 5064 5065 5066 5067 5068 5069 5070 5071 5072 5073 5074 5075 5076 5077 5078 5079 5080 5081 5082 5083 5084 5085 5086 5087 5088 5089 5090 5091 5092 5093 5094 5095 5096 5097 5098 5099 5100 5101 5102 5103 5104 5105 5106 5107 5108 5109 5110 5111 5112 5113 5114 5115 5116 5117 5118 5119 5120 5121 5122 5123 5124 5125 5126 5127 5128 5129 5130 5131 5132 5133 5134 5135 5136 5137 5138 5139 5140 5141 5142 5143 5144 5145 5146 5147 5148 5149 5150 5151 5152 5153 5154 5155 5156 5157 5158 5159 5160 5161 5162 5163 5164 5165 5166 5167 5168 5169 5170 5171 5172 5173 5174 5175 5176 5177 5178 5179 5180 5181 5182 5183 5184 5185 5186 5187 5188 5189 5190 5191 5192 5193 5194 5195 5196 5197 5198 5199 5200 5201 5202 5203 5204 5205 5206 5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 5221 5222 5223 5224 5225 5226 5227 5228 5229 5230 5231 5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260 5261 5262 5263 5264 5265 5266 5267 5268 5269 5270 5271 5272 5273 5274 5275 5276 5277 5278 5279 5280 5281 5282 5283 5284 5285 5286 5287 5288 5289 5290 5291 5292 5293 5294 5295 5296 5297 5298 5299 5300 5301 5302 5303 5304 5305 5306 5307 5308 5309 5310 5311 5312 5313 5314 5315 5316 5317 5318 5319 5320 5321 5322 5323 5324 5325 5326 5327 5328 5329 5330 5331 5332 5333 5334 5335 5336 5337 5338 5339 5340 5341 5342 5343 5344 5345 5346 5347 5348 5349 5350 5351 5352 5353 5354 5355 5356 5357 5358 5359 5360 5361 5362 5363 5364 5365 5366 5367 5368 5369 5370 5371 5372 5373 5374 5375 5376 5377 5378 5379 5380 5381 5382 5383 5384 5385 5386 5387 5388 5389 5390 5391 5392 5393 5394 5395 5396 5397 5398 5399 5400 5401 5402 5403 5404 5405 5406 5407 5408 5409 5410 5411 5412 5413 5414 5415 5416 5417 5418 5419 5420 5421 5422 5423 5424 5425 5426 5427 5428 5429 5430 5431 5432 5433 5434 5435 5436 5437 5438 5439 5440 5441 5442 5443 5444 5445 5446 5447 5448 5449 5450 5451 5452 5453 5454 5455 5456 5457 5458 5459 5460 5461 5462 5463 5464 5465 5466 5467 5468 5469 5470 5471 5472 5473 5474 5475 5476 5477 5478 5479 5480 5481 5482 5483 5484 5485 5486 5487 5488 5489 5490 5491 5492 5493 5494 5495 5496 5497 5498 5499 5500 5501 5502 5503 5504 5505 5506 5507 5508 5509 5510 5511 5512 5513 5514 5515 5516 5517 5518 5519 5520 5521 5522 5523 5524 5525 5526 5527 5528 5529 5530 5531 5532 5533 5534 5535 5536 5537 5538 5539 5540 5541 5542 5543 5544 5545 5546 5547 5548 5549 5550 5551 5552 5553 5554 5555 5556 5557 5558 5559 5560 5561 5562 5563 5564 5565 5566 5567 5568 5569 5570 5571 5572 5573 5574 5575 5576 5577 5578 5579 5580 5581 5582 5583 5584 5585 5586 5587 5588 5589 5590 5591 5592 5593 5594 5595 5596 5597 5598 5599 5600 5601 5602 5603 5604 5605 5606 5607 5608 5609 5610 5611 5612 5613 5614 5615 5616 5617 5618 5619 5620 5621 5622 5623 5624 5625 5626 5627 5628 5629 5630 5631 5632 5633 5634 5635 5636 5637 5638 5639 5640 5641 5642 5643 5644 5645 5646 5647 5648 5649 5650 5651 5652 5653 5654 5655 5656 5657 5658 5659 5660 5661 5662 5663 5664 5665 5666 5667 5668 5669 5670 5671 5672 5673 5674 5675 5676 5677 5678 5679 5680 5681 5682 5683 5684 5685 5686 5687 5688 5689 5690 5691 5692 5693 5694 5695 5696 5697 5698 5699 5700 5701 5702 5703 5704 5705 5706 5707 5708 5709 5710 5711 5712 5713 5714 5715 5716 5717 5718 5719 5720 5721 5722 5723 5724 5725 5726 5727 5728 5729 5730 5731 5732 5733 5734 5735 5736 5737 5738 5739 5740 5741 5742 5743 5744 5745 5746 5747 5748 5749 5750 5751 5752 5753 5754 5755 5756 5757 5758 5759 5760 5761 5762 5763 5764 5765 5766 5767 5768 5769 5770 5771 5772 5773 5774 5775 5776 5777 5778 5779 5780 5781 5782 5783 5784 5785 5786 5787 5788 5789 5790 5791 5792 5793 5794 5795 5796 5797 5798 5799 5800 5801 5802 5803 5804 5805 5806 5807 5808 5809 5810 5811 5812 5813 5814 5815 5816 5817 5818 5819 5820 5821 5822 5823 5824 5825 5826 5827 5828 5829 5830 5831 5832 5833 5834 5835 5836 5837 5838 5839 5840 5841 5842 5843 5844 5845 5846 5847 5848 5849 5850 5851 5852 5853 5854 5855 5856 5857 5858 5859 5860 5861 5862 5863 5864 5865 5866 5867 5868 5869 5870 5871 5872 5873 5874 5875 5876 5877 5878 5879 5880 5881 5882 5883 5884 5885 5886 5887 5888 5889 5890 5891 5892 5893 5894 5895 5896 5897 5898 5899 5900 5901 5902 5903 5904 5905 5906 5907 5908 5909 5910 5911 5912 5913 5914 5915 5916 5917 5918 5919 5920 5921 5922 5923 5924 5925 5926 5927 5928 5929 5930 5931 5932 5933 5934 5935 5936 5937 5938 5939 5940 5941 5942 5943 5944 5945 5946 5947 5948 5949 5950 5951 5952 5953 5954 5955 5956 5957 5958 5959 5960 5961 5962 5963 5964 5965 5966 5967 5968 5969 5970 5971 5972 5973 5974 5975 5976 5977 5978 5979 5980 5981 5982 5983 5984 5985 5986 5987 5988 5989 5990 5991 5992 5993 5994 5995 5996 5997 5998 5999 6000 6001 6002 6003 6004 6005 6006 6007 6008 6009 6010 6011 6012 6013 6014 6015 6016 6017 6018 6019 6020 6021 6022 6023 6024 6025 6026 6027 6028 6029 6030 6031 6032 6033 6034 6035 6036 6037 6038 6039 6040 6041 6042 6043 6044 6045 6046 6047 6048 6049 6050 6051 6052 6053 6054 6055 6056 6057 6058 6059 6060 6061 6062 6063 6064 6065 6066 6067 6068 6069 6070 6071 6072 6073 6074 6075 6076 6077 6078 6079 6080 6081 6082 6083 6084 6085 6086 6087 6088 6089 6090 6091 6092 6093 6094 6095 6096 6097 6098 6099 6100 6101 6102 6103 6104 6105 6106 6107 6108 6109 6110 6111 6112 6113 6114 6115 6116 6117 6118 6119 6120 6121 6122 6123 6124 6125 6126 6127 6128 6129 6130 6131 6132 6133 6134 6135 6136 6137 6138 6139 6140 6141 6142 6143 6144 6145 6146 6147 6148 6149 6150 6151 6152 6153 6154 6155 6156 6157 6158 6159 6160 6161 6162 6163 6164 6165 6166 6167 6168 6169 6170 6171 6172 6173 6174 6175 6176 6177 6178 6179 6180 6181 6182 6183 6184 6185 6186 6187 6188 6189 6190 6191 6192 6193 6194 6195 6196 6197 6198 6199 6200 6201 6202 6203 6204 6205 6206 6207 6208 6209 6210 6211 6212 6213 6214 6215 6216 6217 6218 6219 6220 6221 6222 6223 6224 6225 6226 6227 6228 6229 6230 6231 6232 6233 6234 6235 6236 6237 6238 6239 6240 6241 6242 6243 6244 6245 6246 6247 6248 6249 6250 6251 6252 6253 6254 6255 6256 6257 6258 6259 6260 6261 6262 6263 6264 6265 6266 6267 6268 6269 6270 6271 6272 6273 6274 6275 6276 6277 6278 6279 6280 6281 6282 6283 6284 6285 6286 6287 6288 6289 6290 6291 6292 6293 6294 6295 6296 6297 6298 6299 6300 6301 6302 6303 6304 6305 6306 6307 6308 6309 6310 6311 6312 6313 6314 6315 6316 6317 6318 6319 6320 6321 6322 6323 6324 6325 6326 6327 6328 6329 6330 6331 6332 6333 6334 6335 6336 6337 6338 6339 6340 6341 6342 6343 6344 6345 6346 6347 6348 6349 6350 6351 6352 6353 6354 6355 6356 6357 6358 6359 6360 6361 6362 6363 6364 6365 6366 6367 6368 6369 6370 6371 6372 6373 6374 6375 6376 6377 6378 6379 6380 6381 6382 6383 6384 6385 6386 6387 6388 6389 6390 6391 6392 6393 6394 6395 6396 6397 6398 6399 6400 6401 6402 6403 6404 6405 6406 6407 6408 6409 6410 6411 6412 6413 6414 6415 6416 6417 6418 6419 6420 6421 6422 6423 6424 6425 6426 6427 6428 6429 6430 6431 6432 6433 6434 6435 6436 6437 6438 6439 6440 6441 6442 6443 6444 6445 6446 6447 6448 6449 6450 6451 6452 6453 6454 6455 6456 6457 6458 6459 6460 6461 6462 6463 6464 6465 6466 6467 6468 6469 6470 6471 6472 6473 6474 6475 6476 6477 6478 6479 6480 6481 6482 6483 6484 6485 6486 6487 6488 6489 6490 6491 6492 6493 6494 6495 6496 6497 6498 6499 6500 6501 6502 6503 6504 6505 6506 6507 6508 6509 6510 6511 6512 6513 6514 6515 6516 6517 6518 6519 6520 6521 6522 6523 6524 6525 6526 6527 6528 6529 6530 6531 6532 6533 6534 6535 6536 6537 6538 6539 6540 6541 6542 6543 6544 6545 6546 6547 6548 6549 6550 6551 6552 6553 6554 6555 6556 6557 6558 6559 6560 6561 6562 6563 6564 6565 6566 6567 6568 6569 6570 6571 6572 6573 6574 6575 6576 6577 6578 6579 6580 6581 6582 6583 6584 6585 6586 6587 6588 6589 6590 6591 6592 6593 6594 6595 6596 6597 6598 6599 6600 6601 6602 6603 6604 6605 6606 6607 6608 6609 6610 6611 6612 6613 6614 6615 6616 6617 6618 6619 6620 6621 6622 6623 6624 6625 6626 6627 6628 6629 6630 6631 6632 6633 6634 6635 6636 6637 6638 6639 6640 6641 6642 6643 6644 6645 6646 6647 6648 6649 6650 6651 6652 6653 6654 6655 6656 6657 6658 6659 6660 6661 6662 6663 6664 6665 6666 6667 6668 6669 6670 6671 6672 6673 6674 6675 6676 6677 6678 6679 6680 6681 6682 6683 6684 6685 6686 6687 6688 6689 6690 6691 6692 6693 6694 6695 6696 6697 6698 6699 6700 6701 6702 6703 6704 6705 6706 6707 6708 6709 6710 6711 6712 6713 6714 6715 6716 6717 6718 6719 6720 6721 6722 6723 6724 6725 6726 6727 6728 6729 6730 6731 6732 6733 6734 6735 6736 6737 6738 6739 6740 6741 6742 6743 6744 6745 6746 6747 6748 6749 6750 6751 6752 6753 6754 6755 6756 6757 6758 6759 6760 6761 6762 6763 6764 6765 6766 6767 6768 6769 6770 6771 6772 6773 6774 6775 6776 6777 6778 6779 6780 6781 6782 6783 6784 6785 6786 6787 6788 6789 6790 6791 6792 6793 6794 6795 6796 6797 6798 6799 6800 6801 6802 6803 6804 6805 6806 6807 6808 6809 6810 6811 6812 6813 6814 6815 6816 6817 6818 6819 6820 6821 6822 6823 6824 6825 6826 6827 6828 6829 6830 6831 6832 6833 6834 6835 6836 6837 6838 6839 6840 6841 6842 6843 6844 6845 6846 6847 6848 6849 6850 6851 6852 6853 6854 6855 6856 6857 6858 6859 6860 6861 6862 6863 6864 6865 6866 6867 6868 6869 6870 6871 6872 6873 6874 6875 6876 6877 6878 6879 6880 6881 6882 6883 6884 6885 6886 6887 6888 6889 6890 6891 6892 6893 6894 6895 6896 6897 6898 6899 6900 6901 6902 6903 6904 6905 6906 6907 6908 6909 6910 6911 6912 6913 6914 6915 6916 6917 6918 6919 6920 6921 6922 6923 6924 6925 6926 6927 6928 6929 6930 6931 6932 6933 6934 6935 6936 6937 6938 6939 6940 6941 6942 6943 6944 6945 6946 6947 6948 6949 6950 6951 6952 6953 6954 6955 6956 6957 6958 6959 6960 6961 6962 6963 6964 6965 6966 6967 6968 6969 6970 6971 6972 6973 6974 6975 6976 6977 6978 6979 6980 6981 6982 6983 6984 6985 6986 6987 6988 6989 6990 6991 6992 6993 6994 6995 6996 6997 6998 6999 7000 7001 7002 7003 7004 7005 7006 7007 7008 7009 7010 7011 7012 7013 7014 7015 7016 7017 7018 7019 7020 7021 7022 7023 7024 7025 7026 7027 7028 7029 7030 7031 7032 7033 7034 7035 7036 7037 7038 7039 7040 7041 7042 7043 7044 7045 7046 7047 7048 7049 7050 7051 7052 7053 7054 7055 7056 7057 7058 7059 7060 7061 7062 7063 7064 7065 7066 7067 7068 7069 7070 7071 7072 7073 7074 7075 7076 7077 7078 7079 7080 7081 7082 7083 7084 7085 7086 7087 7088 7089 7090 7091 7092 7093 7094 7095 7096 7097 7098 7099 7100 7101 7102 7103 7104 7105 7106 7107 7108 7109 7110 7111 7112 7113 7114 7115 7116 7117 7118 7119 7120 7121 7122 7123 7124 7125 7126 7127 7128 7129 7130 7131 7132 7133 7134 7135 7136 7137 7138 7139 7140 7141 7142 7143 7144 7145 7146 7147 7148 7149 7150 7151 7152 7153 7154 7155 7156 7157 7158 7159 7160 7161 7162 7163 7164 7165 7166 7167 7168 7169 7170 7171 7172 7173 7174 7175 7176 7177 7178 7179 7180 7181 7182 7183 7184 7185 7186 7187 7188 7189 7190 7191 7192 7193 7194 7195 7196 7197 7198 7199 7200 7201 7202 7203 7204 7205 7206 7207 7208 7209 7210 7211 7212 7213 7214 7215 7216 7217 7218 7219 7220 7221 7222 7223 7224 7225 7226 7227 7228 7229 7230 7231 7232 7233 7234 7235 7236 7237 7238 7239 7240 7241 7242 7243 7244 7245 7246 7247 7248 7249 7250 7251 7252 7253 7254 7255 7256 7257 7258 7259 7260 7261 7262 7263 7264 7265 7266 7267 7268 7269 7270 7271 7272 7273 7274 7275 7276 7277 7278 7279 7280 7281 7282 7283 7284 7285 7286 7287 7288 7289 7290 7291 7292 7293 7294 7295 7296 7297 7298 7299 7300 7301 7302 7303 7304 7305 7306 7307 7308 7309 7310 7311 7312 7313 7314 7315 7316 7317 7318 7319 7320 7321 7322 7323 7324 7325 7326 7327 7328 7329 7330 7331 7332 7333 7334 7335 7336 7337 7338 7339 7340 7341 7342 7343 7344 7345 7346 7347 7348 7349 7350 7351 7352 7353 7354 7355 7356 7357 7358 7359 7360 7361 7362 7363 7364 7365 7366 7367 7368 7369 7370 7371 7372 7373 7374 7375 7376 7377 7378 7379 7380 7381 7382 7383 7384 7385 7386 7387 7388 7389 7390 7391 7392 7393 7394 7395 7396 7397 7398 7399 7400 7401 7402 7403 7404 7405 7406 7407 7408 7409 7410 7411 7412 7413 7414 7415 7416 7417 7418 7419 7420 7421 7422 7423 7424 7425 7426 7427 7428 7429 7430 7431 7432 7433 7434 7435 7436 7437 7438 7439 7440 7441 7442 7443 7444 7445 7446 7447 7448 7449 7450 7451 7452 7453 7454 7455 7456 7457 7458 7459 7460 7461 7462 7463 7464 7465 7466 7467 7468 7469 7470 7471 7472 7473 7474 7475 7476 7477 7478 7479 7480 7481 7482 7483 7484 7485 7486 7487 7488 7489 7490 7491 7492 7493 7494 7495 7496 7497 7498 7499 7500 7501 7502 7503 7504 7505 7506 7507 7508 7509 7510 7511 7512 7513 7514 7515 7516 7517 7518 7519 7520 7521 7522 7523 7524 7525 7526 7527 7528 7529 7530 7531 7532 7533 7534 7535 7536 7537 7538 7539 7540 7541 7542 7543 7544 7545 7546 7547 7548 7549 7550 7551 7552 7553 7554 7555 7556 7557 7558 7559 7560 7561 7562 7563 7564 7565 7566 7567 7568 7569 7570 7571 7572 7573 7574 7575 7576 7577 7578 7579 7580 7581 7582 7583 7584 7585 7586 7587 7588 7589 7590 7591 7592 7593 7594 7595 7596 7597 7598 7599 7600 7601 7602 7603 7604 7605 7606 7607 7608 7609 7610 7611 7612 7613 7614 7615 7616 7617 7618 7619 7620 7621 7622 7623 7624 7625 7626 7627 7628 7629 7630 7631 7632 7633 7634 7635 7636 7637 7638 7639 7640 7641 7642 7643 7644 7645 7646 7647 7648 7649 7650 7651 7652 7653 7654 7655 7656 7657 7658 7659 7660 7661 7662 7663 7664 7665 7666 7667 7668 7669 7670 7671 7672 7673 7674 7675 7676 7677 7678 7679 7680 7681 7682 7683 7684 7685 7686 7687 7688 7689 7690 7691 7692 7693 7694 7695 7696 7697 7698 7699 7700 7701 7702 7703 7704 7705 7706 7707 7708 7709 7710 7711 7712 7713 7714 7715 7716 7717 7718 7719 7720 7721 7722 7723 7724 7725 7726 7727 7728 7729 7730 7731 7732 7733 7734 7735 7736 7737 7738 7739 7740 7741 7742 7743 7744 7745 7746 7747 7748 7749 7750 7751 7752 7753 7754 7755 7756 7757 7758 7759 7760 7761 7762 7763 7764 7765 7766 7767 7768 7769 7770 7771 7772 7773 7774 7775 7776 7777 7778 7779 7780 7781 7782 7783 7784 7785 7786 7787 7788 7789 7790 7791 7792 7793 7794 7795 7796 7797 7798 7799 7800 7801 7802 7803 7804 7805 7806 7807 7808 7809 7810 7811 7812 7813 7814 7815 7816 7817 7818 7819 7820 7821 7822 7823 7824 7825 7826 7827 7828 7829 7830 7831 7832 7833 7834 7835 7836 7837 7838 7839 7840 7841 7842 7843 7844 7845 7846 7847 7848 7849 7850 7851 7852 7853 7854 7855 7856 7857 7858 7859 7860 7861 7862 7863 7864 7865 7866 7867 7868 7869 7870 7871 7872 7873 7874 7875 7876 7877 7878 7879 7880 7881 7882 7883 7884 7885 7886 7887 7888 7889 7890 7891 7892 7893 7894 7895 7896 7897 7898 7899 7900 7901 7902 7903 7904 7905 7906 7907 7908 7909 7910 7911 7912 7913 7914 7915 7916 7917 7918 7919 7920 7921 7922 7923 7924 7925 7926 7927 7928 7929 7930 7931 7932 7933 7934 7935 7936 7937 7938 7939 7940 7941 7942 7943 7944 7945 7946 7947 7948 7949 7950 7951 7952 7953 7954 7955 7956 7957 7958 7959 7960 7961 7962 7963 7964 7965 7966 7967 7968 7969 7970 7971 7972 7973 7974 7975 7976 7977 7978 7979 7980 7981 7982 7983 7984 7985 7986 7987 7988 7989 7990 7991 7992 7993 7994 7995 7996 7997 7998 7999 8000 8001 8002 8003 8004 8005 8006 8007 8008 8009 8010 8011 8012 8013 8014 8015 8016 8017 8018 8019 8020 8021 8022 8023 8024 8025 8026 8027 8028 8029 8030 8031 8032 8033 8034 8035 8036 8037 8038 8039 8040 8041 8042 8043 8044 8045 8046 8047 8048 8049 8050 8051 8052 8053 8054 8055 8056 8057 8058 8059 8060 8061 8062 8063 8064 8065 8066 8067 8068 8069 8070 8071 8072 8073 8074 8075 8076 8077 8078 8079 8080 8081 8082 8083 8084 8085 8086 8087 8088 8089 8090 8091 8092 8093 8094 8095 8096 8097 8098 8099 8100 8101 8102 8103 8104 8105 8106 8107 8108 8109 8110 8111 8112 8113 8114 8115 8116 8117 8118 8119 8120 8121 8122 8123 8124 8125 8126 8127 8128 8129 8130 8131 8132 8133 8134 8135 8136 8137 8138 8139 8140 8141 8142 8143 8144 8145 8146 8147 8148 8149 8150 8151 8152 8153 8154 8155 8156 8157 8158 8159 8160 8161 8162 8163 8164 8165 8166 8167 8168 8169 8170 8171 8172 8173 8174 8175 8176 8177 8178 8179 8180 8181 8182 8183 8184 8185 8186 8187 8188 8189 8190 8191 8192 8193 8194 8195 8196 8197 8198 8199 8200 8201 8202 8203 8204 8205 8206 8207 8208 8209 8210 8211 8212 8213 8214 8215 8216 8217 8218 8219 8220 8221 8222 8223 8224 8225 8226 8227 8228 8229 8230 8231 8232 8233 8234 8235 8236 8237 8238 8239 8240 8241 8242 8243 8244 8245 8246 8247 8248 8249 8250 8251 8252 8253 8254 8255 8256 8257 8258 8259 8260 8261 8262 8263 8264 8265 8266 8267 8268 8269 8270 8271 8272 8273 8274 8275 8276 8277 8278 8279 8280 8281 8282 8283 8284 8285 8286 8287 8288 8289 8290 8291 8292 8293 8294 8295 8296 8297 8298 8299 8300 8301 8302 8303 8304 8305 8306 8307 8308 8309 8310 8311 8312 8313 8314 8315 8316 8317 8318 8319 8320 8321 8322 8323 8324 8325 8326 8327 8328 8329 8330 8331 8332 8333 8334 8335 8336 8337 8338 8339 8340 8341 8342 8343 8344 8345 8346 8347 8348 8349 8350 8351 8352 8353 8354 8355 8356 8357 8358 8359 8360 8361 8362 8363 8364 8365 8366 8367 8368 8369 8370 8371 8372 8373 8374 8375 8376 8377 8378 8379 8380 8381 8382 8383 8384 8385 8386 8387 8388 8389 8390 8391 8392 8393 8394 8395 8396 8397 8398 8399 8400 8401 8402 8403 8404 8405 8406 8407 8408 8409 8410 8411 8412 8413 8414 8415 8416 8417 8418 8419 8420 8421 8422 8423 8424 8425 8426 8427 8428 8429 8430 8431 8432 8433 8434 8435 8436 8437 8438 8439 8440 8441 8442 8443 8444 8445 8446 8447 8448 8449 8450 8451 8452 8453 8454 8455 8456 8457 8458 8459 8460 8461 8462 8463 8464 8465 8466 8467 8468 8469 8470 8471 8472 8473 8474 8475 8476 8477 8478 8479 8480 8481 8482 8483 8484 8485 8486 8487 8488 8489 8490 8491 8492 8493 8494 8495 8496 8497 8498 8499 8500 8501 8502 8503 8504 8505 8506 8507 8508 8509 8510 8511 8512 8513 8514 8515 8516 8517 8518 8519 8520 8521 8522 8523 8524 8525 8526 8527 8528 8529 8530 8531 8532 8533 8534 8535 8536 8537 8538 8539 8540 8541 8542 8543 8544 8545 8546 8547 8548 8549 8550 8551 8552 8553 8554 8555 8556 8557 8558 8559 8560 8561 8562 8563 8564 8565 8566 8567 8568 8569 8570 8571 8572 8573 8574 8575 8576 8577 8578 8579 8580 8581 8582 8583 8584 8585 8586 8587 8588 8589 8590 8591 8592 8593 8594 8595 8596 8597 8598 8599 8600 8601 8602 8603 8604 8605 8606 8607 8608 8609 8610 8611 8612 8613 8614 8615 8616 8617 8618 8619 8620 8621 8622 8623 8624 8625 8626 8627 8628 8629 8630 8631 8632 8633 8634 8635 8636 8637 8638 8639 8640 8641 8642 8643 8644 8645 8646 8647 8648 8649 8650 8651 8652 8653 8654 8655 8656 8657 8658 8659 8660 8661 8662 8663 8664 8665 8666 8667 8668 8669 8670 8671 8672 8673 8674 8675 8676 8677 8678 8679 8680 8681 8682 8683 8684 8685 8686 8687 8688 8689 8690 8691 8692 8693 8694 8695 8696 8697 8698 8699 8700 8701 8702 8703 8704 8705 8706 8707 8708 8709 8710 8711 8712 8713 8714 8715 8716 8717 8718 8719 8720 8721 8722 8723 8724 8725 8726 8727 8728 8729 8730 8731 8732 8733 8734 8735 8736 8737 8738 8739 8740 8741 8742 8743 8744 8745 8746 8747 8748 8749 8750 8751 8752 8753 8754 8755 8756 8757 8758 8759 8760 8761 8762 8763 8764 8765 8766 8767 8768 8769 8770 8771 8772 8773 8774 8775 8776 8777 8778 8779 8780 8781 8782 8783 8784 8785 8786 8787 8788 8789 8790 8791 8792 8793 8794 8795 8796 8797 8798 8799 8800 8801 8802 8803 8804 8805 8806 8807 8808 8809 8810 8811 8812 8813 8814 8815 8816 8817 8818 8819 8820 8821 8822 8823 8824 8825 8826 8827 8828 8829 8830 8831 8832 8833 8834 8835 8836 8837 8838 8839 8840 8841 8842 8843 8844 8845 8846 8847 8848 8849 8850 8851 8852 8853 8854 8855 8856 8857 8858 8859 8860 8861 8862 8863 8864 8865 8866 8867 8868 8869 8870 8871 8872 8873 8874 8875 8876 8877 8878 8879 8880 8881 8882 8883 8884 8885 8886 8887 8888 8889 8890 8891 8892 8893 8894 8895 8896 8897 8898 8899 8900 8901 8902 8903 8904 8905 8906 8907 8908 8909 8910 8911 8912 8913 8914 8915 8916 8917 8918 8919 8920 8921 8922 8923 8924 8925 8926 8927 8928 8929 8930 8931 8932 8933 8934 8935 8936 8937 8938 8939 8940 8941 8942 8943 8944 8945 8946 8947 8948 8949 8950 8951 8952 8953 8954 8955 8956 8957 8958 8959 8960 8961 8962 8963 8964 8965 8966 8967 8968 8969 8970 8971 8972 8973 8974 8975 8976 8977 8978 8979 8980 8981 8982 8983 8984 8985 8986 8987 8988 8989 8990 8991 8992 8993 8994 8995 8996 8997 8998 8999 9000 9001 9002 9003 9004 9005 9006 9007 9008 9009 9010 9011 9012 9013 9014 9015 9016 9017 9018 9019 9020 9021 9022 9023 9024 9025 9026 9027 9028 9029 9030 9031 9032 9033 9034 9035 9036 9037 9038 9039 9040 9041 9042 9043 9044 9045 9046 9047 9048 9049 9050 9051 9052 9053 9054 9055 9056 9057 9058 9059 9060 9061 9062 9063 9064 9065 9066 9067 9068 9069 9070 9071 9072 9073 9074 9075 9076 9077 9078 9079 9080 9081 9082 9083 9084 9085 9086 9087 9088 9089 9090 9091 9092 9093 9094 9095 9096 9097 9098 9099 9100 9101 9102 9103 9104 9105 9106 9107 9108 9109 9110 9111 9112 9113 9114 9115 9116 9117 9118 9119 9120 9121 9122 9123 9124 9125 9126 9127 9128 9129 9130 9131 9132 9133 9134 9135 9136 9137 9138 9139 9140 9141 9142 9143 9144 9145 9146 9147 9148 9149 9150 9151 9152 9153 9154 9155 9156 9157 9158 9159 9160 9161 9162 9163 9164 9165 9166 9167 9168 9169 9170 9171 9172 9173 9174 9175 9176 9177 9178 9179 9180 9181 9182 9183 9184 9185 9186 9187 9188 9189 9190 9191 9192 9193 9194 9195 9196 9197 9198 9199 9200 9201 9202 9203 9204 9205 9206 9207 9208 9209 9210 9211 9212 9213 9214 9215 9216 9217 9218 9219 9220 9221 9222 9223 9224 9225 9226 9227 9228 9229 9230 9231 9232 9233 9234 9235 9236 9237 9238 9239 9240 9241 9242 9243 9244 9245 9246 9247 9248 9249 9250 9251 9252 9253 9254 9255 9256 9257 9258 9259 9260 9261 9262 9263 9264 9265 9266 9267 9268 9269 9270 9271 9272 9273 9274 9275 9276 9277 9278 9279 9280 9281 9282 9283 9284 9285 9286 9287 9288 9289 9290 9291 9292 9293 9294 9295 9296 9297 9298 9299 9300 9301 9302 9303 9304 9305 9306 9307 9308 9309 9310 9311 9312 9313 9314 9315 9316 9317 9318 9319 9320 9321 9322 9323 9324 9325 9326 9327 9328 9329 9330 9331 9332 9333 9334 9335 9336 9337 9338 9339 9340 9341 9342 9343 9344 9345 9346 9347 9348 9349 9350 9351 9352 9353 9354 9355 9356 9357 9358 9359 9360 9361 9362 9363 9364 9365 9366 9367 9368 9369 9370 9371 9372 9373 9374 9375 9376 9377 9378 9379 9380 9381 9382 9383 9384 9385 9386 9387 9388 9389 9390 9391 9392 9393 9394 9395 9396 9397 9398 9399 9400 9401 9402 9403 9404 9405 9406 9407 9408 9409 9410 9411 9412 9413 9414 9415 9416 9417 9418 9419 9420 9421 9422 9423 9424 9425 9426 9427 9428 9429 9430 9431 9432 9433 9434 9435 9436 9437 9438 9439 9440 9441 9442 9443 9444 9445 9446 9447 9448 9449 9450 9451 9452 9453 9454 9455 9456 9457 9458 9459 9460 9461 9462 9463 9464 9465 9466 9467 9468 9469 9470 9471 9472 9473 9474 9475 9476 9477 9478 9479 9480 9481 9482 9483 9484 9485 9486 9487 9488 9489 9490 9491 9492 9493 9494 9495 9496 9497 9498 9499 9500 9501 9502 9503 9504 9505 9506 9507 9508 9509 9510 9511 9512 9513 9514 9515 9516 9517 9518 9519 9520 9521 9522 9523 9524 9525 9526 9527 9528 9529 9530 9531 9532 9533 9534 9535 9536 9537 9538 9539 9540 9541 9542 9543 9544 9545 9546 9547 9548 9549 9550 9551 9552 9553 9554 9555 9556 9557 9558 9559 9560 9561 9562 9563 9564 9565 9566 9567 9568 9569 9570 9571 9572 9573 9574 9575 9576 9577 9578 9579 9580 9581 9582 9583
|
2024-01-18 <RShouman@MOSHE5>
* Makefile (gw32scmwb.sh): Use BUILD macro in gw32scmwb.sh rule.
2024-01-17 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile: Summary: Removed prevdocs
* Makefile (CITERS): added $(htmldir)FreeSnell/FreeSnell.texi
* prevdocs/scm.info, prevdocs/scm_1.html, prevdocs/scm_10.html, prevdocs/scm_2.html, prevdocs/scm_3.html, prevdocs/scm_4.html, prevdocs/scm_5.html, prevdocs/scm_6.html, prevdocs/scm_7.html, prevdocs/scm_8.html, prevdocs/scm_9.html, prevdocs/scm_toc.html:
Summary: no longer used.
2024-01-17 shouman <shouman@jaffer-Vivobook-ASUSLaptop-X1703ZA-K1703ZA>
* build.bat: * build.bat: Use "scmlit.exe" instead of "scmlit".
2024-01-17 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile (CITERS): added $(htmldir)FreeSnell/FreeSnell.texi
2024-01-17 Radey <shouman@comcast.net>
* Makefile (all5): Fix sh script by removing extra "fi". Use
$(EXE) and $(BAT) macros to allow passing Windows file suffixes
using the environment. Use $(SCMLIT) as a target instead of scmlit,
so that suffix is included.
2024-01-15 Aubrey Jaffer <jaffer@jaffer-Vivobook-ASUSLaptop-X1703ZA-K1703ZA>
* patchlvl.h (SCMVERSION): Bumped from 5f4 to 5f4.
2023-10-16 Aubrey Jaffer <agj@alum.mit.edu>
* subr.c (scm_big_and): Patch from Radey to fix
(logior 0 (ash -1 64)) => 0 on 64 bit hardware.
2023-10-14 Aubrey Jaffer <agj@alum.mit.edu>
* mkimpcat.scm: Aubrey Jaffer <agj@alum.mit.edu>
Patch from Radey Shouman to use SLIB's new catalog:expand-path.
2023-08-15 shouman <shouman@jaffer-Vivobook-ASUSLaptop-X1703ZA-K1703ZA>
* debug.c:
Summary: Fix recent breakage in printing #@lambda expressions.
* debug.c, eval.c, repl.c, scm.h, sys.c:
Use IFLAGs for environment markers instead of
integers, to simplify debugging. Bash egc roots that are collected during main heap gc,
so we don't keep pointers to free cells.
2023-08-04 Radey <shouman@comcast.net>
* build.scm (gnu-win32 platform): For compile-dll-c-files and make-archive change "dllwrap"
call to "gcc -shared", dllwrap is deprecated. For link-c-program add linker directives to produce
.def and .lib files. scm.lib is required for linking dlls.
* scmfig.h: #define HAVE_DYNL if SCM_WIN_DLL is #defined, so init_dynl is called.
2023-08-04 Radey Shouman <shouman@comcast.net>
* scl.c (scm_intexpt): Fix overflow detection so that it works
without -fwrapv and with optimization. Uses a similar strategy to
that used for fixnum product.
2023-08-04 Radey Shouman <shouman@comcast.net>
* r4rstest.scm (test-bignum): Added some tests of EXPT requiring bignums.
2023-07-28 Radey Shouman <shouman@comcast.net>
* r4rstest.scm (test-bignum): Add test for bignum ash of -1.
2023-07-28 Radey Shouman <shouman@comcast.net>
* subr.c (scm_big_ash): Fix bug when first argument is 0 or -1 and
shift is a multiple of bigdig bits. Gave unpredictable results
due to internal array bounds error.
2023-07-24 Radey Shouman <rshouman@pmdlinux>
* scm.h (SCM_DLL_EXPORT, SCM_EXPORT): Changed for win32 so
that build with dynamic loading works.
* repl.c (input_waiting): For win32 fix so that this works
for an input pipe.
* scm.c (init_buf0): For win32 make stdin unbuffered if
an input pipe because it is when running in an emacs buffer.
2023-07-21 Radey Shouman <shouman@comcast.net>
* r4rstest.scm: Add a few more bignum arithmetic tests. Beautify
output of some float r/w tests by not printing closure.
* scl.c (product): Fix fixnum*fixnum case. The result of an
overflowing signed product in C is implementation dependent, and
gcc uses this freedom to optimize out a check. Fixed by either
using unsigned product or by using new SCM_LLONG optional type
macro.
* sys.c (scm_maksubr, scm_make_cont): Improve clarity.
* scmfig.h: Add conditional #defines for SCM_LLONG, a signed type
wide enough to hold the product of scm_int*scm_int. Defined for
x86_64 and x86_32. Defining this will enable better performance
for product subr.
* scm.h: Added typedefs scm_int and scm_uint, currently these
are always long and unsigned long, but that would change for
a 64-bit windows port.
2023-07-16 Radey Shouman <shouman@comcast.net>
* rgx.c (lregcomp): Replace calls to scm_protect_temp with
volatile SCM array on stack.
* unif.c (make_sh_array): Replace calls to scm_protect_temp with
volatile SCM array on stack.
* ramap.c (ramapc, ramap, rafe, scm_array_index_for_each, array_imap):
Replace calls to scm_protect_temp with volatile SCM array on stack.
* posix.c (getgroups): Replace calls to scm_protect_temp with
volatile SCM array on stack.
* eval.c (map, for_each): Replace calls to scm_protect_temp with
volatile SCM array on stack.
* subr.c (divbigbig): Use volatile SCM array on stack for gc
protection. Float test now passes with -O3.
* scl.c (big2str, istr2flo, pmantexp2dbl): Add gc protection for
temporary SCM cells using volatile SCM array on stack. Remove
calls to scm_protect_temp*.
2023-07-15 Radey Shouman <shouman@comcast.net>
* sys.c (scm_egc): Use s_numheaps instead of literal string.
2023-07-13 Aubrey Jaffer <agj@alum.mit.edu>
* keysymdef.scm, x11.scm: Updated.
* Makefile (*.opt): Removed Makefile dependency so that
user's customization persists.
2023-07-12 Radey Shouman <shouman@comcast.net>
* ramap.c (scm_array_index_for_each): use scm_protect_temp2 instead
of scm_protect_temp twice.
* scl.c (istr2flo): GC protect locals manstr and second.
* subr.c (divbigbig): GC protect locals quocell and dencell.
* sys.c, scm.h: Add scm_protect_temp2, to simplify GC protection
of two local variables. Procedure does literally nothing, but calling
it should make it harder to optimize SCM locals away.
2023-07-09 Radey Shouman <shouman@comcast.net>
* Make all .opt files depend on Makefile, so they do not need
to be deleted after editing Makefile.
2023-06-30 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile ($(distdir)scm-$(VERSION)-$(RELEASE).exe): Added HTML
documentation dependencies.
* scm.nsi: Commented out test for SLIB.
2023-06-30 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile ($(distdir)scm-$(VERSION)-$(RELEASE).exe): Added HTML
documentation dependencies.
* scm.nsi: Commented out test for SLIB.
2023-06-26 Aubrey Jaffer <agj@alum.mit.edu>
* r4rstest.scm (test-bignum): Added multiplication test for GCC
-O1 optimizer bug.
2021-09-01 Aubrey Jaffer <agj@alum.mit.edu>
* scl.c (istr2flo): Corrected case #ifndef SINGLES.
* unif.c (cvref): Corrected case #ifndef SINGLES.
2022-04-28 Radey <shouman@comcast.net>
* repl.c (scm_iprin1): When writing a string, reproduce all escaped characters
accepted as input: \0, \f, \n, \r, \t, \a, \v, \" & \\.
For _WIN32, #define strcasecmp as stricmp.
2022-04-27 Radey <shouman@comcast.net>
* socket.c (l_servinfo): Fix case of first argument an integer.
Add some casts to avert warnings.
2020-02-15 Aubrey Jaffer <jaffer@jaffer-Lenovo-Z70-80>
* patchlvl.h (SCMVERSION): Bumped from 5f2 to 5f3.
2018-06-29 Steve VanDevender
* scl.c (pmantexp2dbl): Fixed declaration following
non-declaration statement.
2018-06-24 Aubrey Jaffer <agj@alum.mit.edu>
* scl.c (pmantexp2dbl): Scale mantissa length for unnormalized FP.
2018-06-17 Aubrey Jaffer <agj@alum.mit.edu>
* scl.c (pmantexp2dbl): Do multiplication or division in FP when
it fits (uses precomputed dpows5[23]).
2018-06-06 Aubrey Jaffer <agj@alum.mit.edu>
* scl.c (pdbl2str): Moved power-of-two test earlier to avoid
bignum recycling.
2018-05-28 Aubrey Jaffer <agj@alum.mit.edu>
* scl.c: For powers-of-2 try incrementing quotient before adding
decimal digit.
* Makefile: rm -f for info files.
* keysymdef.scm, x11.scm: X11 codes changed.
2018-05-27 Aubrey Jaffer <agj@alum.mit.edu>
* scl.c: Restricted second conversion to fractional powers of two
of mant.
* scl.c (pdbl2str): Corrected for powers of two.
* r4rstest.scm (test-inexact-printing): Added float-powers-of-2-test.
2018-01-10 Aubrey Jaffer <agj@alum.mit.edu>
* Transcen.scm (real-log): Permit second argument to be 0.
2017-11-04 Aubrey Jaffer <agj@alum.mit.edu>
* Transcen.scm (real-log): Was missing.
2017-10-22 Aubrey Jaffer <agj@alum.mit.edu>
* sys.c (HUGE_LENGTH): Return unsigned long.
2017-10-21 Steve VanDevender
* scmhob.h (PRE_TRANSC_FUN): big2dbl() --> int2dbl().
2017-10-21 Aubrey Jaffer <agj@alum.mit.edu>
* scm.h: (must_realloc, must_realloc_cell): Made olen and len
arguments unsigned long.
* repl.c, scm.h, sys.c(mallocated, lmallocated): Made unsigned long.
* sys.c (igc_for_alloc): Made olen and size unsigned long.
2017-10-14 Steve VanDevender
* scl.c (pmantexp2dbl, int2dbl):
Fixed: (exact->inexact (+ most-positive-fixnum 1)) => 0.
2016-11-10 Radey Shouman <shouman@comcast.net>
* subr.c (scm_ash): Make (ash -1 shift) return -1 for
large values of shift.
2016-11-05 Karl Zhang
* build.scm (inexact): feature requires bignum for float I/O.
2016-09-01 Imre Patyi
* scl.c: Changed 0.0 to 0. on output.
2016-08-09 Jakub Bogusz
* scl.c (scm_ash, scm_round_quotient, product): I noticed that scm
5f2 built with "make all" fails make check with "Wrong type in
arg1" (0.0) in round_quotient.
It appeared to be caused by bigrecy() calls introduced in scm 5f2: in
some cases some bignum values are used after their bigrecy(), because
some routines reuse arguments as results:
2015-07-15 Martin Michlmayr
* scmfig.h: Added support for ARM64 (aarch64).
2015-01-14 Aubrey Jaffer <jaffer@dv7t>
* patchlvl.h (SCMVERSION): Bumped from 5f1 to 5f2.
2015-01-03 Aubrey Jaffer <agj@alum.mit.edu>
* scl.c (int2dbl, pmantexp2dbl): Recycle temporary bignums.
2014-11-27 Aubrey Jaffer <agj@alum.mit.edu>
* scl.c (pdbl2str, pmantexp2dbl): Cleaned up code.
2014-11-22 Aubrey Jaffer <agj@alum.mit.edu>
* scl.c (pmantexp2dbl): Handle exponents smaller than -324.
(pmantexp2dbl): Optimized. Added bigrecy(quo).
(pdbl2str, pmantexp2dbl): Uses powers-of-5.
2014-11-21 Aubrey Jaffer <agj@alum.mit.edu>
* scl.c (pmantexp2dbl): call int2dbl() instead of num2dbl().
(pdbl2str): Use powers-of-5 table instead of powers-of-10.
(pdbl2str): e2 > 0 prints out extra digit; reverting.
2014-05-04 Aubrey Jaffer <agj@alum.mit.edu>
* scl.c (strrecy, pdbl2str): Recycle temporary string used in
number->string conversion.
(scm_intexpt): Call bigrecy only when #ifdef BIGDIG.
2014-05-02 Aubrey Jaffer <agj@alum.mit.edu>
* subr.c (scm_bitwise_bit_count, scm_logcount, scm_intlength)
(big2inum): Recycle temporary bignums.
* scl.c (int2dbl, scm_intexpt, divide, difference, big2str)
(pdbl2str): Recycle temporary bignums.
2014-04-27 Aubrey Jaffer <agj@alum.mit.edu>
* scl.c (bigrecy): Added procedure to recycle bignums.
(mantexp2dbl, pmantexp2dbl, int2dbl): Recycle temporary bignums.
* r4rstest.scm (test-bignum): Added tests for GCD and LCM.
2014-04-24 Aubrey Jaffer <agj@alum.mit.edu>
* sys.c (sysptob): Added sysflush (for sys_errp). Fixed exit when
verbose > 3.
* scm.c (process_signals): Reenabled lfflush(sys_errp).
2014-04-21 Aubrey Jaffer <agj@alum.mit.edu>
* scm.texi (Internal State): Added "(gc #t)".
2014-04-07 Aubrey Jaffer <agj@alum.mit.edu>
* scl.c (pdbl2str): Replaced call to int2dbl() with scm_intlength().
2014-02-17 Aubrey Jaffer <agj@alum.mit.edu>
* scm.texi: TeXinfo-5 now disallows text between @defunx lines.
2014-02-08 From: Marc Espie
* time.c: OpenBSD is phasing out old interfaces such as ftime and
the timeb data structure. This should allow things to work in a
saner way on any system that uses gettimeofday().
2013-05-08 Aubrey Jaffer <agj@alum.mit.edu>
* patchlvl.h (SCMVERSION): Bumped from 5e7 to 5f1.
2013-04-14 Aubrey Jaffer <agj@alum.mit.edu>
* r4rstest.scm (test-inexact-printing): Added float-rw-range-test
to check that all powers of 10 in the range of IEEE doubles are
read-write-invariant and their strings are short.
2013-04-13 Aubrey Jaffer <agj@alum.mit.edu>
* scl.c (pmantexp2dbl): Renamed from imantexp2dbl and radically
simplified (because bex < 0).
2013-04-12 Aubrey Jaffer <agj@alum.mit.edu>
* scl.c (scm_intexpt): Fixed (integer-expt 2 -1074).
(dbl2big): Was returning unnormalized bignums.
2013-04-10 Aubrey Jaffer <agj@alum.mit.edu>
* scl.c (llog2): Use with bignums also.
2013-04-06 Aubrey Jaffer <agj@alum.mit.edu>
* scmfig.h (BIGDIG): Enable 32-bit BIGDIGs.
* subr.c (scm_big_ash): Workaround left-shifting unsigned int by
32-bits in gcc -O0 bug.
* scl.c: Removed debugging printf()s.
* dynl.c, eval.c, repl.c, scmmain.c (scm_verbose): Replaced uses
of `verbose' alias.
2013-03-31 Aubrey Jaffer <agj@alum.mit.edu>
* scmfig.h: Rearranged to enable detection of int size.
* subr.c (scm_bitfield, scm_ash): Don't reuse SCM variables as longs.
2013-03-30 Aubrey Jaffer <agj@alum.mit.edu>
* scl.c (ilong2str): Renamed from iint2str().
(pdbl2str): No longer assumes that ulong is larger than double.
* subr.c (divbigdig): Return type changed to UBIGLONG.
2013-03-24 Aubrey Jaffer <agj@alum.mit.edu>
* scm.h (iuint2str): Added declaration.
* scmfig.h (UBIGLONG, SBIGLONG): Added in preparation for 32-bit
BIDIG.
* bytenumb.c (scm_bytes_to_integer, scm_integer_to_bytes): Use
UBIGLONG for integers holding 2 BIGDIGs.
* scl.c (int2dbl): Only accumulate dbl_mant_dig worth of BIGDIGs.
(dbl2big, int2dbl): Use ldexp() instead of multiplication by BIGRAD.
(pdbl2str): Use unsigned int2str conversion.
(istr2int): Changed radix from long to int.
* subr.c (divbigbig): Implements core of scm_round_quotient().
(divbigbig): Round correctly when x is shorter than y.
(scm_copy_big_ash1): Abstracted repeated code from divbigbig().
(scm_big_ash, big2inum, long2big, addbig, mulbig)
(divbigdig, divbigint, divbigbig): Use UBIGLONG and SBIGLONG for
integers holding 2 BIGDIGs.
2013-03-17 Aubrey Jaffer <agj@alum.mit.edu>
* subr.c (scm_round_quotient): Round toward even.
2013-03-14 Aubrey Jaffer <agj@alum.mit.edu>
* scl.c (imantexp2dbl): Added to check that conversion to decimal
is accurate.
(pdbl2str): Uses smallest number of digits!
* subr.c (scm_round_quotient): Abstracted from decimal conversion
code and int2dbl().
2013-03-10 Aubrey Jaffer <agj@alum.mit.edu>
* scl.c (int2dbl): Renamed from big2dbl.
(inex_divintbig): Renamed from inex_divbigbig.
(big2scaldbl): Removed for not returning unnormalized doubles.
(divide, inex_divintbig): Can now return unnormalized doubles.
2013-03-09 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile (scm4, scm5, dscm5): Don't ignore (readback) errors.
* scl.c (mantexp2dbl, big2dbl): Comment out checks for rounding
evenness making a difference.
* r4rstest.scm (test-inexact): Changed 4.0 to f4.0.
* scl.c (mantexp2dbl): Reading now accurate for negative
exponents. Only one readback error remains: 699.99999999998702e18
(big2dbl): Turned out to need explicit rounding -- all are fixed!
2013-02-20 Aubrey Jaffer <agj@alum.mit.edu>
* scl.c (pdbl2str): Does engineering notation now.
2013-02-18 Aubrey Jaffer <agj@alum.mit.edu>
* scl.c (pdbl2str): Replaced with homegrown version.
(pdbl2str): Fixed nasty range error around 2.^53.
Still failing 12 readback tests; too many digits output.
2013-02-07 Aubrey Jaffer <agj@alum.mit.edu>
* r4rstest.scm (test-inexact-printing): Output both original and
readback value.
* scl.c (pdbl2str): Implements "Printing Floating-Point Numbers
Quickly and Accurately" by Robert G. Burger and R. Kent Dybvig.
1.000000000000001 doesn't seem right.
2013-01-24 Aubrey Jaffer <agj@alum.mit.edu>
* scl.c (dbl_prec, apx_log10, lpow10): Moved adjacent to
pdbl2str(), which is their only use.
2013-01-23 Aubrey Jaffer <agj@alum.mit.edu>
* scl.c (scm_cintlog): Fixed eqv reference in scmlit build.
2013-01-21 Aubrey Jaffer <agj@alum.mit.edu>
* scl.c (scm_next_dfloat): Removed (skipped codes).
(pdbl2str): Split from idbl2str() in preparation for improved
printing of floats.
2013-01-14 Aubrey Jaffer <agj@alum.mit.edu>
* scl.c (scm_intlog, integer-log): Ported to C.
* (ceiling-integer-log): Ported to C for use in printing floats.
2013-01-02 Aubrey Jaffer <agj@alum.mit.edu>
* scl.c (mantexp2dbl): Fixed reading of small magnitude numbers;
seem to be no missing codes from ieee-double->bytes.
2013-01-01 Aubrey Jaffer <agj@alum.mit.edu>
* scl.c (istr2flo): Convert '#' to '0' in mantissa string.
(mantexp2dbl): Fixed reading of large magnitude numbers!
(dbl2big): Don't loop forever on infinite arguments.
2012-12-29 Aubrey Jaffer <agj@alum.mit.edu>
* scl.c (mantexp2dbl): Separated mantissa conversion and scaling
from istr2flo().
2012-12-27 Aubrey Jaffer <agj@alum.mit.edu>
* bytenumb.c (get_bytes): Fixed bytes-length checking.
2012-12-18 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile: Removed turtlegr files from distribution because
copyright isn't assigned to FSF.
* findexec.c: Copyright was assigned to FSF.
2012-08-16 Aubrey Jaffer <agj@alum.mit.edu>
* eval.c (m_body): Reverse letrec bindings (and internal defines)
to produce LETREC* behavior.
2012-04-10 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile (upgnu): Added target to upload to ftp.gnu.org.
2012-01-11 Aubrey Jaffer <agj@alum.mit.edu>
* Init5e7.scm (integer->list): Negative k not allowed.
2011-12-27 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile (catfiles): Create catalogs at end of install and
remove in uninstall.
2011-12-25 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile (install-lib): Install $(wbfiles) if -f wbscm.so.
2011-12-23 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile (install-lib): Install "build" as program.
2011-11-24 Aubrey Jaffer <agj@alum.mit.edu>
* scm.texi (Testing): Moved between "Problems Linking" and
"Problems Starting".
2011-11-20 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile (install-lib): Make installation of libscm.a optional.
* scm.texi (Distributions, GNU configure and make): Added text
suggested by John Gabriele.
2011-11-15 Aubrey Jaffer <agj@alum.mit.edu>
* lastfile.c: Fixed typo ("macosx-config.h").
2011-11-12 Aubrey Jaffer <agj@alum.mit.edu>
* scm.texi, README (Installing SCM): Reorganized and expanded.
* Makefile (SETARCH): Use for disabling OS-X dump-time ASLR.
(udscm*.opt scm*.opt): Refactored dependencies.
2011-11-06 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile (alld5, all5): Clever sub-targets of all.
* scm.texi (Building Using Make): Added subsection.
2011-10-26 Aubrey Jaffer <agj@alum.mit.edu>
* scm.texi (Installing SCM): Reorganized in response to
suggestions from John Gabriele.
2011-10-25 Aubrey Jaffer <agj@alum.mit.edu>
* scm.texi (Installing SCM): Reorganized.
Updated email addresses.
* Makefile (configure.usage): Added.
2011-09-04 Aubrey Jaffer <agj@alum.mit.edu>
* scl.c (inf2str): Ouput +nan.0 for NaN.
(istr2flo): Parse [-+]nan.0.
2011-08-18 Aubrey Jaffer <agj@alum.mit.edu>
* scl.c (istr2flo): 1e-1 ==> 100.0e-3; 1f-1 ==> 100.00000149011612e-3
2011-08-05 Aubrey Jaffer <agj@alum.mit.edu>
* unexmacosx.c: Added Emacs dump code for OS-X.
* x11.scm: Updated for X Server 1.9.0.
2011-06-15 Aubrey Jaffer <agj@alum.mit.edu>
* scm.texi (I/O-Extensions): Added DIRECTORY*-FOR-EACH.
2011-03-11 Aubrey Jaffer <agj@alum.mit.edu>
* scmfig.h (__APPLE__): Include unistd.h.
2010-10-17 Aubrey Jaffer <agj@alum.mit.edu>
* scl.c (scm_bigdblcomp): Fixed type of argument to frexp().
* findexec.c (dld_find_executable): Handle getcwd() failure.
* sys.c (ltmpnam): Handle tmpnam() failure.
* unif.c (list->uniform-array): Fixed rank check.
2010-10-13 Aubrey Jaffer <agj@alum.mit.edu>
* scm.h (tc7_VfixN64, tc7_VfixZ64): Added.
* scm.texi (Data Type Representations): Allocated codes for
tc7_VfixN64 and tc7_VfixZ64.
2010-08-21 Aubrey Jaffer <agj@alum.mit.edu>
* differ.c (I32): Workaround for A:fixZ32b actually being 64.bit
on __x86_64.
* rope.c (scm_addr, scm_base_addr): Changed return type to void*.
2010-07-17 Aubrey Jaffer <agj@alum.mit.edu>
* scm.texi (Conventional Arrays): @exdent wide examples.
* Makefile (scm5, scm4): Fail if check fails.
* scl.c (inf2str): Use strcpy() instead of explicity copying.
2010-06-29 Aubrey Jaffer <agj@alum.mit.edu>
* patchlvl.h (SCMVERSION): Bumped from 5e6 to 5e7.
* Makefile (winscm5.opt): Use wb-no-threads.
* build.scm (wb-no-threads): wb feature for mingw.
* hobbit.texi (Compiling And Linking): Fixed \" quoting in @example.
* Makefile, scm.spec: Fixed RPM build.
2010-06-19 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile: INSTALL_INFO = ginstall-info.
2010-06-02 Aubrey Jaffer <agj@alum.mit.edu>
* configure: Improved portability of trailing / detection.
* Makefile (db.so): Added $(wbfiles) dependency.
2010-05-22 Aubrey Jaffer <agj@alum.mit.edu>
* configure (ac_default_prefix): Was lacking trailing /.
2010-04-27 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile (db.so): Recompile if any ../wb/c/*.c changes.
(tagfiles): Don't include documentation sources twice.
(x.h): CPROTO no longer available; "x.h" is in CVS.
2010-03-31 Aubrey Jaffer <agj@alum.mit.edu>
* ioext.c (copy-file): Added.
2010-03-16 Aubrey Jaffer <agj@alum.mit.edu>
* hobbit.texi (Compiling And Linking): Fixed quoting in example
compile commands for MS-DOS prompt.
2010-02-23 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile (Makefile): Runs ./configure to create config.status.
2010-02-13 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile: Reorganized per <http://www.gnu.org/prep/standards/>.
2010-02-04 Aubrey Jaffer <agj@alum.mit.edu>
* configure: GNU-style configuration for installation creates
config.status, which is included by Makefile.
2010-01-27 Aubrey Jaffer <agj@alum.mit.edu>
* scm.texi (Numeric): Added infinite?, finite?, exact-round,
exact-floor, exact-ceiling, and exact-truncate.
2009-12-27 Aubrey Jaffer <agj@alum.mit.edu>
* scm.texi (Bit Vectors): Fixed doc for bit-set*!.
2009-10-21 Aubrey Jaffer <agj@alum.mit.edu>
* ioext.c (init_ioext): Added directory*-for-each.
2009-10-05 Aubrey Jaffer <agj@alum.mit.edu>
* build.scm (wb): Added c-lib pthread.
(C-libraries): pthread added.
* Makefile (db.so): Corrected for new WB file organization.
2009-09-14 Radey Shouman <shouman@comcast.net>
* Macexp.scm (macro:expand-syntax): Fix non-pretty case.
Fully expand identifier macros.
* eval.c (scm_macroexpand1): Properly handle identifier macros.
(macroexp1): Fixed for the case of the first argument an
identifier -- used to return a list headed by #@quote.
(ceval_1): Fixed argument number check for nullary procedures --
used to incorrectly call scm_dynthrow.
2009-08-29 Aubrey Jaffer <agj@alum.mit.edu>
* dynl.c (l_dyn_main_call): Added cast to eliminate gcc warning.
* sys.c (free_storage): Removed late call to lfflush() which
caused segfault in fc9.
* mkimpcat.scm (in-wb-vicinity): is "../wb/c/".
2009-08-26 Aubrey Jaffer <agj@alum.mit.edu>
* sys.c (gc_mark): For tcs_cons_nimcar, do one CDR lookahead for
mark.
2009-08-02 Aubrey Jaffer <jaffer@localhost.localdomain>
* patchlvl.h (SCMVERSION): Bumped from 5e5 to 5e6.
2009-07-14 Aubrey Jaffer <agj@alum.mit.edu>
* ioext.c (make-directory): Fixed umask (to #o022).
2009-03-21 Aubrey Jaffer <agj@alum.mit.edu>
* scl.c (scm_bigdblcomp): Fixed comparison with infinities.
(scm_max, scm_min): Renamed from lmax, lmin.
(bigdblop): Fixed division by 0 and infinities.
(bigdblop): Fixed case: (/ (+ 1 most-positive-fixnum) 1e-165)
2008-12-14 Aubrey Jaffer <agj@alum.mit.edu>
* r4rstest.scm (6 5 5): Added exact-integer division tests.
2008-12-13 Aubrey Jaffer <agj@alum.mit.edu>
* r4rstest.scm (6 9): Added (procedure? /).
(4 2 4): Added test for test clause without expressions.
2008-11-15 Aubrey Jaffer <agj@alum.mit.edu>
* build.scm (build:command): Comment interfered with make-build-cgi.
2008-08-06 Aubrey Jaffer <agj@alum.mit.edu>
* rope.c (scm_gc_protect): Don't check if already protected; for
large Hobbit compiles that is an O(N^2) process.
* hobbit.scm (make-initialization-function!): Sets no_symhash_gc.
* sys.c, scm.h (no_symhash_gc): Added for Hobbit-produced code.
* Link.scm (link:link): Added calls to load:pre and load:post.
* mkimpcat.scm (add-links): Added "hobbit.so".
* Init5e5.scm (load:pre, load:post): Take operation argument for
use with both loading and linking.
2008-08-06 Martin Ward
* hobbit.scm (*c-keywords*): Added system, random, and exit.
(*char-replacements*): Added backslash.
2008-07-27 Thomas Bushnell BSG
* build.scm (linux-ia64, build-continue-ia64): Include
continue-ia64.o in .a libraries.
2008-07-05 Aubrey Jaffer <agj@alum.mit.edu>
* scm.texi (SCM Session): Added description of getenv (extension).
* scm.c (scm_getenv): Renamed from lgetenv; with no arguments,
returns names and values of all the environment variables as an
association-list.
2008-06-29 Aubrey Jaffer <agj@alum.mit.edu>
* sys.c (sfwrite, sfputs): Added "const" to first argument
declaration.
2008-06-15 Aubrey Jaffer <agj@alum.mit.edu>
* scm.nsi: Added "Tscript.scm".
2008-05-14 Aubrey Jaffer <agj@alum.mit.edu>
* repl.c (wait_for_input): Removed restriction to input-ports.
* record.c (recprin1): Don't print field values unless
SCM_SHOW_RECORD_FIELDS; allows suffix-trees to print.
2008-05-13 Radey Shouman <shouman@comcast.net>
* scm.c (ignore_signals): Added volatile assignment to
prevent scmable_signal function from being optimized
away - relevant only to windows builds.
2008-03-11 Aubrey Jaffer <agj@alum.mit.edu>
* scl.c (istr2flo): +/, +/0, and 234/ are no longer numbers.
* sys.c (scm_portp): Added SLIB prerequisite.
2008-02-25 Aubrey Jaffer <agj@alum.mit.edu>
* inc2scm, xgen.scm: Changed first line to invoke ./scmlit.
2008-02-19 Aubrey Jaffer <agj@alum.mit.edu>
* continue.h (STACK_GROWS_UP): if __hppa__.
* scm.texi (Automatic C Preprocessor Definitions): Added __hppa__
2008-02-18 Aubrey Jaffer <agj@alum.mit.edu>
* mkimpcat.scm (add-source): Look for file with scheme-suffix.
* Makefile (xevent.h xevent.scm xatoms.scm):
(x11.scm, keysymdef.scm): Don't source include files from DESTDIR.
2008-02-14 Aubrey Jaffer <agj@alum.mit.edu>
* build.scm (compile-dll-c-files, compile-c-files): Added missing
'(include-spec "-I" parms)'.
2008-02-13 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile (lsdfiles): Removed duplicate "Iedline.scm".
2008-02-10 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile (texifiles): Moved definition before use.
* build.scm (compile-dll-c-files, make-dll-archive):
MACOSX_DEPLOYMENT_TARGET=10.3
* Makefile (all): Don't make db.so.
(lsdfiles): Removed WB files.
(afiles): Removed $(wbfiles).
2008-02-01 Aubrey Jaffer <jaffer@aubrey.jaffer>
* patchlvl.h (SCMVERSION): Bumped from 5e4 to 5e5.
2008-01-31 Aubrey Jaffer <agj@alum.mit.edu>
* build (make-readme): Put - between scm and version.
* keysymdef.scm, x11.scm: X Window System Version 7.1.1
Release Date: 12 May 2006
X Protocol Version 11, Revision 0, Release 7.1.1
* Makefile, scm.spec: Always put - between scm and version.
* unexelf.c, unexmacosx.c, unexsgi.c, unexsunos4.c, gmalloc.c,
lastfile.c, macos-config.h, r4rstest.scm, syntest2.scm,
unexalpha.c, unexec.c, !#.c, build, build.scm, ecrt0.c,
findexec.c, bench.scm:
Changed license to GPL version 3.
* Transcen.scm, Tscript.scm, unif.c, unix.c, x.c, xgen.scm,
subr.c, sys.c, time.c, scm.texi, script.c, setjump.h, socket.c,
split.scm, scm.c, scm.h, scmfig.h, scmhob.h, scmhob.scm,
scmmain.c, repl.c, rgx.c, rope.c, sc2.c, scl.c, Macro.scm,
Makefile, mkimpcat.scm, pi.c, pi.scm, posix.c, ramap.c,
record.c, Iedline.scm, Init5e4.scm, Link.scm, Macexp.scm,
inc2scm, ioext.c, Idiffer.scm, gsubr.c, hobbit.scm, .gdbinit,
differ.c, disarm.scm, dynl.c, edline.c, eval.c,
get-contoffset-ia64.c, byte.c, bytenumb.c, compile.scm,
continue-ia64.S, continue.c, continue.h, crs.c, debug.c:
Changed license to LGPL version 3.
2008-01-30 Aubrey Jaffer <agj@alum.mit.edu>
* Tscript.scm: Handle EOF.
2008-01-28 Aubrey Jaffer <agj@alum.mit.edu>
* scm.texi (Overview): SCM is a GNU package.
(GNU Free Documentation License): Subsection of "Copying".
* Makefile, build.scm (manifest): Added fdl.texi and
COPYING.LESSER.
* README, build (make-readme): SCM is a GNU package.
2008-01-27 Aubrey Jaffer <agj@alum.mit.edu>
* byte.c (init_byte): Identity isn't defined yet; use cr.
2008-01-24 Aubrey Jaffer <agj@alum.mit.edu>
* scm.texi: Changed to "GNU Free Documentation License".
* fdl.texi (GNU Free Documentation License): Added.
* COPYING.LESSER: Added "GNU LESSER GENERAL PUBLIC LICENSE".
* COPYING: "GNU GENERAL PUBLIC LICENSE" Version 3.
* byte.c (bytes-append, bytes->string, string->bytes): Added.
2008-01-21 Aubrey Jaffer <agj@alum.mit.edu>
* scm.nsi (Uninstall): Delete tmp1, tmp2, and tmp3.
2008-01-19 Aubrey Jaffer <agj@alum.mit.edu>
* macos-config.h, unexmacosx.c, lastfile.c:
Added from Emacs for MacOS (darwin).
* build.scm (C-libraries): Added dump and dlll darwin entries.
(make-dll-archive, compile-dll-c-files): Added Darwin tagets.
(manifest): Added entries for "macos-config.h" and "lastfile.c".
* Makefile (all): Make x.so only if /usr/X11R6/lib exists.
(install, installlib): test -d is not needed with mkdir -p.
2008-01-18 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile (install): mkdir -p.
2008-01-16 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile (RSYNC): --rsync-path no longer needed.
2008-01-15 Radey Shouman <shouman@comcast.net>
* repl.c: Fix igc prototype, avert warning.
2008-01-15 Aubrey Jaffer <agj@alum.mit.edu>
* scm.nsi: Create shortcuts at installation; removed SCM.lnk.
(MUI_ICON): Set to "SCM.ico".
* Makefile ($(DOSCM)scm$(VERSION).zip): Removed SCM.lnk.
2008-01-13 Aubrey Jaffer <agj@alum.mit.edu>
* scm.nsi: Delete scmlit.exe, implcat, and slibcat when
uninstalling.
2008-01-11 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile ($(htmldir)Xlibscm_toc.html)
($(htmldir)hobbit_toc.html): Add SCM.ico.
2008-01-09 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile (all): Make differ.so.
(libscm.a, db.so, bytenumb.so, differ.so, myturtle, x.so): Depend
on scm.h and scmfig.h.
(doszip): Added SCM.ico
* scm.h, repl.c: Made ints_disabled VOLATILE.
2008-01-09 Radey Shouman <shouman@comcast.net>
* eval.c (ceval_1): Remove redundant DEFER_INTS_EGC from
new code.
2008-01-07 Radey Shouman <shouman@comcast.net>
* eval.c (scm_eval_values, ceval_1): Catch VALUES arity errors
in top-level repl evaluations. Eg (list (values 1 2)) now
throws an error even when typed to repl.
* scm.h (IM_EVAL_VALUES): Add isym for use by scm_eval_values.
* repl.c (isymnames): Add name for IM_EVAL_VALUES.
2008-01-02 Aubrey Jaffer <agj@alum.mit.edu>
* ANNOUNCE: Culled and reorganized URLs.
2007-12-23 Aubrey Jaffer <agj@alum.mit.edu>
* ioext.c (directory-for-each): Require 'filename, not 'glob.
* Init5e4.scm (slib:features): Added srfi-96.
2007-12-17 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile (CITERS): Added $(htmldir)FreeSnell/index.html.
2007-12-16 Aubrey Jaffer <agj@alum.mit.edu>
* scm.c (init_scm): The streams when the program was dumped need
to be reset at initialization.
2007-12-13 Aubrey Jaffer <agj@alum.mit.edu>
* scm.texi (SCM Features): Hobbit is included in distribution.
2007-11-28 Aubrey Jaffer <agj@alum.mit.edu>
* bytenumb.c (scm_integer_to_bytes): Declaration must start block.
* Makefile (Checklit, Check): Added case-sensitive checks.
* repl.c (scm_lreadr): Made case-insensitive for character names.
2007-11-25 Aubrey Jaffer <agj@alum.mit.edu>
* patchlvl.h (SCMVERSION): Bumped from 5e3 to 5e4.
2007-11-24 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile (release): Upload scm.pdf.
* repl.c (scm_lreadparen): Fixed case-sensitive symbol reading.
2007-11-23 Aubrey Jaffer <jaffer@aubrey.jaffer>
* requires.scm, Iedline.scm, Init5e4.scm: Downcased symbols to
work with case-sensitive symbols (--no-symbol-case-fold).
2007-11-03 Aubrey Jaffer <agj@alum.mit.edu>
* repl.c (scm_file_position): Added replacement for
file_set_position and file_position.
* Init5e3.scm (file-position, file-set-position): Added stub.
* ioext.c (file_set_position, file_position): Moved to repl.c.
* scm.texi (Port Properties): Moved file-position from
I/O-Extensions.
2007-10-24 Aubrey Jaffer <agj@alum.mit.edu>
* build.scm (wb): Added "../wb/segs.c".
2007-10-20 Aubrey Jaffer <agj@alum.mit.edu>
* scm.nsi: Install "mkimpcat.scm", "wbtab.scm", and "rwb-isam.scm".
2007-10-14 Aubrey Jaffer <agj@alum.mit.edu>
* Init5e3.scm (slib:load): Is not the same as slib:load-source.
2007-09-07 Aubrey Jaffer <agj@alum.mit.edu>
* scm.texi (Making SCM): Added cross reference to "Building SCM".
2007-09-04 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile (install): Remove wb dependencies.
* build.scm, build: Changed copyright and license to match others.
2007-09-03 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile (scm4): Added target.
(install*): Added $(DESTDIR) prefix.
2007-08-05 Aubrey Jaffer <agj@alum.mit.edu>
* findexec.c (__DragonflyBSD__, __OpenBSD__): Added. Made BSD
derivative includes more uniform.
* scm.texi (Automatic C Preprocessor Definitions): Added
__DragonflyBSD__ and __OpenBSD__.
* repl.c, scl.c, scm.h: Replaced (int) casts with PTR2INT().
* scmfig.h (PTR2INT): Added; conditioned on 64.bit processor.
2007-07-22 Aubrey Jaffer <agj@alum.mit.edu>
* repl.c (linux): Adding "#include <ctype.h>" fixes implicit
declaration warnings.
2007-07-21 Aubrey Jaffer <agj@alum.mit.edu>
* scm.h (num2char): Added declaration.
* scmfig.h (linux): Adding "#include <unistd.h>" fixes implicit
declaration warnings.
* findexec.c (linux): Adding "#include <string.h>" fixes implicit
declaration warnings.
2007-07-19 Aubrey Jaffer <agj@alum.mit.edu>
* dynl.c (l_dyn_main_call): Removed const from argv.
* rope.c, scm.h (must_free_argv): Removed `const's from argv.
2007-07-16 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile (udscm5): strip udscm5.
* scmfig.h: __FreeBSD__ now includes <unistd.h>.
2007-07-15 Aubrey Jaffer <agj@alum.mit.edu>
* sys.c (prinport): Don't choke if ttyname returns NULL.
2007-06-18 Aubrey Jaffer <agj@alum.mit.edu>
* subr.c (scm_bitwise_bit_count): Added; returns negative integer
for negative input.
2007-06-08 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile: Changed to use "mkdir -p".
2007-05-31 Aubrey Jaffer <agj@alum.mit.edu>
* ramap.c (scm_array_index_for_each): Added.
2007-04-28 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile (gdb.opt): Clear when copying from udscm5.opt.
(scm.html, hobbit.html): Make in unix for w32install because MinGW
chokes on @syncodeindex.
2007-04-19 Aubrey Jaffer <agj@alum.mit.edu>
* scm.texi: Don't break @ref fields over lines.
2007-04-19 Jerry van Dijk
* scm.nsi: Added "scmhob.scm".
2007-04-16 Aubrey Jaffer <agj@alum.mit.edu>
* repl.c (scm_write): Renamed from lwrite.
(scm_display): Renamed from display.
(scm_newline): Renamed from newline.
(scm_write_char): Renamed from write_char.
(scm_peek_char): Renamed from peek_char.
* Makefile (udgdbscm, gdbscm): Added dependencies.
2007-04-15 Aubrey Jaffer <agj@alum.mit.edu>
* sys.c (sysputs): Don't lfflush cur_errp.
(sysflush): Removed call to syswrite() which doesn't flush.
* scm.c (process_signals): Don't lfflush.
* sys.c (marksafep, syswrite): Internal calls to lflush replaced
by conditioned calls to lfflush.
* repl.c (scm_force_output): Renamed from lflush.
Internal calls replaced by conditioned calls to lfflush.
2007-04-14 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile (udscm5): Depends on ufiles.
(ufiles): Moved earlier in file so dependencies work.
2007-03-28 Aubrey Jaffer <agj@alum.mit.edu>
* build.scm (build): atari.st --> atari-st.
2007-03-27 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile (gw32scmwb.sh, scm.exe): Run in MinGW MSYS.
2007-03-26 Aubrey Jaffer <agj@alum.mit.edu>
* Transcen.scm: Provide math-real and srfi-94.
* Makefile ($(DOSCM)dist/scm$(VERSION).zip): Don't fail if there
is nothing to be updated in zip file.
2007-03-25 Aubrey Jaffer <agj@alum.mit.edu>
* build.scm (wb): Trailing "/" on -I ../scm/ choked MinGW.
* Makefile (gw32scmwb.sh): Added target for GNU-Win32 compilation.
(mfiles): Added "scm.nsi".
* build.scm (wb): wb/ent.c --> wb/ents.c.
2007-03-24 Aubrey Jaffer <agj@alum.mit.edu>
* indexes.texi: Made like SLIB's; doesn't choke makeinfo --html.
2007-03-09 Aubrey Jaffer <agj@alum.mit.edu>
* r4rstest.scm (5 2 1): Added tests for top-level define scope
violation (Kawa).
2007-03-05 Jerry van Dijk
* Makefile (w32install): Added target.
* make-scm-msys.sh: Compile script for MS-Windows.
* scm.nsi: NSIS Windows installer script.
2007-01-06 Aubrey Jaffer <agj@alum.mit.edu>
* build.scm (byte-number): Added feature.
* mkimpcat.scm (byte-number): Added.
* Makefile (cfiles, mydlls): Added bytenumb.c.
(bytenumb.so): Added.
* bytenumb.c: Byte/integer and byte/IEEE-floating-point
conversions.
2007-01-03 Aubrey Jaffer <agj@alum.mit.edu>
* rope.c (scm_addr, scm_base_addr): Added const to s_name arg.
2006-11-24 Aubrey Jaffer <agj@alum.mit.edu>
* Init5e3.scm, scm.1, scm.doc, scm.texi (--no-symbol-case-fold):
Added command-line option.
2006-11-22 Aubrey Jaffer <agj@alum.mit.edu>
* repl.c: Prefixed lread* functions with scm_ (like Guile).
(scm_iprin1): Don't slashify capitals if case_sensitize_symbols.
(scm_read_token): Don't downcase if case_sensitize_symbols.
* scm.c (case_sensitize_symbols): Added variable.
(scm_init_from_argv): Set case_sensitize_symbols (to 8) if option
"--no-symbol-case-fold" given.
* x.c, unif.c, sys.c, socket.c, scm.h, scl.c, rgx.c, record.c,
hobbit.scm, .gdbinit, eval.c, dynl.c, debug.c: Prefixed ipr*
functions with scm_ (like Guile).
2006-10-28 Aubrey Jaffer <agj@alum.mit.edu>
* build.scm (C-libraries): Regularized lib-path field.
(make-defaulting-platform-lookup): Default to OS before *unknown*.
* Makefile (scm5, udscm4, udscm5): Don't fail deleting *.o files.
2006-10-21 Aubrey Jaffer <jaffer@aubrey.jaffer>
* patchlvl.h (SCMVERSION): Bumped from 5e2 to 5e3.
2006-10-20 Aubrey Jaffer <agj@alum.mit.edu>
* scm.texi (Testing): Fixed typo in CHEAP_CONTINUATIONS.
* Transcen.scm (real-functions): Define real-* in terms of $* for
legacy executables.
* Makefile (checklit): No longer does test-cont.
(scmflags.h): Fixed crucial typo in CHEAP_CONTINUATIONS.
2006-10-20 Richard Harke
* continue-ia64.S: Update.
* build.scm (link-c-program linux-ia64): Added. "continue-ia64.o".
2006-10-03 Radey Shouman <shouman@comcast.net>
* eval.c (ceval_1): Change LETREC behavior to that of LETREC*:
initializers are run in left to right order, and may use
previously evaluated variables bound in the same contour. This
change also applies to LETRECs resulting from internal DEFINE.
2006-09-26 Aubrey Jaffer <agj@alum.mit.edu>
* byte.c (subbytes): Added.
2006-09-21 Aubrey Jaffer <agj@alum.mit.edu>
* scm.texi (Index): Replaced nodes under Indexes with node Index
when in info mode; fixes indexing in Emacs 21.4.1.
* indexes.texi (Indexes): Give each index its own node when not in
info mode. Moved index stuff here so it doesn't break
texinfo-every-node-update.
2006-09-19 Aubrey Jaffer <agj@alum.mit.edu>
* scm.h (BYTESP): Added.
* byte.c (scm_subbytes_read, scm_subbytes_write): Renamed from
substring.
2006-09-18 Aubrey Jaffer <agj@alum.mit.edu>
* Init5e2.scm (integer-log): Added from SRFI-94.
2006-08-28 Aubrey Jaffer <agj@alum.mit.edu>
* continue.h (FLUSH_REGISTER_WINDOWS): Undid __ia64__ hack.
* sys.c (igc): Call mark_regs_ia64() for __ia64__.
* scl.c: real-atan replaces $atan.
* Transcen.scm (atan): real-atan replaces $atan.
2006-08-27 Aubrey Jaffer <agj@alum.mit.edu>
* Transcen.scm: Aliases defined for `$' prefixes replaced by
`real-'.
* scm.texi (Numeric, Subr Cells): Most Scheme name `$' prefixes
changed to `real-'.
* hobbit.texi (Hobbit Options, SCM Primitive Procedures): Added
`real-' prefixed names.
* hobbit.scm (*float-recognize-ops*, *standard-s->c-fun-table*):
Added `real-' prefixed names.
* scl.c (cxrs): Most Scheme name `$' prefixes changed to `real-'.
* eval.c (scm_apply_cxr): Pulled common code out of ceval_1,
apply, and scm_cvapply which applies tc7_cxr. Now signals error
if function returns 0/0.
* Init5e2.scm (integer-sqrt): Added.
2006-08-23 Aubrey Jaffer <agj@alum.mit.edu>
* continue.h, continue.c: Added conditionals for ia64 port.
* sys.c (igc): Changed second argument to type SCM so it works
with Richard Harke's Linux-ia64 port.
* get-contoffset-ia64.c (main): Don't try to wrap jmpbuf.
* Transcen.scm (ln): Added synonym for log.
(quo, rem, mod): Simplified.
2006-08-16 Aubrey Jaffer <agj@alum.mit.edu>
* unif.c, sys.c, scl.c, rope.c, repl.c: Added support for
tc7_VfixN8 and tc7_VfixZ8.
* scm.h, scm.texi (Data Type Representations): Reassigned.
(tc7_VfixN8, tc7_VfixZ8): Added byte arrays.
* unif.c (aset): VfixN16 use num2ushort.
* ramap.c (array_copy): Corrected cast.
* scm.texi (Data Type Representations): Corrected pattern for
specfun and cclo.
* unif.c, sys.c, scl.c, rope.c, repl.c: Added support for
tc7_VfixN16.
* scm.h, scm.texi (tc7_VfixN16): Added; reordered tc7 assignments.
2006-08-15 Aubrey Jaffer <agj@alum.mit.edu>
* ramap.c, repl.c, rope.c, scl.c, sys.c, unif.c: Added support for
tc7_VfloC32.
* scm.h, scm.texi (tc7_VfloC32): Added; reordered tc7 assignments.
* scm.texi (Header Cells, Data Type Representations): Renamed
uniform vector types similarly to SRFI-63.
* scm.h (tc7_Vbool, tc7_VfixZ16, tc7_VfixN32, tc7_VfixZ32)
(tc7_VfloR32, tc7_VfloR64, tc7_VfloC64): Renamed uniform vector
types similarly to SRFI-63.
* Makefile (dscm4, dscm5): != is string operator in shell.
"mv -f" for previous scm, slibcat, and implcat.
2006-08-11 Aubrey Jaffer <agj@alum.mit.edu>
* Init5e2.scm (provide, slib:load-compiled): Modified to ease
transition from *FEATURES* to SLIB:FEATURES.
* Makefile (dscm4, dscm5): Added randomize_va_space machinations.
2006-08-10 Aubrey Jaffer <agj@alum.mit.edu>
* scm.texi (Saving Images): Explains recent Linux machinations.
* Makefile (dvi, pdf): New tetex-3.0(-20.FC5) broke them -- fixed.
2006-08-09 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile (SETARCH): Workarounds allow dumping in recent Linux.
* time.c (linux): defined CLKTCK to (sysconf(_SC_CLK_TCK)).
2006-07-20 Aubrey Jaffer <agj@alum.mit.edu>
* eval.c (m_body): Removed gratuitous CAUTIOUS conditional.
* build.scm (manifest): Corrected "get-contoffset-ia64.c".
2006-06-26 Aubrey Jaffer <agj@alum.mit.edu>
* build.scm (link-c-program linux-ia64): Create include file and
assemble "continue-ia64.S".
* get-contoffset-ia64.c: Small program to write ia64 assembly
include file "contoffset-ia64.S" with C offsets from Richard
Harke. Modified to take output filename as argument.
2006-06-03 Aubrey Jaffer <agj@alum.mit.edu>
* scm.texi (Debugging Scheme Code): Updated about stack checking.
* build.scm (stack-limit): Removed feature.
* scmfig.h (STACK_LIMIT): Always defined.
(CHECK_STACK): Condition on scm_verbose.
* sys.c (stack_check): Always present.
2006-06-02 Aubrey Jaffer <agj@alum.mit.edu>
* continue.h (FLUSH_REGISTER_WINDOWS): Use to mark multiple stacks
on __ia64__.
* Makefile (sfiles): Added getoffs.c.
(scmflags): CHEAP_CONTIUATIONS for scmlit.
* build.scm (stack-limit): HEAP_SEG_SIZE/2 was too small on FC2;
now HEAP_SEG_SIZE.
2006-05-21 Aubrey Jaffer <agj@alum.mit.edu>
* sys.c (igc): Moved FLUSH_REGISTER_WINDOWS to after setjump().
* repl.c (scm_read_numbered): Don't #ifndef MEMOIZED_LOCALS.
* build.scm (dont-memoize-locals): Added feature.
2006-05-14 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile (docs): Added target to make all documentation files;
then invoke xdvi.
* scm.texi: Converted to use @copying.
(Indexes): Reorganized.
2006-05-13 Aubrey Jaffer <agj@alum.mit.edu>
* r4rstest.scm (5 2 1): Expose Bigloo tprint redefinition bug.
2006-05-07 Richard Harke
* continue-ia64.S: Added.
* continue.c (make_root_continuation, make_continuation)
(dynthrow): #ifndef __ia64__.
2006-05-07 Aubrey Jaffer <agj@alum.mit.edu>
* ugsetjmp.s (_setjump, _longjump): For Ultrix VAX circa 1997.
* Makefile (sfiles): Renamed from vfiles; added continue-ia64.S
and ugsetjump.s.
* subr.c (mkbig, adjbig): Improved overflow message.
2006-04-24 Radey Shouman <shouman@comcast.net>
* eval.c (macroexp1): Add #ifdef to switch case handling line numbers
in ceval_1 so that they are safely discarded when MEMOIZE_LOCALS is
not #defined. Perhaps line number generation should be disabled in
that case.
2006-04-19 Aubrey Jaffer <agj@alum.mit.edu>
* Init5e2.scm (boot-tail): Don't load ScmInit.scm if *script*.
2006-03-24 Aubrey Jaffer <agj@alum.mit.edu>
* r4rstest.scm (test-bignum): Convert test bignums from strings.
* Init5e2.scm (string-index, read-line): Defined for
login->home-directory, which may be called before require defined.
* mkimpcat.scm (wbtab, rwb-isam): moved to "Simple associations".
(add-source): Use 'source form and check file's existence.
2006-03-23 Aubrey Jaffer <agj@alum.mit.edu>
* r4rstest.scm (have-bignums?): Check bignum arithmetic works.
(test-inexact): Do complex tests only if non-real numbers are
supported.
2006-03-18 Aubrey Jaffer <agj@alum.mit.edu>
* r4rstest.scm (test-inexact): Added equal? tests.
2006-03-17 Aubrey Jaffer <agj@alum.mit.edu>
* r4rstest.scm (test-inexact): Test for -0.0 lossage.
2006-03-14 Aubrey Jaffer <agj@alum.mit.edu>
* r4rstest.scm (test-inexact): Check that / and magnitude work for
very large and very small complex numbers (1e300; 1e-300);
2006-03-13 Aubrey Jaffer <agj@alum.mit.edu>
* scl.c (scm_magnitude): Extend dynamic range by eliminating
intermediate expression swell.
2006-03-12 Aubrey Jaffer <agj@alum.mit.edu>
* scl.c (divide): Use "Smith's formula" to extend dynamic range;
but makes an insignificant difference when compiled with -O3.
2006-02-19 Aubrey Jaffer <agj@alum.mit.edu>
* scl.c (atanh, acosh, asinh): define if #ifndef HAVE_ATANH.
* scmfig.h (HAVE_ATANH): Decides whether atanh, asinh, and acosh
are supported.
2006-02-16 Radey Shouman <shouman@comcast.net>
* scl.c: Changes to allow compilation with MinGW (gnu-win32);
asinh, acosh, and atanh are not yet supported.
2006-02-13 Aubrey Jaffer <jaffer@aubrey>
* patchlvl.h (SCMVERSION): Bumped from 5e1 to 5e2.
2006-02-08 Aubrey Jaffer <agj@alum.mit.edu>
* scl.c (lasinh, lacosh, latanh): Replaced by libc functions.
2006-02-08 Steve VanDevender
* scmfig.h (SHORT_INT, CDR_DOUBLES): For __x86_64 (AMD Opteron).
2006-01-23 Aubrey Jaffer <agj@alum.mit.edu>
* Transcen.scm (exact-round, exact-floor, exact-ceiling)
(exact-truncate): Returned inexacts.
2006-01-14 Aubrey Jaffer <agj@alum.mit.edu>
* Transcen.scm (quo, rem, mod): New names for inexact quotient,
remainder, and modulo.
* scmfig.h (SCM_EXPECT_TRUE, SCM_EXPECT_FALSE): Added.
(POSFIXABLE, NEGFIXABLE, UNEGFIXABLE): SCM_EXPECT_TRUE.
* scm.h: SCM_EXPECT_TRUE and SCM_EXPECT_FALSE replace
__builtin_expect().
(ASRTER, ASRTGO): SCM_EXPECT_FALSE.
* scl.c (sum, difference, divide): Added BIGDIG* cast to &z.
* scmfig.h (__builtin_expect): Added stub for non-gcc compilers.
* scm.h (INUMP, IMP, SINGP): Added __builtin_expect() netting more
than 9% speed improvement in JACAL.
* Makefile (scm5.opt, udscm4.opt): Commented out
-fno-guess-branch-probability flag.
2006-01-09 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile (udscm4.opt, scm5.opt): Condition
-fno-guess-branch-probability on `type gcc'.
2006-01-06 Aubrey Jaffer <agj@alum.mit.edu>
* byte.c, continue.c, crs.c, dynl.c, eval.c, gsubr.c, ioext.c,
posix.c, ramap.c, record.c, repl.c, rope.c, sc2.c, scl.c, scm.c,
scm.h, socket.c, subr.c, sys.c, time.c, unif.c, unix.c, x.c:
Regularized `if' syntax.
* Makefile (scm5.opt, udscm4.opt): -fno-guess-branch-probability
improves benchmark speed 10% on i686.
(hfiles): Moved to top of file so that dependencies work.
2006-01-04 Aubrey Jaffer <agj@alum.mit.edu>
* scl.c (numident): Don't bomb given bignums.
* scm.c (l_pause): __CYGWIN__ now has pause().
* scmfig.h (LACK_FTIME): __CYGWIN__ now has ftime().
* ioext.c: __CYGWIN__ has <unistd.h>.
* build.scm (build:command): Comment to script: [-p <platform>].
2005-12-18 Aubrey Jaffer <agj@alum.mit.edu>
* socket.c (l_lna, l_hostinfo, l_netinfo, l_setnet): Made
conditional on __CYGWIN__.
2005-12-07 Aubrey Jaffer <agj@alum.mit.edu>
* scl.c (makdbl): (+ -1/0 +5i) ==> -1/0; not 0/0.
2005-12-01 Aubrey Jaffer <agj@alum.mit.edu>
* scmmain.c, scm.h, scm.c, rope.c, repl.c: Added const decls.
* scl.c (apx_log10): Removed unused variable.
2005-10-29 Aubrey Jaffer <agj@alum.mit.edu>
* scl.c (scm_magnitude): Renamed from magnitude().
(scm_abs): Added, real-only.
* subr.c (absval): Moved to scl.c.
* hobbit.scm (*c-keywords*): absval --> scm_abs; magnitude -->
scm_magnitude.
* rope.c, scm.c, scm.texi, scmmain.c, script.c, socket.c: Added
const to argv.
* Init5e1.scm (abs): Is no longer synonym for magnitude.
2005-10-28 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile (turfiles): Added turtle-graphics files.
2005-10-27 Thomas Bushnell
* scm.doc, scm.1: Corrected spelling errors.
2005-10-02 Aubrey Jaffer <agj@alum.mit.edu>
* unexelf.c: Imported from emacs-22.0.50 to fix FC4 build.
2005-09-22 Aubrey Jaffer <agj@alum.mit.edu>
* rope.c (num2dbl): Handle 0/0.
2005-08-16 Aubrey Jaffer <agj@alum.mit.edu>
* Transcen.scm (exact-round, exact-floor, exact-ceiling)
(exact-truncate): Renamed from xxx->exact.
(limit): Removed.
* scl.c (inf2str): Changed to "+inf.0" and "-inf.0".
(istr2flo): Parse "+inf.0", "-inf.0", and
COMPACT_INFINITY_NOTATION.
2005-08-07 Aubrey Jaffer <agj@alum.mit.edu>
* Transcen.scm (round->exact, floor->exact, ceiling->exact,
truncate->exact): Added SRFI-70 convenience functions.
* differ.c (diff_mid_split): Unused `m' argument removed.
2005-07-17 Aubrey Jaffer <agj@alum.mit.edu>
* scl.c (safe_add_1): Replaces add1.
(scm_truncate): Renamed from ltrunc.
* scm.h (scm_truncate): Renamed from ltrunc.
(scm_floor, scm_ceiling): Added.
2005-07-02 Aubrey Jaffer <agj@alum.mit.edu>
* Transcen.scm (sequence->limit): Removed use of 1/0 literal.
* scl.c (inf2str): Prefix "1/0" with '+'.
(istr2flo, inf2str): COMPACT_INFINITY_NOTATION flag enables +/0
and -/0 infinity notations.
2005-06-30 Aubrey Jaffer <agj@alum.mit.edu>
* r4rstest.scm (SECTION 6 5 5): Restored 0^0 test.
* Transcen.scm (expt): 0^0 ==> 1.
* scl.c (scm_intexpt): 0^0 ==> 1.
2005-06-25 Aubrey Jaffer <agj@alum.mit.edu>
* scm.spec (slibpath, dumparch): Added.
2005-06-24 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile (DOSCM): Abstracted DOS zip creation.
* Transcen.scm, Init5e1.scm (infinite?, finite?): Added.
* scl.c (makdbl, init_scl): Don't bother with scm_narn for MSC.
(scm_finitep): Removed to Transcen.scm and Init5e1.scm.
* scm.h (scm_narn): Renamed from infi.
2005-06-21 Aubrey Jaffer <jaffer@aubrey>
* patchlvl.h (SCMVERSION): Bumped from 5d9 to 5e1.
2005-06-13 Aubrey Jaffer <agj@alum.mit.edu>
* Transcen.scm (limit): Check and report input errors.
2005-06-12 Aubrey Jaffer <agj@alum.mit.edu>
* Transcen.scm (limit): Added srfi-70 procedure.
2005-05-20 Aubrey Jaffer <agj@alum.mit.edu>
* r4rstest.scm: Removed tests for 0^0 in anticipation of SRFI-70.
* scl.c (scm_complex_p): 0/0 is not complex.
2005-05-18 Aubrey Jaffer <agj@alum.mit.edu>
* Makfile (scm5): Added target for undumpable architectures (FC3).
* Transcen.scm (expt, quotient, remainder, modulo): SRFI-70
extensions.
2005-05-10 Aubrey Jaffer <agj@alum.mit.edu>
* scl.c (inf2str): Renamed from NaN2str().
(makdbl): Returns `infi' for unreal infinities.
(scm_rationalp): Added (infinities not).
* scm.h (infi): Nonreal infinity added to sys_protects.
* scmfig.h (IS_INF): Removed.
* Init5d9.scm (numerator, denominator): Check rational.
2005-04-15 Aubrey Jaffer <agj@alum.mit.edu>
* Init5d9.scm (numerator, denominator): Added.
2005-04-14 Aubrey Jaffer <agj@alum.mit.edu>
* Init5d9.scm (with-load-pathname): Moved from slib/require.scm.
2005-03-18 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile (install): Added db.so.
(uninstall): Beefed up.
2005-01-30 Radey Shouman <shouman@comcast.net>
* Init5d9.scm (read:array): Make default rank one, not zero.
(as before).
2005-01-27 Aubrey Jaffer <agj@alum.mit.edu>
* Init5d9.scm (any-bits-set?, first-set-bit, bitwise-merge): Added
remaining SRFI-33 aliases.
2005-01-26 Aubrey Jaffer <agj@alum.mit.edu>
* Init5d9.scm (read-array-type): Handle A:char.
2005-01-19 Radey Shouman <shouman@comcast.net>
* script.c (find_impl_file): Find executable path accurately
on MS windows.
* Init5d9.scm (read:array): (read:sharp): (load:sharp): Use read
argument passed to READ:SHARP only for eval, otherwise unexpected
line numbers cause trouble. eg #+(or) in load file.
2005-01-18 Aubrey Jaffer <agj@alum.mit.edu>
* scm.texi (MS-DOS Compatible Scripts): Replaced %0 ... %9 with
%~f0 %*
* xgen.scm, build.bat, inc2scm: Replaced %0 ... %9 with %~f0 %*
2005-01-16 Aubrey Jaffer <agj@alum.mit.edu>
* Init5d9.scm (list->array, vector->array, array->vector): Added.
2005-01-09 Aubrey Jaffer <agj@alum.mit.edu>
* Init5d9.scm: Updated per SRFI-60.
* subr.c (scm_copybitfield): Changed argument order (SRFI-60).
2005-01-08 Aubrey Jaffer <agj@alum.mit.edu>
* Init5d9.scm (arithmetic-shift): Aliases ASH.
* scmhob.scm: Moved LOGICAL: aliases from logical.scm.
2005-01-06 Aubrey Jaffer <agj@alum.mit.edu>
* Init5d9.scm (read:array, read:sharp): Accept whole boatload of
SRFI-58 sytnaxes.
2005-01-01 Aubrey Jaffer <agj@alum.mit.edu>
* unif.c (scm_prot2type): Was not defaulting correctly.
2004-12-26 Aubrey Jaffer <agj@alum.mit.edu>
* unif.c (raprin1): Don't elide 1 from #1A.
2004-11-29 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile (SETARCH): Workaround for unexec on Fedora Linux i386.
2004-11-14 Aubrey Jaffer <agj@alum.mit.edu>
* r4rstest.scm (test-numeric-predicates): Raised exponent so
intransitive 128-bit-float implementations are caught.
2004-10-13 Aubrey Jaffer <agj@alum.mit.edu>
* byte.c (scm_write_byte): Was hosed for even number of bytes.
* scl.c (scm_intexpt): EXPT of zero behaves like Common-Lisp.
* r4rstest.scm (SECTION 6 5 5): Removed tests for (EXPT 0 -255)
so Common-Lisp compatible EXPT won't bomb.
Test EXPT inexactness contagion of zero cases.
* Transcen.scm (expt): Changed so (expt 0 -5) signals error.
EXPT of zero returns zero or one matching input exactness.
2004-10-10 Aubrey Jaffer <agj@alum.mit.edu>
* r4rstest.scm (SECTION 6 5 5): Added exact tests for EXPT.
Inexact EXPT corner cases should return inexacts.
* scl.c (scm_intexpt): Bombed given (integer-expt 0 25).
2004-09-23 Aubrey Jaffer <agj@alum.mit.edu>
* Init5d9.scm (inexact->exact, exact->inexact): Identity when
exacts-only.
2004-09-15 Aubrey Jaffer <agj@alum.mit.edu>
* ramap.c (array:copy!): Renamed from array-copy!.
(array_copy): Arguments reversed.
2004-09-12 Aubrey Jaffer <agj@alum.mit.edu>
* scm.texi (SCMDB): Added section with link.
(Hobbit): Moved notinfo stuff after Xlib so it appears same place
in all products.
2004-09-09 Wim Lewis
* Makefile (scmflags): Use "cmp -s" instead of "diff".
(x.h): Use -x $CPROTO to test for cproto's existence.
2004-09-04 Aubrey Jaffer <agj@alum.mit.edu>
* build.scm (dlll gnu-win32): Changed flag to "-DSCM_WIN_DLL".
(dlll microsoft-c-nt): Changed flag to "-DSCM_WIN_DLL".
* scm.h (SCM_WIN_DLL): renamed from SCM_DLL and DLLSCM.
Unatabified.
* ramap.c (init_ramap): Its tc7_subr_2 not tc7_subr2!
2004-08-11 Aubrey Jaffer <agj@alum.mit.edu>
* byte.c (scm_substring_read): Fixed off-by-one reading backwards.
2004-07-29 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile (db.so, rwb-isam.scm, wbtab.scm): Added.
2004-07-28 Aubrey Jaffer <agj@alum.mit.edu>
* build.scm (wb): Added for source in ../wb/.
(build:command): Assume c-files are relative to cd; don't prefix
c-files with scm-srcdir.
(compile-dll-c-files): Many were missing include-spec "-I" call.
* mkimpcat.scm: Support WB compiled in implementation-vicinity.
2002-07-07 Radey Shouman <shouman@attbi.com>
* scm.texi (Debugging Continuations): Added documenting
frame-trace, frame->environment, scope-trace, frame-eval.
2004-06-14 Aubrey Jaffer <agj@alum.mit.edu>
* Init5d9.scm (slib:eval-load): Define moved to "slib/require.scm"
2004-06-13 Aubrey Jaffer <agj@alum.mit.edu>
* repl.c (err_head): Fixed "loaded from" messages and formatting.
* Init5d9.scm (slib:eval-load): Converted to use (SLIB)
with-load-pathname.
* Link.scm (link:link): Converted to use with-load-pathname.
2004-05-28 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile: (SHOBJS): Abstracted *.sl and *.so.
2004-05-27 Aubrey Jaffer <agj@alum.mit.edu>
* repl.c (iprin1): Slashify uppercase chars in symbols.
2004-04-17 Aubrey Jaffer <agj@alum.mit.edu>
* differ.c, Idiffer.scm: Linear-space O(PN) sequence comparison.
* scm.spec (differ.so, Idiffer.scm): Added to %files.
* Makefile (differ.so): Added target.
* scm.texi (Sequence Comparison): Added.
2004-03-27 Aubrey Jaffer <agj@alum.mit.edu>
* ramap.c (rafe): Removed unused variables inc and base.
2004-03-26 Radey Shouman <shouman@comcast.net>
* eval.c (toplevel_define) (scm_arity_check) (ceval_1)
(scm_cvapply) (apply): Pass multiple arguments to captured
continuations, eg:
(call-with-values (lambda () (call/cc (lambda (k) 1 2))) list)
Better error checking for multiple-value returns in repl.
* sys.c (scm_dynthrow): Allow passing multiple arguments
to a continuation captured in the producer argument of
call-with-values.
2004-03-08 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile (mydlls): Call BUILD separately for each dll.
2004-03-07 Aubrey Jaffer <agj@alum.mit.edu>
* mkimpcat.scm: Added 'DIFF.
* build.scm (compile-dll-c-files): For those platforms supporting
shared object files, generate just one combining all FILES.
2004-02-24 Radey Shouman <shouman@comcast.net>
* subr.c (scm_logbitp): Fixed bug in range check for fixnum
case. Eg (logbit? 10 #xffff) now correctly returns #t.
2004-02-19 Aubrey Jaffer <agj@alum.mit.edu>
* Init5d9.scm (read:array): Ignore third argument; line-numbers
were hosing array reading.
2004-02-08 Aubrey Jaffer <agj@alum.mit.edu>
* repl.c (handle_it): Added comments. Call scm_fill_freelist() if
interrupt lacks handler.
2004-02-02 Aubrey Jaffer <agj@alum.mit.edu>
* repl.c (scm_top_level): Default value of toplvl_fun just once.
2004-01-30 Aubrey Jaffer <agj@alum.mit.edu>
* build.scm (compile-dll-c-files): Fixed -I for netbsd, openbsd.
(compile-dll-c-files): Added -I for svr4-gcc-sun-ld.
(file-categories): Renamed CORE from REQUIRED.
2004-01-20 Aubrey Jaffer <agj@alum.mit.edu>
* repl.c (read_token, iprin1, lreadr): Handle slashified symbols.
2004-01-19 Radey Shouman <shouman@comcast.net>
* eval.c (macroexp1): Catch more syntax errors: ('f . f)
2004-01-17 Aubrey Jaffer <agj@alum.mit.edu>
* scm.texi (SIOD copyright): Put in subsection.
(The SCM License): Parallel Guile License text.
2004-01-16 Aubrey Jaffer <agj@alum.mit.edu>
* scm.texi (Automatic C Preprocessor Definitions): Added "sun".
* unif.c, sys.c: Sun cc doesn't like fwrite declaration.
2004-01-14 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile (srcdir.mk): Include after target.
Separated shell assignments and exports.
2004-01-07 Aubrey Jaffer <agj@alum.mit.edu>
* r4rstest.scm: Added URLs.
2004-01-07 Radey Shouman <shouman@comcast.net>
* eval.c (m_case) (definedp): Avoid segfault in cases of syntax
error.
2003-12-03 Aubrey Jaffer <agj@alum.mit.edu>
* eval.c (definedp): Added third (dummy) argument.
2003-11-30 Aubrey Jaffer <jaffer@scm.jaffer>
* patchlvl.h (SCMVERSION): Bumped from 5d8 to 5d9.
2003-11-13 Aubrey Jaffer <agj@alum.mit.edu>
* scm.texi (Embedding SCM): Updated libtest example for
init_user_scm indirection (which Radey added 2003-01-24).
2003-11-08 Aubrey Jaffer <agj@alum.mit.edu>
* scm.texi (MS-DOS Compatible Scripts): Added sharpbang URL.
2003-11-05 Aubrey Jaffer <agj@alum.mit.edu>
* ramap.c (array-map): Added.
2003-10-30 Aubrey Jaffer <agj@alum.mit.edu>
* r4rstest.scm (inexact->exact): Added tests.
(exact->inexact): check for both exact and inexact argument.
2003-10-25 Aubrey Jaffer <agj@alum.mit.edu>
* build.scm (build): processor-family now symbol; i8086 <- 8086.
* mkimpcat.scm: Added rwb-isam feature.
2003-10-23 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile (dfiles): Added version.txi platform.txi features.txi.
2003-10-18 Aubrey Jaffer <agj@alum.mit.edu>
* build.scm (manifest): Added "byte.c".
* byte.c: Added. Improves RANDOM speed by 32%.
2003-10-15 <agj@alum.mit.edu>
* scm.texi (Build Options): Described *.opt option files.
* Makefile (CFLAGS): Removed "-g".
* bench.scm (benchmark-prng): Limit to 1000 samples if no bignums.
* Makefile (pg.opt, gdb.opt, dlls.opt): Added. Cleanup options.
2003-10-08 Aubrey Jaffer <agj@alum.mit.edu>
* build.scm (compile-c-files): Removed "-O" and "-Wall" options;
use --compiler-options= instead.
* subr.c (scm_logbitp, scm_ash): Prevent wraparound (1>>32==1).
2003-09-25 Sam Hocevar
* r4rstest.scm (test-inexact): SECTION 6.2 checks that
(not (eqv? 1 1.0)).
2003-09-23 Aubrey Jaffer <agj@alum.mit.edu>
* bench.scm (prng): Calls to random:random --> random.
2003-09-22 Aubrey Jaffer <agj@alum.mit.edu>
* scmfig.h (CDR_DOUBLES, SHORT_INT): Added __ia64 #defines.
* scm.texi (Automatic C Preprocessor Definitions): Added IA64.
2003-09-21 Aubrey Jaffer <agj@alum.mit.edu>
* ioext.c, posix.c (system->line): Defined.
2003-09-10 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile (continue.o): Was missing scmfig.h and scm.h
dependencies.
2003-08-26 Aubrey Jaffer <agj@alum.mit.edu>
* build.scm: Use open-table! and open-table.
* build (print-manifest, make-features-txi): Use open-table.
2003-08-23 Aubrey Jaffer <agj@alum.mit.edu>
* r4rstest.scm (6 5 5): Added some kawa chokers: #i, #e.
Added more kawa STRING->NUMBER bait.
2003-08-17 Aubrey Jaffer <agj@alum.mit.edu>
* scm.texi (Line Numbers): Added read-for-load.
(Load Syntax): Distinguished from Read syntax; documented #?line,
#?column, and #?file.
(Data Type Representations): Updated port formats.
* Init5d8.scm (slib:eval-load): Use *load-reader*.
* repl.c (scm_read_for_load): Added.
(p_read_numbered, p_read_for_load, p_read): Added locatives.
(lreadr): Pass appropriate read routine to load:sharp; read:sharp.
(flgs): Renamed from nump to reduce interference with INUMP, etc.
2003-08-16 Aubrey Jaffer <agj@alum.mit.edu>
* Init5d8.scm (load:sharp, read:sharp): Split read:sharp.
(load:sharp, read:sharp, char:sharp, read:array): Added READ arg.
(char:sharp): Renamed from read:sharp-char.
(read:sharp): Integrated #; into.
* repl.c (scm_read): Renamed from lread().
(loc_charsharp): Renamed from loc_readsharpc.
(loc_loadsharp): Added to separate LOAD-macros from READ-macros.
(f_read_numbered): Removed unused variable.
(repl, tryload, scm_load_string): Use scm_read_numbered().
(lreadpr): Dispatch to loc_readsharp or loc_loadsharp depending on
nump.
2003-08-15 Aubrey Jaffer <agj@alum.mit.edu>
* scl.c (floequal): Fixed so 0/0==0/0.
(eqv, eqp): Use floequal.
2003-08-14 Aubrey Jaffer <agj@alum.mit.edu>
* eval.c (init_eval): add_feature("primitive-hygiene").
* mkimpcat.scm (primitive-hygiene): Use feature to conditionalize
macro association.
2003-08-13 Aubrey Jaffer <agj@alum.mit.edu>
* scl.c (eqp): Fixed so (let ((nan 0/0)) (= nan nan)) ==> #t.
(in2ex): Infinite loop on (inexact->exact 0/0) change to err.
2003-07-22 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile (uninstallinfo): Created.
(uninstall): Remove libscmdir files.
2003-07-22 Andy Gaynor <silver@silver.reedkin.org>
* Makefile (Xlibscm.info, hobbit.info): Fixed / separators.
* unif.c (make_sh_array): Bracket with ifndef RECKLESS.
2003-07-16 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile (release): Make pdf(s).
2003-07-11 Radey Shouman <shouman@comcast.net>
* eval.c (m_case): Check on clauses for CASE was
confused by line-number annotations.
2003-07-10 Aubrey Jaffer <agj@alum.mit.edu>
* hobbit.texi (SLIB Logical Procedures): Removed "logical:"
aliases.
* compile.scm, hobbit.scm: Added REQUIRE-IFs.
* build, build.scm: Moved requires to top.
2003-07-02 Aubrey Jaffer <agj@alum.mit.edu>
* Init5d8.scm (make-array): Alias of create-array.
(read:sharp): Feature evaluation now slib:provided?
2003-06-29 Aubrey Jaffer <agj@alum.mit.edu>
* r4rstest.scm (test-string->number): Implementations which don't
allow division by 0 can have fragile string->number.
2003-06-24 Aubrey Jaffer <agj@alum.mit.edu>
* scl.c (iflo2str): Use negated conditional to handle 0/0.
(NaN2str): Removed "#i" prefix.
2003-06-22 Aubrey Jaffer <jaffer@aubrey.jaffer>
* patchlvl.h (SCMVERSION): Bumped from 5d7 to 5d8.
* hobbit.texi (Macro-Expansion and Analysis): Put @code{} around
some confusing words (or or and).
2003-06-20 Aubrey Jaffer <agj@alum.mit.edu>
* scm.texi (Array Mapping): Moved after uniform arrays.
* Init5d7.scm (make-array): Removed legacy procedure.
* x.c (x_free_color_cells, x_screen_size): Corrected prot numbers.
* eval.c (scm_profile): Corrected prot numbers.
* record.c (MAKE_REC_INDS): Corrected prot number.
* ramap.c (ramapc, array_imap): Corrected prot codes.
(array-fill!) Removed.
* unif.c (uniform-vector-fill!): Removed.
2003-06-18 Aubrey Jaffer <agj@alum.mit.edu>
* Macro.scm (@pprint, @print): display --> write.
2003-06-17 Aubrey Jaffer <agj@alum.mit.edu>
* scl.c (istr2flo): 1/0, -1/0, 0/0 are inexact infinities.
(idbl2str): Infinities represented by #i+1/0, #i-1/0, #i0/0.
* x11.scm: Lots of symbol ID-codes changed in XFree86-4.2.0.
* keysymdef.scm: Lots of new symbols in XFree86-4.2.0.
2003-04-04 Radey Shouman <radey@attbi.com>
* sys.c (prinport): print column and line numbers if available.
2003-03-12 Radey Shouman <radey@attbi.com>
* Init5d7.scm (read:sharp-char): Add #\x<hex-number>
#\o<octal-number>, #\d<decimal-number> character read syntax.
* repl.c (lreadr): Remove #\<octal-number> syntax,
moved to read:sharp-char.
2003-03-12 Radey Shouman <shouman@attbi.com>
* rope.c (init_rope): Replace static initializer for scm_protidx
with initialization in init_rope so that RESTART works.
* sys.c (init_storage):
* eval.c (init_eval): Replace static initializers so that
RESTART works.
2003-03-11 Radey Shouman <shouman@attbi.com>
* sys.c (close_port): Return value from port close function so
we can get the exit status of pipes at close time.
(free_storage): Re-initialize some values for RESTART.
2003-03-06 Aubrey Jaffer <agj@alum.mit.edu>
* eval.c (for_each): Fixed arity_check message.
2003-02-22 Aubrey Jaffer <agj@alum.mit.edu>
* build.scm (compile-dll-c-files, make-dll-archive, make-archive):
Added for gnu-win32.
2003-02-21 Aubrey Jaffer <agj@alum.mit.edu>
* build.scm (make-archive, make-dll-archive, compile-dll-c-files):
Added for microsoft-c-nt.
2003-01-29 Radey Shouman <shouman@attbi.com>
* repl.c (final_repl): Make sure to reinitialize closure print
information strings when restarting -- this caused segfaults under
windows.
2003-01-27 Aubrey Jaffer <agj@alum.mit.edu>
* eval.c, sys.c (s_redefining): Definition moved to "sys.c" from
"eval.c".
2003-01-24 Radey Shouman <shouman@attbi.com>
* dynl.c (prinshl, scm_dyn_link, scm_dyn_unlink, scm_dyn_call,
scm_dyn_main_call, init_dynl):
* scm.c (scm_init_extensions):
* scm.h (SCM_EXPORT):
* scmmain.c (main):
Changes to allow dynamic linking under MS win32.c
2003-01-11 Aubrey Jaffer <agj@alum.mit.edu>
* eval.c (ceval_1): Added workaround for GCC-2.3.1 on SPARC bug
reported by Steve VanDevender.
2003-01-07 Aubrey Jaffer <agj@alum.mit.edu>
* bench.scm (benchmark-prng): Increased time threshold.
* eval.c (ceval_1): arg1 now #defined to (struct) t.arg_1.
Consistently nets 3% on pi benchmark.
* bench.scm (benchmark-pi): Moved threshold; 450.MHz Pentium II
was on edge.
2003-01-05 Aubrey Jaffer <agj@alum.mit.edu>
* eval.c (ceval_1): "SCM arg1" replaces unused "union {} t".
2003-01-02 Aubrey Jaffer <agj@alum.mit.edu>
* hobbit.texi (Index): Added.
(Compiling And Linking): Documented option-files.
* compile.scm (compile-file, compile->executable): Use
option-files named for the first argument with ".opt" appended.
* build.scm (options-file): Made nary parameter.
(build:build): Report option-files used.
* build (build-from-argv): Don't splice out "-f <options-file>".
2003-01-02 Steve VanDevender <stevev@hexadecimal.uoregon.edu>
* build.scm (compile-c-files, compile-dll-c-files)
(make-dll-archive): Added for OSF1 (was ALPHA).
* socket.c (inet:make-address): Removed duplicate definition.
2002-12-30 Aubrey Jaffer <agj@alum.mit.edu>
* scm.h: Removed unused prototypes.
* scl.c (difference, divide):
* sys.c (init_storage, egc_copy_stack):
* unif.c (dims2ura, bit_position):
* repl.c (everr): Added {} to squelch gcc -Wall.
* ramap.c (sc2array): Moved prototype from "scm.h".
2002-12-29 Aubrey Jaffer <agj@alum.mit.edu>
* Init5d7.scm (logical:ones): Return 0 for 0 argument.
(gray-code->integer): Improved running time from O(b^2) to
O(b*log(b)).
2002-12-19 Aubrey Jaffer <agj@alum.mit.edu>
* scm.texi (SCM Options): Clarified descriptions of -, --, and -s.
2002-12-19 Radey Shouman <shouman@attbi.com>
* Init5d7.scm (error): Terminate in breakpointing error function
even if REQUIRE fails (and calls ERROR).
2002-12-18 Radey Shouman <shouman@attbi.com>
* ioext.c (l_opendir, l_readdir, l_closedir, l_rewinddir):
Added for win32 (tested on XP).
2002-12-11 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile (scmlit): #define CAUTIOUS.
* sys.c (make_subr): Reuse repeated names.
* eval.c (checked_define): Share warning strings.
* time.c (your_time): Shortened long warning message.
* rope.c (scm_gc_protect): Check if argument is already protected.
* scm.texi (Changing Scm): Added scm_protect_temp() and
scm_gc_protect().
(Type Conversions): Added num2short(), num2dbl(), and
scm_base_addr().
2002-12-09 Aubrey Jaffer <agj@alum.mit.edu>
* build.scm (array-for-each, record, generalized-c-arguments)
(curses, regex, socket, posix, unix): Changed to compiled-inits.
* Makefile (udscm4.opt, udscm5.opt, libscm.opt): Added.
(udscm4, udscm5, libscm.a): Take feature options from .opt file.
The *.opt files are never overwritten.
* posix.c (scm_getlogin): Removed.
* scm.texi (SCM Session): getlogin moved from Posix Extensions.
* Init5d7.scm (getlogin): Posix getlogin is useless; always define
getlogin using getenv.
2002-12-08 Aubrey Jaffer <agj@alum.mit.edu>
* build (build-from-argv): Fluid-let getopt-- to splice in options
from -f <filename>.
* build.scm (build): Added -f <filename> option.
* Makefile (bench): Run both pi and prng benchmarks.
* bench.scm (time-call): Abstracted timing procedure.
(benchmark-prng): Added.
2002-12-02 Aubrey Jaffer <agj@alum.mit.edu>
* Init5d7.scm:
* build (build-from-argv): Global variable *argv* replaces argc,
argv arguments.
(build-from-whole-argv, bi): Straightened.
2002-11-26 Aubrey Jaffer <jaffer@aubrey.jaffer>
* patchlvl.h (SCMVERSION): Bumped from 5d6 to 5d7.
2002-11-26 Aubrey Jaffer <agj@alum.mit.edu>
* Init5d6.scm (error, warn): Simplified.
2002-11-25 Aubrey Jaffer <agj@alum.mit.edu>
* scm.c (init_buf0): ifndef scoping didn't match "{}"s.
* x.c, unix.c, unif.c, sys.c, subr.c, socket.c, scm.texi, scm.h,
scm.c, scl.c, sc2.c, rope.c, rgx.c, repl.c, record.c, ramap.c,
posix.c, ioext.c, gsubr.c, eval.c, edline.c, dynl.c, debug.c,
crs.c (ASRTER): Renamed from ASSERT; conflict with "windows.h".
* scm.texi (Compiling and Linking Custom Files): ./build.
2002-11-25 dai <inukai.d@jeans.ocn.ne.jp>
* build.scm (compile-c-files freebsd, compile-dll-c-files
freebsd): Fixed for FreeBSD.
* build: Added -no-init-file to first line.
2002-11-20 Aubrey Jaffer <agj@alum.mit.edu>
* Init5d6.scm (browse-url): Added.
2002-11-17 Aubrey Jaffer <agj@alum.mit.edu>
* scm.texi (I/O-Extensions): directory feature renamed from
directory-for-each.
* ioext.c (current-directory, make-directory): Added.
2002-11-15 Radey Shouman <shouman@attbi.com>
* sys.c (scm_dynthrow): Fix bug in throwing to continuation
when environment stack segment needed to grow.
(scm_estk_shrink): Make sure the entire chain of non-writable
environment stack segments is appropriately marked.
Thanks to <david@anvil.com> for calling attention to the problem.
2002-11-11 Aubrey Jaffer <agj@alum.mit.edu>
* Init5d6.scm (logical:rotate): Added.
2002-10-30 Radey Shouman <shouman@attbi.com>
* eval.c (m_body): Fixed error reporting -- was segfaulting.
2002-10-24 Aubrey Jaffer <agj@alum.mit.edu>
* unif.c (make_sh_array): scm_arity_check(mapfunc).
2002-08-20 Radey Shouman <shouman@attbi.com>
* eval.c (m_do): Splicing BEGIN in the test of a DO removed because
it is buggy. Thanks for bug report from Daniel Skarda <0rfelyus@ucw.cz>.
2002-07-14 Rainer Urian <rainer.urian@symbolictool.de>
* sys.c: include <io.h> ifdef POCKETCONSOLE.
* scmmain.c (scm_find_implpath): Don't scm_try_path ifdef
POCKETCONSOLE.
* scmfig.h (NOSETBUF): Set ifdef POCKETCONSOLE.
* scm.texi (Automatic C Preprocessor Definitions): Added
_WIN32_WCE, _M_ARM, _M_ARMT.
* scm.h (CODE):
* eval.c (I_SYM, I_VAL):
* repl.c (iprin1): Workaround Microsoft CLARM compiler bug.
2002-06-07 Rainer Urian <rainer.urian@symbolictool.de>
* scm.c (scmable_signal):
* repl.c (wait_for_input):
* scmmain.c (main):
* scmfig.h:
Fixed console break handling for win32 systems, tested using
Microsoft visual C and the MinGW gcc port.
2002-06-02 Aubrey Jaffer <agj@alum.mit.edu>
* scm.texi (Syntax): Added example of SLIB/repl use.
(The Language): Reorganization of most sections.
* hobbit.texi: Fixed stale email address.
2002-06-01 Aubrey Jaffer <agj@alum.mit.edu>
* scm.texi (Unix Scheme Scripts, Unix Shell Scripts): Updated
script mechanics.
(Files and Ports): Moved port-filename, port-line, and port-column
from "Miscellaneous Procedures".
2002-05-26 Aubrey Jaffer <agj@alum.mit.edu>
* inc2scm (inc2scm): Replaces go-script; takes args.
* xgen.scm (xgen.scm): Replaces go-script; takes args.
* compile.scm (compile.scm): Replaces go-script; takes args.
2002-05-25 David S. <davids@idiom.com>
* scmmain.c, scm.c, time.c, repl.c, ioext.c, sys.c, crs.c,
posix.c, socket.c, unix.c, findexec.c: __NetBSD__ support.
* scm.texi (Automatic C Preprocessor Definitions): Add __NetBSD__
2002-05-21 Radey Shouman <shouman@attbi.com>
* unif.c (shap2ra): Check that upper bound is >= lower bound.
2002-05-18 Radey Shouman <shouman@attbi.com>
* unif.c (dim2ura): Fix unsigned vs signed comparison problem that
caused negative sizes to be passed to make_uve.
2002-04-26 Aubrey Jaffer <agj@alum.mit.edu>
* scm.texi (SLIB): Load of "require" unneeded.
* requires.scm (library-vicinity): Removed call of LOAD.
* Init5d6.scm (set-vicinities!): Fluid-let of LOAD unneeded.
(program-vicinity, pathname->vicinity): Removed to slib.
2002-04-24 Aubrey Jaffer <agj@alum.mit.edu>
* scm.texi (Unix Extensions, Posix Extensions): Added @cindexs.
* scl.c (dbl_mant_dig): Always use variable dbl_mant_dig when
ifdef FLOATS.
2002-04-23 Aubrey Jaffer <agj@alum.mit.edu>
* script.c (dld_find_executable): Eliminated unused #defines.
2002-04-18 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile, scm.spec (install): Added patchlvl.h.
2002-04-14 Aubrey Jaffer <jaffer@aubrey.jaffer>
* patchlvl.h (SCMVERSION): Bumped from 5d5 to 5d6.
* build.scm (platform->os): Added.
2002-04-11 Aubrey Jaffer <agj@alum.mit.edu>
* scm.texi (Invoking Build): Updated script examples. Changed vms
example to darwin.
* Makefile (CITERS): Added hobbit.scm.
(CC): Commented out "CC = gcc".
2002-04-11 Tanel Tammet <tammet@staff.ttu.ee>
* hobbit.scm (verbose): compilation corrected.
(require): moved from top level to hobbit procedure.
(copy-tree, acons, system): compilation introduced.
2002-04-08 Aubrey Jaffer <agj@alum.mit.edu>
* compile.scm (compile->executable): Removed gratuitous "-cscm.c".
* scm.c (SYSTNAME): __MACH__ was causing conflicting #define.
__MACH__ is "unix".
2002-04-07 Aubrey Jaffer <agj@alum.mit.edu>
* scl.c (subr1s, subr2s): Corrected conditioning for
scm_make_dfloat, scm_next_dfloat, and scm_dfloat_parts.
* scm.c (LACK_RAISE): Cleaned up conditional tree for l_raise.
* repl.c (kbhit): #define to 0 for PLAN9.
* sys.c: PLAN9 needed fwrite() prototype.
(mark_finalizers): Was wrongly conditioned on !NO_SYM_GC.
* mkimpcat.scm (build): Changed to load "build" (sans ".scm").
* hobbit.texi (Compiling And Linking): Added examples for
compile-file and compile->executable.
* compile.scm (compile->executable): Replaces link-named-scm.
2002-04-05 <aj@cypress.com>
* scmfig.h (STDC_HEADERS): Corrected PLAN9 typo.
(sizet): Corrected for PLAN9.
2002-04-03 Aubrey Jaffer <agj@alum.mit.edu>
* sys.c, time.c, continue.h, findexec.c, repl.c, scmfig.h, scm.h:
Ported to PLAN9.
* build.scm (plan9-8): Added port for Intel running PLAN9.
Comments desribe PLAN9 native C compiler `8c' options.
2002-04-03 George Bronnikov <goga@rubinstein.mccme.ru>
* scm.c (raise, system, isatty): Added for PLAN9 port.
2002-03-30 Aubrey Jaffer <agj@alum.mit.edu>
* Init5d5.scm (vicinity:suffix?, set-vicinities!): Added PLAN9.
Cleaned archaic conditional defines.
(set-vicinities!): Moved to just before load of require.scm.
* requires.scm (PLAN9): Added support.
2002-03-28 Aubrey Jaffer <agj@alum.mit.edu>
* hobbit.texi: Changed most inline code snippets to @example.
2002-03-28 Martin Lafaix <lafaix@online.fr>
* scm.c (l_raise, l_sleep):
* script.c (dld_find_executable):
* scmmain.c, scmfig.h: Ported to OS/2, IBM VisualAge C++ v3.
2002-03-22 <aj@cypress.com>
* build.scm (C-libraries): Fixed dlll svr4-gcc-sun-ld.
2002-03-21 Aubrey Jaffer <agj@alum.mit.edu>
* hobbit.scm (every1): Renamed from EVERY. Hobbit self-compile
chokes on multi-arg EVERY, complaining of non-liftable lambdaterm.
2002-03-19 Aubrey Jaffer <agj@alum.mit.edu>
* build.scm (make-dll-archive gcc): Was mistakenly labeled sunos.
2002-03-10 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile (hobbit.texi): Moved from hobfiles to dfiles.
* scm.spec (%files, %post): Added hobbit.
* hobbit.texi: Reorganization to chapter/section structure.
(Benchmarks): Shuffled so source not broken over dvi and pdf page
boundaries.
* Makefile (Xlibscm.pdf, hobbit.pdf): Targets added.
2002-03-05 Aubrey Jaffer <agj@alum.mit.edu>
* scl.c (istr2int, in2ex): Conditioned HP700 workaround on hpux.
* r4rstest.scm (SECTION 6 5 9): Added 32-bit corner cases.
* hobbit.texi (Compiling And Linking): Moved from "scm.texi".
2002-03-04 Radey Shouman <shouman@ne.mediaone.net>
* scl.c (ist2int): Fix integer overflow bug for fixnum-only case.
eg: (string->number "80000000" 16) ==> 0
2002-03-03 Aubrey Jaffer <agj@alum.mit.edu>
* hobbit.texi: Converted to texinfo from plaintext hobbit.doc.
* unif.c (bit_position): Renamed from position.
* eval.c (scm_cp_list): Renamed from copy_list to avoid hobbit
conflict.
* Link.scm (file->init_name): Added to map "-" ==> "_".
* hobbit.scm (scm-gc-protect): Wraps replace protect-constant.
(*c-keywords*): Added names from "sc2.c".
* Init5d5.scm (hobbit.tms): Removed dependence on missing file.
* mkimpcat.scm: Reorganized more compactly.
(compile): Added feature.
* build.scm (manifest): Added "compile.scm".
* compile.scm (scm): For script to compile inexacts.
(hobbit, compile-file, link-named-scm): Extracted from Link.scm.
Require 'compile to use.
* rope.c (scm_gc_protect): Always return argument.
* xgen.scm (progname): Added so works when loaded (vs. script).
(xatoms): Read XcmsColorFormat value as two hex integers so SCMLIT
doesn't truncate 32-bit value.
* xatoms.scm (X:RGB): Corrected (SCMLIT truncated 32-bit value).
(X:RGBi): Added.
* Makefile (ifiles): Added "compile.scm".
(xevent.scm, xatoms.scm): Added aliases for xevent.h.
2002-02-28 Aubrey Jaffer <agj@alum.mit.edu>
* Init5d5.scm (*features*): Moved forward in file.
* scm.c (scm_init_INITS): Added.
* repl.c (scm_top_level): Added call to scm_init_INITS().
* build.scm (turtlegr, mysql): Changed to compiled-init.
* Makefile (udscm5): Removed "-l debug".
(BUILD): Abstracted ./build -hsystem -p WHATEVER.
* rope.c (scm_gc_protect): Don't bother protecting IMPs.
* hobbit.scm (file-exists?): Removed.
comlist.scm functions moved to end; names corrected.
(*constant-list-var*): Removed; replaced with calls to
scm_gc_protect.
(*filter-inside-term-res*, filter-inside-term-aux!): Moved inside
filter-inside-term.
(nth-cdr, split): Unused; removed.
(first-n-reverse): Moved inside only use: make-tailrec-call.
(headerline, *h-port*): Moved inside display-header.
(build-wrapper-aux, build-wrapper): Moved inside build-wrappers.
(my-last-pair-aux): Moved inside my-last-pair.
* Link.scm (link:link): Fixed prepending "./" for SUN-DL.
2002-02-26 Radey Shouman <shouman@ne.mediaone.net>
* eval.c (scm_cvapply): Removed PUSH_TRACE and POP_TRACE, which
were #ifdeffed out. Testing with a version that pushed temporary
values on the C stack showed little to gain.
2002-02-25 Aubrey Jaffer <agj@alum.mit.edu>
* hobbit.scm (neq?): Inlined; removed.
(make-list, some): Rename egregious conflicts with SLIB, comlist.
(butlast): Changed to 2 argument function.
* Makefile (TAGFILES): build.scm was tagged twice.
* Link.scm (compile-file): Fixed suffix substitution.
2002-02-23 Aubrey Jaffer <agj@alum.mit.edu>
* sys.c (sysintern): Use scm_gc_protect().
* scm.h (scm_uprotects): Added to sys_protects[].
* scm.c (init_scm): Added init_rope() call.
* rope.c (scm_gc_protect, init_rope): Added.
2002-02-17 Aubrey Jaffer <agj@alum.mit.edu>
* sys.c (mark_subrs): Renamed from mark_subr_table.
(gra_report): Report both alloclen and len.
(init_types): scm.exe uses 397; always init malloc 420 subrs.
(scm_trim_gra): Added to downsize after init.
* scm.h (subrs_gra): Renamed from subr_table_gra.
* scm.c (scm_init_extensions): scm_trim_gra() ifndef HAVE_DYNL.
2002-02-14 Aubrey Jaffer <agj@alum.mit.edu>
* inc2scm, xgen.scm (go-script): Run even if not *script*.
* Makefile (CPROTO): Moved to srcdir.mk.
(x.h): Only create with $(CPROTO) if $(CPROTO) exists.
(x11.scm, keysymdef.scm, xevent.h, x.h): Don't use #!.
2002-02-13 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile (PREVDOCS): Changed to prevdocs/
2002-02-11 Aubrey Jaffer <agj@alum.mit.edu>
* patchlvl.h (SCMVERSION): Bumped from 5d4 to 5d5.
* sys.c (init_types): Initial subr_table size depends on
SHORT_SIZET.
2002-02-10 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile (CITERS, TAGFILES): Abstracted functional file groups.
* debug.c (stacktrace1): call to intprint() need long cast.
* rope.c: No longer include "continue.h".
* scmfig.h (PTR_GT, PTR_LE, PTR_GE): Put near PTR_LT.
* sys.c (heap_report): Moved from "repl.c".
* eval.c (scm_check_linum): Most calls to needed 0L.
* repl.c (everr): Call to scm_check_linum needed 0L.
* scm.texi (Allocating memory): must_realloc_cell, must_realloc
disallowed during init.
* sys.c (gra_report): Added.
(scm_gc_protect): Removed.
(init_types): Initialize sys_protects to UNDEFINED.
(init_types): Increased initial *_gra limits to prevent realloc
during init.
(must_realloc_cell, must_realloc): ASSERT !errjmp_bad.
* repl.c (lroom): Call gra_report().
* scm.h (flo0, NUM_PROTECTS): Don't #ifdef to save 4 bytes.
(f_apply_closure, eval_env, list_unspecified, f_evapply): In
sys_protects[].
* eval.c (init_eval): Removed calls to scm_gc_protect; put them in
sys_protects[].
2002-02-08 Aubrey Jaffer <agj@alum.mit.edu>
* eval.c (init_eval): eval_env assignment uses sysintern for INTS
discipline.
* sys.c (scm_estk_grow, scm_estk_shrink): +0L.
(mksafeport): Only called from init_storage(); don't DEFER_INTS.
(sysintern, scm_grow_gra): Only called while protected; don't
DEFER_INTS.
(scm_port_entry): Move malloc to init_storage().
(init_storage): Inlined creation of null string and vector; fixed
INTS discipline.
* scm.c (*scm-version*): Value changed to ssymbol for INTS
discipline.
2002-02-06 Aubrey Jaffer <agj@alum.mit.edu>
* sys.c (scm_open_ports, sysintern): Removed gratuitous casts.
* scm.c (init_scm): Changed order of init_*s.
* subr.c (mkbig): Removed gratuitous cast.
* unif.c (resizuve): Removed gratuitous cast.
2002-02-03 Aubrey Jaffer <agj@alum.mit.edu>
* sys.c (scm_grow_gra): Don't DEFER_INTS; only called from inits.
(scm_estk_shrink): Cast sizet passed to make_stk_seg().
* eval.c: Cleanup; made __LINE__ numbers int.
* scmmain.c (main): freeall is always 1.
* scmfig.h (ints_infot): linum long->int.
* scl.c (inex_divbigbig): Added default case.
* scm.texi (Memory Management for Environments): Added indexes.
2002-02-02 Aubrey Jaffer <agj@alum.mit.edu>
* posix.c (l_pipe): DEFER_INTS was missing.
* eval.c (init_eval): Cast argument to intern().
* repl.c (scm_top_level): Removed unreachable code.
* sys.c (scm_estk_shrink): Removed unused SCM *v.
2002-01-31 Aubrey Jaffer <agj@alum.mit.edu>
* scm.texi (Uniform Array): Updated for SLIB changes.
* unif.c (float_eq_double_P, i_short): Removed.
(scm_prot2type): Removed most legacy prototypes; much simpler!
* Init5d4.scm (make-uniform-wrapper): Get rank correct.
(read:array): Use orthogonal prototypes for legacy syntax.
* ramap.c (array-indexes): Change to use create-array.
* Init5d4.scm (Ac64, Ac32, Ar64, Ar32, As64, As32, As16, As8,
Au64, Au32, Au16, Au8, At1): Added prototype makers.
2002-01-29 Aubrey Jaffer <agj@alum.mit.edu>
* debug.c (num_frames, estk_frame, cont_frame, stacktrace1):
Removed "static"; moved prototypes to scm.h.
2002-01-28 Radey Shouman <Shouman@ne.mediaone.net>
* eval.c (macroexp1): Fix error handling for line-numbered objects
other than pairs.
* repl.c (lread_rec): Add line numbers to vectors read using
READ-NUMBERED, to allow more specific unquoted vector warnings.
* Init5d4.scm (read:sharp-char): Make #\C-M-a equivalent to #\M-C-a.
2002-01-28 Aubrey Jaffer <agj@alum.mit.edu>
* scm.texi (Uniform Array): Removed most uniform-vector functions.
* Init5d4.scm: Removed uniform-vector functions.
* unif.c (uve_len, uniform-vector-length): Removed.
(uniform-vector-set1!, uniform-vector-ref): Removed.
(scm_prot2type, array_prot): Converted to new prototypes.
* unif.c (raprin1): Changed to new array syntax.
* Init5d4.scm (read:sharp-char): Rearranged.
(read:array): Support new array syntax.
2002-01-26 Aubrey Jaffer <agj@alum.mit.edu>
* Init5d4.scm (call-with-open-ports): Accept arguments reversed.
(try-create-file): Accept symbol for modes argument.
(OPEN_READ, OPEN_WRITE, OPEN_BOTH): Changed to symbols.
(_IONBF, _TRACKED, _EXCLUSIVE): Work with strings OR symbols.
* ioext.c (reopen_file, l_dup2, scm_try_create_file):
* sys.c (mksfpt, try_open_file):
* posix.c (open_pipe): Accept symbol for modes argument.
* scm.texi (tc7_svect): Uniform short vector type.
2002-01-24 Radey Shouman <shouman@ne.mediaone.net>
* scm.c (l_sleep): Microsoft Sleep takes millisecond argument,
convert from seconds.
* repl.c (scm_err_line): Added for standard printing of erring
file and line number.
(err_head): Use scm_err_line.
* debug.c (princlosure, scm_scope_trace): Use scm_err_line.
* findexec.c: Do nothing if __MINGW32__ is #defined, so scmlit can
be built with mingw using the makefile.
2002-01-22 Radey Shouman <shouman@ne.mediaone.net>
* eval.c: (scm_cvapply, apply): Save and restore scm_trace
expression for better backtraces.
(map, for_each): No longer need additional tracing.
* debug.c: (stacktrace1): Use BOOL_F as default value of trace, to
avoid confusion with the UNDEFINED end-of-estk marker.
2002-01-22 Aubrey Jaffer <agj@alum.mit.edu>
* ioext.c, time.c, scm.c, findexec.c (__MACH__): Darwin port.
* build.scm (Darwin): Added support for APPLE/MACH/PPC.
* repl.c (swapcar): Added synchronization primitive.
* scm.texi (Process Synchronization): Added make-exchanger.
* Init5d4.scm (make-exchanger): Defined using swap-car!.
2002-01-20 Aubrey Jaffer <agj@alum.mit.edu>
* xgen.scm: QASE renamed from CASEV.
* Init5d4.scm, scm.texi (qase): Renamed from casev.
Feature `database-utilities' renamed `databases'.
* build.scm: Feature `database-utilities' renamed `databases'.
2002-01-19 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile (intro): Moved above srcdir.hk. Added "make scm".
2002-01-18 Radey Shouman <Shouman@ne.mediaone.net>
* ramap.c (racp): Fixed bug in array-copy! from a general array to
a bit-array or a char-array.
2002-01-15 Aubrey Jaffer <agj@alum.mit.edu>
* scmfig.h: Added MSVC pragmas.
* unif.c (raprin1): Fixed #Aid array prefix.
(float_eq_double_P): Added workaround for MSVC.
2002-01-13 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile (scm): Added just-bignums-and-arrays target for JACAL.
* Init5d4.scm (set-vicinities!): Load "requires.scm" if
"require.scm" absent.
* scm.c (SYSTNAME): __MACH__ -> "mach".
* scm.texi (Automatic C Preprocessor Definitions): Updated with
Apple Darwin flags.
2002-01-03 Aubrey Jaffer <agj@alum.mit.edu>
* Init5d4.scm (array=?): Added.
2001-12-06 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile (scm.info): Depends on rautil.txi.
2001-12-01 Aubrey Jaffer <agj@alum.mit.edu>
* Init5d4.scm (logical): Removed legacy definitions.
* r4rstest.scm (4 2 2): Added test for LET bug.
2001-11-15 Aubrey Jaffer <agj@alum.mit.edu>
* build.scm (build): Updated for SLIB dbutil changes.
2001-11-11 Aubrey Jaffer <agj@alum.mit.edu>
* Init5d4.scm (bit-reverse integer->list list->integer
booleans->integer bitwise:laminate bitwise:delaminate): Added bit
order and lamination functions.
(integer->gray-code gray-code->integer gray-code<? gray-code<=?
gray-code>? gray-code>=?): Added Gray code functions.
2001-10-27 Radey Shouman <Shouman@ne.mediaone.net>
* repl.c (gc_start, gc_end): Removed check for FPORTP(cur_errp),
no longer useful since we now write to sys_errp with no real
output until gc is over.
2001-10-21 Aubrey Jaffer <agj@alum.mit.edu>
* build (build-from-argv): Fail gracefully if params is #f.
2001-09-27 Aubrey Jaffer <agj@alum.mit.edu>
* ioext.c (file-exists?): Defined using ACCESS.
(scm_try_create_file): Conditional on O_EXCL being defined.
2001-09-26 Aubrey Jaffer <agj@alum.mit.edu>
* Init5d4.scm (_EXCLUSIVE): Added.
(try-create-file): Added; supports open for exclusive write.
(file-exists?): Conditionally defined.
* ioext.c (scm_try_create_file): Moved from "unix.c".
2001-09-24 Aubrey Jaffer <agj@alum.mit.edu>
* scm.texi (SCM Session): boot-tail documented.
2001-09-21 Aubrey Jaffer <agj@alum.mit.edu>
* bench.scm (benchmark): Metric interchange units.
2001-09-11 Aubrey Jaffer <agj@alum.mit.edu>
* xgen.scm (schemeify-name): Converted to use StudlyCapsExpand.
* Init5d4.scm (string-case): Added StudlyCapsExpand.
2001-09-10 Radey Shouman <Shouman@ne.mediaone.net>
* unix.c: (scm_try_create_file): Opens a file only if it does not
already exist. (Uses open() with the O_EXCL flag).
* sys.c: (try_open_file): Calls back to try-create-file if an "x"
flag is specified.
* Init5d4.scm: (try-create-file): autoloaded.
2001-09-03 Igor Goldenberg <igold@mail.ru>
* findexec.c, scmfig.h, scm.c, time.c (__amigaos__): replaces
obsolete __amigados__.
* build.scm (amiga-gcc): "-O2" option removed (executable fails).
2001-09-02 Aubrey Jaffer <agj@alum.mit.edu>
* scm.texi (SCM Options): Added "-r*rs" options.
* mkimpcat.scm (2rs, 3rs, 4rs, 5rs): Added aliases to make
"-r2rs".."-r5rs" command-line options work.
* Init5d4.scm (*syntax-rules*): Renamed from *R4RS-MACROS*.
2001-09-01 Aubrey Jaffer <agj@alum.mit.edu>
* Init5d4.scm (boot-tail): Converted -r2, -r3, -r4, and -r5
options to use r2rs, r3rs, r4rs, and r5rs features added to SLIB.
* Makefile (scmlit): 'rm slibcat implcat' *after* compilation.
2001-08-31 Aubrey Jaffer <agj@alum.mit.edu>
* scm.c, scmfig.h, script.c, time.c: Changed unix flags to
HAVE_UNIX.
2001-08-31 Radey Shouman <Shouman@ne.mediaone.net>
* eval.c (m_expand_body, macroexp1): Try harder to keep non-memoizing
macros unmemoized.
* repl.c (scm_io_error): Now returns non-zero if EINTR seen.
(lfflush, lflush, lputc, lputs, lfwrite): No longer use
SYSCALL, but leave checking for EINTR to scm_io_error -- errno
need not be checked or set until an erring return value is seen.
(scm_warn): Now takes a scheme object to be printed as third argument.
2001-08-30 Radey Shouman <Shouman@ne.mediaone.net>
* sys.c (scm_port_entry): Now accepts a stream argument and
allocates the port cell. Puts a back pointer (not a gc protect)
into the port table, for introspection.
(open-ports): Returns a list of open ports. Should be useful for
fork, and maybe dump.
(port-type): Describes a port.
* crs.c ioext.c posix.c scm.h socket.c Use new scm_port_entry call.
* ioext.c (ldup): Better error reporting for invalid mode flags.
2001-08-27 Radey Shouman <Shouman@ne.mediaone.net>
* eval.c (scm_arity_check): Always return false for negative argc.
(macroexp1): Better error message for malformed expressions.
2001-08-26 Radey Shouman <Shouman@ne.mediaone.net>
* repl.c (lungetc): Calls ungetc function if provided, this allows
string ports to work without using up port table entries.
* sys.c (stclose): Allows gc of string.
(stungetc): ungetc for string ports.
2001-08-24 Radey Shouman <Shouman@ne.mediaone.net>
* repl.c: (scm_io_error): Added BROKEN-PIPE callback.
* eval.c (m_case): Added callback to @case-aux to check for CASEs
that can be optimized to jump tables.
* Init5d4.scm (@case-aux): Definition added.
2001-08-23 Radey Shouman <Shouman@ne.mediaone.net>
* scmfig.h eval.c record.c rgx.c sys.c unif.c
(SCM2PTR, PTR2SCM): Added test definition, so we can verify that
the code still works. Flushed out two actual bugs in eval.c.
2001-08-16 Radey Shouman <Shouman@ne.mediaone.net>
* eval.c (m_case): CASE speed tweak.
(scm_case_selector): Added auxiliary function for CASE runtime.
* sys.c (scm_gc_protect): Added to simplify eval.c.
2001-08-15 Aubrey Jaffer <agj@alum.mit.edu>
* Link.scm (link:link): Load main file last for sun-dl.
2001-08-13 Radey Shouman <Shouman@ne.mediaone.net>
* eval.c (NO_ENV_CACHE): option bitrot fixed.
(scm_v2lst): Now takes third argument for compatibility with
scm_env_v2lst.
* sys.c (scm_env_v2lst): Length argument now long instead of int
for compatibility with scm_v2lst.
2001-08-11 Radey Shouman <Shouman@ne.mediaone.net>
* dynl.c: DLOPEN_MODE now uses RTLD_GLOBAL iff it is #defined,
Linux (at least) requires it in order to stack compiled modules.
Also use RTLD_NOW, which allows reporting errors at load time,
rather than crashing the program when an undefined symbol is accessed.
2001-08-09 Aubrey Jaffer <agj@alum.mit.edu>
* mkimpcat.scm (add-link): Support symbols (features) in list.
(unix): Uses this feature.
* Init5d4.scm (slib:load-compiled): Require any symbols in list.
* Link.scm (link:link): Run 'init_<file>' only for first object
file.
2001-07-30 Radey Shouman <Shouman@ne.mediaone.net>
* repl.c: (err_head): Make sure cur_outp is open before fflushing it.
* sys.c: (clptob): Make flushing a closed port raise an error.
2001-07-27 Radey Shouman <Shouman@ne.mediaone.net>
* sys.c: (mode_bits, try_open_file, mksfpt):
* ioext.c: (reopen_file, l_dup):
Improved error checking for mode strings.
2001-07-24 Radey Shouman <Shouman@ne.mediaone.net>
* repl.c (scm_io_error, lflush, lwrite, display, newline,
write_char, scm_freshline): Common code checking for EPIPE after
file errors, now prints warning before closing port.
* ioext.c (read_line, read_line1): Remove check that current
input port is open, errors caught by dispatching on closed port.
* sys.c (init_types): Add a closed port type, so we can avoid I/O
to closed FILEs even if we don't explicitly check for a closed SCM
port before each operation.
2001-07-21 Radey Shouman <Shouman@ne.mediaone.net>
* repl.c: (char_readyp, lflush, lwrite, display, newline):
(write_char, read_char, peek_char, scm_freshline):
Don't assume currrent input or output ports are open.
Remove checks for EPIPE.
(lfputc, lfputs, lfwrite): Checks for EPIPE moved here. Now
check errno only if an erring return value is seen. Signals error
for non-EPIPE errors.
(def_err_response): Exit quietly (without core dump) if default
error port has been closed.
* ioext.c (read_line, read_line1):
No longer assume current input port is open.
* unif.c: (uve_write): Use lfwrite instead of fwrite,
(checks for EPIPE).
* sys.c (safewrite): Fix return value.
2001-07-19 Aubrey Jaffer <agj@alum.mit.edu>
* sys.c (port_closedp): Added.
2001-07-13 Aubrey Jaffer <agj@alum.mit.edu>
* Link.scm (link:link): Runs 'init_<file>' for all linked
object-files with inits.
2001-07-13 Radey Shouman <Shouman@ne.mediaone.net>
* repl.c (def_err_response): Deal with closed error-port.
2001-07-12 Steve VanDevender <stevev@hexadecimal.uoregon.edu>
* unexalpha.c (TEXT_START): Fixed for Digital UNIX 4.0d and 4.0g.
2001-07-12 Radey Shouman <Shouman@ne.mediaone.net>
* (scm_port_entry): Fixed for 64-bit machines.
(SCM_PORTNUM_MAX): Replaces PORT_TABLE_MAXLEN, fixed for 64-bit
machines. Thanks for bug report from Steve VanDevender
<stevev@hexadecimal.uoregon.edu>
(sysintern): Make sure we have a non-garbage-collectable symbol
whether it existed previously interned or not. This can be an
issue with dynamically loaded code, since sysintern can be called
at any time.
2001-07-02 Radey Shouman <Shouman@ne.mediaone.net>
* eval.c (force): Now works for zero or multiple values.
2001-06-27 Steve VanDevender <stevev@hexadecimal.uoregon.edu>
* gmalloc.c (check_block, check_frag_blocks): Conditioned on
#ifdef DEBUG_GMALLOC.
2001-06-27 Radey Shouman <Shouman@ne.mediaone.net>
* sys.c (prinport): Print filename or pipe command, if available.
2001-06-23 Radey Shouman <Shouman@ne.mediaone.net>
* r4rstest.scm (test-numeric-predicates): Added tests for bignum
to flonum comparisons.
* scl.c (lessp, eqp, lmin, lmax): Make bignum to float
comparisons transitive as required by R5RS.
(scm_twos_power, scm_bigdblcomp): Support functions added.
* eval.c (m_letstar1): Introduced to allow more sensible error
messages for LET, LETREC.
2001-06-17 Aubrey Jaffer <agj@alum.mit.edu>
* posix.c (scm_getlogin): Added -- doesn't work on RH6.2.
* Init5d4.scm (getlogin, login->home-directory): Added.
(home-vicinity): Defined in terms of getlogin, etc.
2001-06-14 Radey Shouman <Shouman@ne.mediaone.net>
* subr.c (scm_bitfield): Made more efficient.
2001-06-10 Radey Shouman <Shouman@ne.mediaone.net>
* scl.c (integer-expt): For negative exponents, raise to a
positive power first, then reciprocate. This should almost always
reduce roundoff error.. For INUMs, convert to floats before
raising to the positive power, to avoid allocating bignums.
(next-double-float): Takes two flonums, returns the next flonum
from the first in the direction of the second. Not sure whether
this should stay.
2001-05-28 Aubrey Jaffer <agj@alum.mit.edu>
* r4rstest.scm (test-inexact): Added (test (atan 1) atan 1 1).
2001-05-23 Radey Shouman <Shouman@ne.mediaone.net>
* eval.c (ceval_1, ceval_1): Optimize LAMBDA expressions without
rest arguments in function call position to LETs. Introduce
IM_FUNCALL spcsym for other non-variable reference expressions in
function call position so they are not repeatedly expanded.
2001-05-16 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile (pdf): Added targets.
2001-05-15 Radey Shouman <Shouman@ne.mediaone.net>
* Macro.scm: (macro:compile-syntax-rules): Generalized ellipsis
quote from (... ...) to (... <pattern-or-template>).
* sys.c: (free_storage): Zero loc_gc_hook since it will be freed,
otherwise restart may fail.
2001-05-14 Steve VanDevender <stevev@hexadecimal.uoregon.edu>
* eval.c (scm_arity_check): Lacked explicit return value in the
tcs_closures case.
2001-05-05 Aubrey Jaffer <agj@alum.mit.edu>
* Macro.scm (@pprint): Added.
2001-04-17 Radey Shouman <Shouman@ne.mediaone.net>
* eval.c (scm_eval_values): Now applies eval, so that
values-context errors are caught for expressions entered in the
repl. Example bug: > (cons (values) '()) => (#<undefined>)
(ceval_1): Primitive @EVAL does not copytree its argument.
* Init5d4.scm (eval): Now defined in terms of @eval.
2001-04-16 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile (all): make x.so after other components.
(myscm): Removed target; use 'make all' instead.
2001-04-16 Radey Shouman <Shouman@ne.mediaone.net>
* scl.c (previous_dfloat, next_dfloat, dfloat_parts): Fixed
for gradual underflow, as long as DBL_MIN_EXP is #defined.
* repl.c scm.h Init5d4.scm
* eval.c (ceval_1, apply, cvapply): Moved most of the work of
applying a closure into ceval_1, by providing a syntax token
IM_EVAL_FOR_APPLY. CALL-WITH-VALUES is now a specfun, no special
form or closure needed.
2001-04-13 Radey Shouman <Shouman@ne.mediaone.net>
* scl.c (dfloat_parts, make_dfloat, next_dfloat):
(previous_dfloat): Implement DOUBLE-FLOAT-PARTS,
MAKE-DOUBLE-FLOAT, NEXT-DOUBLE-FLOAT, PREVIOUS-DOUBLE-FLOAT. Low
level floating point functions.
2001-04-10 Radey Shouman <Shouman@ne.mediaone.net>
* subr.c (scm_copybit): No longer makes so many bignums.
(scm_2scomp1): Static auxiliary function.
(scm_big_ash): Uses scm_2scomp1.
2001-04-09 Radey Shouman <Shouman@ne.mediaone.net>
* subr.c (scm_big_ash, scm_ash): Faster bignum ash,
allocates only one bignum per call.
(scm_copy_big_2scomp): Static support routine.
2001-04-07 Radey Shouman <Shouman@ne.mediaone.net>
* repl.c (scm_stack_trace): Reworked with general stack-inspection
function estk_frame.
(def_err_response): Use null s_subr argument to indicate that an
entire expression is being printed.
* eval.c (macroexp1): Check early for unbound variable references
in a form, so nicer error messages can be produced.
2001-04-06 Radey Shouman <Shouman@ne.mediaone.net>
* subr.c (scm_big_and): Fixed bug in LOGAND for one negative and
one positive argument.
Bug example: (logand #x-10000 #x3ffffffff) => #x3ffffffff
2001-04-04 Radey Shouman <Shouman@ne.mediaone.net>
* Macro.scm (macro:compile-syntax-rules): Better error messages,
renamed some internal functions for clarity. Fix checking of
pattern variable rank in templates. Some legal syntax-rules
templates were being rejected, eg
(syntax-rules () ((_ (?x ...) (?y ...))
(let ((?x (list ?y ...)) ...)
(list ?x ...)))))
2001-03-30 Radey Shouman <Shouman@ne.mediaone.net>
* eval.c (scm_values): Exported, since it can reasonably be called
from subrs.
* record.c (recprin1): Call default printer if the custom printer
returns #F. Print object-hash value of the rtd after type name,
so all distinct record types can be distinguished by eye.
(rec_rtdprin1): Custom printer for record type descriptors,
includes rtd object-hash value.
2001-03-29 Radey Shouman <Shouman@ne.mediaone.net>
* repl.c (everr): Pass a `writing' value of 2, rather than
1, during printing of error messages, so writing procedures
may take special action.
* record.c (recprin1, rec_prinset): record-printer now takes
three arguments instead of two, the third being a boolean
WRITING?.
Supress calling the record-printer during error reports,
avoiding the possibility of a recursive error.
* eval.c (m_letrec1): Fix error report in case macro keyword
is a synthetic identifier.
(m_letstar): Preserve distinction between LET* and LET in the
printed representation of evaluated code, for easier debugging of
backtraces.
2001-03-24 Dai Inukai <GAF05426@nifty.ne.jp>
* scmmain.c (main): Since release 2.0.5, FreeBSD's double
precision arithmetic defaults to 53 bits instead of 64 bits. Set
precision to 64 bits for all arithmetics and run the risk of
overflow, though I have not seen any in 6 months of use.
2001-03-27 Radey Shouman <Shouman@ne.mediaone.net>
* Macexp.scm (macro:expand):
* eval.c (scm_macroexpand1): Now expand identifier macros.
2001-03-26 Radey Shouman <Shouman@ne.mediaone.net>
* Macro.scm (syntax-rules): Only use procedure->identifier-macro
if needed, so macros print something without an error message.
* eval.c (scm_macroexpand1): Expand forms with identifier macros
in keyword position (needed for macro:expand). Should also expand
single identifiers ...
2001-03-23 Radey Shouman <Shouman@ne.mediaone.net>
*sys.c (scm_gc_hook, scm_run_finalizers, mark_finalizers):
Added hook to be run like an interrupt shortly after gc. Added
finalizer facility to gc.
(scm_add_finalizer): Implements Scheme-level interface to
finalizer facility, ADD-FINALIZER.
*scm.c (process_signals): run scm_gc_hook.
(setitimer): beautified somewhat.
*repl.c (scm_top_level): Modified for gc hook.
2001-03-20 Radey Shouman <Shouman@ne.mediaone.net>
* eval.c (ceval_1): modified
(values, m_call_wv, scm_eval_values): Added.
Implement CALL-WITH-VALUES and VALUES by returning extra values in
scm_env_tmp.
(scm_arity_check): Raise an error for unknown tc7_specfuns.
* repl.c (repl): Expects and prints multiple values.
* Init5d4.scm (call-with-values): Implemented by wrapping
undocumented special form @CALL-WITH-VALUES. CALL-WITH-VALUES
is hard to implement using the C level apply function, because
that function is not tail-recursive.
2001-03-18 Aubrey Jaffer <agj@alum.mit.edu>
* build.scm (build): Removed unused parameter scm-srcdir.
* scm.spec (%post): 'ln -s %{prefix}/lib/scm /usr/local/lib/scm'
fixes vicinity problem caused by linking /usr/local/bin/scm.
Thu Mar 15 21:33:30 EST 2001 Aubrey Jaffer <jaffer@aubrey.jaffer>
* patchlvl.h (SCMVERSION): Bumped from 5d3 to 5d4.
2001-03-15 Aubrey Jaffer <agj@alum.mit.edu>
* x.c (init_x): Don't scm_ldprog("xatoms.scm") because it
redefines STRING.
2001-03-15 Radey Shouman <Shouman@ne.mediaone.net>
* scm.spec: Added spec file to generate a .rpm file.
2001-03-13 Radey Shouman <Shouman@ne.mediaone.net>
* Macro.scm (macro:compile-syntax-rules): Support for identifier
macros.
* repl.c (iprin1): Print inlined procedure calls without infinite
recursion.
* scm.h: subtypes of tcs_cons_imcar are broken out for use in repl.c.
* eval.c (makidmacro): Implement PROCEDURE->IDENTIFIER-MACRO.
(macroexp1, lookupcar, prinmacro): Clean up macro type codes,
support identifier macros.
(m_inline_lambda, env_depth, env_tail, ceval_1): Support inline
procedures. Commented out for now, since the macro expander is not
yet smart enough to figure out which lambda expressions can be
inlined.
2001-03-04 Aubrey Jaffer <agj@alum.mit.edu>
* unif.c (init_unif): Removed scm_ldstr() call -- was failing to
define string-case functions when compiled on files.posmikk.
* Init5d3.scm (string-case): provided if string-upcase! defined.
(display-file): Take optional port argument.
2001-02-25 Aubrey Jaffer <agj@alum.mit.edu>
* build.scm (build:serve): Improved error reporting.
2001-02-22 Radey Shouman <Shouman@ne.mediaone.net>
* record.c (rec_constr): Fixed error checking of fields argument.
2001-02-12 Aubrey Jaffer <agj@alum.mit.edu>
* Init5d3.scm (pprint): Added (returns last argument).
2001-02-07 Aubrey Jaffer <agj@alum.mit.edu>
* unif.c (init_unif): Moved string-*case definitions from
Init5d3.scm. Added string-append.
2001-01-30 Marc Espie <espie@lusheeta.liafa.jussieu.fr>
* build.scm, *.c: Ported to OpenBSD.
2001-01-21 Aubrey Jaffer <agj@alum.mit.edu>
* x.c (x_event_keysym): Added. Translates XKeyEvent to KeySym.
(x_window_geometry_set): Added interface to XConfigureWindow.
* Makefile (keysymdef.scm): Added target.
* inc2scm (scm<-includes): #ifdef each prospective #define.
2001-01-18 Radey Shouman <Shouman@ne.mediaone.net>
* ramap.c (ramap_cxr): Fix bug in dynamic allocation of
workspace for large number of arguments (>= 5 in argument list).
2001-12-18 Aubrey Jaffer <agj@alum.mit.edu>
* Makefile (xafiles): Generated xlib-scheme files weren't being
installed.
2001-01-18 Aubrey Jaffer <agj@alum.mit.edu>
* x.c (scm2display_screen): Fixed off-by-one problem.
2000-12-06 Aubrey Jaffer <agj@alum.mit.edu>
* r4rstest.scm (Section 5 2 1): added (begin)s.
2000-12-04 Radey Shouman <Shouman@ne.mediaone.net>
* eval.c (m_begin): now accepts (BEGIN) which evaluates to
#<unspecified>.
(m_expand_body): checks for memoized (BEGIN) so that empty BEGINs
do not interrupt a sequence of internal definitions. Properly
rewrites internal definitions in several BEGINs as one LETREC,
rather than several.
2000-11-13 Aubrey Jaffer <jaffer@ai.mit.edu>
* x.c (x_default_ccc, x:default-ccc): Added.
(x_list_properties, x:list-properties): Added.
(x_window_ref, x:window-ref): Added.
(tc16_xccc): Added.
(CCC2SCM_P, CCC2SCM, xtc_ccc): Added backlinks from CCCs.
(print_xccc): Print out device-dependent ColorSpace names.
2000-11-07 Aubrey Jaffer <jaffer@ai.mit.edu>
* x.c (x_list_properties): Added.
(x_propdata2scm): Fixed.
2000-11-06 Aubrey Jaffer <aubrey_jaffer@splashtech.com>
* xatoms.scm (X:CIEXYZ): Added Xcms formats from Xcms.h.
* xgen.scm (xatoms): Also grab Xcms formats from Xcms.h.
* x.c (x_visual_class, x_visual_geometry): Added.
(free_visual): Fixed vinfo_mask argument to XGetVisualInfo.
2000-10-30 Aubrey Jaffer <jaffer@ai.mit.edu>
* x.c (tc16_xvisual): Now holds XVisualInfo.
(x:default-visual): Removed.
* xtest.scm: Removed use of x:default-visual.
* xgen.scm (xatoms): Added.
* xatoms.scm: Translation of Xatom.h added.
2000-10-14 Aubrey Jaffer <jaffer@ai.mit.edu>
* Init5d3.scm (call-with-open-ports): Added.
(call-with-input-file):
(call-with-output-file): Use call-with-open-ports.
2000-10-07 Aubrey Jaffer <jaffer@ai.mit.edu>
* Init5d3.scm (call-with-outputs): Added.
2000-09-24 Jacob Strauss <jastr@mit.edu>
* scm.texi (waitpid): Fixed return value paragraph.
2000-09-23 Aubrey Jaffer <aubrey_jaffer@splashtech.com>
* build.scm (build:serve): Added.
2000-09-09 Aubrey Jaffer <jaffer@ai.mit.edu>
* r4rstest.scm (display): Test only on chars and strings.
2000-08-05 Aubrey Jaffer <jaffer@ai.mit.edu>
* rautil.scm (subarray): Added.
2000-06-11 Ben Goetter <goetter@mazama.net>
* build.scm (Microsoft-C-nt): Set options correctly for
feature 'stack-limit.
* scmfig.h (MSDOS): NT lacks sbrk().
Sat Jun 3 22:12:39 EDT 2000 Aubrey Jaffer <jaffer@ai.mit.edu>
* patchlvl.h (SCMVERSION): Bumped from 5d2 to 5d3.
2000-06-01 Aubrey Jaffer <jaffer@ai.mit.edu>
* scm.texi (Making SCM): Updated.
2000-05-02 C Nick Beaudrot <cbeaudro@cs.brown.edu>
* scmfig.h: __SVR4 is the official Sun flag.
2000-04-18 Aubrey Jaffer <jaffer@ai.mit.edu>
* r4rstest.scm (modulo): Added test cases.
2000-04-18 Radey Shouman <Radey_Shouman@splashtech.com>
* subr.c (modulo): Fixed sign handling bug for INUM0, following
Dirk Herrmann's <D.Herrmann@tu-bs.de> fix for Guile.
2000-03-31 Radey Shouman <Radey_Shouman@splashtech.com>
* ioext.c (file_set_position): Do not disable port tracking for
zero pos.
2000-03-30 Radey Shouman <Radey_Shouman@splashtech.com>
* ioext.c (file_set_position): For tracked ports (line & column
number), issue warning and turn off tracking.
* repl.c (scm_port_col): column numbers made consistently 1-based.
Fixed handling of ungetted chars.
2000-03-28 Aubrey Jaffer <jaffer@ai.mit.edu>
* Makefile (Xlibscm_toc.html): fixed.
* Transcen.scm (pi, pi*, pi/): Added.
2000-02-24 Radey Shouman <Radey_Shouman@splashtech.com>
* Init5d2.scm (warn, error): Don't use PROVIDED?, it can cause
error loops.
(library-vicinity): Give a meaningful error message if we can't load
require.scm.
2000-02-16 Radey Shouman <Radey_Shouman@splashtech.com>
* Macexp.scm (macro:expand): Fixed for keywords that would be
lexically shadowed except for hygiene.
2000-02-15 Radey Shouman <Radey_Shouman@splashtech.com>
* eval.c (ceval_1): Check for immediate procedure argument to
APPLY.
2000-02-14 Radey Shouman <Radey_Shouman@splashtech.com>
* Init5d2.scm (read:sharp): Accept #! syntax without checking
line-number, so source files may be READ. Made more robust.
* Macexp.scm (macro:expand-syntax): Fixed handling of BEGIN with
only one subform.
2000-02-11 Radey Shouman <Radey_Shouman@splashtech.com>
* eval.c (env2tree): Rewritten to make it easier to change
behavior based on bound values.
2000-02-07 Radey Shouman <Radey_Shouman@splashtech.com>
* Macro.scm (define-syntax, let-syntax, letrec-syntax): Made
Primitive syntax.
* eval.c (makro): Abstracts process of making syntax.
(makacro, makmacro, makmmacro): Now call makro.
(makpmacro, @procedure->primitive-syntax): Scheme level way of
defining primitive syntax, meaning syntax that @macroexpand and
hence macro:expand will not expand.
* scm.h (IM_DEFINE): now an ISYM but not SPCSYM, since IM_DEFINE
no longer occurs in executable Scheme code there is no reason
dispatching on it need be fast. There is now one spare SPCSYM.
2000-02-06 Radey Shouman <Radey_Shouman@splashtech.com>
* Macexp.scm (macro:expand): Fixed handling of CASE.
* eval.c (m_letstar): Transforms (LET* () ...) into either a
BEGIN, a single body form, or, if at top level, a LAMBDA
expression. Wrapping macro arguments in (LET () ... ) to allow
internal DEFINE becomes free.
(ceval_1): Code to deal with zero binding LET* commented out.
(nullenv_p): Added, since we test for null environments in both
m_define and m_letstar.
(scm_extended_env, env2tree): #define constant
ENV_TREED for the car bit that identifies environments that have
been migrated out of ecache.
(wrapenv): Return '() if at top level, instead of
allocating a cell for an environment object.
(topdenote_eq): Added to reduce code size.
(m_begin): if only one form, just returns it.
(scm_macroexpand1): Fixed to work with macro:expand.
2000-02-06 Radey Shouman <Radey_Shouman@splashtech.com>
* Macexp.scm: Added, rewritten replacement for Macroexpand.scm.
Implements MACRO:EXPAND including LET-SYNTAX and LETREC-SYNTAX.
Rewrites synthetic identifiers to symbols for pretty display.
2000-02-04 Aubrey Jaffer <jaffer@ai.mit.edu>
* build.scm (C-libraries): __FreeBSD__ uses libncurses.
* crs.c: __FreeBSD__ includes ncurses.h
2000-02-02 Radey Shouman <Radey_Shouman@splashtech.com>
* scm.texi: Updated documentation for DEFMACRO and SYNTAX-RULES.
* ramap.c (array_map, array_for_each, array_imap): No longer
need to call procedurep, scm_arity_check is sufficient.
* eval.c (scm_arity_check): Was not doing the right thing if
passed an immediate as a procedure.
(ceval_1): Added ALLOW_INTS_EGC to ensure that a tight
loop applying a closure of >3 arguments will handle signals. Bug
report thanks to Tomas Lozano-Perez <tlp@mit.edu>.
2000-02-01 Aubrey Jaffer <jaffer@ai.mit.edu>
* Xlibscm.texi: TeX doesn't like @itemx in @tables.
2000-02-01 Radey Shouman <Radey_Shouman@splashtech.com>
* Macro.scm (compile-pattern): Allow (... ...) escapes to be
matched in patterns as a literal ... ellipsis, allowing use of
ellipses as syntax in user macros.
* sys.c (scm_env_cons3): Added.
* eval.c (scm_env_cons_tmp): Removed, replaced in one remaining
use by scm_env_cons3.
2000-01-28 Radey Shouman <Radey_Shouman@splashtech.com>
* Init5d2.scm (file-exists?, file-readable?): Zero errno to
prevent spurious error messages.
* Macro.scm (@print): Moved from Init*.scm, where it did no good
since 'macro was never provided at that stage.
(destructuring-bind): SYNTAX-RULES version, gives better error
reporting.
2000-01-28 Dorai Sitaram <dorai@owlnet.rice.edu>
(actually contributed March 1993)
* Init5d2.scm (destructuring-bind):
(defmacro:get-destructuring-bind-pairs): Added for destructuring
DEFMACRO.
2000-01-28 Radey Shouman <Radey_Shouman@splashtech.com>
* Init5d2.scm (defmacro:simple-defmacro): Added, does what
DEFMACRO used to do.
(defmacro): Now does CL style destructuring.
2000-01-27 Radey Shouman <Radey_Shouman@splashtech.com>
* Init5d2.scm (defmacro): Now accepts
(DEFMACRO (<name> . <args>) ...) as equivalent to
(DEFMACRO <name> (<args>) ...)
2000-01-24 Radey Shouman <Radey_Shouman@splashtech.com>
* eval.c (map, for_each): Check that the cdr of each list
argument is in fact a pair -- averting possible segfault.
2000-01-11 Aubrey Jaffer <jaffer@ai.mit.edu>
* Makefile (SCMLIT, SCMEXE): local executables for build, bench, ...
2000-01-09 Aubrey Jaffer <jaffer@ai.mit.edu>
* Init5d2.scm (track-all, stack-all, break-all): Added autoloads.
(trace, break): Improved Macro Autoloads.
2000-01-04 Aubrey Jaffer <jaffer@ai.mit.edu>
* Init5d2.scm (boot-tail): Added -h(ave) feature option.
2000-01-03 Aubrey Jaffer <jaffer@ai.mit.edu>
* Init5d2.scm (error, warn): print-call-stack.
1999-12-23 Radey Shouman <Radey_Shouman@splashtech.com>
* repl.c (scm_top_level): Moved dowinds() call later in the error
recovery sequence so that the errjmp_recursive flag is cleared
before calling DYNAMIC-WIND exit thunks. This move prevents
spurious "recursive error" exits.
Bug report by Tomas Lozano-Perez <tlp@ai.mit.edu>.
1999-12-17 Aubrey Jaffer <jaffer@ai.mit.edu>
* scm.texi (Bibliography): Added (Japanese) SchemePrimer.
1999-12-17 Radey Shouman <Radey_Shouman@splashtech.com>
* Init5d2.scm (@print): Added.
1999-12-10 Aubrey Jaffer <jaffer@ai.mit.edu>
* r4rstest.scm (SECTION 6 9): Added tests for map of single
argument +, -, and *.
1999-12-10 Radey Shouman <Radey_Shouman@splashtech.com>
* eval.c (scm_cvapply): Fixed bug in handling of asubrs.
Sun Dec 5 22:04:18 EST 1999 Aubrey Jaffer <jaffer@ai.mit.edu>
* patchlvl.h (SCMVERSION): Bumped from 5d1 to 5d2.
1999-12-02 Aubrey Jaffer <jaffer@ai.mit.edu>
* Makefile (install): Make sure $(libscmdir)require.scm exists.
(libscmdir): Use instead of IMPLPATH.
1999-12-02 Radey Shouman <Radey_Shouman@splashtech.com>
* scmfig.h: Don't #define SINGLES for MSC, per suggestion of David
Yeh <theyeh@uclink.berkeley.edu>
1999-12-01 Radey Shouman <Radey_Shouman@splashtech.com>
* repl.c (scm_top_level): Corrected error test on exit in case 0
is not success.
(repl): Return MAKINUM(EXIT_SUCCESS) when exiting an interactive
session on EOF, this should not be an error.
1999-11-14 Aubrey Jaffer <jaffer@ai.mit.edu>
* build.scm (define-compile-commands): Added.
(defcommand): Added.
(platform): formatted; simplified names.
* Makefile (features.txi): Added.
* scm.texi (Build Options): take feature documentation from
"features.txi".
* build (make-features-txi): Creates documentation of build
features from 'features table.
* build.scm (build:define-feature): Added. Feature definitions
moved to top level.
* Init5d1.scm (comment): Added.
(read:sharp): Added `#;' comment syntax, *feature* SHARP:SEMI.
1999-11-09 Radey Shouman <Radey_Shouman@splashtech.com>
* sys.c (scm_env_v2lst): Made tolerant to argc of zero,
since ecache_evalx may call it thus for DO loops binding
no values.
* eval.c (debug_env_save): Function for use in ENV_SAVE when the
CAREFUL_INTS paranoid debugging flag is #defined.
(ecache_eval_args): Now calls ecache_evalx(), which
evaluates a list of expressions and returns a list allocated on
the ecache in scm_env_tmp.
(m_do, m_letrec1, ceval_1): LET, LETREC, and DO now call
ecache_evalx instead of using inline loops, this seems to improve
speed by 5% - 10% for jacal and for simsynch simulation. C stack
usage will increase somewhat for large env frames.
(lookupcar): Added support for constant bindings, to be created by
LET, LETREC, LET*.
1999-11-04 Radey Shouman <Radey_Shouman@splashtech.com>
* scl.c (dbl_prec): Use dbl_mant_dig in preference of potentially
undefined DBL_MANT_DIG.
1999-11-04 David Yeh <theyeh@uclink.berkeley.edu>
* scl.c (makdbl): Mods to compile using MSVC
1999-11-01 Aubrey Jaffer <jaffer@ai.mit.edu>
* gmalloc.c: include "getpagesize.h" conditionalized on __svr4__.
1999-10-31 Aubrey Jaffer <jaffer@ai.mit.edu>
* build.scm (batch:chop-to-fit-system): Removed. Use new
batch:try-chopped-command instead.
(mysql): Added to features.
(build:build): Added comments describing stages and errors.
1999-10-17 Aubrey Jaffer <jaffer@ai.mit.edu>
* Makefile: Added platform.txi dependency where dependent on
scm.texi.
1999-10-16 Aubrey Jaffer <jaffer@ai.mit.edu>
* Makefile (scm.info require.scm): "cp -p" more portable than "cp -a"?
1999-10-15 Radey Shouman <Radey_Shouman@splashtech.com>
* sys.c (mode_bits): Fix for null output string case.
1999-10-14 Radey Shouman <Radey_Shouman@splashtech.com>
* unif.c (make_sh_array): Reduced consing by using scm_cvapply
instead of apply.
1999-10-13 Radey Shouman <Radey_Shouman@splashtech.com>
*sys.c (mode_bits): Now takes an optional buffer which, on exit,
will hold a mode string suitable to pass to fopen(), without any
SCM extension characters.
1999-10-13 Aubrey Jaffer <jaffer@ai.mit.edu>
* r4rstest.scm (float-print-test): stop after first error.
1999-10-13 Radey Shouman <Radey_Shouman@splashtech.com>
* sys.c (try_open_file): Insure that only 'r', 'w', 'b', or '+'
may be included in mode strings passed to fopen.
1999-10-11 Radey Shouman <Radey_Shouman@splashtech.com>
* repl.c (scm_freshline): Added FRESHLINE.
* sys.c (init_storage): Make def_outp tracked, so freshline will
work with it.
1999-10-10 Radey Shouman <Radey_Shouman@splashtech.com>
* ramap.c (cind): Now takes C vector of indices, which may be
allocated on the C stack, rather than a uve.
(ramapc, ramap, ramap_cxr, array_imap, array_for_each, rafe):
Use scm_cvapply instead of apply, allocate index and argument vectors
on the C stack for array ranks < 5.
* record.c (makrectyp, recprin1): Use scm_cvapply instead of
apply.
(rec_prinset): Checks arity of argument procedure.
* sys.c (sfputc, sfwrite, sfgetc): Use scm_cvapply instead of
apply.
(mksfpt): Checks arities of soft port procedures when the port is made.
* eval.c (scm_cvapply, scm_arity_check): Exported.
(makacro, makmacro, makmmacro): Call scm_cvapply rather than
consing up argument lists. Check arity of macro transformers
once, when syntax is defined.
1999-10-09 Radey Shouman <Radey_Shouman@splashtech.com>
* subr.c (make_vector): Fixed broken length argument test.
1999-10-08 Radey Shouman <Radey_Shouman@splashtech.com>
* sys.c (scm_env_v2lst): Now takes list tail in scm_env_tmp, so
tail can be allocated on ecache.
1999-10-06 Radey Shouman <Radey_Shouman@splashtech.com>
* repl.c (scm_top_level): Print out supplied program arguments for
failure exits to simplify debugging scripts.
* eval.c (varcheck): Fixed for RECKLESS case.
1999-10-04 Radey Shouman <Radey_Shouman@splashtech.com>
* eval.c (scm_arity_check, macroexp1): Argument number checking
in macroexp1 abstracted as scm_arity_check, for use in map,
for-each ...
(scm_cvapply): Apply a function to a C vector of arguments, used by
map and for-each.
(scm_v2lst): Added for use in scm_cvapply.
(map, for_each): Speed considerably improved: No longer allocate
Scheme vector temporaries for up to 5 list arguments. No longer
allocate unnecessary argument lists, allocate on ecache if
possible.
* repl.c (iprin1): Print out first elt of cclo environment --
makes record procedures more identifiable.
* sys.c (scm_env_v2lst): Now takes last cdr of list as argument.
1999-09-21 Aubrey Jaffer <jaffer@ai.mit.edu>
* sys.c (scm_port_entry): Make 16-bit safe.
1999-09-19 Radey Shouman <Radey_Shouman@splashtech.com>
* Tscript.scm: File added to implement transcript-on,
transcript-off without burdening normal i/o.
* Init5d1.scm (transcript-on, transcript-off): Now autoloads
from SCM/Tscript.scm
(_TRACKED): Added.
* socket.c (l_socket, l_connect, l_listen): Modified to use
port table.
(l_shutdown, l_getpeername, l_getsockname): Test for OPFPORTP, not
just OPPORTP.
* posix.c (l_pipe): Modified to use port table.
(prinpipe): Removed.
* ioext.c (reopen_file, l_dup, l_dup2): Modified to use port
table.
* crs.c (prinwindow): Removed.
(mkwindow): Uses scm_port_entry.
* repl.c (iprin1): Uses "name" field for printing ports.
(input_waiting, wait_for_input, trans_on, trans_off): Removed in
favor of soft-port implementation.
(lputc, lgetc, lputs, lfwrite, lungetc): Removed check for
transcript, added line and column number support. Unread char now
kept in port table rather than CAR.
(lreadpr, line_num): Removed line counting for load port, now done
using general line and column counting.
(scm_port_line, scm_port_column, scm_port_filename): Added.
(err_head): Now prints out multiple filenames for nested loads.
Tries to recover from recursive errors if current-error-port is a
soft-port.
* unif.c (uve_read): Removed ungetc call, if there is an unread
character, just call lgetc repeatedly for the first elt.
* sys.c (must_malloc, must_realloc): Now check whether the heap
is initialized or not, so may be called earlier.
(scm_init_gra, scm_grow_gra): Use above feature.
(scm_port_entry): Added, allocates entry in a port table used to store
unread characters, file names, line & column numbers, &c.
(mark_port_table, sweep_port_table): Gc support for port table.
ptobfuns now has a "name" element, used for printing.
(prinfport, prinstpt, prinsfpt): Removed.
Sun Sep 12 22:54:58 EDT 1999 Aubrey Jaffer <jaffer@ai.mit.edu>
* patchlvl.h (SCMVERSION): Bumped from 5d0 to 5d1.
1999-09-12 Aubrey Jaffer <jaffer@ai.mit.edu>
* x.c (init_x): Load "xevent.scm".
* xtest.scm: Test key-press event.
* xevent.h: Generated by "xgen.scm"
* xevent.scm: Generated by "xgen.scm"
* requires.scm: Sample "require.scm".
1999-09-11 Aubrey Jaffer <jaffer@ai.mit.edu>
* Xlibscm.texi (Event): Documented x:event-ref.
1999-08-26 Radey Shouman <Radey_Shouman@splashtech.com>
* sys.c (scm_egc): More robust test for sufficient cells in
freelist.
1999-08-24 Radey Shouman <Radey_Shouman@splashtech.com>
* eval.c (wrapenv): Will no longer wrap an already wrapped
environment.
* repl.c (def_err_response): Now prints "expand-time environment"
message only when relevant.
1999-08-21 Aubrey Jaffer <jaffer@ai.mit.edu>
* xgen.scm (event-map): Added.
* x.c: Absorbed event_names into "xevent.h".
1999-08-20 Radey Shouman <Radey_Shouman@splashtech.com>
* repl.c (def_err_response): Error message for expand-time only
environment.
* eval.c (lookupcar, id_denote): Now handle environment objects
in scm_env, lookupcar will complain if this happens in a run-time
(rather than expand-time) context.
(eval_syntax): Added, to be used in Macroexpand.scm for LET-SYNTAX,
LETREC-SYNTAX.
(ceval_1): Fixed bug in eval.
* scm.h (ENVP): exported macro from eval.c.
1999-08-18 Radey Shouman <Radey_Shouman@splashtech.com>
* eval.c (apply): Removed some unreached statements, merged
duplicate code in tc7_specfun case.
1999-08-17 Radey Shouman <Radey_Shouman@splashtech.com>
* eval.c: (ceval_1): Made EVAL tail recursive.
Cleaned up some stack tracing cases, renamed POP_TRACE
to TOP_TRACE, since POP_TRACE sounds as though it should be the
inverse of PUSH_TRACE.
(ceval_1): Now modifies stack trace only after an estk
frame may be pushed, that is, when some invocation of eval may
modify the environment. The bottom of the stack trace (the form
being evaluated during a call to a subr) is kept in a global
`scm_trace'. Nested expressions involving primitives now give
more accurate stack traces, without a speed penalty.
(map, for_each): Always push an estk frame for the sake of stack
tracing.
* repl.c (scm_stack_trace): Now may print out the value of the
global `scm_trace' as the top of the stack trace.
1999-08-13 Radey Shouman <Radey_Shouman@splashtech.com>
* repl.c: Include <sys/types.h> for Cygwin, needed for select
support macros.
* scmfig.h: Define HAVE_SELECT for the Cygwin environment.
1999-07-23 Radey Shouman <Radey_Shouman@splashtech.com>
* repl.c (scm_stack_trace): Put semi colons after frame numbers in
stack trace, rather than colons so emacs will not try to balance
parens.
1999-07-20 Radey Shouman <Radey_Shouman@splashtech.com>
* build: Require build.scm in program-vicinity, since build.scm
may not be installed in implementation-vicinity.
1999-07-19 <radey@cartman.colorage.net>
* repl.c (def_err_response): Changed setjump to setjmp when
setting up safeport.
1999-07-11 Aubrey Jaffer <jaffer@ai.mit.edu>
* Makefile (incdir): Added to abstract include directory location.
* xgen.scm: Rewritten. generates xevent.h and xevent.scm from
<Xlib.h>.
* inc2scm (scm<-usr/includes): System include path can be passed
as argument.
1999-07-07 Radey Shouman <Radey_Shouman@splashtech.com>
* unif.c (arrayp): Fixed problem with immediate arguments.
(scm_prot2type): Added, abstracts prototype ->
internal-array-type mapping. Accepts positive bignums as uvect
prototypes if they are small enough to be elements of a uvect,
similarly for negative bignums and ivects.
(make_uve, arrayp): Now use scm_prot2type.
SINGLES no longer need to be #DEFINEd in order to allow fvects.
* ramap.c: Modifications for fvects if SINGLES not #DEFINEd.
1999-07-06 Radey Shouman <Radey_Shouman@splashtech.com>
* r4rstest.scm: Added named LET test for scope of init forms.
* eval.c (m_let): Changed scope of init forms in named LET, to
conform to R5RS, in response to posting of Allegro Petrofsky
<Allegro@Petrofsky.Berkeley.CA.US> to comp.lang.scheme
1999-07-04 Aubrey Jaffer <jaffer@ai.mit.edu>
* crs.c (lwinsch): Renamed from lwinsert. Why were idlok and
nodelay commented out?
1999-07-02 "Dai INUKAI(GAF05" <GAF05426@nifty.ne.jp>
* rgx.c: __FreeBSD__ include should be "gnuregex.h".
1999-05-31 Aubrey Jaffer <jaffer@ai.mit.edu>
* Xlibscm.texi: Pulled out of "scm.texi".
1999-05-29 Aubrey Jaffer <jaffer@ai.mit.edu>
* scl.c (llog2 lpow10): renamed from log2 and lpow10, which
conflicted with djgpp include file /d/djgpp/include/math.h.
1999-05-15 Dai INUKAI <GAF05426@nifty.ne.jp>
* Transcen.scm (expt): R5RS: 0^z is 1 if z = 0 and 0 otherwise.
* r4rstest.scm (test-inexact): Added tests for EXPT of zero.
1999-05-12 Radey Shouman <Radey_Shouman@splashtech.com>
* eval.c (lookupcar): Combined some error checking cases.
(scm_macroexpand1):
(scm_extended_env):
(scm_env_ref): Low level support for hygienic macro expansion.
* Macroexpand.scm (macro:expand): Added for hygienic macro expansion.
* Macro.scm (renaming-transformer): Now passes a memoizing RENAME
procedure, so that renaming the same identifier results in renamed
identifiers that are EQV? per "Hygienic Macros Through Explicit
Renaming".
* Init5d0.scm (defconst): Now allows redefinitions without effect
in the sense of EQUAL? rather than EQV? to allow reloading code
defining constant list structure.
1999-05-09 Aubrey Jaffer <jaffer@ai.mit.edu>
* r4rstest.scm (test-eq?-eqv?-agreement): Added tests for eqv?
vs. eq? agreement discussed in section "Equivalence predicates".
1999-05-09 Arne Glenstrup <panic@diku.dk>
* Makefile (udscm5): Added '-s $(IMPLPATH)' for executable builds.
1999-04-26 Radey Shouman <Radey_Shouman@splashtech.com>
* scl.c (inex_divbigbig): Was broken (did not return valid SCM)
for some cases.
1999-04-22 Radey Shouman <Radey_Shouman@splashtech.com>
* r4rstest.scm (test-inexact-printing): Added to check that
(EQV? X (STRING->NUMBER (NUMBER->STRING X))) holds for inexact X.
* scl.c (iflo2str): Revamped so that (EQV? X (STRING->NUMBER
(NUMBER->STRING X))) holds for floating point X. Somewhat as in:
Burger & Dybvig
"Printing Floating-Point Numbers Quickly and Accurately"
<http://www.cs.indiana.edu/scheme-repository/doc.publications.html>
But floating point rather than bignum arithmetic is used -- due to
this state of sin one slop factor was introduced. It would be
good to check this on non-IEEE-754 architectures.
(istr2flo): Now reads floating point numbers with exponents somewhat
below -MAXEXP, since this such numbers can be represented with
gradually underflowing denormals.
1999-04-15 Aubrey Jaffer <jaffer@ai.mit.edu>
* Makefile (require.scm): Added constructor.
1999-04-01 Radey Shouman <Radey_Shouman@splashtech.com>
* sys.c (scm_maksubr): Added, returns a subr not (yet) bound to an
interned symbol, abstracts the addition of the subr_table entry.
(make_subr): Now uses scm_maksubr.
* gsubr.c (make_gsubr): Now uses scm_maksubr (was buggily using
old subr name encoding.)
* eval.c (make_synt): Now uses scm_maksubr.
* scm.h: Added prototypes for make_gsubr, scm_maksubr.
1999-03-26 Arne John Glenstrup <panic@diku.dk>
* scm.h (ptobfuns): added const to puts() and fwrite() prototypes.
* gmalloc.c: fixed compilation on hpux.
1999-03-26 Radey Shouman <Radey_Shouman@splashtech.com>
* Init5d0.scm (identity): Now a subr: CR.
* eval.c
* gsubr.c
* repl.c
* scm.h
* subr.c
* sys.c (SNAME): Pointers to subr names now kept in a mallocated
data structure, the top 16 bits of the CAR of a subr is an index
into this table. Eventually this should help support eg generic
arithmetic.
1999-03-25 Radey Shouman <Radey_Shouman@splashtech.com>
* sys.c (scm_grow_gra): Fixed error in mallocated accounting, made
increment grow with allocated size.
1999-03-22 Aubrey Jaffer <jaffer@ai.mit.edu>
* Init5d0.scm (exec-self): Undo *script* meta-argument processing.
1999-03-18 Radey Shouman <Radey_Shouman@splashtech.com>
* Init5d0.scm (read:sharp): Simplified somewhat; again accepts
'#2((a b c) (1 2 3)) as array read syntax, with warning.
1999-03-17 Radey Shouman <Radey_Shouman@splashtech.com>
* unif.c (raprin1): New write syntax for uniform vectors and arrays.
(array2list, list2ura): Fixed for zero-rank arrays.
* Init5d0.scm (read:sharp): New read syntax for uniform vectors
and arrays.
1999-03-16 Radey Shouman <Radey_Shouman@splashtech.com>
* x.c (scm2int_pair): Generalized to accept uniform vectors and
arrays.
* eval.c
* ramap.c
* repl.c
* rope.c
* scl.c
* scm.h
* sys.c
* unif.c
Added uniform vector type for signed short integers, tc7_svect.
The prototype is the symbol 'short, the print representation is
not currently readable. (Both items subject to change.)
1999-03-11 Aubrey Jaffer <jaffer@ai.mit.edu>
* x.c (x:close): Merged from x:close-display and x:destroy-window.
Flushes after closing window.
* x.c: Use OPN and other bits in type-word. Fixed GC of closed
windows and displays.
1999-03-10 Aubrey Jaffer <jaffer@ai.mit.edu>
* x.c: Added copyright notice.
1999-03-07 Aubrey Jaffer <jaffer@ai.mit.edu>
* mkimpcat.scm (edit-line): editline -> readline.
* Makefile (mydlls): build edit-line separately to link in
libraries correctly.
1999-02-17 Aubrey Jaffer <jaffer@ai.mit.edu>
* build.scm, mkimpcat.scm, x.c, x.h, x11.scm, xgen.scm, xscm.doc,
xtest.scm: Xlib interface from xscm-2.01
1999-02-12 Hakan L. Younes <d93-hyo@nada.kth.se>
* build.scm, findexec.c, scm.c, scm.texi, scmfig.h, time.c:
amiga-gcc port.
1999-02-11 Aubrey Jaffer <jaffer@ai.mit.edu>
* repl.c (scm_warn): renamed from warn().
1999-02-04 Radey Shouman <Radey_Shouman@splashtech.com>
* setjump.h
* repl.c (scm_stack_trace):
* sys.c (safewrite):
Made all safeport operations consistently use the standard C
setjmp, longjmp, and jmp_buf.
1999-01-27 Aubrey Jaffer <jaffer@ai.mit.edu>
* build.scm (build): -Dfreebsd no longer necessary for freebsd
builds.
* findexec.c: freebsd -> __FreeBSD__.
* ioext.c: freebsd -> __FreeBSD__.
* time.c: freebsd -> __FreeBSD__.
1999-01-27 Bakul Shah <bakul@torrentnet.com>
* sys.c (add_final): Fixed call to scm_grow_gra.
* subr.c (promisep): Added PROMISE?
1999-01-23 Aubrey Jaffer <jaffer@ai.mit.edu>
* build.scm (obj->): Added (was called but not defined).
1999-01-17 Aubrey Jaffer <jaffer@ai.mit.edu>
* build.scm (read-version): 5d0 READ as a number; Assemble
characters till whitespace.
Sun Jan 17 14:52:11 EST 1999 Aubrey Jaffer <jaffer@ai.mit.edu>
* patchlvl.h (SCMVERSION): Bumped from 5c4 to 5d0.
1999-01-16 Aubrey Jaffer <jaffer@ai.mit.edu>
* ramap.c (init_ramap): definition for ARRAY-INDEXES added.
* scmmain.c (generic_name): Added (local char** init wasn't
portable).
1999-01-12 Aubrey Jaffer <jaffer@ai.mit.edu>
* Makefile (version.txi): support added.
* scm.texi (SCM_VERSION): abstracted to version.txi.
1999-01-12 Aubrey Jaffer <jaffer@ai.mit.edu>
* build (make-readme): moved (require 'posix) here.
1999-01-11 Aubrey Jaffer <jaffer@ai.mit.edu>
* build.scm (read-version): simplified.
* build (make-readme): added. Makes README from scm5c4.info.
1999-01-11 Aubrey Jaffer <jaffer@ai.mit.edu>
* Makefile (README): added target.
* build (print-manifest): added.
* scm.texi: Added spacing workaround for Texinfo @deftypefun bugs.
(Problems *): @table --> @multitable.
(Standards Compliance): Updated for R5RS.
(SCM Options): fixed - and --; @minus{} breaks TeX!
1999-01-10 Aubrey Jaffer <jaffer@ai.mit.edu>
* scm.texi (Scripting): renamed from Shell Scripts. Reorganized;
rewrote examples.
(SCM Options): fixed -- as well as texinfo can.
* Init5c4.scm (boot-tail): load *script* if not done by options.
* script.c (script_process_argv): Allow space between #! and
pathname.
* scm.c (scm_init_from_argv): gets additional argument
`script_arg', which becomes the value of *script*.
* ioext.c (director-for-each): fail gracefully if can't open
directory.
1999-01-08 Aubrey Jaffer <jaffer@ai.mit.edu>
* scm.texi (Smob Cells): Explained NUMDIGS_MAX limit.
* sys.c (init_storage): Added check for NUMDIGS_MAX.
* scmfig.h (NUMDIGS_MAX): moved from "scm.h". Reduced to 1000
(4816 decimal digits).
1999-01-04 Aubrey Jaffer <jaffer@ai.mit.edu>
* scm.texi (Embedding SCM): Added libtest.c example.
* Makefile (libtest): Added target.
* scm.c (dirsep): added variable.
* repl.c (heap_report): Only call scm_brk_report() if scm_init_brk
has been set.
1999-01-04 Aubrey Jaffer <jaffer@ai.mit.edu>
* scm.texi (Unix Shell Scripts): merged in "SCSH scripts".
Removed description of single non-\ argument on first script line.
1999-01-03 Aubrey Jaffer <jaffer@ai.mit.edu>
* scm.texi (Embedding SCM): Rewrote.
* repl.c (scm_top_level): Pass initpath string to boot-tail
(rather than #t) for dumped executables.
* scmfig.h (RTL): removed. main() is now in scmmain.c.
* build.scm (C-libraries): Added `lib', which excludes
"scmmain.c"; Removed RTL flag.
* dynl.c (init_dynl): Don't try to compute execpath.
* script.c (find_impl_file): Renamed from scm_find_impl_file.
Fixed reduntant "lib" check. Added tests for executable-name peer
and generic peer directories.
* Init5c4.scm (set-vicinities!): Simplified. Now takes init-file
argument.
* scmmain.c: created, stealing main() and scm_find_implpath() from
"scm.c".
* scm.c (scm_find_impl RTL main): removed.
1999-01-02 Aubrey Jaffer <jaffer@ai.mit.edu>
* repl.c, scm.c: moved initpath==0 argument handling from main to
scm_top_level().
* Makefile: Redundant DFLAG = -DIMPLINIT=\"$(IMPLINIT)\" removed.
IMPLINIT still #defined by scmflags.h.
1998-12-18 Aubrey Jaffer <jaffer@ai.mit.edu>
* Link.scm (compile-file): Converted from replace-suffix to
filename:substitute??.
* build.scm (c->): Added.
(c->o): Added.
(c->obj): Added.
(obj->exe): Converted from replace-suffix to filename:substitute??.
1998-12-15 Radey Shouman <Radey_Shouman@splashtech.com>
* eval.c (ecache_eval_args): Added, allocates an environment frame
in the ecache and does argument number checking for closures with
>= 3 arguments (and no rest argument).
(asubr_apply): Added to apply multiargument rpsubrs and asubrs without
consing.
* sys.c (scm_env_v2lst): Added for ecache_eval_args, builds a list
of ecache cells from an argument vector.
1998-12-14 Radey Shouman <Radey_Shouman@splashtech.com>
* eval.c (m_lambda, closure): Now checks that argc <= 3 during
memoization instead of each time a closure is made.
(macroexp1): Gives more sensible error messages when a
non-identifier non-list is in the function position.
1998-12-10 Radey Shouman <Radey_Shouman@splashtech.com>
* (scm_top_level, repl): Made repl an acceptable second argument to
scm_top_level.
1998-12-09 Aubrey Jaffer <jaffer@ai.mit.edu>
* sys.c (VERIFY_INTS): Pass 0L rather than 0 for null pointer args.
* scm.c: Pass 0L rather than 0 for null pointer args.
* rgx.c (lregerror): Pass 0L rather than 0 for null pointer args.
1998-12-09 Radey Shouman <Radey_Shouman@splashtech.com>
* repl.c (scm_top_level): Now takes a second argument, toplvl_fun,
which is a function of no arguments returning SCM. If this
variable is non-null, it will be called instead of repl(), if
toplvl_fun returns BOOL_T, it may be called again, otherwise
scm_top_level will return.
Now checks that BOOT-TAIL is non-immediate before applying it, so
that it becomes optional.
* scm.c (run_scm): Deleted, subsumed by main().
* patchlvl.h (INIT_FILE_NAME): #defined even for RTL case. The
init file is probably useful even if the default top level is not
used.
* eval.c (varcheck): Now counts required arguments so m_lambda
doesn't have to.
1998-12-08 Radey Shouman <Radey_Shouman@splashtech.com>
* Macro.scm (Macro:compile-syntax-rules) Check that car of each
rule is a pair.
1998-12-08 Aubrey Jaffer <jaffer@ai.mit.edu>
* scm.c (main): Changed argc==0 argv[0] from "scm" to
GENERIC_NAME.
1998-12-06 Aubrey Jaffer <jaffer@ai.mit.edu>
* scm.texi (Embedding SCM): Changed from "Calling Scheme From C".
* scm.c (scm_execpath scm_find_executable): moved from repl.c.
(init_banner): Changed to use pre-processor concatenation.
(main): modularized.
(run_scm): freeall argument added to control calling of
free_storage().
* repl.c (scm_top_level): initpath with leading '(', ';', or
whitespace taken as string to load (rather than filename).
(init_sbrk): extracted from main().
* dynl.c (init_dynl): ifdef RTL removed.
1998-12-06 Radey Shouman <Radey_Shouman@splashtech.com>
* subr.c
* scl.c (scm_intexpt): Special cases for arithmetic that can be
done with native C types. Moved from subr.c to scl.c because of
FLOAT dependencies.
* eval.c (lookupcar, ceval_1): Added MEMOIZE_LOCALS cpp macro to
control memoization of local variables to ilocs.
1998-12-05 Aubrey Jaffer <jaffer@ai.mit.edu>
* repl.c (tryload): Removed TAIL_RECURSIVE_LOAD version.
(scm_top_level): If string argument starts with whitespace, `)', or
`;', then call scm_ldstr() with argument rather than scm_ldfile().
* build.scm (compile-dll-c-files linux): delete .o after making .so.
* scm.c (init_scm): Rest of inits moved into.
(final_scm): Handles finals.
(scm_init_from_argv): Handles universal argv processing;
platform-dependent argv processing remains in main().
1998-12-04 Radey Shouman <Radey_Shouman@splashtech.com>
* repl.c (def_err_response): Fixed to print stack trace even if
err_exp is not defined.
* repl.c
* sys.c
* scm.h errjmp_bad is now a pointer to a string, rather than an
int, so that the final error message can say in which critical
code section the error occured.
1998-12-03 Aubrey Jaffer <jaffer@ai.mit.edu>
* repl.c (scm_top_level): renamed from repl_driver.
1998-12-03 Radey Shouman <Radey_Shouman@splashtech.com>
* scl.c (makdbl): Combined some DEFER_INTS and ALLOW_INTS,
possible because NEWCELL is now callable with ints deferred.
(product, divide): Now scale bignums if necessary before
converting them to doubles for calculating inexact results.
(big2scaldbl, bigdblop, inex_divbigbig): Auxiliary functions
added.
(idbl2str): Decrease minimum exponent to allow printing of
gradually underflowing IEEE doubles.
* scm.c (setitimer): Made each option individually controlled by #ifdef,
now returns #f instead of error if given an unsupported option.
* Init5c4.scm This is used to initialize the appropriate alarm
procedures.
1998-12-02 Radey Shouman <Radey_Shouman@splashtech.com>
* scm.h (NUMDIGS): Added cast so that NALLOC error reports would
print correctly.
1998-12-02 Aubrey Jaffer <jaffer@ai.mit.edu>
* setjump.h: windframe removed -- dowinds could only be processed
while (possibly oversize) stack was intact.
* scm.h (ARGn .. PROF_SIGNAL): Special err_pos values renumbered
from 1; this allows 0 to indicate message has been printed.
(dynwinds): restored to sys_protects.
* repl.c (repl_driver): dowinds() call moved from abrt(), quit(),
and restart(); dowinds() now done after longjump.
(repl_driver): cur_inp being closed now indicates that SCM should
exit -- after printing error messages.
(def_err_response): err_pos = 0 after printing message. If
err_pos==0, don't print message.
* Init5c4.scm (fluid-let): Shrunk using multi_set returns.
* eval.c (scm_multi_set): Now returns new list of old values.
* scm.c (l_pause): DJGPP2.0 lacks ITIMER_VIRTUAL; can't quit SCM!
#undef SIGPROF if ITIMER_VIRTUAL not defined.
* sys.c (reset_safeport): fixed 16-bit argument to
must_malloc_cell.
(dowinds): fixed limit case behavior.
1998-12-01 Aubrey Jaffer <jaffer@ai.mit.edu>
* Init5c4.scm (fluid-let): defmacro added.
* eval.c (scm_multi_set): Added. (set! (a b c) (list 10 20 30))
sets 3 variables.
* sys.c (dowinds): Eliminated second argument.
(dynwinds): No longer a sysprotect.
* setjump.h (windframe): Dynamic wind information now kept in
linked struct windframe on C-stack.
1998-12-01 Radey Shouman <Radey_Shouman@splashtech.com>
* sys.c safeport now includes jmp_buf, to which it will longjump
after writing its character limit. This makes it safe to print
out possibly circular structures in error handling routines.
(reset_safeport): Now returns non-zero only if its argument
really was a safeport.
* setjump.h (SAFEP_JMPBUF): Macro accessor for the jmp_buf,
setjump *must* be called with this argument before using a
safeport.
* repl.c (scm_stack_trace, def_err_response): Use new
safeport features.
* Macro.scm (substitute-in-template): Added check that all pattern
variables combined in an ellipsis template have the same length.
1998-11-29 Aubrey Jaffer <jaffer@ai.mit.edu>
* scm.texi (Socket): examples updated to use wait-for-input; no
longer spin-wait.
* repl.c (wait_for_input): `select'-like procedure added.
(char_readyp): now supported by DJGPP.
* ioext.c (l_putenv lexec*): DJGPP now supports.
* scm.c (l_raise SIGALRM): DJGPP now supports.
* scmfig.h: include <float.h> now seems safe for DJGPP.
1998-11-28 Aubrey Jaffer <jaffer@ai.mit.edu>
* scm.texi (Data Type Representations): PTOBs had wrong code and
lsubr was missing!
1998-11-26 Aubrey Jaffer <jaffer@ai.mit.edu>
* repl.c (def_err_response): Now truncates ALL long expressions
being printed.
* sys.c (must_malloc must_malloc_cell): 0 -> 0L to fix 16-bit
scmlit.
1998-11-26 Radey Shouman <rshouman@metro2000.com>
* eval.c (ceval, env2tree, ident_eqp): Removed redundant
DEFER_INTS_EGC before ENV_PUSH.
(ceval_1): Removed label retunspec, replaced by jumps to
retx. Seems to run a tad faster, be a little easier to look at.
(copy_list): Now takes second argument giving minimum length of
list, allowing the removal of several calls to ilength.
(m_case, m_cond, ceval_1): ilength checks replaced.
1998-11-25 Radey Shouman <Radey_Shouman@splashtech.com>
* repl.c (scm_stack_trace): Changed numbering of stack frames.
(def_err_response): Now prints erring expression before
stack trace.
(init_tables): Removed unnecessary assignment to
scm_verbose, which was already 1 under any circumstances.
(def_err_response): Now truncates long expressions being
printed.
(err_head): More robust test for output to stderr, to
decide whether to call perror or not.
* sys.c (init_types): Initialize sys_safep to tmp_errp.
(reset_safeport): Now does exactly nothing if handed a
non-safe-port.
(init_types, init_storage): Moved initialization of tmp_errp and
sys_protects earlier, in case allocating ptobs or smobs causes
errors to be thrown.
1998-11-24 Radey Shouman <Radey_Shouman@splashtech.com>
* scm.h (NUM_IFLAGS): Added to make COOKIE, UNCOOK definitions a
little easier to read.
* sys.c (reset_safeport): Added, resets count and optionally
parent port on a safe-port.
(sys_safep): New sys_protect, so stack-trace doesn't have to
allocate pairs for a safe-port.
* repl.c (scm_stack_trace): Now uses sys_safep and reset_safeport.
(def_err_response, handle_it, repl_driver, everr):
Now checks and dies horribly but predictably if def_err_response
is recursively entered.
1998-11-20 Radey Shouman <Radey_Shouman@splashtech.com>
* eval.c (env2tree): Check for undefineds in environment to
prevent endless loop, substitute #<unspecified>.
* repl.c (stack_trace): Now uses safe ports, prints "STACK TRACE"
message (I don't remember when that disappeared) and prints at
most 12 traced frames.
* sys.c (makesafeport, safewrite, safeputs, safeputc):
(safeflush): Added support for `safe' ports for error messages,
which will accept and re-output only a fixed number of
characters. Subsequent characters are simply discarded.
1998-11-19 Radey Shouman <rshouman@metro2000.com>
* record.c (rec_error, rec_accessor1, rec_modifier1):
(rec_constr1): Better error reporting, including the name of the
expected record type and the relevant field.
(rec_prinset): Added PRINTER field to RTDs so they may be printed
by a user- specified procedure. Scheme signature:
(RECORD-PRINTER-SET! RTD PRINT-PROCEDURE) where PRINT-PROCEDURE
takes as arguments the record and a port.
Added local accessor macros for record & rtd fields, removed
questionable union type declarations.
1998-11-18 Radey Shouman <Radey_Shouman@splashtech.com>
* Macro.scm (macro:compile-syntax-rules): Minor cleanup, made
internal rule representation a record type rather than list.
(renaming-transformer): Added to support `explicit
renaming' low-level macros.
* eval.c (varcheck, m_lambda): Some checks moved from m_lambda
to varcheck, argument added to varcheck to give different message
(about "formals") in case of lambda.
(ENVP): Added predicate macro local to eval.c.
1998-11-16 Radey Shouman <Radey_Shouman@splashtech.com>
* eval.c (varcheck): Renamed from uniqcheck, now checks that
elements are identifiers so m_do, m_lambda, m_letrec1 don't have to.
* Init5c4.scm (alarm-interrupt, profile-alarm-interrupt):
(virtual-alarm-interrupt): Now initially defined to turn off their
respective alarms, so that restarting does not cause an error when
an alarm is pending.
* sys.c (gc_mark): Now marks the header of smobs and ptobs, so the
mark function doesn't have to.
* unif.c:
* record.c:
* rgx.c:
* rope.c:
* scm.h: Ptob and smob mark functions modified to not mark headers.
1998-11-15 Radey Shouman <rshouman@metro2000.com>
* eval.c (bodycheck): Removed, was only used in m_do.
(m_do): No longer calls bodycheck.
(lookupcar): No longer memoizes if no checking is to be done, eg
if doing speculative expansion.
(macroexp1): Now saves car in local variable to avoid calling
unmemocar.
(uniqcheck): Added, checks for non-unique identifiers in a binding
list.
(m_lambda, m_letrec1, m_do): Now check for duplicate bound
names.
1998-11-13 Radey Shouman <Radey_Shouman@splashtech.com>
* unif.c (shap2ra): better error checking of dimension specs
1998-11-12 Aubrey Jaffer <jaffer@ai.mit.edu>
* scmfig.h (SCM_NEED_FDS SCM_INTERRUPTED): added argument to make
clear that this is not a constant.
1998-11-11 Radey Shouman <Radey_Shouman@splashtech.com>
* scmfig.h (SCM_INTERRUPTED): Abstracted the interrupted test from
SYSCALL.
(SCM_OPENCALL): Similar to SYSCALL, but will gc to reclaim
file descriptors.
* sys.c (try_open_file): Now uses SCM_OPENCALL.
(gc_for_open_files): Added.
* ioext.c:
* posix.c:
* socket.c: File opening system calls now use SCM_OPENCALL.
If an open fails because there are no unused file handles, GC for
for file handles.
1998-11-11 Aubrey Jaffer <jaffer@ai.mit.edu>
* Init5c4.scm (vicinity:suffix?): Abstracted from
pathname->vicinity and "Link.scm".
1998-11-08 Aubrey Jaffer <jaffer@ai.mit.edu>
* sys.c, scm.c, record.c, ramap.c: Changed some intern -> sysintern.
* build.scm (compile-c-files linux): gcc -O2 produces unreliable
objects for Cyrix 6x86 processor; -O2 option removed.
1998-11-05 Aubrey Jaffer <jaffer@ai.mit.edu>
* ioext.c (init_ioext, provide 'directory-for-each) changed to
add_feature("directory-for-each"); so ioext.o can be statically
linked.
1998-11-04 Radey Shouman <Radey_Shouman@splashtech.com>
* scm.h (ESTK_PARENT, ESTK_PARENT_WRITABLEP):
(ESTK_PARENT_INDEX): SCM_ prepended, definition moved to scm.h,
now used in repl.c.
* repl.c (handle_it): Fixed so stack traces extend before
interrupt handler calls.
(scm_stack_trace): Fixed for segmented environment stack.
1998-11-03 Aubrey Jaffer <jaffer@ai.mit.edu>
* repl.c (def_err_response): print out errobj if short string; if
long string, print out first 57 characters and "...". This makes
messages about not finding Init???.scm more informative.
Tue Nov 3 17:41:40 EST 1998 Aubrey Jaffer <jaffer@scm.colorage.net>
* patchlvl.h (SCMVERSION): Bumped from 5c3 to 5c4.
1998-11-03 Aubrey Jaffer <jaffer@ai.mit.edu>
* ioext.c (directory-for-each): Added.
* Makefile (build): Added to TAGS.
1998-11-02 Radey Shouman <radey_shouman@splashtech.com>
* sys.c (makcclo): Fixed argument to ASSERT.
1998-11-02 Aubrey Jaffer <jaffer@ai.mit.edu>
* record.c rgx.c scm.texi socket.c subr.c sys.c unif.c: Callers to
must_malloc and friends now check that length will fit in field.
* scmfig.h sys.c (SHORT_SIZET): Added to detect whether sizet
width or LENGTH field more restrictive.
* rope.c (must_free_argv): changed to use must_free.
* scm.h (LENGTH_MAX): Changed from fixed constant to cpp computed.
(NUMDIGS_MAX): Added.
1998-11-01 Aubrey Jaffer <jaffer@ai.mit.edu>
* sys.c (gc_sweep): Continuation storage was not being counted
when freed.
* time.c (your_time): fixed scaling so numbers returned use full
INUM range.
1998-10-29 Radey Shouman <Radey_Shouman@splashtech.com>
* eval.c (m_and, m_or): Special case for one argument.
1998-10-28 Radey Shouman <Radey_Shouman@splashtech.com>
* setjump.h
* sys.c (scm_make_cont, scm_dynthrow, egc_copy_roots):
No longer copy scm_estk if CHEAP_CONTINUATIONS is #defined.
* eval.c (ceval_1): Fix up environment stack accounting for
CHEAP_CONTINUATIONS.
1998-10-27 Aubrey Jaffer <jaffer@ai.mit.edu>
* scm.c (scm_init_extensions): Added call to init_user_scm
for RTL case.
Moved #ifndef RTL to insure DIRSEP and GENERIC_NAME are #defined
for RTL case.
* build.scm Now builds archive called libscm.a rather than scm.a
1998-10-20 Aubrey Jaffer <jaffer@ai.mit.edu>
* Init5c3.scm (with-XXX-to-port): Oops. fixed earlier change.
1998-10-19 Aubrey Jaffer <jaffer@ai.mit.edu>
* scm.texi (Build Options): Build platform table in Makefile and
@include.
1998-10-19 Radey Shouman <Radey_Shouman@splashtech.com>
* dynl.c (l_dyn_call, l_dyn_main_call): Now use new P_SHL macro,
prevents compiler warning under hpux.
* sys.c (scm_free_gra): Now sets elts pointer to zero.
(free_storage): scm_free_gra now sets smobs and ptobs to zero.
(egc_sweep): Give dead cells immediate values, prevents obscure
gc bug seen in hpux.
* sys.c (scm_estk_grow, scm_estk_shrink): Deleted incorrect
DEFER/ALLOW_INTS.
(init_storage): SHORT_INT fixconfig message now suggests changing
scmfig.h rather than setjump.h
1998-10-16 Basile STARYNKEVITCH <Basile.Starynkevitch@wanadoo.fr>
* repl.c (lreadr): linum now incremented for LINE_INCREMENTORS
within strings.
1998-10-16 Aubrey Jaffer <jaffer@ai.mit.edu>
* scmfig.h (SHORT_INT): __alpha is.
1998-10-14 Radey Shouman <Radey_Shouman@splashtech.com>
* eval.c (apply): Deleted redundant DEFER_INTS_EGC, added
ALLOW_INTS_EGC to closure apply case.
1998-10-13 Radey Shouman <Radey_Shouman@splashtech.com>
* sys.c (egc_copy_stack): Provide strict bound on live locations.
* eval.c (apply): Added default case for tc7_specfun type,
replaces special handling for (apply apply ...) and (apply
call-with-current-continuation ...)
1998-10-12 Radey Shouman <Radey_Shouman@splashtech.com>
* scm.h (ISYMSETVAL): renamed to MAKISYMVAL.
* sys.c (scm_estk_reset): Now takes an argument giving the size of
the environment stack to create, 0 gives a default size.
(scm_estk_grow, scm_estk_shrink): Rewritten to use segmented
stack, so all of the stack need not be copied when the stack grows
or when a continuation is captured.
(scm_env_cons, scm_env_cons2, scm_env_cons_tmp):
(scm_extend_env): Rewritten using local temporary for indexing
into ecache.
1998-10-06 Radey Shouman <Radey_Shouman@splashtech.com>
* scm.c: SIGPROF #undefined if LACK_SETITIMER is #defined, needed
to build profiling version of SCM.
1998-10-06 Aubrey Jaffer <jaffer@ai.mit.edu>
* build.scm (read-version): Will use implementation-vicinity if
scm-srcdir does not contain "patchlvl.h".
1998-10-03 Radey Shouman <Radey_Shouman@splashtech.com>
* scm.c (run_scm): Fixed finals call loop
1998-10-02 Aubrey Jaffer <jaffer@ai.mit.edu>
* unif.c, sys.c, subr.c, socket.c, scm.h, scl.c, rgx.c, posix.c:
Fixed argument types in calls to must_malloc_cell().
* scm.h, repl.c, dynl.c, continue.h:
CodeWarrior-Pro-3 port from Bob Schumaker <cobblers@netcom.com>
1998-10-01 Bob Schumaker <cobblers@netcom.com>
* dynl.c: must_free_argv() was called with extra argument!
* continue.h (SHORT_ALIGN): Port for `CodeWarrior Pro 3'.
* repl.c, scm.h: declarations added for `CodeWarrior Pro 3'.
1998-09-29 Aubrey Jaffer <jaffer@ai.mit.edu>
* Link.scm (link-named-scm): simplified; prepping for hobbit5.
1998-09-29 Radey Shouman <Radey_Shouman@splashtech.com>
* scm.c Added SIGVTALRM callback.
* Init5c3.scm (profile-alarm-timer): Renamed from profile-timer,
(virtual-alarm-timer): added.
* sys.c (must_malloc_cell): Takes an argument specifying the CAR
of the cell to be returned.
* scm.h (MAKE_LENGTH, MAKE_NUMDIGS): Preprocessor macros added.
1998-09-29 Aubrey Jaffer <jaffer@ai.mit.edu>
* build (build-from-argv): slib:warns if not successful.
(bi): Exits with error indication when build not successful.
* build.scm (build): Sense was wrong; heap-can-shrink renamed
no-heap-shrink
(batch:rebuild-catalog): always return #t.
1998-09-22 Radey Shouman <Radey_Shouman@splashtech.com>
* sys.c (scm_init_gra, scm_grow_gra, scm_free_gra): GRowable
Array type.
(newsmob, newptob, add_final): Implemented using scm_gra type.
1998-09-18 Radey Shouman <Radey_Shouman@splashtech.com>
* Init5c3.scm (profile-timer, milli-alarm): Defined in terms of
SETITIMER.
* sys.c (sysintern): No longer changes the CDR of an existing
symhash value cell if second argument is UNDEFINED. For use with
scm_setitimer, which uses symbols as keys, but not as identifiers.
* scm.c (scm_proftimer): Removed.
(scm_setitimer): Added, interface to setitimer/getitimer allowing
use of ITIMER_REAL, ITIMER_VIRTUAL, ITIMER_PROF.
1998-09-18 Aubrey Jaffer <jaffer@colorage.com>
* posix.c (scm_getgroups): added scm_protect_temp(&grps);
1998-09-17 Aubrey Jaffer <jaffer@ai.mit.edu>
* Init5c3.scm (with-input-from-port, with-output-to-port):
(with-error-to-port): Replicated procedure rather than using
SWAPPORTS twice. This in combo with repl.c change fixes Radey's
strange multi-process bug!
* repl.c (set_inp set_outp set_errp): Made variable swap atomic.
Also changed so port argument can be closed.
1998-09-17 Radey Shouman <Radey_Shouman@splashtech.com>
* sys.c (init_storage): Fixed estk initialization to work when
restarted.
1998-09-16 Radey Shouman <Radey_Shouman@splashtech.com>
* Init5c3.scm (read:sharp-char): Added, parses emacs style meta
and control char syntax.
* repl.c (lreadpr): Added callout to READ:SHARP-CHAR for otherwise
undefined #\ read sequences, memoized references to READ:SHARP.
* unif.c (resizuve): Fixed accounting of mallocated storage for
strings and bitvectors.
* sys.c (igc_for_alloc, must_malloc, must_realloc):
(must_malloc_cell):
(must_realloc_cell): Fixed accounting of mallocated storage.
(igc): Added malloc consistency check for patched gmalloc, conditional
on #define DEBUG_GMALLOC.
(gc_sweep): Fixed accounting of bignum storage for DIGSTOOBIG case.
(intern): Avoid possible race condition by deferring ints during
search.
* scm.c (process_signals): Process from low numbers to higher, ala
Unix signals. More fatal errors should come earlier in the list.
Fri Sep 11 17:25:14 EDT 1998 Aubrey Jaffer <jaffer@scm.colorage.net>
* patchlvl.h (SCMVERSION): Bumped from 5c2 to 5c3.
1998-09-11 Radey Shouman <Radey_Shouman@splashtech.com>
* gmalloc.c: Imported gmalloc.c from emacs 20.2.1.
(check_block, check_frag_blocks): Debugging functions added.
* sys.c (scm_protect_temp): Added, is currently, and probably will
remain, a noop to force allocation of a SCM temporary on the
stack.
* scl.c (big2str): Added call to scm_protect_temp.
* eval.c (map, for_each): Added calls to scm_protect_temp.
* rgx.c (lregcomp): Added call to scm_protect_temp.
1998-09-04 Radey Shouman <radey@colorage.com>
* scl.c (big2str): Take address of SCM temporary as gc protection.
1998-09-02 Aubrey Jaffer <jaffer@colorage.com>
* dynl.c (l_dyn_link):
conditionalized message on verbose. Cleaned up message.
* Link.scm (link:link):
prepend ./ to non-absolute sun-dl library paths.
* scm.texi, scm.doc, scm.1, r4rstest.scm, README, Init5c2.scm, ANNOUNCE:
...-swiss => swissnet
* scm.h (verbose): read only macro for scm_verbose.
* repl.c (scm_verbose): renamed from verbose.
1998-08-31 Radey Shouman <Radey_Shouman@splashtech.com>
* scmfig.h (VERIFY_INTS): Added macro to print warnings if
interrupts are improperly allowed and CAREFUL_INTS is #defined.
(VOLATILE): Expands to `volatile' keyword if __STDC__ is #defined.
* sys.c (sys_errp): Interrupt safe system output port added.
(scm_estk_reset, must_malloc, must_realloc, scm_make_cont):
Now should be run with ints deferred, no longer ever allow ints.
scm-estk_reset builds a new stack if scm_estk is BOOL_F.
* scm.c (process_signals): Modified to print deferred output to
sys_errp.
* eval.c (SCM_ENV_SAVE, SCM_ENV_RESTORE): now ENV_SAVE,
ENV_RESTORE, local to eval.c
(apply, ceval_1): Ints deferred before call to scm_make_cont,
which no longer allows ints.
(closure): Now takes the number of required closure arguments as a
second argument.
(m_lambda): Computes and memoizes the number of required arguments.
* repl.c (iprlist): Uses GCCDR so that fatal error messages during
gc may print better.
(handle_it): Call to scm_egc made conditional on NO_ENV_CACHE.
(growth_mon, gc_start, gc_end, heap_report): Now use
sys_errp.
(ints_warn): Added for interrupt warnings using VERIFY_INTS.
(scm_stack_trace): Now completely prints stacks up to 20 deep,
rather than 10.
(def_err_response): Prints errobj if error is fatal.
(lroom): Made subr_1o for easier calling from C.
1998-08-27 Radey Shouman <radey@colorage.com>
* Init5c2.scm (array-shape): No longer signals an error when
passed a non-array -- now returns whatever ARRAY-DIMENSIONS
returned (currently #f).
1998-08-26 Aubrey Jaffer <jaffer@colorage.com>
* scm.c (scm_proftimer): Also conditional on SIGALRM.
1998-08-25 Radey Shouman <radey@colorage.com>
* sys.c (init_storage): Fixed initialization of tmp_errp so that
it is always correctly aligned.
* scm.c (process_signals): Fixed braino in code to search for
deferred signals.
(scmable_signal): Added POSIX signal unblocking call, conditional
on SIG_UNBLOCK, so Scheme signal handlers may be interrupted
before they exit.
1998-08-24 Radey Shouman <radey@colorage.com>
* scm.c (scmable_signal, err_signal, init_signals):
(ignore_signals):
(unignore_signals, restore_signals): Abstracted signal handling.
(fpe_signal, bus_signal, segv_signal, alrm_signal):
(prof_signal): Removed.
* repl.c (process_signals): Moved to scm.c
* sys.c (must_realloc_cell): Now returns void.
1998-08-20 Radey Shouman <radey@colorage.com>
* scm.c (prof_signal, scm_proftimer, ignore_signals):
(unignore_signals): Added handler for SIGPROF, raised via call to
setitimer (Scheme function PROFILE-TIMER).
* repl.c (handle_it): No longer saves scm_env, scm_env_tmp to
estk, they are protected by doing ecache gc.
(process_signals): Handles SIGPROF.
* sys.c (scm_fill_freelist): No longer always does gc.
(gc_mark): No longer bashes cdr of `free' cells, handle_it now
bashes more selectively.
(scm_egc): DEFER/ALLOW_INTS moved to minimize debugging ints_viol
messages -- some will still occur.
(scm_egc): No longer saves scm_env and scm_env_ptr to estk, they
are protected separately. To improve interrupt safety.
1998-08-19 Radey Shouman <radey@colorage.com>
* unif.c (resizuve): eliminated unused variable `ptr'.
* sys.c (freeprint): Now prints cdr of new cell.
1998-08-18 Radey Shouman <radey@colorage.com>
* repl.c (input_waiting): Now checks return value of select and
restarts if interrupted. This was causing CHAR-READY? to return
#T when no input was actually readable.
1998-08-17 Radey Shouman <radey@colorage.com>
* sys.c (scm_egc, scm_egc_copy_roots): Eliminated extra root
argument, made safe because EGC_ROOT is always called with ints
deferred.
(gc_mark): Check for ecache broken heart during mark -- fatal error.
(gc_sweep): Now uses HUGE_LENGTH instead of LENGTH for string
termination check.
(must_malloc_cell, must_realloc_cell): Added.
(gc_for_alloc): Static function abstracts gc calls for malloc/realloc.
* unif.c (make_uve): Removed call to makestr in order to support
huge strings.
(resizuve): Now uses must_realloc_cell.
* subr.c (make_vector, mkbig, adjbig): Now use
must_malloc_cell, must_realloc_cell.
* socket.c (maksknm): Now uses must_malloc_cell.
* scm.h (ISYMNUM): Use only 8 bits for number, freeing some bits
for other uses.
* scl.c (makdbl): Now uses must_malloc_cell.
* rgx.c (lrgecomp): Now uses must_malloc_cell.
* repl.c (handle_it): Keep pointers to discarded new cells.
* record.c (rec_constr1, init_record): Now use must_malloc_cell.
* posix.c (scm_getgroups): Now uses must_malloc_cell.
* dynl.c (l_dyn_link, l_dyn_call): Moved NEWCELL out of deferred
ints sections. For dlopen versions, print more error messages.
1998-08-17 Aubrey Jaffer <jaffer@colorage.com>
* eval.c (macroexp1): now prints name of unbound variable.
(s_unbnd s_wtap): abstracted error message strings.
1998-08-11 Radey Shouman <radey@colorage.com>
* eval.c (ceval_1): No longer make extra environment frame for
LETREC, since internal DEFINE is now rewritten.
1998-08-10 Aubrey Jaffer <jaffer@colorage.com>
* sys.c (scm_fill_freelist): Added; assures that at least
MIN_GC_YIELD cells are in freelist. This is used before returning
from interrupts.
* repl.c (handle_it): Discard 2 cells (because of CDR in NEWCELL).
Call scm_fill_freelist();
1998-08-08 Aubrey Jaffer <jaffer@ai.mit.edu>
* Init5c2.scm: removed DEFINED? conditionals for old SCMs.
1998-07-28 Radey Shouman <radey@colorage.com>
* sys.c (scm_estk_grow): Now pushes estk ptr, with ints deferred.
* eval.c (ENV_PUSH, ENV_POP): Now done with DEFER_INTS_EGC to
prevent problems with interrupt handlers that run Scheme code.
1998-07-27 Radey Shouman <radey@colorage.com>
* sys.c (scm_estk_grow): Protected critical section with
DEFER/ALLOW_INTS
(must_malloc, must_realloc): Protected igc call with
DEFER/ALLOW_INTS.
(scm_egc): Added DEFER/ALLOW_INTS around call to igc -- prevents
interrupts violation message in debug mode.
(igc): Now SCM_ENV_SAVE before any gc marking to fix gc bug
tickled by running Scheme code from interrupts.
(scm_egc, scm_egc_copy_roots): Now take a single argument, a gc
root. Simplifies handling of the case where scm_egc calls igc,
and possibly itself.
* repl.c (growth_mon): Now prints "shrank" instead of "grew" if
the relevant limit decreased.
(handle_it): Do env cache gc before applying interrupt
handler, to protect data on the estk, which might move.
Wed Jul 22 16:36:48 EDT 1998 Aubrey Jaffer <jaffer@scm.colorage.net>
* patchlvl.h (SCMVERSION): Bumped from 5c1 to 5c2.
1998-07-22 Radey Shouman <radey@colorage.com>
* sys.c: Added include of unistd.h for linux.
(freeprint): Distinguishes between free cells (on freelist)
and new cells.
(scm_egc): Check for scm_estk, scm_estk_ptr not consistent.
*repl.c (ints_viol): Added sense argument again, since there are
several meaningful values for ints_disabled.
(handle_it): More careful about interrupts when saving estk. *
*scmfig.h (DEFER_INTS, ALLOW_INTS, DEFER_INTS_EGC):
(ALLOW_INTS_EGC): ints_viol calls changed.
* ramap.c (array_for_each, array_map): Always act as if CCLO is
defined, this does no harm, and allows CCLO optimizations for the
dynamicly loaded case.
* posix.c: Added include of unistd.h for linux.
* eval.c (ident2sym): Now available in Scheme as
IDENTIFIER->SYMBOL.
(closure): Removed env argument, now uses scm_env and is more careful
about interrupts.
(env2tree): Now uses DEFER_INTS_EGC.
1998-07-22 Aubrey Jaffer <jaffer@colorage.com>
* build.scm (read-version): added to read version number from
"patchlvl.h".
(batch:rebuild-catalog): rebuilds the catalog in implvic (executable's
implementation vicinity).
(build-params): implinit renamed to implvic.
(make-dll-archive): deposits dll-archives in implvic.
* scm.c (INIT_FILE_NAME): definitions moved to "patchlvl.h".
* patchlvl.h (INIT_FILE_NAME): moved from "scm.c" so it will be
updated automatically.
* Init.scm: renamed Init5c1.scm. The init file-name will
henceforth include the version number.
* Makefile (new): Added support for Init file renaming (including
CVS).
1998-07-17 Radey Shouman <radey@colorage.com>
* eval.c (ceval_1): Changed IM_SET to make High C happy.
* scmfig.h: ioext.c: Added STDC_HEADERS #define and #include
<unistd.h> for linux. Allows use of the rename() system call,
which works for some filesystems that do not allow multiple links
(smbfs).
1998-07-16 Aubrey Jaffer <jaffer@colorage.com>
* repl.c (repl): changed __TURBOC__ flag to __MSDOS__. This
enables the cr/lf fix for DJGPP also.
(repl): Enabled cr/lf fix for __HIGHC__ also.
1998-07-16 Radey Shouman <radey@colorage.com>
* eval.c (lookupcar): Second argument now specifies what to check:
LOOKUP_UNDEFP for error on undefined, LOOKUP_MACROP for error on
keyword. LOOKUP_UNDEFP and LOOKUP_MACROP are #defined only in
eval.c. Error is again signalled for undefined symbols at top
level.
1998-07-14 Radey Shouman <radey@colorage.com>
* eval.c (ENV_PUSH, ENV_POP): Modified for interrupt safety.
(ceval_1, apply, procedurep, macroexp1, make_specfun):
cclo is now a subtype of tc7_specfun, which also includes
tc16_apply and tc16_call_cc, smobs are now never procedures.
(apply): Added call/cc support, error checking for subr_2o and
subr_3 types.
* sys.c (gc_mark, gc_sweep): Modified for new specfun, cclo
representation.
(gc): Now does ecache gc if given optional argument.
* repl.c (iprin1): Modified for new specfun, cclo representation.
(handle_it): Now saves and restores estk for interrupt safety.
* ramap.c (array_map): Changed for new cclo representation.
1998-07-10 Radey Shouman <radey@colorage.com>
* eval.c (macroexp1): Made sure to call unmemocar before
throwing error.
(ceval_1): ALLOW_INTS_EGC before returning value.
1998-07-09 Radey Shouman <radey@colorage.com>
* eval.c (ceval_1): Modifications to allow rewriting of interal
DEFINE to LETREC: If an ISYM is evaluated in non-tail position the
body of which it is the CAR is macro expanded by m_expand_body,
which rewrites internal DEFINE.
(m_expand_body): Added.
(m_macroexp1): Added argument to control error checking:
m_expand_body may speculatively expand forms in the wrong
environments. Made argument number checks conditional on
RECKLESS.
(m_body): Added, error checks bodies and inserts the ISYM tokens.
(m_lambda, m_letstar, m_letrec1, m_letrec, m_let): Now
call m_body.
(m_cond, m_case, m_quote): Modified to avoid destructively changing
their argument forms. Since m_expand_body speculatively macro
expands forms the process must be reversible.
(m_ident_eqp): Fixed to use proper environment.
(renamed_ident): Added DEFER_INTS_EGC.
Added prototypes for static functions.
1998-07-07 Radey Shouman <radey@colorage.com>
* eval.c (SPECFUN): Removed -- now the only case.
(ceval_1, m_cont): IM_CONT case removed.
(scm_evalatomcar): Added check for tc16_specfun. Made unquoted vector
message conditional on RECKLESS.
* scm.h:
* repl.c: IM_CONT removed.
* sys.c (gc_sweep): Fixed bug in float gc introduced with NUM_HP.
(freeprint): Added for debugging.
1998-07-06 Radey Shouman <radey@colorage.com>
* eval.c (ceval_1): envpp now -1 after estk has been popped,
allows better stack tracing.
* eval.c (ceval_1): Fixed argument number check for closures and
made conditional on CAUTIOUS.
(ceval_1, evalatomcar, lookupcar): Moved check for
using macro as variable from ceval_1 and evalatomcar to lookupcar.
1998-07-02 Radey Shouman <radey@colorage.com>
* Init.scm (call-with-current-continuation): Now subr.
* eval.c (ceval_1): Made CALL-WITH-CURRENT-CONTINUATION an inlined
smob, like APPLY. Flushed @CALL-WITH-CURRENT-CONTINUATION.
ecache allocated lists now no longer passed to apply of asubrs and
rpsubrs -- this is not interrupt safe.
(macroexp1): Added argument number checks for subrs, this gives error
messages with unmemoized code.
* eval.c (ceval_1): Fixed error reporting -- "wrong number of
args" was sometimes reported as "wrong type to apply".
Now pass arglist allocated in ecache for asubrs and rpsubrs with
3+ args.
1998-07-01 Radey Shouman <radey@colorage.com>
* eval.c (ceval, ceval_1, ilookup, lookupcar, farlookup):
New model of interrupt control for protecting ecache references
using DEFER_INTS_EGC, ALLOW_INTS_EGC. These need not be strictly
nested, ints are always allowed by ceval_1 before tail-calling a
subr.
(ceval_1): @apply flushed in favor of a smob denoting apply and
understood by the evaluator -- allows ecache allocation of
argument lists.
(scm_macroexp1): Now checks arity for closures, checking had been
broken for non-CAUTIOUS SCM.
* scmfig.h (DEFER_INTS_EGC, ALLOW_INTS_EGC): Defined.
* sys.c (scm_env_cons, scm_env_cons, scm_env_cons2):
(scm_extend_env): DEFER_INTS replaced with DEFER_INTS_EGC.
* repl.c (repl_report): At verbose level 3 now reports number of
ecache cells migrated and why, also number of ecache garbage
collections.
(ints_viol): Reports filename and line number of violation, and
filename and number of last previous DEFER/ALLOW_INTS.
1998-06-23 Radey Shouman <radey@colorage.com>
* scm.c (int_signal): Now signals error if there is no Scheme
handler.
(ignore_signals): Changed SIG_IGN to SIG_DFL for SIGINT.
1998-06-22 Radey Shouman <radey@colorage.com>
* eval.c (ENV_PUSH): Fixed problem introduced during last change:
estk was overstepping its bounds.
1998-06-19 Radey Shouman <radey@colorage.com>
* eval.c (ilookup, farlookup, unmemocar, ceval_1):
(id_denote): Wrapped all pointer-chasing of possible ecache cells
in DEFER/ALLOW_INTS for safety when interrupt handlers may
evaluate Scheme code asynchronously.
(scm_macroexp1, m_define, m_atlet_syntax): Environments now
always wrapped when passed to macro expanders.
(ecache_p, debug_env_car, debug_env_cdr): Added for CAREFUL_INTS
checking.
(test_ints): Added when CAREFUL_INTS is defined for checking interrupt
safety.
* repl.c (ints_viol): Now prints file and line number.
1998-06-15 Radey Shouman <radey@colorage.com>
* scm.h (SCM_ENV_SAVE, SCM_ENV_RESTORE): Added, to prevent
oversights in sys.c.
* sys.c (scm_env_cons, scm_env_cons2): Made interrupt safe;
return results in global scm_env_tmp, use DEFER/ALLOW_INTS.
(scm_extend_env, scm_env_cons_tmp): Added.
(scm_env_acons): Deleted, superseded by scm_extend_env.
*eval.c (ceval_1, apply): Replaced and rewrote scm_env_ routines
to use new interrupt safe versions. ENV_TMP replaced by
scm_env_tmp, it was hard to remember that ENV_TMP might move.
CLEAR_ENV_TMP removed since scm_env_tmp will be overwritten almost
every time estk is pushed.
1998-06-15 Aubrey Jaffer <jaffer@colorage.com>
* build.scm (compile-c-files *unknown*): Now uses
BATCH:APPLY-CHOP-TO-FIT BATCH:TRY-SYSTEM rather than BATCH-SYSTEM.
1998-06-12 Aubrey Jaffer <jaffer@colorage.com>
* eval.c (evalatomcar): #ifdef MACRO added around M_IDENTP.
* Makefile (dist): Added cvs flag command to dist target.
1998-06-12 Radey Shouman <radey@colorage.com>
* repl.c (scm_execpath): Added ASSERTion to signal error in case
malloc fails.
* subr.c (scm_copybitfield): corrected unsigned declaration of len
variable, will now signal errors if END < START.
(bigcomp): Changed type of xlen from sizet to long, since
it is compared with -1.
1998-06-07 Aubrey Jaffer <jaffer@ai.mit.edu>
* Init.scm (string-ci->symbol): added (new in "slib/strcase.scm")
Fri Jun 5 16:01:02 EDT 1998 Aubrey Jaffer <jaffer@scm.colorage.net>
* patchlvl.h (SCMVERSION): Bumped from 5c0 to 5c1.
1998-06-05 Aubrey Jaffer <jaffer@colorage.com>
* ANNOUNCE: Removed ftp.cs.indiana.edu:/pub/scheme-repository/
entries because they are no longer being maintained or updated.
1998-06-03 Aubrey Jaffer <jaffer@colorage.com>
* Makefile (Install): target updated to include more recent *.scm
as well as *.sl and *.so files.
* continue.h (setjump): Using (include <signal.h> and) SIG_UNBLOCK
for setjump #defines.
* scm.c (ignore_signals): SIG_UNBLOCK is a better indicator for
sigprocmask() than __USE_POSIX.
1998-06-03 Radey Shouman <radey@colorage.com>
* unif.c (array_inbp): Deleted unused label badarg:
1998-06-02 Aubrey Jaffer <jaffer@colorage.com>
* repl.c: SIGHUP_deferred added.
1998-06-02 Radey Shouman <radey@colorage.com>
* scm.c (ignore_signals): now unblocks signals (mask).
* ioext.c (i_execv): Now brackets execv[p] with un/ignore_signals().
1998-06-01 Radey Shouman <radey@colorage.com>
* scm.c (unblock_signals): Deleted. Signal mask problem fixed by
of #defining setjump as sigsetjmp, longjump as siglongjmp.
1998-05-30 Aubrey Jaffer <jaffer@ai.mit.edu>
* build.scm (batch:rebuild-catalog): rewritten from
rebuild-catalog.
(default-for-platform): new batch-dialect added.
(guess-how): removed. Guessing delayed using
default-for-platform.
1998-05-28 Radey Shouman <radey@colorage.com>
* eval.c (ceval_1): setjmp changed to setjump.
* continue.h:
Changed setjump, longjump to use sigsetjmp, siglongjmp if it
looks as though we're POSIX
1998-05-28 Aubrey Jaffer <jaffer@colorage.com>
* repl.c (handle_it): absorbed wta() call always used with it.
(SIGALRM_deferred): renamed from alrm_deferred.
(SIGINT_deferred): renamed from sig_deferred.
(han_sig han_alarm): collapsed into (new) process_signals().
* scm.c (alrm_signal int_signal): now call handle_it() directly,
instead of through han_sig() and han_alarm().
* scmfig.h (CHECK_INTS): simplified; deferred_proc when non-zero
is address of procedure to call for signal processing (always
process_signals()).
* sys.c (sysintern mksubr): "const" added to declaration of first
arguments.
1998-05-27 Aubrey Jaffer <jaffer@colorage.com>
* repl.c (everr): fixed really broken default vs. dowinds stuff.
* socket.c (l_accept): moved DEFER_INTS so accept() call won't
block.
1998-05-27 Radey Shouman <radey@colorage.com>
* repl.c: Fixed bug in scm_stack_trace: could have a negative
number of stack frames if interrupted at top level.
1998-05-26 Aubrey Jaffer <jaffer@colorage.com>
* scmfig.h: Metaware __HIGHC__ lacks sbrk (LACK_SBRK).
1998-05-21 Radey Shouman <radey@colorage.com>
* sys.c (must_realloc): Fixed sense of check on realloc return
value in must_realloc.
* repl.c (scm_ecache_report): Fixed ecache stack report in ROOM.
1998-05-21 Aubrey Jaffer <jaffer@colorage.com>
* sys.c, scm.h, repl.c: Fixed long vs. int bugs for 16-bit compilers.
* Init.scm: Made renamed logical operations safe for old executables.
* scmfig.h: Borland sbrk() is a noop.
* sys.c: Fixed ECACHEP for Borland C.
* Init.scm: Removed check for duplicate key values for CASEV (now
done by CASE).
* Init.scm (casev): Removed check for duplicate key values for
CASEV (now done by CASE).
1998-05-21 radey <radey@scm.colorage.net>
* scm.texi: Documented changes to closure format.
* sys.c: cosmetic changes.
Wed May 20 17:53:52 EDT 1998 Aubrey Jaffer <jaffer@ai.mit.edu>
* patchlvl.h (SCMVERSION): Bumped from 5b5 to 5c0.
1998-05-20 Radey Shouman <radey@colorage.com>
* eval.c: Added check for duplicate key values for CASE.
* sys.c (scm_egc): Modified scm_egc to prevent a major gc from
happening inside an ecache gc -- which was causing environment lossage.
1998-05-20 Aubrey Jaffer <jaffer@colorage.com>
* Makefile: made check or checklit part of normal build.
* scm.texi (Evaluation): Added description of FARLOC.
(Memory Management for Environments): Added Tom Lord's
documentation of ecache.
* build.scm (build): compile-c-files linux: don't use -O2 when -g
is specified.
1998-05-14 Radey Shouman <radey@colorage.com>
* Init.scm (bit-extract, logical:bit-field):
(logical:bitwise-if, logical:copy-bit):
(logical:copy-bit-field): definitions added for SLIB compatibility.
* subr.c (scm_bitfield): renamed BIT-EXTRACT to BIT-FIELD,
added range check on END.
(scm_bitif, scm_copybitfield, scm_copybit): added.
1998-05-12 Aubrey Jaffer <jaffer@colorage.com>
* eval.c (m_case): Added checks for ELSE clause.
* Init.scm (defconst): added.
(casev): added.
(print-args): fixed (environment-cache broke).
* eval.c (env2tree): exported to Scheme as environment->tree.
1998-05-11 Aubrey Jaffer <jaffer@colorage.com>
* continue.c (dynthrow): Giving up on HPUX stack growth.
"growth[] being optimized out" message disabled for HPUX.
* sys.c (try_open_file): Renamed from open_file.
(open_file): Now calls back to Scheme; applies `open-file'.
Fri May 8 17:40:44 EDT 1998 Aubrey Jaffer <jaffer@scm.colorage.net>
* patchlvl.h (SCMVERSION): Bumped from 5b4 to 5b5.
1998-05-08 Radey Shouman <radey@colorage.com>
* eval.c (m_letrec1): added to support tagged environment frames.
(m_let, m_letrec, m_lambda, m_do): Now put an ISPCSYM in the last
cdr of the names they add to the environment, this is intended for
debugging.
1998-05-07 Radey Shouman <radey@colorage.com>
* repl.c (scm_brk_report): Added.
* scm.c (main): set global variables remembering initial brk.
* eval.c (ceval_1): LETREC now adds extra (empty) environment
frame so internal define does not upset memoization.
* r4rstest.scm: tests for LETREC/internal DEFINE bug added.
1998-04-22 <radey@colorage.com>
* repl.c (repl_driver): Added sbrk call just before dumping --
fixes problems with linux dumped executables.
1998-04-16 <radey@colorage.com>
* unif.c (scm_logaref, scm_logaset): Added.
Thu Apr 9 11:31:20 EDT 1998 Aubrey Jaffer <jaffer@scm.colorage.net>
* patchlvl.h (SCMVERSION): Bumped from 5b3 to 5b4.
1998-04-08 Aubrey Jaffer <jaffer@colorage.com>
* sys.c (gc_mark): first column #endif was within comment.
(sweep_symhash): was being called by igc -- even with NO_SYM_GC flag.
1998-04-07 Aubrey Jaffer <jaffer@ai.mit.edu>
* build.scm (link-c-program highc.31): added -stack 65000.
* sys.c (gc_mark): added CHECK_STACK;
1998-04-06 Aubrey Jaffer <jaffer@ai.mit.edu>
* sys.c (gc_mark): Checks strings and symbols for extra 0 byte.
(mark_syms): Added check for extra 0 byte; check strhash() of
symbol matches bucket index.
1998-04-06 Aubrey Jaffer <jaffer@colorage.com>
* unif.c (make_uve): Changed to call makstr for strings. This is
so extra byte will be 0.
* time.c (your_time): PharLap.51 ftime() is non-monotonic. Fix
added to assure ftime() never decreases.
1998-04-03 Aubrey Jaffer <jaffer@ai.mit.edu>
* Init.scm (apply:nconc-to-last): Changed value to nconc2copy;
this allows apply's definition to remain unchanged.
1998-04-03 <radey@colorage.com>
* rope.c: scm_cell_p now returns true for env cache cells, so they
may be printed during debugging.
1998-04-03 Ben Caradoc-Davies <bmcd@physics.otago.ac.nz>
* sys.c (gc_sweep): If a segment is freed during garbage
collection, the heap size counter is adjusted, but the cells
collected counter is not. Then when calculating cells allocated,
cells in a freed segment are counted twice (negatively).
1998-04-03 Aubrey Jaffer <jaffer@ai.mit.edu>
* scm.texi (Low Level Syntactic Hooks): Documented behavior of
@apply; turning a former bug into a feature.
1998-04-01 Aubrey Jaffer <jaffer@colorage.com>
* scl.c (ex2in): changed tc7_cxr floident() to tc7_subr_1 ex2in()
so it will handle complex numbers.
1998-04-01 <radey@colorage.com>
* eval.c (nconc2copy): Added to fix bug in apply that
allowed local SET! to mutate lists passed to APPLY.
* Init.scm (apply): now uses apply:nconc-to-copy.
1998-03-26 Radey Shouman <radey@colorage.com>
* eval.c (ilookup, lookupcar, farlookup, ceval, evalatomcar):
(ceval_1, iqq, wrapenv): Substantial changes to use
copy-collected stack cache intended to reduce time in gc.
* sys.c (egc_mark, egc_sweep, egc_copy, egc_copy_stack):
(egc_copy_roots, scm_egc): The cache garbage collector.
(scm_env_cons, scm_env_cons2, scm_env_acons): Functions to
allocate storage in the environment cache.
* repl.c (scm_egc_start, scm_egc_end, scm_ecache_report):
(scm_stack_trace): Added to support environment cache.
stack-trace now does not print all of stacktraces deeper than
10 levels.
1998-03-20 Patrick Lecoanet <lecoanet@cena.dgac.fr>
* sys.c (igc): Use of NO_SYM_GC flag fixed.
1998-03-20 Aubrey Jaffer <jaffer@colorage.com>
* eval.c (m_define): "redefining built-in " message now
conditional on verbose >= 2.
(evalatomcar): unquoted vectors give warning when verbose >= 2.
(EVALCELLCAR): Now always uses ATOMP, which catches all non-pair cells.
1998-03-20 Radey Shouman <radey@colorage.com>
* Macro.scm (macro:compile-syntax-rules): Allows vectors to
be used as patterns and templates, per R5RS.
* eval.c (unpaint): Unpaints identifiers in quoted vectors.
1998-03-09 Aubrey Jaffer <jaffer@colorage.com>
* repl.c (dump): made compatible with change to boot-tail
* time.c:
* scmfig.h: Removed support for HAVE_CONFIG_H.
1998-03-09 Radey Shouman <radey@colorage.com>
* time.c: I found that SCM on Linux uses ftime(), but that ftime()
is implemented in glibc as a call to time(). Linux does support
gettimeofday(), which does allow 10 msec resolution. I tried
using the definition of ftime() using gettimeofday() at the end of
time.c (#ifdef freebsd). It worked like a charm.
1998-03-05 Radey Shouman <radey@colorage.com>
* Init.scm (boot-tail): added `dumped?' argument.
* Init.scm (set-vicinities!): added.
* time.c (reset_time): Added to fix user time report for dumped
executables -- now reports the time since invocation, rather than
the time since dumping.
* scm.c (init_scm): Calls reset_time if dumped.
* scm.c (scm_find_impl): Wrapper for scm_find_impl_file.
* scm.c (find-init-file): added Scheme interface for scm_find_impl.
1998-02-27 Bob Schumaker <cobblers@netcom.com>
* dynl.c: added Macintosh support.
1998-02-23 Drew Csillag <drew_csillag@geocities.com>
* scm.c: Port for __CYGWIN32__
1998-02-17 Radey Shouman <radey@colorage.com>
* Macro.scm (macro:compile-syntax-rules): Fixed to recognize
non-identifier literals in patterns.
1998-02-09 <amu@mit.edu>
* scm.h (CGETUN):
* sys.c (noop0): I found two places where SCM uses a possibly
signed type for characters in a stream and risks confusing '\377'
(a legitimate character) with EOF (-1). This patch addresses this
problem, and should make SCM's streams completely 8-bit clean.
1998-02-11 Aubrey Jaffer <jaffer@colorage.com>
* scm.texi (Index): combined indexes into one node. Added use of
@url command.
Mon Jan 12 10:12:20 1998 Aubrey Jaffer <jaffer@ai.mit.edu>
* disarm.scm: (require 'disarm) disables opening and modifications
of files.
Sun Jan 11 22:52:59 1998 Aubrey Jaffer <jaffer@ai.mit.edu>
* posix.c: replaced C definitions of open-input-pipe and
open-output-pipe with call to scm_ldstr().
Sat Jan 10 11:54:03 1998 Aubrey Jaffer <jaffer@ai.mit.edu>
* Init.scm (read:eval-feature): moved into read:sharp (only use).
(read:sharp): now handles `#\.'; moved from lreadr in "repl.c".
Sun Dec 21 19:40:31 1997 Aubrey Jaffer <jaffer@ai.mit.edu>
* repl.c (exit_report exit_report): improved.
* sys.c (stack_report): improved.
* scl.c (iint2str): split into two routines. Negative radix
argument now forces unsigned conversion.
* sys.c (alloc_some_heap): heap size variables were confused.
heap_cells is now used instead of heap_size.
* setjump.h (MIN_GC_YIELD NUM_HASH_BUCKETS): moved from scmfig.h.
* scm.h (THRASH): added.
Mon, 01 Dec 1997 17:56:43 Andreas Menke <asmenke@bln.de>
* sys.c (must_malloc must_realloc): Bumps up mtrigger if less than
1/8 of malloc space was reclaimed by GC.
Wed Dec 17 22:40:45 1997 Aaron Ucko <amu@mit.edu>
* rgx.c (lregcomp): There is a small bug in rgx.c; a few things
should be set before sending the pattern buffer to
re_compile_pattern(). These fields should be set to zero, which
means the bug only appers after memory is reused. This only
affects use of GNU regex (i.e., only happens with _GNU_SOURCE
defined). cf. regex.info for more information.
Wed Dec 17 22:40:45 1997 Aubrey Jaffer <jaffer@ai.mit.edu>
* sys.c (free_storage): added fflush for stdout and stderr
(because those ports don't get closed).
Sun Nov 30 23:21:05 1997 Aubrey Jaffer <jaffer@martigny.ai.mit.edu>
* build (build-from-argv): split from "build.scm" so that cgi
scripts don't carry getopt baggage.
Thu Nov 20 09:45:28 1997 Aubrey Jaffer <jaffer@martigny.ai.mit.edu>
* build.scm (build): suppress-files field restored to C-libraries
table. It really is the correct way to deal with "findexec.c".
Sun Nov 16 13:43:21 1997 Aubrey Jaffer <jaffer@martigny.ai.mit.edu>
* mkimpcat.scm: 'hobbit, 'scmhob, and 'build added.
* Link.scm (compile-file link-named-scm): Fixed. Require of
strings removed. Tested with Hobbit 5x.
(scm:object-suffix): changed to ".o"; only used by link-named-scm.
Sun Nov 2 23:15:57 1997 Aubrey Jaffer <jaffer@martigny.ai.mit.edu>
* patchlvl.h (SCMVERSION): Bumped from 5b2 to 5b3.
* mkimpcat.scm: modified for new SLIB catalog arrangement.
Sat Nov 1 14:19:24 1997 Aubrey Jaffer <jaffer@martigny.ai.mit.edu>
* sys.c (gc_sweep): added `contin_bad' argument. When set,
gc_sweep will warn of any uncollected continuations of non-zero
length. This should make unexec problems less mysterious.
Tue Oct 28 16:54:00 1997 Aubrey Jaffer <jaffer@martigny.ai.mit.edu>
* Init.scm (home-vicinity): added. Used to find "ScmInit.scm".
Sat Oct 25 23:05:43 1997 Aubrey Jaffer <jaffer@martigny.ai.mit.edu>
* unexsunos4.c: added from emacs.
* unexhp9k800.c: added from emacs. Broken -- doesn't change the
segment sizes.
* unexalpha.c: added from emacs.
Sat Oct 18 11:50:34 1997 Aubrey Jaffer <jaffer@martigny.ai.mit.edu>
* build.scm (build C-libraries): changed horrible `supress-files'
field to `lib-support'.
(rebuild-catalog): added. Called by dll and dlls methods.
Sat Oct 11 23:19:55 1997 Aubrey Jaffer <jaffer@martigny.ai.mit.edu>
* scm.texi (Compiling and Linking Custom Files): Added to describe
how to use "build.scm" with custom files.
Fri Oct 10 00:31:08 1997 Aubrey Jaffer <jaffer@martigny.ai.mit.edu>
* Makefile (myscm4 myscm5): now delete slibcat and implcat to keep
them from getting stale.
* gmalloc.c: HP-UX B.10.10 A doesn't have getpagesize.h.
Fri Oct 10 00:18:40 1997 Peter E. Davis <pete@media.mit.edu>
* unexhp9k800.c: added HP-UX unexec support.
Mon Sep 29 15:18:37 1997 Aubrey Jaffer <jaffer@martigny.ai.mit.edu>
* sys.c (mark_syms): No longer mark the value cell because value
cells get returned by calls to intern(). This caused a rare GC
leak which showed up in large programs.
Sun Sep 28 21:36:53 1997 Aubrey Jaffer <jaffer@martigny.ai.mit.edu>
* scm.h (const): defined to comment for hpux native cc.
Sun Sep 28 14:48:10 1997 Radey Shouman <shouman@zianet.com>
* ramap.c (array_imap): Fixed for zero-rank arrays arguments.
Fri Sep 19 23:23:46 EDT 1997 Aubrey Jaffer <jaffer@ai.mit.edu>
* patchlvl.h (SCMVERSION): Bumped from 5b1 to 5b2.
Fri Sep 19 23:17:48 1997 Aubrey Jaffer <jaffer@martigny.ai.mit.edu>
* build.scm (build:build): DEFAULT field-name changed to
DEFAULTER in concert with SLIB/dbutil.scm.
Tue Aug 26 17:40:44 1997 Aubrey Jaffer <jaffer@martigny.ai.mit.edu>
* build.scm (build): Changed sun to sunos; This gives automatic
platform from uname.
Wed Jul 2 14:25:52 1997 Anthony Green <green@cygnus.com>
* scmfig.h (FENCE): macro added. DEFER_INTS/ALLOW_INTS doesn't
actually promise to keep the critical code within the boundries of
the DEFER/ALLOW_INTS instructions. It may very well schedule it
outside of the magic defined in those macros. GCC's volatile asm
feature forms a barrier over which code is never moved.
Wed Jun 25 12:56:22 1997 Aubrey Jaffer <jaffer@martigny.ai.mit.edu>
* repl.c (tryload): Undid previous tail-recursive hack; it caused
errors and warning to issue from grossly wrong line numbers.
Sun Jun 8 21:40:50 1997 Aubrey Jaffer <jaffer@martigny.ai.mit.edu>
* mkimpcat.scm: updated for shared-library wb.
Mon May 19 18:12:33 1997 Aubrey Jaffer <jaffer@martigny.ai.mit.edu>
* dynl.c (l_dyn_main_call): added for SUN_DL.
Sat May 17 23:21:05 1997 Aubrey Jaffer <jaffer@martigny.ai.mit.edu>
* repl.c (lreadparen): Now calls wta when EOF is encountered in
list. This must have broken when rewritten to use `UNDEFINED' as
magic-cookie.
Sat May 10 21:54:47 EDT 1997 Aubrey Jaffer <jaffer@scm.bertronics.com>
* patchlvl.h (SCMVERSION): Bumped from 5b0 to 5b1.
Sat May 10 21:08:41 1997 Aubrey Jaffer <jaffer@martigny.ai.mit.edu>
* mkimpcat.scm: moved from Init.scm, macro feature now properly
listed.
Thu Apr 17 15:16:56 1997 Denys Duchier <Denys.Duchier@ps.uni-sb.de>
* build.scm (build): extended with the new platform
sun-svr4-gcc-sunld because my system runs solaris, uses gcc as its
compiler, but is configured to use sun's linker rather than gnu's.
I tested the changes in so far as the resulting system compiles,
runs, passes the tests, and is able to dump an image which can be
successfully restarted. I used the following command to create my
building script:
build.scm -p sun-svr4-gcc-sunld -o SCM+ -w redo \
--compiler-options=-DHAVE_UNISTD_H -F bignums \
arrays array-for-each inexact rev2-procedures \
record compiled-closure generalized-c-arguments \
i/o-extensions regex socket posix unix dump \
cheap-continuations macro
* scm.texi (Build Options): updated the documentation of `build
options': removed memoize-local-bindings, which is not supported
by build.scm, and added macro, which is.
* ecrt0.c: modified the sparc's asm in ecrt0.c to call main
and _exit when __svr4__ is defined instead of _main
and __exit. It seems the prepending of an underscore
is a thing of the past.
Tue May 6 12:34:43 1997 Aubrey Jaffer <jaffer@martigny.ai.mit.edu>
* Init.scm (print-args): syntax added.
Mon Apr 28 20:24:47 1997 Aubrey Jaffer <jaffer@martigny.ai.mit.edu>
* mkimpcat.scm: created from "Link.scm"; mkimpcat.scm creates
"implcat" in implementation-vicinity, supporting slib2b0
catalog abstraction.
* repl.c (dump): dump (defined by init_repl) now sets *catalog* to
#f in order to trigger loading of "slibcat" and "implcat".
* build.scm (build): make-nothing renamed to update-catalog.
update-catalog and make-dll-archive create fresh "implcat".
* sys.c (open_file): ALLOW_INTS was misplaced, causing lots of
"ints already enabled" messages.
* repl.c (ints_viol): written.
* scmfig.h (DEFER_INTS ALLOW_INTS): rewritten using ints_viol() to
allow easy gdb breakpointing.
* repl.c (lreadpr): renamed from lreadr(). New lreadr() created.
(flush_ws): fixed linum++ bug.
(lreadparen): rewrote to use UNDEFINED as close-parenthesis magic
cookie; #+foo <expression> can now appear at end of lists and files.
Fri Apr 25 22:52:20 1997 Aubrey Jaffer <jaffer@martigny.ai.mit.edu>
* scl.c (istr2flo): supplied missing IMP test before INEXP test.
Fri Mar 21 08:44:52 1997 Aubrey Jaffer <jaffer@martigny.ai.mit.edu>
* Transcen.scm (log10): defined to $log10.
* scl.c: added $log10.
Thu Mar 20 21:09:19 1997 Aubrey Jaffer <jaffer@martigny.ai.mit.edu>
* Init.scm (scm:load): test for script files skips hopeless calls
to link:link.
(file-readable?): added. Non-blocking reads first 2 characters of
file.
Tue Mar 18 18:38:14 1997 Aubrey Jaffer <jaffer@martigny.ai.mit.edu>
* script.c (scm_cat_path scm_try_path scm_sep_init_try):
(scm_find_impl_file dld_find_executable): moved from scm.c
(script_find_executable script_P): added.
(script_read_arg script_meta_arg_P): added.
(script_process_argv script_count_argv): added.
These functions implement `script meta-args' ala SCSH for unix
and MS-DOS.
* repl.c (scm_unexec): Now checks for execpath being set.
(final_repl): No longer tries to set execpath.
* dynl.c (init_dynl): Instead of trying to set execpath, now gives
error message if NULL.
* patchlvl.h (SCMVERSION): Bumped from 5a1 to 5b0.
Sat Mar 15 17:04:07 1997 Aubrey Jaffer <jaffer@martigny.ai.mit.edu>
* scm.c (main): Assumes called as a script when first argument
(argv[1]) is "\\"; and finds execpath with
dld_find_script_executable() instead of dld_find_executable().
* findexec.c (dld_find_executable): Now prepends current working
directory to any path with a `/' in it.
(dld_find_script_executable): Added to resolve real executable
pathname when program is invoked as a script.
* Init.scm (read:sharp): #! now a balanced comment when first line
ends with \ (backslash). This is to support SCSH scripts.
Fri Mar 7 21:12:17 EST 1997 Aubrey Jaffer <jaffer@scm.bertronics.com>
* patchlvl.h (SCMVERSION): Bumped from 5a0 to 5a1.
Mon Mar 3 20:09:43 1997 Radey Shouman <shouman@zianet.com>
* eval.c (renamed_ident): Renamed RENAME-IDENTIFIER to
RENAMED-IDENTIFIER.
* eval.c (m_case): Avoid renaming data at the head of each
clause.
Wed Feb 26 10:17:59 1997 Aubrey Jaffer <jaffer@martigny.ai.mit.edu>
* Macro.scm (macro:compile-syntax-rules):
* Init.scm (copy-tree): use of copy-tree changed to @copy-tree.
* eval.c (copy-tree): renamed to @copy-tree.
* sys.c (igc): test added for calls to igc within igc.
* unif.c (raprin1): calls ipruk() instead of using cells if
called during gc.
* scl.c (bigprint floprint): no longer try to allocate cells if
called during gc.
* .gdbinit (runscm verbose errobj scm load eval): added for
debugging with GDB 4.16.
Tue Feb 25 21:32:50 1997 Aubrey Jaffer <jaffer@martigny.ai.mit.edu>
* repl.c (iprin1): Now checks that a cell is actually in a heap
before trying to print it.
* rope.c (scm_cell_p): added. Returns !0 if SCM argument is
cell-aligned and points into a valid heap segment.
Sun Feb 23 21:21:21 1997 Aubrey Jaffer <jaffer@martigny.ai.mit.edu>
* continue.h: SCM source now uses jump_buf, setjump, and longjump
in lieu of jmp_buf, setjmp, and longjmp. This should prevent name
and declaration conflicts.
* build.scm (include-spec): created to elide "-I" if scm-srcdir is
"".
Sat Feb 22 20:45:58 1997 Aubrey Jaffer <jaffer@martigny.ai.mit.edu>
* repl.c (lreadr): uncommented line 640 to allow reading balanced
comments at end of files.
* build.scm (scm-srcdir): now defaults to user-vicinity, rather
than implementation-vicinity.
* Init.scm (warn): added.
* repl.c (exitval): Now initialized.
(quit): fixed return value bug.
(abrt): Now returns failure exit code if errjmp_bad.
Tue Feb 11 21:08:44 1997 Aubrey Jaffer <jaffer@martigny.ai.mit.edu>
* ugsetjmp.s: Created for Ultrix-VAX port.
Mon Feb 3 08:55:43 1997 Aubrey Jaffer <jaffer@martigny.ai.mit.edu>
* repl.c (read_token): `#' no longer terminates tokens
(identifiers and numbers).
Sun Feb 2 17:42:50 1997 Aubrey Jaffer <jaffer@martigny.ai.mit.edu>
* build.scm (build-whats): #define DLL if compiling for library.
* record.c (MAKE_REC_INDS REC_IND_REF REC_IND_SET): now default to
regular vectors if compiling as DLL.
Sat Feb 1 21:41:15 EST 1997 Aubrey Jaffer <jaffer@scm.bertronics.com>
* patchlvl.h (SCMVERSION): Bumped from 4e6 to 5a0.
Sat Jan 25 19:48:19 1997 Radey Shouman <shouman@zianet.com>
* scm.h (IM_DELAY, IM_QUASIQUOTE, IM_UNQUOTE, IM_UQ_SPLICING):
(IM_ELSE, IM_ARROW): Added to support hygienic macros.
* repl.c: isymnames modified.
* eval.c (lookupcar): Added support for hygienic macros
(evalatomcar): Added.
(ident2sym, id_denote, unpaint, prinid, ident_eqp)
(rename_ident, syn_quote, m_atlet_syntax, m_the_macro): added.
(m_quote, m_cond, m_case, m_quasiquote): Modified to be
referentially transparent.
(m_iqq): added.
(m_delay): now memoizes to prevent speed hit from slower lookupcar.
* scmfig.h: MACRO macro included.
* Init.scm: Modified to avoid "keyword as variable" errors.
* Macro.scm: SYNTAX-RULES, added.
* syntest1.scm: syntest2.scm: SYNTAX-RULES tests, added.
* scm.texi: Hygienic macro support documentation.
Thu Dec 12 13:00:46 1996 Aubrey Jaffer <jaffer@martigny.ai.mit.edu>
* subr.c (string make_string st_ref st_set st_equal st_append):
Corrected long-standing
(not (eqv? (integer->char 128)
(string-ref (make-string 1 (integer->char 128)) 0)))
bug found by John Kozak <jk@noontide.demon.co.uk>.
Mon Dec 2 20:40:40 1996 Radey Shouman <shouman@zianet.com>
* eval.c (farlookup): Added, to handle memoized lookups in local
environments with very wide or deep local environments.
These print as (#@farloc-car iframe . idist).
(lookupcar): Now inserts `farloc' forms instead of ilocs if
necessary.
(ceval): Modified to do the right thing with farlocs.
* scm.h (MAKILOC): Added, now used in lookupcar.
(IM_FARLOC_CDR, IM_FARLOC_CAR): ISYMS added.
Sun Dec 1 00:41:07 1996 Aubrey Jaffer <jaffer@martigny.ai.mit.edu>
* build.scm (build): Added scm-srcdir to support compilation of
SCM source while not cd'd to SCM directory. -I<scm-srcdir> added
to all builds (to pick up scm.h, etc.).
Sat Nov 30 20:53:03 1996 Lorens Younes <d93-hyo@nada.kth.se>
* findexec.c, scmfig.h, time.c: __amigados__ (gcc on amiga)
support added.
Mon Nov 18 22:56:11 1996 Aubrey Jaffer <jaffer@localhost.bertronics.com>
* patchlvl.h (SCMVERSION): 4e6 released.
* bench.scm (benchmark): added. computes and display statistics
on "pi.scm" benchmark.
* Makefile (benchlit bench): targets added. Append stats to file
"BenchLog".
Sun Nov 17 22:21:28 1996 Aubrey Jaffer <jaffer@localhost.bertronics.com>
* scm.texi (Socket): added examples of chat servers and clients.
(Internet Addresses and Socket Names): enlarged from "Internet
Addresses".
* socket.c (l_connect): BUF0 was missing from mode bits set in
returned port.
Sat Nov 16 22:02:39 1996 Aubrey Jaffer <jaffer@localhost.bertronics.com>
* build.scm (build-params): Added compiler-options and
linker-options; added --batch-dialect and --script-name as aliases
for -h and -w.
* scmfig.h (HAVE_SELECT): Now defined for linux.
Sat Nov 2 09:24:50 EST 1996 maximum entropy <entropy@zippy.bernstein.com>
* ioext.c, scmfig.h: support for SGI (tested with SGI IRIX 5.2/gcc)
* ioext.c (file_set_position): If a port is bidirectional
(e.g. a socket) it may be necessary on some systems to perform a
file positioning operation when switching between reading and
writing. This is required by ANSI C (ISO/IEC 9899:1990
7.9.5.3). Therefore, a file-set-position on a bidirectional
port should not signal an error if fseek generates an
ESPIPE -- the fseek operation actually "succeeded" in that it
reset the I/O direction flag for the FILE.
* repl.c (input_waiting): R4RS requires that "char-ready?"
return "#t" at end-of-file. The semantics for "ioctl(...,
FIONREAD, ...)" are such that it gives 0 on a socket that is
closed (on the other side of the connection). If the
system has select(), use that instead to get the correct
behavior.
* socket.c (l_listen): Treat sockets that have been "listened"
as input-ports. This allows polling for new connections
(e.g. with "char-ready?") instead of blocking in
"socket:accept".
* socket.c (l_accept): Fix type checking to agree with
previous patch.
Wed Nov 13 17:11:59 1996 Aubrey Jaffer <jaffer@localhost.bertronics.com>
* sys.c (igc): fixed off-by-1 error for sizeof save_regs_gc_mark.
(gc_mark): fixed off-by-1 error for sizeof(CONTINUATION). These
seem to fix a very obscure GC bug.
Tue Oct 29 10:47:41 1996 Aubrey Jaffer <jaffer@localhost.bertronics.com>
* Init.scm (exec-self): Added.
* repl.c (init_repl): DUMP sets RESTART to EXEC-SELF.
Mon Oct 28 11:39:30 1996 Aubrey Jaffer <jaffer@localhost.bertronics.com>
* repl.c (tryload): Made tail-recursive so that dump, quit, exit,
etc. will work as the last expression in a loading file.
(scm_execpath): Split out from scm_unexec.
Sun Oct 27 22:12:32 1996 Aubrey Jaffer <jaffer@localhost.bertronics.com>
* unexec.c: All Updated from emacs-19.34 -- no changes necessary.
* gmalloc.c:
* pre-crt0.c:
* ecrt0.c:
* unexelf.c: fixes Linux (ELF) dump bug.
Mon Oct 21 21:49:20 1996 Aubrey Jaffer <jaffer@martigny.bertronics>
* build.scm (platform): linux renamed linux-aout. linux-elf fixed
and renamed linux.
(C-libraries): X11R6 moved library files on RedHat Linux. Linux
graphics library now has entry (doesn't default).
(compile-dll-c-files linux):
(make-dll-archive linux): Now converts from ".o" objects to ELF
".so" form and "links" the usual libraries.
* Link.scm (usr:lib x:lib): dynamic linking fixed for (linux ELF)
dlopen. Libraries other than ".so" object not needed; eliminated
by usr:lib and x:lib returning #f.
* dynl.c (l_dyn_unlink): prints result of dlerror() on errors.
Thu Oct 10 14:05:14 1996 Aubrey Jaffer <jaffer@martigny.bertronics>
* eval.c (nconc2last): If CAUTIOUS is defined, checks that
APPLY's arglist and last element of arglist are LIST?s.
Sun Oct 6 16:40:54 1996 Radey Shouman <shouman@zianet.com>
* eval.c (unmemocar): The code in unmemocar to deal with ILOCs was
never being executed.
Fri Oct 4 13:57:35 1996 Aubrey Jaffer <jaffer@martigny.bertronics>
* sys.c (igc): symhash GC can now be disabled with
#define NO_SYM_GC.
Wed Oct 2 20:51:07 1996 Aubrey Jaffer <jaffer@martigny.bertronics>
* Init.scm (boot-tail): Added FSF --help and --version options.
Added --no-init-file as a synonym for -no-init-file.
Sun Sep 29 23:59:19 1996 Aubrey Jaffer <jaffer@martigny.bertronics>
* scm.texi (File-System Habitat): improved wording and added
examples.
Thu Sep 26 22:23:32 1996 Radey Shouman <shouman@zianet.com>
* sys.c (intern): fixed (new) symhash GC bug.
Tue Sep 24 13:55:11 1996 Aubrey Jaffer <jaffer@martigny.bertronics>
* scm.texi (Top): Renamed sections.
* sys.c (mark_syms mark_sym_values): Split up mark_symhash() to
immunize against accidental pointers.
Sat Sep 14 22:53:46 1996 Aubrey Jaffer <jaffer@martigny.bertronics>
* repl.c (gc_ports_collected): added to instrument symbol GC.
Sat Sep 14 15:35:29 1996 Radey Shouman <shouman@zianet.com>
* sys.c (igc): Added calls to mark_symhash() and sweep_symhash().
These GC unused symbols with a top-level value of UNDEFINED.
(mark_symhash): added.
(sweep_symhash): added.
Wed Sep 11 21:18:05 1996 Aubrey Jaffer <jaffer@martigny.bertronics>
* scm.texi (Debugging Scheme Code): Added section.
Sat Aug 31 14:05:24 1996 Eric Hanchrow <erich@MICROSOFT.com>
* scm.c (l_sleep): Ported to Windows NT (_WIN32)
* ioext.c: Ported to Windows NT (_WIN32)
Sat Aug 31 13:18:34 1996 Aubrey Jaffer <jaffer@martigny.bertronics>
* eval.c (definedp): Changed from a memoizing macro to a `syntax'.
Sun Jul 21 01:06:44 1996 Aubrey Jaffer <jaffer@jacal.bertronics>
* Link.scm (link-named-scm): fixed to call "build.scm".
Sat Jul 20 23:53:17 1996 Aubrey Jaffer <jaffer@jacal.bertronics>
* scm.texi (Memoized Expressions): section added.
(Errors): section added.
Wed Jul 17 17:40:01 1996 Aubrey Jaffer <jaffer@jacal.bertronics>
* r4rstest.scm: renamed from "test.scm". Now carries copyright
notice suitable for single file distribution.
Fri May 17 23:37:16 1996 Aubrey Jaffer <jaffer@jacal.bertronics>
* findexec.c (dld_find_executable): names changed to keep up with
DLD changes.
Sun May 12 21:43:14 1996 Radey Shouman <shouman@zianet.com>
* unif.c (array_rank): Was returning 0 for bit-vectors.
(uve_fill): Fixed error report.
(lcount):
(position): Made to work with 1-d shared bit-arrays.
(aind): Added check for second argument, must be either
an INUM, NULL, or a pair. Without this, e.g.
(uniform-vector-set! <vector> 'x 0)
starts cdr'ing down the symbol ...
(array_inbp): Cleaned up to work with enclosed and huge arrays.
* gsubr.c (gsubr_apply): Fixed error report.
* scl.c (equal): Prevent fallthrough on last case, could cause
wierdness if cases are added later.
* ramap.c (ra_matchp): Fixed to allow any 1-d array of zero size
to match a uniform vector, and to require all non-zero length
dimensions of two arrays to match even after a zero length
dimension. Now promotes 0-d arrays as well as scalars to match
first array shape.
(sc2array): Reshapes 0-d arrays as well as scalars.
Added check to make sure 2nd argument is really an array,
vector or uve.
(ramapc): Changed to allocate fewer array headers when arguments
are 1-d arrays. (Still allocates more than strictly necessary.)
(array_copy): Added check for scalar destination argument, since
ra_matchp() will now promote scalars to arrays.
Sun May 12 00:52:51 1996 Aubrey Jaffer <jaffer@jacal.bertronics>
* build.scm (build): fixed HP-UX compile-dll-c-files.
* findexec.c (dld_find_executable): ifdefed out stat() for hpux.
* scm.c: New const declarations rejected by hp-ux cc; ifdefed out.
Thu May 9 10:28:14 1996 Tim Pierce <twpierce@midway.uchicago.edu>
* time.c sys.c findexec.c: string[s].h configuration for Solaris
2.3 system using gcc 2.7.2.
Tue Apr 9 19:46:21 1996 Aubrey Jaffer <jaffer@jacal.bertronics>
* sys.c (igc): stackbase argument added. Passing 0 disables stack
marking (used by dump).
* build.scm (build link-c-program djgpp):
(build compile-c-files djgpp): Uses new batch:apply-chop-to-fit to
deal with MS-DOS line length restrictions.
Sun Apr 7 23:15:36 1996 Aubrey Jaffer <jaffer@jacal.bertronics>
* repl.c (repl_driver): now supports unexec conditionally by
CAN_DUMP.
(scm_unexec): moved from dump.c. Now throws to top level to avoid
saving continuations.
* dump.c: removed. Contents moved to repl.c.
* continue.c (dynthrow): One instruction interrupt vulnerability
removed for machines with long ints. Others define SHORT_INT.
* repl.c (repl_driver): Throws to top level now encoded by COOKIE
flags for non- SHORT_INT platforms.
Sat Apr 6 14:29:47 1996 Aubrey Jaffer <jaffer@jacal.bertronics>
* unexec.c (A_TEXT_OFFSET A_TEXT_SEEK ADJUST_EXEC_HEADER NO_REMAP
TEXT_START HAVE_GETPAGESIZE SEGMENT_MASK): definitions moved from
scmfig.h.
* gmalloc.c (HAVE_GETPAGESIZE): copied definition here so that
scm.h and scmfig.h won't be included for just one definition.
* dump.c (scm_dump): reworked to use execpath as default second
argument. Removed "#include DUMP_CODE" abomination; using
suppress parameters in build.scm
* build.scm (build C-libraries): added dump (unexec) and nostart
libraries to support dump.
(build compile-commands): Added support for dump
(build features): dump
* scm.c (execpath): now a global which init_dump() also sets.
* repl.c (repl_driver): added scm_evstr("(boot-tail)") call
after scm_ldfile(initpath) so command-line arguments can be
processed after "Init.scm" is loaded.
* build.scm (build platform): added record for MS-DOS so defaults
don't cause errors when -p not specified.
Mon Jan 9 15:43:36 1995 Patrick LECOANET <lecoanet%sid1@cenaath.cena.dgac.fr>
* dump.c (dump): created.
* pre-crt0.c crt0.c gmalloc.c unexec.c unexelf.c: adapted from
emacs (circa 1994).
Fri Apr 5 00:16:59 1996 Aubrey Jaffer <jaffer@jacal.bertronics>
* ramap.c (ramapc ra2contig array_imap): Added +0L to cast first
argument to make_uve() to long.
Thu Apr 4 00:47:09 1996 Aubrey Jaffer <jaffer@jacal.bertronics>
* ramap.c: removed #ifdef ARRAYS (over whole file).
Wed Apr 3 10:14:18 1996 Aubrey Jaffer <jaffer@jacal.bertronics>
* Link.scm (compile-file): Now calls build.scm for compiling C.
* hobbit.scm ("auxiliary functions" butlast ...): removed and
renamed gratuitous (and incompatible) duplications of
slib/comlist.scm.
Mon Apr 1 08:56:09 1996 Johann Friedrich Heinrichmeyer <Fritz.Heinrichmeyer@fernuni-hagen.de>
* sys.c (stack_check): sizeof(STACKITEM) was multiplied on wrong
side of inequality.
Fri Mar 29 23:52:03 1996 Aubrey Jaffer <jaffer@jacal.bertronics>
* patchlvl.h (SCMVERSION): 4e4
* build.scm (build): microsoft-c-nt support added.
* scm.c (l_raise): Disabled for WINDOWS_NT.
(scm_find_impl_file): fixed for getenv("SCM_INIT_PATH") case.
Sun Mar 24 00:18:10 1996 Aubrey Jaffer <jaffer@jacal.bertronics>
* build.scm (build): fixed -tdll to not make archive or compile
all 'linkable files.
Sun Mar 10 17:23:39 1996 Radey Shouman <shouman@ccwf.cc.utexas.edu>
* ramap.c (sc2array): Added, converts a scalar to a shared array.
(ramapc): Uses sc2array to convert scalar arguments to arrays
for ARRAY-MAP! &c.
(ura_read, ura_write, ura_fill): Added.
(array_map): Added check for number of arguments when procedure
arg is a subr. Added cclo case.
* unif.c (dims2ura): Fixed, it wasn't properly filling its result
sometimes. Added range check for size of conventional arrays.
(aind): Added range check when called as subr3.
(array_inbp): Returns #t if called with a scalar and no
index args -- APLish boundary case.
(cvref): Now recycles enclosed array refs.
(aset): Uses num2dbl for setting inexact array elts, so
e.g. (array-set! <inexact-array> 0 ...) works.
(array_contents): For strict option, wasn't returning an array
whenever the base was non-zero, now less restrictive.
(ra2contig): moved to ramap.c, as it calls ramapc(). To allow
dynamic linking of ramap.c.
(rafill): moved from ramap.c, to allow filling of arrays on
creation without needing ramap.c.
(uve_fill): Added, for filling uves / 1-d arrays without needing
ramap.c.
(uve_read, uve_write): (Re)added
(ura_read, ura_write): Moved to ramap.c, now call uve_[read write].
(ra2l): uses cvref instead of aref, maybe faster and works for
enclosed arrays.
(init_unif): Added feature 'string-case, to prevent require
from nuking STRING-UPCASE!, STRING-DOWNCASE!
(encl_array): Added range check for dimension args.
* rope.c (num2dbl): Added, analogous to num2dbl.
* scmfig.h Eliminated redundant #ifdef
* scl.c (makdbl) Rearranged so that it tests for out of range
double argument before assigning to float variable, this
avoids causing SIGFPE on my Linux box.
(equal): Fixed so that it doesn't need extern array_equal,
allowing ramap.c to be dynamically linkable.
* scm.c Added documented variable *scm-version*
Thu Mar 21 00:14:29 1996 Aubrey Jaffer <jaffer@jacal.bertronics>
* Link.scm (scm:object-suffix): Changed to ".so" when
'sun-dl is PROVIDED?.
* scmfig.h (getcwd): addition for scmconfig.
* findexec.c: minor change for scmconfig.
Wed Mar 20 00:12:43 1996 Aubrey Jaffer <jaffer@jacal.bertronics>
* README (Making SCM with Think C 4.0 or 4.1): Instructions added
back in.
Sun Mar 17 00:17:21 1996 Aubrey Jaffer <jaffer@jacal.bertronics>
* findexec.c (dld_find_executable): Added support for ~ and ~/ in
PATH environment variable.
Sat Mar 16 10:38:15 1996 Aubrey Jaffer <jaffer@jacal.bertronics>
* scm.c (scm_find_impl_file): Added generic_name argument to test
for cases where executable *doesn't* have its usual name.
(scm_sep_init_try): Added combined function to reduce length of
scm_find_impl_file.
(scm_try_path): Now tests for (and returns) 0.
* build.scm (build): fixed assorted bugs.
Tue Mar 12 12:48:28 1996 Aubrey Jaffer <jaffer@jacal.bertronics>
* 4e3: released.
* repl.c (read_token): ',' now delimits token.
Mon Mar 4 23:19:50 1996 Aubrey Jaffer <jaffer@jacal.bertronics>
* scm.texi (SLIB and require.scm): SLIB installation and
"require.scm" trampoline configuration method explained.
* Init.scm (load:pre load:post): added to share code between
scm:load and scm:load-source. "require" is now loaded using the
regular calls; trying to maintain SCM initializing without SLIB is
too hard.
Sun Mar 3 10:59:23 1996 Aubrey Jaffer <jaffer@jacal.bertronics>
* build.bat: Added for MS-DOS.
Fri Mar 1 23:47:57 1996 Aubrey Jaffer <jaffer@jacal.bertronics>
* scm.texi (Line Editing): html-linked readline and editline ftp
sites.
* build.scm: Added support for edline.
Wed Feb 28 23:39:55 1996 Aubrey Jaffer <jaffer@jacal.bertronics>
* build.scm (build:build): library field `supress-files' added.
Used for supressing "findexec.c" when DLD is present.
Sun Feb 25 00:29:47 1996 Aubrey Jaffer <jaffer@jacal.bertronics>
* scm.c (scm_find_impl_file): Tries hard to find Init.scm in
implementation vicinity.
(scm_try_path scm_cat_path): used by scm_find_impl_file.
(main): Changed to use scm_find_impl_file() and free pathnames
before exit.
Wed Feb 21 23:27:43 1996 Aubrey Jaffer <jaffer@jacal.bertronics>
* findexec.c (dld_find_executable): extracted from DLD for
general use.
Tue Feb 20 00:08:29 1996 Jochen Schwarze <schwarze@isa.de>
* Init.scm (*vicinity-suffix*): Now includes #\/ for MSDOS,
etc. (GCC support).
(library-vicinity): Now set from implementation-vicinity if
environment variable SCHEME_LIBRARY_PATH is not defined.
* scm.c (SYSTNAME): not redefined with DJGPP (both MSDOS and
unix).
Sun Feb 18 09:29:57 1996 Aubrey Jaffer <jaffer@jacal.bertronics>
* subr.c (divbigint): fixed sign bug for 0 return value.
Sun Feb 18 00:29:43 1996 Per Bothner <bothner@cygnus.com>
* gsubr.c (gsubr_apply): elided gratuitous make_vector call.
Sat Feb 17 11:50:41 1996 Aubrey Jaffer <jaffer@jacal.bertronics>
* Init.scm (*features*): string-case added.
(string-upcase string-downcase string-capitalize): added.
* unif.c (strcap): string-capitalize!
* sys.c (sysintern): Now looks for (and uses) symbol already
created. This will eliminate order of linking and loading
dependencies.
Tue Sep 26 20:37:25 1995 Aubrey Jaffer (jaffer@jacal)
* scm.texi (Evaluation): Enlarged description to include type
folding.
(Cells): Split Node Cells into Header, Subr, Ptob, and Smob Cells.
Fri Sep 22 22:31:13 1995 Aubrey Jaffer (jaffer@jacal)
* scm.c scmfig.h (WINDOWS_NT): support added. But what flag does
Windows NT #define?
Sun Sep 10 13:37:44 1995 Aubrey Jaffer (jaffer@jacal)
* repl.c (scm_stack_trace): Added Scheme call "stack-trace" to
print stack from exception handlers.
(everr): Now processes all exceptions before longjmping to
rootcont #ifdef CAUTIOUS.
* Init.scm (user-interrupt): If stack-trace available, prints
stack-trace and enters breakpoint.
(break): Autoloaded.
Mon Aug 7 12:52:15 1995 Aubrey Jaffer (jaffer@jacal)
* scm.h (stacktrace): now a sys_protect.
* subr.c (ilength): differentiated negative return codes;
non-terminating returns -1, not a list -2.
Sat Aug 5 18:50:11 1995 Aubrey Jaffer (jaffer@jacal)
* repl.c (scm_print_stack): added. Called by def_err_response.
* eval.c (ceval): SCM stacktrace variable maintained and saved
in CONT(cont)->other.stacktrace. Under CAUTIOUS flag,
checkargs1 label added to check special single argument calls.
Wed Jul 26 23:26:21 1995 Aubrey Jaffer (jaffer@jacal)
* repl.c (char_readyp): Now looks for BUF0 flag to determine if
input_waiting() possible.
* scm.c (init_scm run_scm main): BUF0 flag now set on cur_inp
to indicate whether CHAR-READY? will work.
Wed Jul 19 13:25:01 1995 Shigenobu Kimura <skimu@komachi.phys.s.u-tokyo.ac.jp>
* dynl.c (l_dyn_main_call): Arguments to main (in DLD section)
were reveresed! Added hpux l_dyn_main_call.
Sat Jul 8 22:23:03 1995 Aubrey Jaffer (jaffer@jacal)
* Init.scm (scm:load): Internal define dependency problem fixed.
Variable *interactive* set for invocation without options.
* scm.texi: Guile WWW and citation added.
* subr.c: logical (2's complement) operations rewritten to now
work with bignums. Logical procedure names changed to conform
with Guile convention.
Fri Jun 9 13:47:58 1995 Aubrey Jaffer (jaffer@jacal)
* continue.c (stack_size):
(make_root_continuation):
(make_continuation):
(free_continuation):
(throw_to_continuation): moved from sys.c to make possible library
module.
* continue.h: created from setjump.h
* scm.texi (Compiling And Linking): Documented l_dyn_main_call.
(Type Conversions): added rope.c documentation.
(Callbacks): split from "Calling Scheme From C".
(Continuations): Rewritten to describe new "continue.c"
Fri May 19 01:32:12 1995 Aubrey Jaffer (jaffer@jacal)
* *.c: converted applicable uses of makfromstr with strlen to
makfrom0str.
* rope.c: new
(scm_addr): added.
(num2long num2ulong num2ushort num2uchar ulong2num long2num):
moved from scl.c and elsewhere.
(makfromstrs makfrom0str makfromstr): moved from sys.c and posix.c
(must_free_argv): new
(scm_ldprog scm_ldfile scm_ldstr scm_evstr): moved from repl.c
(makargvfrmstrs): chopped out of i_execv in ioext.c.
makargvfrmstrs isn't really done correctly; it is GC leaky.
It should return a SMOB which can be GCed, but this makes this
C interface harder to use.
* dynl.c (l_dyn_main_call): added procedure to call
dynamically linked procedure with string arguments converted
to argv and argc. Written only for DLD. Needs to be repeated
for other dynamic linking regimes.
Tue Apr 25 10:24:42 1995 Aubrey Jaffer (jaffer@jacal)
* subr.c (make_string): Was silently failing for illegal 2nd args!
Sat Apr 15 23:18:47 1995 Aubrey Jaffer (jaffer@jacal)
* Link.scm (catalog:add-link): When feature is already in catalog,
will only add new feature association to catalog if file exists.
Sun Apr 9 22:59:46 1995 Aubrey Jaffer (jaffer@jacal)
* repl.c (repl_driver): Now closes load port when ABORTing.
Sat Apr 8 21:35:43 1995 Aubrey Jaffer (jaffer@jacal)
From: Tom Lord <lord@cygnus.com>
* scm.texi:
Tcl Facilities:: Mutual calling between Tcl and Scheme.
Tk Facilities:: Accessing Tk from Scheme.
Gwish:: A Wish-like application of Guile.
System Calls:: Psst. Wanna write a manual section?
Gscsh:: Shell and systems programming features.
From: chen@adi.com (Franklin Chen)
* scm.c (l_raise): uses raise() ifdef STDC_HEADERS, otherwise
kill().
From: Radey Shouman <shouman@ccwf.cc.utexas.edu>
* scl.c (istr2int): Fixed complaints of overflow on octal numbers
>= 2^BITSPERDIGIT. Patch should make this work for all radix 2 <=
radix <= 16.
(num2ulong): Makes it work for negative bignum argments, and
adds an overflow check.
* ramap.c unif.c: There are several places in ramap.c, and
raprin1() in unif.c, where I had assumed that an ivect or uvect
elt would be representable no larger than an INUM. This patch
should fix these, also adding overflow checking for array
arithmetic on uvects and ivects.
Also, fixes aref, which assumed that if its argument was a smob
that it was an array. Changes cvref to return a real number when
the imaginary part of an elt is 0.
Sat Mar 25 20:37:48 1995 Aubrey Jaffer (jaffer@jacal)
From: Don Bennett <dpb@netcom.com>
* rgx.c: rewritten and extended. The compile function now takes a
string of optional flags. New operations specific to the GNU
regex library is conditionalized with _GNU_SOURCE.
From: Radey Shouman <shouman@ccwf.cc.utexas.edu>
* Iedline.scm (make-edited-line-port):
* edline.c (lreadline): Added Gnu `readline' input editing
(get ftp.sys.toronto.edu:/pub/rc/editline.shar).
* unif.c (ra2contig): Fix a nasty bug ra2contig() (used for
UNIFORM-ARRAY-WRITE / READ!) that produced arrays with undersized
contents vectors.
* eval.c (apply): Fix so that (APPLY <cclo> '()) works properly.
* gsubr.c (make_gsubr): Give the arg number ASSERTion the right
sense.
(gsubr_apply): Add an ASSERTion to check for too many arguments.
(gsubr_apply): Take the address of the temporary vector, so as to
prevent its being optimized away and allowing gc of the vector.
(This happened with Cray cc in the MAP and FOR-EACH code; I'm no
longer able to find out if it would happen there.)
Thu Mar 23 23:22:59 1995 Aubrey Jaffer (jaffer@jacal)
* scm.texi (I/O-Extensions): Finished.
* Init.scm (scm:load): `loading' messages now indented.
Sat Mar 4 20:58:51 1995 Aubrey Jaffer (jaffer@jacal)
* scm.texi: documentation finished for "posix.c" and "unix.c".
* posix.c (scm_getgroups): added.
* posix.c (makfrom0str): According to glibc.info, some field in
structures like pwent may have NULL pointers. Changed makfrom0str
to return BOOL_F in this case.
Thu Mar 2 12:52:25 1995 Aubrey Jaffer (jaffer@jacal)
* time.c: CLKTCK set from CLOCKS_PER_SEC, if available. Metaware
HighC ported.
* scm.h: USE_ANSI_PROTOTYPES now controls prototypes (was
__STDC__). This allows an overly fussy compiler to still have
__STDC__.
From: dorai@ses.com (Dorai Sitaram)
* ioext.c (l_utime): include files fixed for __EMX__
Sun Feb 26 21:03:04 1995 Aubrey Jaffer (jaffer@jacal)
* sys.c (gc_mark gc_sweep): tc7_ssymbol now gets GCed because it
gets used for non-GCed strings in scm_evalstr scm_loadstr.
(mkstrport cwos cwis): changed so caller's name is passed into
mkstrport().
* repl.c
(scm_eval_string scm_evalstr scm_load_string scm_loadstr): added
for easier C to scheme callbacks.
(loadport): variable added so lreadr() and flush_ws()
increment linum only when reading from the correct port.
(def_err_response): now handles ARGn for argument numbers > 5 and
unknown position arguments.
* dynl.c: Dynamic Linking now sets and restores *load-pathname*
around the init_ call.
Sat Feb 25 11:03:56 1995 Aubrey Jaffer (jaffer@jacal)
* scm.c (lsystem getenv softtype ed vms_debug): moved from scl.c.
(add_feature): moved from repl.c.
(features): init table removed (caused multiple symbols).
Fri Feb 24 23:48:03 1995 Aubrey Jaffer (jaffer@jacal)
* scm.c (scm_init_extensions COMPILED_INITS): Added so that
statically linked, compiled code can be initialized *after* most
of Init.scm has loaded.
Wed Feb 22 15:54:01 1995 Aubrey Jaffer (jaffer@jacal)
* subr.c (append): Added check for bad arguments and fixed errobj.
Sun Feb 19 01:31:59 1995 Aubrey Jaffer (jaffer@jacal)
* ioext.c (exec execp): changed so that 2nd arguments is argv[0]
(like posix) and renamed to execl and execlp.
(execv execvp): added.
Sat Feb 11 17:30:14 1995 Aubrey Jaffer (jaffer@jacal)
* ioext.c (lexec): moved from repl.c and scm.c.
(lexecp i_exec l_putenv): added.
* posix.c (open_pipe l_open_input_pipe l_open_output_pipe
prinpipe): moved from ioext.c.
(l_fork): added.
Fri Feb 10 10:50:03 1995 Aubrey Jaffer (jaffer@jacal)
* scl.c (num2long long2num): moved here from subr.c.
(num2ulong): fixed (< to >=) bug.
* unif.c (aset array2list array_ref cvref): uniform integers and
unsigned integer arrays now handle full size integers (and
inexacts) using num2long, num2ulong, long2num, and ulong2num when
INUMS_ONLY is not defined.
* scmfig.h (INUMS_ONLY): defined when INUMs are the only numbers.
Sun Jan 29 23:22:40 1995 Aubrey Jaffer (jaffer@jacal)
* scm.texi (Overview): scm.1 converted to texinfo format and
incorporated.
Sun Jan 22 11:13:58 1995 Aubrey Jaffer (jaffer@jacal)
* scm.texi (Internals): code.doc converted to texinfo format.
Much added and reorganized. code.doc removed.
Thu Jan 19 00:40:11 1995 Aubrey Jaffer (jaffer@jacal)
* subr.c (logbitp logtest): added.
Wed Jan 11 14:45:17 1995 Aubrey Jaffer (jaffer@jacal)
* scl.c (num2ulong): checks for bignum sign and magnitude added.
* subr.c (logand logior logxor lognot): lognot restriction to
INUMs removed. Logand, logior, and logxor now will work for up to
32 bit signed numbers.
Tue Jan 10 13:19:52 1995 Aubrey Jaffer (jaffer@jacal)
* repl.c (def_err_response): Circuitous call to quit() replaced
with exit(EXIT_FAILURE);
(everr): Now calls def_err_response() in interrupt frame if
errjmp_bad or there are dynwinds to do. This prevents silent
failure in batch mode.
Mon Jan 9 00:12:14 1995 Aubrey Jaffer (jaffer@jacal)
* scm.texi (Trouble Shooting): Section converted from README.
* Init.scm (-d filename): option added which does:
(begin (require 'database-utilities) (open-database filename))
* repl.c (handle_it): Now discards possibly used top freelist cell
for GC safety. Also now just punts if errjmp_bad.
* scm.texi: converted from MANUAL. GUILE documentation merged in.
Tue Jan 3 15:09:36 1995 Aubrey Jaffer (jaffer@jacal)
* scl.c (SYSTNAME): msdos changed to ms-dos. windows added.
archimedes changed to acorn.
From: jon_seymour@vnet.ibm.com (jon seymour)
* scmfig.h: defined LACK_TIMES and STDC_HEADERS if __IBMC__ is
defined.
* sys.c: #include <io.h> and #include <direct.h>. define ttyname()
macro.
* scm.c: #include <io.h> and compile out execvp() call.
* time.c: #include <sys/timeb.h>
* makefile.os2: makefile for use with OS/2 toolkit nmake.
Sun Jan 1 21:17:36 1995 Aubrey Jaffer (jaffer@jacal)
* dynl.c Link.scm: names unified. Libraries for HP-UX fixed.
HP-UX dll suffix now ".sl".
From: Shigenobu Kimura <skimu@komachi.phys.s.u-tokyo.ac.jp> *
dynl.c (fcall): Fixed dynamic linking on hp9000s700 (or 720) HP-UX
9.01 or 9.03.
Wed Dec 7 21:19:26 1994 Aubrey Jaffer (jaffer@jacal)
* ioext.c (l_open_input_pipe, l_open_output_pipe): moved from
"Init.scm".
Mon Dec 5 16:55:21 1994 Aubrey Jaffer (jaffer@jacal)
* sys.c (i_setbuf0): added.
(open_file): `0' in mode string now controls the buffered-ness of
returned port.
* Init.scm (slib:load-compiled): no longer silently fails if other
than the first argument does not link correctly.
From: Robert Sanders <rsanders@hrothgar.mindspring.com>
* ioext.c (l_write_line): moved from "Init.scm".
Sun Dec 4 21:47:08 1994 Aubrey Jaffer (jaffer@jacal)
* sys.c (free_storage): lord@cygnus.com pointed out that candle
was being burnt from both ends. Loop fixed. Mallocs either
leaking or counted wrong.
Sat Dec 3 22:32:59 1994 Aubrey Jaffer (jaffer@jacal)
* code.doc: added description of compiled closures.
Thu Nov 24 23:10:31 1994 Aubrey Jaffer (jaffer@jacal)
* socket.c (l_socketpair): added. Both make-stream-socketpair and
make-stream-socket now take optional prototype argument.
Tue Nov 22 00:16:05 1994 Aubrey Jaffer (jaffer@jacal)
* ramap.c (ramapc and friends): moved from unif.c to get source
file sizes below 64k.
Mon Nov 21 00:44:32 1994 Aubrey Jaffer (jaffer@jacal)
* posix.c (l_pwinfo grinfo): made to work like network inquiry
procedures (no args steps through entries).
(l_setgr l_setpw l_uname): added.
From: Radey Shouman <shouman@ccwf.cc.utexas.edu>
* gsubr.c (make_gsubr gubr_apply): allows arbitrary (< 11)
required, optional, and rest arguments to compiled functions.
Sun Nov 20 11:59:18 1994 Aubrey Jaffer (jaffer@jacal)
* socket.c MANUAL: most Scheme names for socket functions changed
for consistency.
* socket.c (socket:shutdown): added. I can't imagine what use
shutdown provides. SOCKETs can be closed like any other port.
Should socket:shutdown SOCKETs be closed? Does having shutdown
sockets cause file descriptors to be reused? Socket:shutdown will
be removed if no use is found for it.
(tc16_sknm): added to encapsulate information retrieved from
getpeername and getsockname.
(socket-name:family socket-name:port-number socket-name:address):
added to retrieve information from tc16_sknm.
(inet:string->address inet:address->string inet:network
inet:local-network-address inet:make-address): added.
(gethost sethostent getnet getnetent getproto setprotoent getserv
setservent): inquiry procedures added.
* sys.c (makfromstrs(argc, argv)): added. converts C array of
strings to SCM list of strings. If argc < 0, a null terminated
array is assumed.
Sat Nov 19 00:20:58 1994 Aubrey Jaffer (jaffer@jacal)
* eval.c (l_proc_doc): added procedure-documentation.
Fri Nov 18 23:34:35 1994 Aubrey Jaffer (jaffer@jacal)
* build.scm (scm:build): Added. Replaces system specific
makefiles.
* ccnfigdb.scm: Database of system specific compile, link, and
archive procedures and library information.
Thu Oct 27 12:57:02 1994 Jerry D. Hedden <hedden@esdsdf.dnet.ge.com>
* ioext.c: conditional code for vms and version (3.6) of Aztec C.
* pi.scm ((e digits)): Modified 'bigpi' for slight speed
improvement. Added function to calculate digits of 'e'.
Wed Oct 26 11:22:05 1994 Gary Houston <ghouston@actrix.gen.nz>
* scl.c (round): Now rounds as described in R4RS.
* test.scm (test-inexact): test cases for round.
Tue Oct 25 00:02:27 1994 Aubrey Jaffer (jaffer@jacal)
* sys.c (grow_throw lthrow dynthrow): now pass arrays, check
for adequate growth, and clear out register windows (on sparc).
Mon Oct 24 01:05:34 1994 Aubrey Jaffer (jaffer@jacal)
* ioext.c (ttyname fileno): added.
Sat Oct 22 12:12:57 1994 Aubrey Jaffer (jaffer@jacal)
* unix.c (symlink readlink lstat): added.
* scmfig.h repl.c sys.c (IO_EXTENSIONS): flag removed.
* ioext.c (read-line read-line! file-position, file-set-position
reopen-file open-pipe opendir readdir rewinddir closedir chdir
umask rename-file isatty? access chmod mkdir rmdir stat utime
raise): moved from "repl.c" and "sys.c".
Fri Oct 21 21:19:13 1994 Radey Shouman <shouman@ccwf.cc.utexas.edu>
* unif.c (ra2contig): now has a second parameter to indicate
whether copying is necessary or not. Eliminates gratuitous copy
by UNIFORM-ARRAY-READ! when called with a noncontiguous array.
(array_map): more liberal check on when ARRAY-MAP! can use
array-ified asubrs.
Thu Oct 20 18:00:35 1994 Aubrey Jaffer (jaffer@jacal)
* sys.c (opendir readdir rewinddir closedir reopen-file): added
under IO_EXTENSIONS.
Wed Oct 19 14:18:26 1994 Aubrey Jaffer (jaffer@jacal)
* eval.c (badargsp): added under ifndef RECKLESS to check @apply
and apply() arg counts.
Tue Oct 18 00:02:10 1994 Aubrey Jaffer (jaffer@jacal)
* unix.c (mknod acct nice sync): added.
* socket.c (socket bind! gethost connect! listen! accept): added.
* time.c (utime): added under IO_EXTENSIONS.
Mon Oct 17 23:49:06 1994 Aubrey Jaffer (jaffer@jacal)
* sys.c (getcwd umask access chmod mkdir rmdir): added
under IO_EXTENSIONS.
* scm.c (l_pause): added if SIGALRM defined.
(l_sleep): added if SIGALRM not defined.
* scl.c (num2ulong): added. Used in "time.c"
Sun Oct 16 22:41:04 1994 Aubrey Jaffer (jaffer@jacal)
* sys.c (access chmod): Posix access added under IO_EXTENSIONS.
Fri Oct 14 09:45:32 1994 Aubrey Jaffer (jaffer@jacal)
* posix.c (chown link pipe waitpid, kill, getpw, getgr, get*id,
set*id): added.
* time.c (l_raise l_getpid): added
* subr.c (ulong2big):
* scl.c (ulong2num): useful routines for system call data
conversion moved from "time.c".
Thu Sep 22 14:48:16 1994 Aubrey Jaffer (jaffer@jacal)
* subr.c (big2inum): (more accruately) renamed from big2long.
Mon Aug 29 11:36:46 1994 Radey Shouman <rshouman@hpcf.cc.utexas.edu>
* unif.c: This is a large patch, but also a bit larger than it
appears -- I moved a few function definitions around to eliminate
gratuitous forward references.
* unif.c repl.c (raprin1): Combined print routine for arrays with
that for uves.
* unif.c (UNIFORM-VECTOR-READ! and -WRITE): work with general
arrays, by copying when necessary, renamed them to
UNIFORM-ARRAY-READ! and -WRITE.
* unif.c (ARRAY-CONTENTS): Generalized so that it returns a 1-d
array even when the stride in the last dimension is greater than
one, gave it an optional second argument STRICT, which makes it
behave as it did before, returning an array/vector only if the
contents are contiguous in memory.
* unif.c (ARRAY-CONTIGUOUS?) Eliminated. Instead, use
(lambda (ra) (array? (array-contents ra #t)))
* unif.c code.doc (ramapc): unrolls arrays mapping into one loop
if possible, to make this quick, changed the format of the array
CAR, now uses one bit to indicate that an array is contiguous --
this still allows a ridiculous number of dimensions.
* scm.h (DSUBRF): dsubrs are mapped directly, to allow this I
moved the typedef for dsubr and #define for DSUBRF to scm.h
* unif.c (ARRAY-MAP!) taught something about subrs, now most subrs
may be mapped without going through apply(), saving time and
reducing consing. +, -, *, /, =, <, <=, >, and >= are mapped
directly as special cases -- for uniform arrays this is nearly as
fast as the equivalent C, and doesnt' cons. I've made sure that
+, -, *, and / vectorize on the CRAY, this may be wasted effort
but the effort is not great.
* unif.c (ARRAY-COPY!) now copies many arrays of differing types
to each other without going through the aref/aset, e.g. float ->
double, double -> complex, integer -> float ... This should make
array type coercions for arithmetic faster.
* unif.c (TRANSPOSE-ARRAY) Added, which returns a shared array
that is the transpose of its first argument. I think this does
what an APL:TRANSPOSE would.
* unif.c (ENCLOSE-ARRAY) Added, this returns an array that looks
like an array of shared arrays, the difference being that the
shared arrays are not actually allocated until referenced.
Internally, the contents of an enclosed array is another array.
The main reason for this is to allow a reasonably efficient
implementation of APL:COMPRESS, EXPAND, and INDEXING. In order to
actually make an array of shared arrays, just use ARRAY-COPY!.
* unif.c (cvref): Created internal version of aref(), cvref() that
doesn't do error checking; Thus speeding things up. Profiling of
SCM running array code revealed that aref() was taking a
surprising fraction of the CPU time
TO DO:
The mechanism for looking up the vectorized functions is a little
kludgy, I was tempted to steal some of the CAR of the subr type to
encode an offset into a table of vectorized functions, but this
would make it more likely that dynamically loaded subrs lose thier
names.
It is almost possible to write APL:+ and friends now, it is just
necessary to figure out the appropriate type of the returned array
and allocate it, and to promote scalar arguments to arrays (with
increments 0).
This doesn't include vectorized REAL-PART, IMAG-PART,
MAKE-RECTANGULAR ...
I think some C support for APL:REDUCE and maybe INNER-PRODUCT will
be needed for a reasonably fast APL.scm
unif.c is getting quite big, time to split it up?
Mon Sep 5 22:44:50 1994 Aubrey Jaffer (jaffer@jacal)
* Init.scm repl.c (quit): code was not using return values
correctly.
Sun Aug 21 01:02:48 1994 Aubrey Jaffer (jaffer@jacal)
* record.c (init_record): remaining record functions moved into C
code.
* eval.c sys.c: compiled closures now conditional under CCLO.
Sat Aug 20 23:03:36 1994 rshouman@chpc.utexas.edu (Radey Shouman)
* eval.c (ceval apply):
* sys.c (makcclo): tc7_cclo, compiled closures, now supported.
* record.c (init_record): C implementation of slib "Record"s using
CCLO.
* scm.h subr.c (QUOTIENT MODULO REMAINDER): fixes a bug for
bignums with DIGSTOOBIG defined. Also, changed the return type of
longdigs() to void, since that value is no longer used anywhere.
Mon Aug 1 11:16:56 1994 Aubrey Jaffer (jaffer@jacal)
* time.c (curtime): replaces get-universal-time. Other time
functions removed (SLIB support more complete).
* subr.c (divbigbig): fixed (modulo -2177452800 86400) => 86400
bug. Also added to test.scm.
Sun Jul 24 16:09:48 1994 Aubrey Jaffer (jaffer@jacal)
* dynl.c (init_dynl): *feature* dld:dyncm added for dynamically
(ldso) linked libc.sa and libm.sa (under Linux).
Fri Jul 15 12:53:48 1994 Aubrey Jaffer (jaffer@jacal)
* unif.c (array-fill!): bug with increment in default clause fixed.
Fast string support added.
From: rshouman@chpc.utexas.edu (Radey Shouman)
* unif.c (array-fill! array-for-each): bug fixes.
Sun Jul 10 01:51:00 1994 Aubrey Jaffer (jaffer@jacal)
* scm.c (run_scm init_scm): "-a" heap allocation argument supported.
* Makefile (proto.h): removed.
From: Drew Whitehouse, Drew.Whitehouse@anu.edu.au
* scm.h (P): Conditionalized ANSI'fied version of the scm.h.
Sun Jun 26 12:41:59 1994 Aubrey Jaffer (jaffer@jacal)
* Link.scm (usr:lib lib): Now checks for shared libraries
(lib*.sa) first.
Thu Jun 23 19:45:53 1994 Aubrey Jaffer (jaffer@jacal)
* scl.c scm.c: Support for compilation under Turbo C++ for Windows
(system and exec disabled) added under C flag "_Windows".
Sat Jun 18 11:47:17 1994 Aubrey Jaffer (jaffer@jacal)
* test.scm ((test-delay)): added.
((test-bignum)): added and called automatically if bignums
suported. test-inexact called automatically if inexacts
supported.
Mon Jun 6 09:26:35 1994 Aubrey Jaffer (jaffer@jacal)
* Init.scm (trace untrace): moved to SLIB/trace.scm.
Thu May 12 00:01:20 1994 Aubrey Jaffer (jaffer@jacal)
* Link.scm: Autoload for hobbit now does (provide 'hobbit). This
allows hobbit to know if it is self compiling (although reloads of
hobbit will not be quite right).
((compile file . args)): removed.
* makefile.unix (proto.h): removed.
* Transcen.scm: compile-allnumbers HOBBIT declaration added.
Init.scm will now load compiled Transcen.o.
* scm.h: HOBBIT section removed.
* README (SLIB): Now strongly recommends getting SLIB and lists
ftp sites.
* eval.c (m_delay): fixed bug with multiple sets of (delay x).
Thu Apr 28 22:41:41 1994 Aubrey Jaffer (jaffer@jacal)
* unif.c (makflo): shortcut for single precision float arrays
added.
Fri Apr 15 00:54:14 1994 rshouman@chpc.utexas.edu (Radey Shouman)
* unif.c: no longer uses pointer comparisons in loops. Should
fix problems on 8086 processors.
* unif.c (make_sh_array): Fixes MAKE-SHARED-ARRAY so that shared
arrays with only 1 element in some direction may still be
ARRAY-CONTIGUOUS?
(uve_write uve_read): Fixes bug in UNIFORM-ARRAY-WRITE,
UNIFORM-ARRAY_READ!. Now they do the right thing for shared
bit-arrays not starting at the beginning of their contents vector.
(array_contents ARRAY-SIMPLE?): ARRAY-CONTENTS may now return a
shared, contiguous, 1-d array, instead of a vector, if the array
cannot access all of the contents vector. ARRAY-SIMPLE? removed.
(array-fill!): a replacement and generalization of
UNIFORM-VECTOR-FILL!.
(raequal): Combines with uve_equal(), providing also ARRAY-EQUAL?
ARRAY-EQUAL? is equivalent to EQUAL? if all its arguments are
uniform vectors or if all are arrays. It differs from EQUAL? in
that a shared, 1-d array may be ARRAY-EQUAL? to a uniform vector.
for example
(define sh (make-shared-array '#(0 1 2 3) list '(0 1))) ==> #1(0 1)
(equal? '#(0 1) sh) ==> #F
(array-equal? '#(0 1) sh) ==> #T
(list2ura): Combines list2uve() and list2ura().
Thu Apr 14 23:26:54 1994 Aubrey Jaffer (jaffer@jacal)
* time.c (LACK_FTIME LACK_TIMES): defined for vms.
Mon Apr 4 10:39:47 1994 Aubrey Jaffer (jaffer@jacal)
* eval.c (copytree): now copies vectors as well.
* repl.c (quit): now accepts #t and #f values.
Sun Apr 3 23:30:14 1994 Aubrey Jaffer (jaffer@jacal)
* repl.c (repl): call to my_time() moved to not include READ time.
* time.c (mytime): now prefers to use times() over clock().
Compilation constant CLOCKS_PER_SEC doesn't scale when a binary is
moved between machines.
Thu Mar 31 16:22:53 1994 Aubrey Jaffer (jaffer@jacal)
* Init.scm (*SCM-VERSION*): added.
* Makefile (intro): Added message for those who just make.
Cleaned up and reorganized Makefile.
* patchlvl.h (PATCHLEVEL): removed. Whole version now just in
SCMVERSION.
Wed Mar 23 00:09:51 1994 rshouman@chpc.utexas.edu (Radey Shouman)
* repl.c (iprin1): Characters higher than 127 print as
#\<octal-number>.
* Init.scm ((read:array digit port)): added. Most # syntax
handled in read:sharp.
* unif.c (clist2uve clist2array): removed.
Fri Mar 11 15:10:53 1994 Radey Shouman (rshouman@chpc.utexas.edu)
* sys.c (sfgetc): can now return EOF.
Mon Mar 7 17:07:26 1994 Aubrey Jaffer (jaffer@jacal)
* patchlvl.h (SCMVERSION): 4e0
* scmfig.h: was config.h (too generic).
* scm.c (main run_scm) repl.c (repl_driver init_init): now take
initpath argument. IMPLINIT now used in scm.c
Sun Feb 27 00:27:45 1994 Aubrey Jaffer (jaffer@jacal)
* eval.c (ceval m_cont IM_CONT): @call-with-current-continuation
special form for tail recursive call-with-current-continuation
added. call_cc() routine removed.
Fri Feb 25 01:55:06 1994 Aubrey Jaffer (jaffer@jacal)
* eval.c (ceval m_apply IM_APPLY apply:nconc-to-last): @apply
special form for tail-recursive apply added. ISYMs reactivated.
Mon Feb 21 14:42:12 1994 Aubrey Jaffer (jaffer@jacal)
* crs.c (nodelay): added. In NODELAY mode WGETCH returns
eof-object when no input is ready.
* Init.scm ((read:sharp c port)): defined to handle #', #+, and
#-.
* repl.c (lreadr): Now calls out to Scheme function read:sharp
when encountering unknown #<char>.
Tue Feb 15 01:08:10 1994 Shiro KAWAI <kawai@sail.t.u-tokyo.ac.jp>
* eval.c (ceval apply): under flag CAUTIOUS, checks for applying
to non-lists added.
Sat Feb 12 21:23:01 1994 Aubrey Jaffer (jaffer@jacal)
* sys.c (sym2vcell intern sysintern): now use internal strhash().
* scl.c sys.c (hash hashv hashq strhash()): added.
Sat Feb 5 01:24:35 1994 Aubrey Jaffer (jaffer@jacal)
* scm.h (ARRAY_NDIM): #define ARRAY_NDIM NUMDIGS changed to
#define ARRAY_NDIM(x) NUMDIGS(x) to correct problem on Next.
Fri Feb 4 23:15:21 1994 rshouman@chpc.utexas.edu (Radey Shouman)
* unif.c: 0d arrays added. Serial array mapping functions and
ARRAY-SIMPLE? added.
Thu Feb 3 12:42:18 1994 Aubrey Jaffer (jaffer@jacal)
* scm.h (LENGTH): now does unsigned shift.
Wed Feb 2 23:40:25 1994 Aubrey Jaffer (jaffer@jacal)
* Link.scm (*catalog*): catalog entries for db (wb),
turtle-graphics, curses, regex, rev2-procedures, and
rev3-procedures added.
Sun Jan 30 19:25:24 1994 rshouman@chpc.utexas.edu (Radey Shouman)
* sys.c eval.c setjump.h setjump.s (longjump setjump): full
continuations now work on Cray YMP.
Thu Jan 27 01:09:13 1994 Aubrey Jaffer (jaffer@jacal)
* dynl.c MANUAL Init.scm (init_dynl): dynamic linking modified for
modern linux.
Sat Jan 22 17:58:55 1994 Aubrey Jaffer (jaffer@jacal)
From: ucs3028@aberdeen.ac.uk (Al Slater)
* makefile.acorn repl.c (set_erase): Port to acorn archimedes.
This uses Huw Rogers free unix function call library for the
archimedes - this is very very widely available and should pose no
problem to anyone trying to find it - its on every archimedes ftp
site.
From: hugh@cosc.canterbury.ac.nz (Hugh Emberson)
* dynl.c Link.scm: Dynamic Linking with SunOS.
Thu Jan 6 22:12:51 1994 (jaffer at jacal)
* sys.c (gc_mark mark_locations): now externally callable.
Sun Jan 2 19:32:59 1994 fred@sce.carleton.ca (Fred J Kaudel)
* unif.c (ra_matchp ramapc): patch to unif.c avoids two problems
(K&R C does not allow initialization of "automatic" arrays or
structures). This was not use in 4d2 or previously, and the
following patch ensures that such initialization only occurs for
ANSI C compilers (Note that K&R C compilers need to explicitly
assign the values).
Sat Dec 18 23:55:30 1993 (jaffer at jacal)
* scm.1 scm.doc (FEATURES): improved and updated manual page.
* repl.c (BRACKETS_AS_PARENS): controls whether [ and ] are read
as ( and ) in forms.
Wed Dec 8 23:13:09 1993 rshouman@chpc.utexas.edu (Radey Shouman)
* unif.c: More array fixes and functions.
Tue Dec 7 00:44:23 1993 (jaffer at jacal)
* dynl.c (dld_stub): removed since dld is working better on Linux.
Wed Dec 1 15:27:44 1993 (jaffer at jacal)
* scm.h (SNAME): explicit cast added to get rid of compiler
warnings.
From: bh@anarres.CS.Berkeley.EDU (Brian Harvey)
* repl.c (repl) output newlines when more than one form on a line
for Borland C.
From: rshouman@chpc.utexas.edu (Radey Shouman)
* unif.c: More array fixes and documentation.
Mon Nov 29 01:06:21 1993 rshouman@chpc.utexas.edu (Radey Shouman)
* unif.c: More array functions (need documentation).
Sun Nov 28 01:34:22 1993 (jaffer at jacal)
* scm.h (SNAME): returns a pointer to nullstr if offset is 0.
* subr.c eval.c (make_synt make_subr): now check that offset from
heap_org hack works for each subr. If not, 0 is used.
* Link.scm (compile-file): compiles SCM file to object suitable
for LOAD.
* Link.scm: initialization file created with Scheme code for
compilation and linking. LOAD now automatically loads SCM object
files.
* dynl.c Init.scm: dynamic linking now works under DLD on Linux.
Wb, crs, and sc2 can by dynamically loaded.
Thu Nov 25 22:58:36 1993 (jaffer at jacal)
* sys.c (ltmpnam): return value of mktemp call tested in accord
with HP-UX documentation (returns "" on error).
* config.h (SYSCALLDEF): removed. Macro I/O calls (getc, putc)
replaced with function versions. Control-C interrupts should work
while pending input on all systems again.
Tue Nov 23 01:18:35 1993 dorai@cs.rice.edu (Dorai Sitaram)
* repl.c sys.c time.c config.h: MWC (Mark Williams C) support.
Sun Nov 7 10:58:53 1993 "Greg Wilson" <Greg.Wilson@cs.anu.edu.au>
* scm.c config.h (TICKS ticks tick-interrupt): if TICKS is
#defined, ticks and tick-interrupt work like alarm and
alarm-interrupt, but with units of evaluation rather than units of
time.
Mon Nov 1 18:47:04 1993 (jaffer at jacal)
* unif.c (uniform-vector-ref => array-ref): integrated arrays
with uniform-vectors. Strings, vectors, and uniform-vectors
now just special case of arrays (to the user).
Fri Oct 29 01:26:53 1993 (jaffer at jacal)
* unif.c (rasmob tc16_array): arrays are now a smob.
Thu Oct 28 01:21:43 1993 (jaffer at jacal)
* sys.c repl.c (igc gc_start): GC message gives reason for GC.
Wed Oct 27 10:03:00 1993 (jaffer at jacal)
* config.h (SICP): flag makes (eq? '() '#f) and changes other
things in order to make SCM more compatible with Abelson and
Sussman's book.
* sys.c (gc_mark gc_sweep mark_locations): GC bug fixed. GC from
must_malloc would collect the tc_free_cell already allocated.
* sys.c setjump.h (must_malloc must_realloc INIT_MALLOC_LIMIT):
modified to call igc when malloc usage exceeds mtrigger (idea from
hugh@ear.MIT.EDU, Hugh Secker-Walker).
From: Jerry D. Hedden
* pi.scm (bigpi): bignum version of pi calculator.
Tue Oct 26 18:41:33 1993 (jaffer at jacal)
* repl.c (room): added procedure for printing storage statistics.
Sun Oct 24 22:40:15 1993 (jaffer at jacal)
* config.h eval.c scl.c (STACK_LIMIT CHECK_STACK): added.
* sys.c (stack_check): added.
Sat Oct 23 00:08:30 1993 (jaffer at jacal)
* sys.c (mallocated): added to keep track of non-heap usage.
* sys.c (igc): fixed interrupt vulnerabilities around gc.
Sun Oct 17 13:06:11 1993 (jaffer at jacal)
* repl.c (exit_report): added. Prints cumulative times if
(verbose > 2). Called from free_storage().
* repl.c (repl): fixed CRDYP(stdin) BUG! Transcripts should work
again. Other annoying CR behaviour fixed.
* time.c (init_time your_base my_base): now not reset when
restarting so timing numbers for restarting are correct.
* scm.h (sys_protects): rearranged.
* sys.c (tmp_errp): now a statically allocated global variable,
used by init_storage and free_storage.
* scm.h sys.c (tc16_fport, tc16_pupe, tc16_strport, tc16_sfport):
now #defines (which must correspond to order of newptob calls).
Sun Oct 3 20:38:09 1993 Bryan O'Sullivan (bos@scrg.cs.tcd.ie)
* README.unix configure configure.in scmconfig.h.in
mkinstalldirs Makefile.in acconfig-1.5.h: SCM can now be built
using GNU autoconf. Put in scmconfig4c5.tar.gz
Sun Oct 3 00:33:57 1993 (jaffer at jacal)
* MANUAL (bit-count bit-position bit-set*! bit-count*
bit-invert!): (from unif.c) are now documented.
* sys.c (fixconfig): added 3rd argument to distinguish between
setjump.h and config.h.
* setjump.h config.h: moved IN_SYS stuff from config.h to
setjump.h.
* config.h (HAVE_CONFIG_H): User config preferences now taken
from "scmconfig.h" if HAVE_CONFIG_H is defined.
* config.h (EXIT_SUCCESS EXIT_FAILURE): fixed for VMS.
Sat Oct 2 00:34:38 1993 rshouman@hermes.chpc.utexas.edu (Radey Shouman)
* unif.c repl.c: added read and write syntax for uniform vectors.
* unif.c (uniform-vector->list list->uniform-vector): created.
* time.c (time_in_msec): conditionalized for wide range of CLKTCK
values.
* config.h (BITSPERDIG POINTERS_MUNGED)
* scm.h (PTR2SCM SCM2PTR)
* scl.c (DIGSTOOBIG)
Ported SCM to Unicos, the Cray operating system.
From: schwab@ls5.informatik.uni-dortmund.de (Andreas Schwab)
* scl.c (dblprec): set from DBL_DIG, if available.
Fri Oct 1 21:43:58 1993 (jaffer at jacal)
* unif.c (bit-position): now returns #f when item is not found.
Now returns #f when 3rd argument is length of 2nd argument
(instead of error).
Fri Sep 24 14:30:47 1993 (jaffer at jacal)
* sys.c (free_storage): fixed bug where growth_mon was being
called after the port cell had been freed. gc_end now also
called at end.
Tue Sep 21 23:46:05 1993 (jaffer at jacal)
* Init.scm scm.c: Restored old command line behaviour (loading all
command line arguments) for case when first command line argument
does not have leading `-'.
* sys.c (mode_bits): abstracted from open_file and mksfpt.
* scm.h (*FPORTP): series of predicates added for operations which
only work on some fports.
* sys.c crs.c: ungetc removed from ptobfuns structure and
soft-ports.
Mon Sep 20 23:53:25 1993 (jaffer at jacal)
* sys.c (make-soft-port): Soft-ports added, allowing Scheme
i/o extensions.
Sun Sep 19 22:55:28 1993 (jaffer at jacal)
* 4c4: released.
* Init.scm scm.c scm.1: command line proccessing totally
rewritten. Thanks to Scott Schwartz
<schwartz@groucho.cs.psu.edu> for help with this.
Mon Sep 13 21:45:52 1993 pegelow@moorea.uni-muenster.de (Ulrich Pegelow)
* scl.c (add1): finally a way to fool optimizing gcc to not use
extra precision registers.
Sun Sep 12 18:46:02 1993 (jaffer at jacal)
* sys.c (pwrite): added to stubbify fwrite to fix bug on VMS.
* config.h: moved flags to top per suggestions from Bryan
O'Sullivan (bos@scrg.cs.tcd.ie).
Fri Sep 10 11:42:27 1993 (jaffer at jacal)
* repl.c config.h (EXIT_SUCCESS EXIT_ERROR): added. Values
returned by SCM program.
Thu Sep 9 13:09:28 1993 Vincent Manis <manis@cs.ubc.ca>
* sys.c (stwrite init_types add_final): fixed declarations.
Mon Sep 6 16:10:50 1993 Bryan O'Sullivan (bos@scrg.cs.tcd.ie)
* README: changed the build and installation instructions to bring
them up to date with reality.
Sun Sep 5 23:08:54 1993 Bryan O'Sullivan (bos@scrg.cs.tcd.ie)
* Wrote autoconf script to support GNU Autoconf configuration
to make scm easier to build.
* Created Makefile.in; a radical overhaul of Makefile to remove
some of the brokenness and allow cross-compilation and use of
autoconf.
Sat Sep 4 23:00:49 1993 (jaffer at jacal)
* 4c3: released.
* sys.c (grow_throw): removed use of memset for SPARC machines.
Sat Sep 4 18:09:59 1993 Bryan O'Sullivan (bos@scrg.cs.tcd.ie)
* time.c: added SVR4 to the list of LACK_FTIME systems, because
most all SVR4 BSD-compatibility stuff is a total mess.
* config.h: changed definition of STDC_HEADERS so it does the
Right Thing on systems which run GCC but don't have header files
with prototypes.
* makefile.unix: added a note for SVR4 users.
Tue Aug 31 18:30:53 1993 (jaffer at jacal)
* eval.c (m_define): if verbose >= 5 warnings are issued for all
top-level redefinitions.
Mon Aug 30 16:24:26 1993 (jaffer at jacal)
* scm.c sys.c (finals num_finals add_final): Finalization calls
now dynamically, incrementally, defined.
Thu Aug 26 12:38:27 1993 Aubrey Jaffer (jaffer at camelot)
* 4c2: fixed declaration problems in PTOB with K&R C.
Sun Aug 22 23:02:51 1993 (jaffer at jacal)
* split.scm: code which directs input, output, and diagnostic
output to separate windows (using curses functions defined in
crs.c).
Sat Aug 21 16:46:33 1993 (jaffer at jacal)
* Init.scm (output-port-height): added if not already defined.
output-port-width also made conditional.
* sys.c (tc16_strport): string ports created.
Thu Aug 19 11:37:07 1993 (jaffer at jacal)
* sys.c (init_types): freecell, floats, and bignums now have SMOB
entries. gc_sweep and gc_mark still inline codes for bignums and
floats.
* sys.c repl.c code.doc: Ports now an extensible type.
Indirection suggested by Shen <sls@aero.org>.
Mon Aug 16 01:20:26 1993 (jaffer at jacal)
* crs.c: curses support created.
Sun Aug 15 16:56:36 1993 (jaffer at jacal)
* rgx.c sys.c (mark0 equal0): mark0 moved to sys.c. equal0
created.
Fri Jun 25 01:16:31 1993 (jaffer at jacal)
* QUICKREF: added.
Tue Jun 22 00:40:58 1993 Aubrey Jaffer (jaffer at camelot)
* repl.c (ungetted): replaced with CRDYP(stdin) to fix recently
introduced transcript bug.
Sun Jun 20 22:29:32 1993 Aubrey Jaffer (jaffer at camelot)
* config.h (NOSETBUF): setbuf() now conditionalized on NOSETBUF.
* Init.scm (defmacro): now copies the results of macro expansion
in order to avoid capture of memoized code by macros like:
(defmacro f (x) `(list '= ',x ,x)).
Wed Jun 2 23:32:05 1993 Aubrey Jaffer (jaffer at caddr)
* eval.c (map for-each): now check that arguments are lists.
Mon May 31 23:05:19 1993 Aubrey Jaffer (jaffer at camelot)
* Init.scm (trace untrace): now defmacros which handle (trace) and
(untrace) as in Common Lisp.
Wed May 5 01:17:37 1993 Roland Orre <orre@sans.kth.se>
* all: internal output functions now take SCM ports instead of
FILE* in preparation for string-ports.
Tue May 4 17:49:49 1993 Aubrey Jaffer (jaffer at wbtree)
* makefile.unix (escm.a): created scm "ar" file and used for
dbscm.
Sun Apr 25 21:35:46 1993 Aubrey Jaffer (jaffer at camelot)
* sys.c (free_storage): i++ moved out of CELL_* in response to:
From: john kozak <jkozak@cix.compulink.co.uk>
Minor bug report: around line 10 of routine "free_storage" you do calls
to CELL_UP and CELL_DOWN with arguments having side-effects: with the
PROT386switch defined in config.h these args are evaluated twice...
Sun Apr 11 22:56:19 1993 Aubrey Jaffer (jaffer at camelot)
* eval.c (IM_DEFINE): added. Internal defines are no longer
turned into LETRECS.
Wed Apr 7 13:32:53 1993 Jerry D. Hedden <HEDDEN@ESDSDF.dnet.ge.com>
* scl.c (idbl2str): fix for bug introduced by removing +'s.
Tue Mar 23 15:37:12 1993 Aubrey Jaffer (jaffer at camelot)
* scl.c (idbl2str): now prints positivie infinity as +#.# again
(instead of #.#).
Mon Mar 22 01:38:02 1993 Aubrey Jaffer (jaffer at montreux)
* subr.c (quotient): renamed to lquotient to avoid conflict with
HP-UX 9.01.
Fri Mar 19 01:21:08 1993 Aubrey Jaffer (jaffer at camelot)
* sys.c repl.c: #ifndef THINK_C #include <sys/ioctl.h>
* time.c (lstat): #ifndef THINK_C. ThinkC 5.0.1 lacked.
Mon Mar 15 23:35:32 1993 jhowland@ariel.cs.trinity.edu (Dr. John E. Howland)
* scl.c (idbl2str iflo2str big2str): leading + eliminated on
output and number->string.
Wed Mar 10 00:58:32 1993 Aubrey Jaffer (jaffer at camelot)
* repl.c scm.h (CRDYP CLRDY CGETUN CUNGET): cleaned up ungetc hack.
* scm.c repl.c (exec): added.
Sun Mar 7 22:44:23 1993 Aubrey Jaffer (jaffer at camelot)
* repl.c (def_err_response): now will print errobjs if they are
immediates, symbols, ports, procedures, or numbers.
Fri Mar 5 23:15:54 1993 Aubrey Jaffer (jaffer at camelot)
* repl.c (repl): now gives repl_report() for initialization.
* Init.scm (defvar): added.
From: Roland Orre <orre@sans.kth.se>
* repl.c (lungetc): no longer calls ungetc. Fixed problem that
many systems had with ungetc on unbuffered ports (setbuf(0)).
Thu Mar 4 13:51:12 1993 Stephen Schissler
* makefile.wcc: Watcom support added.
Wed Mar 3 23:11:08 1993 Aubrey Jaffer (jaffer at montreux)
* sys.c scm.h (dynwinds): made a sys_protect.
Mon Feb 15 11:30:50 1993 Aubrey Jaffer (jaffer at camelot)
* Init.scm (defmacro macroexpand macroexpand1 macro? gensym):
added.
* repl.c (stdin): setbuf not done for __TURBOC__==1.
* makefile.bor: now has method to build turtegr.exe.
* eval.c (ceval): Memoizing macros now can return any legal Scheme
expression.
Sat Feb 13 18:01:13 1993 Aubrey Jaffer (jaffer at camelot)
* subr.c (mkbig adjbig): now check for bignum size.
* Init.scm: reorganized so site-specific information is at the
head.
* repl.c (errno): changed from set-errno now returns value.
* subr.c (intexpt): now handles bignum exponents.
From: "David J. Fiander" <davidf@golem.waterloo.on.ca>
* time.c makefile.unix subr.c: SCO Unix and XENIX patches.
Fri Feb 12 22:18:57 1993 Aubrey Jaffer (jaffer at camelot)
* Init.scm (WITH-INPUT-FROM-PORT WITH-OUTPUT-TO-PORT
WITH-ERROR-TO-PORT): added.
* subr.c (ash): fixed for case (ash 2 40) where INUM arguments
make a bignum result.
* repl.c (lreadr): \ followed by a newline in a string is ignored.
From: Scott Schwartz <schwartz@groucho.cs.psu.edu>
* repl.c (lreadr): Can now read \0\f\n\r\t\a\v in strings.
Thu Feb 11 01:25:50 1993 Aubrey Jaffer (jaffer at camelot)
* Init.scm (with-input-from-file with-output-to-file
with-error-to-file): now use dynamic-wind.
Sun Feb 7 22:51:08 1993 Aubrey Jaffer (jaffer at camelot)
* eval.c (ceval): fixed bug with non-memoizing macro returning an
IMP.
Sat Feb 6 01:22:27 1993 Aubrey Jaffer (jaffer at camelot)
* (current-error-port with-error-to-file): add.
Fri Feb 5 00:51:23 1993 Aubrey Jaffer (jaffer at camelot)
* time.c (stat): added.
From: rnelson@wsuaix.csc.wsu.edu (roger nelson)
* dmakefile: support for DICE C on Amiga.
Thu Feb 4 01:55:30 1993 Aubrey Jaffer (jaffer at camelot)
* sys.c (open-file) makes unbuffered if isatty.
* repl.c (char-ready?) added.
Mon Feb 1 15:24:18 1993 Aubrey Jaffer (jaffer at camelot)
* subr.c (logor): changed to LOGIOR to be compatible with common
Lisp.
* eval.c (bodycheck): now checks for empty bodies.
Sun Jan 31 01:01:11 1993 Aubrey Jaffer (jaffer at camelot)
* time.c (get-universal-time decode-universal-time): now use
bignums.
Tue Jan 26 00:17:06 1993 Aubrey Jaffer (jaffer at camelot)
* sys.c (mark_locations): now length argument in terms of
STACKITEM. Does both alignments in one pass.
Mon Jan 25 12:13:40 1993 soravi@Athena.MIT.EDU
* makefile.emx: for OS/2
Sun Jan 24 18:46:32 1993 stevev@miser.uoregon.edu (Steve VanDevender)
* scl.c (big2str): now faster because it divides by as many 10s as
fit in a BIGDIG.
Sat Jan 23 00:23:53 1993 stevev@miser.uoregon.edu (Steve VanDevender):
* config.h (INUM MAKINUM): shift optimization for TURBOC.
Fri Jan 22 00:46:58 1993 hanche@ams.sunysb.edu (Harald Hanche-Olsen)
* unif.c (uniform-vector?): added.
Tue Jan 19 00:27:04 1993 stevev@miser.uoregon.edu (Steve VanDevender)
* subr.c scl.c config.h: bignum bug fixes for MSDOS.
Mon Jan 18 01:15:24 1993 Aubrey Jaffer (jaffer at camelot)
* subr.c (ash lognot intlength logcount bitextract): now handle
bignums.
Sun Jan 17 10:42:44 1993 Aubrey Jaffer (jaffer at camelot)
* sys.c (close_port): can now close pipes as well.
* subr.c (adjbig normbig divide quotient): fixed more divide bugs.
* subr.c (even? odd?): fixed problem with bignums.
Sat Jan 16 00:02:05 1993 Aubrey Jaffer (jaffer at camelot)
* subr.c (divbigbig): Fixed last divide bug?
Fri Jan 15 00:07:27 1993 Aubrey Jaffer (jaffer at camelot)
* rgx.c (regmatch?): added. Debugged for both HP-UX and GNU
regex-0.11. Documentation added to MANUAL.
Thu Jan 14 11:54:52 1993 Aubrey Jaffer (jaffer at camelot)
* patchlvl.h (SCMVERSION): moved from config.h.
* scl.c (product): fixed missing {} bug.
From: HEDDEN@esdsdf.dnet.ge.com
* scl.c (lmin lmax) bignum versions.
Wed Jan 13 01:40:51 1993 Aubrey Jaffer (jaffer at camelot)
* released scm4b0.
* subr.c: fixed bignum bugs found by jacal.
* code cleanup.
From: HEDDEN@esdsdf.dnet.ge.com
* subr.c (lgcd quotent modulo lremainder): Bignum versions.
* subr.c (divbigbig): new version.
Sun Jan 3 00:29:35 1993 stevev@miser.uoregon.edu (Steve VanDevender)
* Re-port to BorlandC v2.0
* sys.c (must_realloc): added
* config.h subr.c (BIGRAD pseudolong): now insensitive to ratio of
sizeof(long)/sizeof(BIGDIG).
Mon Dec 21 23:20:47 1992 Aubrey Jaffer (jaffer at camelot)
From: Scott Schwartz <schwartz@groucho.cs.psu.edu>
* rgx.c: created SCM interface to regex and regexp routines.
From: HEDDEN@esdsdf.dnet.ge.com
* subr.c scl.c: Now just one mulbigbig and addbigbig routine.
from: soravi@Athena.MIT.EDU
* README: directions for compiling SCM under OS/2 2.0.
Wed Dec 9 15:34:30 1992 Aubrey Jaffer (jaffer at camelot)
* eval.c (tc7_subr_2x): eliminated. All comparison subrs now
rpsubrs.
* scm.h: Changed SUBR numbers. This improves HP-UX interpretation
speed (why?).
* eval.c (PURE_FUNCTIONAL): removed. Can now be done in
initialization code.
* eval.c (tc7_rpsubr): added type for transitive comparison
operators. Suprisingly, this slows down (pi 100 5).
Mon Dec 7 16:15:47 1992 Aubrey Jaffer (jaffer at camelot)
* subr.c (logand logor logxor lognot ash logcount integer-length
bit-extract): added.
From: HEDDEN@esdsdf.dnet.ge.com
* scl.c: lots more numeric improvements and code reductions.
Mon Nov 30 12:25:54 1992 Aubrey Jaffer (jaffer at camelot)
* scm.h (IDINC ICDR IDIST): enlarged depth count in ILOCs.
Sun Nov 29 01:10:18 1992 Aubrey Jaffer (jaffer at camelot)
* subr.c scl.c: most arithmetic operations will now return
bignums.
* config.h (FIXABLE POSFIXABLE NEGFIXABLE): added.
* sys.c (object-hash object-unhash): now use bignums.
* scl.c (big2str istr2int): bignum i/o implemented.
* unif.c: subr2s were incorrectly initialized as lsubr2s.
Tue Nov 24 14:02:52 1992 Aubrey Jaffer (jaffer at camelot)
* eval.c (ceval): added unmemocar calls to error handling when
possible.
* scl.c (idbl2str): added back NAN and infinity support.
* eval.c (syntax_mem): replaced with individual macros.
* eval.c (procedure->syntax procedure->macro
procedure->memoizing-macro): All syntactic keywords are now
tc7_symbol. User definable macros added.
* sys.c: ISYMs no longer in symhash. ISYMs cannot be read.
init_isyms merged into init_eval.
Sat Nov 21 00:39:31 1992 Aubrey Jaffer (jaffer at camelot)
* makefile.unix (check): now exits with error code.
* sys.c (init_isyms): eliminated. ISYMS now inited in init_eval.
Fri Nov 20 16:14:06 1992 Aubrey Jaffer (jaffer at camelot)
* released scm4a13
* repl.c: longjmps now dowinds() first.
* setjump.h: now has all setjmp related definitions.
* Init.scm (trace untrace): use new macro system.
* eval.c (defined? procedure->macro procedure->memoizing-macro
make_synt): macro system added. defined? uses it.
From: HEDDEN@esdsdf.dnet.ge.com
* scl.c: fixes for several transcendental functions.
Thu Nov 19 01:14:38 1992 Aubrey Jaffer (jaffer at camelot)
* repl.c sys.c: errjmp replaced with JMPBUF(rootcont).
Sun Nov 15 01:49:00 1992 HEDDEN@esdsdf.dnet.ge.com
* scl.c (istr2int istr2flo istring2number string2number): new
versions.
Thu Nov 12 23:00:04 1992 Aubrey Jaffer (jaffer at Ivan)
* Init.scm (load): now prints out actual filename found in mesasge
;done loading ...
Wed Nov 11 01:01:59 1992 Aubrey Jaffer (jaffer at camelot)
* repl.c (def_err_response): ARG1 error with errobj==UNDEFINED
becomes WNA error.
From: HEDDEN@esdsdf.dnet.ge.com (Jerry D. Hedden)
* scl.c (difference divide): Now are asubrs.
* Init.scm (*features*): fixed to correspond to SLIB conventions.
Mon Nov 9 12:03:58 1992 Aubrey Jaffer (jaffer at camelot)
* scl.h test.scm: (string->number "i") and "3I" and "3.3I" fixed
to return #f. Tests added to test.scm.
Fri Nov 6 16:39:38 1992 Aubrey Jaffer (jaffer at camelot)
* scm.h (rootcont): sysprotect added.
From: Vincent Manis <manis@cs.ubc.ca>
* scm.h: __cplusplus prototype support.
Thu Nov 5 00:39:50 1992 Aubrey Jaffer (jaffer at Ivan)
* eval.c (lookupcar): now checks for UNDEFINED in local bindings
becuase LETREC inits to UNDEFINED.
* sys.c (dynamic-wind): added.
* config.h eval.c (ceval): CAUTIOUS mode added.
From: hugh@ear.MIT.EDU (Hugh Secker-Walker)
* eval.c (ceval): internal defines now transformed to letrecs.
Sun Oct 25 12:27:23 1992 Aubrey Jaffer (jaffer at Ivan)
* repl.c (read-line read-line!): created.
Sat Oct 24 18:36:23 1992 Aubrey Jaffer (jaffer at camelot)
* repl.c (lreadparen): now tail-recursive.
* eval.c (copy-tree eval): added. dummy_cell replaced with a
cons(obj,UNDEFINED).
Thu Oct 22 21:26:53 1992 Aubrey Jaffer (jaffer at Ivan)
* repl.c (set-errno!): changed to set-errno.
Thu Oct 15 00:49:20 1992 Aubrey Jaffer (jaffer at camelot)
* sys.c (must_free): must_free created. Pointers are set to 0.
It detects objects being freed twice.
Wed Oct 14 23:57:43 1992 Aubrey Jaffer (jaffer at camelot)
* scm.c (run_scm): Now has INITS and FINALS.
* scm.c (init_signals ignore_signals unignore_signals
restore_signals): siginterrupt() for ultix.
Fri Oct 9 14:25:06 1992 Aubrey Jaffer (jaffer at camelot)
* all: put in explicit casts to (unsigned char *) and (long) to
satisfy lint.
* sys.c (gc): all to gc_end was during deferred interrupts,
causing problems with verbose=3 and interrupts during GC.
* config.h(SYSCALLDEF): fixed so that test on errno occurs before
ALLOW_INTS (and possible call to user code).
Sun Oct 4 01:45:25 1992 Aubrey Jaffer (jaffer at camelot)
* eval.c (syntax_mem): removed gratuitous cons.
* eval.c repl.c scm.h: Reduced static string use. Added peephole
optimizations for AND and OR.
From: hugh@ear.MIT.EDU (Hugh Secker-Walker)
* eval.c repl.c scm.h (syntax_mem): syntax forms are now memoized
so that syntax checks are done only once. Interpreter is now
smaller and faster and uses less stack space. Modifications to
code are now made under DEFER_INTS as they always should have
been.
Wed Sep 30 22:06:24 1992 Aubrey Jaffer (jaffer at Ivan)
* scl.c subr.c scm.h config.h: Started adding bignum code.
Sun Sep 27 22:59:59 1992 Aubrey Jaffer (jaffer at Ivan)
* repl.c (restart): added.
* sys.c (freeall): finished.
* scm.h (tc7_symbol): split into tc7_ssymbol and tc7_msymbol to
distinguish between non-GCable and GCable symbols.
Wed Sep 23 00:36:23 1992 Aubrey Jaffer (jaffer at Ivan)
* repl.c (peek_char lungetc): added workaround for TURBOC 1.0
problem with ungetc inside SYSCALLDEF macro.
* repl.c (iprin1): uses ttyname for #<stream ..> if available.
* Init.scm: now sets verbose to 0 if stdin or stdout is not a tty.
* repl.c (isatty?): added.
* repl.c (verbose): levels bumped up by 1. verbose == 0 means no
prompt.
* makefile.djg config.h (GNUDOS -> GO32): flags changed for djgpp108.
Wed Aug 26 21:46:26 1992 Aubrey Jaffer (jaffer at Ivan)
* test.scm: put in (test #f < 1 3 2) and (test #f >= 1 3 2).
* scl.c (leqp greqp): put back in. (not (< 1 3 2)) does not imply
(>= 1 3 2).
* makefile.unix: tar and shar files now created in subdirectory.
* config.h time.c: Linux support added.
* repl.c: Greatly improved VMS interrupt support.
* eval.c (ceval): I_LET now changes to I_LETSTAR for single clause
unnamed lets.y
* (tc7_lsubr_2n): removed.
Fri Jul 31 00:24:50 1992 Aubrey Jaffer (jaffer at Ivan)
* unif.c (bit-position): fixed; I am sure I had done these
changes before. Also corrected some error messages.
From: campbell@redsox.bsw.com (Larry Campbell)
* scm.h subr.c sys.c (equalp): smobfuns now include equalp.
Mon Jul 20 16:44:30 1992 Aubrey Jaffer (jaffer at Ivan)
From: Stephen Adams <S.R.Adams@ecs.southampton.ac.uk>
* eval.c scm.h subr.c (BOOL_NOT) macro added to fix ^ bug in
BorlandC. This was fixed previously as well.
From: campbell@redsox.bsw.com (Larry Campbell)
* unif.c (vector-set-length!): was always typing to tc7_vector.
Sat Jul 18 01:07:33 1992 Aubrey Jaffer (jaffer at Ivan)
* subr.c sys.c (make_vector init_storage resizuve): mallocs and
reallocs are now always > 0.
* time.c (get_univ_time): bypassed mktime() for (__TURBOC__ == 1).
Mon Jul 13 22:27:04 1992 Aubrey Jaffer (jaffer at Ivan)
* repl.c (lreadr): now ignores first line of port if begins with "#!"
* scl.c (lesseqp greqp): removed; changed to use tc7_lsubr_2n.
* scm.h eval.c (tc7_lsubr_2n): type added. Other subr types
rearranged.
Sat Jul 11 23:47:18 1992 Aubrey Jaffer (jaffer at Ivan)
* scm.h sys.c repl.c eval.c code.doc (newsmob smobs smobfuns): now
support dynamically added smob types. Promises moved to eval.c.
Promises and arbiters are now newsmobs.
* makefile.unix repl.c scl.c (floprint): moved from repl.c to
scl.c. The only files which care about -DFLOATS are now scl.c,
eval.c, scm.c, and unif.c.
* sys.c scm.h (init_storage): now uses variable num_protects
instead of #define NUM_PROTECTS.
Tue Jul 7 00:00:57 1992 Ulf_Moeller@hh2.maus.de (Ulf Moeller)
* Init.scm config.h makefile.prj: support for the ATARI-ST with
Turbo C added.
Tue Jun 30 23:45:50 1992 Aubrey Jaffer (jaffer at Ivan)
* unif.c (make-uniform-vector uniform-vector-set!
uniform-vector-ref): added.
Tue Jun 23 11:49:13 1992 Aubrey Jaffer (jaffer at Ivan)
* scm.h sys.c code.doc: rearranged tc7 codes and added bvect,
ivect, uvect, fvect, dvect, cvect, and cclo.
* scm.h sys.c eval.c repl.c code.doc: Changed symbols to be
tc7_symbol.
Sat Jun 6 22:27:40 1992 campbell@redsox.bsw.com (Larry Campbell)
* scl.c (divide): divide by 0 and Exact-only divides of non
multiples now cause exception in RECKLESS mode.
Wed May 27 16:02:58 1992 Aubrey Jaffer (jaffer at Ivan)
* config.h scl.c (NUMBUFLEN): split into INTBUFLEN and FLOBUFLEN
and made proportional to size of numeric types.
From: fred@sce.carleton.ca (Fred J Kaudel)
* makefile.ast scm.c Init.scm: minor chages for ATARI ST support.
* test.scm (test-inexact): created.
Thu May 21 11:43:41 1992 Aubrey Jaffer (jaffer at Ivan)
* patchlvl.h (PATCHLEVEL): 5
From: hugh@ear.mit.edu (Hugh Secker-Walker)
* config.h: better wording for heap allocation strategy
explanation.
Wed May 20 00:31:18 1992 S.R.Adams@ecs.southampton.ac.uk
* subr.c (stci_leqp st_leqp): reversed order of ^ clauses to avoid
Borland 3.0 bug.
* sys.c (gc_sweep): missing i-=2; added when splicing out segment.
* MANUAL time.c (get-universal-time decode-universal-time): half
hearted attempt to add these. Needs bignums.
Wed May 13 14:01:07 1992 Aubrey Jaffer (jaffer at Ivan)
* sys.c (gc_mark): improved tail recursivness for CONSes.
* repl.c (growth_mon): now prints out the hplims table if
verbose>3.
* sys.c (init_heap_seg): Serious bug in growing hplims fixed.
num_heap_segs eliminated; hplims are realloced whenever grown.
Tue May 12 15:36:17 1992 Aubrey Jaffer (jaffer at train)
* config.h sys.c (alloc_some_heap expmem): expmem captures
whether the INIT_HEAP_SIZE allocation was successful. If so,
alloc_some_heap uses exponential heap allocation instead of
HEAP_SEG_SIZE.
Mon May 11 15:29:04 1992 Aubrey Jaffer (jaffer at Ivan)
* sys.c (gc_sweep init_heap_seg heap_org): Empty heap segments
are now freed.
* sc2.c (STR_EXTENSIONS): renamed REV2_PROCEDURES and R2RS and
R3RS functions put into sc2.c.
Sun May 10 01:34:11 1992 Aubrey Jaffer (jaffer at Ivan)
* scm.c (ignore_interrupts unignore_interrupts): added for
system, edt$edit, and popen to use.
* repl.c (lwrite display newline write_char): Close pipe if EPIPE.
* repl.c (file_set_position): now errs on ESPIPE.
* scm.c (SIGPIPE): now ignored (errs come back as EPIPE).
Sat May 9 17:52:36 1992 Stephen Adams <S.R.Adams@ecs.southampton.ac.uk>
* config.h (PROT386): PROT386 added. PTR_LT and CELL_UP modified.
Fri May 8 17:57:22 1992 hugh@ear.mit.edu (Hugh Secker-Walker)
* Init.scm (last-pair append!): last-pair is faster version.
Append! corrected for null first arg. (getenv "HOME") now gets
a "/" added if not present.
* config.scm (MIN_GC_YIELD): now proportional to HEAP_SEG_SIZE.
* README: setting environment variables corrected.
* subr.c (length): error message now has arg if not a list.
* sys.c (open-pipe): now turns off interrupts before forking.
* scl.c (lsystem): now turns off interrupts before forking.
* scm.c (ignore_signals): created.
Sat May 2 01:02:16 1992 Aubrey Jaffer (jaffer at Ivan)
* Init.c (WITH-INPUT-FROM-FILE WITH-OUTPUT-TO-FILE): defined in
terms of current-input-port and current-output-port. Bug in
open-input-pipe and open-output-pipe fixed.
* sys.c repl.c (current-input-port current-output-port): moved
from sys.c to repl.c. set-current-input-port and
set-current-output-port added to repl.c.
Mon Apr 13 22:51:32 1992 Aubrey Jaffer (jaffer at Ivan)
* patchlvl.h: (PATCHLEVEL): released scm4a1.
* makefile.* VMSBUILD.COM VMSGCC.COM: compile time.h.
* scm.c (alrm_signal int_signal): now save and restore errno so
SYSCALL will work correctly across interrupts.
Sun Apr 12 01:44:10 1992 Aubrey Jaffer (jaffer at Ivan)
* patchlvl.h: (PATCHLEVEL): released scm4a0.
* repl.c (lread): tok_buf now local to each invocation of read.
This makes READ interruptable and reentrant.
* sys.c MANUAL (STRING-SET-LENGTH! STRING-VECTOR-LENGTH!): created.
* sys.c repl.c (grow_tok_buf tok_buf tok_buf_len): moved to repl.c
* repl.c (lfwrite): now emulated for VMS.
* repl.c scl.c (num_buf): now local to all routines that use it.
* time.h: created by moving time functions from repl.c. Read and
write functions were moved from sys.c to repl.c.
* sys.c repl.c (DEFER_INTS ALLOW_INTS CHECK_INTS): totally
rewritten. SIGALRM and SIGINT now execute at interrupt level.
Interrupts deferred only for protected code sections, not for
reads and writes.
* sys.c repl.c (SYSCALL): created to reexecute system calls
interrupted (EINTR) by SIGALRM and SIGINT.
* sys.c scl.c (flo0): 0.0 is now always flo0.
* repl.c sys.c (TRANSCRIPT-ON TRANSCRIPT-OFF): added. This
required shadowing putc, fputs, fwrite, and getc with lputc,
lputs, lfwrite, and lgetc.
Sun Apr 5 00:27:33 1992 HEDDEN@esdsdf.dnet.ge.com (Jerry D. Hedden)
* scl.c (eqp lessp greaterp lesseqp greatereqp):
Comparisons with inexact numbers was not being performed
correctly. For example, (< 1.0 2.0 1.5) would yield #t. What was
missing was a line x=y; in the inexact comparison sections of
lessp(), greaterp(), lesseqp() and greatereqp(). In addition, I
modified these routines and eqp() to allow for mixed arithmetic
types.
Sat Apr 4 00:17:29 1992 Aubrey Jaffer (jaffer at Ivan)
* scm.h code.doc: tc7_bignum => tc7_spare. Added tc16_bigpos and
tc16_bigneg. SMOBS reordered. tc16_record added.
* scm.h repl.c sys.c (make-arbiter try-arbiter release-arbiter):
added. tc16_arbiter added.
Fri Apr 3 01:25:35 1992 Aubrey Jaffer (jaffer at Ivan)
* sys.c config.h (TEMPTEMPLATE): created in config.h.
* scm.h: removed long aliases for C versions of Scheme functions.
* sys.c eval.c scm.h: (delay force makprom): added. Also added
tc16_promise data type.
* Init.scm (trace untrace): added autoloads and read macros.
From: T. Kurt Bond, tkb@mtnet2.wvnet.edu
* sys.c (template): correct template for VMS.
Tue Mar 31 01:50:12 1992 Aubrey Jaffer (jaffer at Ivan)
* sys.c config.h Init.scm (open-file open-pipe): created and
expressed other open functions in terms of. Bracketed all i/o
system calls with DEFER and ALLOW _SIGINTS.
Sat Mar 28 00:24:01 1992 Aubrey Jaffer (jaffer at Ivan)
* sys.c MANUAL (#.): read macro syntax added. Balanced comments
also documented.
Fri Mar 27 22:53:26 1992 Aubrey Jaffer (jaffer at Ivan)
* sys.c (iprin1): changed printed representation for unreadable
objects from #[...] to #<...>.
From: brh@aquila.ahse.cdc.com (brian r hanson x6009):
* scm.h config.h (NCELLP PTR_LT): fixes for 64 bit pointers on
nosve.
Fri Mar 20 01:36:08 1992 Aubrey Jaffer (jaffer at Ivan)
* Released scm3c13
* code.doc: corrected some minor inconsistencies and added a
section "To add a package of new procedures to scm".
Sun Mar 15 19:44:45 1992 Aubrey Jaffer (jaffer at Ivan)
* Init.scm: now loads <program-name>_INIT_PATH when <program-name>
is not "SCM".
* config.h (PTR_LT): (x < y) => ((x) < (y))
Wed Mar 4 01:53:15 1992 Aubrey Jaffer (jaffer at Ivan)
* Released scm3c12.
* scm.h code.doc eval.c sys.c (IXSYM): Eliminated Immediate IXSYM
type.
Tue Mar 3 00:58:18 1992 Aubrey Jaffer (jaffer at Ivan)
* eval.c config.c (ceval DEFINED? SYNTAX_EXTENSIONS): added
DEFINED? to ceval conditional on SYNTAX_EXTENSIONS.
From: Andrew Wilcox <andrew@astro.psu.edu>
* makefile.unix scm.c (main init_scm display_banner init_signals
restore_signals run_scm): RTL support.
Mon Mar 2 19:05:29 1992 Aubrey Jaffer (jaffer at Ivan)
* subr.c (make-string): now checks for ARG1 >= 0.
Fri Feb 28 00:13:00 1992 Aubrey Jaffer (jaffer at Ivan)
* patchlvl.h (PATCHLEVEL): 12
* Init.scm: loads JCAL if scm is invoked with name JCAL, JACAL,
jcal or jacal.
* Init.scm (ABS): set to MAGNITUDE if FLOATS are supported.
* gc_mark gc: no longer assume sizeof(short) == 2.
* config.h (CELL_UP CELL_DN): no longer assume sizeof(CELL) == 8.
From: Brian Hanson, Control Data Corporation. brh@ahse.cdc.com
* scl.c config.h repl.c: partial port to Control Data NOS/VE.
From: fred@sce.carleton.ca (Fred J Kaudel)
* repl.c Init.scm makefile.ast: Port to Atari-ST
* sys.c scm.h eval.c (throw): renamed to lthrow to avoid conflict
with Gnu CC.
Mon Feb 10 14:31:24 1992 Aubrey Jaffer (jaffer at Ivan)
* sys.c (delete-file rename-file): added.
* sys.c (chdir): now returns #f instead of error.
* Init.scm: Calls to PROVIDED? inlined so no longer dependent on
SLIB being loaded. (set! ABS MAGNITUDE) if inexacts supported.
Support for slib1b3 added.
* sys.c (alloc_some_heap): fixed bugs. One fix from
bowles@is.s.u-tokyo.ac.jp.
* eval.c (ceval): fixed bug with internal (define foo bar) where
bar is a global. Put badfun2: back in for better error reporting.
* patchlvl.h (PATCHLEVEL): 11
Mon Jan 20 16:19:04 1992 Aubrey Jaffer (jaffer at Ivan)
* config.c (INITS): comments added.
From: T. Kurt Bond, tkb@mtnet2.wvnet.edu
* VMSGCC.COM VMSMAKE.COM: now take arguments.
From: "Fred Bayer" <bayerf@lan.informatik.tu-muenchen.de>
* makefile.aztec repl.c: Aztec C (makefile) port.
Fri Jan 17 16:36:07 1992 Aubrey Jaffer (jaffer at Ivan)
* sys.c (gc init_storage stack_size): stack_size now of type
sizet. init_storage no longer uses it. gc() now uses it instead
of pointer to local. This fixes bug with gcc -O.
* sys.c (cons cons2 cons2r): &w;&x;&y; removed because of above
fix.
Thu Jan 16 22:33:00 1992 Aubrey Jaffer (jaffer at Ivan)
* scl.c (real-part): added.
Wed Jan 15 13:06:39 1992 "Fred Bayer" <bayerf@lan.informatik.tu-muenchen.de>
* scl.c repl.c scm.c config.c: Port for AMIGA
* scm.h (REALP): fixed for SINGLES not defined.
Sat Jan 11 20:20:40 1992 Aubrey Jaffer (jaffer at Ivan)
* patchlvl.h (PATCHLEVEL): 8 released.
* README: added hints for EDITING SCHEME CODE.
* repl.c (SIGRETTYPE): now int for __TURBOC__.
* makefile.tur makefile.djg: created.
* config.h: DJGPP (__GO32__) support added.
* scm.h (memv): definition added.
Sun Jan 5 00:33:44 1992 Aubrey Jaffer (jaffer at Ivan)
* repl.c makefile.* (main): INITS added.
* scl.c: fixed ASSERT statements with mismatched ARGn and
arguments.
Thu Dec 19 19:16:50 1991 Aubrey Jaffer (jaffer at train)
* sys.c (cons cons2 cons2r): added fix for gcc -O bug.
* repl.c (LACK_FTIME LACK_TIMES): more messing with these.
* sys.c config.o (HAVE_PIPE): created.
* config.h (FLT_RADIX): now #ifdef FLT_RADIX rather than __STDC__.
Needed for DJGCC.
* sys.c (DBLMANT_DIG DBL_FLOAT_DIG): now tested for directly
rather than STDC_INCLUDES.
* makefile.unix (subr.o): explicit compilation line added.
* scl.c (truncate -> ltrunc): Name conflict with DJGCC libraries.
Sun Dec 8 23:31:04 1991 Aubrey Jaffer (jaffer at Ivan)
* eval.c (apply): added check for number of args to closures.
Sat Dec 7 01:30:46 1991 Aubrey Jaffer (jaffer at Ivan)
* patchlvl.h (PATCHLEVEL): 7
* sys.c (chdir): THINK_C doesn't support;
* repl.c: SVR2 needs <time.h> instead of <sys/time.h>
* repl.c: SVR2 needs LACK_FTIME
* repl.c: #include <sys/timeb.h> now automatic ifndef LACK_FTIME.
Mon Dec 2 15:42:11 1991 Aubrey Jaffer (jaffer at Ivan)
* patchlvl.h (PATCHLEVEL): 5
* sys.c (intern sysintern): made strings and hash unsigned. Fixed
bug with characters > 128 in symbols.
From: boopsy!mike@maccs.dcss.mcmaster.ca (Michael A. Borza)
* scl.c (eqv? memv assv): created if FLOATS is #defined.
Mon Dec 2 11:37:11 1991 Aubrey Jaffer (jaffer at Ivan)
* patchlvl.h (PATCHLEVEL): 4
* sys.c (gc_sweep): usaage of pclose() now conditional on unix.
* MANUAL (chdir): documented.
From: T. Kurt Bond, Adminisoft, Inc. <tkb@MTNET2.WVNET.EDU>:
* repl.c sys.c (errno): VMS GNU C uses a special hack in <errno.h>
to get the link-time attributes for the errno variable to match
those the VMS C run-time library expects (it makes errno a
preprocessor define so that the variable that the compiler sees
has a special form that the assember then interprets), so if it is
VMS and __GNUC__ is defined <errno.h> needs included.
* setjump.h (SETJUMP LONGJUMP): SETJUMP and LONGJUMP changed to
setjump and longjump. The VMS linker is case-indifferent. VMS GNU
C mangles variable names that have upper case letters in them to
preserve their uniqueness.
* sys.c (iprint iprin1): Now inline putc loops instead of calls to
fwrite for VMS. The VMS `fwrite' has been enhanced to work with
VMS's Record Management Sevice, RMS. Part of this enhancement is
to treat each call to `fwrite' as producing a seperate record.
This works fine if you are writing to a stream_LF file or an
actual terminal screen, but if you are writing to a file that has
implied carriage control (such as a batch log file, or a mailbox
used for subprocess communication), which is a more common file
organization for RMS, each call to `fwrite' has a newline appended
to it. This causes much of the output to be incorrectly split
across lines.
* vmsgcc.com: created.
Sun Dec 1 00:33:42 1991 Aubrey Jaffer (jaffer at Ivan)
* patchlvl.h (PATCHLEVEL): 3 released.
* Init.scm (rev2-procedures): all now supported.
* Init.scm sys.c MANUAL (flush): flush changed to force-output to
be compatible with Common Lisp.
* sys.c (chdir): added.
Wed Nov 27 09:37:20 1991 Aubrey Jaffer (jaffer at Ivan)
* patchlvl.h (PATCHLEVEL): 2
* repl.c (set-errno! perror): added.
* sys.c (gc): FLUSH_REGISTER_WINDOWS call added.
* sys.c (open-input-pipe open-output-pipe close-pipe): added.
Mon Nov 25 13:02:13 1991 Aubrey Jaffer (jaffer at Ivan)
* patchlvl.h (PATCHLEVEL): 1
* sys.c (flush): added.
* repl.c (mytime): macro was missing (). CLKTCK now defaults to 60.
From: Yasuaki Honda, honda@csl.SONY.co.jp,
* README Init.scm subr.c scm.c repl.c scl.c: support for
Macintosh running Think C.
Sun Nov 24 15:30:51 1991 Aubrey Jaffer (jaffer at Ivan)
* scl.c (str2flo): fixed parsing of -1-i.
* subr.c (equal): Now correct for inexacts. Need to do eqv.
* scm.h (REALPART): fixed pixel C compiler bug with doubles inside
`?' conditionals.
* scl.c (zerop): now checks imaginary half of complex number.
From: jjc@jclark.com
* repl.c (repl_driver): now checks that s_response is non-NULL
before INTERNing.
Tue Nov 19 00:10:59 1991 Aubrey Jaffer (jaffer at Ivan)
* version scm3c0
* documentation: changed revised^3.99 to revised^4.
* example.scm: created from Scheme^4 spec.
* makefile.msc: -Ox changed to -Oxp to fix over-enthusiastic float
optimizations.
* Init.scm (ed): defined.
* repl.c (def_err_response): UNDEFINED objects don't print out.
Sun Nov 17 23:11:03 1991 Aubrey Jaffer (jaffer at Ivan)
* scl.c (vms-debug): now returns UNSPECIFIED.
* repl.c MANUAL (restart_repl): RESTART-REPL changed to ABORT.
* repl.c (err_ctrl_c):now clears sig_pending.
Wed Nov 13 23:51:36 1991 Aubrey Jaffer (jaffer at Ivan)
* config.h: removed #ifdef sparc #define STDC_HEADERS
* makefile.bor: added extra '\' to filepath.
* repl.c (everr): fixed bug with ARGx.
* repl.c (errmsgs def_err_response): cleaned up error messages.
Sun Nov 10 23:10:24 1991 Aubrey Jaffer (jaffer at Ivan)
* released scm3b7
Mon Nov 4 18:36:49 1991 Aubrey Jaffer (jaffer at Ivan)
* patchlvl.h (PATCHLEVEL): 6
* sys.c (idbl2str): tests for Not-a-Number and Infinity added.
* repl.c scm.h: response system rewritten and integrated with
error system.
* scl.c (/): now returns inexacts if integer arguments do not
divide evenly.
Mon Oct 28 23:44:16 1991 Aubrey Jaffer (jaffer at Ivan)
* makefile.unix: can now make float (scm) and integer-only (escm)
versions in same directory.
* repl.c (*sigint-response* *arithmetic-response* restart-repl):
responses for signals added.
* scl.c (lmin lmax sum difference product divide expt exp log):
now take mixed types. expt available in non-FLOATS compilation.
* repl.c (get-decoded-time): added. Includes and time functions
reorganized.
* sys.c (object-hash object-unhash): added.
Tue Oct 15 00:45:35 1991 Aubrey Jaffer (jaffer at Ivan)
* repl.c Init.scm (*features*): moved constant features into
Init.scm. Moved tests for numeric features to slib/require.scm.
* release scm3b1.
* config.h (ANSI_INCLUDES): redid include files.
* subr.c scl.c: moved all FLOAT conditionals from subr.c to scl.c.
Wed Oct 9 00:28:54 1991 Aubrey Jaffer (jaffer at Ivan)
* release scm3a13.
* patchlvl.h (PATCHLEVEL): 13
* Init.scm: "vicinity.scm" changed to "require.scm"
Mon Oct 7 00:34:07 1991 Aubrey Jaffer (jaffer at Ivan)
* test.scm: test of redefining built-in symbol and extra ')'
removed.
* scm.doc makefile.unix: scm.doc created from scm.1 in
makefile.unix.
* VMSBUILD.COM setjump.asm setjump.h (setjmp longjmp jmp_buf): put
in from comp.sources.reviewed in order to let VMS have full
continuations. VMSBUILD.COM is a compile script.
Fri Oct 4 00:05:54 1991 Aubrey Jaffer (jaffer at Ivan)
* scl.c(sleep): removed; not supported by MSC (although could be
written).
* scm.h config.h (size_t): moved to config.h.
* sys.c (f_getc): -> lgetc for vax, getc otherwise.
* patchlvl.h (PATCHLEVEL): 12
Mon Sep 30 01:14:48 1991 Aubrey Jaffer (jaffer at Ivan)
* scl.c(sleep): created.
* repl.c(internal-time-units-per-second get=internal-run-time):
created
* repl.c: created from scm.c (shuffled around lots of functions).
Sat Sep 28 00:22:30 1991 Aubrey Jaffer (jaffer at Ivan)
* scm.c config.h (char-code-limit most-positive-fixnum
most-negative-fixnum): created.
Tue Sep 24 01:21:43 1991 Aubrey Jaffer (jaffer at Ivan)
* scm.c (software-type); created.
* scm.c config.h (terms, list-file, library-vicinity,
program-vicinity, user-vicinity, make-vicinity, sub-vicinity):
moved to Init.scm and library.
* scm.c config.h Makefile (PROGPATH): changed to IMPLPATH.
* Init.scm: created
Fri Sep 20 13:22:08 1991 Aubrey Jaffer (jaffer at Ivan)
* patchlvl.h (PATCHLEVEL): 5
* all: changed declarations to size_t where appropriate. scm.h
test preprocessor flag _SIZE_T to determine if already declared.
size_t should greatly enhance portability to Macintosh and other
machines.
Tue Sep 17 01:15:31 1991 Aubrey Jaffer (jaffer at Ivan)
* scm.c (tmpnam): support for mktemp added.
Mon Sep 16 14:06:26 1991 Aubrey Jaffer (jaffer at train)
* scm.c (implementation-vicinity): added. (program-vicinity) now
returns undefined if called not within a load.
* sys.c (call-with-io-file): removed.
* scm.c (tmpnam): added.
* scm.c config.h (tmporary-vicinity): removed.
Sun Sep 15 22:21:30 1991 bevan@cs.man.ac.uk
* subr.c scm.h (remainder): renamed to lremainder to avoid
conflict with math.h on SunOS4.1.
Sat Sep 7 22:27:49 1991 Aubrey Jaffer (jaffer at Ivan)
* scm.c (program-arguments load): program-arguments created.
* scm.c (getenv): added getenv and used for program-vicinity and
library-vicinity.
* scm.c (program-vicinity): fixed if load_name is NULL.
* scl.c config.h (substring-move-left! substring-move-right!):
added under STR_EXTENSIONS flag.
Wed Aug 28 22:59:20 1991 Aubrey Jaffer (jaffer at Ivan)
* Sending scm3a to comp.sources.reviewed
* scm.c (main): prints out feature list at startup.
* subr.c (eqp lessp greaterp lesseqp greatereqp): now work for
floats.
* scl.c (sum difference divide product): moved to scl.c and
now work for floats.
* all: all masks with low bits explicity cast to (int).
Sat Aug 17 00:39:06 1991 Aubrey Jaffer (jaffer at Ivan)
* sys.c subr.c scl.c (iint2str istr2int istring2number istr2flo
iflo2str idbl2str): number I/O and conversion to strings rewritten.
* sys.c (gc_mark): continuations now marked SHORT_ALIGNed. (from
Craig Lawson).
* added QuickC support from Craig Lawson.
Tue Jul 30 01:08:52 1991 Aubrey Jaffer (jaffer at Ivan)
* config.h: #ifdef pyr added.
* scm.c MANUAL: vicinity functions added.
Tue Jul 16 00:51:23 1991 Aubrey Jaffer (jaffer at Ivan)
* scl.c sys.c: float functions added.
* Documentation reorganized according to comp.sources.reviewed
guidelines.
* sys.c config.h (open_input_file open_output_file open_rw_file):
file mode string moved to defines in config.h
Thu Jul 11 23:30:03 1991 Aubrey Jaffer (jaffer at Ivan)
* sys.c config.h (EBCDIC ASCII) moved to config.h
* subr.c config.h (BADIVSGNS) moved to config.h
* scm.h config.h (SRS) moved to config.h
Sun Jul 7 23:49:26 1991 Aubrey Jaffer (jaffer at Ivan)
* all: started adding comp.sources.reviewed corrections and
suggestions.
* scm.c patchlvl.h (main): PATCHLEVEL now printed in banner.
* subr.c sys.c: read_integer removed. istring2number created.
lread and string2number now both use istring2number.
Fri Jun 7 13:43:40 1991 Aubrey Jaffer (jaffer at Ivan)
* VERSION scm2e sent to comp.sources.reviewed
* public.lic: renamed COPYING.
* scm.c (gc_status): gc_status renamed prolixity. Now returns old
value of verbose. Can take 0 arguments.
* sys.c (lreadr): added #| common lisp style |# balanced comments.
* scm.h scm.c sys.c (I/O functions): combined **PORTP and OPENP to
become OP**PORTP.
* scm.h sys.c (gc_sweep): moved OPENP to bit in upper half word of
port cells.
Sat May 25 00:04:45 1991 Aubrey Jaffer (jaffer at Ivan)
* scm.c (stack_start_ptr, repl_driver, main, err functions):
exits removed from all err functions. all escapes through
repl_driver.
* scm.c README (verbose): Now has graded verbosity.
* scm.c README (quit): Now takes optional argument which is return
value.
Wed May 22 01:40:17 1991 Aubrey Jaffer (jaffer at Ivan)
* code.doc scm.h eval.c (ceval): Rearanged immediate type codes to
create IXSYMs (immediate extension syms) to allow more than 15
special forms. ILOCs now work with up to 32767 in one environment
frame. Dispatch is slightly faster for ILOCs in function position.
ICHRs can be up to 24 bits.
Fri May 10 00:16:32 1991 Aubrey Jaffer (jaffer at Ivan)
* scm.h sys.c (gc_mark, gc_sweep): GCMARK moved to bit 8 of CAR
for some datatypes.
Wed May 1 14:11:05 1991 Aubrey Jaffer (jaffer at Ivan)
* patch1 MESSAGE SENT.
From: jclark@bugs.specialix.co.uk.jjc
* sys.c (lreadr): removed
order evaluation bug when growing tok_buf.
Fri Apr 26 10:39:41 1991 Aubrey Jaffer (jaffer at Ivan)
* scm2d RELEASED
* sys.c (closure) no longer calls ilength (ECONS problem). Added
ASSERT before call to closure in eval.
Thu Apr 25 09:53:40 1991 Aubrey Jaffer (jaffer at Ivan)
* scm.c (error): created.
Wed Apr 24 16:58:06 1991 Aubrey Jaffer (jaffer at Ivan)
* utils.scm: created.
* makefile (name8s): code from dmason works in makefile.
* eval.c (evalcar): fixed errobj on (else 3 4) error.
Inlined function application in (cond ((foo => fun))).
* sys.c (lprin1): change looped putcs to fwrite.
Wed Apr 24 01:54:09 1991 Aubrey Jaffer (jaffer at Ivan)
* sys.c (lreadr): fixed assert for "eof in string".
* subr.c (lgcd): changed to work with borland C.
* eval.c (eval): added checks to LAMBDA and LET.
* eval.c (apply): now checks for null arg1 in lsubr.
Fri Apr 12 00:09:03 1991 Aubrey Jaffer (jaffer at kleph)
* config.h scm.h (SCMPTR): created to correct address arithmetic
on stack bounds under Borland C++. Borland C++ now runs scm2c.
Wed Apr 10 21:38:09 1991 Aubrey Jaffer (jaffer at Ivan)
* sys.c (open_io_file, cw_io_file, file_position, file_set_pos,
read_to_str) created (IO_EXTENSIONS)
* config.h (IO_EXTENSIONS): defined
* sys.c scm.c: lprin1f changed to iprin1
Wed Apr 10 12:58:59 1991 Aubrey Jaffer (jaffer at Ivan)
* sys.c (intern): line 850: for(i = alen;0 <= --i;)changed to
for(i = alen;0 < --i;).
This fixed b_pos and v_pos mapping to the same symbol.
Wed Apr 4 00:00:00 1991 Aubrey Jaffer (jaffer at kleph.ai.mit.edu)
* released scm2b
Wed Apr 3 22:51:39 1991 Aubrey Jaffer (jaffer at Ivan)
* all files: eliminated types tc7_subr_2n and tc7_subr_2xn.
Replaced with tc7_subr_2o and tc7_subr_1o so that all subr calls
can be checked for number of arguments.
Tue Apr 2 23:11:15 1991 Aubrey Jaffer (jaffer at Ivan)
* code.doc: cleaned up.
Mon Apr 1 14:27:22 1991 Aubrey Jaffer (jaffer at Ivan)
* eval.c (ceval): fixed nasty tail recursion bug at carloop:.
* scm.c (everr): still fixing error reporting.
* eval.c subr.c: added flag PURE_FUNCTIONAL which removes side
effect special forms and functions.
* subr.c (substring): now allows first index to be equal to length
of string
* sys.c (lprin1f): dispatches on TYP16 of smobs.
* scm.h: fixed typo in unused function defs.
Mon Mar 28 00:00:00 1991 Aubrey Jaffer (jaffer at zohar.ai.mit.edu)
* scm2a released: too many changes to record. See code.doc.
Mon Feb 18 21:48:24 1991 Aubrey Jaffer (jaffer at foxkid)
* scm.h: types reformatted (TYP6 -> TYP7).
* eval.c (ceval): Now dispatch directly on ISYMs in ceval.
Fri Feb 15 23:39:48 1991 Aubrey Jaffer (jaffer at foxkid)
* sys.c: #include <malloc.h> not done for VMS
Wed Feb 13 17:49:33 1991 Aubrey Jaffer (jaffer at foxkid)
* scm.c scl.c: added unsigned declarations to some char *
definitions in order to fix characters having negative codes.
* scm.h (MAKISYM, MAKFLAG, ICHR, MAKICHR, MAKINUM): Now cast to
long so that their calls don't have to. Changing MAKICHR fixed
problem in scl.c (string2list) on IBMPC.
* subr.c (quotient): support for `/' reintroduced; required by
r3.99rs but not IEEE.
* subr.c (char functions): added isascii tests for
char-alphabetic, char-numeric?, char-whitespace?,
char-upper-case?, and char-lower-case?. Added test against
char_code_limit to int2char.
* subr.c (s_char_alphap): is subr_1 not lsubr.
* test.scm: added tests for char-alphabetic, char-numeric?,
char-whitespace?, char-upper-case?, and char-lower-case?.
* sys.c: most `return;'s eliminated to reduce warning messages.
Substituted breaks and reordered switch and if clauses.
Sun Feb 3 23:12:34 1991 Aubrey Jaffer (jaffer at foxkid)
* scm1-2: released.
* sys.c (read-char peek-char) added code for EOF.
* test.scm (leaf-eq?) added and file "cont.scm" removed. I/O
tests added.
* sys.c (I/O functions) now check for input and output ports
rather than just ports.
* sys.c (lprin1f): occurences of stdout changed to f. Newlines
after printing port removed.
Thu Jan 31 22:52:39 1991 Aubrey Jaffer (jaffer at foxkid)
* subr.c (quotient): support for `/' removed; not required.
* scm.c (wta): message for OUTOFRANGE fixed.
Mon Jan 28 12:45:55 1991 Aubrey Jaffer (jaffer at foxkid)
* eval.c (apply): added checks for number of arguments.
* scm.h (CHECK_SIGINT): checks for blocked SIGINT.
* sys.c (lprin1): added blocking and testing for SIGINT so that
output won't hang on VMS.
* scm.c (repl): added fflush call.
* scm.c (err_head, wta): added fflush calls to error routines so
that error message come out in proper order.
|