Source

xemacsweb / Releases / 21.2.32.content

Full commit
   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
%title%
XEmacs 21.2.32 Release
%author%
release-mail-to-html.el for Adrian Aichner
%main%
                        <h1>XEmacs 21.2.32 Release</h1>
            <h2><a name="summary" shape="rect">Summary</a> of Changes to 21.2.32 "Kastor & Polydeukes"</h2>
            <p>goto <a href="#changes" shape="rect">changes</a></p>
            <ul>
	    <li>Internal Postgres RDBMS support from Steve Baur</li>
	    <li>Improve gutter useability</li>
	    <li>Fix window geometry with gutters</li>
	    <li>Fix async updates so that they only occur when neccessary</li>
	    <li>Gutter documentation from Stephen Turnbull</li>
	    <li>redisplay-gutter-area fixes from Andy Piper</li>
	    <li>pdump file in MS-Windows executable from Mike Alexander</li>
	    <li>Miscellaneous fixes from Andy Piper</li>
	  </ul>
            <h2><a name="changes" shape="rect">ChangeLogs</a> for Release 21.2.32 "Kastor & Polydeukes" of XEmacs</h2>
            <p>goto <a href="#summary" shape="rect">summary</a></p>
            <ul>
	    <li><a href="#lib-src:ChangeLog" shape="rect">lib-src/ChangeLog</a></li>
	    <li><a href="#lisp:ChangeLog" shape="rect">lisp/ChangeLog</a></li>
	    <li><a href="#lwlib:ChangeLog" shape="rect">lwlib/ChangeLog</a></li>
	    <li><a href="#man:ChangeLog" shape="rect">man/ChangeLog</a></li>
	    <li><a href="#nt:ChangeLog" shape="rect">nt/ChangeLog</a></li>
	    <li><a href="#src:ChangeLog" shape="rect">src/ChangeLog</a></li>
	    <li><a href="#tests:ChangeLog" shape="rect">tests/ChangeLog</a></li>
	  </ul>
            <h2><a name="lib-src:ChangeLog" shape="rect">lib-src/ChangeLog</a></h2>
            <p>goto <a href="#changes" shape="rect">changes</a>, <a href="#summary" shape="rect">summary</a></p>
            <pre xml:space="preserve">

2000-03-20  Martin Buchholz  &lt;martin@xemacs.org&gt;

        * make-dump-id.c: Use config.h and systime.h for portability.

2000-02-20  Olivier Galibert  &lt;galibert@pobox.com&gt;

        * make-dump-id.c: Added.

        * Makefile.in.in: Add support for make-dump-id.

2000-03-12  Ben Wing  &lt;ben@xemacs.org&gt;

        * etags.c (canonicalize_filename): fixed a problem with gratuitous
        capitalization of file names under MS Windows. 
            </pre>
            <h2><a name="lisp:ChangeLog" shape="rect">lisp/ChangeLog</a></h2>
            <p>goto <a href="#changes" shape="rect">changes</a>, <a href="#summary" shape="rect">summary</a></p>
            <pre xml:space="preserve">

2000-03-20  Andy Piper  &lt;andy@xemacs.org&gt;

        * gutter-items.el (update-tab-in-gutter): force selection of the
        selected-window if required to do so.
        (buffers-tab-items): ditto.
        (add-tab-to-gutter): ditto.
        (create-frame-hook): use force-selection.
        (default-gutter-position-changed): lambdify.
        (update-tab-hook): deleted since it was only used in one place.

2000-03-18  Andy Piper  &lt;andy@xemacs.org&gt;

        * files.el (find-file-noselect): undo change that shouldn't have
        gone in.

2000-03-17  Andy Piper  &lt;andy@xemacs.org&gt;

        * buffer.el (switch-to-buffer): use last-nonminibuf-window instead
        of selected-window trickery.

        * gutter-items.el (update-tab-in-gutter): don't give dedicated
        frames tabs.
        (progress-display-stop-callback): progress -&gt; progress-display
        (progress-display-quit-function): ditto.
        (clear-progress-display): ditto.
        (remove-progress-display): ditto.
        (append-progress-display): ditto.
        (abort-progress-display): ditto.
        (raw-append-progress-display): ditto.
        (display-progress-display): ditto.
        (current-progress-display-label): ditto.
        (current-progress-display): ditto.
        (lprogress-display): ditto and save the buffer
        (progress-display): ditto. Otherwise the buffer sometimes gets
        changed which confuses font-lock.

        * font-lock.el (font-lock-default-fontify-buffer): catch all
        errors, not just quit.
        (font-lock-mode): progress -&gt; display-progress
        (font-lock-default-fontify-buffer): ditto.
        (font-lock-fontify-syntactically-region): ditto.
        (font-lock-fontify-keywords-region): ditto.

2000-03-14  Hrvoje Niksic  &lt;hniksic@iskon.hr&gt;

        * cl.el (gensym): Move to here from cl-macs.el.
        (gentemp): Ditto.

2000-03-16  Andy Piper  &lt;andy@xemacs.org&gt;

        * font-lock.el (font-lock-mode): use lprogress and friends for
        progress management.
        (font-lock-default-fontify-buffer): ditto.
        (font-lock-fontify-syntactically-region): ditto.
        (font-lock-fontify-keywords-region): ditto.
        (font-lock-revert-cleanup): fix reverting.
        (font-lock-revert-setup): ditto.

        * gutter-items.el (progress-use-echo-area): new variable. Use the
        echo area for progress gauges if non-nil.
        (clear-progress): remove echo area stuff and defer to
        clear-message.
        (append-progress): dispatch non-command events after each progress
        increment. Remove echo area stuff.
        (abort-progress): remove echo area stuff and defer to
        display-message.
        (raw-append-progress): ditto. Dispatch non-command events after
        gutter redisplay.
        (display-progress): defer echo area stuff to display-message.

        * gutter-items.el (clear-progress):
        (abort-progress): indentation changes.
        (display-progress): don't clear progress.
        (append-progress): compare messages with equal.
        (raw-append-progress): use dispatch-non-command-events to flush
        widget creation events.

2000-03-13  Ben Wing  &lt;ben@xemacs.org&gt;

        * abbrev.el:
        * abbrev.el (abbrev-string-to-be-defined): New.
        * abbrev.el (inverse-abbrev-string-to-be-defined): New.
        Changes for use with the menubar.

2000-03-12  Ben Wing  &lt;ben@xemacs.org&gt;

        * alist.el (vassoc): moved here from font-menu.el.

        * custom.el (defface): typo fix.

        * dialog.el (yes-or-no-p-dialog-box):
        * dialog.el (message-box):
        * files.el (save-some-buffers-1):
        Put accelerators in the button names.

        * font-lock.el (font-lock-comment-face):
        * font-lock.el (font-lock-keyword-face):
        * font-lock.el (font-lock-function-name-face):
        Fixed some of the colors under MS Windows because the existing
        default colors were hardly different from black and needed to be
        made lighter.

        * font-menu.el:
        * font-menu.el (font-menu-split-long-menu):
        * font-menu.el (font-menu-family-constructor):
        * font-menu.el (font-menu-size-constructor):
        * font-menu.el (font-menu-weight-constructor):
        * font-menu.el (font-menu-set-font):
        vassoc moved to alist.el.
        Accelerators added to all menus.
        Unused bound var new-props removed.
        
        * keydefs.el: I did a whole lot of rearranging to put things in a
        more consistent order and fixed a number of cases where key
        combinations involving up, down, left, right and so on were
        defined but the corresponding keypad combinations were not
        defined. 

        * lisp-mode.el:
        * lisp-mode.el (lisp-interaction-mode-popup-menu):
        * lisp-mode.el (emacs-lisp-mode):
        * lisp-mode.el (lisp-interaction-mode):
        * lisp-mode.el (flet):
        Added accelerators onto the menus.
        Made all the different versions of the let function be indented
        the same way.
        Undid Steve's easy-menu-ification, because it makes it impossible
        to have the menubar and popup menus different.
        Cleaned up the menu; added items for find-function &amp;c and some
        indenting, and removed debug-on-*.

        * list-mode.el (list-mode-hook):
        * list-mode.el (list-mode):
        * list-mode.el (completion-setup-hook):
        * list-mode.el (display-completion-list):
        Added support for the :window-height keyword, which is required
        because of other changes that I made for the file dialog box.  I
        also made the hook variables list-mode-hook and
        completion-setup-hook and also minibuffer-setup-hook in
        minibuf.el be permanent-local; see comment in list-mode.el.

        * map-ynp.el (map-y-or-n-p):
        Added accelerators to the dialog buttons.

        * menubar-items.el (menu-truncate-list):
        New internal function.
        * menubar-items.el (submenu-generate-accelerator-spec):
        * menubar-items.el (menu-item-strip-accelerator-spec):
        * menubar-items.el (menu-item-generate-accelerator-spec):
        New exported functions, for use in auto-generating accelerator specs.

        * menubar-items.el:
        * menubar-items.el (default-menubar):
        * menubar-items.el (maybe-add-init-button):
        * menubar-items.el (bookmark-menu-filter):
        * menubar-items.el (slow-format-buffers-menu-line):
        * menubar-items.el (build-buffers-menu-internal):
        * menubar-items.el (language-environment-menu-filter):
        * menubar-items.el (default-popup-menu):
        * menubar-items.el (popup-buffer-menu):
        * menubar-items.el (popup-menubar-menu):
        Did a major overhaul on this file, and in fact I'm nowhere near
        done working on the menubar, and there will be more patches to
        come.  A basic summary of what I've done:

        a) I added accelerators to all of the menu items.  For menus that
        are auto-generated, such as the buffers menu, the accelerators are
        automatically added to the beginning of each line using the
        numbers 1 through 9, then zero, and then letters starting with A,
        but omitting the letters that are already in use for the fixed
        menu items at the top of the buffers menu.  To facilitate adding
        accelerators of this kind, I created some new functions
        (*-accelerator-spec), which are also being used by other filters
        that auto generate lists of things such as ftp sites to download
        packages.  If people really don't like these accelerators
        appearing at the beginning of the menu items, a variable can be
        added to optionally turn them off, but I think this is rather
        pointless because other menu items have accelerators and many or
        most of the menu users will use the accelerators if the support is
        there.

        b) I combined the top level Tools and Apps menus into a single
        Tools menu, because the distinction between the two is not
        obvious, and the items on the menus are not used often enough that
        putting some of them onto submenus is a problem. 

        c) I created two new top level menus called View and Cmds because
        there were too many items on the File and Edit menus, and I'm going
        to be adding more items to these menus.  In contrast to the Tools
        menu, the items on these menus may be used quite often during an
        editing session, and so should be available with fewer
        keystrokes. 

        d) I added a number of options to the options menu, including one
        for controlling whether the alt key can be used to traverse to
        menu items using the accelerators, one for controlling behavior of
        control-k, one for controlling how the kill and yank functions
        interact with the clipboard, a few additional buffers-menu
        options, and various other things.  I also did a bit of
        rearranging, for example, combining the keyboard and mouse options
        into a single keyboard and mouse submenu to facilitate the
        accelerators on that level. 

        e) I changed the variable buffers-menu-format-buffer-line-function
        to take two arguments instead of one, the second argument being
        the line number for use in creating an accelerator.  I added a
        hack to support existing functions with one argument (although I
        doubt that very many of these exist), for backward compatibility. 

        f) I moved the top level mule menu to be a submenu of the edit
        menu.  I think that most of the items on this menu are fairly
        useless and there are certainly not enough frequently used items
        to justify this being its own top level menu. 

        g) I combined most of the items in big-menubar.el into the main menu.
        If people think the main menu is too big, it would be possible to
        create different configurations, some smaller.

        * menubar.el (check-menu-syntax):
        Deleted some syntax checks that were no longer valid, partly
        because of changes that were already made a long time ago, and
        partly because of a change I made where I allow the name of the
        menu item to be an evaluated expression rather than just a string,
        similar to all of the other parameters of a menu item.

        * minibuf.el:
        * minibuf.el (read-file-name-1):
        * minibuf.el (mouse-read-file-name-1):
        I made a number of changes to improve the appearance
        and functioning of the file dialog box.  They include:

        a) Fixing the problem where closing the dialog box by clicking on
        the close button of the window didn't properly exit the
        minibuffer. 

        b) Fixing the problem that if you typed part of a file name, and
        then clicked on a completion with the mouse, the file was not
        correctly selected. 

        c) Changing the title of the dialog box to reflect the operation
        being done in accordance with user interface conventions, rather
        than the name of the dialog box buffer, which is rather useless. 

        d) Remove the words "possible completions are" which didn't
        belong. 

        e) Fix things so that the completions scroll off the end of the
        completions windows only to the right, rather than both to the
        right and down, which is in accordance with Windows user interface
        conventions.  

        * msw-init.el (init-post-mswindows-win):
        Added a binding for meta-F4, which is the standard windows binding
        for exiting a program.

        * select.el (get-selection-no-error):
        * select.el (own-selection):
        * select.el (own-clipboard):
        Added an optional argument called append to the functions
        own-selection and own-clipboard.  This adds support for appending
        text to the existing selection and allows the function
        own-clipboard to be used as the value of the variable
        interprogram- cut-function.

        Fixed a bug in own-selection in handling zmacs-region-stays.

        * simple.el (historical-kill-line): New.

        * simple.el (kill-line):
        * simple.el (interprogram-cut-function):
        * simple.el (interprogram-paste-function):
        * simple.el (handle-pre-motion-command):
        * simple.el (next-line):
        * simple.el (previous-line):
        a) Expanded the variable kill-whole-line, so that function
        kill-line can be set to delete the entire line always, not just
        when cursor is at the beginning of the line.  This is controlled
        by setting the variable kill-whole-line to the symbol 'always.
        This behavior, as well as the existing kill-whole-line behavior,
        now only take effect when kill-line is called interactively,
        although this is a departure from a previous behavior in the case
        of setting this variable kill-whole-line to t.  It is almost
        certainly what has always been intended, and most likely the old
        way of doing things introduced bugs.  I also created a function
        called historical-kill-line, which ignores the kill-whole-line
        setting and always gives the historical behavior of only killing
        to the end of the line.  I bound this function to shift- control-k
        so that the kill to end of line behavior is available, even when
        kill-whole-line has been set to change control-k into the simple
        delete-whole-line behavior. (This can be set using the options
        menu.)

        b) I changed things so that kill and yank now interact with the
        clipboard by default under windows.  This was done by changing the
        default value of interprogram-cut- function and
        interprogram-paste-function.  You can get the old behavior by
        setting these to nil, and there is an option on the options menu
        to do this.

        c) I added support for selecting text using shifted motion keys.
        This support is on by default and can be controlled by the
        variable shifted-motion-keys-select-region.  There is also a
        variable called unshifted-motion-keys-deselect-region that
        controls more specifically how the shifted motion key behavior
        works.  I did not put an option on the options menu to turn this
        off, because I can't imagine why this would be useful.

        * simple.el (forward-block-of-lines):
        * simple.el (backward-block-of-lines):
        * simple.el (block-movement-size):
        New.

        * simple.el (uncapitalized-title-words):
        * simple.el (uncapitalized-title-word-regexp):
        * simple.el (capitalize-string-as-title):
        * simple.el (capitalize-region-as-title):
        New.
        

        * subr.el (add-hook):
        * subr.el (make-local-hook): New.
        * subr.el (remove-local-hook): New.
        * subr.el (add-one-shot-hook): New.
        * subr.el (add-local-one-shot-hook): New.
        Added some functions to make using hooks easier.
        These include:

        a) Functions add-local-hook and remove-local-hook to make it easy
        to use local hooks.

        b) Functions add-one-shot-hook and add-local-one-shot-hook, which
        make it possible to add a "one-shot" hook, which is to say a hook
        that runs only once, and automatically removes itself after the
        first time it has run.

2000-03-09  Andy Piper  &lt;andy@xemacs.org&gt;

        * files.el (auto-mode-alist): pick up jsp, jhtml and xml files.

2000-03-09  Yoshiki Hayashi  &lt;yoshiki@xemacs.org&gt;

        * buff-menu.el (buffers-menu-omit-invisible-buffers):
        Moved from menubar-items.el.
        * dumped-lisp.el: Dump gutter-items regardless of menubar.

2000-03-08  Andy Piper  &lt;andy@xemacs.org&gt;

        * gutter-items.el (build-buffers-tab-internal): add selected field
        to buffers tab spec.

2000-03-07  Yoshiki Hayashi  &lt;yoshiki@xemacs.org&gt;

        * minibuf.el (last-exact-completion): Initialize to nil.

2000-03-07  Didier Verna  &lt;didier@xemacs.org&gt;

        * startup.el (command-line-1): remove unused variable
        `first-file-buffer'.

2000-02-29  Hrvoje Niksic  &lt;hniksic@iskon.hr&gt;

        * loaddefs.el (completion-ignored-extensions): Removed ".log",
        which is also used for Web server log files.

2000-02-03  IKEYAMA Tomonori &lt;tomonori@suiyokai.org&gt;

        * mule/mule-charset.el: Setup auto-fill-chars.

2000-03-02  SL Baur  &lt;steve@beopen.com&gt;

        * subr.el (with-string-as-buffer-contents): Reimplement using
        `with-temp-buffer'.  Fixes non-unique buffer name problem, fixes
        non-deletion of buffer after execution problem.
        (with-output-to-string): Use unique buffer name.

2000-02-29  Stephen J. Turnbull  &lt;stephen@xemacs.org&gt;

        * gutter-items.el (buffers-tab-sort-function):  New variable.
        (buffers-tab-items):  Funcall it to sort the buffer tab list.

2000-02-29  Stephen J. Turnbull  &lt;stephen@xemacs.org&gt;

        * startup.el (load-user-init-file):  Merge two `if's to one `or'.

2000-02-28  Martin Buchholz  &lt;martin@xemacs.org&gt;

        * menubar-items.el (maybe-add-init-button): Remove the "Load
        .emacs" button from all menubars.

2000-03-01  Didier Verna  &lt;didier@xemacs.org&gt;

        * rect.el (string-rectangle): depend on `pending-delete-mode' for
        region rectangle replacement (from Jan Vroonhof).
        (replace-rectangle): new function.

2000-01-05  Yoshiki Hayashi  &lt;t90553@mail.ecc.u-tokyo.ac.jp&gt;

        * mule/mule-cmds.el (set-default-coding-systems): Use
        set-terminal-coding-system and set-keyboard-coding-system.
        * coding.el (set-terminal-coding-system): Use
        set-console-tty-output-coding-system.
        (set-keyboard-coding-system): Use
        set-console-tty-input-coding-system.

2000-02-21  Yoshiki Hayashi  &lt;yoshiki@xemacs.org&gt;

        * minibuf.el (read-variable): Allow symbol to default argument.

2000-02-27  Andy Piper  &lt;andy@xemacs.org&gt;

        * gutter-items.el (update-tab-hook): new function to be used for
        hooks.
        (create-frame-hook): add update-tab-hook.
        (record-buffer-hook): ditto.
        (default-gutter-position-changed): ditto.
        (default-gutter-position): updating the buffers tab is now handled
        by a hook.
        (default-gutter-position-changed-hook): new variable.
        (gutter-element-visibility-changed-hook): ditto.
        (set-gutter-element-visible-p): call it.
        (set-gutter-element): use modify-specifier-instances. Set extents
        as duplicable before using.
        (remove-gutter-element): ditto.
        (set-gutter-element-visible-p): ditto.
        (init-gutter): new function.
        (add-tab-to-gutter): use new gutter-element functions rather than
        setting specifiers directly.
        (clear-progress): ditto.
        (abort-progress): ditto.
        (gutter-buffers-tab-visible-p): renamed from
        default-gutter-visible-p

        * specifier.el (modify-specifier-instances): new function from Jan
        Vroonhof.

        * x-init.el (init-post-x-win): call init-gutter.

        * msw-init.el (init-post-mswindows-win): call init-gutter.

        * menubar-items.el (default-menubar): Update to reflect new gutter
        variables.

2000-02-26  Andy Piper  &lt;andy@xemacs.org&gt;

        * gutter-items.el (set-gutter-element): new function. Add gutter
        elements to the specified gutter.
        (remove-gutter-element): new function. Remove gutter elements from
        the specified gutter.
        (set-gutter-element-visible-p): new function. Set gutter element
        visibility for the provided gutter-visible specifier.

2000-02-23  Andy Piper  &lt;andy@xemacs.org&gt;

        * gutter-items.el (add-tab-to-gutter): specify dimensions
        dynamically.

2000-02-24  Martin Buchholz  &lt;martin@xemacs.org&gt;

        * gutter-items.el (add-tab-to-gutter):
        * package-get.el (package-get-interactive-package-query):
        * package-ui.el (pui-directory-exists):
        (pui-install-selected-packages):
        (pui-list-packages):
        Use #'(lambda ...)  instead of '(lambda ...).

2000-02-21  Gregory Neil Shapiro &lt;gshapiro@gshapiro.net&gt;

        * startup.el (load-user-init-file): Check to make sure user
          has an init-file before calling load().

2000-02-20  Kirill 'Big K' Katsnelson  &lt;kkm@dtmx.com&gt;

        * msw-glyphs.el (msgdi-device-p): Added this and 'msgdi specifier tag.
            </pre>
            <h2><a name="lwlib:ChangeLog" shape="rect">lwlib/ChangeLog</a></h2>
            <p>goto <a href="#changes" shape="rect">changes</a>, <a href="#summary" shape="rect">summary</a></p>
            <pre xml:space="preserve">

2000-03-14  Ben Wing  &lt;ben@xemacs.org&gt;

        * xlwmenu.c (massage_resource_name): Handle %_ and %%.

2000-02-20  Gunnar Evermann  &lt;ge204@eng.cam.ac.uk&gt;

        * xlwscrollbar.c (get_gc): Always check for XmUNSPECIFIED_PIXMAP
        even if we are only 'compatible' with the Motif resources.
        (XmUNSPECIFIED_PIXMAP): Define unconditionally.
            </pre>
            <h2><a name="man:ChangeLog" shape="rect">man/ChangeLog</a></h2>
            <p>goto <a href="#changes" shape="rect">changes</a>, <a href="#summary" shape="rect">summary</a></p>
            <pre xml:space="preserve">

2000-03-15  SL Baur  &lt;steve@musashimaru.m17n.org&gt;

        * lispref/postgresql.texi (Unimplemented libpq Functions): Update
        documentation to reflect the latest code.

2000-03-07  SL Baur  &lt;steve@musashimaru.m17n.org&gt;

        * lispref/postgresql.texi (PostgreSQL Support): New File.

        * lispref/ldap.texi: Insert PostgreSQL/libpq chapter.
        * lispref/lispref.texi (Top): Ditto.
        * lispref/internationalization.texi: Ditto.

2000-03-07  Yoshiki Hayashi  &lt;yoshiki@xemacs.org&gt;

        * lispref/glyphs.texi (Image Specifiers): Remove parenthesis.

2000-03-06  Yoshiki Hayashi  &lt;yoshiki@xemacs.org&gt;

        * xemacs-faq.texi: Put node before section.

2000-03-05  Jonathan Harris  &lt;jhar@tardis.ed.ac.uk&gt;

        * xemacs-faq.texi (Macintosh port): Made texinfmt-friendly.

2000-03-01  Sandra Wambold  &lt;wambold@xemacs.org&gt;

        * xemacs-faq.texi: Added 6.4.1. XEmacs won't start on Windows

2000-01-25  Yoshiki Hayashi  &lt;yoshiki@xemacs.org&gt;

        * xemacs/xemacs.texi: Detailed menu update.

2000-01-28  Yoshiki Hayashi  &lt;yoshiki@xemacs.org&gt;

        * xemacs/help.texi: Synch with FSF 20.5. Update.

2000-02-21  Yoshiki Hayashi  &lt;yoshiki@xemacs.org&gt;

        * lispref/minibuf.texi: Add default argument documentation.

2000-02-27  Martin Buchholz  &lt;martin@xemacs.org&gt;

        * internals/internals.texi (lrecords): Update docs for new lisp
        object representation.

2000-02-25  Martin Buchholz  &lt;martin@xemacs.org&gt;

        * internals/internals.texi (Techniques for XEmacs Developers):
        Document INLINE_HEADER and how to create macros and inline functions.
        Cleanup entire section.

2000-02-17  Stephen J. Turnbull  &lt;turnbull@sk.tsukuba.ac.jp&gt;

        * man/lispref/gutter.texi: New file describing gutter API.

        * man/lispref/lispref.texi, man/lispref/scrollbars.texi,

        * man/lispref/toolbar.texi: Fixup links to new node Gutter.

2000-02-17  Stephen J. Turnbull  &lt;turnbull@sk.tsukuba.ac.jp&gt;

        * man/lispref/frames.texi, man/xemacs/custom.texi,
        man/xemacs/frame.texi, man/xemacs/glossary.texi: Mention menubars,
        toolbars, and gutters as optional components of frames, with
        pointers to descriptions.

2000-02-17  Stephen J. Turnbull  &lt;turnbull@sk.tsukuba.ac.jp&gt;

        * man/lispref/mule.texi:  Substantial reorganization and
        revision for style of descriptions of character sets,
        encodings, and coding systems.  Addition of a complete table
        of coding systems as of XEmacs 21.2.19.
            </pre>
            <h2><a name="nt:ChangeLog" shape="rect">nt/ChangeLog</a></h2>
            <p>goto <a href="#changes" shape="rect">changes</a>, <a href="#summary" shape="rect">summary</a></p>
            <pre xml:space="preserve">

2000-03-15  Mike Alexander &lt;mta@arbortext.com&gt;

        * xemacs.mak: Fix for generation of $(XEMACS)\Installation.

2000-03-14  Adrian Aichner  &lt;adrain@xemacs.org&gt;

        * xemacs.mak (LIB_SRC_TOOLS): LIB_SRC_TOOLS depend on
        XEMACS_INCLUDES when we USE_PORTABLE_DUMPER.

2000-03-13  Ben Wing  &lt;ben@xemacs.org&gt;

        * xemacs.mak (TEMACS_ENTRYPOINT):
        Fix for portable dumper.

2000-03-12  Ben Wing  &lt;ben@xemacs.org&gt;

        * xemacs.mak (*): 
        * config.inc: New.

        a) Added a file called config.inc which makes it easier to set
        build options for MS Windows. (Previously, the only way to do this
        was through command line options to nmake.) 

        b) Cleaned the file up a bit.

        c) Changed xemacs to be a windows application and not a console
        application, now that runemacs.exe is no longer necessary.

        d) Added support for building the tags file.

        * xemacs.dsw: New.
        * xemacs.dsp: New.
        For compiling, editing, and debugging XEmacs using the VC++ 5.0
        GUI.  They may well work under other versions of VC++, but I don't
        have access to them to test them. 

2000-03-11  Andy Piper  &lt;andy@xemacs.org&gt;

        * PROBLEMS: Doc fix from Reini Urban &lt;rurban@x-ray.at&gt;.

2000-02-27  Mike Alexander  &lt;mta@arbortext.com&gt;

        * xemacs.rc: Include the portable dump data if INCLUDE_DUMP is defined

        * xemacs.mak: Add the portable dump data to the EXE as a resource

2000-03-07  Jonathan Harris  &lt;jhar@tardis.ed.ac.uk&gt;

        * xemacs.mak (TEMACS_LIBS): Add ole32.lib and uuid.lib.
        (installation): Always regenerate installation report.

2000-02-25  Craig Lanning  &lt;CraigL@DyCon.com&gt;

        * inc\sys\time.h: MinGW defines struct timeval in &lt;winsock.h&gt;.

2000-02-24  Martin Buchholz  &lt;martin@xemacs.org&gt;

        * config.h (INLINE_HEADER): Define properly (?) for Windows.
            </pre>
            <h2><a name="src:ChangeLog" shape="rect">src/ChangeLog</a></h2>
            <p>goto <a href="#changes" shape="rect">changes</a>, <a href="#summary" shape="rect">summary</a></p>
            <pre xml:space="preserve">

2000-03-12  Jan Vroonhof  &lt;vroonhof@math.ethz.ch&gt;

        * sysdep.c: Include proper headers for mmap when pdumping()

2000-03-20  Martin Buchholz  &lt;martin@xemacs.org&gt;

        * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA): 
        (DFC_MALLOC_USE_CONVERTED_DATA): 
        Add aliasing-safe casts to allow use with char* or unsigned char*
        lvalues.

        * eldap.c (Fldap_open): 
        (Fldap_search_basic): 
        (Fldap_add): 
        (Fldap_modify): 
        Make C++-compilable.
        Make sure GCPRO'ed variables are initialized.
        Use temp variables to avoid repeated calls to Flength.

2000-03-16  Martin Buchholz  &lt;martin@xemacs.org&gt;

        * sysfile.h: 
        Make sure PATH_MAX is always defined.  
        Include limits.h for PATH_MAX.
        Deprecate use of MAXPATHLEN.

2000-03-10  Martin Buchholz  &lt;martin@xemacs.org&gt;

        * emacs.c: Add reinit_vars_of_fileio.
        * symsinit.h: Add reinit_vars_of_fileio.
        * fileio.c (reinit_vars_of_fileio): New.
        * fileio.c (Fmake_temp_name): 
        Initialize temp_name random number from microseconds to make
        collisions even less likely.  Initialize always at process startup
        time.  (make-temp-name) used to return the same file name twice in
        a row when PDUMP.
        Random stylistic fiddling.
        Comment fixes.

2000-03-20  Andy Piper  &lt;andy@xemacs.org&gt;

        * glyphs.c (image_instantiate): allow text glyphs to be
        instantiated in the minibuffer window.

2000-03-19  Andy Piper  &lt;andy@xemacs.org&gt;

        * glyphs.c (image_instance_hash): be careful about which items we
        hash on.

        * glyphs-widget.c (tab_control_set_property): record into pending
        items rather than the actual items.

        * glyphs-x.c (x_update_widget): use pending items to update with.

        * glyphs-msw.c (mswindows_tab_control_update): use pending items
        to update with.

        * glyphs.c (mark_image_instance): mark pending items.

        * window.c (Fset_window_configuration): record the buffer.
        (Fselect_window): totally revert previous change which breaks many
        things.

2000-03-18  Andy Piper  &lt;andy@xemacs.org&gt;

        * glyphs-msw.c (mswindows_tab_control_update): force selected
        item.

        * glyphs.c (image_instantiate): don't allow the minibuffer as a
        window domain cache, otherwise we get inconsistencies at
        startup. There is something fishy at startup which can lead to the
        minibuffer being the selected window when the gutter content is
        instantiated.

        * gui.c (parse_gui_item_tree_list): add probably unneccessary
        gcpros.
        (parse_gui_item_tree_children): ditto.
        (parse_gui_item_tree_item): ditto.

        * glyphs.c (Fupdate_widget_instances): return something.

2000-03-18  Yoshiki Hayashi  &lt;yoshiki@xemacs.org&gt;

        * window.c (Fselect_window): Undo 2000-03-17 change.

2000-03-17  SL Baur  &lt;steve@musashimaru.m17n.org&gt;

        * postgresql.c (Fpq_setenv): Remove this turkey when linking
        against v7.0 libraries.  Insta-coredump city until the postgres
        folks fix it.

2000-03-17  Andy Piper  &lt;andy@xemacs.org&gt;

        * faces.c (complex_vars_of_faces): don't give the widget face an
        inherited background pixmap.

        * glyphs-msw.c (mswindows_tab_control_instantiate): select the
        selected item.

        * event-stream.c (Fdispatch_non_command_events): return something.

        * gutter.c (output_gutter): use widget face.
        (clear_gutter): ditto.

        * NEWS: adjust again.

        * window.c (Fselect_window): make sure this runs to completion to
        avoid oddities with Fset_window_configuration.
        (Fcurrent_window_configuration): in general do not save the
        minibuffer as the selected window.

        * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.

2000-03-16  Olivier Galibert  &lt;galibert@pobox.com&gt;

        * emacs.c (Frunning_temacs_p): Revert previous patch.
        (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.

2000-03-16  Andy Piper  &lt;andy@xemacs.org&gt;

        * glyphs-x.c (x_tab_control_update): if no widget values then
        return.

        * NEWS: update for new features.

        * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
        synthetic event to the native system.
        (reinit_vars_of_event_Xt): set force_event_pending to
        emacs_Xt_force_event_pending.

        * events.h (struct event_stream): add force_event_pending.

        * specifier.c (recompute_one_cached_specifier_in_window): add
        comment.

        * redisplay.c (redisplay_frame): don't call
        update_frame_subwindows. Reset subwindow cachels when
        subwindows_changed, removing this was an optimization too far.

        * redisplay-output.c (compare_runes): reorganize so that we catch
        glyph changes when we want them. Set optimize_output when this
        would help layouts.
        (redisplay_output_layout): remove frame_really_changed, use
        optimize_output instead.

        * redisplay-msw.c (mswindows_output_display_block): reset
        optimize_output after outputting a glyph.
        * redisplay-x.c (x_output_display_block): ditto.
        * redisplay-tty.c (tty_output_display_block): ditto.

        * gutter.c: (specifier_vars_of_gutter): use new spec changed
        functions.
        (gutter_specs_changed): do specific gutter positions.
        (top_gutter_specs_changed): new function. Only update the
        specified gutter specs.
        (bottom_gutter_specs_changed): ditto.
        (left_gutter_specs_changed): ditto.
        (right_gutter_specs_changed): ditto.

        * gui.c (gui_item_hash_internal): new function, does a real hash.
        (gui_item_id_hash): use it.
        (gui_item_hash): hash the eval'ed gui_item.

        * gui-x.c (popup_selection_callback): send an eval event to call
        Fupdate_widget_instances.

        * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
        to call Fupdate_widget_instances.

        * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
        (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
        
        * glyphs.c: (update_frame_subwindows): deleted.
        (Fupdate_widget_instances): new function for updating the dirty
        state of widgets that might have changed.
        (syms_of_glyphs): add Qupdate_widget_instances.
        (full_list_hash): hash a list completely.
        (image_instance_hash): use it for items and properties.

        * frame-msw.c (mswindows_size_frame_internal): remove unused
        variable.

        * faces.h (struct face_cachel): fix comment. 

        * event-stream.c (Fdispatch_non_command_events): new
        function. Process non-command events, forcing an event cycle
        beforehand.
        (syms_of_event_stream): declare.
        (event_stream_force_event_pending): new function. Force an event
        on the native event queue so that an event cycle will occur next
        time we check.

        * event-msw.c:
        (struct ntpipe_shove_stream):
        (mswindows_enqueue_dispatch_event):
        (mswindows_dequeue_dispatch_event):
        (mswindows_cancel_dispatch_event):
        (mswindows_pump_outstanding_events):
        (mswindows_drain_windows_queue):
        (mswindows_handle_paint):
        (mswindows_wnd_proc):
        (mswindows_key_to_emacs_keysym):
        (get_process_input_waitable):
        (emacs_mswindows_delete_stream_pair): re-indent file.
        (mswindows_need_event): do not process further fds if the windows
        fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
        fixes the 100% cpu problem.
        (reinit_vars_of_event_mswindows): set force_event_pending to 0.

2000-03-15  Olivier Galibert  &lt;galibert@pobox.com&gt;

        * alloc.h: New.
        * dumper.h: New.
        * dumper.c: New.

        * emacs.c: Moved dump file searching to dumper.c.
        (Frunning_temacs_p): Fixed.

        * alloc.c: Moved everything pdump-related to dumper.c.  Removed
        last_lrecord_type_index_assigned.

2000-02-20  Olivier Galibert  &lt;galibert@pobox.com&gt;

        * symsinit.h: Added reinit parameter to init_console_stream
        declaration.

        * lisp.h: Added file parameter to pdump_load declaration.

        * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
        support.  Added dump file searching.

        * config.h.in: Added EMACS_PROGNAME.

        * console-stream.c (init_console_stream): Fix reinitialisation
        when running from temacs.

        * alloc.c (pdump): Add id support.
        (pdump_load): Add file parameter and signature/id support.

        * Makefile.in.in: Add full pdump support.

2000-03-15  SL Baur  &lt;steve@musashimaru.m17n.org&gt;

        * postgresql.c: Update documentation to reflect latest code
        status.
        (print_result): Show tuple counts in printed representation when
        appropriate.
        (Fpq_put_nbytes): MULE-ize.
        (Fpq_get_line_async): Ditto.

2000-03-14  SL Baur  &lt;steve@musashimaru.m17n.org&gt;

        * postgresql.c (Fpq_lo_import): Fix return value.
        Suggested by: Kenji Itoh &lt;keit@tpj.co.jp&gt;.

2000-03-13  Ben Wing  &lt;ben@xemacs.org&gt;

        * alloc.c (pdump_load):
        Fix compile warning under mswin.

2000-03-14  SL Baur  &lt;steve@musashimaru.m17n.org&gt;

        * postgresql.c: Mule-ization, bug fixes.
        Use PG_CODING to encapsulate coding system name changes.
        Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
        (pg-coding-system): Create.

        (Fpq_conn_defaults): Mule-ize.
        (Fpq_connectdb): Mule-ize &amp; bug fix.
        (Fpq_connect_start): Mule-ize.
        (Fpq_set_client_encoding): Mule-ize.
        (Fpq_finish): Document `DEAD' connection status.
        (Fpq_clear): Ditto.
        (Fpq_pgconn): Mule-ize.
        (Fpq_exec): Mule-ize &amp; bug fix.
        (Fpq_send_query): Ditto.
        (Fpq_get_result): Ditto.
        (Fpq_res_status): Mule-ize.
        (Fpq_result_error_message): Mule-ize.
        (Fpq_ntuples): fix comments.
        (Fpq_fname): Mule-ize.
        (Fpq_fnumber): Mule-ize.
        (Fpq_ftype): fix comments.
        (Fpq_get_value): Mule-ize.
        (Fpq_cmd_status): Ditto.
        (Fpq_cmd_tuples): Ditto.
        (Fpq_oid_value): Ditto.
        (Fpq_notifies): Ditto.
        (Fpq_lo_import): Ditto.
        (Fpq_lo_export): Ditto.
        (Fpq_get_line): Ditto.
        (Fpq_put_line): Mule-ize and bug fix.
        (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.

2000-03-10  SL Baur  &lt;steve@musashimaru.m17n.org&gt;

        * postgresql.c (vars_of_postgresql): Mule-ize.
        (Fpq_conn_defaults): Ditto.

2000-03-12  Ben Wing  &lt;ben@xemacs.org&gt;

        * alloc.c (Fmake_byte_code):
        * alloc.c (debug_string_purity_print):
        * alloc.c (pdump_backtrace):
        * alloc.c (pdump_get_indirect_count):
        * alloc.c (pdump_register_sub):
        * alloc.c (pdump_register_object):
        * alloc.c (pdump_register_struct):
        * alloc.c (pdump_dump_data):
        * alloc.c (pdump_reloc_one):
        Minor cleanups.

        * console-msw.c:
        * console-msw.c (GetConsoleHwnd):
        * console-msw.c (msw_hide_console):
        * console-msw.c (msw_show_console):
        * console-msw.c (msw_ensure_console_buffered):
        * console-msw.c (msw_output_console_string):
        * console-msw.c (console_type_create_mswindows):

        a) Added functions to manipulate the console window for use with
        shell support.

        b) Added support for writing text to the console, which is now
        used under Windows when xemacs is not being run non-interactively,
        to write text that would otherwise be destined for stdout because
        under these circumstances, text written to stdout tends to
        disappear and not be seen.

        * console-msw.h:
        * event-Xt.c:
        * event-Xt.c (x_event_to_emacs_event):
        * event-Xt.c (describe_event_window):
        * events-mod.h (XEMACS_MOD_CONTROL):
        * events.c:
        * events.c (Fmake_event):
        * events.c (character_to_event):
        * events.c (event_to_character):
        * events.c (format_event_object):
        * events.c (Fevent_modifiers):
        * events.h:
        * events.h (struct key_data):
        * events.h (struct button_data):
        * events.h (struct misc_user_data):
        * frame-x.c (Fcde_start_drag_internal):
        * frame-x.c (Foffix_start_drag_internal):
        * gpmevent.c (Freceive_gpm_event):
        * keymap.c:
        * keymap.c (bucky_sym_to_bucky_bit):
        * keymap.c (control_meta_superify):
        * keymap.c (make_key_description):
        * keymap.c (keymap_lookup_directly):
        * keymap.c (create_bucky_submap):
        * keymap.c (keymap_store):
        * keymap.c (define_key_check_and_coerce_keysym):
        * keymap.c (define_key_parser):
        * keymap.c (define_key_alternate_name):
        * keymap.c (Fdefine_key):
        * keymap.c (raw_lookup_key_mapper):
        * keymap.c (struct map_keymap_unsorted_closure):
        * keymap.c (map_keymap_unsorted_mapper):
        * keymap.c (map_keymap_sort_predicate):
        * keymap.c (map_keymap_sorted):
        * keymap.c (accessible_keymaps_mapper_1):
        * keymap.c (where_is_recursive_mapper):
        * keymap.c (describe_map_mapper):
        * keymap.c (describe_map_sort_predicate):
        * keymap.c (describe_map):
        * keymap.c (complex_vars_of_keymap):
        And a number of other files, the key modifier preprocessor
        constants that xemacs uses have names that conflict with constants
        defined under MS Windows for other purposes, so they were renamed
        to begin with the prefix XEMACS_. The variables that hold such
        modifiers were changed to consistently be of type int to fix
        various compile warnings.

        * console.c (complex_vars_of_console):
        * device.c:
        * device-msw.c:
        * device-msw.c (mswindows_finish_init_device):
        * device-msw.c (msw_get_workspace_coords):
        * device-msw.c (mswindows_device_system_metrics):
        and various other files, added support for a new
        device property called offset-workspace which returns the position
        of the upper left corner of the workspace area and goes along with
        the existing size-workspace property.

        * dialog-msw.c:
        * dialog-msw.c (push_bufbyte_string_as_unicode):
        * dialog-msw.c (mswindows_popup_dialog_box):
        Added support for XEmacs-style accelerator specifications in
        button text.  Note: I didn't add support for this under X Windows,
        and somebody needs to do this.

        * dialog.c:
        * dialog.c (Fpopup_dialog_box):
        Documented the support for accelerators that was just mentioned.

        editfns.c (get_home_directory): Changed behavior under Windows
        when HOME not defined; former behavior was irretrievably broken.
        
        * emacs.c:
        * emacs.c (main_1):
        * emacs.c (main):
        * minibuf.c (clear_echo_area_internal):
        * minibuf.c (echo_area_append):
        * print.c:
        * print.c (std_handle_out_external):
        * print.c (std_handle_out_va):
        * print.c (fatal):
        * print.c (write_string_to_stdio_stream):
        * print.c (output_string):
        * print.c (debug_print):
        * print.c (debug_backtrace):
        * print.c (debug_short_backtrace):
        Cleaned up the code that prints text to stdout so that this can be
        changed to output into a console window instead under MS Windows,
        as described above.

        * eval.c:
        * eval.c (DEFEND_AGAINST_THROW_RECURSION):
        * eval.c (internal_catch):
        * eval.c (unwind_to_catch):
        * eval.c (throw_or_bomb_out):
        * eval.c (condition_case_1):
        * eval.c (signal_1):
        * eval.c (check_error_state_sanity):
        * eval.c (call_with_suspended_errors_1):
        * eval.c (call_with_suspended_errors):
        * eval.c (reinit_vars_of_eval):
        Added code to catch throw loops and check for a pesky bug that may
        be gone now.
        
        * event-msw.c:
        * event-msw.c (key_needs_default_processing_p):
        * event-msw.c (mswindows_wnd_proc):
        * event-msw.c (mswindows_modifier_state):
        * event-msw.c (emacs_mswindows_quit_p):
        * event-msw.c (vars_of_event_mswindows):
        a) Added support for using the alt key to select menu items as is
        standard under MS Windows.  This is controlled using the variable
        menu-accelerator-enabled, just like under X Windows.  There is an
        option on the options menu to turn this support on.  I really
        think that it should be on by default under Windows, but I'm not
        going to make this change yet.

        b)  Added support for dynamic display size changes under Windows.

        * event-stream.c:
        * event-stream.c (maybe_echo_keys):
        * event-stream.c (Fnext_event):
        * event-stream.c (command_builder_find_leaf):
        * event-stream.c (lookup_command_event):
        * event-stream.c (execute_command_event):
        * event-stream.c (pre_command_hook):
        * event-stream.c (post_command_hook):
        * event-stream.c (syms_of_event_stream):
        * event-stream.c (vars_of_event_stream):
        * event-stream.c (complex_vars_of_event_stream):
        * events.h (struct command_builder):

        a) Tried to clean up a little bit the horribly written x-specific
        accelerator code that crept into this file.  I moved this code
        into menubar-x.c where it belongs. I also needed to move the
        command builder structure into the file events.h because it is
        accessed directly by this accelerator code.  What I didn't do, but
        which should be done at some point, is to properly abstract this
        code using device methods instead of the kludgy way that it
        currently hooks into the event code.

        b) Added the lisp variables this-command-properties and
        last-command- properties, which should be used to synchronize two
        adjacent commands in preference to playing games with the variable
        this-command, which is typically what happens.

        c) Added some slightly nasty code to hook into the lisp support
        for shifted- motion-key selection.  This is actually necessary for
        somewhat complicated reasons, which are described in
        simple.el. (NB: I think the proper thing would be to have the code
        that calls the pre and post command hooks also call out to generic
        lisp functions in simple.el, where all built-in stuff could be
        added.  I will think about this more.)

        * event-unixoid.c (poll_fds_for_input):
        * lread.c (readchar): 
        * redisplay-tty.c (tty_clear_frame):
        * redisplay-x.c (x_get_gc):
        * signal.c (interrupt_signal):
        And a whole bunch of other files: fixed up places that printed
        directly to stderr to instead call the function stderr_out so that
        the changes I made under Windows work correctly.

        * filemode.c (mode_string):
        Warning fixes.
        
        * frame-msw.c:
        * frame-msw.c (mswindows_size_frame_internal):
        Fixed the computation of frame size and position to keep the frame
        within the workspace area, rather than within the physical
        dimensions of the screen, so that the frame doesn't overlap window
        manager decorations, such as the start menu and toolbar, typically
        at the bottom of the screen.

        * frame.c (vars_of_frame):
        Changed the default frame title format under MS Windows to consist
        of buffername-XEmacs, which is standard under MS Windows.  I think
        it might be a good idea to change this everywhere because I think
        it is superior to the current frame title format, but this is the
        kind of change that is likely to cause some people to get annoyed,
        so I'm not making it.

        * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.

        * gui-msw.c (mswindows_handle_gui_wm_command):
        Fixed compile warnings.

        * gui-x.c:
        * gui-x.c (strdup_and_add_accel):
        * gui-x.c (button_item_to_widget_value):
        * gui-x.h:
        Added code to automatically put an accelerator onto the beginning
        of menu items that don't have one as is now the standard, and is
        described more later.  Also fixed things so that the menu item
        name can be an evaluated expression, again a new standard.

        * gui.c:
        * gui.c (gui_item_add_keyval_pair):
        * gui.c (make_gui_item_from_keywords_internal):
        * gui.c (gui_add_item_keywords_to_plist):
        * gui.c (gui_item_accelerator):
        * gui.c (gui_name_accelerator):
        * gui.c (gui_item_included_p):
        * gui.c (gui_item_display_flush_left):
        * gui.c (gui_item_display_flush_right):
        * gui.c (parse_gui_item_tree_item):
        * gui.c (parse_gui_item_tree_children):
        * gui.c (parse_gui_item_tree_list):
        Mule-ized.  Cleanup.  GCPRO addition.
        
        * line-number.c (buffer_line_number):
        * lisp.h:
        * lisp.h (EMACS_INT_MAX):
        Added the manifest constant EMACS_INT_MIN corresponding to the
        existing constant EMACS_INT_MAX.  This is partially to fix compile
        warnings under Windows, and partly for cleanliness.

        * menubar-msw.c:
        * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
        * menubar-msw.c (msw_translate_menu_or_dialog_item):
        * menubar-msw.c (displayable_menu_item):
        * menubar-msw.c (populate_menu_add_item):
        * menubar-msw.c (populate_or_checksum_helper):
        * menubar-msw.c (populate_menu):
        * menubar-msw.c (update_frame_menubar_maybe):
        * menubar-msw.c (prune_menubar):
        * menubar-msw.c (msw_char_is_accelerator):
        * menubar-msw.c (unsafe_handle_wm_initmenu_1):
        * menubar-msw.c (mswindows_handle_wm_command):
        * menubar-msw.c (mswindows_handle_wm_initmenupopup):
        * menubar-msw.c (mswindows_handle_wm_initmenu):
        * menubar-msw.c (mswindows_update_frame_menubars):
        * menubar-msw.c (mswindows_free_frame_menubars):
        * menubar-msw.c (mswindows_popup_menu):
        Fixed a bug in handling accelerators where an extra character
        would be displayed in the menu item.  Also generalized the
        function displayable_menu_item because it is now used by the
        dialog box code as well.  And finally, added code in the functions
        that create the menubar to extract a list of accelerators for the
        top level menubar, which is used in the event code to determine
        whether a particular alt-key combination should be used to invoke
        a menu item, or should be passed through to access the standard
        XEmacs keymap binding for this key combination.

        Much needed GCPROing.

        * menubar-x.c:
        * menubar-x.c (menu_item_descriptor_to_widget_value_1):
        * menubar-x.c (menu_item_descriptor_to_widget_value):
        * menubar-x.c (restore_in_menu_callback):
        * menubar-x.c (x_popup_menu):
        * menubar-x.c (menu_move_up):
        * menubar-x.c (menu_move_down):
        * menubar-x.c (menu_move_left):
        * menubar-x.c (menu_move_right):
        * menubar-x.c (menu_select_item):
        * menubar-x.c (command_builder_operate_menu_accelerator):
        * menubar-x.c (menu_accelerator_junk_on_error):
        * menubar-x.c (command_builder_find_menu_accelerator):
        * menubar-x.c (Faccelerate_menu):
        * menubar.h:
        Moved a whole bunch of code here that was previously in
        event-stream.c as described above.  There is also code connected
        to the new standard of adding an accelerator to the beginning of
        menu items that don't have one as described above and below.

        * menubar.c:
        * menubar.c (menu_parse_submenu_keywords):
        * menubar.c (Fmenu_find_real_submenu):
        * menubar.c (Fnormalize_menu_item_name):
        * menubar.c (syms_of_menubar):
        * menubar.c (vars_of_menubar):
        * menubar.c (complex_vars_of_menubar):

        a) Cleaned up a bunch of documentation and improved it.

        b) XEmacs now automatically adds an accelerator onto the beginning
        of any menu items that don't have one.  I did this because there
        will inevitably be some menu items on the main menubar that don't
        have accelerators on them because the package that adds that
        particular menu item hasn't yet been fixed up to have accelerators
        in them and it looked rather strange to have some items with and
        some items without accelerators, especially since even in items
        without accelerators, you can, at least under windows, still
        access the item through an accelerator corresponding to the first
        character in the item's name.  If people don't like this behavior,
        I can add a variable to turn it off optionally, but I'm not sure
        this is a good idea because we really do need to have accelerators
        on all of the menu items, and if a package doesn't like the
        accelerators being put on the first character, then it should put
        the accelerators where they belong.

        c) I made a behavior change, which is that the descriptor that
        specifies the text of the menu item, which formerly was just a
        string, can now also be an evaluated expression.  This makes this
        descriptor parallel with all of the others, which could also be
        evaluated expressions.  This also obviates the need for the
        keyword :label, which was previously listed in the documentation
        as unimplemented, and which was for the same purpose.

        d) GCPROing.

        * ntproc.c:
        * ntproc.c (new_child):
        * ntproc.c (sys_spawnve):
        * ntproc.c (find_child_console):
        * ntproc.c (sys_kill):
        Fixed compile warnings.  By the way, this file should really go
        away entirely, and this will happen as soon as Kirill makes his
        final round of process cleanups, which affect the function
        call-process.

        * process-nt.c:
        * process-nt.c (struct nt_process_data):
        * process-nt.c (find_process_from_pid):
        * process-nt.c (send_signal_the_nt_way):
        * process-nt.c (enable_child_signals):
        * process-nt.c (find_child_console):
        * process-nt.c (send_signal_the_95_way):
        * process-nt.c (nt_finalize_process_data):
        * process-nt.c (ensure_console_window_exists):
        * process-nt.c (nt_create_process):
        * process-nt.c (nt_kill_child_process):
        * process-nt.c (nt_kill_process_by_pid):
        * process-nt.c (nt_open_network_stream):
        * process-nt.c (vars_of_process_nt):
        Copied over code from Emacs 20.5 to correctly send signals to sub-
        processes under Windows 95.  Also added code to automatically
        create and hide console window when a sub-process is created under
        Windows 95, which obviates the need for the separate runemacs.exe
        executable, and finally implemented some variables that were
        implemented in Emacs 20.5, but previously not in XEmacs.  These
        include mswindows- start-process-share-console and
        mswindows-start-process-inherit-error-mode. (Both of these only
        apply to Windows 95.)

        * regex.c (regex_compile): Fixed a compile warning.

        * select-msw.c:
        * select-msw.c (mswindows_own_selection):
        * select-msw.c (mswindows_get_foreign_selection):
        * select-msw.c (mswindows_disown_selection):
        * select-msw.c (console_type_create_select_mswindows):
        * select-msw.c (syms_of_select_mswindows):
        Cleaned up the file and implemented the device method
        selection_exists_p, which had accidentally been left out.  Also
        removed four lisp functions that were remnants from before the
        time when the selection code was properly device abstracted.
        These functions are no longer needed because there are generic
        equivalents, and because they were added recently and don't exist
        in FSF Emacs, I don't think there's any problem with just deleting
        them.

        * sysdep.c:
        * sysdep.c (sys_subshell):
        Fixed a compile warning, although in this case there's probably
        something wrong with this code, and it ought to be looked into
        more thoroughly by somebody who understands it.

        * window.c:
        * window.c (Fwindow_text_area_height):
        * window.c (Fwindow_width):
        * window.c (Fwindow_full_width):
        * window.c (Fwindow_pixel_width):
        * window.c (debug_print_window):
        * window.c (syms_of_window):
        Added functions window-text-area-height and window-full-width,
        which are functions for returning various width and height
        characteristics of a window. (One of these functions is necessary
        for making the file dialog box work correctly, and the other one
        was added for completeness.)  Also added a table to the
        documentation for window-height which describes the entire scheme
        for accessing width and height characteristics of a window.

2000-03-12  Kirill 'Big K' Katsnelson  &lt;kkm@dtmx.com&gt;

        * nt.c (fstat): Added a comment for another problem with
        non-encapsulated [f]stat(), reported by Adrian Aichner
        &lt;aichner@ecf.teradyne.com&gt;.

2000-03-11  Andy Piper  &lt;andy@xemacs.org&gt;

        * window.c (make_dummy_parent): initialize subwindow instance
        cache.
        (Fset_window_configuration): zero extent_modiff.

2000-03-10  Andy Piper  &lt;andy@xemacs.org&gt;

        * redisplay.c (Fredraw_frame): reset the changed_set flags so that
        more changes can be triggered.
        (Fredisplay_frame): ditto.
        (Fredraw_device): ditto.
        (Fredisplay_device): ditto.
        (redisplay_frame): make non-static.
        (redisplay_frame): call update_frame_gutter_geometry outside of
        display proper.

        * gutter.h: declare update_frame_gutter_geometry.

        * redisplay.h: declare redisplay_frame.

        * gutter.c (update_frame_gutter_geometry): move geometry changes
        in update_frame_gutters here. Geometry changes can only occur
        outside of redisplay.
        (update_frame_gutters): remove geometry change code.
        (Fredisplay_gutter_area): make sure that we are in display when we
        update and that we have flushed any size changes.

2000-03-11  Andy Piper  &lt;andy@xemacs.org&gt;

        * alloc.c (pdump_dump_data): remove i &amp; count shadows.

2000-02-27  Mike Alexander  &lt;mta@arbortext.com&gt;

        * sysdep.h: Declare pdump_read_file

        * sysdep.c (pdump_read_file): New function

        * alloc.c (pdump_load): Call pdump_read_file to get the portable
        dump data

2000-03-10  SL Baur  &lt;steve@musashimaru.m17n.org&gt;

        * lrecord.h: add `lrecord_type_pgsetenv'.

2000-03-08  SL Baur  &lt;steve@musashimaru.m17n.org&gt;

        * symsinit.h: declare (vars|syms)_of* functions.
        * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.

2000-03-06  SL Baur  &lt;steve@musashimaru.m17n.org&gt;

        * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7

        * inline.c: Include postgresql.h lrecord stuffs to placate buggy
        GCCs.

        * emacs.c (main_1): Call postgres initialization code.

        * postgresql.h: New file.  PostgreSQL RDBMS support.
        * postgresql.c: New file.

2000-03-08  Yoshiki Hayashi  &lt;yoshiki@xemacs.org&gt;

        * redisplay-output.c (redisplay_output_display_block): Disable
        redundant code.

2000-03-09  Yoshiki Hayashi  &lt;yoshiki@xemacs.org&gt;

        * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
        (Fcanna_henkan_next): Ditto.
        (Fcanna_bunsetu_henkou): Ditto.
        (Fcanna_henkan_kakutei): Ditto.
        (Fcanna_henkan_end): Ditto.
        (Fcanna_henkan_quit): Ditto.
        (Fcanna_henkan_next): Set retun value correctly.
        (c2mu): Use unsigned char instead of signed char.

2000-03-09  Yoshiki Hayashi  &lt;yoshiki@xemacs.org&gt;

        * emacs.c (main_1): Always call syms_of_gui.
        * inline.c: include gui.h

2000-03-09  Yoshiki Hayashi  &lt;yoshiki@xemacs.org&gt;

        * redisplay.c (Vvisible_bell): Renamed from visible_bell and
        converted to Lisp_Object.
        (Qtop_bottom): New variable.
        (syms_of_redisplay): Initialize it.
        * redisplay.h (Vvisible_bell): Ditto.
        * sound.c (ding): Ditto and check if Vvisible_bell is nil.
        * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
        only flash top and bottom.

2000-03-08  Andy Piper  &lt;andy@xemacs.org&gt;

        * buffer.c (Frename_buffer): record new buffer name the right way.

2000-03-08  Andy Piper  &lt;andy@xemacs.org&gt;

        * glyphs.c (update_subwindow): increase hash depth so that widget
        items get picked up properly.

        * redisplay-output.c (compare_runes): increase hash depth so that
        widget items get picked up properly.

2000-03-08  Andy Piper  &lt;andy@xemacs.org&gt;

        * gutter.c (output_gutter): add some debug.

        * glyphs.h (struct Lisp_Image_Instance): add display_hash.
        (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
        (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.

        * redisplay-output.c (compare_runes): use display_hash to
        determine if glyphs really are not the same.

        * glyphs.c (update_subwindow): check display_hash to see if
        anything really needs to be updated. If not then do
        nothing. Record the display_hash after updating.
        (image_instance_equal): compare the image_instance face also.

2000-03-07  Yoshiki Hayashi  &lt;yoshiki@xemacs.org&gt;

        * redisplay.h: Fix comment style.

2000-03-08  Jonathan Harris  &lt;jhar@tardis.ed.ac.uk&gt;

        * consle-msw.h (struct mswindows_frame):
        Added new member paint_pending to indicate whether a WM_PAINT
        magic event has been queued for this frame.

        * event-msw.c (mswindows_drain_windows_queue):
        Don't queue a WM_PAINT magic event if one is already queued.
        (emacs_mswindows_handle_magic_event): clear paint_pending flag.

        * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.

2000-03-07  Didier Verna  &lt;didier@xemacs.org&gt;

        * dired.c: #include `regex.h' after `sysfile.h'.

2000-03-06  Martin Buchholz  &lt;martin@xemacs.org&gt;

        * sound.c (init_nas_sound): Fix compiler warning.

        * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
        (FREE_STRUCT_P):
        (MARK_STRUCT_AS_FREE):
        (MARK_STRUCT_AS_NOT_FREE):
        Make `gcc -fstrict-aliasing' work properly.

2000-03-07  Jonathan Harris  &lt;jhar@tardis.ed.ac.uk&gt;

        * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
        (mswindows_delete_device): Call CoUnnitialize().

        * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.

2000-02-25    &lt;CraigL@DyCon.com&gt;

        * process-nt.c: MinGW now has &lt;shellapi.h&gt;, but still needs
        &lt;errno.h&gt;.

        * sysdep.c: This extern declaration for environ prevents MinGW
        from finding the variable in CRTDLL.DLL.

        * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
        windows headers.
        (SHGFI_EXETYPE): ..
        (WM_MOUSEWHEEL): ..
        (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
        definitions.
        (MMRESULT): Removed, now defined in cygwin's windows headers.
        (TIMECAPS): ..
        (uid_t,gid_t,pid_t,ssize_t): ..
        (_timeb): Removed, MinGW defines both _timeb and timeb.
        (HAVE_H_ERRNO): Added.
        (HAVE_TZNAME): Added, configure is not detecting this.

2000-02-03  IKEYAMA Tomonori &lt;tomonori@suiyokai.org&gt;

        * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
        * syntax.c (syntax_match): Use it.

        * cmds.c: Import auto-fill-chars from FSF Emacs.
        (Vauto_fill_chars): New variables.
        (internal_self_insert): Check Vauto_fill_chars.
        (vars_of_cmds):
        Declare auto-fill-chars as a Lisp variable and initialize it.

2000-03-05  Jonathan Harris  &lt;jhar@tardis.ed.ac.uk&gt;

        * fileio.c (Fmake_symbolic_link):
        (Ffile_symlink_p):
        Run handlers even if local machine doesn't have symlinks.

2000-03-05  Jonathan Harris  &lt;jhar@tardis.ed.ac.uk&gt;

        * event-msw.c (mswindows_drain_windows_queue):
        Don't generate paint magic events for non-XEmacs frames.

2000-03-05  Andy Piper  &lt;andy@xemacs.org&gt;

        * redisplay.c (redisplay_frame): generate_displayable_area and
        friends assumes that we are not in GC, we therefore have to make
        sure that this doesn't happen.

        * gutter.c (calculate_gutter_size): generate_displayable_area
        assumes that we are not in GC, we therefore have to make sure that
        this doesn't happen.

2000-03-05  Martin Buchholz  &lt;martin@xemacs.org&gt;

        * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==&gt; opaque-ptr

2000-03-03  Jan Vroonhof  &lt;vroonhof@math.ethz.ch&gt;

        * redisplay.c (regenerate_window): Make sure we set a sane value
        for end_pos even if we jump out of the loop.
        (regenerate_window): Answer Ben's question :-).
        (start_end_of_last_line): Add may_error argument.
        (start_of_last_line):
        (end_of_last_line): Pass may_error = 0.
        (end_of_last_line_may_error): New function.
        (pixel_to_glyph_translation): Use it, so we don't crash in
        event_to_glyph.

2000-03-04  Andy Piper  &lt;andy@xemacs.org&gt;

        * window.h (struct window): add gutter_extent_modiff.

        * window.c (allocate_window): zero out gutter_extent_modiff.

        * redisplay.h: declare sync_display_line_structs.

        * redisplay.c (add_glyph_rune): add a better comment.

        * redisplay-output.c (sync_display_line_structs): made non-static.
        (compare_runes): remove unneccesary glyph cachel access.

        * gutter.h: declare gutter_extent_signal_changed_region_maybe.

        * gutter.c (output_gutter): don't output the gutter if extent
        changes only involve extents in buffers. use 4 sets of display
        lines.
        (gutter_extent_signal_changed_region_maybe): new function. Mark
        extents in gutters as changed.
        (update_frame_gutters): use 4 sets of display lines.
        (reset_gutter_display_lines): ditto.
        (free_frame_gutters): ditto.
        (redraw_exposed_gutter): force output of gutters.

        * frame.h (struct frame): add 4 sets of gutter display lines.

        * extents.c: (extent_changed_for_redisplay): signal changes to
        extents in strings in the gutter as well as extents in buffers.

2000-03-02  Andy Piper  &lt;andy@xemacs.org&gt;

        * gutter.c (specifier_vars_of_gutter): cosmetic changes.

        * frame.c (Fmake_frame): make sure the gutters get initialized
        after the frame is visible.
        (set_frame_selected_window): re-arrange compilation macros a
        little.
        (change_frame_size_1): mark gutters changed.

        * device.c (Fset_device_class): mark gutters changed.

2000-03-01  Andy Piper  &lt;andy@xemacs.org&gt;

        * window.c (window_top_frame_gutter_height): deleted.
        (window_bottom_frame_gutter_height): ditto.
        (window_left_frame_gutter_height): ditto.
        (window_right_frame_gutter_height): ditto.
        (window_top_gutter_height): don't use them.
        (window_bottom_gutter_height): ditto.
        (window_left_gutter_width): ditto.
        (window_right_gutter_width): ditto.
        (Fsplit_window): ditto.
        (Fwindow_pixel_edges): don't use border dimensions here.

        * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
        (update_scrollbar_instance): ditto.

        * redisplay.c (generate_modeline): don't take gutters into account.
        (generate_modeline): ditto.
        (redisplay_frame): small gutter display optimisation.

        * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.

        * redisplay-msw.c (mswindows_output_vertical_divider): don't take
        gutters into account.

        * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
        for window position and type.

        * gutter.c (get_gutter_coords): fix for frame gutters.
        (update_frame_gutters): update frame geometry if the gutters have
        changed.
        (init_frame_gutters): record current gutter geometries.

        * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
        var.
        (mswindows_widget_instantiate): ditto.

        * frame.h (struct frame): add current_gutter_bounds.

        * frame.c (change_frame_size_1): position window and minibuffer
        appropriately taking into account the frame gutters.

        * frame-x.c: (x_initialize_frame_size): take into account the
        frame gutters.

2000-02-29  Stephen J. Turnbull  &lt;stephen@xemacs.org&gt;

        * emacs.c (data-directory):  Xref `locate-data-file' in docstring.

2000-02-29  Stephen J. Turnbull  &lt;stephen@xemacs.org&gt;

        * alloc.c (dumpopaquevec): Increase dimension for --with-canna.

1999-12-30  Yoshiki Hayashi  &lt;t90553@mail.ecc.u-tokyo.ac.jp&gt;

        * file-coding.c (reset_decoding_stream): Clear previous
        detection state when autodetect.

2000-02-29  Didier Verna  &lt;didier@xemacs.org&gt;

        * extents.c (set_extent_glyph_1): don't require extents to be
        attached.

2000-02-27  Andy Piper  &lt;andy@xemacs.org&gt;

        * gutter.c (Fset_default_gutter_position): don't default left and
        right gutter visibility to t.
        (Fset_default_gutter_position): run
        default-gutter-position-changed-hook.
        (syms_of_gutter): add default-gutter-position-changed-hook.

2000-02-26  Andy Piper  &lt;andy@xemacs.org&gt;

        * specifier.c (Fmake_specifier): add gutter references.

        * gutter.h (RAW_WINDOW_GUTTER): new macro.

        * lisp.h: declare Fvalid_plist_p.

        * gutter.c (gutter_geometry_changed_in_window): mark the modeline
        as changed.
        (default_gutter_visible_p_changed_in_window): invalidate gutter as
        well as its visibility so that it gets reconstructed.
        (construct_window_gutter_spec): new function. Construct a string
        to be displayed in the gutter from a plist of strings. Take care
        to only use elements that are declared as visible.
        (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
        WINDOW_GUTTER.
        (gutter_validate): allow plists of strings in the specifier.
        (gutter_specs_changed): construct the real_gutter from the gutter
        specs using construct_window_gutter_spec.
        (gutter_visible_validate): gutter-visible is a new specifier type.
        (Fgutter_visible_specifier_p): new function for the new specifier.
        (syms_of_gutter): declare gutter-visible and
        Fgutter_visible_specifier_p.
        (specifier_type_create_gutter): intitalize new gutter-visible
        specifier.
        (reinit_specifier_type_create_gutter): ditto.
        (specifier_vars_of_gutter): use new specifier type for gutter
        visibility.
        (init_frame_gutters): construct real_gutter correctly.
        (Fgutter_specifier_p): beef up documentation.
        (Fgutter_size_specifier_p): ditto.

        * winslots.h: add real_gutter slots.

2000-02-25  Andy Piper  &lt;andy@xemacs.org&gt;

        * device-msw.c: Be kind to older cygwin versions. From Raymond
        Toy &lt;toy@rtp.ericsson.se&gt;.

        * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
        earlier cygwins. From Raymond Toy &lt;toy@rtp.ericsson.se&gt;.

2000-02-25  Martin Buchholz  &lt;martin@xemacs.org&gt;

        * elhash.c (MARK_OBJ): Practice macro hygiene.

2000-02-24  Martin Buchholz  &lt;martin@xemacs.org&gt;

        * miscplay.c: s/__inline__/inline/g;
        * glyphs-msw.c (set_mono_pixel): INLINE ==&gt; static inline
        (get_device_compdc): INLINE ==&gt; static inline
        * *.[ch]: Change INLINE to INLINE_HEADER globally.
        find -name '*.h' | \
        xargs global-replace \
        's/(^|(?&lt;=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'

2000-02-25  Andy Piper  &lt;andy@xemacs.org&gt;

        * window.c (window_top_frame_gutter_height): new function.
        (window_top_window_gutter_height): ditto.
        (window_top_gutter_height): use them.
        (window_bottom_frame_gutter_height): new function.
        (window_bottom_window_gutter_height): ditto.
        (window_bottom_gutter_height): use them.
        (window_left_window_gutter_width): new function.
        (window_left_frame_gutter_width): ditto.
        (window_left_gutter_width): use them.
        (window_right_window_gutter_width): new function.
        (window_right_frame_gutter_width): ditto.
        (window_right_gutter_width): use them.
        (window_pixel_height): new function. calulate window pixel height
        with frame gutter involvement.
        (Fsplit_window): calculate new sizes taking frame gutters into
        account.
        (window_char_height_to_pixel_height): don't include frame gutters.
        (window_char_height): use window_pixel_height.
        (window_pixheight): rename from window_pixel_height.
        (change_window_height): use it.
        (window_pixel_height_to_char_height): don't include frame gutters.
        (window_char_width_to_pixel_width): ditto.

2000-02-25  Andy Piper  &lt;andy@xemacs.org&gt;

        * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
        if it is.

2000-02-24  Martin Buchholz  &lt;martin@xemacs.org&gt;

        * alloc.c (staticpro):
        (staticpro_nodump):
        (dumpstruct):
        (dumpopaque):
        (pdump_wire):
        (pdump_wire_list):
        (compact_string_chars):
        (pdump_dump_wired):
        Convert:  if (foo) abort();  ==&gt;  assert (! foo);

        * eldap.c (Fldap_search_basic):
        (Fldap_add):
        (Fldap_modify):
        (Fldap_delete):
        Fix compiler warnings, and possible crashes if (random) return
        value were to be used.

2000-02-21  Kirill 'Big K' Katsnelson  &lt;kkm@dtmx.com&gt;

        * device-msw.c: Workaround ResetDC failure.

        * frame-msw.c (msprinter_init_frame_3): Added an assertion before
        applying a devmode.

        * redisplay-msw.c (get_frame_dc): Added start_page_p.
        (mswindows_text_width): Do not start printer page.

        * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.

        * glyphs-msw.c: Added image methods to msprinter console and
        msprinter-specific image instantiation.

2000-02-20  Mike Alexander  &lt;mta@arbortext.com&gt;

        * select-msw.c (Fmswindows_set_clipboard): GC protect more things
        to avoid crashes when selection-sets-clipboard is on
        (mswindows_own_selection): ditto

2000-02-19  Kirill 'Big K' Katsnelson  &lt;kkm@dtmx.com&gt;

        * glyphs-msw.c:
        * redisplay-msw.c (get_frame_dc):
        (get_frame_compdc):
        * console-msw.h:
        * device-msw.c (mswindows_init_device):
        (mswindows_delete_device):
        (msprinter_init_device):
        (msprinter_delete_device):
        * frame-msw.c (mswindows_init_frame_1):
        (mswindows_delete_frame):
        (msprinter_init_frame_3):
        (msprinter_delete_frame): Move compatible DC to device object from
        frame object, for both mswindows and msprinter. Only one at a time
        is needed, it is a real waste to have one per frame!

2000-02-23  Andy Piper  &lt;andy@xemacs.org&gt;

        * glyphs.c: add dynamic width and height elements.
        (image_instance_equal): ditto.

        * glyphs-widget.c (widget_query_geometry): calculate width and
        height dynamically if required.
        (initialize_widget_image_instance): initialize dynamic dimensions.
        (widget_instantiate): pick-up dynamic dimensions.

        * glyphs.h (struct Lisp_Image_Instance): add width and height for
        dynamic determination. Add appropriate macros.

        * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
        dimensions safe.
        (WINDOW_GUTTER_SIZE): ditto.
        (WINDOW_GUTTER_SIZE_INTERNAL): ditto.

        * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
        inline.
        (get_frame_dc): ditto.

        * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
        here.
            </pre>
            <h2><a name="tests:ChangeLog" shape="rect">tests/ChangeLog</a></h2>
            <p>goto <a href="#changes" shape="rect">changes</a>, <a href="#summary" shape="rect">summary</a></p>
            <pre xml:space="preserve">

2000-03-10  Martin Buchholz  &lt;martin@xemacs.org&gt;

        * automated/mule-tests.el: Check that (make-temp-name) returns
        unique values.

2000-03-06  Yoshiki Hayashi  &lt;yoshiki@xemacs.org&gt;

        * gutter-test.el: Fix name of specifier.
            </pre>