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
|
Author: Mark Moraes <mark.moraes@deshawresearch.com>
Date: Thu Feb 27 08:50:25 2025 -0500
4.17.5.5: restore mode-line indicator for show-match-mode, rename
all strings to provide clue to the command to turn them off.
update to debian Brazilian translation
https://github.com/jonmacs/jove/issues/25
NOARGS macro for functions with no arguments
replace bool with jbool for c23 (bool is a keyword)
jmake.sh: ask for c89 (hopefully avoids complaints re:
old-style protos). Search for gcc on SunOS to address
https://github.com/jonmacs/jove/issues/23
add tmux terminal to builtin jtc
fix some github actions bitrot
Author: Mark Moraes <moraes@computer.org>
Date: Thu Nov 30 02:48:10 2023 -0500
4.17.5.4 continued: get rid of ubuntu containers since docker pull fails,
not sure why. fix workflows typos and skip ctags for Rocky
even more elaborate hackery to fixup apt sources.list
for archived debians like 8 and 9. add rockylinux:9
removal of sys/stat inclusion in recover.c broke mingw (and probably DOS)
fixed it (in scandir.c) to work in both (probably also now works
for the not-tested-in-years classic Mac port)
testbuild: debian 9 regression no longer gets all the security repos,
so continue if apt update fails
Author: Mark Moraes <moraes@computer.org>
Date: Tue Nov 28 22:52:00 2023 -0500
4.17.5.4 made jove compile and run on a BSD4.3 image
running under simh. A few modernisms had crept in,
but one bug (trying to use sg[].t_susp instead of ls[].t_susp
in kbd_sig, send_oxc in iproc.c) seems to date back to 4.16beta!
Fun things I had forgotten:
* mkdir -p, test -d did not exist
* ! and type did not exist in the shell
* UL suffix did not exist for constants
* ternary cannot have two different pointer types (void * vs char *)
* include files are not protected against double inclusion
* did not have S_ISDIR(x), use (x * S_IFMT) == S_IFDIR)
* recover.c used strerror
Author: Mark Moraes <moraes@computer.org>
Date: Sun Mar 19 16:58:00 2023 -0500
4.17.5.3 put qref and example.rc in DDOCDIR (e.g
/usr/share/doc/jove), update README to mention docs.
Author: Mark Moraes <moraes@computer.org>
Date: Sun Feb 26 17:31:00 2023 -0500
4.17.5.2 fix https://github.com/jonmacs/jove/issues/15
macros in joverc run immediately after the execute-macro
command is processed (disallow macros from sourcing joverc
to avoid a corner case that seems of low value), added
doc/test*.rc to test rc handling.
fix https://github.com/jonmacs/jove/issues/20 trims
trailing whitespace off empty lines between paragraphs
in comments
per @C0RD for Debian conventions (probably other Linux too),
Makefile now installs jove.man.pdf and jove.man.txt to
DOCDIR, defined as $JOVEHOME/share/doc/jove by default
(instead of SHAREDIR), fixed pkg/deb/debian/jove.docs to
match.
Added a few NOTREACHED after complain() and finish().
Author: Mark Moraes <moraes@computer.org>
Date: Thu Feb 23 16:56:50 2023 -0500
4.17.5.1 remove doc/jem.rc, add doc/test.rc (some
regression tests for joverc processing)
fix https://github.com/jonmacs/jove/issues/17 and
https://github.com/jonmacs/jove/issues/18 (often fails
to fill last word in para) by reverting one change from 4.16.0.74.
remove keychart. (causes trouble on Windows/DOS, not needed)
rename *.doc to *.txt since everything expects .doc to
be Microsoft Word files. Delete generated file before copying
new one over it. remove cleanall target, added distclean synonym
for clobber. install teach-jove and jove.qref with cmds.doc
target for simplicity. generate jove.man.pdf rather than jove.man.ps.
rename jove.man to jove.man.txt for consistency (redhat pkg did this
already)
Author: Mark Moraes <moraes@computer.org>
Date: Mon Feb 20 19:19:35 2023 -0500
4.17.5.0 continued: forgot to put Beginner_Help call in jove.rc.in,
(renamed jem1.txt to jem.text, and removed jem1.hlp, since new teach-jove
command can replace about-jove mini-description). No real need for full
jem.rc (those function key bindings clash with others, which would be
confusing, and don't work in modern window systems anyway, since many of
those function keys are intercepted by the desktop!)
install jove.qref and jem.txt in SHAREDIR
lower threshold to move objects from near to far in Makefile.wat so we can
raise stack DOS build from 11000 to 18000 (since 11000 caused a stack
overflow at least once -- 11500 did not, but seems worth some headroom;
still handles about 35000 lines in a 200K executable)
fix jexecpath bugs on NetBSD, FreeBSD (typos, stdbool clash),
OpenIndiana (need getCWD before fixrelpath is called)
Author: Mark Moraes <moraes@computer.org>
Date: Mon Feb 20 13:55:43 2023 -0500
4.17.5.0 continued: WIN64 (x86_64-w64-mingw32) should build and work
(JRWSIZE_T definition, avoid couple of ptr->unsigned long casts in
debug printf)
avoid "Unexpected" or "malformed" complaint when "else"
or "endif" is followed by whitespace in joverc
remove couple of dups in jove.qref
fix typo ('0' should be '\0' in getvar(), fixes ifvar)
adopt Debian jem* files if no .joverc or env var JOVENOHELP is not set to 1
Author: Mark Moraes <moraes@computer.org>
Date: Wed Jan 25 00:16:41 2023 -0500
4.17.5.0 continued: If SHAREDIR or LIBDIR are relative paths, interpret
them as relative to the directory from which the jove binary was run
(i.e. BINDIR) which makes more sense in most situations, does
not get confused if one uses cd or pushd, and allows us to
create relocatable/portable Jove installations (particularly
useful on Windows or DOS)
increase 9 to 15 for MAXBASENAMELEN so that .exe and teach-jove fit.
ensure that SyncRec is called after a buffer is unmodified
(usually because it was saved) to avoid being asked to recover
buffers with contents older than the saved version after a
system or jove crash/kill.
Use jamstrcat instead of jamstrsub for features, also use
jamstr* to check some string ops in PathParse (though they are
probably ok)
Update teach-jove tutorial somewhat.
Remove redundant install and DESTDIR in Debian pkg sample, since
dh_auto_install adds those anyway.
Some tweaks to sysdep.h and tune.h
i686-w64-mingw and alpine static in testbuild use
relative SHAREDIR & LIBDIR so those can be copied and run
anywhere without installation.
JMAKE_RELATIVE=1 env var causes jmake.sh to set DESTDIR, JBINDIR,
JSHAREDIR, JLIBDIR appropriately to exploit relative
SHAREDIR, LIBDIR
Added mingw and musl-static builds to jmake.sh (both use
relative) and simplified testbuild.sh
Copy ChangeLog to DOS zip as changelg.txt, and doc/teach-jove
as teachjov.txt
teach-jove and relative features mean slightly smaller stack for DOS
Updated README.dos and README.win
Tried to make WIN64 (x86_64-w64-mingw32) build work, still does not work.
some cleanup reported by pedantic on win32.c, proc.c,
Author: Mark Moraes <moraes@computer.org>
Date: Mon Jan 9 22:34:02 2023 -0500
4.17.5.0 unnoticed bugfix to joverc, just build and test tweaks
Makefile tweak so nothing is written to pwd on install
target if the all target was already run with the same
variables by generating files in tmp before copying if
different.
created pkg/rpm and pkg/deb dirs, moved jspec.in to pkg/rpm
added a sample derived from Cord's debian packaging info to
pkg/deb along with a testdeb.sh script that runs pbuilder to
generate pkgs for amd64, arm64 and armhf as a test of cross-build.
Add pkg to tgz, plus some other .filelist cleanup (include jove.spec)
updated some of the test environments in github actions to
more recent ones.
put old/ back into github automatic release tarballs since
it is mentioned in README as a source for info about older sysdep.
testbuild.sh: try to put human-friendly distro name and ver
in output. automate sudo guesswork and provide env var SUDO
override, no need for --sudo-preinstall option. add
--force-yes in addition to -y to avoid interaction for apt
install of prereqs. Invoke pbuilder if available to
generate deb pkgs (but we do not add it automatically as a
prereq, pretty expensive, plus seems unhappy inside container)
use gzip instead of bzip2 since latter is sometimes missing on
some platforms.
joverc handling (commands.*, vars.*, keys.txt) Backed
out of bsearch that I tried in 35dc21ae 4.17.3.2 since
it does not provide the first-unambiguous-match
behaviour. But now generate cmdidx and varidx in
setmaps for a little less code in Jove.
added teach-jove command and -T option to Jove to invoke it,
removed standalone teachjove executable which was a nuisance
(relied on cp so did not work on Windows/DOS). replaced
teachjove.c with teachjove shell script for compatibility,
but wonder if we can just get rid of those, less namespace
pollution.
removed duplicate/obsolete config from
pkg/deb/debian/jove.rc (which goes in /etc/jove/jove.rc
on Debian)
Author: Mark Moraes <moraes@computer.org>
Date: Sun Dec 18 02:52:09 2022 -0500
4.17.4.9 screen.c remove vestigial unused variable 'col'
(causes complaints on FreeBSD 13.1)
Author: Mark Moraes <moraes@computer.org>
Date: Sun Dec 11 16:27:21 2022 -0500
4.17.4.8 jmake.sh: pass CC through, accept JMAKE_UNAME
as override for uname. only use CC=gcc for Linux
reverted a bit of da9018786dcb2e4a30f3f63ecd5081fc710d50e1
to use SYSDEFS instead of CPPFLAGS, because FreeBSD does not have the
latter as part of .c.o, sigh. So we're back to SYSDEFS for -D or -I
and OPTFLAGS for -O or other oddball compiler flags.
default to gcc-style optflags, only change that for SunOS or unknown.
testbuild.sh --preinstallonly or --sudo-preinstallonly
exits after prereq package install without building, useful for
updating containers. make rpm more robust for old containers
that may have an previously installed jove, use TB_MACH instead
of hardwired x86_64
Author: Mark Moraes <moraes@computer.org>
Date: Fri Dec 4 20:20:45 2022 -0500
4.17.4.7 recover.c: changed copystr to copystrs in to
avoid sprintf to fixed size buffer that generated
many complaints.
setbuf on pipe seems unnecessary on modern machines/libc.
missing space in error message
testbuild.sh: for apt case, use OPTFLAGS from Cord debian hardening
Author: Mark Moraes <moraes@computer.org>
Date: Fri Jul 8 03:39:05 2022 -0400
4.17.4.6 ifdef jove-{compiled,linked}-with variables for
UNIX or MINGW in vars.tab, to match jove.h (the variables
get defined by lines appended by the Unix Makefile to keys.c)
fix missing case where long line did not set the
error flag and therefore did not rename the buffer to a
temporary name (same issue noted by Adam Sjøgren,
partly fixed in commit
2a256983c9d4026c5745f4ea333d9140f9a6c24a, Mar 14, 2020)
clean removes */*.tmp files
jmake.sh looks for pkgconf before pkg-config since it's the
new cool thing...
some /etc/*-release are symlinks, testbuild.sh was skipping those.
Author: Mark Moraes <moraes@computer.org>
Date: Tue Jul 8 00:38:41 2022 -0400
4.17.4.5 apt case in testbuild installs bzip2 and dpkg-dev
Replace buildflags.sh complexity with jmake.sh
Makefile uses modern CPPFLAGS, CFLAGS,
LDLIBS convention instead of SYSDEFS, OPTFLAGS and
TERMCAPLIB, EXTRALIBS (though the latter should still
work if the former aren't used).
Changed from repeated invocation of buildflags.sh
to a single jmake.sh wrapper (also easier to bypass
completely), jmake.sh will invoke
dpkg-buildflags if it exists, per
https://github.com/jonmacs/jove/issues/11 and
https://wiki.debian.org/HardeningWalkthrough
Added jove-compiled-with and
jove-linked-with variables to make it a bit
easier to find out post-facto what the flags
and libraries and compiler/linker options were.
Fix spurious uninitialized-variable complaint in io.c
Ensure initial modeline update on Windows
Author: Mark Moraes <moraes@computer.org>
Date: Sun Jun 5 20:19:02 2022 -0400
4.17.4.4 incorrect regexp in doc/jove.rc
add documentation for insert-variable
remove the -ms docs from the all: target since
many Linux do not install -ms macros with groff,
and those are only needed for formatted manuals,
not the online help. fdocs target will build them.
commit 6482cdc0d5cb7ee6e50fb18b8cf0369be769c33d
Author: Mark Moraes <moraes@computer.org>
Date: Sun Jun 5 20:19:02 2022 -0400
4.17.4.3 fix testbuild.sh to run on Debian Hurd.
commit 71fe53cf1a864ce0a60120a7a3d06f583ce4fc81
Author: Mark Moraes <moraes@computer.org>
Date: Sun Jun 5 19:33:42 2022 -0400
4.17.4.2 move preinstall from testbuild.yml to testbuild.sh
to reduce duplicate code
generate binaries and docs in DIST artifacts from github actions
as part of all test builds
move more old platform comments (Xenix, OSF/1 etc) for
other compiler and link flags from Makefile to README for consistency.
use only spaces in version.h to make it simpler for BSD
sed (no \t, did not want to put literal TAB in Makefile,
something might eat or munge it)
update buildflags for Debian Hurd
commit b36f587cf4990a266812d48a38ae73bbdb3ef12a
Author: Mark Moraes <moraes@computer.org>
Date: Mon May 30 01:51:27 2022 -0400
4.17.4.1 fixed sysdep.h, buildflags.h and jspec.in so Linux
now uses GLIBCPTY (aka OPENPTY, BSDPOSIX_STDC rather than
SYSVR4) since modern Linux (Debian 10 on, Alpine 3.13) seem
to hit the issue reported in
https://github.com/jonmacs/jove/issues/6 where the exit of
interactive shells (when they see an EOF) confuses Jove.
Added CentOS, Fedora, Alpine to the github actions build matrix.
commit bba72938670cc350c45adc47222827382a5ea4a2
Author: Mark Moraes <moraes@computer.org>
Date: Sat May 28 17:05:45 2022 -0400
4.17.4.0 fix nasty bug I introduced to recover in 4.17.2.8,
forgot to pass buflist to erealloc, resulted in uniitalized
memory references, would mess up badly on recovery files
after the first set. Now passes valgrind cleanly. Also
simplified option parsing a bit, added -r to also override
the RecDir from cmdline, accept double-dash options as well,
produce Usage for any unknown option, heuristic to detect
missing argument. Use emalloc in place of malloc in a few places.
commit 716ee39f1503f162aa2add7b387da0cfb7596867
Author: Mark Moraes <moraes@computer.org>
Date: Mon Dec 6 00:00:59 2021 -0500
4.17.3.9 ignore switch "--" on command-line so that visudo works
https://github.com/jonmacs/jove/issues/7
commit 89aa22d940cbc72386b59599ce403e96a64830ee
Author: Mark Moraes <moraes@computer.org>
Date: Tue Jul 6 22:51:29 2021 -0400
fix build on precise
commit a155b00139e1c6ca7da676a2dccf8548b93ae3a8
Author: Mark Moraes <moraes@computer.org>
Date: Fri Mar 19 23:51:37 2021 -0400
4.17.3.8
Added ChangeLog and LICENSE to MISC so 'make tgz' gets them
Skip old/* for github autogeneration
Mark *.ico binary
commit 1417da64acb0ba9c8a0232d854f6d9b467c688cd
Author: Mark Moraes <moraes@computer.org>
Date: Mon Mar 15 00:50:16 2021 -0400
4.17.3.8
Do not fail build if ctags is missing.
Improve error message from MakeTemp failure to show what
caused it.
MINGW needs NO_MKSTEMP because Windows mkstemp unlinks the
filename, which is needed for filter-*.
Fix two long-standing bug in Windows: shell-command used to
crash on Win10 with code c0000005 because close(0) seemed to
mess up input events, and filter-region did not work because
InFName was not being being honored in the WIN32 ifdef.
Tried to fix problem where Win10 waits for first event
to update mode line. Helped sometimes, but still does
not work consistently.
commit b969d8967ebefb678131dcfc4f70cfe054b31bb2
Author: Mark Moraes <moraes@computer.org>
Date: Mon Feb 22 20:05:50 2021 -0500
4.17.3.8 in-progress
remove update flag for travis homebrew to see if that's fixed,
should speed up Mac builds a lot.
commit 043aaab5c8d4e71d4f40449a062dc870cf360e1c
Author: Mark Moraes <moraes@computer.org>
Date: Fri Feb 12 19:10:59 2021 -0500
4.17.3.8 in-progress
Fix buildflags.sh for SunOS aka OpenIndiana.
Add +e to end of script so internal travis errors do not cause
regression to fail.
commit 71b074fdf0dbfeede6b4b79323ef9d40f65a3b2f
Author: Mark Moraes <moraes@computer.org>
Date: Fri Feb 12 18:52:49 2021 -0500
4.17.3.8 in-progress
Updated Makefile to support 7z or other zip/archiver commands for 'make zip'
Improved buildflags pkg-config test slightly
Updated README to describe package prereqs on many distros,
clarify that buildflags defaults to/fallsback to JTC in many cases.
commit 4b549fd67ba113afc14a89217b21dc483b377ce8
Author: Mark Moraes <moraes@computer.org>
Date: Fri Feb 12 02:03:29 2021 -0500
4.17.3.8 in-progress
fix mention of README.w32 -> README.win in README
remove s390x from test platforms, seems to take a very long
time and has never yet exposed a problem that other
platforms didn't also expose.
commit 81f448aab8899b05ca6d8921e344f434ce3a9986
Author: Mark Moraes <moraes@computer.org>
Date: Thu Feb 11 22:59:07 2021 -0500
4.17.3.8 in-progress
travis ubuntu precise seems to fail (though log shows it succeed?!), works
on docker of 12.04, so switching to trusty for old ubuntu and add focal
for newest.
commit a9985e2bf0a62eb3c7cbb1a7e95872a954c40f28
Author: Mark Moraes <moraes@computer.org>
Date: Thu Feb 11 01:52:24 2021 -0500
4.17.3.8 in-progress
remove tabs from .travis.yml
commit 0b927d2ac1158889c02cc904c5095994b80bab25
Author: Mark Moraes <moraes@computer.org>
Date: Thu Feb 11 01:45:17 2021 -0500
4.17.3.8 in-progress
Rename PPchar in setmaps to PPkey to avoid duplicate in tags.
Add testmailer.sh to test recover -syscrash, also added support
for JOVERECDIR to override default recover -syscrash destination
(and code to mkdir it if needed). Other recover cleanup
for error messages.
commit ed750ba32e364e2dde0cf889f466a6e216938f86
Author: Mark Moraes <moraes@computer.org>
Date: Thu Feb 11 01:40:07 2021 -0500
4.17.3.8 in-progress
Added buildflags.sh utility script to intuit typical SYSDEFS
(via --cflags) and TERMCAPLIB (via --libs) for most modern
systems (*BSD, Linux, Solaris, MacOS X). The small overhead
on each compile line seems well worth the ability for most
people to not have to read the build docs. Updated .travis.yml
Renamed README.w32 to README.win (clearer), moved README.cyg
to old (normal README is fine for modern Cygwin)
Removed EXPERIMENTAL comment on JTC, I've been happy with it
for a year on a few systems (mainly Linux).
Other documentation touch-ups.
commit a6b7300941c02d75da4df3ed12aa81e58bfb0e20
Author: Mark Moraes <moraes@computer.org>
Date: Thu Feb 11 01:35:34 2021 -0500
4.17.3.8 in-progress
updated comment to indicate mac.c historical status
moved README.mac to old to avoid confusing modern Mac users.
commit 9eee27ae206ff8fc0960fc923d85e4d02f795455
Author: Mark Moraes <moraes@computer.org>
Date: Fri Jan 29 11:30:14 2021 -0500
4.17.3.8 in-progress
fixed branch name for travis
commit ffaffa2acfd837a985aa2a1f5bed538d5d8fa551
Author: Mark Moraes <moraes@computer.org>
Date: Fri Jan 29 00:59:47 2021 -0500
4.17.3.8
Jove now cross-compiles with MinGW (mingw-w64 4.0.4-2 on
Ubuntu 16.04) for WIN32. Native WIN32 still seems to work.
Fixed a bug in setmaps build that probably messed up most
cross-compiles (setmaps must have exactly the same feature
defines enabled when it includes commands.tab for local
compile as will be used for the cross-compilation target platform)
commit dcc4ffd4578e0a1513a1f9e287720bd307d6e0c9
Author: Mark Moraes <moraes@computer.org>
Date: Fri Jan 29 00:12:27 2021 -0500
4.17.3.8 in-progress
switched order of EXTRALIBS so that can link with -lasan -lubsan for
address sanitizers which must be the first libraries.
renamed SSIZE_T to JSSIZE_T to avoid MSVC clash, removes some ugliness
from sysdep.h and removes problem building with mingw (work in progress)
win32/mingw: add len arg to win32.c getcwd call
fix signature for scandir jscandir in WIN32 branch
remove couple of complaints when building with MSVC vcvars64
(in MSVC read/write 3rd arg remains unsigned int, not size_t for
both vcvars32 and vcvars64). fprintf format complaint in recover.c,
spawnve complaint in proc.c
lowercase jjove.ico works for both native and mingw cross.
commit 0ff14839ed1d4550d8441afa09e5e73820328fd2
Author: Mark Moraes <moraes@computer.org>
Date: Sun Apr 5 14:17:37 2020 -0400
4.17.3.7 added left-right scroll to the minibuf. this is
somewhat different logic than normal lines (does not use the
Scroll* variables) because, well, so much about the minibuf
is already so different from regular lines. Once it needs
to scroll, tries to give the prompt no more than half the
width (things like query-replace-search can have big
prompts) and keeps the curchar at approx 3/4 of the width.
Seems to look reasonable on both tiny and large screens.
Also fixed a couple of code indentation weirdnesses I
noticed in disp and reapp.
commit 796bdcc55214740db5fc77becf744b1bff45f074
Author: Mark Moraes <moraes@computer.org>
Date: Tue Mar 31 00:54:19 2020 -0400
4.17.3.6 put a '*' after the 6 digits of line number (if
number-lines-in-window is on) if buffer has more than a
million lines. Avoid recursion when formatting numbers.
calculate percentage without risk of overflow. Add note
that we avoid unsigned long because of ancient C compiler,
be nice if we could format it since we can then use it for
byte count, dot, etc (currently, io_chars e.g. as displayed
in the message after writing a file goes negative on 32bit
machines once one crosses 2GB of text, which can happen on
modern machines, though unlikely in files one normally edits)
commit b69684e31644db2c092337e5c233d5e0f37ff490
Author: Mark Moraes <moraes@computer.org>
Date: Wed Mar 18 00:14:15 2020 -0400
4.17.3.5 fix type promotion bug in my bno_to_seek_off macro,
results in bogus recovery and also some tmp file corruption
above 32K lines for short daddr (i.e. only on DOS or pdp11)
move DOS/WIN process.h inclusions to sysprocs.h and io.h to
externs.h for simplification (removes a warning)
Use EXIT macro everywhere that matters, defined as exit
or _exit based on USE_EXIT.
Updated README.{dos,w32} to proposed binary distributions
joveNNN{s,w,m,l}.zip
commit 8f16e4ec6ee90b36cda27815aab5db5b2dc6305c
Author: Mark Moraes <moraes@computer.org>
Date: Tue Mar 17 23:21:28 2020 -0400
deleted tbsearch.c, was a one-time test.
commit d9b7034bb91bc5a52ef3f2c6a52d6f468c3c3424
Author: Mark Moraes <moraes@computer.org>
Date: Tue Mar 17 23:20:55 2020 -0400
added test program for jbsearch for historical record
commit 0e3d0f56f35f47deafc1316157c22427eb87db97
Author: Mark Moraes <moraes@computer.org>
Date: Sun Mar 15 00:58:48 2020 -0400
Make jove -r work on Windows (better to exec/spawn it before we
mess with the terminal; plus windows wants P_WAIT, for some reason
P_OVERLAY does not work)
Added jamstrcat (strcat with size check, and safe for overlap)
utility function.
commit 4012090145ad5778fdf4c42927c6292cd7daf582
Author: Mark Moraes <moraes@computer.org>
Date: Sun Mar 15 00:56:40 2020 -0400
Fix to earlier 2a256983c9d4026c5745f4ea333d9140f9a6c24a
commit, to leave buffers with null file names (e.g. Main)
alone during read.
Added proto decls for callbacks that MSVC seems to need
(and fix one from ptrproto to proto)
commit 3423a19158769f6fa5b167b45e101469a953e0c7
Author: Mark Moraes <moraes@computer.org>
Date: Sat Mar 14 16:46:13 2020 -0400
Cord has been using LG_JBUFSIZ of 14 for Debian for a while
anyway, seems a good time to bump this default to 15 (i.e.
32K, so max linesize is now that). It's 2020, VM on
machines with >1GB of DRAM is the norm, I think a 2MB
b_cache footprint for Jove is now quite acceptable. (Non-VM
machines almost certainly need to use JSMALL anyway, or can
override this).
commit ba7736ce73911589c541f85afd067ac5876646f9
Author: Mark Moraes <moraes@computer.org>
Date: Sat Mar 14 16:44:39 2020 -0400
removed the S_ISREG(m) macro hack and replaced with the
underlying (m&S_IFMT) == S_IFREG idiom since that is in
other jove code already.
commit 2a256983c9d4026c5745f4ea333d9140f9a6c24a
Author: Mark Moraes <moraes@computer.org>
Date: Sat Mar 14 15:55:13 2020 -0400
4.17.3.4 Fixed issue noted by Adam Sjøgren, that a
buffer with truncated lines can still be saved to the
original file, which seems bad (fairly sure I've made that
mistake at least once, accidentally starting a compile-it
and saving files with truncated long lines that I had not
noticed, or hadn't yet fixed). This change puts a temporary
filename #FILENAME+~ on the buffer and marks it as SCRATCH
(if new) till the read successfully finishes, switches the
read to bail out on a Long line. insert-file changes the
name but but does not mark the buffer scratch. shell
processes stop at the long line as they used to (arguably
also a bug that should be fixed, but that would require
folding or truncating the lines -- I vaguely remember a fix
that did that, anyone recall?)
commit b09a9a05b0aa49d187cc0a7e993e7b6734755acb
Author: Mark Moraes <moraes@computer.org>
Date: Sat Mar 14 15:48:43 2020 -0400
may be gratuitous, but seemed pretty low-cost to protect
truncstrsub from overlapping copies, for safety/consistency
with jamstrsub. (One day, I'd really like to change all
strcpy to jamstrsub, maybe rename it to jstrcpy, since
copying to fixed-size buffers without size checks just
creeps me out, I don't feel at all confident we can always
get them just right by reasoning about them)
commit 35dc21ae366f128e54a610af38e6d4af110b1c3b
Author: Mark Moraes <moraes@computer.org>
Date: Sat Mar 14 01:53:30 2020 -0400
4.17.3.2 Build recover on Win32, couple of tweaks to make it work.
Fix Makefile.wat setmaps target that I broke in previous commit
Use bsearch for commands instead of the single character
hash, should be fewer steps for most common commands, since
distribution is not even by character. Also use it for vars
(has jbsearch for older systems)
Added jove-features (read-only) variable with a
colon-separated list of feature tokens, and an ifvar
directive for joverc to use that, so can keep the same
jove.rc file and not get errors on different platforms.
probably useful for bug reports too.
commit 222bda4921ded2795124ea9c2f4e74aa51a27e2a
Author: Mark Moraes <moraes@computer.org>
Date: Sun Mar 8 00:27:02 2020 -0500
removed negative line number bug from README
commit ec656ce154f0994296368499687fa33b6511c2b3
Author: Mark Moraes <moraes@computer.org>
Date: Sun Mar 8 00:06:47 2020 -0500
4.17.3.1 annotated error and len_error as NEVER_RETURNS too
added /* NOTREACHED */ comment after those and a bunch of complain calls
commit fa51970657fd31496f7c9f934d410da49c38478c
Author: Mark Moraes <moraes@computer.org>
Date: Sat Mar 7 23:15:45 2020 -0500
4.17.3.0 better version of NULLPROC/cmdproc_t initialization from Hugh
Found and fixed couple more such complaints (from resetsighandler)
Fixed couple of innocuous gcc complaints about uninitialized value
(only if chr_to_* complains)
commit 0966d6f4c750e618f7baf31759b5e560951125eb
Author: Mark Moraes <moraes@computer.org>
Date: Wed Mar 4 16:23:34 2020 -0500
recover.c: some machines off_t is long long, so cast correctly for debug printf
wind.c: downcast long arg_val to int for grow/shrink, should be safe (int can
hold the increment we plan to grow/shrink a window by)
commit 8b93a409a987e553d584e53cc85bad8b44f08780
Merge: 3f0c245 d76b939
Author: Mark Moraes <moraes@computer.org>
Date: Tue Mar 3 22:32:43 2020 -0500
Merge branch 'long-line-num' into moraes
commit d76b9390c0f790b417ebbe81ebcd85150cb92b44
Author: Mark Moraes <moraes@computer.org>
Date: Fri Feb 21 00:49:31 2020 -0500
4.17.2.9 try to use long for line numbers, so we do not see negative
line numbers on platforms where int is 16bit, and can use
arg > 32K to move forward, backward lines/chars/words, or goto
line numbers.
JLGBUFSIZ is now LG_JBUFSIZ to match other LG* constant names.
Simplified blkio indirection and check lseek in tmp file for error.
Improve tmp file too large message to show some numbers to
help with understanding.
Move a few constants from sysdep.h to jove.h to be with similar
things, and vice-versa (so most JSMALL settings are in one block
in sysdep.h). Rename CHAR_BITS to CHAR_BIT so we use the standard
manifest if avail.
commit 8601ea19036fd3dc8b54589c4cc4fb71eca7907e
Author: Mark Moraes <moraes@computer.org>
Date: Sun Mar 1 19:16:23 2020 -0500
4.17.2.8 DOS + recover cleanup
rename SMALL manifest to JSMALL to reduce confusion with DOS
memory mode. make MAXCOLS small (132) if JSMALL is defined
recover cleanup: record JLGBUFSIZ and LG_CHUNK_SIZES to in
header. compiles on DOS with OWC, some int -> long and
other related fixes to make it work. tmpfile names now 8 chars.
handle short reads of tmpfile more gracefully because
there are some bogus daddrs in recfile when we reach out
of memory (bug in rec or insert.c code, perhaps?)
make recover header a bit more portable/robust across
different configs of jove by storing more info in RECMAGIC
and using only long rather than a mix of types. In
principle, this opens the door to restoring rec files from
any config of jove with the same program.
move -D earlier in jove main so we can emit debug in
functions called earlier. Add -D to recover so we can debug
it more easily.
define FULL_UNISTD for OWCDOS, it seems well-prototyped
mention jove-users at freelists
commit 3f0c24580ceda849cf2607f7a281c7cf76884681
Author: Mark Moraes <moraes@computer.org>
Date: Sun Mar 1 19:16:23 2020 -0500
4.17.1.8 DOS + recover cleanup
rename SMALL manifest to JSMALL to reduce confusion with DOS
memory mode. make MAXCOLS small (132) if JSMALL is defined
recover cleanup: record JLGBUFSIZ and LG_CHUNK_SIZES to in
header. compiles on DOS with OWC, some int -> long and
other related fixes to make it work. tmpfile names now 8 chars.
handle short reads of tmpfile more gracefully because
there are some bogus daddrs in recfile when we reach out
of memory (bug in rec or insert.c code, perhaps?)
make recover header a bit more portable/robust across
different configs of jove by storing more info in RECMAGIC
and using only long rather than a mix of types. In
principle, this opens the door to restoring rec files from
any config of jove with the same program.
move -D earlier in jove main so we can emit debug in
functions called earlier. Add -D to recover so we can debug
it more easily.
define FULL_UNISTD for OWCDOS, it seems well-prototyped
mention jove-users at freelists
commit 0a5e0ff4649c5fa9bcbea54873bcdcfbc90c6206
Author: Mark Moraes <moraes@computer.org>
Date: Thu Feb 27 16:57:52 2020 -0500
distrib target becomes tgz, jovedos.zip becomes zip and
makes joveVVVs.zip, distrib now makes both tgz and zip,
clean does not remove tgz, clobber removes tgz and zip
commit 3be5eb0f05f1caf2276a85e5b37bedde163f3e08
Author: Mark Moraes <moraes@computer.org>
Date: Tue Feb 25 00:59:14 2020 -0500
4.17.2.7 Since -DLinux is default in Makefile, make TERMCAPLIB be -lncurses
to match. That's a better default for most modern systems.
Fix Makefile.wat to have bigger stacksize, needed for -ml. Added -os
for default (which shrinks code slightly, but still not enough for -ms to
work, sorry)
Tried to skip failures for jove.rc on commands that might not exist.
Use -D command-line option rather than JOVEDEBUG env var for debug filename,
avoids security hazard. Hugh cleanup of jdprintf. Add some missing newlines.
Put F_LOCKED on debug file so it doesn't get trashed. Print pid as long.
Some cleanup of portsrv (takes --kbd as arg 1 to make it easier to run
from shell for testing, fix signal handling for linux so kbd restarts
correctly) Add RETRY_ERRNO macro to simplify (and not miss) all the places the
retry-after-syscall is needed.
jtc needs select, just make it non-conditional to help me
build it under travis on more architectures.
commit b1d6aac94aefba38b07460161ac3a45ab270e7de
Author: Mark Moraes <moraes@computer.org>
Date: Sun Feb 23 12:42:46 2020 -0500
per Hugh, missing space before opening paren
commit f89cde8132df58dbbe61947cd5a658568cb0b33a
Author: Mark Moraes <moraes@computer.org>
Date: Sat Feb 22 01:27:08 2020 -0500
looks like all homebrew invocations need the update first, till
https://github.com/travis-ci/packer-templates-mac/pull/13
makes it to production.
simplified getconf logic to reduce chance it gets forgotten or copy/pasted.
commit 67b24b81c5dc6dd83064d174e8f9b79e6dd6c258
Author: Mark Moraes <moraes@computer.org>
Date: Sat Feb 22 01:13:59 2020 -0500
travis (well, yaml) does not like tabs, sigh
commit d95f12d65ea36386199c4322c8f842602fe24b3d
Author: Mark Moraes <moraes@computer.org>
Date: Sat Feb 22 01:08:55 2020 -0500
fix travis indentation for homebrew, added flag that Darwin needs
commit c27bb4b3b1055926376a1b63bfc5db21f3a7b21f
Author: Mark Moraes <moraes@computer.org>
Date: Sat Feb 22 00:52:52 2020 -0500
4.17.2.6 doc cleanup, removed email addresses in favor of github
more travis cleanup, re-tested on alpine, fedora, gentoo, openindiana, *BSD
rearranged test builds a bit
Makefile quiet zip chatter
OpenIndiana/Solaris compiler does not like promotion from
void* to pointer-to-function, so added some typedefs and
*NULLPROC definitions to quiet it down in commands.tab,
disp.*, screen.*, setmaps
ttystate.h simplified an ancient SUNOS4* ifdef
commit 93b835ea412fd100c98e82765aa728a1dd6bb73b
Author: Mark Moraes <moraes@computer.org>
Date: Fri Feb 21 19:31:05 2020 -0500
odd "Error: Unknown command: bundle" error from homebrew,
trying workaround proposed in
https://travis-ci.community/t/macos-build-fails-because-of-homebrew-bundle-unknown-command/7296/13
commit 9524fec978b38167b252c2dd7973a56ac422431f
Author: Mark Moraes <moraes@computer.org>
Date: Fri Feb 21 17:30:55 2020 -0500
still fixing .travis.yml!
commit 335f3e2e02efcfb778752e0b3c12c108a78f069d
Author: Mark Moraes <moraes@computer.org>
Date: Fri Feb 21 17:12:35 2020 -0500
.travis.yml fix mktemp portability quirk for old xcode, specify apts for jobs.include linuxes
commit d5df0cf29d58f17cfa65290444077c74ff3b0792
Author: Mark Moraes <moraes@computer.org>
Date: Fri Feb 21 16:44:46 2020 -0500
forgot to change one Makefile name
commit 502392783dcde9f9ade4c87d8722eb9516515956
Author: Mark Moraes <moraes@computer.org>
Date: Fri Feb 21 16:40:20 2020 -0500
Makefile: fix install dependencies so that -j works correctly.
.travis.yml: try real gcc on osx, plus newer and older linux/osx images.
Makefile.wat, sysdep.h and README.dos: describe medium vs large
executables
commit 00f751a50ab23c565a860d56e0702fcc4a2b6b4d
Author: Mark Moraes <moraes@computer.org>
Date: Fri Feb 21 00:53:06 2020 -0500
4.17.2.5: Use long for buffer-position line calculation, so
can show more than 32K lines correctly on OWCDOS. This is a
small localized change, and does not resolve the bigger
issue that Jove uses int for line number calculations, which
goes wrong in OWCDOS, which uses 16bit ints, so after 32K
lines, number-lines-in-window starts showing negative line
numbers. Fixing that, and goto-line (or arg-count) is a
more extensive patch, debatable whether it is worth the
change (large files are rare anyway, particularly on DOS,
and does JOVE have enough usage on DOS to make this worth
it?). With medium model, Jove can handle about 48K lines
(around a 2.1MB file), and is pretty slow at that point.
With large model, it handles only 31K lines (about a 1.4MB
file), because we give more data space to the Jove buffer
cache for increased speed.
default UNIX to USE_GETWD if nothing else defined.
commit 7ec53195363f98499340502a1b8a94add264a293
Author: Mark Moraes <moraes@computer.org>
Date: Fri Feb 21 00:51:38 2020 -0500
per Hugh comment, Changed WATCOMC define OWCDOS so it is
clearer that it is our symbol and only for DOS, not a
compiler pre-def.
commit 7a73b8d45fe6836ef0e273bf3e8979f848fc1cff
Author: Mark Moraes <moraes@computer.org>
Date: Fri Feb 21 00:13:00 2020 -0500
added note about memory models to Makefile.wat
use FAR_LINES for all models in sysdep.h even if SMALL is not defined.
commit f6a63db7f0dc1bfacb8cd593082afd17c0f2dd3f
Author: Mark Moraes <moraes@computer.org>
Date: Fri Feb 21 00:06:17 2020 -0500
fix Hugh comment re: SunOS, so this will complain on SunOS4
(who runs it now?!), and automatically add -DGRANTPT_BUG on
SunOS5.0 (who ran it for more than a few minutes after
SunOS5.1 came out?! Yes, I remember both SunOS4.0 nd 5.0
quite well, I still get nightmares about them...!)
Add comment re: /usr/gnu/bin/install for modern Solaris/OpenIndiana
commit 8769d7664ae167645ba0dd6a666924879cd79b00
Author: Mark Moraes <moraes@computer.org>
Date: Wed Feb 19 20:58:34 2020 -0500
body on next line of if, per Hugh
commit 6791a128dbc329b7f00b92890c445d4fa6f32593
Author: Mark Moraes <moraes@computer.org>
Date: Tue Feb 18 23:16:57 2020 -0500
4.17.2.4 removed tags from all target, only needed for distrib and
jovedoss.zip
commit 02ca8173d987be68fababc748a33b721e35bcf60
Author: Mark Moraes <moraes@computer.org>
Date: Tue Feb 18 00:35:17 2020 -0500
make travis now works on OpenIndiana (which really needs REALSTDC to work)
commit f3c70d3c43dc91d5f1558473b72c53f8cfd087ba
Author: Mark Moraes <moraes@computer.org>
Date: Tue Feb 18 00:16:04 2020 -0500
further travis script fix (trying to see if 'make travis' works on
platforms other than those available on travis-ci to make my
virtualbox/docker testing easier
commit 7058d46080e60cfcacd8ae4f3d53f1e4d0b9dd33
Author: Mark Moraes <moraes@computer.org>
Date: Tue Feb 18 00:13:13 2020 -0500
further travis tweaks
commit 9ffbacd3e03e95e4850ab8fa0237ab24c830d593
Author: Mark Moraes <moraes@computer.org>
Date: Mon Feb 17 22:28:17 2020 -0500
another travis tweak
commit 8f2d6dc0d2d3af17d7b5498e661564a670fa55be
Author: Mark Moraes <moraes@computer.org>
Date: Mon Feb 17 22:06:36 2020 -0500
have to turn set -u back on, since travis post-script functions break, sigh
commit 6a45834003d06f9a7e30f5f196ea4733028ef011
Author: Mark Moraes <moraes@computer.org>
Date: Mon Feb 17 21:44:48 2020 -0500
4.17.2.3 fix -DSMALL daddr/s_id ugliness, plus minor tweaks
exposed by some of the new travis variants.
travis: no need to use gcc+clang (they are the same thing on
OS X by default, so rely on OSX for clang coverage, and
Linux for gcc coverage, reduces build matrix)
test some variants only on Linux for coverage (GLIBCPTY
which mimics CYGWIN, and BSDPOSIX)
Added 'make travis' target to try the travis script on local machine.
commit 5b998c89d148fe1282dd7372eaeb78310b03702b
Author: Mark Moraes <moraes@computer.org>
Date: Mon Feb 17 12:56:51 2020 -0500
added .version, *.zip and some patterns for typical debris to .gitignore
updated Makefile with 'make depend'
updated .travis.yml to build a couple more variants, made it multiline so
easier to read
check Makefile works right without cmp
commit f57a5d8da644abe1fab04a9a08a29268f257a435
Author: Mark Moraes <moraes@computer.org>
Date: Mon Feb 17 02:07:00 2020 -0500
added ctags dependency to .travis.yml
commit 18366d49bada3cc242928eef22267188df78ffc0
Author: Mark Moraes <moraes@computer.org>
Date: Mon Feb 17 02:00:59 2020 -0500
4.17.2.2 builds on dosbox with Open Watcom 1.9.0
OW is fussy about char declarations for old-style function params,
switched those to DAPchar (only a handful, gcc seems ok with this)
ifdef out environ declaration (conflict with type) and exec*
(usual confusion with consts not matching our interpretation of POSIX)
Much fiddling with Makefile and Makefile.wat and Makefile.msc.
Moved sysdepo.h to old/sysdep.h and Makefile.{bcc,zor} to old/
renamed paragraph.[ch] to para.[ch] to get rid of 8.3 hackery
Made WIN32=1 default for Makefile.msc (it does not build for DOS,
and I don't have the energy to figure out if that's even possible,
it blows a type size assertion in the Windows headers.
Updated README.dos to reflect current state.
Cleaner X_OK hackery (define J_X_OK rather than redefining X_OK)
Keep tags for PC jovedoss.zip, helpful when looking at src there
(reduces need for distribs to have ctags). tags cleanup moved
to clobber target.
commit 72a05b6423a59651635e4b9e1669a29af457bc52
Author: Mark Moraes <moraes@computer.org>
Date: Sun Feb 16 18:10:47 2020 -0500
4.17.2.1 addition: switched default Makefile OPTFLAGS back
to -O so this does not blow up on non-gcc/clang platforms
avoid fc31 gcc complaint re: ambiguous else.
update jove.rc.in to avoid colors in i-shell busybox (e.g. alpine)
commit 7eb35f8dda8af2dd0fafccfde7f8dded9fe767d1
Author: Mark Moraes <moraes@computer.org>
Date: Sun Feb 16 18:01:16 2020 -0500
4.17.2.1 now works on openindiana (solaris) hipster x86_64
2019.11 (tested on the console in virtualbox)
define NULL to 0 to avoid OpenIndiana (and likely other
Solaris) complaints from initializing with their own
NULL which is defined to (void *)0.
cleanup of child iproc debug
improve the logic for dup and close of slvptyfd
I was clearly over-enthusiastic about CLOEXECs, since
dup2 (on Solaris) copies the flag (Linux seems not to?)
so I undid some that seem wrong in hindsight.
important for OpenIndiana (likely many Solaris or SunOS5
or SYSVR4): ioctl TIOCSCTTY fails with ENOTTY, so cannot
exit the child on that error, have to ignore it (this
check was added 4.16.0.31, used to 'correctly' ignore
that error return before .31, sigh! It's 2020 and ptys
are still a portability nightmare)
commit ff064e0dbad9a00c59e3e83c01747234b9423752
Author: Mark Moraes <moraes@computer.org>
Date: Thu Feb 13 14:46:33 2020 -0500
4.17.2.0: found and fixed the causes of shell-command
crashes on WIN32; one is that access(file, X_OK) with X_OK
== 1 (the traditional/historical value) crashes. Set X_OK
to F_OK for MS platforms. After that, the close/dup
sequence to restore fds crashes (no idea why, just switched
them to dup2 and it worked), switched spawnv to spawnve
while I was at it so proc-env vars get passed through.
commit cc795b7c76b01b4fc7759c87eb050f00a9151af2
Author: Mark Moraes <moraes@computer.org>
Date: Thu Feb 13 14:42:13 2020 -0500
remove old files before redirecting onto them so that CYGWIN
bug on vbox shared folders does not bite.
commit cbcb072c900e7efd22e52fd2ed88130ac75ec679
Author: Mark Moraes <moraes@computer.org>
Date: Wed Feb 12 23:25:11 2020 -0500
4.17.1.11: to catch .gitattributes (deleted pre-release 4.17.1.10)
commit 6d3d348a53bad852c81acb7458b5cdf5c7652a08
Author: Mark Moraes <moraes@computer.org>
Date: Wed Feb 12 23:21:32 2020 -0500
added .gitattibutes to exclude stuff from the github tarball
commit 60a9cff1fb98c460fae513fdca96dbcd42e34eb7
Author: Mark Moraes <moraes@computer.org>
Date: Wed Feb 12 22:42:19 2020 -0500
4.17.1.10 Removed afxres.h and resource.h and references to
them from jjove.rc, they do not seem to be needed by Visual
Studio 2019. MSVC also complains about exec* prototypes,
like the comment said for Zortech and Borland, added
_MSC_VER to that ifdef. Now builds cleanly on WIN32, but
still crashes on subshell (push-shell works)
Fixed weird and severe problem with Cygwin and VirtualBox
saving files: open(...O_TRUNC) does *not* truncate a file
that is on a VirtualBox shared folder (which is where I
build jove src), so saving a file after deleting a few
chars/lines results in old debris since it still stays the
original size. open(O_TRUNC) works as expected on local
disk. Windows open(O_TRUNC) works fine on both local disk
and file in vbox shared folder. ftruncate works on both
too, so added a redundant ftruncate after open(O_TRUNC) with
an O_TRUNC_BROKEN manifest. (I have a test program to
reproduce, will file a Cygwin bug report, not clear if this
affects all network folders or just vbox, I suspect the
latter else others would have noticed)
Hit an infinite busy wait on pty a couple of times (EIO on
IO_NEW pty ad nauseum in jdbg output), seems bad to have
that risk (which the comment points out), added the pty
creation time to the struct process, and eof after a few seconds.
commit 301d3978f6b62de2c4f3885ba6763fc4d5b7f47b
Author: Mark Moraes <moraes@computer.org>
Date: Tue Feb 11 09:31:16 2020 -0500
added check that my new spell-command-format only contains
one %s and no other % specifiers, so user error will not
trash memory or crash jove.
commit 9bef4a1b44ea03f286b276cb9f87355d128822cd
Author: Mark Moraes <moraes@computer.org>
Date: Mon Feb 10 22:03:18 2020 -0500
4.17.1.9 move aspell to FreeBSD, since NetBSD and OpenBSD have spell.
Also enable aspell for CYGWIN.
commit 8aa57e59b52ac5705dd96205b46537801b3db534
Author: Mark Moraes <moraes@computer.org>
Date: Mon Feb 10 21:44:42 2020 -0500
*BSD also has aspell, added to XBSD definition
commit 6ed0fbdb7b2da2680ab0b8e41c14798373bf3b8e
Author: Mark Moraes <moraes@computer.org>
Date: Mon Feb 10 21:32:58 2020 -0500
4.17.1.8: move various doc/jove.rc defauls (process-prompt,
allow-^S-and-^Q, mode-line, disable-biff, pause-jove binding
to ^[s ) to the code, they've been in doc/jove.rc for so
long they can now be considered official, it reduces the
number of weird differences when one just starts up the
binary without SHAREDIR installed or for test.
also leave allow-^S-and-^Q on for vt100. I refuse to
believe any such real terminals are operational and used for
Jove, but far more terminal emulators (e.g. NetBSD console!)
claim to be vt100.
update ModeFmt and MAX_TYPEOUT to new MAXCOLS to support the
sort of wide-terminal that I suspect most of us now use. I
think jove can afford the couple of hundred extra bytes
(and when ported back to the PDP-11, MAXCOLS can be set lower,
we can accept that fix when it is tested)
commit 3bd5eafa75b6407a8930116b705392919d2c9a96
Author: Mark Moraes <moraes@computer.org>
Date: Mon Feb 10 21:12:54 2020 -0500
Created spell-command-format variable, define it as aspell
on Linux and *BSD, switch the SPELL manifest to the default
value, documented. Seems to work. AFAIK, the old spell
compatibility wrapper hasn't been shipped on most modern
platforms. (Admittedly, it's been a very long time since I
used spell to check my thesis, but felt bad it wasn't
working when I tried it)
commit e8d6b5690ff603d1c0b2efa6a7b88019ede38f2f
Author: Mark Moraes <moraes@computer.org>
Date: Mon Feb 10 21:09:05 2020 -0500
address-sanitize reported another overlapping strcpy, seems
safest to make jamstrsub work for overlapping copies
by calling memmove (it already has the string size),
used byte_move() macro for portability and got rid of
the ifdef around memmove in disp.c by making that a
byte_move as well. Left mac.c alone, that already has
memcpy and probably isn't going to ever be compiled
again (please feel free to prove me wrong)
#1 0x42cc7d in strcpy /usr/include/x86_64-linux-gnu/bits/string3.h:110
#2 0x42cc7d in jamstrsub /home/moraes/src/jove/github-jonmacs/jove/util.c:698
#3 0x44ca1f in setsearch /home/moraes/src/jove/github-jonmacs/jove/reapp.c:45
#4 0x44ca7d in search /home/moraes/src/jove/github-jonmacs/jove/reapp.c:64
#5 0x44ea6b in ForSearch /home/moraes/src/jove/github-jonmacs/jove/reapp.c:82
commit 314dc659b3db18d1ae8a332d576e1bb96010b3e1
Author: Mark Moraes <moraes@computer.org>
Date: Mon Feb 10 21:02:43 2020 -0500
Fix memory leak in recover.c reported by leak-sanitizer
commit db8e23cdcafa29f022f035f61008a0ce3030f110
Author: Mark Moraes <moraes@computer.org>
Date: Mon Feb 10 20:56:50 2020 -0500
Only remove formatted docs, generated jove.spec and jove.rc
to on clobber, not clean. That ensures that a tree sent via
distrib to a PC/Windows won't result in missing docs when
one does 'make clean'. Fixed mis-documentation re: PORTSRVINST.
commit 4624e456a187afe169824704ec34e4d20bb70ac8
Author: Mark Moraes <moraes@computer.org>
Date: Mon Feb 10 20:54:22 2020 -0500
setting DEBUGCRASH had the unfortunate side-effect of
causing ^] to exit jove immediately (SIGINT), and I hit that
sometimes when going for ^\ (since I grew up on a terminal
where ^S was XON!) Since the main reason for DEBUGCRASH is
to catch SEGV, BUS, etc, seems like HUP, INT, TERM should
always be honored, moved those outside the ifdef.
commit 045b93977330a93513dd483d2b56f63ed8e9b257
Author: Mark Moraes <moraes@computer.org>
Date: Sun Feb 9 12:50:30 2020 -0500
4.17.1.7: removed redundant ifdef in proc.c since no real in
the signal handling code for vfork and fork anymore (who
knows if it's correct anyway), moved comment to vfork invocation.
Ensure that environ is not changed in child (which might/will affect
parent in the vfork case). Tested USE_VFORK briefly with Linux,
seems to work for minimal testing.
Added define for FreeBSD and OpenBSD in sysdep.h to save
typing build flags, juse use
make SYSDEFS=$(uname)
Moved all historical definitions that are not currently
tested to sysdepo.h (not included or used anywhere)
Updated notes in Makefile, sysdep.doc, sysdep.h
commit 8ed270b1e3125ab87bc0dc63f660d3e73bef1a1e
Author: Mark Moraes <moraes@computer.org>
Date: Fri Feb 7 19:33:59 2020 -0500
4.17.1.6 add TIOCGPTPEER for newer Linux (e.g. Alpine 3.9.4) which does
not correctly set up pty (or ends up with wrong/bogus slvptyfd) without it!
commit 8f28956f7eb6f4041471f215d0967a90d0d0e3ea
Author: Mark Moraes <moraes@computer.org>
Date: Thu Feb 6 09:12:04 2020 -0500
4.17.1.5: cleanup of portsrv so that
echo ls | ./portsrv.exe /bin/sh sh -is
and
echo ls | ./portsrv.exe kbd
seem to work rather than hang. pipeprocs still does not fully work on
cygwin (neither does ptyprocs, TBD)
tweaks to test pipeprocs on linux and *bsd as well, as a fallback option
if (when?!) ptys fail, or just to keep an eye on portability to ancient
systems.
added a long-needed (IMHO) optional debug trace to jove in fmt.h,
the jdprintf function and jdbg macro. JOVEDEBUG environment variable
as a filename activates the debug logging -- at the moment, produces
a trace of twisty little maze of ifdefs for pty/iproc handling
(a mind-boggling portability horror show), which finally uncovered
for me that NetBSD (7.2, 8.1 at least) TIOCREMOTE does not work as Jove
expects (can I just say broken!), unlike other BSD siblings.
Added NETBSD define to sysdep.h with the helpful NO_TIOCREMOTE, thanks
to whichever kind soul (Hugh?) documented the breakage so clearly in
iproc.c.
Added CLOEXEC (attempt at robustness for modern systems after fork),
has portabiity #define that should work on ancient ones.
Use slvptyfd returned by openpty, seems better than relying on opening
the ttyname, though the latter did seem to work fine in *BSD. Maybe this
will help cygwin or netbsd, not sure.
Clarify 'Out of ptys' message so it will be easier to tell which branch
of code is failing.
separated currently tested SYSDEFS from uh, historical artifacts in Makefile
update .gitignore with generated formatted docs
commit 98e7cba8e312fc7f40a3edcb0342e8d58b56e745
Author: Mark Moraes <moraes@computer.org>
Date: Sun Feb 2 01:25:44 2020 -0500
4.17.1.4 Makefile.msc clean works, WIN32 has own getcwd. builds on
MSVC 2019 Community Edition, but shell-command still crashes.
PIPEPROCS compiles on Cygwin but crashes jove on startup.
PTYPROCS compiles on Cygwin but hangs in openpty, sigh.
commit 35905957a4d1763037ff014e32a014dee2017926
Author: Mark Moraes <moraes@computer.org>
Date: Sat Feb 1 23:59:37 2020 -0500
4.17.1.3 fix typo in sysdep.h XBSD for Darwin Mac OS X
move popd ahead in doc/jove.rc.in
build doc/jove.rc for all
commit 0b9729e6bdbd9983c16e04fd1782f84f05084041
Author: Mark Moraes <moraes@computer.org>
Date: Sat Feb 1 23:17:36 2020 -0500
4.17.1.2: rename README.c32 to README.cyg and update for latest Cygwin
(generally works on both CYGWIN64 and CYGWIN32), update README*.
Move DispDefFs outside F_COMPLETION ifdef to match vars.tab, -DBAREBONES
now compiles
make extern declaration of getcwd unconditional, should be safe, and
removes a complaint when building -DBAREBONES
fix portsrv to detach from controlling terminal, so it works
on Linux (for testing PIPEPROCS; the machines that one
needed portsrv for presumably never had job control or
controlling terminals?)
added a matching RECOVER ifdef in jove.c to get rid of another
complaint when -DBAREBONES
ifdef to protect WIFSTOPPED in sysprocs.h, avoids complaints when
-DBAREBONES
remove jjoveico.uue and check in jjove.ico since git can handle binary
files, unlike RCS, simplified Makefile to not need uudecode.
Save formatted docs in distrib
commit c404593b9eb6c1323e3f11296483e29310c524ab
Author: Mark Moraes <moraes@computer.org>
Date: Thu Jan 30 15:08:54 2020 -0500
4.7.1.1 tested on Cygwin 3.1.2, updated docs.
commit 42a4eb3489e4c99b32d1cc97883243a3e97c6b86
Author: Mark Moraes <moraes@computer.org>
Date: Thu Jan 30 14:38:27 2020 -0500
4.7.1.0 changes to build on Windows with MSVC 10.x. builds and mostly works (attempt to run shell command crashes)
rename min, max to jmin, jmax, ReadOnly to BReadOnly, and
undef CR before including windows.h to avoid clashes with MS
macros or field names, sigh!
move back to putting jversion in version.h (simpler for DOS/Windows)
remove attempt at using git describe
remove all targets and doc mentions of zoo format since zip
is now ubiquitous
use wsprintf instead of sprintf in win32 (MSVC libc
apparently no longer provides sprintf by default)
commit e409235d03eb1da27b9e93635d76338425c5a165
Author: Mark Moraes <moraes@computer.org>
Date: Tue Jan 28 09:28:10 2020 -0500
4.17.0.9: fix stropts for latest Fedora/Arch, /etc/jove/jove.rc
Cord requested a per-host jove.rc (jove already had a jove.local
in sharedir, but that could be system-wide). Moved doc/jove.rc to
doc/jove.rc.in, substituted ETCDIR (which defaults to /etc/jove),
updated rpm package.
Tested rpm on latest Fedora Docker image I could find (FC31),
and discovered that it (and latest ArchLinux docker image) don't have
stropts.h and do not define _XOPEN_STREAMS so added an if defined()
check, now builds clean.
Makefile fix to handle the situation of building in a brand new
docker (i.e. no ~/rpmbuild directory to copy src into until one
runs rpmbuild, chicken-v-egg) While at it, prefixed the
DESTDIR variants of (SHARE|LIB|BIN|...)DIR with D to detect
avoid mistakes from using old command lines.
rpm built and installed and worked in Fedora FC31 smoothly.
I'll see if I have the energy/patience to produce a PKGBUILD
for Arch pacman...
commit 8d22ba1d8e1b0d8a7b915b8de271f71512af9e99
Author: Mark Moraes <moraes@computer.org>
Date: Mon Jan 27 13:19:26 2020 -0500
4.17.0.8 fix a small irritation - if one runs (with
compile-it or shell-command) a script that one is editing,
jove wants to overwrite the scrpt source (it prompts, but
only offers the option to overwrite the src buffer). So put
asterisks around names of process-output buffers, to match
*minibuf* and *shell* to reduce the chance of a collision
commit 440b451af0b71cce78dcd7e6090749199b647229
Author: Mark Moraes <moraes@computer.org>
Date: Mon Jan 27 13:18:09 2020 -0500
4.17.0.7 typo in TMPDIR when renaming, so empty string in paths.h, fixed.
commit 88aacef72465a2ea78282336f9a4a87505ee0829
Author: Mark Moraes <moraes@computer.org>
Date: Sat Jan 25 22:04:02 2020 -0500
travis homebrew update seems to take a long time, try without it
commit b5b09391d96b50afe227ab72602126c82bb61569
Author: Mark Moraes <moraes@computer.org>
Date: Sat Jan 25 22:00:23 2020 -0500
need groff for some travis environments
commit 586ead6202ef045ebcf00cf18e6505b7ae700dd1
Author: Mark Moraes <moraes@computer.org>
Date: Sat Jan 25 21:57:47 2020 -0500
fixing travis script
commit a24407f72cb94e8d1aa317927d645b0ce80517f9
Author: Mark Moraes <moraes@computer.org>
Date: Sat Jan 25 21:39:59 2020 -0500
added .travis.yml to try some continuous-integration test builds.
commit 99665b8e7fbdaded198efb5fbb40258a6eb670c1
Author: Mark Moraes <moraes@computer.org>
Date: Sat Jan 25 18:57:41 2020 -0500
4.17.0.6: can now use
make rpm
to build an rpm package, tested on CentOS7.4 (other Fedora or
RedHat testing needed)
commit 33f1658f55419833bd56a49d44cea30a8a4fa8cb
Author: Mark Moraes <moraes@computer.org>
Date: Sat Jan 25 16:34:45 2020 -0500
4.17.0.5 fix version code to not duplicate version if that is the git tag
commit b55bde96f77fc95a976fd9f7c00cbe2f4d31a374
Author: Mark Moraes <moraes@computer.org>
Date: Sat Jan 25 15:53:44 2020 -0500
added jtc.c to C_SRC in Makefile
commit e194676383e3e9fde8b2c457643239caa710833f
Author: Mark Moraes <moraes@computer.org>
Date: Fri Jan 24 22:34:06 2020 -0500
4.17.0.4: fixed -Wformat-overflow in teachjove.c, made exit
status positive numbers, errors to stderr.
commit de380c334a3348f72427d874af12d7a844ddcf30
Author: Mark Moraes <moraes@computer.org>
Date: Fri Jan 24 21:53:05 2020 -0500
4.17.0.3: use -Wall -pedantic in default OPTFLAGS (clang and
gcc support it; time to recognize that those are the
dominant two compilers)
Added LOCALEXTRALIBS variable and use it for setmaps
(so I could specify EXTRALIBS=-lasan -lubsan and test with
-fsanitize=address -fsanitize=memory)
Added XEXT to setmaps for consistency (how did this ever work
on DOS -- did we just ship keys.c?)
typo in sysdep.h. (Note that -DXBSD probably covers all
modern *BSD and Darwin, and -DXLINUX should probably cover
all modern Linux, no need for the longer -DSYSVR...)
fix sprintf buffer sizes so gcc 8.3 -Wall -pedantic
(actually -Wformat-overflow) stops complaining (now builds
on alpine with musl with clang 5 and gcc 8.3; also tested
with clang 8 on CentOS7, and gcc 5 on Ubuntu 16.04)
include errno.h (and optionally, stdio.h) in jove.h, to
solve an include ordering fiasco in recover and setmaps,
need tune.h to come first, so sysdep.h can specify _XOPEN_*
or other features, before including any system includes.
Adopt many of Cord's proposed changes from Debian package:
DESTDIR prefix for all paths
xjove/jovetool manuals not installed by default
create and set permissions on missing *DIR install dirs
switch to /var/tmp, it is not removed on reboot by FHS convention
so recover -syscrash is not really needed.
switch to groff options by default, who remembers ditroff!
typo in doc/jove.nr
commit 06e2a1d91a60d7cb7fcaa5889f7fe04d3545a486
Author: Mark Moraes <moraes@computer.org>
Date: Fri Jan 24 10:51:40 2020 -0500
4.17.0.2 Back out of the reset-tabs sequence in jtc, does not work well
on xterm and st (and konsole, per Paul Vixie)
Fix all -Wall -pedantic complaints from gcc 5.5.0 (Ubuntu 16.04)
declare dummy var in jtc so no complaints re: empty translation unit
remove unused env_malloced variable from util.c
(probably leftover, the real flag is in the Env struct)
check setuid return in recover.c
avoid sprintf in setmaps.c for trivial character formatting
(still need to avoid sprintf in recover.c and teachjove.c,
per clang complaints reported by Paul Vixie)
Author: Mark Moraes <moraes@computer.org>
Date: Thu Jan 23 23:01:00 2020 -0500
4.17.0.1: Cursory update for README, tweaked XBSD and XLINUX in sysdep.h
commit aecc4dc618e68a39d9e53da0e68cb1dd15a3170a
Author: Mark Moraes <moraes@computer.org>
Date: Wed Jan 22 21:16:34 2020 -0500
4.17.0.0 candidate
Some automatic version generation machinery in Makefile,
uses git --describe. Remove version.h, only place version
is specified is now Makefile, which generates jove.spec from
jspec.in, and puts jversion and jversion_lnum in paths.h,
which was already auto-generated, and can be used by
jjove.rc instead of version.h
Added LICENSE for general conformance/convenience (same as
boilerplate header for src) and moved version.h history
to ChangeLog, also more conventional
Updated jove.spec to github
make clean removes the xjove/.filelist and distrib created by make distrib
Removed bogus reference and docs for non-existent IPROC_TERM
jtc.c resets tabs on VTALT, avoids nastiness of some kinds if terminal
gets borked (Jove really likes using phystab of 8)
Updated .gitignore
5Acommit 41c658c11eedfbf2fc09f6559c03215f1e60aa98
Author: Mark Moraes <moraes@computer.org>
Date: Thu Jan 23 22:25:51 2020 -0500
Updated jove.spec to github
Clean removes the xjove/.filelist and distrib created by make distrib
Removed bogus reference and docs for non-existent IPROC_TERM
jtc.c resets tabs on VTALT, avoids nastiness of some kinds if terminal
gets borked (Jove really likes using phystab of 8)
commit 6d62c645b543bf2b7aebd85c62d001fa3dfba077
Author: Mark Moraes <moraes@computer.org>
Date: Wed Jan 22 21:16:34 2020 -0500
Some automatic version generation machinery in Makefile,
uses git --describe. Remove version.h, only place version
is specified is now Makefile, which generates jove.spec from
jspec.in, and puts jversion and jversion_lnum in paths.h,
which was already auto-generated, and can be used by
jjove.rc instead of version.h
Added LICENSE for general conformance/convenience (same as
boilerplate header for src) and moved version.h history
to ChangeLog, also more conventional
commit 586003424679800d75e78b534ef2bbcb61a705bd
Author: Mark Moraes <moraes@computer.org>
Date: Wed Jan 22 08:32:26 2020 -0500
ensure tune.h is first (move setjmp.h later) in jove.h
(which is first everywhere else) so that system header
features don't get defined, so we can now set
_XOPEN_SOURCE or other features in sysdep.h or tune.h
add XBSD and XLINUX to sysdep.h, for convenience on the two
most common platforms around today (Darwin and Linux)
commit 1c6e9a713069e190701307e661d464eb67d1d983
Author: Mark Moraes <moraes@computer.org>
Date: Thu Jan 16 17:38:22 2020 -0500
tparm argument order seems wrong, needs to be l, c,
since the definition for cm is %p1%d;%p2%d. tgoto is
opposite and is c, l, presumably historical weirdness.
commit 1de95ea776dd242f5d3acab8a0395388b609350c
Author: Mark Moraes <moraes@computer.org>
Date: Thu Jan 16 17:36:28 2020 -0500
UNIX may as well have MALLOC_CACHE set to 1, reduces
apparent bss size.
commit 5fbadda38f3b85ce71fb1acbc0c877d27e90d2a6
Author: Mark Moraes <moraes@computer.org>
Date: Thu Jan 16 17:16:50 2020 -0500
fix delay code and add flushscreen for vb to avoid
calling SitFor
commit 996592ed7947c985538a187bdba75ab6c19d443e
Author: Mark Moraes <moraes@computer.org>
Date: Mon Jan 13 14:46:12 2020 -0500
switch from putpad to putstr since it is putting
explicit escape sequences with no use of tputs syntax.
commit 91eec94450bcb591ec88de8b4d1d857386debd6b
Author: Mark Moraes <moraes@computer.org>
Date: Sun Jan 12 12:45:08 2020 -0500
vb contains padding delays like $<100/> on most modern
terminals (vt220, xterm) between the switch to reverse
video and back, so it needs to be output by putpad (i.e.
tputs), not putstr. On gnome-terminal (Ubuntu 16.04),
set visible-bell on and hit ^G, and jove will produce
$<100/> on the screen rather than a visual bell flash.
commit 972f056a2ddc0d523c12fa2f3b9b585046476ac9
Author: Mark Moraes <moraes@computer.org>
Date: Sun Jan 12 12:41:30 2020 -0500
Increase MAXCOLS from 256 to 512 (I get 300+ column
maximized xterms on my new 4K monitor)
commit 0ed38a00d06e4fb643bdfbcda9b963b291ac4f92
Author: Mark Moraes <moraes@computer.org>
Date: Sat Jan 11 00:21:24 2020 -0500
added jtc, which provides all the termcap/terminfo
functionality that Jove needs but is limited to ANSI
X.3/VT[1-5]xx/xterm/rxvt/... (does anyone run anything
else now) This avoids the small annoyance of the
termcap/terminfo/curses/ncurses/ncursesw external dependency.
commit 2fa2236ea50b22abc63e64b7532e0cc7e82db8a1
Author: Mark Moraes <moraes@computer.org>
Date: Sat Jan 4 22:55:04 2020 -0500
increase size of tspace, xterm pretty close to edge, and
some terms are over.
commit e8390bd82e0305174c53e924a3de99193ff2e04f
Author: Mark Moraes <moraes@computer.org>
Date: Sat Jan 4 14:11:52 2020 -0500
correct TERM from emacs to dumb in README and mention
{,i}proc-env* mention ncursesw and Alpine/docker note
Changed jovehacks to jovedev email
commit 3934215398c6cead35d23bc181adf13934bd0886
Author: Mark Moraes <moraes@computer.org>
Date: Wed Nov 18 14:31:30 2015 -0500
added proc-env-{export,show,unset} to match iproc.
changed jenvinit to more meaningful jenvdata. Fixed
Makefile to use LANG=C for nroff etc so that it does not
try smart hyphens (which break jove search)
commit 88fb4b035946c6c3f141b532181801378e17baa9
Author: Mark Moraes <moraes@computer.org>
Date: Wed Nov 18 02:37:28 2015 -0500
added iproc-env-{export,show,unset} commands to allow
setting or unsetting env vars before interactive
processes are started. Moved most code from
set_process_env() to doc/jove.rc and added a few from
jovedev email thread.
commit f5a5f9122946e9bddd803a7178bfba6b0883e9f4
Author: Mark Moraes <moraes@computer.org>
Date: Wed Nov 18 00:08:47 2015 -0500
Moved j{put,unsetenv}env from iproc.c to util.c, made
them externally visible, declared in util.h, generalized
them to take a ptr to an Env struct instead of modifying
global state, keep one of those Env structs as iproc_env
in iproc.c (preparatory to maintaining a separate one
for proc.c)
commit dbd3fe96fad7f3e3b77f763949b725e6930cdd5b
Author: Paul Vixie <vixie@fsi.io>
Date: Sat Mar 2 06:38:36 2019 +0000
patch from github jonmacs/jove strcpy branch
commit 2a6b24db99aa78351335583e133d1a970eeff583
very light strcpy audit, mostly to fix casey leedom report
[the strcpy in proc.c:344 is also reported by valgrind
==27906== Source and destination overlap in strcpy(0x63e540, 0x63e540)
MakeName (proc.c:344)
ShellCom (proc.c:490)
ExecCmd (commands.c:164)
dispatch (keymaps.c:926)
DoKeys (jove.c:1465)
main (jove.c:1777) - moraes]
commit 7f9e5d2b59ebfff8e4bfd5bb9b187c53465ba6c6
Author: paul vixie <paul@redbarn.org>
Date: Sat Mar 9 12:48:51 2019 -0800
use "do {}" rather than "do ;", for -pedantic (#5)
commit e2d5e98fbf0b2d303f1f1cb7383e25ccc3ca990b
Author: Mark Moraes <moraes@cs.toronto.edu>
Date: Sun Mar 10 23:25:45 2019 -0400
4.16.0.74:
experimental release by Hugh on 2015-10-21 16:38
ftp.cs.toronto.edu:/pub/hugh/jove-dev/experimental/jove4.16.0.74.tgz
tarball sha256sum 168084a021c38058d01e2de30d22b198836b12077647bd1e98dc8a9be416dbbf
unfortunately same version in version.h
further cleanup on fill (new_kill function for common code)
Note about OpenSuSE TERMCAPLIB
commit b8cb69213ee0c4f3200a203eda7aec39cfa4004f
Author: Mark Moraes <moraes@cs.toronto.edu>
Date: Sun Mar 10 23:25:08 2019 -0400
4.16.0.74-old1:
experimental release by Hugh on 2015-10-15 14:30 (email Oct 15, 2015 at 7:19 PM)
ftp.cs.toronto.edu:/pub/hugh/jove-dev/experimental/jove4.16.0.74-old1.tgz
tarball sha256sum ca679b63c38b424eed3e16d3a2ab40e4463c70bbc16e83164ae4ad692de26da3
Changes:
- minor portability improvements
- new jove.spec for Fedora and EPEL
- fill-comment now handles paragraphs
- fill-region can be undone via yank-pop
- support for xterm-256color (same as xterm
Revision 1.423 2010/07/11 15:29:31 hugh
4.16.0.73:
- added NROFF="nroff -Tascii" to Makefile and jove.spec to force groff to use ASCII
- spelling corrections [Cord Beermann]
- remove -lolgx from xjove link [Cord Beermann]
- improve recover's email Subject [Cord Beermann]
Revision 1.422 2010/05/25 03:39:54 hugh
4.16.0.72:
- eliminate strcpy and byte_copy calls with overlapping source and destination
- fix setmaps.c misuse of fprintf
Revision 1.421 2010/05/17 02:38:38 hugh
- add new variable display-default-filenames (Casey Leedom)
- eliminate most GCC warnings; improve handling of some errors
- allow for Linux/glibc elimination of I_PUSH (pseudo TTY STREAMS)
- improve jove.spec for Red Hat packaging
- delete obsolete command process-dbx-output
- delete obsolete variables allow-bad-filenames, display-bad-filenames, internal-tabstop
- add bindings for more xterm function key variants
Revision 1.420 2006/04/30 21:51:40 hugh
don't crash when filename completion list is wider than screen
Revision 1.419 2005/10/01 00:34:41 hugh
4.16.0.69: fix minor errors introduced in 4.16.0.67
Revision 1.418 2005/09/28 18:41:49 hugh
Work around an xterm / termcap / terminfo bug involving SR.
Revision 1.417 2005/05/14 20:29:03 hugh
Generalize tags code to handle bizarre the mutations of tagfile format.
Contributed by Mark Moraes; "improved" by DHR.
Revision 1.416 2005/05/14 17:46:43 hugh
rpmbuild now requires "License" tag in place of "Copyright" tag in .spec
Revision 1.415 2004/07/11 20:04:32 hugh
- dodge yet another xterm bug in hilite mode
- set default buffer size to 4kB (ups line length limit to same)
- tweak documentation
Revision 1.414 2004/02/01 19:27:03 hugh
- introduce sysdef BSDPOSIX_STDC
- update README
Revision 1.413 2003/05/05 01:37:05 hugh
refine modified flag in list-buffers output
Revision 1.412 2003/03/09 23:49:55 hugh
4.16.0.62: fix for WIN32; note tested environments [Jim Patterson]
Revision 1.411 2003/02/01 02:02:08 hugh
4.16.0.61: increase MESG_SIZE to support wider terminals
Revision 1.410 2003/01/31 22:15:33 hugh
4.16.0.60: fix screen update bug involving scrolling region
Surprise: cursor location undefined after setting scrolling region
Revision 1.409 2003/01/31 22:01:40 hugh
4.16.0.59: add "distrib" and "signeddistrib" Makefile targets
tar file will now unpack into jove<version> directory
Revision 1.408 2003/01/09 02:07:15 hugh
adjust jove.spec for yet another new rpmbuild requirement
Revision 1.407 2002/12/13 01:52:47 hugh
- allow $TERM for iprocs to be configured
- adjust types of parameters of truncstrsub and jamstrsub (lint)
- refine jove.spec (for RPM building); iproc TERM=vanilla
Revision 1.406 2002/03/21 07:06:04 hugh
update Copyright to satisfy Debian
Revision 1.405 2002/02/12 20:14:08 hugh
- add style.doc to describe some coding conventions
- add a Makefile target to support Exuberant Ctags more conveniently
- add a note about overflow in calculating percentage in buffer-position
- change TERM and TERMCAP environment variables in iproc
Revision 1.404 2001/12/20 21:07:25 hugh
- fix Makefile problems with openpty configuration
- factor LIBS into TERMCAPLIB and EXTRALIBS
Revision 1.403 2001/12/17 22:24:14 hugh
- fix a few buffer overruns
- add "Quick summary" to README
- use "jmode_t" where mode_t is appropriate (old systems must define as int)
- use uid_t; hope this is portable
- added GCC_LINT to make it more pleasant to use gcc warning options
Revision 1.402 2001/07/15 19:14:23 hugh
improve jove.spec (for Redhat Package Manager)
Revision 1.401 2001/03/22 07:17:26 hugh
4.16.0.51: improve portability; use openpty on *BSD
Revision 1.400 2001/02/04 21:01:50 hugh
4.16.0.50 support groff; fix jove.spec for RPM creation
Revision 1.399 2000/11/10 07:58:22 hugh
[BET+DHR] support installation into a playpen; exploit when building RPM
Revision 1.398 2000/07/12 16:13:01 hugh
4.16.0.48: use SVR4_PTYS (AKA UNIX98 PTYS) for LINUX
Revision 1.397 1999/10/22 14:16:39 hugh
4.16.0.47: get file creation mode right; predelete backup file
Thanks to Rob McMahon <cudcv@csv.warwick.ac.uk>
Revision 1.396 1999/08/29 18:44:49 hugh
4.16.0.46: add save-on-exit [Rob.McMahon@warwick.ac.uk]
Revision 1.395 1999/08/25 19:47:30 hugh
4.16.0.45: detect and report file close errors [Rob.McMahon@warwick.ac.uk]
Revision 1.394 1999/08/19 02:14:13 hugh
4.16.0.44: add .spec for RPM creation
Revision 1.393 1999/08/18 23:17:20 hugh
4.16.0.43: make mkstemp code less brittle (Moraes)
Revision 1.392 1999/08/18 21:56:21 hugh
make USE_CTYPE implicit in BSDPOSIX (except for __convex__!)
Revision 1.391 1999/08/15 02:24:48 hugh
Support for Cygwin32 environment on MS Win32
(from Arlindo da Silva and Dave Curry)
Revision 1.390 1999/08/15 00:50:48 hugh
4.16.0.40: fix horrible umask security hole
Revision 1.389 1999/08/13 14:43:05 hugh
4.16.0.39: reflect Jim's (Jim.Patterson@Cognos.COM) work on Win32 and HPUX
Revision 1.388 1999/08/12 21:21:38 hugh
4.16.0.37: update Makefile and README to reflect modern systems
Revision 1.387 1999/08/12 19:14:11 hugh
4.16.0.37: scatter "const"; update copyright; tidy comments
Revision 1.386 1999/08/10 15:08:03 hugh
4.16.0.36: switch to safe creation of tempfiles.
Note: mode_t isn't used because argument promotion rules mess things up.
Some additional tidying.
Tested on MSDOS, SunOS 4.0, Solaris 2.6, RedHat5.2.
Revision 1.385 1999/08/09 05:50:51 hugh
4.16.0.35: fix nits in documentation
Revision 1.384 1999/08/06 19:02:27 hugh
4.16.0.34: fixed a bug that caused justification of the following line
to hang JOVE. set right-margin 70. Note whitespace at end.
Revision 1.383 1999/08/06 16:47:20 hugh
make xterm mouse code dodge metakey kludge (needed for xterms wider than 95)
Revision 1.382 1999/02/11 18:41:51 hugh
fix indented #ifdef: would confuse old compilers
Revision 1.381 1998/09/22 21:10:44 hugh
Rename SCO to SCO_ODT3 to be more specific.
Fix typo in SCO_ODT3 settings (cannot test!).
Thanks, Mark Moraes <moraes@staff.juno.com>
Revision 1.380 1998/09/22 03:47:03 hugh
glibc-2 (the GNU C library, used in some LINUX systems) has a
a unique (but probably not wrong) feature: stat, when it fails,
scribbles over the stat buffer. This change lets JOVE deal
with this feature.
Thanks to Steve Thompson <stevet@ultratech.net>.
Revision 1.379 1998/09/21 21:19:05 hugh
Verify that other end of PTY can be opened before accepting it.
This is needed apparently needed under LINUX. The test doesn't
work on old versions of BSDI/386, so BSDI_PTY_BUG will suppress.
Revision 1.378 1998/09/21 17:57:12 hugh
fix error message construction
[originally done 1998 March 29]
Revision 1.377 1998/09/21 17:52:15 hugh
avoid freeing already freed name list
[originally done 1998 January 25]
Revision 1.376 1998/09/21 17:48:10 hugh
Change xterm-bug-workaround to avoid changes made for XFree 3.2.
Without this change, mouse usage under the xterm of XFree 3.2
will leave mysterious blanks on the screen.
The relevant change to XFree 3.2's xterm is that the sequence ESC X is
now meaningful. We had counted on this to be ignored. Now we will
count on ESC DEL being ignored.
[originally done 1997 Sept 21]
Revision 1.375 1997/07/10 06:06:30 hugh
Add support for different meaning if im and ic with ncurses' termcap
(used with LINUX and other free systems).
Revision 1.374 1997/01/17 01:59:28 hugh
4.16.0.24: little touches
- allow var internal-tabstop to be set to 0 (tab-width already could)
- notes for porting to Digital UNIX
- spelling improvement
Revision 1.373 1997/01/16 22:08:26 hugh
4.16.0.23: handle symlinks in path canonicalization (PathParse)
Revision 1.372 1996/10/10 06:59:26 hugh
4.16.0.22: more pr_name static buffer bugs
Revision 1.371 1996/10/06 20:57:51 hugh
4.16.0.21: port to Digital UNIX V4.0 -- one JOVE bug, one OS bug
Revision 1.370 1996/09/19 02:09:39 hugh
4.16.0.20: fix bug in window resizing by mouse
To demonstrate bug:
- split a window that is viewing a non-empty buffer
- make upper window have a different dot.
- enlarge the upper window by dragging its mode line down (button 2)
The upper window's dot will be a copy of the lower window's.
Revision 1.369 1996/09/09 06:29:43 hugh
4.16.0.19: eliminate tricky aliasing bug in Source/ask_ford/PathParse
The bug to be fixed is the interaction of the following:
- PathParse must not have aliased args
- if ask_ford is called with def and buf aliased
AND pr_name(def, YES) yields a pointer into def
AND the user defaults the file name
THEN PathParse will be called with aliased args
- Source calls ask_ford with def and buf aliased
To demonstrate:
- set environment variable HOME to "" or "/"
- run jove in some other directory
- issue "source" command and hit return to default the file name
- jove will attempt to source the file named ""
The fix: since pr_name sometimes returns a pointer to its static buffer,
the simplest change is to make it always return a pointer to its static
buffer. At the same time, sprinkle a few comments about aliasing in the
relevant routines.
Incidental improvements:
- pr_name now complains about too-long file names
- pr_name will now choose to use ~ over cwd-relative naming if the
resulting name is shorter
The apology: static buffers are evil (wasteful and error-prone) and
should be eliminated. Unfortunately, this would require changes to
every use of pr_name.
Revision 1.368 1996/08/19 21:05:09 hugh
4.16.0.18: make dbx a minor mode (simplify, generalize)
Revision 1.367 1996/07/11 05:09:06 hugh
4.16.0.17: make jjove.rc use version.h
Revision 1.366 1996/07/07 22:18:22 hugh
4.16.0.16: fix bugs in commandline arg processing
There were several odd cases where the current buffer
would not be tied to the current window.
>> As a minor enhancement, the alternat buffer will now
be set to the last file not assigned a window.
Revision 1.365 1996/07/02 00:15:13 hugh
4.16.0.15: fix subtle screen maintenance bug
Without this, filename/command/etc completion would get
truncated when process windows were updated.
Revision 1.364 1996/06/16 15:56:45 hugh
4.16.0.14: fix MatchDir usage
Revision 1.363 1996/06/13 06:19:29 hugh
4.16.0.13: rename basename => jbasename (name taken by SVR4)
Revision 1.362 1996/05/23 03:08:41 hugh
4.16.0.12: fix nits in teach-jove
Revision 1.361 1996/05/20 01:57:36 hugh
4.16.0.11: in Makefile: use LDCC in appropriate places
Revision 1.360 1996/05/09 02:40:21 hugh
4.16.0.10: improve READMEs for DOS and WIN32
Revision 1.359 1996/05/08 18:15:13 hugh
4.16.0.9: support ConvexOS, istrip problems and all
Revision 1.358 1996/05/08 03:44:25 hugh
4.16.0.8: restore Zortech compatibility
Zortech 3.0 doesn't define EINTR; I don't think any MSDOS runtime
would generate it for a write(). (The code already reflects this
understanding for read().)
Revision 1.357 1996/05/07 04:28:18 hugh
4.16.0.7: fix backup-files code for MSFILESYSTEM
Revision 1.356 1996/04/22 06:49:45 hugh
4.16.0.6: remove unwarranted bug warning
The bug was caused by a virus on the test system.
Revision 1.355 1996/03/30 00:59:29 hugh
4.16.0.5: fix justification nits
Revision 1.354 1996/03/21 19:14:48 hugh
4.16.0.4: improve concatenation of pathname components
This change is needed to avoid accidental references to network files
under some Microsoft systems.
Took this oportunity to delete some obliquely related nonsense code
in scandir.c.
Revision 1.353 1996/03/21 17:02:10 hugh
4.16.0.3: correct case of OS in Makefile.msc
Revision 1.352 1996/03/20 08:00:59 hugh
4.16.0.2: Fix strange font usages in xjove (Charles)
Revision 1.351 1996/03/20 07:40:19 hugh
4.16.0.1: fix and use lint Makefile target
commit 702706df4025029f580bc2962b9fc407bd2ddc58
version 4.16 released on ftp.cs.toronto.edu on 1996/03/30
PC, Win32 and Un*x-specific code factored into ibmpcdos.c,
win32.c and unix.c respectively.
Retested on lots of platforms, this was the last major Jove
release formally tested by all jove developers. The release
announcement/README was:
4.16 has been widely ported, it features LOTS of changes, fixes,
improvements. Among other things, it should compile and work out of
the box on most widely used Un*x and Posix variants, including AIX,
BSDI, DGUX, HP-UX, Irix, Linux, OSF/1, QNX, SCO, Solaris, SunOS, SVR4,
Ultrix. Considerable work has gone into making it easier to port
(functional ifdefs rather than system specific ones). It now has
simple mouse support under xterms, the documentation has been
re-worked.
This version of Jove also works under DOS, Win32 and the Mac with
almost the same functionality as the Un*x version.
commit 6cf695fea5f3980fe41a2ce423122ef376446709
version 4.16beta released on ftp.cs.toronto.edu on 1994/11/23
many fixes, more portability, xjove, xterm mouse handling and
jovetool appear courtesy Charles Lindsey.
doc/jove.[123] become doc/intro.nr
doc/jove.[45] become doc/cmds.nr
doc/system.rc becomes doc/jove.rc*
Readme.* become README.*
Makefile.dos becomes Makefile.{bcc,msc,wat,zor} for various PC compilers
tune.template is gone, those defines are set in Makefile
commit aab347b0f618ecd19dce73efbe2ea44101cae20f
version 4.14.10 released on ftp.cs.toronto.edu on 1993/06/19
Many bugfixes from Hugh Redelmeier who took on primary
maintenance and Mark Moraes who did much of the portability
revamp and testing on a wide range of Un*x variants
available at UToronto at the time (MIPS, SGI Irix,
SUNOS[34], BSD, Ultrix). sysdep.h makes an appearance and
the ifdef maze is now feature-based rather than ad-hoc.
Much de-lintingh as a side-effect of testing with
full-warnings on as many nit-picky compilers as possible.
a few files renames appear as delete+new because of
conversion: in particular, version.c now becomes version.h
commit 44a942827c9c2766d161668389d3edaea1a9dd8a
revision 4.14
date: 1989/10/17 10:20:31; author: jpayne; state: Exp; lines: +1 -1
Quick check-in for hugh and mark.
commit ba38dd8858356ade98ff351f46bdc0d7690ea5d4
revision 4.12
date: 1989/02/13 09:46:15; author: jpayne; state: Exp; lines: +3 -1
Ansi C-ified. Also minor addition to scroll-region-{left,right}
now uses numeric argument if one is supplied to figure out how
far to indent.
commit 1028d6ba06536d582d289ab009748309853cfc59
revision 4.11
date: 1989/01/18 15:11:10; author: jpayne; state: Exp; lines: +1 -1
new c-mode, shift-region-{left,right}, dbx-mode,
deleted find-files-read-only variable, uses getpwent
to look up home directories.
commit ad842c38e45fbd09ba81e8cda51f73f92e8283c7
revision 4.10
date: 1988/10/21 14:22:54; author: jpayne; state: Exp; lines: +1 -1
added function proto-typing
{f,s,}printf => {f,s,}writef
numeric argument functions are macros now
real keymaps now
added RE_block structure for RE's.
new mail checking algorithm
better handling of modeline with SG's
changed meaning of %e in modeline
deleted ansi-codes
read-only mode
new pipeprocs mechanism
cleaned up white space
added C-X 4 C-T
commit a392c927e39e298e5298fccac90b752ac30dea4f
revision 4.9
date: 1988/03/14 19:13:38; author: jpayne; state: Exp; lines: +7 -7
-runs on the macintosh!
-new variables display-bad-filenames, scroll-all-lines,
error-format-string
-new commands scroll-left, scroll-right, shell-command-no-buffer
shell-command-with-typeout
-deleted parse-special-errors (see error-format-string)
-disable redisplay during screen Typeout
-%w in modeline displays '>' if window is scrolled
-unbind-key really works
-tabs are inserted if at end of line in lisp mode
-jove -tTagname works
-jove windows are resized in proportion to the system window
resize
commit 08e9e8903b0862b8f0c353fdb1fa6e0c62361a98
revision 4.8.1.1
date: 1988/01/18 13:12:48; author: jpayne; state: Exp; lines: +1 -1
Version 4.8b of JOVE, to be combined with the changes of Karl and Tim
for PC jove. See 4.9 entry for diff listing.
commit d547430ed201f1a5e614cf1359c55f7616f9a70c
revision 4.8
date: 1987/10/16 15:53:08; author: jpayne; state: Exp; lines: +1 -1
branches: 4.8.1;
New text macros!!!
IBM PC/MSDOS compatible!!!
commit 002e27a0a9fbe902043dd9a2b1bb0c8f4e392283
revision 4.7
date: 1987/07/16 11:11:47; author: jpayne; state: Exp; lines: +7 -9
-Changed arg count.
-Added environment variable support.
-Changed CTL() macro to conform to ansi C.
-Changed file commands to use path relative form to speed
up accesses.
-Reverted to old fill-paragraph.
-Added BL and NL (with stripped padding) termcap support.
-Added %p on modeline (display process status).
-Changed buffer-position.
-Fixed fmt.c for BSD4.3 ctime(); cleaned up code.
-Combinded ^U and ESC correctly.
-find_tag uses binary search.
-Changed rec file format.
-Fixed load average for SUNS.
commit 64dff0fa821665f05019f064b187313f34ea9343
revision 4.6.1.5
date: 1987/04/18 12:22:56; author: jpayne; state: Exp; lines: +1 -1
-kill buffer doesn't delete any windows
-fixed simple recursive keymap displaying bug
-buffer-position doesn't die on 0 length buffers
-added goto-window-with-buffer
-fixed .joverc weirdness with 'P' vs. 'p', etc.
-fixed iproc's dieing - now insert message AT END OF BUFFER
-combined ^U and ESC # at last
-fixed dosub \\\ bug
-find tag works in wrap-search mode
-fixed structure name conflicts
-SysV vs. SysVRel2
commit 669c46e98fe44a691cbfcf58ecb410673c45acbe
revision 4.6.1.4
date: 1987/01/21 19:06:27; author: jpayne; state: Exp; lines: +1 -1
%m is changed on mode-line
changed DoJustify to really use the right-margin
commit b819657159a742fd3f9e6968c27f5ce812a5a7b4
revision 4.6.1.3
date: 1986/12/22 14:29:26; author: jpayne; state: Exp; lines: +1 -1
Few bug fixes.
commit fa64b7627c24a9050cba5c044fb98c75e19c8624
revision 4.6.1.2
date: 1986/09/24 10:50:01; author: jpayne; state: Exp; lines: +7 -9
This is the version sent out to mod.sources. Contains a
few minor differences from the previous version, some of
Hugh's bug fixes, couple new variables, etc.
commit f0263179fc74ce8a8c7f939aa51e204fdb8f9dc5
revision 4.6.1.1
date: 1986/08/26 19:20:49; author: jpayne; state: Exp; lines: +1 -1
-recover is no longer a top level command; use jove -r instead.
-the jove tmp file is created upon demand now.
-new variable type V_FILENAME, and new variable "tmp-file-path."
-fixed typing C-V before initial file read is complete.
-new command "add-lisp-special."
-yes/no questions don't wait for return.
-chk_mtime is called whenever a file is reselected.
-the NORMC char code is followed by a # which is the # of NORMC's.
commit d225bd8f9c48a5ca79ada5cc68aaf4921581e177
revision 4.6
date: 1986/07/24 12:57:08; author: jpayne; state: Exp; lines: +1 -1
branches: 4.6.1;
Fixed serious text munging bug (getblock() in IO.C).
Made case independent search as fast as normal search.
Fixed bug that caused JOVE to keep trying to write files even
after an error.
ESC 1 2 3 and ESC 1 ESC 2 ESC 3 do the same thing now. So meta-key
really works.
Added some lisp commands.
commit f4ae519828d94f99bdb58ab304be6d1bf9e6871c
revision 4.5
date: 1986/03/27 20:40:14; author: payne; state: Exp; lines: +1 -1
This version has the new tmp file format. Lines are don't go over
block bounderies anymore to make things faster. The search code is
lots faster and the paren matching code is more accurate and MUCH
faster.
commit ecfd7acb0074e7efd778999306ad3e27c0ca86ed
revision 4.4.2.1 locked by: payne;
date: 1986/03/18 00:08:32; author: payne; state: Exp; lines: +1 -1
This version has new paren flash code, several bug fixes.
commit 660c8ad206ba229a7988b804fcc8f066e34be601
no longer relies on sprintf returning char*
revision 4.4.2.0
date: 1986/02/28 17:00:49; author: payne; state: Exp; lines: +1 -1
This version has a fix for the sun problem. On suns the C library
version of malloc is used instead of the pdp11 version.
commit ef3be7a4243bd913aeca7614d3a4ab2b45c3997f
tiny change to a complaint
revision 4.4.1.2
date: 1986/02/18 23:06:57; author: payne; state: Exp; lines: +1 -1
commit 194b87c042a1d87e92068292d15f60cc05678984
key bindings and setmaps
revision 4.4.1.2
date: 1986/02/18 23:06:57; author: payne; state: Exp; lines: +1 -1
commit bd817796ebb8d403a2ed4fa54b3157bd2cb3f78d
4.4.1.1 seems the rest of the fixes described in the 4.4 log message
revision 4.4
date: 1986/02/13 02:09:39; author: payne; state: Exp; lines: +1 -1
branches: 4.4.1; 4.4.2;
Has file I/O enhancements. Basically rewritten from scratch. Some
bug fixes. Code to automatically convert macros in the old format
to the new format.
----------------------------
revision 4.4.1.1
date: 1986/02/14 20:09:52; author: payne; state: Exp; lines: +1 -1
New version 4.4.1.1
----------------------------
commit 6011c1bbe8dc2472e907bd5b418115acf77d3898
version.c updated to 4.3.1.1 but fixes seem to match branch 4.4
revision 4.4
date: 1986/02/13 02:09:39; author: payne; state: Exp; lines: +1 -1
branches: 4.4.1; 4.4.2;
Has file I/O enhancements. Basically rewritten from scratch. Some
bug fixes. Code to automatically convert macros in the old format
to the new format.
commit 0ae3c568851d6990665f5e1dbdbea67a63374c0c
JOVE is Jonathan's Own Version of EMACS
Written by Jonathan Payne circa 1982, originally at the
Lincoln-Sudbury Regional High School, MA, USA.
This version history (from an RCS archive) starts in
1986 when Jonathan was finishing his CS undergrad
at University of Rochester. Version 4.3 was included in
the BSD 4.3 distribution (the hardcopy manual is part
of the User Software Distribution; USD17) Supposedly,
an earlier version was included in a 1984 USENIX software
tape along with Jay Fenlason's HACK.
A later version 4.6.1.4 was posted to comp.sources.unix
(mod.sources at the time?) in late-1986 or early-1987.
Version 4.8 was ported to the IBM PC.
Version 4.12 was available from cs.rochester.edu for a
while.
Hugh Redelmeier and Mark Moraes took over releases in 1989,
circa jove 4.14, which eventually resulted in a long-lived
4.16 release in 1996. Many subsequent dot releases were
never released formally, though they were available from
ftp.cs.toronto.edu:/pub/hugh/ and some made their way into
various Linux/BSD distributions.
This git history reconstructed by Mark Moraes from an RCS archive
that Jonathan sent and starts with:
revision 4.3
date: 1986/02/13 01:54:59; author: payne; state: Exp;
As distributed with 4.3 BSD.
https://groups.google.com/forum/#!msg/net.unix-wizards/9bPrVuHYlo8/s5Wm4N2-6KQJ
(likely from Henry Spencer's archives, judging by the utzoo path entry)
Message-ID: <bnews.sri-arpa.940>
Newsgroups: net.unix-wizards
Path: utzoo!decvax!decwrl!sun!megatest!fortune!hpda!hplabs!sri-unix!jpayne@BBN-UNIX
From: jpayne@BBN-UNIX
Date: Tue Apr 19 03:33:03 1983
Subject: Weird file names and ...
Posted: Mon Apr 4 07:14:46 1983
Received: Tue Apr 19 03:33:03 1983
At Lincoln-Sudbury High School, here in massachusetts, we are running
2.81bsd UNIX. My friends and I (high school students/graduates),
recently had a lot of fun deleting a file with the character \240 in
it. The file name was so weird that ls couldn't even stat the file.
...
Jonathan Payne
P.S.
Anyone out there interested in an EMACS style editor for the PDP11.
Unfortunately it doesn't fit on non-split ID machines. Some of its
features include, multiple buffers and windows (as many that can fit
in both cases), key binding (similar to Gosling's), output from
shell commands to buffer, filter-region (so you can sort your files
or beatify your C), parse C/LINT/fgrep type error messages,
spell-buffer (like error parsing), MACRO in the singular (haven't
gotten around to making it more general). I almost forgot to mention
that it has optimized redisplay (NOT as good as Gosling's, but close),
works on any reasonable display terminal (TERMCAP), has
super/hyper/meta optimized cursor motion (I believe it does the best
thing EVERY time with good response time) and aborts redisplay if you
support the right ioctl.
It limitations are 512 characters per line (it stores the file on the
disk in a way similar to that of ed(1) and VI), about a total
of 6500 lines at any time buffers. I believe it hardly ever crashes
i.e. it hasn't happened to anyone yet. There is 10k of I space left and
is, in my opinion, well written and easy to read, so you can modify
it easily.
It's called JOVE which stands for Jonathan's Own Version of Emacs...
If you are interested you can reach me at jpayne@bbng or jpayne@bbn-unix
Be seeing you...
Newsgroups: comp.emacs,comp.sys.mac.programmer.tools,comp.unix.bsd.freebsd.announce
Subject: Announcing JOVE version 4.16 (EMACS-like text editor)
Keywords: EMACS, editor, JOVE
References: <1996Apr13.021821.26744@jarvis.cs.toronto.edu>
Jove (Jonathan's Own Version of Emacs) is an Emacs-like editor without
Lisp. It is comfortable to use, small, fast and portable. It has
been available for about a dozen years, and has been included in
several BSD releases.
4.16 (1996 Mar 19) is the latest released version. The previous release was
4.16beta (1994 Nov 23) and before that, 4.14.10.
4.16 has been widely ported, it features LOTS of changes, fixes,
improvements. Among other things, it should compile and work out of
the box on most widely used Un*x and Posix variants, including AIX,
BSDI, DGUX, HP-UX, Irix, Linux, OSF/1, QNX, SCO, Solaris, SunOS, SVR4,
Ultrix. Considerable work has gone into making it easier to port
(functional ifdefs rather than system specific ones). It now has
simple mouse support under xterms, the documentation has been
re-worked.
This version of Jove also works under MSDOS, Win32 (Windows NT and
Windows 95) and the Macintosh with almost the same functionality as
the Un*x version.
The official source location for Jove is
github.com/jonmacs/jove
(newest code in the moraes branch)
The ftp location for Jove is
ftp.cs.toronto.edu:/pub/moraes/jove/
The file jove.README describes the contents of this directory.
Source is provided for all platforms, as are pre-compiled versions
for MSDOS, MSWin32, and the Macintosh.
Jove is supported by a group of users. We can be
reached on the github.com/jonmacs/jove bug tracker. We
welcome bug reports. We also welcome reports on porting
Jove. We are even interested in suggestions for new
features, but we are conservative in adopting them.
Mark Moraes, Hugh Redelmeier (for Jovehacks)
|