File: ChangeLog

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

	* Version 5.9.

	* src/rcfile.c (usage_help): changed `fullscreen' option's default
	to on, so you now have to use `--fullscreen=off' (or similar
	config file option) to disable it. This keeps the SDL backend's
	behaviour closer to the svgalib one.

2005-01-23  Russell Marks  <russell.marks@ntlworld.com>

	* src/readgif.c (read_gif_file): made the width/height check
	for multi-image (animated) GIFs a bit less harsh, it was
	previously refusing to view animations with a particularly
	large `screen size'. Now it should allow anything where the
	individual images are smaller than 4MB once loaded (that's as
	generous as I can be while keeping the maths easy :-)).

2005-01-20  Russell Marks  <russell.marks@ntlworld.com>

	* Added SDL mouse support, and modified mouse support to work in a
	delta-based way friendier to non-svgalib backends. Thanks to
	Dimitar Zhekov for both of these.

2005-01-05  Russell Marks  <russell.marks@ntlworld.com>

	* src/readgif.c (read_gif_multi): the height-limiting changes
	exposed a long-standing bug with `im->image' in this. Thanks to
	Mikulas Patocka for the fix.

2004-12-17  Russell Marks  <russell.marks@ntlworld.com>

	* src/readpnm.c (read_pnm_main): fixed possible hang when reading
	corrupted non-raw PBM files.

	* src/readgif.c (readimagehed): fixed possible hang when reading
	GIF files with corrupted ext. blocks. Thanks to Mikulas Patocka
	for finding this.

2004-12-16  Russell Marks  <russell.marks@ntlworld.com>

	* src/zgv_io.c (zgv_io_timer_stop): fixed a timer-related bug with
	the SDL version, where it could leave the timer-interrupt flag on
	after the timer was disabled. Thanks to Dimitar Zhekov for
	spotting this one.

2004-11-02  Russell Marks  <russell.marks@ntlworld.com>

	* doc/zgv.texi (Invoking zgv): fixed "walk" typo.
	(Showing More Files): 20 thumbnails are shown by default, not 12.

2004-10-31  Russell Marks  <russell.marks@ntlworld.com>

	* Added width/height limits to all picture readers,
	32767x32765 is now the maximum image size supported
	(essentially consistent with xzgv). This is a crude (albeit
	effective) fix for heap overflow bugs - there may yet be more
	subtle problems, but I can't really fix them until I know
	they're there. :-) Thanks to Luke Macken for letting me know
	about the heap overflow problems. I suppose I should also
	thank "infamous41md" for publishing the original
	advisory/exploit, even if he didn't bother emailing me or
	anything.

	* src/readxpm.c (read_xpm_file): fix for exploitable malloc() arg
	overflow. There are several more of these in zgv, but this is the
	easiest to fix.

2004-07-08  Russell Marks  <russell.marks@ntlworld.com>

	* src/readgif.c (read_gif_file): added more multiple-image (e.g.
	animated) GIF brokenness checks than before. Previously it was
	possible to get a segfault with the `right' file, despite there
	already being various range checks. Thanks to Mikulas Patocka for
	spotting this.

2004-03-29  Russell Marks  <russell.marks@ntlworld.com>

	* Version 5.8.

	* src/zgv_io.c (zgv_io_fixfsmode): the SDL backend is now a lot
	more sensible about automatically picking a file selector mode,
	and should have a better chance of working when using a
	single-mode VESA framebuffer. Thanks to David Matthews for
	indirectly spotting this problem.

	* src/zgv_io.c (zvga_init): the SDL backend will now only ever use
	SDL's emulation for 8-bit modes. This should improve picture
	quality when only 8-bit modes are available, and make all modes
	other than 24/32-bit quite a bit faster. Thanks to David Matthews
	for inspiring this change.

	* src/vgadisp.c: changed 15/16-bit dithering - instead of using a
	rather poor dither pattern in an attempt to use up every last
	`extra' bit of colour information, it now uses 2 bits from each
	channel in a much nicer (and smaller) pattern.

	* INSTALL: added comment on stdout problem with FreeBSD, which
	seems to affect the current svgalib 1.4.3 port at least.

2004-02-21  Russell Marks  <russell.marks@ntlworld.com>

	* Added FreeBSD support, thanks to Radim Kolar for contributing
	this. The changes involved aren't too big really, `just' different
	key-reading and console-allocating routines.

	* config.mk (RCFILE): default location for zgv.conf is now
	/usr/local/etc rather than /etc, which seems more appropriate
	given that the default PREFIX is now /usr/local.

2004-01-05  Russell Marks  <russell.marks@ntlworld.com>

	* src/vgadisp.c: added support for dithering in 15/16-bit modes.
	It's slower than I'd hoped, so it's not enabled by default, but it
	seems to work well enough. You can toggle it in the viewer by
	pressing `F', or add `dither-hicol on' to a config file. Thanks to
	Stephane ODUL for suggesting this.

	* src/vgadisp.c: moved `fake-cols' toggle key from `F' to `G'.

2003-10-20  Russell Marks  <russell.marks@ntlworld.com>

	* src/bdf2h.c (main): removed embedded LFs. Thanks to Dimitar
	Zhekov for the patch.

2003-10-04  Russell Marks  <russell.marks@ntlworld.com>

	* Added `fullscreen' option, to override possible use of a
	windowed display with non-svgalib backends in some situations, the
	obvious example being the SDL backend running under X. This isn't
	necessarily what you'd want, and has problems like not being able
	to fill the screen in modes it doesn't support natively under
	svgalib. And SDL seems to cause further problems from what I've
	seen, e.g. display glitching and a briefly-visible mouse pointer
	when changing modes fullscreen under X.

	* src/zgv_io.c (zvga_setmode): fixed missing-picture-update bug
	when doing certain mode changes under SDL.

	* config.mk (PREFIX): finally changed this to /usr/local. `make
	install' now removes any existing program and documentation in the
	old default locations.

	* src/vgadisp.c (animate_gif): `x' now aborts GIF animation like
	Esc does. Thanks to Thomas M. Ott for pointing out the
	inconsistency. Note that I don't consider supporting this slightly
	pointless alternative to Esc to be terribly important (e.g.
	dialogs don't support it and never have, and they've been in zgv
	since 1993), and couldn't add it everywhere even if I wanted to
	(e.g. change-to-arbitrary-directory dialog).

	* src/zgv_io.c: added timer start/stop to backend code, so now
	timer-based stuff (most notably GIF animation) works ok under
	SDL. While doing this I removed support for a repeat-timer
	setting of "-1" (i.e. constantly reload the image), which had
	been broken previously anyway.

2003-09-16  Russell Marks  <russell.marks@ntlworld.com>

	* src/vgadisp.c (redrawgif): fixed long-standing bug with
	interpolation (fix ported from xzgv). In xzgv the bug could have
	caused segfaults, but I don't believe this was the case in zgv due
	to the way it allocates memory.

2003-07-31  Russell Marks  <russell.marks@ntlworld.com>

	* src/zgv_io.c: added SDL getbox routine, fixing one of the
	display glitches (dialogs not restoring previous screen contents).
	Also stopped the putbox routine using memcpy(), as you're not
	supposed to make library calls when an SDL surface is locked.
	(native_col_to_sdl): fixed colour glitches in dialogs.

2003-07-07  Russell Marks  <russell.marks@ntlworld.com>

	* Version 5.7.

	* src/readpng.c (read_png_file): don't set background colour
	to black for mono PNG files, where this may cause problems.
	Thanks to Morten Bo Johansen for spotting this.

2003-06-30  Russell Marks  <russell.marks@ntlworld.com>

	* New `--auto-mode-fit-diff' option, allows you to specify a pixel
	width/height to be disregarded when zgv picks a mode to use and
	auto-mode-fit is enabled. So e.g. a 330x250 image would be shown
	in 320x240 mode if auto-mode-fit-diff is 10. Thanks to Dimitar
	Zhekov for this.

	* src/mousecur.c: fixed mouse cursor appearance in 32-bit modes.
	Thanks to Dimitar Zhekov for the patch.

2003-04-10  Russell Marks  <russell.marks@ntlworld.com>

	* src/rcfile.c (usage_help): similar changes to usage help.

	* doc/zgv.texi: restored documentation for `-r', `-s', and `-w'
	options, which was mistakenly dropped when I added long-option
	support.

2003-04-05  Russell Marks  <russell.marks@ntlworld.com>

	* Added support for display backends other than svgalib,
	largely done by defining the svgalib functions used when
	svgalib isn't the backend. These are clearly never going to be
	*better* than the svgalib backend, as zgv was written for that
	- but if svgalib isn't available or whatever, at least this
	gives you the possibility of running zgv some other way.
	Currently the only other backend is for SDL - it works (albeit
	with some display glitches), but it's intended mainly as a
	proof-of-concept. Though it does give you the faintly ironic
	choice of whether to use xzgv or X zgv... :-)

	* doc/makeman.awk: fixed some bugs which became apparent when run
	with gawk 3.1.

2003-03-15  Russell Marks  <russell.marks@ntlworld.com>

	* src/readgif.c (decompress): removed similar comment, which was
	wrong anyway since outputstring() hasn't been recursive for a year
	or two now.

	* src/vgadisp.c: removed silly, dated comments about slowness of
	passing some things as parameters. It was true in 1993 to some
	extent, but certainly not now. Thanks to "Mitchell" for
	questioning this.

2002-07-02  Russell Marks  <russell.marks@ntlworld.com>

	* doc/zgv.texi (Invoking zgv): added mention of selector mode
	being forced to 8-bit in documentation for `--fs-start-mode'.
	(Config Variables): fixed severe thinko (mode-bad where I meant
	mode-good) in documentation for mode-all-bad. :-)

	* src/rcfile.c (modematch): fixed to allow 32-bit modes, which
	previously couldn't be specified on the command-line. Thanks to
	"kscott" for spotting this one.

2002-05-05  Russell Marks  <russell.marks@ntlworld.com>

	* Version 5.6.

	* src/modesel.c: added 15/16/24/32-bit 320x240 modes. Thanks to
	Michal Svec for suggesting this. Currently only the 24/32-bit mode
	is selectable directly (using `^', on the assumption that it's
	shift-6 - unshifted 6 selects 320x240x8).

2002-04-15  Russell Marks  <russell.marks@ntlworld.com>

	* src/vgadisp.c (draw_rb_menu): if a 32-bit mode existed without a
	corresponding 24-bit mode, and it was one of the modes which are
	listed on the viewer right-button menu, then it was incorrectly
	`greyed out', i.e. made unavailable from the menu. Thanks for
	Dimitar Zhekov for spotting this.

2002-04-07  Russell Marks  <russell.marks@ntlworld.com>

	* src/zgv.c: added multi-file delete. This is on `D', by analogy
	with `C' and `M' for copy/move (since it works the same way) - the
	single-file-only delete remains available on the Delete key. A new
	config variable `delete-tagged-prompt' says whether to prompt
	before deleting all tagged files (enabled by default). Thanks to
	Max Drozdoff again, for prodding me into action on this. :-)

2002-03-31  Russell Marks  <russell.marks@ntlworld.com>

	* src/zgv.c (delete_file): when using `delete-single-prompt off',
	it previously didn't update the screen after the deletion. Thanks
	to Max Drozdoff for spotting this one.

2001-11-01  Russell Marks  <russell.marks@ntlworld.com>

	* src/readgif.c (read_gif_file): in the very unusual case of both
	global and local colourmaps being present, they were applied in
	the wrong order. Thanks to Michal Svec for spotting this.

2001-10-25  Russell Marks  <russell.marks@ntlworld.com>

	* src/rcfile.c: removed `--version-svgalib' option, this was
	causing trouble when compiling with old versions of svgalib.

2001-10-24  Russell Marks  <russell.marks@ntlworld.com>

	* src/readtga.c (fix16bit): should now support 16-bit RGB files.
	16-bit palette-based files *may* also work now, but are untested -
	it's not all that easy to find samples of these rather unusual
	types of TGA file. Thanks to Michal Svec for spotting the problem.

2001-10-21  Russell Marks  <russell.marks@ntlworld.com>

	* src/rcfile.c (usage_help): new `-A' or `--auto-animate' option,
	forces the viewer to automatically animate multiple-image GIF
	files. Thanks to John Fitzgerald for suggesting this (more or
	less). It limits your viewing options greatly, of course (since
	it's like pressing `e' every time you view one, and exiting the
	image when you exit the animation), but can be handy for
	slideshows etc. When this option is enabled, you can use
	Backspace/Enter/Space for file navigation/tagging during an
	animation. (The skip-to-next-frame key (previously Enter) is now
	`n'.)

2001-10-04  Russell Marks  <russell.marks@ntlworld.com>

	* Version 5.5.

	* src/Makefile (clean): now removes rcfile_*.h, which are easily
	rebuilt.

	* src/readbmp.c (read_bmp_file): don't implicitly assume function
	calls in expressions are evaluated left-to-right when calculating
	offset.
	(read_bmp_file): fix for progress indicator when using BMP's
	utterly bizarre move-loading-position code which, happily, no-one
	actually seems to use. :-) Thanks to Jakub Bogusz again.

	* src/zgv.c (showhowfar): now ensures sofar is no greater than
	total, rather than assuming caller gives valid input.
	(xv332_how_far): same change as above.

2001-09-30  Russell Marks  <russell.marks@ntlworld.com>

	* src/zgv.c (recursive_update): recursive thumbnail update, ported
	from xzgv.

2001-09-29  Russell Marks  <russell.marks@ntlworld.com>

	* src/zgv.c: renamed "Show filename" menu item to "Show file
	info".

	* src/3deffects.c (msgbox): rewritten file-details dialog, now
	gives more info and looks rather better. (Based on the one xzgv
	has.)

	* src/zgv.c (makexv332): now generates correct height comment for
	animated GIFs.
	(showgifdir): no longer undraws/redraws scrollbar unnecessarily
	during thumbnail update.

	* src/readbmp.c (read_bmp_file): fixed many, many places where it
	could leak a file descriptor on failing to load an image.
	(read_bmp_file): fixed RLE corruption and possible segfault.
	Thanks to Jakub Bogusz for the patch.
	(read_bmp_file): added bounds-checking, which should catch
	problems with corrupt files. There was a definite chance of a
	local DoS previously (given a maliciously-corrupted file). Thanks
	to Jakub Bogusz again for pointing this out. Ghod, I hadn't
	realised the BMP format was so evil as to have a `move current
	position' thing... ugh... :-(
	(read_bmp_file): 8-bit non-RLE was reading a full line, rather
	than only the valid pixels in it, which corrupted the edges -
	fixed.

2001-09-22  Russell Marks  <russell.marks@ntlworld.com>

	* src/zgv.c (inithowfar): now uses drawbutton(). Removed inner
	bevel. Changed old "Decompressing" text to "Reading".

	* src/scrollbar.c: now uses drawbutton() to draw arrow buttons and
	slider.

	* src/3deffects.c (drawbutton): all `buttons' are now drawn in a
	GTK+-ish manner, and thus no longer look so crap. :-)

	* src/helppage.c (showhelp): dropped the decidedly unhelpful `3D'
	text in help pages, they just draw normal text now.

	* src/scrollbar.c (draw_scrollbar_main_empty): halved
	empty-scrollbar `depth'. Makes more sense :-), and makes it a bit
	clearer.

	* src/zgv.c: redesigned selector screen somewhat. The logo is
	gone, replaced with something nearer to a `title bar', and the
	directory name moves there. The inner bevels around blocks of
	screen are gone. Along with making the longest displayable
	filename a tiny bit shorter (half-a-char on average), this means
	that the default display shows 5x4 thumbnails rather than 4x3. The
	scrollbar is now enabled by default whether you're using a mouse
	or not, to make your position in the file list clearer. The
	fullscreen-selector toggle (on `f' and `z') is gone, as is the old
	`fullsel' option which matched it (it now gives a warning).

	* src/vgadisp.c (redrawgif): scaling up previously drew an entire
	line unnecessarily for images which remained smaller than the
	screen when scaled up - fixed.

	* doc/sample.zgvrc: converted to use new option names. Also
	tweaked the layout slightly.

2001-09-20  Russell Marks  <russell.marks@ntlworld.com>

	* src/rcfile.c (parsecommandline): added GNU-style long-option
	support, and changed/reorganised config file option names to suit
	this; see `Invoking zgv' in info file or `OPTIONS' in man page.
	Essentially things are a lot more xzgv-like now. That said, most
	old option names are still supported in config files, so it
	shouldn't break things.
	(defaultcfg): removed `hicontrol' option; being able to disable it
	was always of questionable value with it being such an obviously
	Good Thing. zgv now always acts as if the option were enabled
	(i.e. no change in default behaviour), and gives a warning if the
	option is mentioned. Also removed `hicolmodes', which has long
	been obsolete, with a similar warning if it's seen.
	(parsecommandline): the `centre' setting can no longer be toggled
	on the command-line with the `-c' option. (But now you can use
	`--centre=off' to disable it.)

	* src/vgadisp.c (animate_gif): now supports animation with the
	same orientation as the normal picture. (So for example you can
	flip the picture, and the animation will be of similarly flipped
	frames.)
	(showgif): optional black background in 8-bit modes, disabled by
	default (use the `black-background' config file option to enable).
	It works by swapping the nearest-to-black palette index with the
	zero index, and altering the in-memory image to match. This can be
	rather nice for consistency with high-colour images, but means
	8-bit images can take longer to appear.
	(animate_gif): animating in zoom mode no longer pointlessly clears
	the screen for each frame.

	* doc/zgv.texi (Supported File Formats): the default location of
	rgb.txt changed some time back, updated the mention here.

2001-09-18  Russell Marks  <russell.marks@ntlworld.com>

	* src/vgadisp.c: made repeat_sig a volatile int, though in
	practice I seem to have got away with this before. :-)
	(animate_gif): GIF animation speed is now much, much more
	accurate; it previously tended to run rather slowly.

	* src/vgadisp.c (showgif): didn't previously do the required
	redraw when toggling fakecols (with `F') when in 16-colour mode.

	* src/3deffects.c (msgbox): message boxes can now pop up over the
	existing viewer screen in most cases (i.e. in any mode which is
	640x480 or higher), using much the same approach as the mouse menu
	does. This means that e.g. doing `:' in the viewer to get file
	info generally doesn't need a mode switch any more.

2001-09-09  Russell Marks  <russell.marks@ntlworld.com>

	* src/readgif.c (outputstring): broken GIFs could overrun a buffer
	previously - fixed. Any DoS exploit would have been rather
	non-trivial, as it was a static buffer with overruns `carefully'
	limited to 12k. (Yes, this was a weird one... :-))

2001-07-21  Russell Marks  <russell.marks@ntlworld.com>

	* src/zgv.c (showerrmessage): fixed buffer overrun. The source
	string was from JPEG/PNG library error messages, though, so in
	practice I doubt any DoS exploit was possible.

	* SECURITY: slight correction - you don't have to own the console
	to run zgv if you're running as root. Doesn't really make any
	difference to what I was saying given the context, but worth
	getting it right.

	* src/zgv.c (rename_file): used to implicitly rely on the buffer
	used in 3deffects.c's cm_getline() being exactly 256 bytes to
	avoid a buffer overrun. This did happen to work (since it *is*),
	but, yuck. Fixed that, and took the opportunity to avoid some
	duplicated code, too.

2001-06-30  Russell Marks  <russell.marks@ntlworld.com>

	* Version 5.4.

	* Changed email address most places to my svgalib.org one.

2001-06-21  Russell Marks  <russell.marks@ntlworld.com>

	* src/3deffects.c (msgbox): now only changes mode for error if it
	has to (thanks to Wim Osterholt for spotting this). There's little
	real benefit in this change at the moment, but it makes it
	consistent with mode change behaviour elsewhere, and will be
	useful if it's ever changed to try and stick in the same mode
	where possible (as it really ought to...).

2001-06-13  Russell Marks  <russell.marks@ntlworld.com>

	* src/vgadisp.c (setmode_or_clear): previously set the mode to
	`curvgamode' rather than `newmode' - fixed that. But luckily, it's
	always been called with newmode==curvgamode. :-)

2001-06-04  Russell Marks  <russell.marks@ntlworld.com>

	* src/rcfile.c (getbool): now allows `1' and `0' as alternatives
	to `on'/`off' and `yes'/`no' for boolean option setting. Also made
	the documentation a bit clearer about how bools can be set. Thanks
	to Johannes Zellner for indirectly noticing the problem.

	* src/zgv.c (ispicture): you can now optionally use magic-number
	testing to choose which files to list in the selector (Alt-m
	toggles it, and `fsmagic' is the relevant config file var). This
	approach is much slower, but useful when you have files lacking
	extensions. Thanks to Dank Mikls for suggesting this.
	(makedirxv332): animated GIFs now have thumbnails showing only the
	first image. The current implementation is a bit kludgey (it reads
	the lot, then ignores everything after the first :-)), but I'd put
	this off long enough that it was worth it just to get it done.

2001-05-29  Russell Marks  <russell.marks@ntlworld.com>

	* src/readbmp.c (read_bmp_file): some 24-bit BMPs seem to have
	extraneous palettes, so we skip those now. Fixes some files which
	were previously broken. Thanks to Matan Ziv-Av again for spotting
	this.

2001-05-25  Russell Marks  <russell.marks@ntlworld.com>

	* src/vgadisp.c (aborted_file_cleanup): TIFF abort was broken
	previously, though you can't actually abort TIFF-reading at the
	moment anyway so it was kind of a theoretical bug... :-)

	* src/readbmp.c (read_bmp_file): hacked to avoid various
	running-on-x86 assumptions (endianness etc.). Thanks to Matan
	Ziv-Av for spotting this. Also fixed BMP-read aborting, which
	would have (at best) segfaulted in its previous form. And
	dithering 24-bit BMPs to 8-bit was badly screwed up, using the
	wrong palette and ignoring the jpeg24bit option - now fixed.

2001-04-26  Russell Marks  <russell.marks@ntlworld.com>

	* src/modesel.c (check_modedesc_array): fixed typo in error. :-)

2001-04-25  Russell Marks  <russell.marks@ntlworld.com>

	* doc/zgv.texi (Gamma Adjustment): whoops, another outdated
	keypress - `:' doesn't reset brightness/contrast any more, changed
	to `;'.

2001-04-23  Russell Marks  <russell.marks@ntlworld.com>

	* src/vgadisp.c: improved 640x480x4 colour dithering slightly, and
	changed so it now transparently adjusts base gamma (without
	changing the effect of user-specified gamma); the dithered image's
	`normal' relative gamma is now 2.2. Essentially, it tends to look
	a bit more like it does in proper 8-bit modes now. :-) Also added
	optional error-diffused dithering (enable with Alt-c or
	`fastdither16col off' in config file) - this usually looks better,
	but is much too slow to be the default.

	* src/vgadisp.c: 640x480x4 was still listed on `4' on the mode
	help page, when it's been on `0' for a while. (Similar problem
	with mouse menu meant the 640x480x4 option on that wasn't working,
	either.) Thanks to Wim Osterholt for spotting this.

2001-04-10  Russell Marks  <russell.marks@ntlworld.com>

	* src/readbmp.c (read_bmp_file): fix for 16-colour BMPs. I think
	all 16-colour BMPs with width not a multiple of 8 were previously
	broken. Thanks to Vlad Harchev for reporting this.

2001-04-08  Russell Marks  <russell.marks@ntlworld.com>

	* src/zgv.c: previously, when you deleted a file, or a
	file-move wasn't successful, all tags were lost. This could be
	extremely annoying at times. It's finally fixed. Thanks to
	Dank Mikls for reminding me about this one (I'd noticed it
	before).

2001-03-22  Russell Marks  <russell.marks@ntlworld.com>

	* src/readgif.c (read_gif_multi): previously didn't read broken
	animated GIFs (those with multiple image block terminators, which
	breaks the GIF spec) - it stopped after one image. *Not* a bug,
	but it now tolerates such bogosity anyway. Thanks to Daniel Biddle
	for spotting this.

2001-03-16  Russell Marks  <russell.marks@ntlworld.com>

	* src/readgif.c (read_gif_multi): a fix for `restore to background
	colour' replacement method in animated GIFs - it previously
	trusted the left/top/width/height values for the GIF images to be
	sane (i.e. to fit within the defined `screen'). Not only was this
	a Bad Idea (whoops), there really are GIFs out there which screw
	up something as pathetically basic as this. Joy. Remind me again
	just why the fsck I bother supporting GIF at all? Thanks to Michal
	Svec for spotting the problem.

2001-02-12  Russell Marks  <russell.marks@ntlworld.com>

	* src/vgadisp.c: added equivalent of xzgv's zoom-reduce-only
	option, which lets you reduce big pictures in zoom mode without it
	also enlarging small ones. It's on Alt-r, and the config file
	option `zoom_reduce_only'. Thanks to Jan Blasiak for this.

2001-01-22  Russell Marks  <russell.marks@ntlworld.com>

	* doc/makeman.awk: when I changed `Invoking Zgv' to `Invoking zgv'
	- which I think dates back to version 5.2 - makeman.awk's renaming
	of that section to `OPTIONS' broke. So the man page was even more
	bizarre than usual. :-)

2001-01-18  Russell Marks  <russell.marks@ntlworld.com>

	* Version 5.3.

	* doc/zgv.texi (Using a Mouse): removed old warning about
	/dev/cua*, hopefully people have got the message by now. :-)

	* src/zgv.c (file_count): you can now use Alt-f in the selector to
	get a file and tagged-file count, i.e. to show how many files
	there are in the dir, and how many are tagged. Thanks to Leopoldo
	Cerbaro for this idea.

2001-01-15  Russell Marks  <russell.marks@ntlworld.com>

	* Added support for PRF, which is basically a kind of extrapolated
	version of my old mrf format - unlike mrf, PRF supports greyscale
	and colour. Thanks to Brian Raiter for both devising the format,
	and writing the reference implementation readprf.c is heavily
	based on.

2001-01-11  Russell Marks  <russell.marks@ntlworld.com>

	* src/vgadisp.c (showgif): file details in viewer now give the
	correct height for animated GIFs (even though this doesn't
	actually match the height when viewing them in the viewer in a
	non-animated way). The selector will still report the
	one-image-on-top-of-another size, but that needs a rather more
	complicated fix.

2001-01-07  Russell Marks  <russell.marks@ntlworld.com>

	* src/vgadisp.c: mode help now mentions `[' and `]' keys, which
	are probably of interest...

	* src/vgadisp.c: `:' now shows file details in viewer. Thanks to
	Leopoldo Cerbaro for suggesting this sort of thing, even if it's
	not entirely what he had in mind. :-) It has to change modes, so
	it's a bit ugly, but may be useful if you're using zgv from lynx
	or something. (Note that in this case, image width/height are
	always reported, and don't depend on any thumbnail.)

	* src/zgv.c (file_details): file details reported now include
	image width/height (if recorded in thumbnail).

	* src/3deffects.c: fixed a slightly misleading comment - msgbox()
	uses file-selector mode when it needs to change modes.

2001-01-04  Russell Marks  <russell.marks@ntlworld.com>

	* src/readtiff.c: looked at a couple of possible ways of adding a
	progress report to the TIFF reader, and decided against doing it.
	It's just too hairy, the only tolerable way which was remotely
	close to working slowed it down, and at least this way it's
	arguably more obvious that Esc won't abort. :-/

2000-12-28  Russell Marks  <russell.marks@ntlworld.com>

	* src/readtiff.c: added libtiff-using TIFF reader. No more
	tifftopnm kludges :-), and it makes things a lot faster.
	Though it does currently mean there's no progress report while
	reading the TIFF.

2000-12-21  Russell Marks  <russell.marks@ntlworld.com>

	* `make install' permissions changed to world-readable and
	owner-writable, for both executable and (FWIW) info file/man page.
	Doing the old (4)511 thing was more force of habit than anything
	else, and the Debian Policy Manual makes a fair argument for
	readable executables.

2000-12-15  Russell Marks  <russell.marks@ntlworld.com>

	* src/readgif.c (outputstring): now implemented
	non-recursively, which should prevent similar GIF problems in
	the future. It should also guard against hanging on broken
	GIFs with recursive (or mutually recursive) `strings', as it
	limits the output to the max possible from the LZW used in GIF
	(4096 bytes).

2000-12-13  Russell Marks  <russell.marks@ntlworld.com>

	* src/readgif.c (decompress): inittable() shouldn't have trusted
	code size to match numcols. It broke on a certain flavour of
	unusual and suboptimal, but valid, GIF with less than 256 colours
	(probably generated by a `broken' encoder). This was pretty
	horrible, as it hammered the stack and dumped you out while still
	in graphics mode. Yuck. Thanks to Lenart Janos, Josip Rodin, and
	Chris Lawrence for spotting this and/or pushing the bug report to
	your friendly neighbourhood upstream maintainer. :-)

	* src/magic.c (magic_ident): big-endian TIFF magic was wrong. I'd
	hope these aren't that common, given that nobody noticed it. :-)
	[Actually, Gaute Strokkenes filed a Debian bug report about it
	a week or two later.]

2000-11-08  Russell Marks  <russell.marks@ntlworld.com>

	* doc/sample.zgvrc: added note above `startmode' that the depth is
	effectively irrelevant since zgv adjusts that as needed, and added
	sample entry for `fs_startmode', making it clear how the two
	differ. Also fixed reference to non-existent man page section,
	changing to "info file or man page" while I was at it.

2000-11-04  Russell Marks  <russell.marks@ntlworld.com>

	* doc/makeman.awk: changed (man page's) first SEE ALSO entry from
	xv to xzgv, which seems more appropriate somehow. :^)

	* Changed Makefiles to use `cd foo && $(MAKE)' instead of the
	previous `$(MAKE) -C foo'. (Intended as a first step towards
	integrating a FreeBSD port.) Thanks to Michael Lynn for pointing
	this out.

2000-10-25  Russell Marks  <russell.marks@ntlworld.com>

	* doc/makeman.awk: previously, a one-line paragraph with a
	formatting-type @-command would merge into the start of the next
	paragraph (fix from xzgv). Hadn't yet caused problems in zgv, but
	worth fixing.

	* src/readgif.c (outputchr): was previously broken for
	interlaced GIFs with less than 4 lines (fix ported from xzgv).

2000-10-10  Russell Marks  <russell.marks@ntlworld.com>

	* Version 5.2.

	* src/readnbkey.c: ok Sergei (Ivanov - see TIFF fix entry below),
	Esc-Esc is now mapped to Esc (since it shouldn't break anything,
	and I don't plan to use Alt-Esc). One of the weirder requests I've
	had, but there you go. :-)

	* doc/makeman.awk: whoops, didn't output "foo \- foo is a bar"
	before, since gawk (quite reasonably) ate the single backslash.
	:-/

	* doc/zgv.texi: updated `known bugs' and related sections.

	* etc/README.bin: added note on TIFF support and the required
	location of tifftopnm.

	* Slightly tweaked comments in config.mk and etc/bin.makefile.

2000-09-27  Russell Marks  <russell.marks@ntlworld.com>

	* src/vgadisp.c: *finally* added gamma support (ported from xzgv,
	though I expect zgv 5.2 will get uploaded before xzgv 0.6). The
	basic idea is to ignore the rather unworkable image/screen gamma
	distinction, and just use a relative gamma with fast shortcuts for
	common cases. So pressing `1' gives a gamma adjustment of 1.0
	(i.e. no adjustment), `2' gives 2.2 (for e.g. viewing linear-gamma
	files on an average PC monitor), `3' gives 1/2.2 (~0.45, for e.g.
	viewing 2.2-gamma files on a linear-gamma display), and `4'
	reverts to any `-G' setting (or 1.0 if none was set). You can also
	use alt-comma and alt-dot for more precise control of gamma
	adjustment. Note that gamma is deliberately *not* reset by the
	brightness/contrast resetting keys.

	* doc/zgv.texi: replaced `Zgv' with `zgv' throughout. The
	mixed-case version has never really made sense IMHO, and I may as
	well start trying to get rid of it.

	* src/vgadisp.c: moved 640x480 16-colour mode select to `0'
	(rather than 4) and off-by-one interpolation toggle to `!'
	(rather than 1). This is to make room for gamma support (which
	I'm porting from xzgv) which will need both those keys.

	* src/zgv.c: previously, JPEG thumbnails for images over a
	certain size were generated with bogus width/height info. This
	isn't shown in zgv yet, but was a pain from things like xzgv.
	If you found this an annoyance, you should delete any old
	thumbnails generated by zgv 5.0 or 5.1 (removing the whole
	.xvpics dir is easiest), and generate new ones.

	* src/vgadisp.c: TIFF-reading used to blindly run an unmodified
	filename through the shell. Fixed that. Thanks to Sergei Ivanov
	for pointing this out, and suggesting the fix. Since the TIFF
	reader still trusts that `tifftopnm' will do what the name
	suggests, there's now a TIFFTOPNM setting in config.mk to specify
	the exact location of the tifftopnm executable.

2000-08-08  Russell Marks  <russell.marks@ntlworld.com>

	* src/zgv.c: root is now allowed to run zgv from any tty, for
	consistency with svgalib's approach to this. (I was reluctant to
	make this change, but if you're root there are rather worse things
	you could do...) Thanks to Vlad Harchev for convincing me to do
	this. :-)

2000-06-01  Russell Marks  <russell.marks@ntlworld.com>

	* Version 5.1.

	* etc/bin.makefile: added uninstall target here too.

	* Makefile: added uninstall target.

2000-05-10  Russell Marks  <russell.marks@ntlworld.com>

	* src/readpnm.c: now supports raw 16-bit PNMs, as added in netpbm
	9.0. Thanks to Bryan Henderson for pointing out this format.

2000-04-23  Russell Marks  <russell.marks@ntlworld.com>

	* Updated email address everywhere. (Except a few entries here, as
	the dtn.ntl.com address was current when I wrote them, so it only
	seems fair to leave them intact.)

	* README: removed mrf junk which no-one cares about. :-)

	* src/vgadisp.c: added keys to change to smaller/bigger
	(lower/higher-res) video mode, `[' and `]' respectively. These
	follow the same mode-selecting rules as auto-mode-fit (no 320x200,
	for example). Thanks to Michal Svec for this idea.

2000-04-20  Russell Marks  <russell.marks@dtn.ntl.com>

	* etc/bin.makefile: added SHARE_INFIX stuff. This makefile (for
	installing the binary distribution) defaults to the traditional
	info/man locations, though, to try and avoid problems.

2000-04-15  Russell Marks  <russell.marks@dtn.ntl.com>

	* src/bdf2h.c: since most package maintainers seem to insist on
	`fixing' a `buffer overrun' for a non-setuid program run at
	compile time only putting a max of *three chars* in a 128-byte
	buffer, I rewrote the code. Mumble pedantic bastards mumble ;-)

2000-04-14  Russell Marks  <russell.marks@dtn.ntl.com>

	* config.mk: now installs info file/man page under the
	FHS-friendly /usr/share/{info,man/man1} by default. Comment out
	SHARE_INFIX to get the old locations.

2000-04-13  Russell Marks  <russell.marks@dtn.ntl.com>

	* src/zgv.c: now maps ^D to D in xzgvkeys mode (delete file).

	* src/vgadisp.c: added auto-mode-fit mode (enabled by shift-z in
	viewer, or `automodefit on' in config file, but disabled by
	default) which, if enabled, chooses the `smallest' mode in which
	the picture can be shown in its entirety. A bit like zoom mode,
	but using video modes to do the work. Thanks to Michal Svec for
	suggesting this one. I feel duty bound to point out that all the
	mode-switching can be a bit hard on your monitor, so even if you
	really like this idea you might not want to enable it all the
	time. Still, it's up to you.

2000-03-10  Russell Marks  <russell.marks@dtn.ntl.com>

	* Added an `xzgvkeys' mode which changes some keys to match xzgv,
	as while xzgv has similar keys to zgv some of them differ - in
	particular, the tagging keys in the selector, and the
	previous/next/tag-then-next keys in the viewer.

	* src/readnbkey.c: now more flexible in allowing Alt-foo key
	combinations like Alt-=.

	* src/zgv.c: fixed typo which meant that, if you started up in a
	non-640x480 selector with the mouse enabled, it still started at
	(320,240).

2000-02-05  Russell Marks  <rus@cartman>

	* src/zgv.c: file rename used to theoretically allow renaming to
	`./foo', but screwed up the test. Made it just refuse anything
	with `/' in, formalising the bug. :-)

2000-01-23  Russell Marks  <rus@cartman>

	* src/zgv.c: fixed a (really spectacularly unlikely) buffer
	overrun in fixvt(). (You'd have to have hacked the kernel to do
	this one, and your exploit m/c would have to be in a single
	returned int such that the appropriate "%d" would expand it into
	the string - challenging for sure. And that's assuming it was
	an auto array; since it was already static it'd be even more
	`interesting'. :^))

2000-01-22  Russell Marks  <rus@cartman>

	* SECURITY: new file discussing security issues.

	* src/readxpm.c: buffer overrun fixes - long colour names had two
	different ways they could screw up. :-/

	* src/vgadisp.c: buffer overrun fix - a TIFF with a >256-char or
	so filename (possible from cmdline) would previously have done so.

2000-01-16  Russell Marks  <rus@cartman>

	* doc/zgv.texi (Restrictions): errr, 32-bit video modes *are*
	supported... :-)

2000-01-09  Russell Marks  <rus@cartman>

	* doc/zgv.texi (Copying/Moving Files): added entry for move file,
	which I'd somehow managed to miss. :-/ Also, copy *doesn't* try to
	preserve date, permissions etc., only move does (to keep
	intra/inter-filesystem moves consistent).

1999-12-10  Russell Marks  <rus@cartman>

	* AUTHORS: created. Just points at the main docs, I'm sure a
	duplicate copy would get out of date. :-)

1999-11-28  Russell Marks  <rus@cartman>

	* README: made pointer to docs more obvious (as in xzgv).

1999-11-22  Russell Marks  <rus@cartman>

	* Version 5.0.

	* src/vgadisp.c: GIF animation now always restores the picture's
	original orientation before playing (the animation screws up
	otherwise, especially if it's rotated). It restores the old
	orientation on leaving animation mode.

1999-11-16  Russell Marks  <rus@cartman>

	* src/vgadisp.c: when a multi-image GIF was animated with zoom
	mode enabled, it didn't clear the screen on exiting the animation.
	Without zoom enabled this is fine; however, *with* it enabled this
	meant the (usually smaller - think about it) zoomed image was left
	overlaid on a larger zoomed frame. So, fixed that.

1999-11-06  Russell Marks  <rus@cartman>

	* doc/zgv.texi (Acknowledgements): reorganised to reflect the
	slightly saner layout I used in xzgv's one. Also, added a credit
	for `install-info'.

1999-10-25  Russell Marks  <rus@cartman>

	* src/zgv.c: finally removed that annoying flashing off and on
	of most of the display just to draw a newly-created/updated
	thumbnail!

1999-10-23  Russell Marks  <rus@cartman>

	* src/zgv.c: thumbnails are now generated with width/height info.
	This isn't yet used by zgv, but it's used by (e.g.) xzgv's `file
	details' dialog.

1999-10-17  Russell Marks  <rus@cartman>

	* src/readgif.c: now resets the progress indicator for each image
	loaded from the file. Not great, but better than always appearing
	to be at 100% after the first image. :-)

	* src/readgif.c: GIFs using palette indicies >=128 for
	transparency previously had their transparency ignored (a couple
	of `char *' pointers should have been `unsigned char *').

1999-10-16  Russell Marks  <rus@cartman>

	* src/vgadisp.c: `:' and `;' now both reset brightness and
	contrast to normal (`*' still does this too). These keys make more
	sense, I think (being next to the keys used for
	brightness/contrast). I honestly have no idea why I picked `*' for
	this originally...

1999-10-15  Russell Marks  <rus@cartman>

	* src/readgif.c: ok, finally added Matan's animated GIF support. I
	had to pretty much pull it apart to figure out what was going on
	:-), and I tidied up parts of it a little, but the bits which were
	actually related to multi-image GIF (rather than the N other
	random changes) are mostly intact. One downside to this is that it
	ignored `errignore', possibly as this becomes a lot more
	complicated to handle with multiple images - so I've decided to
	simply stop applying errignore to GIFs. (If you don't like this
	change, feel free to say so...)

	* src/readnbkey.c: the modes on shift-F1 to shift-F9 were two
	keys out of sync on recent (?) keymaps (I didn't notice as I
	don't tend to use these modes, and until a week or two ago
	hadn't been able to use *any* SVGA modes for a few months).
	Should now be fixed - and copes with both function-key-mapping
	styles - but shift-F9 doesn't seem to generate anything with
	the default keymap, so I had to move the 1280x1024x24 mode to
	another key. I decided the least nasty thing to do would be to
	move it to Tab-F1, and move up all the (1152x864 and
	1600x1200) modes previously on Tab-F1..F8 up a key. Sorry if
	this annoys anyone.

1999-09-30  Russell Marks  <rus@cartman>

	* Added several changes from Debian as pointed out by Andy
	Mortimer. Thanks to Andy and the others responsible for these.
	Mostly these were fixes for potential buffer overruns, though
	there was also a fix for corrupt GIFs (it could have hanged for
	ones broken in just the right way before), and the removal of the
	`-a' (alternate command) option (which was pretty nasty and of
	questionable value anyway).

	* Added Photo-CD support from Matan Ziv-Av. Matan generously
	agreed to make this optional (I rather disapprove of
	Photo-CD), and it's not included by default (you can choose to
	include it or not at compile time in config.mk). Matan also
	contributed animated GIF support, but I wasn't happy with the
	implementation of the GIF-reading side (e.g. the 256-image
	limit seems arbitrary, and a GIF with more images would
	probably cause a segfault), so I've delayed adding this until
	I can investigate that side of things more closely.

1999-09-29  Russell Marks  <rus@cartman>

	* Uses libraries in a saner way, using `-lfoo' and assuming you've
	got them installed (it's a good bet that most people will have, or
	will be able to).

	* PNG support is no longer optional. So no more excuse for not
	using this spiffy format. :-)

1999-09-25  Russell Marks  <rus@cartman>

	* src/zgv.c: more border-avoiding, here in the non-thumbnail mode.

	* src/helppage.c: now deals with colours more like the selector,
	saving it from suddenly sprouting a border on e.g. the SiS driver.

	* src/zgv.c: not doing a VT_WAITACTIVE in fixvt() seemed to be
	breaking things sometimes when switching from a graphics mode
	(particularly from X).

1999-08-18  Russell Marks  <rus@cartman>

	* src/vgadisp.c: corrected very serious bug - slight misquote in
	a jokey comment. ;-)

1999-08-09  Russell Marks  <rus@cartman>

	* src/rcfile.c: parseconfig() still had a K&R-ish declaration for
	some reason... :-)

1999-08-02  Russell Marks  <rus@cartman>

	* Several changes to avoid excessively pedantic egcs warnings
	about "ambiguous `else'". Also a couple of changes to avoid
	perfectly sensible warnings about multiple global `howfar'
	declarations.

	* src/vgadisp.c: removed completely unused `nextline', which was
	leaking width*3 bytes on 15/16/24/32-bit displays for every redraw
	when viewing a scaled picture (i.e. scaling>1).

1999-06-28  Russell Marks  <rus@cartman>

	* src/mousecur.c: the mouse pointer is no longer distorted
	(double-width) in 320x400 and 360x480 modes.

1999-06-14  Russell Marks  <rus@cartman>

	* src/vgadisp.c: added scaling support in 320x400 and 360x480
	modes.

1999-05-24  Russell Marks  <rus@lifeson>

	* Version 3.3.

1999-05-23  Russell Marks  <rus@lifeson>

	* Removed dashes from NEWS; hopefully excerpts posted from it on
	c.o.l.a will look slightly less nasty now. :-)

1999-05-21  Russell Marks  <rus@lifeson>

	* Renamed README.src to INSTALL, and fixed references to it.

1999-05-11  Russell Marks  <rus@lifeson>

	* src/rcfile.c (usage): rephrased `-R' description to emphasise
	shuffling over randomisation, and tabified the usage help.

	* src/zgv.c: you can now use R to rename a file, by analogy with
	C, M, and D for copy/move/delete. The old alt-r still works,
	though. The slideshow shuffle (randomise) toggle is now only
	available on S.

	* src/modesel.c: fixed a couple of comments which were out-of-date
	and a bit misleading.

1999-04-21  Russell Marks  <rus@lifeson>

	* Added 32-bit support, since apparently some cards provide 32-bit
	modes but not 24-bit ones. The mode-match stuff (and keys to
	select 24-bit modes) will choose 24-bit over 32-bit, but will use
	32-bit if that's all that's available. (The idea behind this is
	that 32-bit modes are slower than 24-bit ones; there's no way I
	can actually test this though.) Some of the 32-bit support (the
	converting from 24-bit and copying to the screen) is from Matan
	Ziv-Av's newzgv 4.2 - that looks reasonable and presumably works.
	(An important point as I can't test it. :-))

	* Mode-matching is now a bit more sane, and shouldn't use any
	modes not available from the keyboard any more. Also took this
	opportunity to unify all the mode-selecting stuff a bit, it now
	all uses a modedesc[] array (defined in modesel.c), so adding a
	new mode to zgv should now merely be a case of adding an entry to
	this array. (Though documenting the addition must still be done
	separately. :-))

1999-04-18  Russell Marks  <rus@lifeson>

	* src/zgv.c: thumbnail update's "Resampling..." text could
	previously have appeared in just about any colour. :-)

	* src/resizepic.c: fixed bug where thin images would cause FP
	exceptions. (This applied to pictures with aspect ratios wider
	than 80:1 or taller than 1:60.) Thanks to Jan Willamowius for
	finding this one.

1999-04-16  Russell Marks  <rus@lifeson>

	* src/zgv.c: changed `-T' behaviour to output files separated by
	LFs, not spaces. (Also changed rather dim use of
	printf(gifdir[f].name), which wouldn't have been fun for filenames
	with `%' in. :-)) Thanks to Bill Stone for bringing the problem
	this causes for filenames with embedded spaces in to my attention.

1999-04-08  Russell Marks  <rus@lifeson>

	* src/vgadisp.c: vkludge in 8-bit modes is now slightly less
	accurate (it works with 15-bit RGB values rather than 18-bit
	ones), but considerably faster.

	* src/vgadisp.c: you can now reverse the order in which brightness
	and contrast are applied, using `B' or the cfg file option
	`bc_order_rev'.

1999-03-30  Russell Marks  <rus@lifeson>

	* src/readpcx.c: multi-plane (4-bit or 24-bit) PCXs which had runs
	going across planes weren't decoded correctly; fixed that.

1999-03-28  Russell Marks  <rus@lifeson>

	* Makefile: got a clue and used `$(MAKE)' instead of literal
	`make' for recursive invocations. :-) What can I say, I was
	writing it quickly, everyone makes mistakes, the dog ate it.

	* Makefile (src-tgz): corrected `--exclude' arg thinko - should
	have been `*/sav', not `*/sav*'. Didn't break anything,
	fortunately.
	
1999-03-21  Russell Marks  <rus@lifeson>

	* doc/zgv.texi: mentioned Electric Eyes as an xv-like program
	in rationale section.

1999-03-16  Russell Marks  <rus@lifeson>

	* Version 3.2.

	* Man page is now automagically generated from zgv.texi by
	makeman.awk.

	* Fixed `-p' bug where mouse pointer position was effectively
	uninitialised.

1999-03-15  Russell Marks  <rus@lifeson>

	* src/zgv.c: removed a couple more unnecessary redraws.

	* src/zgv.c: fixed bug in cmdline-based slideshow (i.e. running
	zgv with more than one filename). Previously it had a junk file at
	the end of the slideshow, though this didn't seem to cause
	problems in practice.

	* The file selector can now run in higher-res modes (800x600,
	1024x768, and 1280x1024). You can change modes with F1/F2/F3/F4,
	or use the config file var `fs_startmode' to set the initial mode.
	The higher-res selector was Matan Ziv-Av's idea, though I found
	his approach slightly confusing so I ended up writing my own code
	to do it. :-)

	* Makefile: removed `-src' from src distribution filename.

	* Moved fonts to a separate `fonts' dir.

1999-03-14  Russell Marks  <rus@lifeson>

	* src/vgadisp.c: also added separate video-mode help (on `/'),
	another of MZ's ideas.

	* src/vgadisp.c: added Matan Ziv-Av's code to only change mode if
	needed (slightly hacked), and to do brightness/contrast in
	high-colour modes (but only if brightness/contrast have been
	changed). I have to say, I was surprised by how quick this is! :-)
	(I also made brightness/contrast work in 640x480x4 mode while I
	was at it.)

	* src/zgv.c: added file rename (on Alt-r, I think I might be
	running out of keys :-)). Thanks to Matan Ziv-Av for the code this
	was based on.

	* Rearranged directory structure and Makefiles so that the zgv
	(source) distribution is the same as the way I've always worked on
	zgv, rather than the slightly stupid layout it had before. The
	main upshot of this is that you now edit `config.mk' rather than
	Makefile to set things up.

1999-03-10  Russell Marks  <rus@lifeson>

	* zgv/vgadisp.c: added picture-orientation stuff. Alt-n reverts to
	normal (undoing any mirrors/flips/rotations), Alt-o restores the
	orientation which was used for the previous picture, and Alt-s
	saves the current orientation to be used for all pictures until
	you press Esc. Also, config file option `revert_orient' can be
	disabled to always preserve orientation between pictures. Thanks
	to Ben Schluricke for the basic idea behind this (I extended and
	generalised it a bit).

	* zgv/zgv.c: added sort by `extension', size, and time/date
	(mtime), with order selected by Alt-e/s/t (Alt-d also chooses
	time/date), and made `:' show a two-line display with filename,
	file size, and last-modified date/time. Thanks to Jan Willamowius
	(and Matan Ziv-Av) for suggesting the sort-order stuff.

	* zgv/readnbkey.c: now turns Esc-A..Z and Esc-a..z into Meta-a..z
	(128+'a' to 128+'z'), meaning I can now use Alt-letter
	combinations without having to worry about how Linux is set up.

	* zgv/rcfile.c (usage): made the usage for `-a' say "see info file
	or man page for details" rather than only mentioning the man page.

1999-03-02  Russell Marks  <rus@lifeson>

	* zgv/zgv.c: fixed display bug where you sometimes could have had
	weirdness after a file delete or move, or after rescanning a
	directory where there were fewer files.

1999-03-01  Russell Marks  <rus@lifeson>

	* Removed NGM support. NGM was a specialised greyscale format I
	used to use on the NC100; it would only have been me who ever used
	NGM files, and I now use mrf files instead.

	* zgv/readgif.c: previously segfaulted on (some, possibly all)
	pictures with both global and local colour maps. (The prime
	suspect for generating these (valid but weeiirrd) oddities seems
	to be Alchemy Mindworks' GIF Construction Set.) Also simplified
	the code a little and made it a bit more robust (translation: a
	lot less flaky :-)).

1999-02-05  Russell Marks  <rus@lifeson>

	* Version 3.1.

	* zgv/zgv.c: made mouse `scale' configurable, so if the mouse goes
	too slow/fast for your tastes, you can play with that to fix it.

1999-01-03  Russell Marks  <rus@lifeson>

	* zgv/zgv.c: previously a permission-denied message on a picture
	moved to with enter etc. *from the viewer* didn't update the
	screen, resulting in a corrupted file selector screen. Fixed that.

1998-12-16  Russell Marks  <rus@lifeson>

	* New `gnulitically_correct' config file option. If enabled, makes
	zgv display those annoying messages which RMS seems to like so
	much. ;-)

1998-12-08  Russell Marks  <rus@lifeson>

	* zgv/vgadisp.c: added slideshow pause/resume (on ^S/^Q).

	* Made help-showing code nicer.

1998-11-29  Russell Marks  <rus@lifeson>

	* doc/zgv.texi: added entries for concept index.

1998-11-22  Russell Marks  <rus@lifeson>

	* zgv/readpcx.c: added 24-bit support.

1998-11-21  Russell Marks  <rus@lifeson>

	* zgv/Makefile: various changes to handle installing of info files
	and the like.

	* Added install-info.c, from texinfo (slightly hacked). Bundling
	it with zgv seems the only reasonable way to get /usr/info/dir
	updated without requiring people to have texinfo installed.

	* New texinfo documentation zgv.texi - effectively replaces the
	man page.

1998-11-20  Russell Marks  <rus@lifeson>

	* zgv/vgadisp.c: now gives more specific error if tifftopnm isn't
	found.

	* doc/zgv.1: in 640x480x4 mode, the viewer dithers 16
	greyscales to give the appearance of *61*, not 64. (It dithers
	*between* the real greyscales of course, so there are slightly
	fewer than you (or I, apparently :-)) might intuitively
	expect.)

	* zgv/zgv.c: fixed problem with files with funny names possibly
	coming before dirs in the file list. It previously relied on the
	opening bracket of dirs to sort them first in the list, which
	wasn't the best coding ever. :-) (Hey, I wrote that bit five years
	ago, cut me some slack, eh...)

	* Added #include <errno.h> to zgv.c and copymove.c. Presumably it
	being included by other header files is why I didn't previously
	get any errors.

1998-11-19  Russell Marks  <rus@lifeson>

	* zgv/vgadisp.c: fixed bug in right-button menu in 360x480 mode. I
	was basing some maths on scrnsize (720) rather than the *actual*
	screen width (360), which resulted in the first line being left
	unrestored when the menu disappeared.

1998-11-18  Russell Marks  <rus@lifeson>

	* doc/zgv.1: ratios mentioned in bits discussing scaling were the
	wrong way round!

1998-11-14  Russell Marks  <rus@lifeson>

	* zgv/zgv.c: when started on (or jumped to) unreadable dir,
	previously would have segfaulted if $HOME wasn't set. Now coughs
	and dies, as it does in the same situation when the home dir
	itself isn't readable. Also added Emacs-style ^B/^F/^N/^P to file
	selector; there were already several Emacs-like keys, and there
	was no reason to leave those out.

1998-11-09  Russell Marks  <rus@lifeson>

	* Fixed various slight errors and inconsistencies in indentation
	(main change is that struct defs are no longer K&R-style; that
	never made much sense given my indent style).

1998-11-04  Russell Marks  <rus@lifeson>

	* zgv/zgv.c: file selector now dynamically allocates memory for
	directory, so it should now work with any size dir (previous limit
	was 4096 files) and shouldn't take up memory it doesn't need. This
	generally makes the zgv process several hundred K smaller.

	* zgv/zgv.c: added `go to file starting with next char' function
	to file selector, on `g' and `'' (quote). It acts sensibly if no
	file starts with that char, too - pretty much like the way speccy
	basic's GOTO works, which will probably mean nothing to most
	people reading this. :-) (Don't worry, the man page explains the
	specifics.)

1998-11-02  Russell Marks  <rus@lifeson>

	* zgv/readpnm.c (ditch_line): could previously have dropped into
	an infinite loop if a file was cut short in the middle of a
	comment line. For raw PNM files this would have required over a K
	of comments at the start (!), but for non-raw PNM files it could
	have been possible in less pathological circumstances.

	* Added simple-minded (but working) support for TIFF files. A hint
	as to how it works - you need to have netpbm's `tifftopnm' on the
	path for the TIFF support to work. :-) I did it this way as it was
	dead easy and I don't like TIFF very much. But there are TIFF
	files out there, so *some* sort of support seemed a good idea.

1998-10-29  Russell Marks  <rus@lifeson>

	* Made `thicktext' mode nicer if using bitmap fonts by using a
	proper bold font. (No change for line-based font though.)

	* zgv/bdf2h.c: made it produce slightly nicer output, by
	essentially sticking it all in a struct.

	* Disabled scrollbar by default unless mouse is being used. Even
	after trying to get used to it, I just found the scrollbar too
	distracting when not using a mouse. Also added `s' to toggle
	scrollbar, so it's now possible to enable it temporarily (to see
	where you are in a dir) without having to put up with it the whole
	time. :-)

1998-10-25  Russell Marks  <rus@lifeson>

	* zgv/rcfile.c: no longer tries /etc/system.zgvrc as a last resort.

	* Changed -M option to a mouse-support toggle and `mouse' cfg file
	option to be boolean - zgv always uses svgalib's mouse config now.

1998-10-21  Russell Marks  <rus@lifeson>

	* zgv/3deffects.c: drawing of blank area for dialogs is much
	faster in 16-colour mode now.

	* Got rid of many dialog-box-related complete screen redraws in
	file selector.

	* Renamed `gamma' command/cfg-file-option `fakecols', which is a
	much more sensible name for it. :-)

	* zgv/rcfile.c: made bitmap fonts default even for cards without a
	640x480x8 mode.

	* Changed all of read*.c to clear palette before filling it in
	(since it's possibly only partially filled-in) to make colour
	lookup with vkludge and the like more sensible.

	* More mouse support additions, including a menu (of sorts) when
	you click the right mouse button, in both file selector and
	viewer. This means you can now do most things using just the
	mouse. Ironically, the menu works by... emulating keypresses. Plus
	a change, eh? :-) Also, can drag screen around image (so to
	speak) in viewer by moving the mouse when left mouse button is
	pressed.

1998-10-20  Russell Marks  <rus@lifeson>

	* Lots and lots of changes to make mouse support better, including
	using svgalib's mouse support, and adding code to do a mouse
	pointer and scrollbar. So zgv now works more like it knows what a
	mouse is, rather than more-or-less just emulating keypresses. :-)
	Still much to do though...

1998-10-19  Russell Marks  <rus@lifeson>

	* zgv/readnbkey.c: key-reading was a bit dodgy before; it could
	lose keys in some situations, e.g. if you typed quickly into the
	destination-directory thing on a relatively slow machine.

1998-09-12  Russell Marks  <rus@lifeson>

	* zgv/readxpm.c: added support for XPMs with more than 256
	colours. The previous code was sufficiently paranoid that this was
	actually pretty easy. :-)

1998-09-10  Russell Marks  <rus@lifeson>

	* doc/zgv.1: removed mention of `malloc() doesn't return memory to
	system after free(), it just reuses it' concern in implementation
	section. I've noticed that the current libc does indeed appear to
	return memory to the system after a free().

1998-09-08  Russell Marks  <rus@lifeson>

	* zgv/zgv.c: added support for moving files as well as copying
	them. It doesn't deal with any existing xvpic (which should
	ideally either be moved or deleted, I s'pose). Hmm. It looks
	like Emacs 20 has a new changelog entry date format. :-)

Thu Aug 27 00:58:46 1998  Russell Marks  <rus@lifeson>

	* zgv/zgv.c: you can use `G' to go to a directory now (you're
	prompted for the name).

	* Slideshow picture order can now be randomised (shuffled) -
 	enabled with `-R', and set on/off by the `shuffleslideshow' config
 	option or R in the file selector.
	
	* zgv/zgv.c: added file copy to the file selector. Still no file
	move yet, but it's better than nothing right? :-)

	* zgv/copymove.c: created.

Wed Aug 26 12:50:02 1998  Russell Marks  <rus@lifeson>

	* zgv/zgv.c: you can now use Esc to abort when a single file
	specified on the command-line is loading.

	* zgv/rcfile.c: added support for GNU-ish `--help' and `--version'
 	options.

	* zgv/vgadisp.c: moved 16-colour-mode colour/greyscale toggle from
 	`C' to `c', but still allow `C'. There's now no picture-centring
 	toggle (formerly on `c'), since I imagine few people use it, but
 	the `centre'/`center' config file option is still ok.

	* zgv/rcfile.c (usage): fixed bug in description of `-g'
 	(betterpgm defaults to *off*, not on!).

	* Changed from having version number text as part of zgvlogo.mrf
	to drawing it in zgv.c's drawzgvlogo().

	* zgv/zgv.c: added faster method of updating thumbnails in cases
 	where there are only a few new or changed files in a large
 	directory - it only redraws when something needs to be changed.
 	This is massively faster for me, at least. :-) The old
 	show-cursor-moving-through-the-dir behaviour is available with the
 	`slowupdate' config file option.

	* zgv/vgadisp.c: in those cases where it only wants to clear the
	screen, that's now all it does (rather than changing mode, setting
	palette etc. too).

	* Made those few read*.c files which didn't already do so include
 	their own header files.

	* zgv/rcfile.c: added -S option to set slideshow timeout (like
	`tagtimeout' in config file). Also changed a few remaining error
	messages etc. with quotes used in the 'foo' manner to `foo'.

Tue Jul 28 16:11:44 1998  Russell Marks  <rus@lifeson>

	* zgv/readxpm.c: made the common cpp=1 and cpp=2 cases over twice
 	as fast by borrowing xpmtoppm's idea of using a direct lookup
 	table rather than a memcmp-based binary search. It now works at a
 	similar speed to xpmtoppm (it's still a *bit* slower, though I
 	can't figure out why). Hmm... if only I'd thought of using
	xpmtoppm's code instead of writing my own. :-/

	* zgv/readxpm.c: corrected accidental use of strcmp directly on
	elements of colchars array (which happened to work, but was deeply
	evil).

Mon Jul 27 14:07:52 1998  Russell Marks  <rus@lifeson>

	* JPEG and PNG errors were reported rather strangely; made
	them fit in with the way other errors are reported now.

Sun Jul 26 18:54:21 1998  Russell Marks  <rus@lifeson>

	* Added `-w' option, which writes a PPM to stdout instead of
	viewing a file, acting as a sort of poor-man's-converter.

	* zgv/munglogo.c: Made it convert the logo from an mrf rather than
	a GIF.

	* Renamed gifeng.* to readgif.*.

	* Added XPM support.

	* Several of the read*.c files could abort without closing the
	input file; fixed that for all cases I could find.

Sat Jul 25 20:02:13 1998  Russell Marks  <rus@lifeson>

	* Added XBM support.

Sat May 30 02:31:59 1998  Russell Marks  <rus@lifeson>

	* zgv/vgadisp.c: fixed bug in 24-bit image rotate code. Previously
 	the last line ended up being (in three out of four cases) an
 	`earlier' line.

Mon Apr  6 23:19:13 1998  Russell Marks  <rus@lifeson>

	* doc/zgv.1: removed reference to `0' key, as virtual mode has
	been removed.

Fri Mar 13 12:15:21 1998  Russell Marks  <rus@lifeson>

	* Version 3.0.

	* zgv/readpng.c: files with alpha channels should now work. (I
	thought they did anyway, but it seems they didn't...!?) For now at
	least, the alpha is always applied over a black background. This
	may not be ideal in all cases but at least it's consistent. :-)

Tue Mar 10 11:14:54 1998  Russell Marks  <rus@lifeson>

	* zgv/rcfile.c: changed to use a lookup table.

	* zgv/zgv.c: previously, if you started with `visual off', the
 	mid-grey colour was set to the tagged-file colour (i.e. red).
	Fixed that.

Mon Mar  9 11:54:36 1998  Russell Marks  <rus@lifeson>

	* zgv/zgv.c: fixed starting-on-unreadable-dir problem. It turns
 	out that the root problem of which this was really a special case
 	(what do you do when you can't read the current directory?) is
 	`interesting' to fix in the general case. (After all, quitting
 	isn't always a good approach - it's not necessarily ideal to quit
 	on doing ^R in a dir which had been deleted since it was first
 	read...) The current approach, which seems reasonable to me at
 	least, is to try going to $HOME, then quitting if not even *that*
 	can be read.

	* Added 4-bit support to the viewer, specifically 640x480
 	16-colour mode. (Yes, Andrew Haylett gets his wish - albeit three
 	years late. :-)) It's effectively an emulation of an 8-bit mode.
 	Defaults to dithered greyscale, but can optionally be dithered
 	colour.

	* zgv/vgadisp.c: removed control of virtual mode - it's now always
 	enabled in 320x400/360x480, and can never be enabled in other
 	modes. This prevents possible segfaults, and makes the code a bit
 	less confusing. :-)

	* zgv/vgadisp.c: zoom mode (for images smaller than the screen)
 	works more sensibly now, and is roughly twice as fast. It also
 	fixes an occasional segfault bug with 320x200 modes, and saves
 	having to do (those of a nervous disposition should look away
 	now...) a screen-sized malloc.

Sun Mar  8 13:36:33 1998  Russell Marks  <rus@lifeson>

	* zgv/zgv.c: sped up update_xvpics() a little.

Fri Mar  6 16:47:06 1998  Russell Marks  <rus@lifeson>

	* Fixed a couple of minor problems with the help pages.

	* zgv/vgadisp.c: added support for 1152x864 and 1600x1200 modes.
	You get at them by prefixing the function key (F1-F8) with tab.

	* zgv/readnbkey.c: sped it up (though I doubt it'll be noticeable)
	by not using huge list of strcmp's (yuck).

Thu Mar  5 04:31:39 1998  Russell Marks  <rus@lifeson>

	* Renamed `CHANGES' to `NEWS'.

	* zgv/3deffects.c: stopped msgbox() displaying text too wide
	for the screen.

	* zgv/zgv.c: if you do `:' in the file selector it now reports
	the full filename. Also, made "Directory of..." smaller for
	bitmap fonts, it's too distracting otherwise.

	* New `smallfiletext' option which reduces the size of the
	filename text in the file selector. You may find this useful if
	you think the text is too big :-) or if you'd like to see more of
	the filename.

	* Added bitmap fonts (from X, though you don't need X installed).
 	You can still get the old line-based font if you want, though, via
 	the config file setting `linetext'.

Wed Mar  4 17:38:21 1998  Russell Marks  <rus@lifeson>

	* zgv/helppage.c: use 256-colour mode (which is faster) if we're
	using it for the file selector.

	* Fixed this problem: (from old man page) "If errors occur when
 	zgv is loading a new file while the old file is still being
 	displayed, the error message appears over the top of the old
 	image". It now changes modes if necessary.

Wed Mar  4 00:09:46 1998  Russell Marks  <rus@lifeson>

	* zgv/zgv.c: sped directory reading up a little for directories
	without any associated thumbnails.

Tue Mar  3 14:29:09 1998  Russell Marks  <rus@lifeson>

	* Updated PNG support for libpng v0.96.

	* Used stdlib.h instead of malloc.h in various places (blimey, was
	that ever dated :-)).

	* zgv/readjpeg.c: removed pointless METHODDEF from a couple of
	functions. This also avoids problems with the jpeg lib version 6a,
	where `METHODDEF void' would have needed to become
	`METHODDEF(void)'.

Mon Mar  2 15:33:34 1998  Russell Marks  <rus@lifeson>

	* It now remembers where you were in a directory if you return
	to it. So if you go into a subdir then return to the parent dir,
	the cursor will be on that subdir. Also added cfg file option
	`forgetoldpos' to use old behaviour.

Tue Sep 16 17:14:27 1997  Russell Marks  <rus@lifeson>

	* doc/zgv.1: some spelling errors fixed, but there are things
 	spellcheckers can miss - sew eye might have mist sum. :-)

Wed May 28 04:46:57 1997  Russell Marks  <rus@lifeson>

	* Added `mrf' support. Mrf is a 1-bit-mono-only file format I
	thought up while thinking about how you could compress such images
	more effectively. For some kinds of input, it compresses better
	than GIF or PNG. (I've also written PD converters to/from PBM.)

Mon Mar 10 21:25:04 1997  Russell Marks  <rus@lifeson>

	* Added thumbnails for subdirs. These are made up of the first
	four files in the dir squeezed together into a single thumbnail.
	They're updated separately from picture files, as they're slower
	to create and don't work in an `update' fashion for complicated
	reasons. Create them with `d'.

Wed Feb 26 15:43:34 1997  Russell Marks  <rus@lifeson>

	* Version 2.8.

	* Added Costa Sapuntzakis' patch for much faster generation of
 	jpeg thumbnails, and tweaked it a bit so you get control over what
 	speed/quality tradeoff to use. The original patch was about the
 	same as a config file setting of `jpegindexstyle 1'. I decided
 	(after much thought!) to wimp out and use a slower but more
 	accurate one than that - the default setting is 2. This is still
 	hugely faster than the old style (available as #3).

Sun Jan 12 00:21:42 1997  Russell Marks  <rus@lifeson>

	* doc/zgv.1: documented `-a' command, which I'd somehow omitted up
	til now...

	* zgv/zgv.c: added changes from third-party patch to v2.7 (by Adam
 	Radulovic). I removed the unnecessary `assert' statement. Also,
 	the "(!strcasecmp(anentry->d_name+l-4,".jpg+"))" added clearly
 	can't work, so I removed it. Finally, I used char instead of short
 	for xvw/xwh, as they're small enough (only <=80 needed).

Sun Nov 17 18:28:05 1996  Russell Marks  <rus@lifeson>

	* zgv/vgadisp.c: added lookup table to translate number/function
	keys (which choose video mode) to G320x200x256-like labels rather
	than assuming certain mode numbers. Hopefully this should avoid
	any problems if the mode numbers are changed again.

Sat Nov  9 22:16:43 1996  Russell Marks  <rus@lifeson>

	* zgv/zgv.c: hacked to make VT switching under X, Emacs etc. work
 	under the 2.0.x kernel. It wanted a fork, and refused to honour a
 	VT_WAITACTIVE in svgalib's vga_setmode until I added one. setsid?
 	Already had that. chown? Tried it, no difference. So now it's a
 	bit icky, but at least it works (see man page for problems with
 	it). You don't want to know how hard it was to find this bug. I
 	mean, I only had to trace through svgalib into the f**king
 	kernel... :-(

Fri Sep 27 16:25:21 1996  Russell Marks  <rus@lifeson>

	* zgv/readpng.c: updated to work with libpng 0.81. It even works
	with `hell.png' now (this took considerable hacking).

Mon Aug 19 00:01:42 1996  Russell Marks  <rus@lifeson>

	* zgv/zgv.c: stopped it undrawing/redrawing the "Directory of ..."
	message unnecessarily in certain circumstances, such as scrolling
	up/down the file list.

Sun Aug 18 16:36:20 1996  Russell Marks  <rus@lifeson>

	* zgv/vgadisp.c: made viewing in 15/16-bit modes a little bit
	faster. It's about the same speed as for equivalent 24-bit
	modes, which is a bit iffy, but as good as I can manage. :-/

	* zgv/zgv.c: added support for a proper full-screen file selector,
	i.e. without the logo. Toggle with 'f' or 'z', or use 'fullsel' in
	config file.

	* doc/zgv.1: converted 'foo' to `foo' for all occurrences.

	* zgv/vgadisp.c: fixed the zoom -> scale-up problem and related
	things. Added 'g' command to toggle gamma.

	* doc/zgv.1: fixed various bugs. 'c' and 'n' weren't even listed -
 	whoops! Also expanded the BUGS section.

Thu Jun 13 14:03:08 1996  Russell Marks  <rus@lifeson>

	* Added '-T' option, to echo tagged files on exit.

Sun Nov  5 20:33:36 1995  Russell Marks  <rus@lifeson>

	* ANSIfied code. Now gets through '-Wall'. This caught a couple of
	potential schroedinbugs.

Sun Sep 17 23:03:09 1995  Russell Marks  <rus@lifeson>

	* zgv/zgv.c: shows xvpics as their own thumbnails, and stops you
 	from updating thumbnails in a '.xvpics' dir. This means you can
 	(for example) view thumbnails on the file select scrn without
 	even having the files they refer to.

	* New option 'showxvpicdir', if on shows any '.xvpics' dir on
	file selection scrn, else doesn't, as before. Defaults to off.
	(Not documented yet.)

	* Now lets you load thumbnail files as images. Fairly pointless,
 	but someone asked for it way back when.

	* Added support for NGM files. If you don't know what they are,
	you don't want to know. :-)

Tue Sep  5 13:13:15 1995  Russell Marks  <rus@lifeson>

	* zgv/readpcx.c: now reads 4-bit (16 colour) PCX files.

	* zgv/zgv.c: fixed it so updating from read-only media and DOS
 	partitions doesn't take so long. (Zgv should only update what it
	has to, now.)

	* zgv/readpcx.c: now reads mono PCX files. There's a lot of them
 	on the CD too. :-)

	* zgv/readpcx.c: added preliminary PCX support. (I just got a CD
 	with some PCX clip-art on it.) Only 8-bit supported for now. Added
 	in just under half an hour, how's that for response time? :-)

Thu Jul 13 00:39:42 1995  Russell Marks  <rus@lifeson>

	* doc/zgv.1: removed spurious 'Enter'.

Mon Jun 26 18:00:54 1995  Russell Marks  <rus@lifeson>

	* 2.7 release version.

	* Greyscale PNGs work now.

Fri Jun 23 19:18:46 1995  Russell Marks  <rus@lifeson>

	* The -i option now also applies to gifs.

	* Slightly better detection of corrupt gifs.

	* Fixed a small memory leak in gif reader when body of gif was
	corrupted (it didn't free the palette).

	* New -i option, 'ignores' errors in PNG files, i.e. displays what
	it managed to get. Should be useful when used with -r option on
	files being downloaded, esp. interlaced ones.

Thu Jun 22 16:48:59 1995  Russell Marks  <rus@lifeson>

	* PNG support nearly there. It does everything now, but screws up
	on images with alpha channels for some reason. Handles all sample
	images I've tried except 'hell.png', the bells-and-whistles one.

	* Fixed memory leak; if dithering 24-bit image and image read was
	aborted, previously left about 13*width bytes allocated.

Wed Jun 21 22:13:21 1995  Russell Marks  <rus@lifeson>

	* Got interlaced images working. It needs a bugfix to the PNG lib
	though, so I'm putting PNG support on hold for now.

	* Start of PNG support. Seems to work for non-interlaced images.

Thu Jun  8 00:07:34 1995  Russell Marks  <rus@lifeson>

	* Equivalent of -M option in rc file, as 'mouse TYPE'.

	* Added correct error message for -M without a mouse type arg.

	* Carsten's latest BMP stuff.

Fri Jun  2 00:05:36 1995  Russell Marks  <rus@lifeson>

	* Added some of gcc's warning checks to Makefile, and fixed code
	appropriately. No bugs though. Wow. :-)

Fri May 19 21:04:48 1995  Russell Marks  <rus@lifeson>

	* Added xvpic creation/use for read-only devices/dirs etc. If
	./.xvpics/foo.gif can't be used for foo.gif in /usr/local/wibble,
	something like ~/.xvpics/_usr_local_wibble/foo.gif is used (if
	possible). I've been told that xv does something similar, but I
	couldn't see any reference to anything other than ./.xvpics in the
	documentation so I made this one up myself. :-)

Mon Apr 24 07:22:10 1995  Russell Marks  <rus@lifeson>

	* RLE TGA files supported too (types 9 and 10).

	* Uncompressed TGA file types 1 and 2 supported.

Fri Apr 14 17:19:25 1995  Russell Marks  <rus@lifeson>

	* Thumbnail update bug fixed.

Wed Apr 12 19:48:40 1995  Russell Marks  <rus@lifeson>

	* Problem with -p fixed. I hope. :-)

	* Can now update thumbnails in background. It may be a while
	before you get any feedback if you switch back in the middle of
	resampling, say, but other than that it works fine.

Wed Mar  1 00:01:02 1995  Russell Marks  <rus@lifeson>

	* Added support for GIFs with local colour maps. Finally. :-)

Fri Feb 10 20:14:38 1995  Russell Marks  <rus@lifeson>

	* File selector bug fixed. If you pressed enter to view a file,
	then used ^N or Enter to go through more than a screen's-worth of
	files, then exited or reached the end of the list of picture
	files, it used to try and undraw the file you started with, which
	meant the screen got corrupted. And yes, I know that explanation
	was impossible to follow. :-)

Thu Jan 26 22:35:16 1995  Russell Marks  <rus@lifeson>

	* 2.5 release version.

	* Added BMP support from Carsten Engelmann
	(cengelm@yacc.central.de). RLE BMPs aren't supported yet.

Sun Jan 22 04:36:24 1995  Russell Marks  <rus@lifeson>

	* Fixed bug related to '-p' option (fixed this a few days back, as
	it happens).

	* Fixed (I hope) a bug where you could end up with a
	strange-looking screen after VC switching back to zgv right as
	it's switching video modes.

	* Can now load in background. That is, when you switch to another
	VC while zgv is loading, it'll keep loading rather than suspending
	until you switch back.

Wed Jan 18 00:00:34 1995  Russell Marks  <rus@lifeson>

	* Added patch by Edwin Fong (hffong@cs.cuhk.hk). New features are
	a few smart additions to tagging and moving from viewing a picture
	to the next without seeing the file selector, and mouse support.

Tue Jan 17 23:59:59 1995  Russell Marks  <rus@lifeson>

	* Fixed a bug (?) that caused (old versions of?) bash to log you
	out after exiting zgv.

Sun Jan 15 06:10:13 1995  Russell Marks  <rus@lifeson>

	* Added colour support in 16-col visual selector. It's bearable,
	but I think I'll leave greyscale as the default.

Thu Jan 12 21:23:57 1995  Russell Marks  <rus@lifeson>

	* Fixed weird automatic mode changing from 320x400 and 360x480
	bug. It must have taken me nearly a year to notice that...! Zgv
	was previously thinking that 360x480 as a current mode would only
	hold 172800 pixels, while as a potential nearest-fit mode it
	thought it could hold 720x480=345600. As such, it would choose
	320x400 next time a picture was displayed if 360x480 was chosen
	before, and 320x240 next time.

	* Fixed 'strange colours' bug with PBM files and vkludge. The
	number of colours was previously being reported as 256 colours -
	this only made a difference when the vkludge option was being
	used.

Thu Dec 22 12:03:07 1994  Russell Marks  <rus@lifeson>

	* File selector can now work in 640x480x16 mode (greyscale only)
	on normal VGA cards, i.e. those where a 640x480x256 mode can't be
	used. (Putting 'force16fs on' in ~/.zgvrc will force this
	behaviour in all cases.) Thanks to Andrew Haylett for suggesting
	this. No thanks at all to him for suggesting I support 16-colour
	modes in the viewer. :-)

Mon Dec  5 00:09:03 1994  Russell Marks  <rus@lifeson>

	* 2.4 release version.

	* zgv/zgv.c: stopped errors being reported when a corrupt file is
	read during thumbnail index updating. Thanks to David Meyer for
	pointing this out.

	* Ctrl-P and Ctrl-N now move backward one file and forward one
	file respectively. These keys work while viewing a file. The idea
	is, you can skip back and forth between files easily without
	needing to quit to the file selector. Thanks to Mark A. Pitcher
	for suggesting this.

	* Documented tagging, just about.

	* zgv/zgv.c: added '.jpeg' to listed filetypes. Thanks to Alan
	Shutko for pointing this out as a common alternative to '.jpg'.

Fri Dec  2 23:56:16 1994  Russell Marks  <rus@lifeson>

	* Removed tnpic from zgv distribution.

	* zgv/usejpeg.c: Blitzed through to update to libjpeg
	v5. Amazingly, it all seems to work. Duh? :-)

Wed Oct 26 00:39:26 1994  Russell Marks  (rus@lifeson)

	* Viewing tagged files done. Not documented yet, obviously...

	* Tagging added (mostly). Now I just need to make it actually *do*
	something. :-)

Tue Aug 23 03:54:26 1994  Russell Marks  (rus@lifeson)

	* Finished off repeat_timer stuff. See the man page - it's the
	'-r' option.

	* Fixed magic_ident() so it actually checks magic numbers rather
	than going by filename.

Mon Aug 22 20:41:37 1994  Russell Marks  (rus@lifeson)

	* Fixed something in usejpeg.c which could have called fclose()
	with an undefined value on aborting the viewing of a JPEG file. In
	theory this means that the example.c in the IJG's JPEG software v4
	has a bit of a bug...? (v4a might be fixed, though.) Quoting the
	gcc info file: "If you use `longjmp', beware of automatic
	variables.  ANSI C says that automatic variables that are not
	declared `volatile' have undefined values after a `longjmp'.  And
	this is all GNU CC promises to do,..."

Thu Aug 11 19:14:16 1994  Russell Marks  (rus@lifeson)

	* Fixed a small display bug when updating previously existing
	'xvpic' files.

Wed Aug  3 01:57:35 1994  Russell Marks  (rus@lifeson)

	* Added a very simple kind of support for image cropping programs.
	What you should do goes like this. Run something like "pnmcut `zgv
	-s input.ppm` input.ppm > output.ppm", and get the section of the
	image you want to crop to on the screen somehow using scaling,
	mode changes, whatever; then exit. With the '-s' flag, zgv outputs
	four numbers per line for each file viewed, with the command
	"printf("%4d %4d %4d %4d\n",x,y,w,h);" - i.e. each number is four
	characters (more if any is greater than 9,999), so you can use
	'cut' to grab these numbers for any particular shell script wonder
	you have in mind. This is very much a tacked-on feature, but it
	was so easy to do, and so potentially useful that I decided to add
	it on anyhow - despite the conflict with functional purity. :)

	* Fixed it so that 'zgv -h' always goes to the original stdout.
	Unfortunately, when running from a non-console zgv still VT
	switches back and forth (well, forth and back) first. This is
	non-trivial to fix properly, but I'll probably put in a kludge to
	searches for "-h" as an element of argv[] on startup. (The problem
	is all to do with throwing away root permissions at the right
	time during initialisation.)

Tue Aug  2 06:13:23 1994  Russell Marks  (rus@lifeson)

	* Added 'gamma' mode, finally. This smooths out the 64 greyscales
	possible on a standard VGA (or SVGA in 8-bit video modes) so that
	it looks as though you can see more greyscales. Kind of. It's a
	very subtle effect. The 'gamma' name is irrelevant I suppose, but
	taken from the names of the Fractint palette files I first saw the
	technique used in. (The way zgv does it isn't exactly the same,
	but very similar.)

	* Greyscale JPEGs now load as 8-bit, rather than the rather slow
	and wasteful 24-bit (although that did mean you got 256 greyscales
	in a real 24-bit mode, I don't really think that was worth it).

Tue Jul 26 00:29:25 1994  Russell Marks  (rus@lifeson)

	* Added 'revert' option (on by default) to reset scaling and
	interpolation when a picture is loaded, as I didn't like it
	retaining any scaling etc. after quitting one image and loading
	another.

	* Fixed stoopid bug in betterpgm mode. It didn't work before, and
	now it does. Wow. :)

	* Scaling around the same centre should now work ok for all cases.

Mon Jul 25 23:03:45 1994  Russell Marks  (rus@lifeson)

	* Made interpolated scaling about 15% faster. Still too slow.

	* Interpolated scaling (actually done yesterday, forgot to log
	it).

Thu Jul 21 01:30:38 1994  Russell Marks  (rus@lifeson)

	* Made mirror and flip much faster. Rotate is also rather quicker.
	Added a reverse (anti-clockwise) rotate, on 'R' (shift+r) which
	works by calling fx_rot(), then fx_mirror() and fx_flip(). This
	works out being not much slower than a reversed rotate would be,
	as the mirror and flip operations are pretty quick now.

Wed Jul 20 14:46:48 1994  Russell Marks  (rus@lifeson)

	* Documented change to /etc/zgv.conf and double-up-scaling.

	* Added double-up-style scaling up and down in addition to
	existing ++ and --.

	* Changed /etc/system.zgvrc to /etc/zgv.conf. Still works with
        /etc/system.zgvrc if ~/.zgvrc and /etc/zgv.conf aren't present,
        though.

	* Fixed up man page for easier editing and added 'scaling'
	section.

	* Added scaling (zoom really, but I can't call it that because
	I've already called the 'fit to screen' function zoom).  Works in
	multiples of pixels, and attempts to keep the screen centred. It
	isn't fast, by any means. However, it's not too bad in low-ish
	res. modes like 640x480x256. Keys are 's' to scale up (up to 512x
	in +1 increments - not 1x incr. as often used), 'S' to scale down,
	and 'n' to return to 'normal', which cancels any scaling and also
	returns from zoom (fit-to-screen) mode. Zoom and scale modes are
	mutually exclusive - after all, zooming a scaled image would be
	slow and pointless.

	* Removed handlevt.[ch]. They haven't been used for *ages*.

	* Started using Emacs' Change Log mode for entries in this file.
	Versions between releases should be considered specified by the
	date on the changelog entry (not that this is terribly important,
	or anything).

Version 2.2e: 94/7/19

Added 'force16fs' option to config file. Zgv normally starts up in
640x480x256 mode if svgalib reports that the card can handle it. You
can now put 'force16fs on' in a config file to force 640x480x16 mode.
This is slower, but you may want to do it if the 256-colour mode is
somehow garbled or unusable, which one user mentioned on
comp.os.linux.misc a while ago. Not in docs yet.


Version 2.2d: 94/7/18

Auto VT switchback works now. Happy happy happy, joy joy joy. (ahem)
This means it's possible to run zgv from emacs, X, iScreen, etc. about
as comfortably as I can manage. If you don't want it to block, you can
bg it like 'zgv &' with no problems. Docs updated.


Version 2.2c: 94/7/17

Tried auto VT switching if not running on a console and a spare VT is
available - didn't work. :( There are at least three more important
things I'm working up to, so I diked it out again. Maybe I'll have
another go sometime. That said, you could just use 'open', and this
can be automated with an alias and shell script.

More usefully, if you do 'zgv directory_name', it'll now startup zgv
in the file selector with the current directory set as specified.

Also (finally!) added home, end, pgup and pgdn to file selector. (^a,
^e, ^u and ^v do the same.) Page up and down are a little weird, but they
work ok and do roughly what you'd expect.


Version 2.2b: 94/7/16

Might have fixed the Big Bug (tm). I found an old note I'd made about
a bug in an old version of svgalib, which led me to finding something
in zgv which could possibly have caused either a floating-point
exception or a NULL pointer dereference on machines with fewer modes
than mine (this is the important bit and explains why it didn't happen
on my machine), and is in about the same place as the bug apparently
is/was. This covers all the bases, so maybe it works now...?

Put bits in for a timeout facility with single-file mode, more on this
when I finish it (for now there's just a flag '-t' which has no effect).


Version 2.2a: 94/5/4

Added progress report while updating xvpics, progress report while loading
file given on cmdline and cmdline option/config file option to turn it off,
and changed zgv so the text screen is no longer cleared unless the
'cleartext' option is set. Fixed bug with creating .xvpics directory and
error reporting for cases where you have no permission to create the
directory, but it already exists.

Fixed a bug in the delete routine. Nothing too nasty - if you had a file
which you weren't permitted to delete, but had an 'xvpic' index for it which
you *were* permitted to delete, the 'xvpic' would be deleted despite you
getting a message saying 'you can't delete that file'. In the alternate
case, i.e. the 'xvpic' is unremovable, I've left the code such that the
error is ignored and the real file is removed, as I think it's the Right
Thing to do.


Version 2.2: 94/5/3

No changes other than the version number. This is the 2.2 release version.


Version 2.1g: 94/5/3

Bug with vkludge for <256 colour pictures NAILED TO THE WALL, *FINALLY*!
(This one has been eluding me for about a year.)

Fixed bug with 'junk on right-hand side' in (most? all?) standard VGA modes.
Thanks to Harm Hanemaayer for pointing me in the right direction on this
one.

'perfectindex' documented and 'visual selector' section in man page
extended.


Version 2.1f: 94/5/2

Icons added for dirs/unindexed files, and update updates only when needed
(judging from whether index file exists or not, otherwise from modification
times obtained via stat()). Man page and other docs updated.


Version 2.1e: 94/5/2

Zgv now supports 'xv' format thumbnail files - i.e. it views them together
with filenames on the file selector, and creates them if asked to. The files
created by zgv are compatible with xv (wow, how did that happen? :) ). Now
if someone would just care to explain how that took me EIGHT HOURS to do...
feels like it too, I need some sleep. [4:17am, and all's well.] Answers on a
postcard please.

Also fixed obscure bug in 'zoom' mode, another obscure bug in PPM dithering,
and updated delete to deal with deleting appropriate .xvpics file and
directory if reqd.

Man page update for .xvpics stuff pending.


Version 2.1d: 94/5/1

Added 'hicolmodes' entry in .zgvrc file. This is to force high-colour modes
if your card - for example - has a 640x480 high-colour mode, but no 320x200
high-colour mode. This is definitely a kludge, but it's very tricky/awkward
to fix properly.


Version 2.1c: 94/4/26

Added file deletion to file selector. Still no move/copy yet. Updated man
page to show cmdline options. TeX file will get updated sometime else
(maybe).


Version 2.1b: 94/4/25

Added a few command-line options for zoom, startup mode, etc. [docs not
updated yet.]

Zgv now opens /dev/tty instead of /dev/tty0 (like svgalib, as of v1.07).

Bugfixes:

in v2.1, tnpic often segfaulted when loading JPEG files due to a change in
the JPEG reading routine which I forgot to allow for in tnpic.c (blush).

Zgv segfaulted when trying to load a file which didn't exist - this has been
fixed. It wasn't the canonical dumb segfault bug, it was to do with files
not ending in {.gif,.jpg} being loaded as PNM files, and free() trying to
deallocate a random pointer (two, in fact) when that couldn't load the file.
Oops.

fixed bug on file select screen to do with moving a file or two with the
cursor on an entry past the new number of files (if you see what I mean),
where it previously didn't redraw.

fixed typo in aborted_file_cleanup() which caused nasty transient bugs.


Version 2.1a: 94/4/13

Now allow uppercase .GIF, JPG, etc. Added /dev/tty0 fix to Makefiles and
comment in README. This is the 2.1 release version.


Version 2.1: 94/4/12

Dithering for PPMs done, plus cfg.betterpgm added.


Version 2.0d: 94/4/11

More documentation overhauling. Can't be bothered with any more. Dithering
for PPMs for 8-bit displays next... (sigh).


Version 2.0c: 94/4/10

Done PNM support, block cursor, thicker text (kind of). Bugfix for
'directory of' line growing too long. Some doc. updates, still need to check
TeX file, READMEs and update man page.


Version 2.0b: 94/4/9

Added centering of pictures. Thanks to Paul Stoat for that idea, and a few
others I'll be hacking away at. This version includes the two bugfixes
mentioned in my post to c.o.l.m a while back.


Version 2.0a: 28/2/94

Dammit! I knew I'd missed something. Put in an option for tnpic so you can
alter the output JPEG's quality level.

Noticed that Harm fixed the svgalib bug. Cool.


Version 2.0: 26/2/94

Blitzed through everything I meant to change. Implemented the new idea for
8/24-bit mode workings. Put in support for 'zgv filename' (only one file
though). Missed one thing - no PPM support yet. :( I'll get round to that
for 2.1, I guess.

I translated the zgv winword doc. to TeX a while back, but forgot to
document it. Lots of changes to that, obviously.


Version 1.31b: 19/12/93

Workaround for bug (?) in svgalib 0.97 that causes a non-clear screen on
changing between some modes (seems to be mode X VGA to SVGA on a Cirrus, at
least). Fix involves, uh, clearing the screen afterwards. :)


Version 1.31a: 24/11/93 

Zgv now has proper .rc file handling. Documented this in zgv manpage. Uses
$HOME/.zgvrc, or /etc/system.zgvrc if not found. Added PS version of the
manpage to documentation. Updates to the real PS documentation (i.e. the
winword doc) still pending for this version and the last.


Version 1.31: 19/11/93

Fixed zgv so that filenames longer than it can fit into the column size it
uses on the file selection screen are truncated and have a "..." appended to
them. It errs on the side of caution a bit, so some filenames which could
have fit into the column will be truncated anyway, but it's a lot better
than before.


Version 1.3: 26/10/93

Finally got over the flu, and corrected bits of the documentation.
Nailed this down as 1.3 since it'll never happen otherwise.


Version 1.27: 9/10/93

Svgalib support, but not fully. Only 256-colour SVGA modes are really
supported. This'll have to do for a while, because getting 16 and 24-bit
colour modes supported is... non-trivial. (See 24bit.txt for a discussion of
why, and when you can expect support for them.) VGAlib patch for 320x480
mode removed.

PostScript removed (it wasn't working, and was pretty broken to begin with).


Version 1.26h: 28/9/93

^Z (SIGTSTP) support added. Actually, directly raising a SIGTSTP (e.g. kill
-SIGTSTP <pid>) shouldn't work, but it does anyway. Cool! (Probably VGAlib
or just good old Linux sorting this out for me.) I've also developed a
keyboard LED flash alarm program separately (I mention using something along
these lines in TO-DO), but I can't think of a way of implementing the 'you
can switch VCs while it's decompressing, but if you haven't switched back by
the time I've finished with the decompression, I flash the numlock light on
your current VC' idea that isn't totally gross. Also, passing around a
pointer to a function that'll redraw the screen if you switch back *before*
it's finished is a bit gross too. Aaaaragrrggrhhhh. :( x 2^UINT_MAX. I think
we all know the line by now; "it'll be there in the next version" (ho ho).


Version 1.26g: 26/9/93

GIF and JPEG error reporting now works in zgv, gifview and even tnpic. Whoa,
how wonderfully amazing, etc. The JPEG error problems were simply because I
was resetting everything to defaults after I'd put my own routines in place.
(blush) Well it was hard to spot, ok!? Slight problem still, if gifview gets
a JPEG error, it tries to draw the message box in graphics mode while it's
still in text mode. All that happens is that it waits for you to press enter
or esc, but it's a bit gross. I'll fix that soon. Note that now all JPEG
errors are fatal. I might change this so that corrupt data errors which the
JPEG lib regards as non-fatal really aren't fatal, and give you a choice of
whether to continue or not. This is fairly awkward though, and I've more
important things such as command-line args to add, and stuff. (So there.)
Then again, I probably won't get around to any of it all that soon. :(

Three versions in the same day? I think I'm beginning to get the hang of
this again...  The really difficult thing is keeping the documentation up to
date!


Version 1.26f: 26/9/93

GIF error reporting now works fully, and reports which error happened. There
was one mind-bogglingly hard-to-spot bug which (sometimes) seemed to lock it
up, because I didn't properly initialise some arrays I use for
decompression. Nasty. Anyhow, it's all fine now. JPEG still as screwy as
ever - it works, but bombs out on an error. 

Online keys help for file selection screen added. 


Version 1.26e: 26/9/93

Can now VC switch on the file display screen (still not on the file
selection screen while decompressing, though). Made the keyboard reading
routine a bit more general and less messy.

Vi keys can now be used, so now kjhl = qaop. This means that the help key
for the file display screen has moved to '?'. The brightness controls are no
longer 'k' and 'l', but have moved to '<' and '>'.  


Version 1.26d: 25/9/93

Temporary fix to the JPEG error reporting problem. (It used the default
handler, and did an exit() which left you in graphics mode.) I use atexit()
to make sure you get put back in text mode on an exit(). This isn't great,
but it should tide us over until I can work out exactly what's *really*
going on. Besides, there's a whole load of other things I've got to do
before I can nail it down as 1.3. 

Only quits when Esc is really pressed, rather than when you press a key
which initially *looks* like Esc and which isn't used - such as, say, End or
Home. The file display screen was ok, but I've put the fix in anyway since
I'll be putting VC switching in that bit soon (which caused the problem on
the file selection screen).


Version 1.26c: 25/9/93

Added a patch to vgalib to substitute a (more useful, IMHO) 320x480 mode for
the usual 320x400. Changed zgv to use 320x480 rather than 360x480 as default
mode.


Version 1.26b: 24/9/93

PostScript support added. :) Well, sort of. Since ghostscript outputs gif
format if you ask it to, it was too good to miss. Zgv simply builds the
relevant command line, and views a (temporary) gif of the page, mostly using
defaults. Obviously, you need ghostscript for this. My handling of it is so
simple that only the first page of the PS file is shown - bit of a problem
if there are several pages. I might leave this as is though, because it's
perverse enough to use a gif viewer to view one-page PS files, let alone
whole documents! 

You can forget me fixing the error handling stuff for a while yet. It still
seems to be using the default handler, and I don't understand why. Oh well.  


Version 1.26a: 23/9/93

Fixed the bug with, well, what I *thought* was zooming a pic in 640x480x16
mode. It was actually a bug that caused a segfault whenever you tried to
zoom a pic which was exactly the height of the current screen mode, although
there may have been other times when it could have happened. Anyway, it was
easy to fix. Should get around to error handling stuff soon.


Version 1.26: 23/9/93

Ok, I was wrong, I've got Linux again now (installed it last night), thanks
to Graham/Paddy/Carl, and presumably Paul since they're his disks. Fixed the
bug with monochrome JPEGs. Not only does it not hang and leave you in
graphics mode, it even *works* now! :) Errors *still* seem to be reported by
the default handler, and not my own. I'll work on this again as soon as I go
through the other pending bugs.  


Version 1.25a: 7/9/93

Documentation corrected (my id isn't mr1cy2, for example). If you're
wondering why I haven't done anything to zgv for over two months, my Linux
partition(s) fell apart badly and I didn't have any backup or installation
disks (well, I did have some backup, but not the stuff that went wrong, like
gcc and some other stuff). All the source was ok, though (phew). There'll be
no more development until Oct. 4 at the earliest, and 1.3 won't be uploaded
until around mid to late Oct (pretty pointless saying that sort of thing,
considering nobody'll read this until then...). The only way to get Linux
again until I get back to Uni costs fifty pounds, although I did see a
classified ad. which was offering part of it including gcc for about ten...
but I suppose I might as well wait and get it free (which it is, after
all!). Ho hum. 


Version 1.25: 20/6/93

Error handling in zgv now works ok for GIF files. Still problems with JPEGs,
though. Since a 'thumbnail mode' would have been pretty unusable, I've
written a separate program (called tnpic) which creates thumbnails of
specified GIF/JPEG files and saves them as one JPEG file. Although this is a
program unto itself in many respects, it uses much of the same code as zgv,
so any changes will be covered here. Tnpic isn't all that fast - it uses an
adapted version of the 'zoom' code from zgv with the 'vkludge' option on.
The thumbnails can look a bit smudgy, but are generally ok.


Version 1.24: 15/6/93

Now have config information saved to $HOME/.zgvrc file. It's a bit crude at
the moment, but it's intended to only be written by pressing 's' at the zgv
file selector screen when you've got the config as you want it. Tried some
testing of speed to see if a 'thumbnail mode' option such as Graphic
Workshop for Windows has would be feasible. No way. The screen redraw
*crawls*. 

Note that if you compile zgv with VGAlib 1.2, and edit the $HOME/.zgvrc file
to read 'm=10' instead of 'm=8' or whatever, you can use the ET4000 modes
(you'll probably want to do 's=n' instead of 's=y' as well). ET4000 support
is so easy since VGAlib already has it that I promise I'll do this properly
soon (even if I can't test it). 


Version 1.23: 13/6/93

Virtual console switching working, up to a point - you need to use just the
function key, without Alt. Only works on the file selector screen, not when
viewing a picture. Also doesn't work when waiting for a picture to load.
Couldn't get the VT_PROCESS technique working, it stayed in graphics mode,
even when I tried the mode changing outside the signal handler. Thanks to
Robert Sanders <gt8134b@prism.gatech.edu> for the idea to support VCs, and
suggesting where to look. Hopefully I'll get it working a bit more nicely in
the future.  


Version 1.22: 12/6/93

Latent bug regarding the 'stoprightnow' flag in the GIF decoder fixed. (This
only seemed to affect files generated by Graphic Workshop for DOS, but there
may have been others.)  Put in a bitmap logo. Bit pointless really!


Version 1.21: 10/6/93

Simplistic resampling for zoom - extension of 'virtual mode kludge' option.
Bit slow, but looks good. Can make pictures a bit smudgy.


Version 1.2: 9/6/93

Zgv's file selector runs in graphics mode. Why? Well it looks a lot nicer.
Not much of a reason apart from that. Cursor keys work now, in both
programs. Erm, that's about it really. I must get around to the other stuff
some time.  


Version 1.1: 29/5/93

Code restructured to make updating a little less impossible. This process is
alas still not complete (sigh). 

Zgv uses the GIF decoding engine and JPEG software directly rather than
running gifview or djpeg. Gifview also interfaces directly to the JPEG
library, since zgv and gifview share the display/decoding code.

Zgv uses bar to indicate how much of the GIF/JPEG has loaded, and gifview now
uses a percentage rather than the number of lines.

Both now support interlaced GIFs.

Zgv remembers video mode used for previous picture, and uses it again if
appropriate.

Contrast/brightness controls are a little more sane.


Version 1.0: 10/5/93

Gifview hacked up from giftekc, a GIF viewer I wrote for Tektronix 4200
series terminals. Zgv, a curses-using front-end which runs gifview also put
together. Gifview does 'system("djpeg -gif ...");' and reads the resulting
GIF file to read JPEG files. But it does all work.