summaryrefslogtreecommitdiff
path: root/libs/cassowary/ChangeLog
blob: be31e0e5a91babf2b4c441c9b14217e400a46edd (plain)
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
Fri Mar 18 15:41:00 2005  Taybin Rutkin <taybin@earthlink.net>
	* Removed ClSet.h, ClMap.h.
	* ClReader.l includes ClReader.cc.h instead of ClReader.hh.  The
	difference between yacc and bison.
	* Various changes to fix compliation.

Wed Jan 29 21:36:15 2003  Taybin Rutkin <trutkin@physics.clarku.edu>
	* Updated to work with g++ 3.x compilers.
	* More direct use of STL.
	* Removed C wrappers

Sun Mar 12 13:40:44 2000  Greg J. Badros  <gjb@cs.washington.edu>

	* guile/cassowary_scm.cc: Give docstrings as arguments

	* guile/cl-snarf.h: Added docstring as an argument to CL_PROC to
	be like the revised Scwm documentation extraction system.

Sat Feb 12 20:34:55 2000  Greg J. Badros  <gjb@cs.washington.edu>

	* Makefile.am: Added GTL.h.patch to EXTRA_DIST

Sat Feb 12 20:31:47 2000  Greg J. Badros  <gjb@cs.washington.edu>

	* c++/ClSimplexSolver.cc, c++/ClSimplexSolver.h: Drop
 	ExternalResetStayConstants, make ResetStayConstants() public.
  	Test _fResetStayConstantsAutomatically before doing so in
 	Resolve().  Use _fAutosolve instead of _fOptimizeAutomatically.
	Drop DisplayObjective (wasn't defined anyway).  Drop field
	_fOptimizeAutomatically (use _fAutosolve from parent, instead).

	* guile/cassowary_scm.hpp, guile/cassowary_scm.cc: Drop extra
 	include of guile/gh.h

	* guile/cassowary_scm.cc: Added `cl-set-auto-solve!',
	`cl-set-auto-reset-stay-constants!'

Sat Jan 29 17:45:32 2000  Greg J. Badros  <gjb@cs.washington.edu>

	* configure.in (CASSOWARY_VERSION): Bump to 0.55.

Sat Jan 29 17:43:05 2000  Greg J. Badros  <gjb@cs.washington.edu>

	* c++/ClSimplexSolver.cc (Resolve): Do not comment out
	"ResetStayConstants()" as Beurivé had done.  This was resulting in 
	quirky behaviour whereby the windows were "rubber-banding" back to 
	where they were at the start of an interaction (e.g., if I push a
	window out of the way to the left with another window, as I move
	the pushing window back to the right, the other window comes back
	to the right with the pushing window).  Maybe that's desirable
	behaviour in some instances, but it's not the behaviour we
	document and sure feels weird to me.

Sat Jan 29 17:38:43 2000  Greg J. Badros  <gjb@cs.washington.edu>

	* java/sym.java, java/parser.java, java/Yylex.java: Added -- these 
	are created by JavaCUP which I don't want to be necessary for
	building.

Mon Jan 24 09:34:20 2000  Greg J. Badros  <gjb@cs.washington.edu>

	* c++/ClSymbolicWeight.h: Set SymbolicWeight multiplier to
	1000000, not 10000 (A.Beurivé)

	* c++/ClSimplexSolver.h, c++/ClSimplexSolver.cc: Added
 	ChangeStrength, ChangeStrengthAndWeight, ChangeWeight,
 	DisplayObjective, ExternalResetStayConstants fns.
	(RemoveConstraintInternal) Avoid picking the objective row when
	removing a constraint.  (Optimize) Pick any negative row to avoid
	unending pivots [I think this is a work-around to avoid having to
	implement Bland's anti-cycling rule... maybe I should just do
	that, though].  (A.Beurivé)

Thu Dec 16 11:12:34 1999  Greg J. Badros  <gjb@cs.washington.edu>

	* configure.in: Version bumped to 0.54a

Thu Dec 16 11:10:42 1999  Greg J. Badros  <gjb@cs.washington.edu>

	* java/Makefile.am: Force prefix ordering in SUBDIRS so that "."
	dir gets built before the demos subdirectory.

	* smalltalk/Makefile.am: Fix .dat file -- thanks Alan!

Wed Dec 15 19:31:48 1999  Greg J. Badros  <gjb@cs.washington.edu>

	* java/README: More notes re: security problems w/ Java 2.

	* java/cda/Makefile.am: Added run target to ease running it.

	* Makefile.am (EXTRA_DIST): Added c++/{config.h.in,stamp-h.in}

	* java/cda/Makefile.am (EXTRA_DIST): Clean up install of .gif
	files.

	* java/Makefile.am (EXTRA_DIST): Added ClReader.{cup,lex}

	* c++/Makefile.am: Do not make symlink to cassowary; let
	configure.in do that.

Wed Dec 15 18:13:14 1999  Greg J. Badros  <gjb@cs.washington.edu>

	* java/Makefile.am: Put SUBDIRS demo cda back in since they
	compile now.

	* scripts/recreate-symlinks: Update with links to ../../EDU from
	demo directories for Java code.  Use ln -sf, not just ln -s, to avoid 
	warnings.

	* Makefile.am (EXTRA_DIST): Include scripts/recreate-symlinks

	* configure.in: Run recreate-symlinks script.

Wed Dec 15 18:07:27 1999  Greg J. Badros  <gjb@cs.washington.edu>

	* java/cda/Makefile.am:  Put Constraint/*, Main/* files into the
	distribution and build with them. 

	* java/demos/*.java: Move everything into the
	EDU.Washington.grad.gjb.cassowary_demos package.

	* java/cda/classes/run.html, java/demos/quaddemo.htm: Fix nl
 	convention, name class explicitly w/ package in front, w/o
 	trailing .class.

	* java/cda/**: Move everything into the
	EDU.Washington.grad.noth.cda package.

Wed Dec 15 17:21:08 1999  Greg J. Badros  <gjb@cs.washington.edu>

	* java/Makefile.am: Build java parser.

	* java/ClParseTest.java: Added.

	* GTL.h.patch: Added -- need by gcc-2.95 when compiling GTL-0.3.1

	* java/README: Mention java parser.

	* java/ClReader.lex, java/ClReader.cup: Cleanup, guard debug messages.

Tue Dec 14 11:15:01 1999  Greg J. Badros  <gjb@cs.washington.edu>

	* configure.in: Fix -fpermissive test to not check "cc" as well as 
	$CC.  Eliminate the --enable-permissive flag since it is no longer 
	necessary.

Mon Dec 13 15:56:19 1999  Greg J. Badros  <gjb@cs.washington.edu>

	* java/Yylex.java: Added, from Will Portnoy.

	* java/ClReader.cup, java/ClReader.lex: Latest version from Will,
	cleaned up line breaks, set a tab-width for Emacs.

Mon Dec 13 15:55:59 1999  Greg J. Badros  <gjb@cs.washington.edu>

	* c++/Makefile.am: Remove ClReader.cc -- why did I add this
	before?

Fri Dec 10 13:29:00 1999  Greg J. Badros  <gjb@cs.washington.edu>

	* java/ClSimplexSolver.java (addLowerBound, addUpperBound):  Fix
	these two functions to call addConstraint before returning.
	Thanks Stephen Allain for catching this!  Updated exception specs
	for those methods and for addBounds.

Tue Dec  7 08:42:34 1999  Greg J. Badros  <gjb@cs.washington.edu>

	* smalltalk/A991206.dat: New image from Alan. Include correct
	version of code for "ClSimplexSolver removeConstraint:" to fix bug
	when deleting constraints with weights other than 1.  Also
	disallow invalid comparisons between symbolic weights and floats.
	Replace expressions "x clApprox: 0.0" with "x clApproxZero", which
	works correctly for both symbolic weights and floats.

	* smalltalk/*.st:  Added from Alan.

Mon Nov 29 16:23:06 1999    <gjb@cs.washington.edu>

	* configure.in: Bump to version 0.54, added -lGTL to GTL_LIB even
 	when no --with-gtl option is given.  No longer create README from
 	README.in.  Added --enable-static-library option, off by default.

	* c++/Makefile.am (sources): Added ClReader.cc

	* cassowary.spec.in, cassowary-both.spec.in: No longer need the
	--enable-guile-build option;  it's the default now.

Mon Nov 29 10:52:49 1999  Greg J. Badros  <gjb@cs.washington.edu>

	* c++/Makefile.am: Added use of AM_CONDITIONAL
	CL_BUILD_STATIC_LIBRARY;  only buile libcassowary.a if that option 
	was selected.

	* guile/Makefile.am (libconstraints_la_LIBADD): Added @GTL_LIB@ to 
	make the guile library work with the FD-enabled version of the library.

Sat Nov 27 16:11:10 1999  Greg J. Badros  <gjb@cs.washington.edu>

	* configure.in: Invert sense of --enable-guile-build and call it
	--disable-guile-build;  build guile wrapper automatically if
	guile-config works.

Sat Nov 27 15:20:03 1999  Greg J. Badros  <gjb@cs.washington.edu>

	* configure.in: Use an AM_CONDITIONAL for CL_BUILD_FD_SOLVER, not
	an AC_DEFINE.  Also, remove duplicate AC_SUBST of GTL_LIB, and fix 
	AM_CONDITIONAL of CL_BUILD_TESTS.

Sat Nov 27 15:19:20 1999  Greg J. Badros  <gjb@cs.washington.edu>

	* c++/Makefile.am: Try separating out FD stuff better, and use
	CL_BUILD_FD_SOLVER AM_CONDITIONAL to control dependence on that
	code.

	* c++/config.h.in: Drop CL_BUILD_FD_SOLVER; it's now an
	AM_CONDITIONAL instead of a define.

Wed Nov 24 15:40:27 1999  Greg J. Badros  <gjb@cs.washington.edu>

	* c++/ClSimplexSolver.cc: Fix typo in a throw message.

	* c++/ClLinearInequality.h: Throw an editmisuse when a
	ClLinearInequality is created w/o an inequality operator.

Tue Nov 23 16:54:05 1999  Greg J. Badros  <gjb@cs.washington.edu>

	* configure.in: Use guile's pkglibdir, not pkgdatadir, for
	choosing cassoguiledir.

Tue Nov 16 17:35:54 1999  Greg J. Badros  <gjb@cs.washington.edu>

	* java/ClReader.lex, java/ClReader.cup: Added -- code by Will
	Portnoy for adding a parser to the Java implementation.  Untested, 
	and an early version that he emailed me.

Tue Nov 16 17:34:00 1999  Greg J. Badros  <gjb@cs.washington.edu>

	* java/ClTestColumns.java, java/ClTests.java: Put in the cassowary 
	package, instead of importing cassowary.*;  jikes needed this
	(discovered during testing of java-ml work).

Sat Nov 13 11:43:48 1999  Greg J. Badros  <gjb@cs.washington.edu>

	* java/Timer.java (Timer): Remove return type from Timer()
	constructor (jikes caught the bug when I used this as a test case
	for my java-ml work).

Sun Oct 24 13:17:14 1999  Greg J. Badros  <gjb@cs.washington.edu>

	* configure.in: Updated version to 0.53, generate
	smalltalk/Makefile from Makefile.am.

	* NEWS: Updated for 0.53 release.

	* Makefile.am: Added smalltalk directory to SUBDIRS.

Sat Oct 23 14:34:27 1999  Greg J. Badros  <gjb@cs.washington.edu>

	* COPYING.GPL: Added

	* LICENSE: Added Scwm exception
	

Sat Oct 23 14:33:48 1999  Greg J. Badros  <gjb@cs.washington.edu>

	* c++/Makefile.am: Make cassowary/ directory symlink as needed.

Sun Oct  3 16:50:43 1999  Greg J. Badros  <gjb@cs.washington.edu>

	* c++/ClSimplexSolver.cc: Use clvNil some places instead of NULL.
  	This is important for newer, pickier gcc-2.95.x. Thanks Alexandre
 	Duret-Lutz for the patch!

Thu Sep 30 08:17:16 1999  Greg J. Badros  <gjb@cs.washington.edu>

	* c++/ClFDSolver.cc: Added missing #include <stdarg.h> -- Thanks
	Harry Hochheiser for bug report.

Sun Sep 26 13:43:12 1999  Greg J. Badros  <gjb@cs.washington.edu>

	* c++/Makefile.am (libcassowary_la_LDFLAGS): Added -version-info
 	flag to make libcassowary.so.0.0.1, instead of .0.0.0

Sun Sep 26 13:15:32 1999  Greg J. Badros  <gjb@cs.washington.edu>

	* README, ANNOUNCE: Removed

	* README.in, ANNOUNCE.in: Added

	* configure.in: Create README, ANNOUNCE, bump to 0.52post

Sat Sep 25 16:02:22 1999  Greg J. Badros  <gjb@cs.washington.edu>

	* cassowary.spec.in, configure.in: Update to version 0.52.

Fri Sep 24 18:51:42 1999  Greg J. Badros  <gjb@cs.washington.edu>

	* configure.in: Remove first of redundant checks for HAVE_SCM_MAKE_SMOB_TYPE_MFPE.

Mon Sep 20 13:36:45 1999  Greg J. Badros  <gjb@cs.washington.edu>

	* guile/cassowary_scm.cc: Fix `cl-int-value' to use gh_int2scm
	instead of gh_double2scm

Sun Sep 19 14:45:59 1999  Greg J. Badros  <gjb@cs.washington.edu>

	* c++/ClSimplexSolver.h, c++/ClSimplexSolver.cc: Replace
 	_editVarMap with _editInfoList, a list.  Make ClEditInfo class
 	contain the variable since its no longer stored as values in a
 	hash where the key is the variable.  Drop the index from
 	ClEditInfo.  Rename ClVarToEditInfoMap to ClEditInfoList.

Sun Sep 19 14:44:00 1999  Greg J. Badros  <gjb@cs.washington.edu>

	* c++/ClTests.cc (multiedit2): Added this new test to check nested
 	edits that share an existing variable better.  This tests the fix
 	for the ScwmButtons auto-orientation seg-fault bug in Scwm.

	* c++/ClBug0.cc: Added comment re: new bug fix.

Sat Sep 18 22:31:54 1999  Greg J. Badros  <gjb@cs.washington.edu>

	* configure.in:  Added GUILE_LIBS setting.

	* cassowary.spec.in: Use fake_root_for_install to get the
	cassowary guile library in proper place.

	* autogen.sh: Only create symlink if not already created.

	* acconfig.h, c++/config.h.in: Added HAVE_SCM_MAKE_SMOB_TYPE_MFPE

	* README: Added note re: enable-permissive

	* guile/cassowary_scm.cc: Use new-style (guile-1.3.2 or better)
	SMOBs conditioning on HAVE_SCM_MAKE_SMOB_TYPE_MFPE.

Wed Sep  8 20:03:25 1999  Greg J. Badros  <gjb@cs.washington.edu>

	* cassowary.spec.in: Bump to release 8

	* cassowary-nofd.spec2.in: Bump to release 2.

Wed Sep  8 19:43:53 1999  Greg J. Badros  <gjb@cs.washington.edu>

	* c++/Makefile.am: Drop building of config-inline.h -- let
	configure handle that-- this was causing a double-build
	(!!!ugh!!!) of Cassowary when building from RPMs, e.g.

	* GTL.spec.in: Use install-strip target.

Tue Sep  7 23:34:49 1999  Greg J. Badros  <gjb@cs.washington.edu>

	* configure.in, Makefile.am: use cassowary-nofd.spec2.in

	* cassowary-nofd.spec2.in: Renamed from cassowary-nofd.spec.in,
	since having two *.spec files in the top level upsets rpm (it cats 
	them together and then gets confused by the double .spec file).

	* cassowary-both.spec.in: Added-- rpm doesn't support two %build
	tags (one for a subpackage), but if it did, this is what the
	corresponding .spec file might look like.

Tue Sep  7 23:02:26 1999  Greg J. Badros  <gjb@cs.washington.edu>

	* Makefile.am: Added cassowary-nofd.spec to EXTRA_DIST,
	bin_SCRIPTS = cassowary-config.  Added dist-nofd target, and
	supporting targets.

	* cassowary.spec.in: Bump to 7, provide virtual package, install
	%{prefix}/bin/* (for cassowary-config script).

	* configure.in: Added CASSOWARY_VERSION variable, create
	cassowary-config, cassowary-nofd.spec

	* cassowary-config.in, cassowary-nofd.spec.in: Added

Mon Sep  6 21:40:58 1999    <gjb@cs.washington.edu>

	* cassowary.spec.in: Use install-strip target to remove debug
	symbols and save disk space.  Remove %{prefix}/doc/* from the
	%files list as they are in the %doc listing already.

Mon Sep  6 12:25:14 1999   Greg J. Badros  <gjb@cs.washington.edu>

	* cassowary.spec.in: Use --host=alpha-linux on that platform
	(using an %ifarch). Bump to release 6.

	* GTL.spec.in: Fix the ./configure line for alpha platform (was
	missing "--" before the "prefix" option). Bump to release 2.

	* c++/ClSymbolicWeight.h, c++/ClSymbolicWeight.cc: Use int, not
 	unsigned, to remove ambiguity in ClSymbolicWeight constructor.

Sat Sep  4 15:17:13 1999   Greg J. Badros  <gjb@cs.washington.edu>

	* acconfig.h: Added NO_CC_PERMISSIVE flag.

	* autogen.sh: Added #!/bin/sh -  to top.

	* configure.in: Test for g++/gcc -fpermissive flag.  Hopefully
	this will let it get used only where it is accepted.  Some better
	guile tests, too.

	* cassowary.spec.in: Use --enable-permissive flag, bump from
	release 3 to 5.

Sat Sep  4 14:44:14 1999   Greg J. Badros  <gjb@cs.washington.edu>

	* c++/Makefile.am, guile/Makefile.am: Added CPPEXTRAFLAGS to
 	AM_CPPFLAGS.

	* guile/Makefile.am: Guard lib_LIBRARIES with HAVE_GUILE test so
	that guile stuff is only built when GUILE is desired and we have
	the libraries installed.

Tue Aug 31 22:16:04 1999   Greg J. Badros  <gjb@cs.washington.edu>

	* java/demos/Makefile.am, java/cda/Makefile.am, java/Makefile.am
 	(install-javaJAVA): Do not try to install .class files if no
 	HAVE_JAVA

Tue Aug 31 21:30:24 1999   Greg J. Badros  <gjb@cs.washington.edu>

	* cassowary.spec.in: Do not use --disable-java-build, since that
	still invokes the rule which is not what I want.

	* java/demos/Makefile.am, java/cda/Makefile.am: Added bogus
 	classjava.stamp rule when no HAVE_JAVA to work around getting an
 	error when trying to run javac with no source files.

	* configure.in: Fix some HAVE_JAVA bugs.  Still not perfect, but better.

Tue Aug 31 17:07:31 1999   Greg J. Badros  <gjb@cs.washington.edu>

	* java/demos/Makefile.am, java/cda/Makefile.am, java/Makefile.am:
 	Added EXTRA_DIST.

Tue Aug 31 16:27:41 1999   Greg J. Badros  <gjb@cs.washington.edu>

	* configure.in (HAVA_JAVA): AC_OUTPUT the java/*/Makefiles.

	* cassowary.spec.in: Use --disable-java-build ./configure option.
	Bump to release 3.

	* Makefile.am: Do not conditionally do directories-- that is
	really broken with automake/rpm building.

Tue Aug 31 16:20:45 1999   Greg J. Badros  <gjb@cs.washington.edu>

	* java/demos/Makefile.am, java/cda/Makefile.am, java/Makefile.am
 	(java_JAVA): Guard with if HAVE_JAVE.

Mon Aug 30 12:03:26 1999   Greg J. Badros  <gjb@cs.washington.edu>

	* cassowary.spec.in: Bump to release 2

	* configure.in: Drop the java/* wrappers/* from AC_OUTPUT macro--
	this breaks java builds but make the Cassowary RPM build more
	cleanly.  I'm going to start making a separate cassowary-java
	distribution unless I can figure out how to make automake and Java 
	co-exist more happily.

Mon Aug 30 12:00:39 1999   Greg J. Badros  <gjb@cs.washington.edu>

	* c++/ClAbstractVariable.h: #include "cl_auto_ptr.h" and use
 	cl_auto_ptr, not auto_ptr.

Mon Aug 30 10:06:50 1999   Greg J. Badros  <gjb@cs.washington.edu>

	* c++/cl_auto_ptr.h: Change the conditional inclusion sandwich to
	CL_AUTO_PTR_H.  Added "#define cl_auto_ptr auto_ptr" for MSVC.

Thu Aug 26 22:42:50 1999   Greg J. Badros  <gjb@cs.washington.edu>

	* cassowary.spec.in: Require guile 1.3.2, to be safe.  Require GTL 
	>= 0.3.1, not gtl >= 0.3.1 (note capitalization)

Thu Aug 26 14:12:42 1999   Greg J. Badros  <gjb@cs.washington.edu>

	* c++/ClFDSolver.h, c++/ClCTest.c, c++/ClC.h, c++/ClC.cc,
 	c++/Cassowary.h, c++/ClConstraint.h: Use LONG_MIN, not MINLONG and
 	#include <limits.h> not <values.h> since the latter is deprecated
 	(and does not work in VC++).

	* THANKS: Thank Pengling He for his VC++ bug report re: values.h
	
Thu Aug 26 14:08:46 1999   Greg J. Badros  <gjb@cs.washington.edu>

	* configure.in (GUILE_PKGDATA_DIR): Set cassoguiledir variable,
	and use ${prefix} prefix of GUILE_PKGDATA_DIR to be sure that rpm
	building succeeds (was failing because it was trying to write to
	an absolute location that guile told it to use, instead of using
	the prefix of $RPM_BUILD_ROOT).

	* c++/Makefile.am: Fix lex/yacc building dependencies.

	* guile/Makefile.am (cassoguile_LTLIBRARIES): Do not set
	cassoguiledir here-- do it in configure.in instead.

Thu Aug 26 11:02:36 1999   Greg J. Badros  <gjb@cs.washington.edu>

	* guile/Makefile.am (EXTRA_DIST), docs/Makefile.am: Added docs to
	EXTRA_DIST.

	* c++/Makefile.am: Added ClReader.l, ClReader.y to EXTRA_DIST,
	remove ClReader.cc from sources.  Added timer.h to
	pkginclude_HEADERS.

	* Makefile.am: Update EXTRA_DIST

Thu Aug 26 08:45:08 1999   Greg J. Badros  <gjb@cs.washington.edu>

	* configure.in: Write cassowary.spec, GTL.spec.  Bump version to
	0.51.

	* autogen.sh: Run configure, not config.status

	* VERSION, README, NEWS, ANNOUNCE: Bump to 0.51, add date, notes.

	* Makefile.am: Drop Java, Python to make easier to package.  Added 
	EXTRA_DIST to include some doc files and the cassowary.spec file.

Wed Aug 25 22:54:18 1999   Greg J. Badros  <gjb@cs.washington.edu>

	* c++/Makefile.am (pkginclude_HEADERS): cl_auto_ptr.h now, not auto_ptr.h

Mon Aug 23 21:26:31 1999   Greg J. Badros  <gjb@cs.washington.edu>

	* ltmain.sh, ltconfig, libtool, configure: Removed -- these are
	autogenerated by autogen.sh

Mon Aug 23 21:23:53 1999   Greg J. Badros  <gjb@cs.washington.edu>

	* c++/ClSimplexSolver.cc: Use cl_auto_ptr, not auto_ptr.

	* c++/ClAbstractVariable.h: #include <memory>, not "auto_ptr.h"

	* c++/cl_auto_ptr.h: Added -- renamed from auto_ptr.h since that
	was causing some difficulties due to the standard C++ auto_ptr template. 

Mon Jul 26 10:19:35 1999  Greg Badros  <gjb@cs.washington.edu>

	* c++/Makefile.am (libcassowary_la_SOURCES): Remove redundant
	listing of ClFD* files from this target.

Mon Jul 26 09:41:09 1999  Greg Badros  <gjb@cs.washington.edu>

	* c++/Cl.h: Include ClConstraint.h, since cnLT, etc., need to be
	defined for ClReader.y

Mon Jul 26 09:22:11 1999  Greg Badros  <gjb@cs.washington.edu>

	* acconfig.h, configure.in: Use CL_ prefix for BUILD_FD_SOLVER and
 	HAVE_GTL.

Mon Jul 26 09:17:56 1999  Greg Badros  <gjb@cs.washington.edu>

	* c++/config.h.in,c++/ClC.h,c++/ClC.cc,c++/Cl.h: Use CL_ prefix on
 	BUILD_FD_SOLVER and HAVE_GTL so that the config-inline.h gets the
 	right definitions.

	* c++/Makefile.am: Expanded out the sources_for_fd_solver since
	the _OBJECTS make variable doesn't get expanded properly if this
	step is deferred until later.  This breaks builds w/o FD solver,
	but I have to get Amaya working ASAP.

Mon Jul 19 17:08:03 1999  Greg Badros  <gjb@cs.washington.edu>

	* c++/ClSymbolicWeight.h: Increase multiplier to 10000 for
	AsDouble-- works around the bug in resizing Scwm windows because
	the medium stay constraints on width and height are too strong for 
	the strong edit constraint.

Sun Jul 11 19:37:39 1999  Greg Badros  <gjb@cs.washington.edu>

	* c++/ClLinearExpression.h: Remove "class" from a typedef
	ClMap<ClVariable,class T>.  Thanks Alexandre 'Pollux' Duret-Lutz
	for testing against a more recent egcs (gcc-2.95) that caught this 
	problem.

	* configure.in: Improve checks for guile so that it uses --prefix
	and --exec-prefix to --guile-prefix and --guile-exec-prefix

Sat Jul 10 19:21:34 1999  Greg Badros  <gjb@cs.washington.edu>

	* autogen.sh: rm libtool stuff just in case.

	* README: Updated version number, notes about building it and
	needing GTL for fd solver.

	* configure.in: Added --enable-cxx-tests, --enable-fd-solver,
	--with-gtl;  switch --disable-java-build to --enable-java-build

	* acconfig.h, c++/config.h.in: Added HAVE_GTL, BUILD_FD_SOLVER options.

	* c++/Makefile.am: Make only the library and ClTests get built by
	default (other binary test programs are each big when build -g,
	and aren't useful to the end user).  Use @SOURCES_FOR_FD_SOLVER@
	to permit a version of the toolkit to be build without the finite
	domain subsolver.

	* c++/ClC.h, c++/ClC.cc, c++/Cl.h: Add #ifdefs for no fd subsolver.

Fri May  7 17:02:09 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/ClC.cc (CL_ClvLookup): Return NULL if varmap is NULL instead 
	of asserting it is non-NULL

Thu May  6 19:02:38 1999  Greg J Badros  <gjb@bowman.cs.monash.edu.au>

	* c++/ClFDTests.cc: Added return type to connect1.

	* c++/ClFDSolver.cc: Return *this where missing.

	* c++/ClFDConnectorVariable.h: Reorder mem vars to match
	initialization order in ctr.

	* c++/ClC.h, c++/ClC.cc:  Added CL_ClvIsFD.

Sun May  2 10:42:00 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/ClReader.l: Permit "_" in identifiers (needed for env
	variable precondition variables).

	* c++/ClLinearInequality.h: Honour _fStrictInequality flag when
	testing FIsSatisfied().

	* c++/ClLinearConstraint.h: Added missing "void" return type for
	ChangeConstant.

Fri Apr 30 09:45:51 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/ClFDConnectorVariable.cc, c++/ClFDConnectorVariable.h:
	Added -- support connecting the FD solver to the simplex solver
	via a variable in the FD region that gets its value "copied" to a
	analogous variable in the Simplex region.

	* Makefile.am: Added ClFDConnectorVariable.[ch] files.

	* c++/ClLinearConstraint.h: Added ChangeConstant()

	* c++/ClFloatVariable.h, c++/ClFDVariable.h,
 	c++/ClFloatVariable.cc, c++/ClFDVariable.cc,
 	c++/ClAbstractVariable.h: Move _pv, SetPv(), Pv() from
 	ClFloatVariable, ClFDVariable, into common parent
 	ClAbstractVariable.  Drop ClFloatVariable::SetName().

	* c++/ClFDTests.cc: Added connect1 test to test
	ClFDConnectorVariable

	* c++/ClFDSolver.cc: Use 1 + value-rhs for errors to ensure that
	strict inequalities behave reasonably.

Thu Apr 29 19:29:34 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/ClVariable.h: Register variable in the dictionary when
	initialized from a ClFDVariable*.  Added const ClAbstractVariable
	*operator() const.

	* c++/ClSolver.h, c++/ClSimplexSolver.h: Added _fAutosolve,
 	_pfnChangeClvCallback; added default ctr to initialize.  Added
 	SolveNoException(); Moved SetAutosolve(), FIsAutosolving(),
 	SetChangeClvCallback() from ClSimplexSolver up to here.

	* c++/ClSolver.cc: Added PrintTo for list<FDNumber>, operator<<
	for same.

	* c++/ClSimplexSolver.cc: Test constraint with
	FIsOkayForSimplexSolver() before trying to add it (avoids adding
	FD constraints to the simplex solver).
	s/_fOptimizeAutomatically/_fAutosolve/g

	* c++/ClParseTest.cc: Use FCanConvertCn() before trying to.

	* c++/ClFDVariable.h: Make PlfdnDomain() const and return const.

	* c++/ClFDVariable.cc: PrintOn now displays value (duh!)

	* c++/ClFDTests.cc: Use new ListPushOnto() instead of a bunch of
	push_back.  Added simple2, simple3.

	* c++/ClFDSolver.h, c++/ClFDSolver.cc: Added ChangeClv(),
 	AddConstraintInternal(), RemoveConstraintInternal(),
 	ListPushOnto(), fDebugFDSolve var, more debugging code.

	* c++/ClConstraint.h, c++/ClFDConstraint.h: Added
 	FIsOkayForSimplexSolver() returning false for FDCns, true in the
	base class.

	* c++/ClFDBinaryOneWayConstraint.h,
 	c++/ClFDBinaryOneWayConstraint.cc: Make ctr take ClConstraint
 	instead of ClLinearConstraint.  Added EnsurePreconditionsForCn(),
 	FCanConvertCn().  Throw better exceptions instead of
	ExCLEditMisue-- use new ExCLTooDifficultSpecial.

	* c++/ClCTest.c: Use CL_ClvPrint instead of coding by hand.
	Added CL_CldvNew() call.

	* c++/ClC.cc, c++/ClC.h: Added FDN_EOL defn, typedefs for Number,
	FDNumber, CL_CldvNew(), CL_FDCanConvertCn(), CL_FDCnFromCn(),
	CL_ClvPrint(). Use CL_Solver for PfnChangeClvCallback, not CL_SimplexSolver.

	* c++/ClAbstractVariable.h: Throw instead of assert(false) in base 
	class IsPivotable(), IsRestricted().

Wed Apr 28 19:38:46 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/ClC.cc: Added CL_FDSolverNew()

Wed Apr 28 19:10:32 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/Makefile.am (INCLUDES): Include @GUILE_INCLUDES@ -- actually 
	done to get cassowary libraries (GJB:FIXME::)

Wed Apr 28 18:49:51 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/Makefile.am: Added ClCTest to the _PROGRAMS, and use
	-lstdc++ on them

	* c++/ClSolver.h: Expose Resolve() in base-class interface, along
	with <<, and PrintOn.

	* c++/ClSolver.cc: Added << operator.

	* c++/ClC.h, c++/ClC.cc, c++/ClTest.c: Fixed bugs, use
 	CL_Solver... instead of CL_SimplexSolver... where appropriate.

Wed Apr 28 17:15:47 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/ClSymbolicWeight.h: Make CLevels unsigned, not int, and
	require all 3 args to the 3 double ctr to remove ambiguity.

	* c++/ClSimplexSolver.h: Check constraint before adding and throw
	an error if the constraint is no good for the SimplexSolver.

	* c++/ClParseTest.cc: Don't assume a failed add is due to an
	inconsistent system-- could be wrong kind of constraint was read
	in.

	* c++/ClLinearInequality.h: Store the strictness of the
	inequality, since other solvers may be able to use strict ones.

	* c++/ClFDSolver.cc: Fine-tune the exception objects thrown... use 
	the richer hierarchy.

	* c++/ClFDBinaryOneWayConstraint.c,
	c++/ClFDBinaryOneWayConstraint.h:  Added IsStrictInequality(), get 
	the direction of the inequality correct.

	* c++/ClErrors.h: Richer hierarchy of exceptions to cope with
	solver limitations.

	* c++/ClConstraint.h: Added IsStrictInequality(); have
	ReadOnlyVars return a const ClVarSet&, not value.

Wed Apr 28 12:20:47 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/Makefile.am: Added ClFDBinaryOneWayConstraint.cc.

	* c++/ClReader.y, c++/ClReader.l: Added tokens GT, LT, and handle
	them (for >, <, resp).

	* c++/ClParseTest.cc: try converting to a FD constraint, and show
	what that object is.

	* c++/ClFDBinaryOneWayConstraint.h: Added ctr from a
	ClLinearConstraint.  Added IsInequality().

Wed Apr 28 12:08:16 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/ro-test.in: Added for testing below.

	* c++/ClFDBinaryOneWayConstraint.cc: Added -- so far just a ctr
	from a ClLinearConstraint object (since the parser hands me a
	constraint object that is a ClLinearConstraint object).

Tue Apr 27 20:35:23 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/ClSymbolicWeight.h, c++/ClSymbolicWeight.cc: Drop default
 	ctr, and give default arg value to CLevels of 3.  Added operator*.

	* c++/ClFDTests.cc: Better test.

	* c++/ClFDSolver.h, c++/ClFDSolver.cc: Use SymbolicWeights for
	errors, so hierarchy is handled (i.e., strengths on constraints
	are honoured).

	* c++/ClFDConstraint.h: Added ctr with strength, weight.

	* c++/ClFDBinaryOneWayConstraint.h: Added strength, weight
	arguments to ctr.

	* c++/ClConstraint.h:  Added symbolicWeight() accessor.

Tue Apr 27 15:04:34 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/ClFDSolver.cc (RemoveConstraint): Fix some bugs-- handle nil 
	read-only variable properly, and clean up _mapVarToNode when
	erasing nodes.

Tue Apr 27 10:40:58 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/ClSolver.cc: Added -- wrote PrintTo, << basic impls, and
	simple AddConstraint.

	* c++/QocaBench.cc, c++/ClTests.cc, c++/ClSubgraphTest.cc,
 	ClLeakTest.cc, ClC.cc: Use Solve(), not solve()

	* c++/ClVariable.h:  Added DesiredValue, PlfdnDomain base-class
	accessors, handle clvNil in PrintOn.

	* c++/Makefile.am:  Added ClSolver.cc, link with -lGTL, added
	missing and new .cc, .h files.

	* c++/ClTypedefs.h: added ClVarToConstraintSetMap.

	* c++/ClSolver.h: Added AddConstraint{,NoException},
	RemoveConstraint{,NoException}, Solver here to the abstract
	interface, also the prototypes for the PrintTo and << on the
	ClTypedefs.h types.

	* c++/ClSimplexSolver.h, c++/ClSimplexSolver.cc: Solve(), not
 	solve(), move some protos in abstract base class ClSolver.

	* c++/ClLinearInequality.h: Use ClCnRelation, not
	ClInequalityOperator.

	* c++/ClFDVariable.h, c++/ClFDVariable.cc: More accessors,
	settors, comment-out non-initial-domain ctr.

	* c++/ClFDTests.cc: Test more.

	* c++/ClFDSolver.h, c++/ClFDSolver.cc: Almost complete, but
	largely untested implementation.

	* c++/ClFDBinaryOneWayConstraint.h: Added ctrs, setters, getters.

	* c++/ClErrors.h: Fixed throw message for ExCLConstraintNotFound
	to not refer to the tableau.

	* c++/ClConstraint.h: Added ClCnRelation (was ClInequalityOperator 
	in c++/ClLinearInequality.h) and wrote StrCnRelation for printing
	it.

	* c++/Cl.h:  include ClFDSolver.h

	* c++/Cassowary.h : include values.h, def FDN_NOTSET (FIXME: drop this?)

Sun Apr 25 18:55:26 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/Makefile.am: Added ClFDBinaryOneWayConstraint.h,
	ClFDConstraint.h to pkginclude_HEADERS.

	* c++/ClSimplexSolver.h, c++/ClSimplexSolver.cc: Added optional
 	strength argument to AddPointStays, AddPointStay fns.

	* c++/ClFDVariable.h:  Set _plfdnInitialDomain to avoid a warning
	for now.

	* c++/ClFDBinaryOneWayConstraint.h: Added return xo to PrintOn.

	* c++/ClConstraint.h: Fix order of initializers.

	* c++/ClC.h, c++/ClC.cc: Document return value for
 	CL_VarMapDelete, and do proper return.

	* configure.in:  Added --enable-cflags, --enable-cxxflags,
	--enable-cppextraflags.  Not tested yet.

Sun Apr 25 11:46:28 1999  Greg J Badros  <gjb@cs.washington.edu>

	* configure.in: Bump version to .50, for FD features.

Sun Apr 25 11:37:52 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/Makefile.am: Comment out the Bug sources/builds, add the FD
	sources.

	* c++/ClSimplexSolver.h: Inherit from ClSolver, too.  Move SetPv, 
	Pv() out into ClSolver base class.

	* c++/ClSimplexSolver.cc, c++/Cl.h: Make szCassowaryVersion a const char *.

	* c++/ClReadery.y, c++/ClReader.l, c++/ClReader.h: Support "?"
 	read-only annotations, and use Constraint::AddROVars() to track
 	the ro vars of a constraint expression.

	* c++/ClParseTest.cc: Show whether the constraint is added
	successfully or if it is inconsistent.

	* c++/ClLinearConstraint.h: Fix BUG-- super should be
	ClConstraint, not ClLinearConstraint.

	* c++/ClFDVariable.cc: Use <, > to delimit FD vars, not [, ].

	* c++/ClConstraint.h, c++/ClConstraint.cc: Added AddROVars,
 	FIsReadOnlyVar, ReadOnlyVars.

Thu Apr 22 20:18:31 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/ClVariable.h: Added ClVariable ctr that takes a
	ClFDVariable*, this ambiguates returning NULL as a ClVariable, so
	may not be a good idea, but it does make it less confusing than
	having another overloaded version of ClVariable's ctr. Added
	IsFloatVariable, IsFDVariable fwding fns.

	* c++/ClSimplexSolver.cc: Disambiguate uses of NULL to be
	(ClFloatVariable *)NULL.

	* c++/ClFloatVariable.h: Added IsFloatVariable() to return true

	* c++/ClC.h, c++/ClC.cc: Added CL_ClvLookupTrim for removing ws
 	around the var name.

	* c++/ClAbstractVariable.h: Make IsPivotable, IsRestricted both
	assert false instead of being pure virtual -- they only need to be 
	overridden if we want to permit them to be called.  Added
	IsFloatVariable(), IsFDVariable() both returning false in this
	base class.

	* c++/Cassowary.h: Added FDNumber typedef to be a long.

	* c++/Makefile.am: Added ClFDVariable.{cc,h}

	* c++/ClFDVariable.cc, c++/ClFDVariable.h: Added, copied from
	ClFloatVariable and modified slightly.

Tue Apr 20 10:18:32 1999  Greg J Badros  <gjb@cs.washington.edu>

	* smalltalk/README: Note that smalltalk implementation is now in
	the public domain.

	* README: Update to version 0.43, note about smalltalk
	implementation being in public domain.

	* LICENSE: Note about not applying to smalltalk implementation

	* ANNOUNCE: Update date to today.

	* *: Changed copyright to be "Greg J. Badros and Alan Borning"
	instead of "Alan Borning and Greg J. Badros".  Okayed by Alan --
	to hopefully encourage more people to write me with their
	questions/problems rather than Alan.

Mon Apr 19 13:45:35 1999  Greg J Badros  <gjb@cs.washington.edu>

	* cassowary.spec: Added --with-guile-prefix

Mon Apr 19 13:02:46 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/ClReader.l: Be a bit more careful about end of string
	handling in YY_INPUT-- only return result = 1 if we read a
	non-null character.  Call yy_flush_buffer() before throw-ing an
	error, so that we start anew the next time we are asked to return
	tokens for the parser.

	* c++/ClC.h, c++/ClC.cc: Added CL_SimplexSolverAddStay. (Fix typo
	in .cc)

Fri Apr 16 16:36:24 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/ClTests.cc, c++/ClSimplexSolver.h, c++/ClSimplexSolver.cc, : Use "RemoveConstraintNoException", not
	"removeConstraintNoException" (fix initial caps.)

	* c++/ClReader.y: Start looking for a constraint, turn on verbose
	warnings and DEBUG option (still need to set cldebug = 1 in
	debugger)

	* c++/ClReader.h: In operator() for the lookup proc, Return
 	&clvNil() if _pmapVars is still NULL

	* c++/ClC.h, c++/ClC.cc: Added CL_VariableName(..), CL_VarMapDelete(..),
	CL_RemoveConstraint(..) 


Wed Apr 14 16:56:05 1999  Greg J Badros  <gjb@cs.washington.edu>

	* configure.in: Bump to .43.

	* c++/ClC.cc (CL_VarMapDelete, CL_VariableName): Added new functions.

	* cassowary.spec: Added, for building rpms

	* c++/gdbinit-cassowary: Added a bunch of guile debugging macros.

	* c++/Makefile.am: Added ClC.cc to libcassowary_a_SOURCES

	* c++/ClReader.y: Turn off parser debugging messages by default

	* c++/ClC.h, c++/ClC.cc: Added CL_ConstraintPrint, CL_FIsSatisfied
 	protos

Wed Mar 31 17:23:18 1999  Greg J Badros  <gjb@cs.washington.edu>

	* wrappers/Makefile.in: Rename PYTHON_HEADERS to PYTHON_HEADER_DIR 
	so it does not get treated specially by automake (?).

	* configure.in: Bump to .42. Added --disable-cpp-build,
	--disable-java-build, and disable Python/Guile builds
	automatically if directories cannot be found.  Drop the
	cassowary from c++/cassowary/config.h -- just use c++/config.h

	* autogen.sh: do not fail if config.status is not -x.

	* Makefile.am: Honour the HAVE_foo flags so that not all subdirs
	have to be built.

Mon Mar 29 21:01:21 1999  Greg J Badros  <gjb@cs.washington.edu>

	* ltconfig, ltmain.sh: Added -- so libtool isn't broken in
	distributions. 

Mon Mar 29 20:59:17 1999  Greg J Badros  <gjb@cs.washington.edu>

	* configure.in: Try to undo a bash-ism.  Untested on a vendor sh,
	but still works with bash.

Sat Mar 20 19:19:37 1999  Greg J Badros  <gjb@cs.washington.edu>

	* Release v0.41.

Sat Mar 20 19:19:13 1999  Greg J Badros  <gjb@cs.washington.edu>

	* Added config.sub and config.guess to the repo -- they were
	symlinks before which broke the distribution.

Thu Mar 18 15:20:51 1999  Greg J Badros  <gjb@cs.washington.edu>

	* Release v0.4.

Thu Mar 18 14:44:39 1999  Greg J Badros  <gjb@cs.washington.edu>

	* configure.in: Do not let config-inline.h get overwritten if it
	is unchanged.  Add some extra messages to tell status of
	config-inline.h

Thu Mar 18 12:59:02 1999  Greg J Badros  <gjb@cs.washington.edu>

	* README, configure.in, wrappers/Makefile.in: Added
 	--with-python-headers configure option.

Thu Mar 18 12:48:55 1999  Greg J Badros  <gjb@cs.washington.edu>

	* README: Added notes about what to do when a subdir build fails,
	suggest -k by default.

	* guile/Makefile.am (test): Added this target for easier way to
	run cltests.scm.

	* guile/README: Updated with notes about how to run cltests.scm. 

	* java/Makefile.in: Fix tests build rule.

Thu Mar 18 11:42:49 1999  Greg J Badros  <gjb@cs.washington.edu>

	* configure.in: Create config-inline.h at end of script.

	* c++/Makefile.am: Do not have rule for building config-inline.h; 
	let configure script do that.

Thu Mar 18 11:05:27 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/*.h: Use #include config-inline.h incantation so that header 
	files don't include config.h (since they may be included by
	another package that has its own config.h)

	* c++/*.cc: Use #include config.h as these are build-time-only
	used and can thus rely on the full configure details.

Thu Mar 18 10:57:08 1999  Greg J Badros  <gjb@cs.washington.edu>

	* guile/cassowary_scm.hpp: Use #include config-inline.h
	incantation.

	* guile/cassowary_scm.h: Drop including config.h; it's not
	needed. 

	* guile/cassowary_scm.cc: Use cassowary/config.h, not config.h

Thu Mar 18 10:29:40 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/Makefile.am: Install config-inline.h, not config.h, and
	build config-inline.h by grepping for #define CL_ in config.h.
	This works around the problem caused by Scwm including Cassowary
	header files which then included cassowary's config.h and
	conflicted with Scwm's config.h.

Thu Mar 18 10:11:40 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/test-*.cc: Only #include "Cl.h"

Thu Mar 18 09:50:45 1999  Greg J Badros  <gjb@cs.washington.edu>

	* wrappers/Makefile.in (clean): use rm -f so we don't get a
	warning if file is missing.

Thu Mar 18 09:49:35 1999  Greg J Badros  <gjb@cs.washington.edu>

	* java/Makefile.in: Use JAVA_CLASS_PATH configure variable.  Fix
	install target to echo a message about the install happening
	during the build.

Wed Mar 17 18:54:16 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/Makefile.am: Use libtool, and added lib_LTLIBRARIES.  Put
	benchmarks, bugs, and test programs all under $libdir/cassowary.
	Drop cassoincludedir, as that's just pkginclude, and use
	include_HEADERS for Cl.h and ClC.h, the main top-level includes.
	Also install config.h.

	* c++/Cassowary.h:  #undef PACKAGE, VERSION before #including
	cassowary/config.h as a cheezy workaround. (Switched from "" to
	<>, and ../ to cassowary/ also).

Wed Mar 17 18:50:49 1999  Greg J Badros  <gjb@cs.washington.edu>

	* configure.in: Put config.h in c++/cassowary so cassowary must do 
	#include <cassowary/config.h> so there is no filename conflict
	with other packages including cassowary header files (e.g.,
	Scwm).  Added AM_PROG_LIBTOOL call.  Set GUILE variables outside
	of the guile-prefix ACE_ARG_PATH macro, and set GUILE_PKGDATA_DIR
	use guile-config to find out where we should install the .so file.

Wed Mar 17 18:43:08 1999  Greg J Badros  <gjb@cs.washington.edu>

	* guile/Makefile.am: Updated to build using libtool, and to
	install header files.  Changes name to libconstraints.* so that
	the guile module name (cassowary constraints) works out, and set
	it to install in the right place.

Wed Mar 17 18:39:13 1999  Greg J Badros  <gjb@cs.washington.edu>

	* guile/cltests.scm: Added #! lines, change name of module to
	(cassowary constraints), remove redundant `use-modules' call.

	* guile/cassowary_scm.hpp: #include
	cassowary/ClLinearExpression_fwd.h, not ClLinearExpression_fwd.h

	* guile/cassowary_scm.cc: Change name of module to (cassowary
	constraints).  Make the init_cassowary_scm fn static.

Wed Mar 17 07:39:10 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/Cassowary.h, c++/ClSimplexSolver.cc: Switch back to
	including config.h (now ../config.h) from Cassowary.h, instead of
	from ClSimplexSolver.cc.   

Tue Mar 16 19:56:02 1999  Greg J Badros  <gjb@cs.washington.edu>

	* acconfig.h: Fix missing comment closer */

	* c++/Makefile.am: Added AM_CPPFLAGS = $(CPPEXTRAFLAGS)

	* configure.in: Use config.h, not c++/config.h, and permit
	--enable-warnings option to turn on compile-time warnings (uses
	AM_CPPFLAGS in Makefile.am)

Tue Mar 16 19:26:23 1999  Greg J Badros  <gjb@cs.washington.edu>

	* configure.in, acconfig.h: Better autoconf support, including
	several --enable options.  Added acconfig.h to support autoheader
	doing the right thing in making config.h.in.

Tue Mar 16 19:22:50 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/ClSimplexSolver.cc, c++/Cassowary.h: Include "config.h" from
 	here, not from Cassowary.h (still not right-- problem is scwm gets 
	the wrong config.h.  Maybe config.h should be in ..?

Tue Mar 16 19:21:06 1999  Greg J Badros  <gjb@cs.washington.edu>

	* java/README: Added note about common error when CLASSPATH is wrong.

Tue Mar 16 15:51:15 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/Cassowary.h: #include "config.h"

	* c++/ClSimplexSolver.cc: Use VERSION to init szCassowaryVersion.

Tue Mar 16 12:44:33 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/**: Updated function names to always start with an uppercase 
	letter (follows C++ conventions, and brings API of Cassowary and 
	QOCA closer together).  Used scripts/convert-ids to do the
	conversion, along with scripts/ids-to-upper as the list of
	conversions to do.

Wed Mar 10 15:28:33 1999  Greg J Badros  <gjb@cs.washington.edu>

	* Release v0.32.

Wed Mar 10 11:36:37 1999  Greg J Badros  <gjb@cs.washington.edu>

	* **/Makefile: Removed, since these are now generated by
	autoconf from Makefile.in (which itself is generated by
	automake from Makefile.am [only for some directories])

	* configure.in: 
	
	* c++/ClBug2.cc: Added to demonstrate a bug that Anthony Beurivé
	reported.

	* c++/ClSimplexSolver.cc: Fix above-mentioned bug by changing the
	coefficient of the added in removeConstraintInternal.

	* c++/ClReader.l: Reset the lexer on failed id lookup.

	* c++/ClC.cc, c++/ClC.h: Added VarMap access functionality, make
 	CL_ParseConstraint catch exceptions and return NULL on error
 	parsing.

	* c++/config.h.in, c++/stamp-h.in: Added, for automake/autoconf
	support.

	* c++/Makefile.am: Improve installation support, updated for
	ClBug2

	* guile/Makefile.am: Build .x using guile-snarf

	* c++/Makefile.linux:  Updated for ClBug2

	* c++/demos/DraggableBox.h: Do not return references to
	ClVariable-s -- just return by value since they are a handle
	class.

	* guile/Makefile.am: changed name of library to
 	libcassowaryguile.a from libconstraints.a

	* java/CL.h: Added a String description argument to assert() to
	permit easier tracking of failures.

	* java/ClSimplexSolver.java: Fix bug that Emmanuel Pietriga
	reported -- use peek() to get at top element of _stkCedns stack
	when removing edit variables in removeEditVarsTo().  Added
	descriptions to assert()s and to throwing of ExCLInternalError.
	Have the addBounds, addUpperBound, addLowerBound functions
	propagate out ExCLInternalError-s instead of catching them and
	printing an error message.  Added messages to all assertions.

	* java/ClLinearExpression.java: Added description to throwing of
	ExCLInternalError.

	* java/ClLinearInequality.java: Added description to throwing of
	ExCLInternalError.

	* java/ExCLInternalError.java: Require description of the error in 
	constructor.

	* java/QuadDemo.java: Use System.err when printing errors, and
	print the description of the exception.

	* smalltalk/ClKernel.app: Fix bug with not using the weight of a
	constraint as the negating coefficient when removing a constraint.

Mon Mar  8 16:40:17 1999  Greg J Badros  <gjb@cs.washington.edu>

	* Added autoconf and partial automake support.  Added numerous
	Makefile.am's, renamed old Makefiles to Makefile.linux (and copied 
	to Makefile.in when I did not write a Makefile.am).  Added
	configure.in.

	* guile/cassowary_scm.cc: Use ClReader.h, not creader.h (I renamed 
	the file)

Fri Mar  5 16:24:05 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/Makefile, c++/Cl.h: Fix for renaming of creader.* ->
 	ClReader.*; make C libraries as part of lib, shared_lib rules.

	* c++/ClReader.*: Added, renamed from creader.h, creader.y,
	creader.l

	* c++/ClTableau.h, c++/ClTableau.cc: Added
	printExternalVariablesTo() fn.

	* c++/ClSimplexSolver.cc:  printExternalVariablesTo in
	printInternalInfo.

	* c++/ClParseTest.cc: DO not include ClReader.h-- Cl.h includes it

	* c++/ClCTest.c: Make more like a browser-related test, use new
	CL_TableauPrintExternalVariables()

	* c++/ClC.h, ClC.cc: Added CL_Tableau,
	CL_TableauPrintExternalVariables.  Use "ends" to terminate
	strstreams.  Make Strong Stays use medium strength stays.  Make
	CL_ParseConstraint call ClsFromSz instead of parsing the char *
	itself.

Thu Mar  4 19:08:23 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/ClVariable.h: Add assert(pclv) before dereferencing through
	ClVariable's pclv member.

	* c++/Makefile: Added DYNLINK = yes/no variable for controlling
	dynamic linking more easily.

	* c++/ClSimplexSolver.h: Changed PfnChangeClvCallback to take a
	ClVariable * instead of a ClVariable.  This make it easier for the 
	C interface since it has "CLV" as a "ClVariable *" and cannot
	reason about ClVariable-s because it doesn't see the struct defn.

	* c++/ClC.cc, c++/ClC.h:  Added CL_SimplexSolverSetEditedValue,
	CL_SimplexSolverPrint, CL_SimplexSolverSetChangeClvCallback,
	CL_VariableSetPv, CL_VariablePv.

	* c++/ClCTest.cc: Test CL_SimplexSolverSetEditedValue, CL_SimplexSolverPrint.

Wed Mar  3 17:37:17 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/ClSimplexSolver.h (UpdateExternalVariables): Added this
	function to provide a publicly available way to get at setExternalVariables()

	* c++/ClCTest.c, c++/ClC.h, c++/ClC.cc: Added for the beginnings
 	of a rudimentary C interface to the c++ library.

	* c++/Makefile: Updated to build ClCTest, libccassowary.so (the C
	interface to Cassowary [for Amaya, initially])

Mon Mar  1  Greg J Badros  <gjb@cs.washington.edu>

	* Release v0.31
	
Mon Mar  1 15:11:52 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/ClVariable.h: Added explict copy ctr.

	* c++/ClEditConstraint.h, c++/ClStayConstraint.h: Changed output
 	format so parentheses started by super:: call to ClConstraint.h
 	are closed properly.

	* c++/ClSimplexSolver.h, c++/ClSimplexSolver.cc: Undo removing a
 	pass by reference of ClVariable when used as an output argument.
  	Added printing for ClEditInfo class instancesm,
 	ClVarToEditInfoMap.

Mon Mar  1 13:46:48 1999  Greg J Badros  <gjb@cs.washington.edu>

	* README: Updated for version 0.31.

	* c++/Makefile: Added QocaBench.o to TEST_OBJS, comment out
	CL_USE_HASH_MAP_AND_SET by default.

	* c++/ClTestColumns.cc: Allocate constraint objects on heap, not
	as temporaries on local stack

	* c++/ClStayConstraint.h, c++/ClSimplexSolver.h,
	c++/ClSimplexSolver.cc, c++/ClPoint.h, c++/ClLinearInequality.h,
	c++/ClEditOrStayConstraint.h, c++/ClEditConstraint.h: Pass and
	return ClVariable-s by value, not by reference. (Fixes bug in
	QocaBench from re-use of a ClVariable object with the underlying
	pointer different.

	* c++/Cl.h: include creader.h
	
	* c++/README:  Fix spelling of deprecated, URL for WxWindows.

	* c++/test-ClConstraint.cc: Comment out unused variables

Mon Mar  1 12:53:02 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/qdemos/QuadDemoWindow.cc:  Allocate constraint objects on
	heap, not as temporaries on local stack.

Fri Feb 26 09:16:31 1999  Greg J Badros  <gjb@cs.washington.edu>

	* wrappers/cassowary.i: Use .c_str() off of exception descriptions 
	to get the char * (description() now returns a string)

Fri Feb 26 09:11:17 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/ClConstraint.h: Added FIsInSolver()

	* guile/cassowary_scm.cc: Wrap cl-constraint-is-in-solver?

Thu Feb 25 18:58:55 1999  Greg J Badros  <gjb@cs.washington.edu>

	* guile/cltests.scm: Added (use-modules..) invocation to get the
	dynamically-loaded module so that it can be tested outside of
	scwm.  Updated to reflect changed behaviour in cl-add-stay.  Added 
	some test code for make-cl-constraint-from-string.

	* guile/cassowary_scm.hpp:  Added ScmMakeClConstraint(..) to
	abstract out setting "answer" for the (now) two ClConstraint ctrs.

	* guile/cassowary_scm.cc: Added make-cl-constraint-from-string for
 	interfacing to the parser.  Wrap
	cl-constraint-change-{strength,weight}!. Make dynamically loadable 
	module! Fix BUG: was returning SCM_UNDEFINED instead of
	SCM_UNSPECIFIED.

	* guile/Makefile: Build libconstraints.so, and necessary directory 
	structure if neeeded.


Thu Feb 25 18:41:34 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/ClSimplexSolver.h, c++/ClSimplexSolver.cc:  Make constraints 
	get told when they're added/removed from a solver.  This means
	that constraints are no longer const params to add/remove
	Constraint functions, and also that removeConstraint needs an
	internal version that doesn't do the counting (since
	removeConstraint can get called from addConstraint to clean up
	after a failed addition).

	* c++/ClSimplexSolver.cc: Clean up uses of ClConstraint &cn --
	prefer ClConstraint *pcn even internally.

	* c++/ClConstraint.h: Added ChangeStrength(..), ChangeWeight(..)
	and _times_added memvar along w/ private (for friend
	ClSimplexSolver) addedTo(..) and removedFrom(..) functions.  Only
	permit strength/weight changing if constraint is in no solvers
	presently. 

	* c++/ClConstraint.cc: Output _times_added memvar in printOn(...)

Thu Feb 25 15:58:27 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/ClErrors.h: Added parse error classes, and have description
	return a "string" instead of a "char *"

	* c++/creader.y: Use exception ExCLParseErrorMisc in clerror, Use
	ClVarLookupFunction instead of mapVars and fAutoCreate

	* c++/creader.l: Use ClVarLookupFunction instead of doing it
	inline with mapVars and fAutoCreate;  throw exceptions on errors.

	* c++/creader.h: Added ClVarLookupFunction and ClVarLookupInMap
	and use them when parsing.

	* c++/Makefile:  Added some dependencies for proper building of
	.l,.y files

	* c++/ClSimplexSolver.cc: Descend VarInVarSet from
	unary_function<..,..>

	* c++/ClParseTest.cc: Catch parse errors and display the message.
	Use ClVarLookupInMap class

Thu Feb 25 12:09:48 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/ClSimplexSolver.cc: Simplify removeConstraint to not use
	references. 

	* c++/ClSimplexSolver.h: Updated a comment

	* c++/ClTests.cc: Use addEditVar, beginEdit, and endEdit, instead
	of building EditConstraints directly.

Tue Feb 23 18:48:21 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/creader.y, c++/creader.h: Remove old crummy lexer.  Added
 	fAutoCreate flag to PcnParseConstraint to allow parsing with
 	automatic introduction of newly-referenced variables.

	* c++/creader.l: Fixed bugs in missing tokens "|", "(", ")", and
	permit "==" as a synonym for "=".  Honour the _fAutoCreate flag by 
	introducing variables when needed.

	* c++/ClTests.cc: Display version id string at startup.

	* c++/ClSimplexSolver.cc, c++/Cl.h: Added szCassowaryVersion id
	string.

	* c++/ClParseTest.cc: Test auto-addition of variable (fAutoCreate
	= true)

Tue Feb 23 18:12:23 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/Makefile: Build libcassowary.{a,so} by default, not
	libcassowary-notrace.{a,so}.  Remove special rule for building
	ClParseTest; list creader-lex.o, creader.o in OBJS and have them
	be a part of the library.

	* c++/ClVariable.h, c++/ClVariable.cc: Rename pmapSzPclv to
	pmapStrPclv.  Make it a map from "const string" not "string".
	Make setName erase the old mapping, and add the new mapping.

	* c++/ClParseTest.cc: Accept "-" option to mean "rename x to foo"
	for testing the setName change above.

	* c++/ClFloatVariable.cc: Do not output warning msg in setName --
	instead, do the right thing in ClVariable.h

Tue Feb 23 08:55:28 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/Makefile: Fix build rules for bison/flex parser so
	dependencies are correct.  Added new targets, all-notests,
	all-tests, make 'lib' the default target, and all really build
	everything.

	* c++/creader.h, c++/creader.l, c++/creader.y: Take address of
	ClVariable-s from the map's values (cannot use ClVariable in the
	union directly because union members cannot have constructors).
	#include ClVariable.h instead of fwd decl of ClVariable so that we 
	get the StringToVarMap typedef, too.

Mon Feb 22 16:33:16 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/Makefile: Use CL_LIBRARY, not LIB_FILE, throughout. Use
	flags for maximum performance.

	* c++/ClVariable.h, c++/ClConstraintHash.h, c++/Cassowary.h:
 	Divide pointer address by CL_PTR_HASH_DIVISOR in hash functions

	* c++/ClTests.cc:  Added CL_SHOW_CNS_IN_BENCHMARK guard protecting 
	new displaying of constraints and listing of inconsistent constraints.

Mon Feb 22 12:18:53 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/ClTests.cc (inconsistent3): Drop extra redundant
	inconsistency for pedagogical reasons.  Use simpler pointer-based
	addConstraint in benchmark test

	* c++/ClSimplexSolver.h: Added addConstraintNoException,
	removeConstraintNoException taking ClConstraint &'s -- deprecated.
	Added CL_NO_DEPRECATED guard for turning off availability of
	deprecated functions.

Mon Feb 22 11:12:35 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/ClSimplexSolver.h: Added deprecated
	FIsConstraintSatisfied(Constraint &)

	* guile/cassowary_scm.cc: Use ClConstraintToVarMap for return
	value of ConstraintMap().  Pass Constraint *'s instead of &'s.
	Use new name printOnVerbose instead of printDebugInfo.

Fri Feb 19  Greg J Badros  <gjb@cs.washington.edu>

	* Release v0.3.

Fri Feb 19 18:00:49 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/ClTests.cc: Updated to fix below interface.

	* c++/ClSimplexSolver.cc, c++/ClSimplexSolver.h: make
 	addConstraint, addConstraintNoException, removeConstraint,
 	removeConstraintNoException take ClConstraint *'s instead of
 	ClConstraint &'s.  Clarifies the mental model, and simplifies the
 	syntax.  Old style is still accepted, but is deprecated.

Fri Feb 19 17:41:45 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/ClFloatVariable.cc, c++/ClFloatVariable.h: Added -- moved
	here from ClVariable.h, and renamed from class ClVariableRep since 
	they not what ClVariable wraps (ClVariable wraps
	ClAbstractVariable)

	* c++/ClAbstractVariable.h: Fatten interface to include set_value, 
	change_value, setPv, and Pv.

	* c++/ClVariable.h, c++/ClVariable.cc: Move ClVariableRep into
	ClFloatVariable.{h,cc}, and use pclv-> for
	set_value, change_value, SetPv, and Pv since ClAbstractVariable
	now has a fat interface and we do not need to do the dynamic
	down-casting. 

	* c++/Makefile: Added new files to build rules.

Fri Feb 19 17:08:29 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/debug.h, c++/ClTableau.h: Move operator<< out into ClTableau.h

	* c++/ClVariable.h, c++/ClVariable.cc: Move some inline functions
	into .cc so that the hash function can go in the .h file (some stl 
	dependency issue, it seems).

	* c++/ClErrors.h, c++/ClTypedefs.h: Move typedef for
 	ClConstraintSet from ClErrors.h into ClTypedefs.h, and have former 
	include the latter.

	* c++/Cassowary.h: #include ClConstraintHash.h

	* c++/ClConstraintHash.h: Added.  The hash function needs to
	appear before any typedef that uses a hash_map or hash_set, so
	this file is included by Cassowary.h

Fri Feb 19 08:45:24 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/ClSubgraphTest.cc: Fix some bugs just from not testing
	completely. 

	* c++/*: Fix bugs from not-updated-code hidden by #ifdefs.  Builds 
	w/ all compile-options except -DCL_USE_HASH_MAP_AND_SET.  Drop
	some gratuitous appearances of ClAbstractVariable

Thu Feb 18 18:53:56 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/ClLinearExpression.cc: Use clvNill when returning a
	ClVariable instead of NULL

	* c++/ClVariable.h, c++/ClVariable.cc: operators ==, !=, < all should use the
	contained pointers address, not value.  Also define global clvNil,
	isNil(). 

	* c++/ClTests.cc: BUGFIX: #if 0 removed from adding stays in
	simple1 test

	* c++/ClSimplexSolver.h:  Use ClVariable-s internally for
	ClObjectiveVariable-s.

	* c++/ClSimplexSolver.cc: Use ClVariable-s internally for
	ClObjectiveVariable-s and replace ClAbstractVariable
	*p{entryVar,exitVar} with ClVariable-s.  (Use clvNil and isNil()
	to test for not yet set).

Thu Feb 18  Greg J Badros  <gjb@cs.washington.edu>
	
	* c++/*: First compilable and almost working version with
 	ClVariable as a handle to ClVariableRep.  Major simplifications
	throughout.

Thu Feb 18 14:22:14 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/Makefile: Split out the options into += lists so they can be 
	flipped independently more easily.
	
	* c++/ClSimplexSolver.cc, c++/ClSimplexSolver.h: Added output
	operation for ClConstraintToVarSetMap;  use fFoundErrorVar flag to 
	simplify some redundant tests in removeConstraint -- no longer use 
	errorVarsCopy.

	* c++/CLVariable.h: Fix a comment's example.

	* c++/ClTypedefs.h: Use set always for ClTableauVarSet (Steve
	Wolfman notes that it's faster as a set than as a hash_set).

	* c++/debug.h: Add CtrTracer, DtrTracer fns that do nothing when
	not CL_TRACE

	* c++/ClConstraint.h:  Invoke CtrTracer, DtrTracer in ctr, dtr for 
	finding memory problem

	* c++/ClTests.cc: Fix some long-time bugs in the use of ctrs that
	build temporary objects whose lifetime was expected to be longer
	than it was.

	* c++/*: Invert sense of CL_NO_TRACE to CL_TRACE

Wed Feb 17 12:10:28 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/ClTypedefs.h: Added -- factored out useful typedefs from
	ClSimplexSolver.h, ClTableau.h and put them in this file.

	* c++/ClTableau.h, c++/ClSimplexSolver.h, c++/debug.h:  Use
	ClTypedefs.h.  Drop gdb_print (it uses printOn and printTo, now).
	Renamed printDebugInfo to printOnVerbose (for generalized gdb
	interface)

	* c++/ClSimplexSolver.cc: Fix two bugs where I was modifying data
	structures indirectly while iterating over them.  Remove a delete
	that was premature to fix another bug in optimized builds.

	* c++/ClLinearExpression.h, c++/ClConstraint.h,
 	c++/ClAbstractVariable.h: Drop gdb_print().

	* c++/ClSymbolicWeight.h: Use Number instead of double more consistently.

Tue Feb 16 15:04:06 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/Cassowary.h,ClAbstractVariable.h,ClMap.h,ClSet.h,Makefile: Use 
	CL_USE_HASH_MAP_AND_SET, not USE_HASH_MAP_AND_SET. 

	* c++/Cl.h: #undef CL_TRACE_VERBOSE ifdef CL_NO_IO

Tue Feb 16 14:55:12 1999  Greg J Badros  <gjb@cs.washington.edu>

	* java/ClVariable.java: Add setVarMap(..), getVarMap() for
	maintaining symbol table of ClVariables.  Added
	setAttachedObject(..), getAttachedObject() for hanging something
	off of a variable.

	* java/ClConstraint.java: Added setAttachedObject(..),
 	getAttachedObject() for hanging something off of a constraint.

	* java/ClTests.java:  Added inconsistent3() and multiedit() tests

	* java/ClSimplexSolver.java: Manage multiple (nested) edits
	properly.  Provide access to the _markerVars var through
	getConstraintMap() accessor.  Deprecate resolve(Vector) fn.

Tue Feb 16 14:29:46 1999  Greg J Badros  <gjb@cs.washington.edu>

	* README: Updated reference to swig web site.

Tue Feb 16 12:45:04 1999  Greg J Badros  <gjb@cs.washington.edu>

	* java/ClSimplexSolver.java, java/ClEditInfo.java, java/Makefile: 
	Fixed Michael Kaufmann's bug.  (See Feb 15 note for C++ version
	two entries below.)

	* java/*.java: Updated copyright to include 1999. 

Tue Feb 16 10:51:01 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/*: Added CL_FIND_LEAK guard and ctr/ctr counters for
	tracking various variable kinds.

Mon Feb 15 18:38:06 1999  Greg J Badros  <gjb@cs.washington.edu>

	* c++/ClAbstractVariable.{cc,h}, ClSlackVariable.{cc,h},
	ClDummyVariable.{cc,h}: Add counters to ctr/dtr for leakage detection.

	* c++/ClSimplexSolver.{cc,h}: Replace ClConstraintAndIndex with
	ClEditInfo, and remove ugliness of parallel vectors for edit
	constraints. Drop _editPlusErrorVars, _editMinusErrorVars,
	_prevEditConstants, and bundle them all up in the value end of the 
	map attached to _editVarMap.  This fixes a bug reported in the
	Java version by Michael Kaufmann long ago, and generally cleans
	code up a bit.  The resolve(vector<Number>) function is
	deprecated, and now implemented in terms of the indices stored in
	the new ClEditInfo class.

	* c++/*: Updated copyright to include 1999.

1999-02-15  Greg J Badros  <gjb@cs.washington.edu>

	* c++/ClVariable.{cc,h}, c++/ClAbstractVariable.h: Added
	SetVarMap(..), VarMap(), and make variables given names get their
	names mapped to the objects in the var map (for access when
	parsing constraints as strings).  Make setName() virtual so
	ClVariable can override it.

1999-02-12  Greg J Badros  <gjb@cs.washington.edu>

	* c++/creader.{y,h}: New version from Steve Wolfman, slightly
	updated for cleaner integration. Pass in a map<string,ClVariable
	*> instead of an array of ClVariable; improve error handling a
	bit.

	* c++/debug.h: Use ClMap, ClSet

	* c++/{ClMap.h,ClSet.h}: Added, for optionally using hash_map,
	hash_set instead of map, set.

	* c++/ClSimplexSolver.{cc,h}: Added Steve Wolfman's explanation
	support (added back map for marker->constraint, _fExplainFailure
	var + getter & settor).  Use ClMap, ClSet.  Cleaned up some cerr
	output, and use DEBUG_FAILURES cpp symbol to guard some output.

	* c++/Cassowary.h: Added operator() for hash<..> to support
	hashing things used as keys in hash_map/hash_set

	* c++/ClErrors.h: Added ExCLRequiredFailureWithExplanation class
	for explanation support.

	* c++/{ClLinearExpression.h,ClTableau.h}: Use ClMap, not map. Use
	ClSet, not set.

	* c++/ClSymbolicWeight.h: Return a symbolic weight even when
	assert(false) to avoid compiler warning.

1999-02-11  Greg J Badros  <gjb@cs.washington.edu>

	* guile/cassowary_scm.cc: Use cl-snarf.h, not scwm-snarf.h.  Use
	CL_PROC to denote primitives, not SCWM_PROC.  Use
	CL_VAR_INIT_PERMANENT macro for variables, and document them (the
	strength objects only, for now).  Fix the default strength of
	cl-add-editvar to Strong, not Weak, and update docs (was cut&paste
	error from the cl-add-stay primitive).  Thanks Anthony Beurivé for
	noticing this bug, too!

Sat Jan 30  Greg Badros  <gjb@cs.washington.edu>

	* Release v0.23.
	
Sat Jan 30 13:16:31 1999  Greg Badros  <gjb@cs.washington.edu>

	* c++/ClSimplexSolver.cc: Fixed bug in removing a stay
	constraint.  Was editing a vector in place while iterating over
	it.  Now I use remove_if and erase.  Thanks to Anthony Beurivé for 
	noticing the bug.

	* c++/ClBug1.cc: Added -- bug report from Anthony Beurivé.

Sat Jan 23 Greg Badros  <gjb@cs.washington.edu>

	* Release v0.22.
	
Sat Jan 23 16:46:27 1999  Greg Badros  <gjb@cs.washington.edu>

	* guile/cassowary_scm.cc: Replace iarg uses with literal argument
	index numbers.  Use const_cast to avoid warnings when calling
	ScmMakeClStrength on clsWeak,clsMedium,clsStrong,clsRequired objects

Sat Jan 23 15:30:16 1999  Greg Badros  <gjb@cs.washington.edu>

	* c++/ClSimplexSolver.cc: Added some comments, some explanations
	when exceptions are thrown, and some minor cleanups, bug-fixes

	* c++/ClTests.cc: Added inconsistent3() test, and run it.

	* c++/ClStrength.h: Added _pv memvar, and setPv(), Pv() -- needed
	for tracking ClStrengths in guile

	* guile/cassowary_scm.cc: Replace all iarg uses with the literal
	number.  Point ClStrength objects at their scheme-level object
	using their new _pv field.  Protect ClStrength objects properly.

Sat Sep 19 17:08:21 1998  Greg Badros  <gjb@cs.washington.edu>

	* c++/Makefile (CPPFLAGS): Added USE_GC, commented out, and added
	OTHER_LIBS variable for linking with the gc library

Sat Sep 19 17:01:16 1998  Greg Badros  <gjb@cs.washington.edu>

	* c++/ClTableau.h: Added AssertValid() for testing integrity of
	Tableau

	* c++/ClSymbolicWeight.h, c++/ClStrength.h, c++/ClSlackVariable.h,
	c++/ClLinearExpression.h, c++/ClErrors.h, c++/ClDummyVariable.h,
	c++/ClConstraint.h, c++/ClAbstractVariable.h:  Descend objects
	from "gc" class conditioned on USE_GC* pp macros

	* c++/Cassowary.h: Conditionally include gc_cpp.h ifdef USE_GC;
	added NEWVAR and DELVAR macros for outputting debug information at 
	new/delete sites

	* c++/ClSimplexSolver.h: Call AssertValid before solving

	* c++/ClSimplexSolver.cc: Remove memory leak of the artificial
	objective variable

	* c++/ClLinearExpression.h: Fix gdb_print to have a newline

	* c++/ClLeakTest: Added leakTest2 which more obviously leaks, and
	use GC_gcollect() to force a collect

Tue Sep 15 16:36:20 1998  Greg Badros  <gjb@cs.washington.edu>

	* c++/ClTableau.h, ClTableau.cc: Handle removing vars from _columns more
	carefully, and add gdb_print(), virtual destructor

	* c++/ClLinearExpression.h, c++/ClConstraint.h,
 	c++/ClAbstractVariable.h: Added gdb_print()

Tue Sep 14  Greg Badros  <gjb@cs.washington.edu>

	* Release v0.21.

Wed Sep  9 09:46:35 1998  Greg Badros  <gjb@cs.washington.edu>

	* c++/ClLinearExpression.h, c++/ClLinearExpression.cc: added uses
	of 'typename' keyword as needed by egcs-1.1b's -pedantic (and the
	C++ FDIS)

Sun Sep  6 13:19:01 1998  Greg Badros  <gjb@cs.washington.edu>

	* c++/ClSimplexSolver.h: Added _pv field, and Pv() setPv() getter
	and setter
	
	* guile/cassowary_scm.cc: Use solver's _pv field to point
	ClSimplexSolver back at the scheme object that wraps it

Fri Sep  4 18:52:50 1998  Greg Badros  <gjb@cs.washington.edu>

	* guile/cassowary_scm.hpp, guile/cassowary_scm.cc: Added PvFromScm 
	and ScmFromPv to hide the reinterpret casts used to store a scheme 
	object as the void * Pv() attached to a cassowary object.  Attach
	the scheme-level cl-variable to a ClVariable object.  Added
	`clv-attach!' and `clv-attached-object' to manipulate the attached 
	object (often better to use scheme level properties, though)

Fri Sep  4 18:51:30 1998  Greg Badros  <gjb@cs.washington.edu>

	* guile/Makefile: Use "perl" from path to run extract docs instead 
	of relying on #! line, and generate the -procedures.txt file as
	well as the .sgml file

Wed Sep  2 17:08:14 1998  Greg Badros  <gjb@cs.washington.edu>

	* guile/cassowary_scm.cc, guile/cassowary_scm.hpp: Added
	ClStayConstraint wrapper.  Make cl-add-stay, cl-add-editvar take a 
	list of variables instead of a varargs last argument and instead
	add two optional arguments STRENGTH and FACTOR (thus those
	primitives remain backward compatible as long as only one variable 
	was given).

Wed Sep  2 13:55:37 1998  Greg Badros  <gjb@cs.washington.edu>

	* ClSimplexSolver.h: Added weight option to addEditVar and use it

	* ClLinearExpression.h: Added PconstClAbstractVariable, use it;
	use ClVarToCoeffMap in coefficientFor.

Thu Aug  6 20:56:45 1998  Greg Badros  <gjb@cs.washington.edu>

	* Release v0.2.

Thu Aug  6 20:41:40 1998  Greg Badros  <gjb@cs.washington.edu>

	* ClTests.cc: Added multiedit() test for testing nested
	  beginEdit-s

	* ClSimplexSolver.h, ClSimplexSolver.cc: Support nested
	  beginEdit-s -- use removeEditVarsTo(n), and rewrite
	  removeAllEditVars in terms of the former;  Use FIsSatisfied on
	  constraint and compare with testing internally for
	  FIsConstraintSatisfied() -- untested.

	* ClLinearInequality.h, ClLinearEquation.h, ClConstraint.h: Added
	  virtual FIsSatisfied

	* ClLinearExpression.h, ClLinearExpression.cc: Added evaluate()

	* ClAbstractVariable.h: Return 0 for value(), and make it a
	  virtual function.

Wed Aug  5 16:10:56 1998  Greg Badros  <gjb@cs.washington.edu>

	* ClStrength.h: Have ClStrength::symbolicWeight return a const
	  ref, instead of by value, make clsXXX const refs.

	* ClSimplexSolver.cc, ClLinearInequality.cc, ClLinearEquation.cc,
	  ClLinearConstraint.cc: Take ClStrengths by const refs

Tue Aug  4 15:22:08 1998  Greg Badros  <gjb@cs.washington.edu>

	* guile/cassowary_scm.cc, cassowary_scm.hpp: Move all inline
	  functions into .hpp file.  Added cl-is-constraint-satisfied?
	
	* ClTableau.h: Added a rowExpression() const memfn, for
	  FIsConstraintSatisfied()

	* ClSimplexSolver.h, ClSimplexSolver.cc: Added (probably broken)
	  FIsConstraintSatisfied(cn) memfn -- needs testing

Sun Aug  2 16:49:34 1998  Greg Badros  <gjb@cs.washington.edu>

	* ClSimplexSolver.h: Added ConstraintMap() accessor to
	_markerVars, for cl-constraint-list guile primitive

	* ClConstraint.h: Added setPv(), Pv(), and _pv field to a
	constraint, for attaching extra information.

Thu Jul 30 19:15:40 1998  Greg Badros  <gjb@cs.washington.edu>

	* ClTests.cc: Added simple2, to test new EditMisuse exception on
	editing a variable that is nowhere in the solver.

	* ClTableau.h, ClTableau.cc:  Be more careful about inserting into
	_externalParametricVars; add FIsBasicVar to assist that care.

	* ClSimplexSolver.cc, ClSimplexSolver.h: Added pfnCnSatCallback -- 
	does nothing for now;  throw an ExCLEditMisuse exception if an
	edit constraint is added on a variable that is not in the tableau
	(needs at least a stay constraint in the solver); replace some
	calls to rowExpression with FIsBasicVar when the latter is the
	intent.

Thu Jul 21  Greg Badros  <gjb@cs.washington.edu>

	* ClVariable.h, ClVariable.cc: Added _pv field, settor and gettor.

	
ABOVE CHANGES ONLY IN C++ IMPLEMENTATION AND ITS WRAPPERS
	
Fri Jul 17 19:24:54 1998  Greg Badros  <gjb@cs.washington.edu>

	* ClVariable.h, .java: Added change_value memfn, and make it virtual
 	instead of setValue -- thus subclasses can specialize behaviour
 	when the variable gets set by the solver.

	* ClSimplexSolver.h, .java: Use change_value for setEditedValue if
	the variable is not in the tableau;  call resolve() before
	removeAllEditVars in endEdit

	* ClSimplexSolver.cc, .java (setExternalVariables): Use change_value
	instead of set_value when so subclasses can override and notice a
	changed variable

Thu Jul 16 19:49:45 1998  Greg Badros  <gjb@cs.washington.edu>

	* Added setEditedValue(), FContainsVariable(), and addVar() to c++ 
	and Java implementations

	* Fixed bug in C++ and Java in solvers lacking stay constraints
 	that was due to not-updating the external parametric variables
 	set.

Fri Jul 10 09:00:15 1998  Greg Badros  <gjb@cs.washington.edu>

	* Fixed bug whereby a dummy variable was being pivoted into the
	basis because pexpr->anyVariable() didn't guarantee the variable
	it returned was a pivotable variable -- now it's called
	anyPivotableVariable(), and does the right thing.

	* Fixed bug whereby column mappings that had no rows remained in
	the list of columns -- now erase the column key when its value is
	the empty set

	* Fixed bug whereby constraints that threw required failure
	exceptions remained in the tableau (a removeConstraint on a
	constraint that failed to be added used to succeed, now it does
	not)

Monday Jun 29 16:50:00 1998  Greg Badros  <gjb@cs.washington.edu>

	* Release Cassowary v0.1  --- see local/POST-ANNOUNCE-TO for
	list of places where it was announced