Merging from trunk
[ardour.git] / libs / cassowary / ChangeLog
1 Tue May 17 16:24:00 2005  Taybin Rutkin <taybin@earthlink.net>
2         * Moved cassowary from autotools to scons.
3
4 Fri Mar 18 15:41:00 2005  Taybin Rutkin <taybin@earthlink.net>
5         * Removed ClSet.h, ClMap.h.
6         * ClReader.l includes ClReader.cc.h instead of ClReader.hh.  The
7         difference between yacc and bison.
8         * Various changes to fix compliation.
9
10 Wed Jan 29 21:36:15 2003  Taybin Rutkin <trutkin@physics.clarku.edu>
11         * Updated to work with g++ 3.x compilers.
12         * More direct use of STL.
13         * Removed C wrappers
14
15 Sun Mar 12 13:40:44 2000  Greg J. Badros  <gjb@cs.washington.edu>
16
17         * guile/cassowary_scm.cc: Give docstrings as arguments
18
19         * guile/cl-snarf.h: Added docstring as an argument to CL_PROC to
20         be like the revised Scwm documentation extraction system.
21
22 Sat Feb 12 20:34:55 2000  Greg J. Badros  <gjb@cs.washington.edu>
23
24         * Makefile.am: Added GTL.h.patch to EXTRA_DIST
25
26 Sat Feb 12 20:31:47 2000  Greg J. Badros  <gjb@cs.washington.edu>
27
28         * c++/ClSimplexSolver.cc, c++/ClSimplexSolver.h: Drop
29         ExternalResetStayConstants, make ResetStayConstants() public.
30         Test _fResetStayConstantsAutomatically before doing so in
31         Resolve().  Use _fAutosolve instead of _fOptimizeAutomatically.
32         Drop DisplayObjective (wasn't defined anyway).  Drop field
33         _fOptimizeAutomatically (use _fAutosolve from parent, instead).
34
35         * guile/cassowary_scm.hpp, guile/cassowary_scm.cc: Drop extra
36         include of guile/gh.h
37
38         * guile/cassowary_scm.cc: Added `cl-set-auto-solve!',
39         `cl-set-auto-reset-stay-constants!'
40
41 Sat Jan 29 17:45:32 2000  Greg J. Badros  <gjb@cs.washington.edu>
42
43         * configure.in (CASSOWARY_VERSION): Bump to 0.55.
44
45 Sat Jan 29 17:43:05 2000  Greg J. Badros  <gjb@cs.washington.edu>
46
47         * c++/ClSimplexSolver.cc (Resolve): Do not comment out
48         "ResetStayConstants()" as Beuriv� had done.  This was resulting in 
49         quirky behaviour whereby the windows were "rubber-banding" back to 
50         where they were at the start of an interaction (e.g., if I push a
51         window out of the way to the left with another window, as I move
52         the pushing window back to the right, the other window comes back
53         to the right with the pushing window).  Maybe that's desirable
54         behaviour in some instances, but it's not the behaviour we
55         document and sure feels weird to me.
56
57 Sat Jan 29 17:38:43 2000  Greg J. Badros  <gjb@cs.washington.edu>
58
59         * java/sym.java, java/parser.java, java/Yylex.java: Added -- these 
60         are created by JavaCUP which I don't want to be necessary for
61         building.
62
63 Mon Jan 24 09:34:20 2000  Greg J. Badros  <gjb@cs.washington.edu>
64
65         * c++/ClSymbolicWeight.h: Set SymbolicWeight multiplier to
66         1000000, not 10000 (A.Beuriv�)
67
68         * c++/ClSimplexSolver.h, c++/ClSimplexSolver.cc: Added
69         ChangeStrength, ChangeStrengthAndWeight, ChangeWeight,
70         DisplayObjective, ExternalResetStayConstants fns.
71         (RemoveConstraintInternal) Avoid picking the objective row when
72         removing a constraint.  (Optimize) Pick any negative row to avoid
73         unending pivots [I think this is a work-around to avoid having to
74         implement Bland's anti-cycling rule... maybe I should just do
75         that, though].  (A.Beuriv�)
76
77 Thu Dec 16 11:12:34 1999  Greg J. Badros  <gjb@cs.washington.edu>
78
79         * configure.in: Version bumped to 0.54a
80
81 Thu Dec 16 11:10:42 1999  Greg J. Badros  <gjb@cs.washington.edu>
82
83         * java/Makefile.am: Force prefix ordering in SUBDIRS so that "."
84         dir gets built before the demos subdirectory.
85
86         * smalltalk/Makefile.am: Fix .dat file -- thanks Alan!
87
88 Wed Dec 15 19:31:48 1999  Greg J. Badros  <gjb@cs.washington.edu>
89
90         * java/README: More notes re: security problems w/ Java 2.
91
92         * java/cda/Makefile.am: Added run target to ease running it.
93
94         * Makefile.am (EXTRA_DIST): Added c++/{config.h.in,stamp-h.in}
95
96         * java/cda/Makefile.am (EXTRA_DIST): Clean up install of .gif
97         files.
98
99         * java/Makefile.am (EXTRA_DIST): Added ClReader.{cup,lex}
100
101         * c++/Makefile.am: Do not make symlink to cassowary; let
102         configure.in do that.
103
104 Wed Dec 15 18:13:14 1999  Greg J. Badros  <gjb@cs.washington.edu>
105
106         * java/Makefile.am: Put SUBDIRS demo cda back in since they
107         compile now.
108
109         * scripts/recreate-symlinks: Update with links to ../../EDU from
110         demo directories for Java code.  Use ln -sf, not just ln -s, to avoid 
111         warnings.
112
113         * Makefile.am (EXTRA_DIST): Include scripts/recreate-symlinks
114
115         * configure.in: Run recreate-symlinks script.
116
117 Wed Dec 15 18:07:27 1999  Greg J. Badros  <gjb@cs.washington.edu>
118
119         * java/cda/Makefile.am:  Put Constraint/*, Main/* files into the
120         distribution and build with them. 
121
122         * java/demos/*.java: Move everything into the
123         EDU.Washington.grad.gjb.cassowary_demos package.
124
125         * java/cda/classes/run.html, java/demos/quaddemo.htm: Fix nl
126         convention, name class explicitly w/ package in front, w/o
127         trailing .class.
128
129         * java/cda/**: Move everything into the
130         EDU.Washington.grad.noth.cda package.
131
132 Wed Dec 15 17:21:08 1999  Greg J. Badros  <gjb@cs.washington.edu>
133
134         * java/Makefile.am: Build java parser.
135
136         * java/ClParseTest.java: Added.
137
138         * GTL.h.patch: Added -- need by gcc-2.95 when compiling GTL-0.3.1
139
140         * java/README: Mention java parser.
141
142         * java/ClReader.lex, java/ClReader.cup: Cleanup, guard debug messages.
143
144 Tue Dec 14 11:15:01 1999  Greg J. Badros  <gjb@cs.washington.edu>
145
146         * configure.in: Fix -fpermissive test to not check "cc" as well as 
147         $CC.  Eliminate the --enable-permissive flag since it is no longer 
148         necessary.
149
150 Mon Dec 13 15:56:19 1999  Greg J. Badros  <gjb@cs.washington.edu>
151
152         * java/Yylex.java: Added, from Will Portnoy.
153
154         * java/ClReader.cup, java/ClReader.lex: Latest version from Will,
155         cleaned up line breaks, set a tab-width for Emacs.
156
157 Mon Dec 13 15:55:59 1999  Greg J. Badros  <gjb@cs.washington.edu>
158
159         * c++/Makefile.am: Remove ClReader.cc -- why did I add this
160         before?
161
162 Fri Dec 10 13:29:00 1999  Greg J. Badros  <gjb@cs.washington.edu>
163
164         * java/ClSimplexSolver.java (addLowerBound, addUpperBound):  Fix
165         these two functions to call addConstraint before returning.
166         Thanks Stephen Allain for catching this!  Updated exception specs
167         for those methods and for addBounds.
168
169 Tue Dec  7 08:42:34 1999  Greg J. Badros  <gjb@cs.washington.edu>
170
171         * smalltalk/A991206.dat: New image from Alan. Include correct
172         version of code for "ClSimplexSolver removeConstraint:" to fix bug
173         when deleting constraints with weights other than 1.  Also
174         disallow invalid comparisons between symbolic weights and floats.
175         Replace expressions "x clApprox: 0.0" with "x clApproxZero", which
176         works correctly for both symbolic weights and floats.
177
178         * smalltalk/*.st:  Added from Alan.
179
180 Mon Nov 29 16:23:06 1999    <gjb@cs.washington.edu>
181
182         * configure.in: Bump to version 0.54, added -lGTL to GTL_LIB even
183         when no --with-gtl option is given.  No longer create README from
184         README.in.  Added --enable-static-library option, off by default.
185
186         * c++/Makefile.am (sources): Added ClReader.cc
187
188         * cassowary.spec.in, cassowary-both.spec.in: No longer need the
189         --enable-guile-build option;  it's the default now.
190
191 Mon Nov 29 10:52:49 1999  Greg J. Badros  <gjb@cs.washington.edu>
192
193         * c++/Makefile.am: Added use of AM_CONDITIONAL
194         CL_BUILD_STATIC_LIBRARY;  only buile libcassowary.a if that option 
195         was selected.
196
197         * guile/Makefile.am (libconstraints_la_LIBADD): Added @GTL_LIB@ to 
198         make the guile library work with the FD-enabled version of the library.
199
200 Sat Nov 27 16:11:10 1999  Greg J. Badros  <gjb@cs.washington.edu>
201
202         * configure.in: Invert sense of --enable-guile-build and call it
203         --disable-guile-build;  build guile wrapper automatically if
204         guile-config works.
205
206 Sat Nov 27 15:20:03 1999  Greg J. Badros  <gjb@cs.washington.edu>
207
208         * configure.in: Use an AM_CONDITIONAL for CL_BUILD_FD_SOLVER, not
209         an AC_DEFINE.  Also, remove duplicate AC_SUBST of GTL_LIB, and fix 
210         AM_CONDITIONAL of CL_BUILD_TESTS.
211
212 Sat Nov 27 15:19:20 1999  Greg J. Badros  <gjb@cs.washington.edu>
213
214         * c++/Makefile.am: Try separating out FD stuff better, and use
215         CL_BUILD_FD_SOLVER AM_CONDITIONAL to control dependence on that
216         code.
217
218         * c++/config.h.in: Drop CL_BUILD_FD_SOLVER; it's now an
219         AM_CONDITIONAL instead of a define.
220
221 Wed Nov 24 15:40:27 1999  Greg J. Badros  <gjb@cs.washington.edu>
222
223         * c++/ClSimplexSolver.cc: Fix typo in a throw message.
224
225         * c++/ClLinearInequality.h: Throw an editmisuse when a
226         ClLinearInequality is created w/o an inequality operator.
227
228 Tue Nov 23 16:54:05 1999  Greg J. Badros  <gjb@cs.washington.edu>
229
230         * configure.in: Use guile's pkglibdir, not pkgdatadir, for
231         choosing cassoguiledir.
232
233 Tue Nov 16 17:35:54 1999  Greg J. Badros  <gjb@cs.washington.edu>
234
235         * java/ClReader.lex, java/ClReader.cup: Added -- code by Will
236         Portnoy for adding a parser to the Java implementation.  Untested, 
237         and an early version that he emailed me.
238
239 Tue Nov 16 17:34:00 1999  Greg J. Badros  <gjb@cs.washington.edu>
240
241         * java/ClTestColumns.java, java/ClTests.java: Put in the cassowary 
242         package, instead of importing cassowary.*;  jikes needed this
243         (discovered during testing of java-ml work).
244
245 Sat Nov 13 11:43:48 1999  Greg J. Badros  <gjb@cs.washington.edu>
246
247         * java/Timer.java (Timer): Remove return type from Timer()
248         constructor (jikes caught the bug when I used this as a test case
249         for my java-ml work).
250
251 Sun Oct 24 13:17:14 1999  Greg J. Badros  <gjb@cs.washington.edu>
252
253         * configure.in: Updated version to 0.53, generate
254         smalltalk/Makefile from Makefile.am.
255
256         * NEWS: Updated for 0.53 release.
257
258         * Makefile.am: Added smalltalk directory to SUBDIRS.
259
260 Sat Oct 23 14:34:27 1999  Greg J. Badros  <gjb@cs.washington.edu>
261
262         * COPYING.GPL: Added
263
264         * LICENSE: Added Scwm exception
265         
266
267 Sat Oct 23 14:33:48 1999  Greg J. Badros  <gjb@cs.washington.edu>
268
269         * c++/Makefile.am: Make cassowary/ directory symlink as needed.
270
271 Sun Oct  3 16:50:43 1999  Greg J. Badros  <gjb@cs.washington.edu>
272
273         * c++/ClSimplexSolver.cc: Use clvNil some places instead of NULL.
274         This is important for newer, pickier gcc-2.95.x. Thanks Alexandre
275         Duret-Lutz for the patch!
276
277 Thu Sep 30 08:17:16 1999  Greg J. Badros  <gjb@cs.washington.edu>
278
279         * c++/ClFDSolver.cc: Added missing #include <stdarg.h> -- Thanks
280         Harry Hochheiser for bug report.
281
282 Sun Sep 26 13:43:12 1999  Greg J. Badros  <gjb@cs.washington.edu>
283
284         * c++/Makefile.am (libcassowary_la_LDFLAGS): Added -version-info
285         flag to make libcassowary.so.0.0.1, instead of .0.0.0
286
287 Sun Sep 26 13:15:32 1999  Greg J. Badros  <gjb@cs.washington.edu>
288
289         * README, ANNOUNCE: Removed
290
291         * README.in, ANNOUNCE.in: Added
292
293         * configure.in: Create README, ANNOUNCE, bump to 0.52post
294
295 Sat Sep 25 16:02:22 1999  Greg J. Badros  <gjb@cs.washington.edu>
296
297         * cassowary.spec.in, configure.in: Update to version 0.52.
298
299 Fri Sep 24 18:51:42 1999  Greg J. Badros  <gjb@cs.washington.edu>
300
301         * configure.in: Remove first of redundant checks for HAVE_SCM_MAKE_SMOB_TYPE_MFPE.
302
303 Mon Sep 20 13:36:45 1999  Greg J. Badros  <gjb@cs.washington.edu>
304
305         * guile/cassowary_scm.cc: Fix `cl-int-value' to use gh_int2scm
306         instead of gh_double2scm
307
308 Sun Sep 19 14:45:59 1999  Greg J. Badros  <gjb@cs.washington.edu>
309
310         * c++/ClSimplexSolver.h, c++/ClSimplexSolver.cc: Replace
311         _editVarMap with _editInfoList, a list.  Make ClEditInfo class
312         contain the variable since its no longer stored as values in a
313         hash where the key is the variable.  Drop the index from
314         ClEditInfo.  Rename ClVarToEditInfoMap to ClEditInfoList.
315
316 Sun Sep 19 14:44:00 1999  Greg J. Badros  <gjb@cs.washington.edu>
317
318         * c++/ClTests.cc (multiedit2): Added this new test to check nested
319         edits that share an existing variable better.  This tests the fix
320         for the ScwmButtons auto-orientation seg-fault bug in Scwm.
321
322         * c++/ClBug0.cc: Added comment re: new bug fix.
323
324 Sat Sep 18 22:31:54 1999  Greg J. Badros  <gjb@cs.washington.edu>
325
326         * configure.in:  Added GUILE_LIBS setting.
327
328         * cassowary.spec.in: Use fake_root_for_install to get the
329         cassowary guile library in proper place.
330
331         * autogen.sh: Only create symlink if not already created.
332
333         * acconfig.h, c++/config.h.in: Added HAVE_SCM_MAKE_SMOB_TYPE_MFPE
334
335         * README: Added note re: enable-permissive
336
337         * guile/cassowary_scm.cc: Use new-style (guile-1.3.2 or better)
338         SMOBs conditioning on HAVE_SCM_MAKE_SMOB_TYPE_MFPE.
339
340 Wed Sep  8 20:03:25 1999  Greg J. Badros  <gjb@cs.washington.edu>
341
342         * cassowary.spec.in: Bump to release 8
343
344         * cassowary-nofd.spec2.in: Bump to release 2.
345
346 Wed Sep  8 19:43:53 1999  Greg J. Badros  <gjb@cs.washington.edu>
347
348         * c++/Makefile.am: Drop building of config-inline.h -- let
349         configure handle that-- this was causing a double-build
350         (!!!ugh!!!) of Cassowary when building from RPMs, e.g.
351
352         * GTL.spec.in: Use install-strip target.
353
354 Tue Sep  7 23:34:49 1999  Greg J. Badros  <gjb@cs.washington.edu>
355
356         * configure.in, Makefile.am: use cassowary-nofd.spec2.in
357
358         * cassowary-nofd.spec2.in: Renamed from cassowary-nofd.spec.in,
359         since having two *.spec files in the top level upsets rpm (it cats 
360         them together and then gets confused by the double .spec file).
361
362         * cassowary-both.spec.in: Added-- rpm doesn't support two %build
363         tags (one for a subpackage), but if it did, this is what the
364         corresponding .spec file might look like.
365
366 Tue Sep  7 23:02:26 1999  Greg J. Badros  <gjb@cs.washington.edu>
367
368         * Makefile.am: Added cassowary-nofd.spec to EXTRA_DIST,
369         bin_SCRIPTS = cassowary-config.  Added dist-nofd target, and
370         supporting targets.
371
372         * cassowary.spec.in: Bump to 7, provide virtual package, install
373         %{prefix}/bin/* (for cassowary-config script).
374
375         * configure.in: Added CASSOWARY_VERSION variable, create
376         cassowary-config, cassowary-nofd.spec
377
378         * cassowary-config.in, cassowary-nofd.spec.in: Added
379
380 Mon Sep  6 21:40:58 1999    <gjb@cs.washington.edu>
381
382         * cassowary.spec.in: Use install-strip target to remove debug
383         symbols and save disk space.  Remove %{prefix}/doc/* from the
384         %files list as they are in the %doc listing already.
385
386 Mon Sep  6 12:25:14 1999   Greg J. Badros  <gjb@cs.washington.edu>
387
388         * cassowary.spec.in: Use --host=alpha-linux on that platform
389         (using an %ifarch). Bump to release 6.
390
391         * GTL.spec.in: Fix the ./configure line for alpha platform (was
392         missing "--" before the "prefix" option). Bump to release 2.
393
394         * c++/ClSymbolicWeight.h, c++/ClSymbolicWeight.cc: Use int, not
395         unsigned, to remove ambiguity in ClSymbolicWeight constructor.
396
397 Sat Sep  4 15:17:13 1999   Greg J. Badros  <gjb@cs.washington.edu>
398
399         * acconfig.h: Added NO_CC_PERMISSIVE flag.
400
401         * autogen.sh: Added #!/bin/sh -  to top.
402
403         * configure.in: Test for g++/gcc -fpermissive flag.  Hopefully
404         this will let it get used only where it is accepted.  Some better
405         guile tests, too.
406
407         * cassowary.spec.in: Use --enable-permissive flag, bump from
408         release 3 to 5.
409
410 Sat Sep  4 14:44:14 1999   Greg J. Badros  <gjb@cs.washington.edu>
411
412         * c++/Makefile.am, guile/Makefile.am: Added CPPEXTRAFLAGS to
413         AM_CPPFLAGS.
414
415         * guile/Makefile.am: Guard lib_LIBRARIES with HAVE_GUILE test so
416         that guile stuff is only built when GUILE is desired and we have
417         the libraries installed.
418
419 Tue Aug 31 22:16:04 1999   Greg J. Badros  <gjb@cs.washington.edu>
420
421         * java/demos/Makefile.am, java/cda/Makefile.am, java/Makefile.am
422         (install-javaJAVA): Do not try to install .class files if no
423         HAVE_JAVA
424
425 Tue Aug 31 21:30:24 1999   Greg J. Badros  <gjb@cs.washington.edu>
426
427         * cassowary.spec.in: Do not use --disable-java-build, since that
428         still invokes the rule which is not what I want.
429
430         * java/demos/Makefile.am, java/cda/Makefile.am: Added bogus
431         classjava.stamp rule when no HAVE_JAVA to work around getting an
432         error when trying to run javac with no source files.
433
434         * configure.in: Fix some HAVE_JAVA bugs.  Still not perfect, but better.
435
436 Tue Aug 31 17:07:31 1999   Greg J. Badros  <gjb@cs.washington.edu>
437
438         * java/demos/Makefile.am, java/cda/Makefile.am, java/Makefile.am:
439         Added EXTRA_DIST.
440
441 Tue Aug 31 16:27:41 1999   Greg J. Badros  <gjb@cs.washington.edu>
442
443         * configure.in (HAVA_JAVA): AC_OUTPUT the java/*/Makefiles.
444
445         * cassowary.spec.in: Use --disable-java-build ./configure option.
446         Bump to release 3.
447
448         * Makefile.am: Do not conditionally do directories-- that is
449         really broken with automake/rpm building.
450
451 Tue Aug 31 16:20:45 1999   Greg J. Badros  <gjb@cs.washington.edu>
452
453         * java/demos/Makefile.am, java/cda/Makefile.am, java/Makefile.am
454         (java_JAVA): Guard with if HAVE_JAVE.
455
456 Mon Aug 30 12:03:26 1999   Greg J. Badros  <gjb@cs.washington.edu>
457
458         * cassowary.spec.in: Bump to release 2
459
460         * configure.in: Drop the java/* wrappers/* from AC_OUTPUT macro--
461         this breaks java builds but make the Cassowary RPM build more
462         cleanly.  I'm going to start making a separate cassowary-java
463         distribution unless I can figure out how to make automake and Java 
464         co-exist more happily.
465
466 Mon Aug 30 12:00:39 1999   Greg J. Badros  <gjb@cs.washington.edu>
467
468         * c++/ClAbstractVariable.h: #include "cl_auto_ptr.h" and use
469         cl_auto_ptr, not auto_ptr.
470
471 Mon Aug 30 10:06:50 1999   Greg J. Badros  <gjb@cs.washington.edu>
472
473         * c++/cl_auto_ptr.h: Change the conditional inclusion sandwich to
474         CL_AUTO_PTR_H.  Added "#define cl_auto_ptr auto_ptr" for MSVC.
475
476 Thu Aug 26 22:42:50 1999   Greg J. Badros  <gjb@cs.washington.edu>
477
478         * cassowary.spec.in: Require guile 1.3.2, to be safe.  Require GTL 
479         >= 0.3.1, not gtl >= 0.3.1 (note capitalization)
480
481 Thu Aug 26 14:12:42 1999   Greg J. Badros  <gjb@cs.washington.edu>
482
483         * c++/ClFDSolver.h, c++/ClCTest.c, c++/ClC.h, c++/ClC.cc,
484         c++/Cassowary.h, c++/ClConstraint.h: Use LONG_MIN, not MINLONG and
485         #include <limits.h> not <values.h> since the latter is deprecated
486         (and does not work in VC++).
487
488         * THANKS: Thank Pengling He for his VC++ bug report re: values.h
489         
490 Thu Aug 26 14:08:46 1999   Greg J. Badros  <gjb@cs.washington.edu>
491
492         * configure.in (GUILE_PKGDATA_DIR): Set cassoguiledir variable,
493         and use ${prefix} prefix of GUILE_PKGDATA_DIR to be sure that rpm
494         building succeeds (was failing because it was trying to write to
495         an absolute location that guile told it to use, instead of using
496         the prefix of $RPM_BUILD_ROOT).
497
498         * c++/Makefile.am: Fix lex/yacc building dependencies.
499
500         * guile/Makefile.am (cassoguile_LTLIBRARIES): Do not set
501         cassoguiledir here-- do it in configure.in instead.
502
503 Thu Aug 26 11:02:36 1999   Greg J. Badros  <gjb@cs.washington.edu>
504
505         * guile/Makefile.am (EXTRA_DIST), docs/Makefile.am: Added docs to
506         EXTRA_DIST.
507
508         * c++/Makefile.am: Added ClReader.l, ClReader.y to EXTRA_DIST,
509         remove ClReader.cc from sources.  Added timer.h to
510         pkginclude_HEADERS.
511
512         * Makefile.am: Update EXTRA_DIST
513
514 Thu Aug 26 08:45:08 1999   Greg J. Badros  <gjb@cs.washington.edu>
515
516         * configure.in: Write cassowary.spec, GTL.spec.  Bump version to
517         0.51.
518
519         * autogen.sh: Run configure, not config.status
520
521         * VERSION, README, NEWS, ANNOUNCE: Bump to 0.51, add date, notes.
522
523         * Makefile.am: Drop Java, Python to make easier to package.  Added 
524         EXTRA_DIST to include some doc files and the cassowary.spec file.
525
526 Wed Aug 25 22:54:18 1999   Greg J. Badros  <gjb@cs.washington.edu>
527
528         * c++/Makefile.am (pkginclude_HEADERS): cl_auto_ptr.h now, not auto_ptr.h
529
530 Mon Aug 23 21:26:31 1999   Greg J. Badros  <gjb@cs.washington.edu>
531
532         * ltmain.sh, ltconfig, libtool, configure: Removed -- these are
533         autogenerated by autogen.sh
534
535 Mon Aug 23 21:23:53 1999   Greg J. Badros  <gjb@cs.washington.edu>
536
537         * c++/ClSimplexSolver.cc: Use cl_auto_ptr, not auto_ptr.
538
539         * c++/ClAbstractVariable.h: #include <memory>, not "auto_ptr.h"
540
541         * c++/cl_auto_ptr.h: Added -- renamed from auto_ptr.h since that
542         was causing some difficulties due to the standard C++ auto_ptr template. 
543
544 Mon Jul 26 10:19:35 1999  Greg Badros  <gjb@cs.washington.edu>
545
546         * c++/Makefile.am (libcassowary_la_SOURCES): Remove redundant
547         listing of ClFD* files from this target.
548
549 Mon Jul 26 09:41:09 1999  Greg Badros  <gjb@cs.washington.edu>
550
551         * c++/Cl.h: Include ClConstraint.h, since cnLT, etc., need to be
552         defined for ClReader.y
553
554 Mon Jul 26 09:22:11 1999  Greg Badros  <gjb@cs.washington.edu>
555
556         * acconfig.h, configure.in: Use CL_ prefix for BUILD_FD_SOLVER and
557         HAVE_GTL.
558
559 Mon Jul 26 09:17:56 1999  Greg Badros  <gjb@cs.washington.edu>
560
561         * c++/config.h.in,c++/ClC.h,c++/ClC.cc,c++/Cl.h: Use CL_ prefix on
562         BUILD_FD_SOLVER and HAVE_GTL so that the config-inline.h gets the
563         right definitions.
564
565         * c++/Makefile.am: Expanded out the sources_for_fd_solver since
566         the _OBJECTS make variable doesn't get expanded properly if this
567         step is deferred until later.  This breaks builds w/o FD solver,
568         but I have to get Amaya working ASAP.
569
570 Mon Jul 19 17:08:03 1999  Greg Badros  <gjb@cs.washington.edu>
571
572         * c++/ClSymbolicWeight.h: Increase multiplier to 10000 for
573         AsDouble-- works around the bug in resizing Scwm windows because
574         the medium stay constraints on width and height are too strong for 
575         the strong edit constraint.
576
577 Sun Jul 11 19:37:39 1999  Greg Badros  <gjb@cs.washington.edu>
578
579         * c++/ClLinearExpression.h: Remove "class" from a typedef
580         ClMap<ClVariable,class T>.  Thanks Alexandre 'Pollux' Duret-Lutz
581         for testing against a more recent egcs (gcc-2.95) that caught this 
582         problem.
583
584         * configure.in: Improve checks for guile so that it uses --prefix
585         and --exec-prefix to --guile-prefix and --guile-exec-prefix
586
587 Sat Jul 10 19:21:34 1999  Greg Badros  <gjb@cs.washington.edu>
588
589         * autogen.sh: rm libtool stuff just in case.
590
591         * README: Updated version number, notes about building it and
592         needing GTL for fd solver.
593
594         * configure.in: Added --enable-cxx-tests, --enable-fd-solver,
595         --with-gtl;  switch --disable-java-build to --enable-java-build
596
597         * acconfig.h, c++/config.h.in: Added HAVE_GTL, BUILD_FD_SOLVER options.
598
599         * c++/Makefile.am: Make only the library and ClTests get built by
600         default (other binary test programs are each big when build -g,
601         and aren't useful to the end user).  Use @SOURCES_FOR_FD_SOLVER@
602         to permit a version of the toolkit to be build without the finite
603         domain subsolver.
604
605         * c++/ClC.h, c++/ClC.cc, c++/Cl.h: Add #ifdefs for no fd subsolver.
606
607 Fri May  7 17:02:09 1999  Greg J Badros  <gjb@cs.washington.edu>
608
609         * c++/ClC.cc (CL_ClvLookup): Return NULL if varmap is NULL instead 
610         of asserting it is non-NULL
611
612 Thu May  6 19:02:38 1999  Greg J Badros  <gjb@bowman.cs.monash.edu.au>
613
614         * c++/ClFDTests.cc: Added return type to connect1.
615
616         * c++/ClFDSolver.cc: Return *this where missing.
617
618         * c++/ClFDConnectorVariable.h: Reorder mem vars to match
619         initialization order in ctr.
620
621         * c++/ClC.h, c++/ClC.cc:  Added CL_ClvIsFD.
622
623 Sun May  2 10:42:00 1999  Greg J Badros  <gjb@cs.washington.edu>
624
625         * c++/ClReader.l: Permit "_" in identifiers (needed for env
626         variable precondition variables).
627
628         * c++/ClLinearInequality.h: Honour _fStrictInequality flag when
629         testing FIsSatisfied().
630
631         * c++/ClLinearConstraint.h: Added missing "void" return type for
632         ChangeConstant.
633
634 Fri Apr 30 09:45:51 1999  Greg J Badros  <gjb@cs.washington.edu>
635
636         * c++/ClFDConnectorVariable.cc, c++/ClFDConnectorVariable.h:
637         Added -- support connecting the FD solver to the simplex solver
638         via a variable in the FD region that gets its value "copied" to a
639         analogous variable in the Simplex region.
640
641         * Makefile.am: Added ClFDConnectorVariable.[ch] files.
642
643         * c++/ClLinearConstraint.h: Added ChangeConstant()
644
645         * c++/ClFloatVariable.h, c++/ClFDVariable.h,
646         c++/ClFloatVariable.cc, c++/ClFDVariable.cc,
647         c++/ClAbstractVariable.h: Move _pv, SetPv(), Pv() from
648         ClFloatVariable, ClFDVariable, into common parent
649         ClAbstractVariable.  Drop ClFloatVariable::SetName().
650
651         * c++/ClFDTests.cc: Added connect1 test to test
652         ClFDConnectorVariable
653
654         * c++/ClFDSolver.cc: Use 1 + value-rhs for errors to ensure that
655         strict inequalities behave reasonably.
656
657 Thu Apr 29 19:29:34 1999  Greg J Badros  <gjb@cs.washington.edu>
658
659         * c++/ClVariable.h: Register variable in the dictionary when
660         initialized from a ClFDVariable*.  Added const ClAbstractVariable
661         *operator() const.
662
663         * c++/ClSolver.h, c++/ClSimplexSolver.h: Added _fAutosolve,
664         _pfnChangeClvCallback; added default ctr to initialize.  Added
665         SolveNoException(); Moved SetAutosolve(), FIsAutosolving(),
666         SetChangeClvCallback() from ClSimplexSolver up to here.
667
668         * c++/ClSolver.cc: Added PrintTo for list<FDNumber>, operator<<
669         for same.
670
671         * c++/ClSimplexSolver.cc: Test constraint with
672         FIsOkayForSimplexSolver() before trying to add it (avoids adding
673         FD constraints to the simplex solver).
674         s/_fOptimizeAutomatically/_fAutosolve/g
675
676         * c++/ClParseTest.cc: Use FCanConvertCn() before trying to.
677
678         * c++/ClFDVariable.h: Make PlfdnDomain() const and return const.
679
680         * c++/ClFDVariable.cc: PrintOn now displays value (duh!)
681
682         * c++/ClFDTests.cc: Use new ListPushOnto() instead of a bunch of
683         push_back.  Added simple2, simple3.
684
685         * c++/ClFDSolver.h, c++/ClFDSolver.cc: Added ChangeClv(),
686         AddConstraintInternal(), RemoveConstraintInternal(),
687         ListPushOnto(), fDebugFDSolve var, more debugging code.
688
689         * c++/ClConstraint.h, c++/ClFDConstraint.h: Added
690         FIsOkayForSimplexSolver() returning false for FDCns, true in the
691         base class.
692
693         * c++/ClFDBinaryOneWayConstraint.h,
694         c++/ClFDBinaryOneWayConstraint.cc: Make ctr take ClConstraint
695         instead of ClLinearConstraint.  Added EnsurePreconditionsForCn(),
696         FCanConvertCn().  Throw better exceptions instead of
697         ExCLEditMisue-- use new ExCLTooDifficultSpecial.
698
699         * c++/ClCTest.c: Use CL_ClvPrint instead of coding by hand.
700         Added CL_CldvNew() call.
701
702         * c++/ClC.cc, c++/ClC.h: Added FDN_EOL defn, typedefs for Number,
703         FDNumber, CL_CldvNew(), CL_FDCanConvertCn(), CL_FDCnFromCn(),
704         CL_ClvPrint(). Use CL_Solver for PfnChangeClvCallback, not CL_SimplexSolver.
705
706         * c++/ClAbstractVariable.h: Throw instead of assert(false) in base 
707         class IsPivotable(), IsRestricted().
708
709 Wed Apr 28 19:38:46 1999  Greg J Badros  <gjb@cs.washington.edu>
710
711         * c++/ClC.cc: Added CL_FDSolverNew()
712
713 Wed Apr 28 19:10:32 1999  Greg J Badros  <gjb@cs.washington.edu>
714
715         * c++/Makefile.am (INCLUDES): Include @GUILE_INCLUDES@ -- actually 
716         done to get cassowary libraries (GJB:FIXME::)
717
718 Wed Apr 28 18:49:51 1999  Greg J Badros  <gjb@cs.washington.edu>
719
720         * c++/Makefile.am: Added ClCTest to the _PROGRAMS, and use
721         -lstdc++ on them
722
723         * c++/ClSolver.h: Expose Resolve() in base-class interface, along
724         with <<, and PrintOn.
725
726         * c++/ClSolver.cc: Added << operator.
727
728         * c++/ClC.h, c++/ClC.cc, c++/ClTest.c: Fixed bugs, use
729         CL_Solver... instead of CL_SimplexSolver... where appropriate.
730
731 Wed Apr 28 17:15:47 1999  Greg J Badros  <gjb@cs.washington.edu>
732
733         * c++/ClSymbolicWeight.h: Make CLevels unsigned, not int, and
734         require all 3 args to the 3 double ctr to remove ambiguity.
735
736         * c++/ClSimplexSolver.h: Check constraint before adding and throw
737         an error if the constraint is no good for the SimplexSolver.
738
739         * c++/ClParseTest.cc: Don't assume a failed add is due to an
740         inconsistent system-- could be wrong kind of constraint was read
741         in.
742
743         * c++/ClLinearInequality.h: Store the strictness of the
744         inequality, since other solvers may be able to use strict ones.
745
746         * c++/ClFDSolver.cc: Fine-tune the exception objects thrown... use 
747         the richer hierarchy.
748
749         * c++/ClFDBinaryOneWayConstraint.c,
750         c++/ClFDBinaryOneWayConstraint.h:  Added IsStrictInequality(), get 
751         the direction of the inequality correct.
752
753         * c++/ClErrors.h: Richer hierarchy of exceptions to cope with
754         solver limitations.
755
756         * c++/ClConstraint.h: Added IsStrictInequality(); have
757         ReadOnlyVars return a const ClVarSet&, not value.
758
759 Wed Apr 28 12:20:47 1999  Greg J Badros  <gjb@cs.washington.edu>
760
761         * c++/Makefile.am: Added ClFDBinaryOneWayConstraint.cc.
762
763         * c++/ClReader.y, c++/ClReader.l: Added tokens GT, LT, and handle
764         them (for >, <, resp).
765
766         * c++/ClParseTest.cc: try converting to a FD constraint, and show
767         what that object is.
768
769         * c++/ClFDBinaryOneWayConstraint.h: Added ctr from a
770         ClLinearConstraint.  Added IsInequality().
771
772 Wed Apr 28 12:08:16 1999  Greg J Badros  <gjb@cs.washington.edu>
773
774         * c++/ro-test.in: Added for testing below.
775
776         * c++/ClFDBinaryOneWayConstraint.cc: Added -- so far just a ctr
777         from a ClLinearConstraint object (since the parser hands me a
778         constraint object that is a ClLinearConstraint object).
779
780 Tue Apr 27 20:35:23 1999  Greg J Badros  <gjb@cs.washington.edu>
781
782         * c++/ClSymbolicWeight.h, c++/ClSymbolicWeight.cc: Drop default
783         ctr, and give default arg value to CLevels of 3.  Added operator*.
784
785         * c++/ClFDTests.cc: Better test.
786
787         * c++/ClFDSolver.h, c++/ClFDSolver.cc: Use SymbolicWeights for
788         errors, so hierarchy is handled (i.e., strengths on constraints
789         are honoured).
790
791         * c++/ClFDConstraint.h: Added ctr with strength, weight.
792
793         * c++/ClFDBinaryOneWayConstraint.h: Added strength, weight
794         arguments to ctr.
795
796         * c++/ClConstraint.h:  Added symbolicWeight() accessor.
797
798 Tue Apr 27 15:04:34 1999  Greg J Badros  <gjb@cs.washington.edu>
799
800         * c++/ClFDSolver.cc (RemoveConstraint): Fix some bugs-- handle nil 
801         read-only variable properly, and clean up _mapVarToNode when
802         erasing nodes.
803
804 Tue Apr 27 10:40:58 1999  Greg J Badros  <gjb@cs.washington.edu>
805
806         * c++/ClSolver.cc: Added -- wrote PrintTo, << basic impls, and
807         simple AddConstraint.
808
809         * c++/QocaBench.cc, c++/ClTests.cc, c++/ClSubgraphTest.cc,
810         ClLeakTest.cc, ClC.cc: Use Solve(), not solve()
811
812         * c++/ClVariable.h:  Added DesiredValue, PlfdnDomain base-class
813         accessors, handle clvNil in PrintOn.
814
815         * c++/Makefile.am:  Added ClSolver.cc, link with -lGTL, added
816         missing and new .cc, .h files.
817
818         * c++/ClTypedefs.h: added ClVarToConstraintSetMap.
819
820         * c++/ClSolver.h: Added AddConstraint{,NoException},
821         RemoveConstraint{,NoException}, Solver here to the abstract
822         interface, also the prototypes for the PrintTo and << on the
823         ClTypedefs.h types.
824
825         * c++/ClSimplexSolver.h, c++/ClSimplexSolver.cc: Solve(), not
826         solve(), move some protos in abstract base class ClSolver.
827
828         * c++/ClLinearInequality.h: Use ClCnRelation, not
829         ClInequalityOperator.
830
831         * c++/ClFDVariable.h, c++/ClFDVariable.cc: More accessors,
832         settors, comment-out non-initial-domain ctr.
833
834         * c++/ClFDTests.cc: Test more.
835
836         * c++/ClFDSolver.h, c++/ClFDSolver.cc: Almost complete, but
837         largely untested implementation.
838
839         * c++/ClFDBinaryOneWayConstraint.h: Added ctrs, setters, getters.
840
841         * c++/ClErrors.h: Fixed throw message for ExCLConstraintNotFound
842         to not refer to the tableau.
843
844         * c++/ClConstraint.h: Added ClCnRelation (was ClInequalityOperator 
845         in c++/ClLinearInequality.h) and wrote StrCnRelation for printing
846         it.
847
848         * c++/Cl.h:  include ClFDSolver.h
849
850         * c++/Cassowary.h : include values.h, def FDN_NOTSET (FIXME: drop this?)
851
852 Sun Apr 25 18:55:26 1999  Greg J Badros  <gjb@cs.washington.edu>
853
854         * c++/Makefile.am: Added ClFDBinaryOneWayConstraint.h,
855         ClFDConstraint.h to pkginclude_HEADERS.
856
857         * c++/ClSimplexSolver.h, c++/ClSimplexSolver.cc: Added optional
858         strength argument to AddPointStays, AddPointStay fns.
859
860         * c++/ClFDVariable.h:  Set _plfdnInitialDomain to avoid a warning
861         for now.
862
863         * c++/ClFDBinaryOneWayConstraint.h: Added return xo to PrintOn.
864
865         * c++/ClConstraint.h: Fix order of initializers.
866
867         * c++/ClC.h, c++/ClC.cc: Document return value for
868         CL_VarMapDelete, and do proper return.
869
870         * configure.in:  Added --enable-cflags, --enable-cxxflags,
871         --enable-cppextraflags.  Not tested yet.
872
873 Sun Apr 25 11:46:28 1999  Greg J Badros  <gjb@cs.washington.edu>
874
875         * configure.in: Bump version to .50, for FD features.
876
877 Sun Apr 25 11:37:52 1999  Greg J Badros  <gjb@cs.washington.edu>
878
879         * c++/Makefile.am: Comment out the Bug sources/builds, add the FD
880         sources.
881
882         * c++/ClSimplexSolver.h: Inherit from ClSolver, too.  Move SetPv, 
883         Pv() out into ClSolver base class.
884
885         * c++/ClSimplexSolver.cc, c++/Cl.h: Make szCassowaryVersion a const char *.
886
887         * c++/ClReadery.y, c++/ClReader.l, c++/ClReader.h: Support "?"
888         read-only annotations, and use Constraint::AddROVars() to track
889         the ro vars of a constraint expression.
890
891         * c++/ClParseTest.cc: Show whether the constraint is added
892         successfully or if it is inconsistent.
893
894         * c++/ClLinearConstraint.h: Fix BUG-- super should be
895         ClConstraint, not ClLinearConstraint.
896
897         * c++/ClFDVariable.cc: Use <, > to delimit FD vars, not [, ].
898
899         * c++/ClConstraint.h, c++/ClConstraint.cc: Added AddROVars,
900         FIsReadOnlyVar, ReadOnlyVars.
901
902 Thu Apr 22 20:18:31 1999  Greg J Badros  <gjb@cs.washington.edu>
903
904         * c++/ClVariable.h: Added ClVariable ctr that takes a
905         ClFDVariable*, this ambiguates returning NULL as a ClVariable, so
906         may not be a good idea, but it does make it less confusing than
907         having another overloaded version of ClVariable's ctr. Added
908         IsFloatVariable, IsFDVariable fwding fns.
909
910         * c++/ClSimplexSolver.cc: Disambiguate uses of NULL to be
911         (ClFloatVariable *)NULL.
912
913         * c++/ClFloatVariable.h: Added IsFloatVariable() to return true
914
915         * c++/ClC.h, c++/ClC.cc: Added CL_ClvLookupTrim for removing ws
916         around the var name.
917
918         * c++/ClAbstractVariable.h: Make IsPivotable, IsRestricted both
919         assert false instead of being pure virtual -- they only need to be 
920         overridden if we want to permit them to be called.  Added
921         IsFloatVariable(), IsFDVariable() both returning false in this
922         base class.
923
924         * c++/Cassowary.h: Added FDNumber typedef to be a long.
925
926         * c++/Makefile.am: Added ClFDVariable.{cc,h}
927
928         * c++/ClFDVariable.cc, c++/ClFDVariable.h: Added, copied from
929         ClFloatVariable and modified slightly.
930
931 Tue Apr 20 10:18:32 1999  Greg J Badros  <gjb@cs.washington.edu>
932
933         * smalltalk/README: Note that smalltalk implementation is now in
934         the public domain.
935
936         * README: Update to version 0.43, note about smalltalk
937         implementation being in public domain.
938
939         * LICENSE: Note about not applying to smalltalk implementation
940
941         * ANNOUNCE: Update date to today.
942
943         * *: Changed copyright to be "Greg J. Badros and Alan Borning"
944         instead of "Alan Borning and Greg J. Badros".  Okayed by Alan --
945         to hopefully encourage more people to write me with their
946         questions/problems rather than Alan.
947
948 Mon Apr 19 13:45:35 1999  Greg J Badros  <gjb@cs.washington.edu>
949
950         * cassowary.spec: Added --with-guile-prefix
951
952 Mon Apr 19 13:02:46 1999  Greg J Badros  <gjb@cs.washington.edu>
953
954         * c++/ClReader.l: Be a bit more careful about end of string
955         handling in YY_INPUT-- only return result = 1 if we read a
956         non-null character.  Call yy_flush_buffer() before throw-ing an
957         error, so that we start anew the next time we are asked to return
958         tokens for the parser.
959
960         * c++/ClC.h, c++/ClC.cc: Added CL_SimplexSolverAddStay. (Fix typo
961         in .cc)
962
963 Fri Apr 16 16:36:24 1999  Greg J Badros  <gjb@cs.washington.edu>
964
965         * c++/ClTests.cc, c++/ClSimplexSolver.h, c++/ClSimplexSolver.cc, : Use "RemoveConstraintNoException", not
966         "removeConstraintNoException" (fix initial caps.)
967
968         * c++/ClReader.y: Start looking for a constraint, turn on verbose
969         warnings and DEBUG option (still need to set cldebug = 1 in
970         debugger)
971
972         * c++/ClReader.h: In operator() for the lookup proc, Return
973         &clvNil() if _pmapVars is still NULL
974
975         * c++/ClC.h, c++/ClC.cc: Added CL_VariableName(..), CL_VarMapDelete(..),
976         CL_RemoveConstraint(..) 
977
978
979 Wed Apr 14 16:56:05 1999  Greg J Badros  <gjb@cs.washington.edu>
980
981         * configure.in: Bump to .43.
982
983         * c++/ClC.cc (CL_VarMapDelete, CL_VariableName): Added new functions.
984
985         * cassowary.spec: Added, for building rpms
986
987         * c++/gdbinit-cassowary: Added a bunch of guile debugging macros.
988
989         * c++/Makefile.am: Added ClC.cc to libcassowary_a_SOURCES
990
991         * c++/ClReader.y: Turn off parser debugging messages by default
992
993         * c++/ClC.h, c++/ClC.cc: Added CL_ConstraintPrint, CL_FIsSatisfied
994         protos
995
996 Wed Mar 31 17:23:18 1999  Greg J Badros  <gjb@cs.washington.edu>
997
998         * wrappers/Makefile.in: Rename PYTHON_HEADERS to PYTHON_HEADER_DIR 
999         so it does not get treated specially by automake (?).
1000
1001         * configure.in: Bump to .42. Added --disable-cpp-build,
1002         --disable-java-build, and disable Python/Guile builds
1003         automatically if directories cannot be found.  Drop the
1004         cassowary from c++/cassowary/config.h -- just use c++/config.h
1005
1006         * autogen.sh: do not fail if config.status is not -x.
1007
1008         * Makefile.am: Honour the HAVE_foo flags so that not all subdirs
1009         have to be built.
1010
1011 Mon Mar 29 21:01:21 1999  Greg J Badros  <gjb@cs.washington.edu>
1012
1013         * ltconfig, ltmain.sh: Added -- so libtool isn't broken in
1014         distributions. 
1015
1016 Mon Mar 29 20:59:17 1999  Greg J Badros  <gjb@cs.washington.edu>
1017
1018         * configure.in: Try to undo a bash-ism.  Untested on a vendor sh,
1019         but still works with bash.
1020
1021 Sat Mar 20 19:19:37 1999  Greg J Badros  <gjb@cs.washington.edu>
1022
1023         * Release v0.41.
1024
1025 Sat Mar 20 19:19:13 1999  Greg J Badros  <gjb@cs.washington.edu>
1026
1027         * Added config.sub and config.guess to the repo -- they were
1028         symlinks before which broke the distribution.
1029
1030 Thu Mar 18 15:20:51 1999  Greg J Badros  <gjb@cs.washington.edu>
1031
1032         * Release v0.4.
1033
1034 Thu Mar 18 14:44:39 1999  Greg J Badros  <gjb@cs.washington.edu>
1035
1036         * configure.in: Do not let config-inline.h get overwritten if it
1037         is unchanged.  Add some extra messages to tell status of
1038         config-inline.h
1039
1040 Thu Mar 18 12:59:02 1999  Greg J Badros  <gjb@cs.washington.edu>
1041
1042         * README, configure.in, wrappers/Makefile.in: Added
1043         --with-python-headers configure option.
1044
1045 Thu Mar 18 12:48:55 1999  Greg J Badros  <gjb@cs.washington.edu>
1046
1047         * README: Added notes about what to do when a subdir build fails,
1048         suggest -k by default.
1049
1050         * guile/Makefile.am (test): Added this target for easier way to
1051         run cltests.scm.
1052
1053         * guile/README: Updated with notes about how to run cltests.scm. 
1054
1055         * java/Makefile.in: Fix tests build rule.
1056
1057 Thu Mar 18 11:42:49 1999  Greg J Badros  <gjb@cs.washington.edu>
1058
1059         * configure.in: Create config-inline.h at end of script.
1060
1061         * c++/Makefile.am: Do not have rule for building config-inline.h; 
1062         let configure script do that.
1063
1064 Thu Mar 18 11:05:27 1999  Greg J Badros  <gjb@cs.washington.edu>
1065
1066         * c++/*.h: Use #include config-inline.h incantation so that header 
1067         files don't include config.h (since they may be included by
1068         another package that has its own config.h)
1069
1070         * c++/*.cc: Use #include config.h as these are build-time-only
1071         used and can thus rely on the full configure details.
1072
1073 Thu Mar 18 10:57:08 1999  Greg J Badros  <gjb@cs.washington.edu>
1074
1075         * guile/cassowary_scm.hpp: Use #include config-inline.h
1076         incantation.
1077
1078         * guile/cassowary_scm.h: Drop including config.h; it's not
1079         needed. 
1080
1081         * guile/cassowary_scm.cc: Use cassowary/config.h, not config.h
1082
1083 Thu Mar 18 10:29:40 1999  Greg J Badros  <gjb@cs.washington.edu>
1084
1085         * c++/Makefile.am: Install config-inline.h, not config.h, and
1086         build config-inline.h by grepping for #define CL_ in config.h.
1087         This works around the problem caused by Scwm including Cassowary
1088         header files which then included cassowary's config.h and
1089         conflicted with Scwm's config.h.
1090
1091 Thu Mar 18 10:11:40 1999  Greg J Badros  <gjb@cs.washington.edu>
1092
1093         * c++/test-*.cc: Only #include "Cl.h"
1094
1095 Thu Mar 18 09:50:45 1999  Greg J Badros  <gjb@cs.washington.edu>
1096
1097         * wrappers/Makefile.in (clean): use rm -f so we don't get a
1098         warning if file is missing.
1099
1100 Thu Mar 18 09:49:35 1999  Greg J Badros  <gjb@cs.washington.edu>
1101
1102         * java/Makefile.in: Use JAVA_CLASS_PATH configure variable.  Fix
1103         install target to echo a message about the install happening
1104         during the build.
1105
1106 Wed Mar 17 18:54:16 1999  Greg J Badros  <gjb@cs.washington.edu>
1107
1108         * c++/Makefile.am: Use libtool, and added lib_LTLIBRARIES.  Put
1109         benchmarks, bugs, and test programs all under $libdir/cassowary.
1110         Drop cassoincludedir, as that's just pkginclude, and use
1111         include_HEADERS for Cl.h and ClC.h, the main top-level includes.
1112         Also install config.h.
1113
1114         * c++/Cassowary.h:  #undef PACKAGE, VERSION before #including
1115         cassowary/config.h as a cheezy workaround. (Switched from "" to
1116         <>, and ../ to cassowary/ also).
1117
1118 Wed Mar 17 18:50:49 1999  Greg J Badros  <gjb@cs.washington.edu>
1119
1120         * configure.in: Put config.h in c++/cassowary so cassowary must do 
1121         #include <cassowary/config.h> so there is no filename conflict
1122         with other packages including cassowary header files (e.g.,
1123         Scwm).  Added AM_PROG_LIBTOOL call.  Set GUILE variables outside
1124         of the guile-prefix ACE_ARG_PATH macro, and set GUILE_PKGDATA_DIR
1125         use guile-config to find out where we should install the .so file.
1126
1127 Wed Mar 17 18:43:08 1999  Greg J Badros  <gjb@cs.washington.edu>
1128
1129         * guile/Makefile.am: Updated to build using libtool, and to
1130         install header files.  Changes name to libconstraints.* so that
1131         the guile module name (cassowary constraints) works out, and set
1132         it to install in the right place.
1133
1134 Wed Mar 17 18:39:13 1999  Greg J Badros  <gjb@cs.washington.edu>
1135
1136         * guile/cltests.scm: Added #! lines, change name of module to
1137         (cassowary constraints), remove redundant `use-modules' call.
1138
1139         * guile/cassowary_scm.hpp: #include
1140         cassowary/ClLinearExpression_fwd.h, not ClLinearExpression_fwd.h
1141
1142         * guile/cassowary_scm.cc: Change name of module to (cassowary
1143         constraints).  Make the init_cassowary_scm fn static.
1144
1145 Wed Mar 17 07:39:10 1999  Greg J Badros  <gjb@cs.washington.edu>
1146
1147         * c++/Cassowary.h, c++/ClSimplexSolver.cc: Switch back to
1148         including config.h (now ../config.h) from Cassowary.h, instead of
1149         from ClSimplexSolver.cc.   
1150
1151 Tue Mar 16 19:56:02 1999  Greg J Badros  <gjb@cs.washington.edu>
1152
1153         * acconfig.h: Fix missing comment closer */
1154
1155         * c++/Makefile.am: Added AM_CPPFLAGS = $(CPPEXTRAFLAGS)
1156
1157         * configure.in: Use config.h, not c++/config.h, and permit
1158         --enable-warnings option to turn on compile-time warnings (uses
1159         AM_CPPFLAGS in Makefile.am)
1160
1161 Tue Mar 16 19:26:23 1999  Greg J Badros  <gjb@cs.washington.edu>
1162
1163         * configure.in, acconfig.h: Better autoconf support, including
1164         several --enable options.  Added acconfig.h to support autoheader
1165         doing the right thing in making config.h.in.
1166
1167 Tue Mar 16 19:22:50 1999  Greg J Badros  <gjb@cs.washington.edu>
1168
1169         * c++/ClSimplexSolver.cc, c++/Cassowary.h: Include "config.h" from
1170         here, not from Cassowary.h (still not right-- problem is scwm gets 
1171         the wrong config.h.  Maybe config.h should be in ..?
1172
1173 Tue Mar 16 19:21:06 1999  Greg J Badros  <gjb@cs.washington.edu>
1174
1175         * java/README: Added note about common error when CLASSPATH is wrong.
1176
1177 Tue Mar 16 15:51:15 1999  Greg J Badros  <gjb@cs.washington.edu>
1178
1179         * c++/Cassowary.h: #include "config.h"
1180
1181         * c++/ClSimplexSolver.cc: Use VERSION to init szCassowaryVersion.
1182
1183 Tue Mar 16 12:44:33 1999  Greg J Badros  <gjb@cs.washington.edu>
1184
1185         * c++/**: Updated function names to always start with an uppercase 
1186         letter (follows C++ conventions, and brings API of Cassowary and 
1187         QOCA closer together).  Used scripts/convert-ids to do the
1188         conversion, along with scripts/ids-to-upper as the list of
1189         conversions to do.
1190
1191 Wed Mar 10 15:28:33 1999  Greg J Badros  <gjb@cs.washington.edu>
1192
1193         * Release v0.32.
1194
1195 Wed Mar 10 11:36:37 1999  Greg J Badros  <gjb@cs.washington.edu>
1196
1197         * **/Makefile: Removed, since these are now generated by
1198         autoconf from Makefile.in (which itself is generated by
1199         automake from Makefile.am [only for some directories])
1200
1201         * configure.in: 
1202         
1203         * c++/ClBug2.cc: Added to demonstrate a bug that Anthony Beuriv�
1204         reported.
1205
1206         * c++/ClSimplexSolver.cc: Fix above-mentioned bug by changing the
1207         coefficient of the added in removeConstraintInternal.
1208
1209         * c++/ClReader.l: Reset the lexer on failed id lookup.
1210
1211         * c++/ClC.cc, c++/ClC.h: Added VarMap access functionality, make
1212         CL_ParseConstraint catch exceptions and return NULL on error
1213         parsing.
1214
1215         * c++/config.h.in, c++/stamp-h.in: Added, for automake/autoconf
1216         support.
1217
1218         * c++/Makefile.am: Improve installation support, updated for
1219         ClBug2
1220
1221         * guile/Makefile.am: Build .x using guile-snarf
1222
1223         * c++/Makefile.linux:  Updated for ClBug2
1224
1225         * c++/demos/DraggableBox.h: Do not return references to
1226         ClVariable-s -- just return by value since they are a handle
1227         class.
1228
1229         * guile/Makefile.am: changed name of library to
1230         libcassowaryguile.a from libconstraints.a
1231
1232         * java/CL.h: Added a String description argument to assert() to
1233         permit easier tracking of failures.
1234
1235         * java/ClSimplexSolver.java: Fix bug that Emmanuel Pietriga
1236         reported -- use peek() to get at top element of _stkCedns stack
1237         when removing edit variables in removeEditVarsTo().  Added
1238         descriptions to assert()s and to throwing of ExCLInternalError.
1239         Have the addBounds, addUpperBound, addLowerBound functions
1240         propagate out ExCLInternalError-s instead of catching them and
1241         printing an error message.  Added messages to all assertions.
1242
1243         * java/ClLinearExpression.java: Added description to throwing of
1244         ExCLInternalError.
1245
1246         * java/ClLinearInequality.java: Added description to throwing of
1247         ExCLInternalError.
1248
1249         * java/ExCLInternalError.java: Require description of the error in 
1250         constructor.
1251
1252         * java/QuadDemo.java: Use System.err when printing errors, and
1253         print the description of the exception.
1254
1255         * smalltalk/ClKernel.app: Fix bug with not using the weight of a
1256         constraint as the negating coefficient when removing a constraint.
1257
1258 Mon Mar  8 16:40:17 1999  Greg J Badros  <gjb@cs.washington.edu>
1259
1260         * Added autoconf and partial automake support.  Added numerous
1261         Makefile.am's, renamed old Makefiles to Makefile.linux (and copied 
1262         to Makefile.in when I did not write a Makefile.am).  Added
1263         configure.in.
1264
1265         * guile/cassowary_scm.cc: Use ClReader.h, not creader.h (I renamed 
1266         the file)
1267
1268 Fri Mar  5 16:24:05 1999  Greg J Badros  <gjb@cs.washington.edu>
1269
1270         * c++/Makefile, c++/Cl.h: Fix for renaming of creader.* ->
1271         ClReader.*; make C libraries as part of lib, shared_lib rules.
1272
1273         * c++/ClReader.*: Added, renamed from creader.h, creader.y,
1274         creader.l
1275
1276         * c++/ClTableau.h, c++/ClTableau.cc: Added
1277         printExternalVariablesTo() fn.
1278
1279         * c++/ClSimplexSolver.cc:  printExternalVariablesTo in
1280         printInternalInfo.
1281
1282         * c++/ClParseTest.cc: DO not include ClReader.h-- Cl.h includes it
1283
1284         * c++/ClCTest.c: Make more like a browser-related test, use new
1285         CL_TableauPrintExternalVariables()
1286
1287         * c++/ClC.h, ClC.cc: Added CL_Tableau,
1288         CL_TableauPrintExternalVariables.  Use "ends" to terminate
1289         strstreams.  Make Strong Stays use medium strength stays.  Make
1290         CL_ParseConstraint call ClsFromSz instead of parsing the char *
1291         itself.
1292
1293 Thu Mar  4 19:08:23 1999  Greg J Badros  <gjb@cs.washington.edu>
1294
1295         * c++/ClVariable.h: Add assert(pclv) before dereferencing through
1296         ClVariable's pclv member.
1297
1298         * c++/Makefile: Added DYNLINK = yes/no variable for controlling
1299         dynamic linking more easily.
1300
1301         * c++/ClSimplexSolver.h: Changed PfnChangeClvCallback to take a
1302         ClVariable * instead of a ClVariable.  This make it easier for the 
1303         C interface since it has "CLV" as a "ClVariable *" and cannot
1304         reason about ClVariable-s because it doesn't see the struct defn.
1305
1306         * c++/ClC.cc, c++/ClC.h:  Added CL_SimplexSolverSetEditedValue,
1307         CL_SimplexSolverPrint, CL_SimplexSolverSetChangeClvCallback,
1308         CL_VariableSetPv, CL_VariablePv.
1309
1310         * c++/ClCTest.cc: Test CL_SimplexSolverSetEditedValue, CL_SimplexSolverPrint.
1311
1312 Wed Mar  3 17:37:17 1999  Greg J Badros  <gjb@cs.washington.edu>
1313
1314         * c++/ClSimplexSolver.h (UpdateExternalVariables): Added this
1315         function to provide a publicly available way to get at setExternalVariables()
1316
1317         * c++/ClCTest.c, c++/ClC.h, c++/ClC.cc: Added for the beginnings
1318         of a rudimentary C interface to the c++ library.
1319
1320         * c++/Makefile: Updated to build ClCTest, libccassowary.so (the C
1321         interface to Cassowary [for Amaya, initially])
1322
1323 Mon Mar  1  Greg J Badros  <gjb@cs.washington.edu>
1324
1325         * Release v0.31
1326         
1327 Mon Mar  1 15:11:52 1999  Greg J Badros  <gjb@cs.washington.edu>
1328
1329         * c++/ClVariable.h: Added explict copy ctr.
1330
1331         * c++/ClEditConstraint.h, c++/ClStayConstraint.h: Changed output
1332         format so parentheses started by super:: call to ClConstraint.h
1333         are closed properly.
1334
1335         * c++/ClSimplexSolver.h, c++/ClSimplexSolver.cc: Undo removing a
1336         pass by reference of ClVariable when used as an output argument.
1337         Added printing for ClEditInfo class instancesm,
1338         ClVarToEditInfoMap.
1339
1340 Mon Mar  1 13:46:48 1999  Greg J Badros  <gjb@cs.washington.edu>
1341
1342         * README: Updated for version 0.31.
1343
1344         * c++/Makefile: Added QocaBench.o to TEST_OBJS, comment out
1345         CL_USE_HASH_MAP_AND_SET by default.
1346
1347         * c++/ClTestColumns.cc: Allocate constraint objects on heap, not
1348         as temporaries on local stack
1349
1350         * c++/ClStayConstraint.h, c++/ClSimplexSolver.h,
1351         c++/ClSimplexSolver.cc, c++/ClPoint.h, c++/ClLinearInequality.h,
1352         c++/ClEditOrStayConstraint.h, c++/ClEditConstraint.h: Pass and
1353         return ClVariable-s by value, not by reference. (Fixes bug in
1354         QocaBench from re-use of a ClVariable object with the underlying
1355         pointer different.
1356
1357         * c++/Cl.h: include creader.h
1358         
1359         * c++/README:  Fix spelling of deprecated, URL for WxWindows.
1360
1361         * c++/test-ClConstraint.cc: Comment out unused variables
1362
1363 Mon Mar  1 12:53:02 1999  Greg J Badros  <gjb@cs.washington.edu>
1364
1365         * c++/qdemos/QuadDemoWindow.cc:  Allocate constraint objects on
1366         heap, not as temporaries on local stack.
1367
1368 Fri Feb 26 09:16:31 1999  Greg J Badros  <gjb@cs.washington.edu>
1369
1370         * wrappers/cassowary.i: Use .c_str() off of exception descriptions 
1371         to get the char * (description() now returns a string)
1372
1373 Fri Feb 26 09:11:17 1999  Greg J Badros  <gjb@cs.washington.edu>
1374
1375         * c++/ClConstraint.h: Added FIsInSolver()
1376
1377         * guile/cassowary_scm.cc: Wrap cl-constraint-is-in-solver?
1378
1379 Thu Feb 25 18:58:55 1999  Greg J Badros  <gjb@cs.washington.edu>
1380
1381         * guile/cltests.scm: Added (use-modules..) invocation to get the
1382         dynamically-loaded module so that it can be tested outside of
1383         scwm.  Updated to reflect changed behaviour in cl-add-stay.  Added 
1384         some test code for make-cl-constraint-from-string.
1385
1386         * guile/cassowary_scm.hpp:  Added ScmMakeClConstraint(..) to
1387         abstract out setting "answer" for the (now) two ClConstraint ctrs.
1388
1389         * guile/cassowary_scm.cc: Added make-cl-constraint-from-string for
1390         interfacing to the parser.  Wrap
1391         cl-constraint-change-{strength,weight}!. Make dynamically loadable 
1392         module! Fix BUG: was returning SCM_UNDEFINED instead of
1393         SCM_UNSPECIFIED.
1394
1395         * guile/Makefile: Build libconstraints.so, and necessary directory 
1396         structure if neeeded.
1397
1398
1399 Thu Feb 25 18:41:34 1999  Greg J Badros  <gjb@cs.washington.edu>
1400
1401         * c++/ClSimplexSolver.h, c++/ClSimplexSolver.cc:  Make constraints 
1402         get told when they're added/removed from a solver.  This means
1403         that constraints are no longer const params to add/remove
1404         Constraint functions, and also that removeConstraint needs an
1405         internal version that doesn't do the counting (since
1406         removeConstraint can get called from addConstraint to clean up
1407         after a failed addition).
1408
1409         * c++/ClSimplexSolver.cc: Clean up uses of ClConstraint &cn --
1410         prefer ClConstraint *pcn even internally.
1411
1412         * c++/ClConstraint.h: Added ChangeStrength(..), ChangeWeight(..)
1413         and _times_added memvar along w/ private (for friend
1414         ClSimplexSolver) addedTo(..) and removedFrom(..) functions.  Only
1415         permit strength/weight changing if constraint is in no solvers
1416         presently. 
1417
1418         * c++/ClConstraint.cc: Output _times_added memvar in printOn(...)
1419
1420 Thu Feb 25 15:58:27 1999  Greg J Badros  <gjb@cs.washington.edu>
1421
1422         * c++/ClErrors.h: Added parse error classes, and have description
1423         return a "string" instead of a "char *"
1424
1425         * c++/creader.y: Use exception ExCLParseErrorMisc in clerror, Use
1426         ClVarLookupFunction instead of mapVars and fAutoCreate
1427
1428         * c++/creader.l: Use ClVarLookupFunction instead of doing it
1429         inline with mapVars and fAutoCreate;  throw exceptions on errors.
1430
1431         * c++/creader.h: Added ClVarLookupFunction and ClVarLookupInMap
1432         and use them when parsing.
1433
1434         * c++/Makefile:  Added some dependencies for proper building of
1435         .l,.y files
1436
1437         * c++/ClSimplexSolver.cc: Descend VarInVarSet from
1438         unary_function<..,..>
1439
1440         * c++/ClParseTest.cc: Catch parse errors and display the message.
1441         Use ClVarLookupInMap class
1442
1443 Thu Feb 25 12:09:48 1999  Greg J Badros  <gjb@cs.washington.edu>
1444
1445         * c++/ClSimplexSolver.cc: Simplify removeConstraint to not use
1446         references. 
1447
1448         * c++/ClSimplexSolver.h: Updated a comment
1449
1450         * c++/ClTests.cc: Use addEditVar, beginEdit, and endEdit, instead
1451         of building EditConstraints directly.
1452
1453 Tue Feb 23 18:48:21 1999  Greg J Badros  <gjb@cs.washington.edu>
1454
1455         * c++/creader.y, c++/creader.h: Remove old crummy lexer.  Added
1456         fAutoCreate flag to PcnParseConstraint to allow parsing with
1457         automatic introduction of newly-referenced variables.
1458
1459         * c++/creader.l: Fixed bugs in missing tokens "|", "(", ")", and
1460         permit "==" as a synonym for "=".  Honour the _fAutoCreate flag by 
1461         introducing variables when needed.
1462
1463         * c++/ClTests.cc: Display version id string at startup.
1464
1465         * c++/ClSimplexSolver.cc, c++/Cl.h: Added szCassowaryVersion id
1466         string.
1467
1468         * c++/ClParseTest.cc: Test auto-addition of variable (fAutoCreate
1469         = true)
1470
1471 Tue Feb 23 18:12:23 1999  Greg J Badros  <gjb@cs.washington.edu>
1472
1473         * c++/Makefile: Build libcassowary.{a,so} by default, not
1474         libcassowary-notrace.{a,so}.  Remove special rule for building
1475         ClParseTest; list creader-lex.o, creader.o in OBJS and have them
1476         be a part of the library.
1477
1478         * c++/ClVariable.h, c++/ClVariable.cc: Rename pmapSzPclv to
1479         pmapStrPclv.  Make it a map from "const string" not "string".
1480         Make setName erase the old mapping, and add the new mapping.
1481
1482         * c++/ClParseTest.cc: Accept "-" option to mean "rename x to foo"
1483         for testing the setName change above.
1484
1485         * c++/ClFloatVariable.cc: Do not output warning msg in setName --
1486         instead, do the right thing in ClVariable.h
1487
1488 Tue Feb 23 08:55:28 1999  Greg J Badros  <gjb@cs.washington.edu>
1489
1490         * c++/Makefile: Fix build rules for bison/flex parser so
1491         dependencies are correct.  Added new targets, all-notests,
1492         all-tests, make 'lib' the default target, and all really build
1493         everything.
1494
1495         * c++/creader.h, c++/creader.l, c++/creader.y: Take address of
1496         ClVariable-s from the map's values (cannot use ClVariable in the
1497         union directly because union members cannot have constructors).
1498         #include ClVariable.h instead of fwd decl of ClVariable so that we 
1499         get the StringToVarMap typedef, too.
1500
1501 Mon Feb 22 16:33:16 1999  Greg J Badros  <gjb@cs.washington.edu>
1502
1503         * c++/Makefile: Use CL_LIBRARY, not LIB_FILE, throughout. Use
1504         flags for maximum performance.
1505
1506         * c++/ClVariable.h, c++/ClConstraintHash.h, c++/Cassowary.h:
1507         Divide pointer address by CL_PTR_HASH_DIVISOR in hash functions
1508
1509         * c++/ClTests.cc:  Added CL_SHOW_CNS_IN_BENCHMARK guard protecting 
1510         new displaying of constraints and listing of inconsistent constraints.
1511
1512 Mon Feb 22 12:18:53 1999  Greg J Badros  <gjb@cs.washington.edu>
1513
1514         * c++/ClTests.cc (inconsistent3): Drop extra redundant
1515         inconsistency for pedagogical reasons.  Use simpler pointer-based
1516         addConstraint in benchmark test
1517
1518         * c++/ClSimplexSolver.h: Added addConstraintNoException,
1519         removeConstraintNoException taking ClConstraint &'s -- deprecated.
1520         Added CL_NO_DEPRECATED guard for turning off availability of
1521         deprecated functions.
1522
1523 Mon Feb 22 11:12:35 1999  Greg J Badros  <gjb@cs.washington.edu>
1524
1525         * c++/ClSimplexSolver.h: Added deprecated
1526         FIsConstraintSatisfied(Constraint &)
1527
1528         * guile/cassowary_scm.cc: Use ClConstraintToVarMap for return
1529         value of ConstraintMap().  Pass Constraint *'s instead of &'s.
1530         Use new name printOnVerbose instead of printDebugInfo.
1531
1532 Fri Feb 19  Greg J Badros  <gjb@cs.washington.edu>
1533
1534         * Release v0.3.
1535
1536 Fri Feb 19 18:00:49 1999  Greg J Badros  <gjb@cs.washington.edu>
1537
1538         * c++/ClTests.cc: Updated to fix below interface.
1539
1540         * c++/ClSimplexSolver.cc, c++/ClSimplexSolver.h: make
1541         addConstraint, addConstraintNoException, removeConstraint,
1542         removeConstraintNoException take ClConstraint *'s instead of
1543         ClConstraint &'s.  Clarifies the mental model, and simplifies the
1544         syntax.  Old style is still accepted, but is deprecated.
1545
1546 Fri Feb 19 17:41:45 1999  Greg J Badros  <gjb@cs.washington.edu>
1547
1548         * c++/ClFloatVariable.cc, c++/ClFloatVariable.h: Added -- moved
1549         here from ClVariable.h, and renamed from class ClVariableRep since 
1550         they not what ClVariable wraps (ClVariable wraps
1551         ClAbstractVariable)
1552
1553         * c++/ClAbstractVariable.h: Fatten interface to include set_value, 
1554         change_value, setPv, and Pv.
1555
1556         * c++/ClVariable.h, c++/ClVariable.cc: Move ClVariableRep into
1557         ClFloatVariable.{h,cc}, and use pclv-> for
1558         set_value, change_value, SetPv, and Pv since ClAbstractVariable
1559         now has a fat interface and we do not need to do the dynamic
1560         down-casting. 
1561
1562         * c++/Makefile: Added new files to build rules.
1563
1564 Fri Feb 19 17:08:29 1999  Greg J Badros  <gjb@cs.washington.edu>
1565
1566         * c++/debug.h, c++/ClTableau.h: Move operator<< out into ClTableau.h
1567
1568         * c++/ClVariable.h, c++/ClVariable.cc: Move some inline functions
1569         into .cc so that the hash function can go in the .h file (some stl 
1570         dependency issue, it seems).
1571
1572         * c++/ClErrors.h, c++/ClTypedefs.h: Move typedef for
1573         ClConstraintSet from ClErrors.h into ClTypedefs.h, and have former 
1574         include the latter.
1575
1576         * c++/Cassowary.h: #include ClConstraintHash.h
1577
1578         * c++/ClConstraintHash.h: Added.  The hash function needs to
1579         appear before any typedef that uses a hash_map or hash_set, so
1580         this file is included by Cassowary.h
1581
1582 Fri Feb 19 08:45:24 1999  Greg J Badros  <gjb@cs.washington.edu>
1583
1584         * c++/ClSubgraphTest.cc: Fix some bugs just from not testing
1585         completely. 
1586
1587         * c++/*: Fix bugs from not-updated-code hidden by #ifdefs.  Builds 
1588         w/ all compile-options except -DCL_USE_HASH_MAP_AND_SET.  Drop
1589         some gratuitous appearances of ClAbstractVariable
1590
1591 Thu Feb 18 18:53:56 1999  Greg J Badros  <gjb@cs.washington.edu>
1592
1593         * c++/ClLinearExpression.cc: Use clvNill when returning a
1594         ClVariable instead of NULL
1595
1596         * c++/ClVariable.h, c++/ClVariable.cc: operators ==, !=, < all should use the
1597         contained pointers address, not value.  Also define global clvNil,
1598         isNil(). 
1599
1600         * c++/ClTests.cc: BUGFIX: #if 0 removed from adding stays in
1601         simple1 test
1602
1603         * c++/ClSimplexSolver.h:  Use ClVariable-s internally for
1604         ClObjectiveVariable-s.
1605
1606         * c++/ClSimplexSolver.cc: Use ClVariable-s internally for
1607         ClObjectiveVariable-s and replace ClAbstractVariable
1608         *p{entryVar,exitVar} with ClVariable-s.  (Use clvNil and isNil()
1609         to test for not yet set).
1610
1611 Thu Feb 18  Greg J Badros  <gjb@cs.washington.edu>
1612         
1613         * c++/*: First compilable and almost working version with
1614         ClVariable as a handle to ClVariableRep.  Major simplifications
1615         throughout.
1616
1617 Thu Feb 18 14:22:14 1999  Greg J Badros  <gjb@cs.washington.edu>
1618
1619         * c++/Makefile: Split out the options into += lists so they can be 
1620         flipped independently more easily.
1621         
1622         * c++/ClSimplexSolver.cc, c++/ClSimplexSolver.h: Added output
1623         operation for ClConstraintToVarSetMap;  use fFoundErrorVar flag to 
1624         simplify some redundant tests in removeConstraint -- no longer use 
1625         errorVarsCopy.
1626
1627         * c++/CLVariable.h: Fix a comment's example.
1628
1629         * c++/ClTypedefs.h: Use set always for ClTableauVarSet (Steve
1630         Wolfman notes that it's faster as a set than as a hash_set).
1631
1632         * c++/debug.h: Add CtrTracer, DtrTracer fns that do nothing when
1633         not CL_TRACE
1634
1635         * c++/ClConstraint.h:  Invoke CtrTracer, DtrTracer in ctr, dtr for 
1636         finding memory problem
1637
1638         * c++/ClTests.cc: Fix some long-time bugs in the use of ctrs that
1639         build temporary objects whose lifetime was expected to be longer
1640         than it was.
1641
1642         * c++/*: Invert sense of CL_NO_TRACE to CL_TRACE
1643
1644 Wed Feb 17 12:10:28 1999  Greg J Badros  <gjb@cs.washington.edu>
1645
1646         * c++/ClTypedefs.h: Added -- factored out useful typedefs from
1647         ClSimplexSolver.h, ClTableau.h and put them in this file.
1648
1649         * c++/ClTableau.h, c++/ClSimplexSolver.h, c++/debug.h:  Use
1650         ClTypedefs.h.  Drop gdb_print (it uses printOn and printTo, now).
1651         Renamed printDebugInfo to printOnVerbose (for generalized gdb
1652         interface)
1653
1654         * c++/ClSimplexSolver.cc: Fix two bugs where I was modifying data
1655         structures indirectly while iterating over them.  Remove a delete
1656         that was premature to fix another bug in optimized builds.
1657
1658         * c++/ClLinearExpression.h, c++/ClConstraint.h,
1659         c++/ClAbstractVariable.h: Drop gdb_print().
1660
1661         * c++/ClSymbolicWeight.h: Use Number instead of double more consistently.
1662
1663 Tue Feb 16 15:04:06 1999  Greg J Badros  <gjb@cs.washington.edu>
1664
1665         * c++/Cassowary.h,ClAbstractVariable.h,ClMap.h,ClSet.h,Makefile: Use 
1666         CL_USE_HASH_MAP_AND_SET, not USE_HASH_MAP_AND_SET. 
1667
1668         * c++/Cl.h: #undef CL_TRACE_VERBOSE ifdef CL_NO_IO
1669
1670 Tue Feb 16 14:55:12 1999  Greg J Badros  <gjb@cs.washington.edu>
1671
1672         * java/ClVariable.java: Add setVarMap(..), getVarMap() for
1673         maintaining symbol table of ClVariables.  Added
1674         setAttachedObject(..), getAttachedObject() for hanging something
1675         off of a variable.
1676
1677         * java/ClConstraint.java: Added setAttachedObject(..),
1678         getAttachedObject() for hanging something off of a constraint.
1679
1680         * java/ClTests.java:  Added inconsistent3() and multiedit() tests
1681
1682         * java/ClSimplexSolver.java: Manage multiple (nested) edits
1683         properly.  Provide access to the _markerVars var through
1684         getConstraintMap() accessor.  Deprecate resolve(Vector) fn.
1685
1686 Tue Feb 16 14:29:46 1999  Greg J Badros  <gjb@cs.washington.edu>
1687
1688         * README: Updated reference to swig web site.
1689
1690 Tue Feb 16 12:45:04 1999  Greg J Badros  <gjb@cs.washington.edu>
1691
1692         * java/ClSimplexSolver.java, java/ClEditInfo.java, java/Makefile: 
1693         Fixed Michael Kaufmann's bug.  (See Feb 15 note for C++ version
1694         two entries below.)
1695
1696         * java/*.java: Updated copyright to include 1999. 
1697
1698 Tue Feb 16 10:51:01 1999  Greg J Badros  <gjb@cs.washington.edu>
1699
1700         * c++/*: Added CL_FIND_LEAK guard and ctr/ctr counters for
1701         tracking various variable kinds.
1702
1703 Mon Feb 15 18:38:06 1999  Greg J Badros  <gjb@cs.washington.edu>
1704
1705         * c++/ClAbstractVariable.{cc,h}, ClSlackVariable.{cc,h},
1706         ClDummyVariable.{cc,h}: Add counters to ctr/dtr for leakage detection.
1707
1708         * c++/ClSimplexSolver.{cc,h}: Replace ClConstraintAndIndex with
1709         ClEditInfo, and remove ugliness of parallel vectors for edit
1710         constraints. Drop _editPlusErrorVars, _editMinusErrorVars,
1711         _prevEditConstants, and bundle them all up in the value end of the 
1712         map attached to _editVarMap.  This fixes a bug reported in the
1713         Java version by Michael Kaufmann long ago, and generally cleans
1714         code up a bit.  The resolve(vector<Number>) function is
1715         deprecated, and now implemented in terms of the indices stored in
1716         the new ClEditInfo class.
1717
1718         * c++/*: Updated copyright to include 1999.
1719
1720 1999-02-15  Greg J Badros  <gjb@cs.washington.edu>
1721
1722         * c++/ClVariable.{cc,h}, c++/ClAbstractVariable.h: Added
1723         SetVarMap(..), VarMap(), and make variables given names get their
1724         names mapped to the objects in the var map (for access when
1725         parsing constraints as strings).  Make setName() virtual so
1726         ClVariable can override it.
1727
1728 1999-02-12  Greg J Badros  <gjb@cs.washington.edu>
1729
1730         * c++/creader.{y,h}: New version from Steve Wolfman, slightly
1731         updated for cleaner integration. Pass in a map<string,ClVariable
1732         *> instead of an array of ClVariable; improve error handling a
1733         bit.
1734
1735         * c++/debug.h: Use ClMap, ClSet
1736
1737         * c++/{ClMap.h,ClSet.h}: Added, for optionally using hash_map,
1738         hash_set instead of map, set.
1739
1740         * c++/ClSimplexSolver.{cc,h}: Added Steve Wolfman's explanation
1741         support (added back map for marker->constraint, _fExplainFailure
1742         var + getter & settor).  Use ClMap, ClSet.  Cleaned up some cerr
1743         output, and use DEBUG_FAILURES cpp symbol to guard some output.
1744
1745         * c++/Cassowary.h: Added operator() for hash<..> to support
1746         hashing things used as keys in hash_map/hash_set
1747
1748         * c++/ClErrors.h: Added ExCLRequiredFailureWithExplanation class
1749         for explanation support.
1750
1751         * c++/{ClLinearExpression.h,ClTableau.h}: Use ClMap, not map. Use
1752         ClSet, not set.
1753
1754         * c++/ClSymbolicWeight.h: Return a symbolic weight even when
1755         assert(false) to avoid compiler warning.
1756
1757 1999-02-11  Greg J Badros  <gjb@cs.washington.edu>
1758
1759         * guile/cassowary_scm.cc: Use cl-snarf.h, not scwm-snarf.h.  Use
1760         CL_PROC to denote primitives, not SCWM_PROC.  Use
1761         CL_VAR_INIT_PERMANENT macro for variables, and document them (the
1762         strength objects only, for now).  Fix the default strength of
1763         cl-add-editvar to Strong, not Weak, and update docs (was cut&paste
1764         error from the cl-add-stay primitive).  Thanks Anthony Beuriv� for
1765         noticing this bug, too!
1766
1767 Sat Jan 30  Greg Badros  <gjb@cs.washington.edu>
1768
1769         * Release v0.23.
1770         
1771 Sat Jan 30 13:16:31 1999  Greg Badros  <gjb@cs.washington.edu>
1772
1773         * c++/ClSimplexSolver.cc: Fixed bug in removing a stay
1774         constraint.  Was editing a vector in place while iterating over
1775         it.  Now I use remove_if and erase.  Thanks to Anthony Beuriv� for 
1776         noticing the bug.
1777
1778         * c++/ClBug1.cc: Added -- bug report from Anthony Beuriv�.
1779
1780 Sat Jan 23 Greg Badros  <gjb@cs.washington.edu>
1781
1782         * Release v0.22.
1783         
1784 Sat Jan 23 16:46:27 1999  Greg Badros  <gjb@cs.washington.edu>
1785
1786         * guile/cassowary_scm.cc: Replace iarg uses with literal argument
1787         index numbers.  Use const_cast to avoid warnings when calling
1788         ScmMakeClStrength on clsWeak,clsMedium,clsStrong,clsRequired objects
1789
1790 Sat Jan 23 15:30:16 1999  Greg Badros  <gjb@cs.washington.edu>
1791
1792         * c++/ClSimplexSolver.cc: Added some comments, some explanations
1793         when exceptions are thrown, and some minor cleanups, bug-fixes
1794
1795         * c++/ClTests.cc: Added inconsistent3() test, and run it.
1796
1797         * c++/ClStrength.h: Added _pv memvar, and setPv(), Pv() -- needed
1798         for tracking ClStrengths in guile
1799
1800         * guile/cassowary_scm.cc: Replace all iarg uses with the literal
1801         number.  Point ClStrength objects at their scheme-level object
1802         using their new _pv field.  Protect ClStrength objects properly.
1803
1804 Sat Sep 19 17:08:21 1998  Greg Badros  <gjb@cs.washington.edu>
1805
1806         * c++/Makefile (CPPFLAGS): Added USE_GC, commented out, and added
1807         OTHER_LIBS variable for linking with the gc library
1808
1809 Sat Sep 19 17:01:16 1998  Greg Badros  <gjb@cs.washington.edu>
1810
1811         * c++/ClTableau.h: Added AssertValid() for testing integrity of
1812         Tableau
1813
1814         * c++/ClSymbolicWeight.h, c++/ClStrength.h, c++/ClSlackVariable.h,
1815         c++/ClLinearExpression.h, c++/ClErrors.h, c++/ClDummyVariable.h,
1816         c++/ClConstraint.h, c++/ClAbstractVariable.h:  Descend objects
1817         from "gc" class conditioned on USE_GC* pp macros
1818
1819         * c++/Cassowary.h: Conditionally include gc_cpp.h ifdef USE_GC;
1820         added NEWVAR and DELVAR macros for outputting debug information at 
1821         new/delete sites
1822
1823         * c++/ClSimplexSolver.h: Call AssertValid before solving
1824
1825         * c++/ClSimplexSolver.cc: Remove memory leak of the artificial
1826         objective variable
1827
1828         * c++/ClLinearExpression.h: Fix gdb_print to have a newline
1829
1830         * c++/ClLeakTest: Added leakTest2 which more obviously leaks, and
1831         use GC_gcollect() to force a collect
1832
1833 Tue Sep 15 16:36:20 1998  Greg Badros  <gjb@cs.washington.edu>
1834
1835         * c++/ClTableau.h, ClTableau.cc: Handle removing vars from _columns more
1836         carefully, and add gdb_print(), virtual destructor
1837
1838         * c++/ClLinearExpression.h, c++/ClConstraint.h,
1839         c++/ClAbstractVariable.h: Added gdb_print()
1840
1841 Tue Sep 14  Greg Badros  <gjb@cs.washington.edu>
1842
1843         * Release v0.21.
1844
1845 Wed Sep  9 09:46:35 1998  Greg Badros  <gjb@cs.washington.edu>
1846
1847         * c++/ClLinearExpression.h, c++/ClLinearExpression.cc: added uses
1848         of 'typename' keyword as needed by egcs-1.1b's -pedantic (and the
1849         C++ FDIS)
1850
1851 Sun Sep  6 13:19:01 1998  Greg Badros  <gjb@cs.washington.edu>
1852
1853         * c++/ClSimplexSolver.h: Added _pv field, and Pv() setPv() getter
1854         and setter
1855         
1856         * guile/cassowary_scm.cc: Use solver's _pv field to point
1857         ClSimplexSolver back at the scheme object that wraps it
1858
1859 Fri Sep  4 18:52:50 1998  Greg Badros  <gjb@cs.washington.edu>
1860
1861         * guile/cassowary_scm.hpp, guile/cassowary_scm.cc: Added PvFromScm 
1862         and ScmFromPv to hide the reinterpret casts used to store a scheme 
1863         object as the void * Pv() attached to a cassowary object.  Attach
1864         the scheme-level cl-variable to a ClVariable object.  Added
1865         `clv-attach!' and `clv-attached-object' to manipulate the attached 
1866         object (often better to use scheme level properties, though)
1867
1868 Fri Sep  4 18:51:30 1998  Greg Badros  <gjb@cs.washington.edu>
1869
1870         * guile/Makefile: Use "perl" from path to run extract docs instead 
1871         of relying on #! line, and generate the -procedures.txt file as
1872         well as the .sgml file
1873
1874 Wed Sep  2 17:08:14 1998  Greg Badros  <gjb@cs.washington.edu>
1875
1876         * guile/cassowary_scm.cc, guile/cassowary_scm.hpp: Added
1877         ClStayConstraint wrapper.  Make cl-add-stay, cl-add-editvar take a 
1878         list of variables instead of a varargs last argument and instead
1879         add two optional arguments STRENGTH and FACTOR (thus those
1880         primitives remain backward compatible as long as only one variable 
1881         was given).
1882
1883 Wed Sep  2 13:55:37 1998  Greg Badros  <gjb@cs.washington.edu>
1884
1885         * ClSimplexSolver.h: Added weight option to addEditVar and use it
1886
1887         * ClLinearExpression.h: Added PconstClAbstractVariable, use it;
1888         use ClVarToCoeffMap in coefficientFor.
1889
1890 Thu Aug  6 20:56:45 1998  Greg Badros  <gjb@cs.washington.edu>
1891
1892         * Release v0.2.
1893
1894 Thu Aug  6 20:41:40 1998  Greg Badros  <gjb@cs.washington.edu>
1895
1896         * ClTests.cc: Added multiedit() test for testing nested
1897           beginEdit-s
1898
1899         * ClSimplexSolver.h, ClSimplexSolver.cc: Support nested
1900           beginEdit-s -- use removeEditVarsTo(n), and rewrite
1901           removeAllEditVars in terms of the former;  Use FIsSatisfied on
1902           constraint and compare with testing internally for
1903           FIsConstraintSatisfied() -- untested.
1904
1905         * ClLinearInequality.h, ClLinearEquation.h, ClConstraint.h: Added
1906           virtual FIsSatisfied
1907
1908         * ClLinearExpression.h, ClLinearExpression.cc: Added evaluate()
1909
1910         * ClAbstractVariable.h: Return 0 for value(), and make it a
1911           virtual function.
1912
1913 Wed Aug  5 16:10:56 1998  Greg Badros  <gjb@cs.washington.edu>
1914
1915         * ClStrength.h: Have ClStrength::symbolicWeight return a const
1916           ref, instead of by value, make clsXXX const refs.
1917
1918         * ClSimplexSolver.cc, ClLinearInequality.cc, ClLinearEquation.cc,
1919           ClLinearConstraint.cc: Take ClStrengths by const refs
1920
1921 Tue Aug  4 15:22:08 1998  Greg Badros  <gjb@cs.washington.edu>
1922
1923         * guile/cassowary_scm.cc, cassowary_scm.hpp: Move all inline
1924           functions into .hpp file.  Added cl-is-constraint-satisfied?
1925         
1926         * ClTableau.h: Added a rowExpression() const memfn, for
1927           FIsConstraintSatisfied()
1928
1929         * ClSimplexSolver.h, ClSimplexSolver.cc: Added (probably broken)
1930           FIsConstraintSatisfied(cn) memfn -- needs testing
1931
1932 Sun Aug  2 16:49:34 1998  Greg Badros  <gjb@cs.washington.edu>
1933
1934         * ClSimplexSolver.h: Added ConstraintMap() accessor to
1935         _markerVars, for cl-constraint-list guile primitive
1936
1937         * ClConstraint.h: Added setPv(), Pv(), and _pv field to a
1938         constraint, for attaching extra information.
1939
1940 Thu Jul 30 19:15:40 1998  Greg Badros  <gjb@cs.washington.edu>
1941
1942         * ClTests.cc: Added simple2, to test new EditMisuse exception on
1943         editing a variable that is nowhere in the solver.
1944
1945         * ClTableau.h, ClTableau.cc:  Be more careful about inserting into
1946         _externalParametricVars; add FIsBasicVar to assist that care.
1947
1948         * ClSimplexSolver.cc, ClSimplexSolver.h: Added pfnCnSatCallback -- 
1949         does nothing for now;  throw an ExCLEditMisuse exception if an
1950         edit constraint is added on a variable that is not in the tableau
1951         (needs at least a stay constraint in the solver); replace some
1952         calls to rowExpression with FIsBasicVar when the latter is the
1953         intent.
1954
1955 Thu Jul 21  Greg Badros  <gjb@cs.washington.edu>
1956
1957         * ClVariable.h, ClVariable.cc: Added _pv field, settor and gettor.
1958
1959         
1960 ABOVE CHANGES ONLY IN C++ IMPLEMENTATION AND ITS WRAPPERS
1961         
1962 Fri Jul 17 19:24:54 1998  Greg Badros  <gjb@cs.washington.edu>
1963
1964         * ClVariable.h, .java: Added change_value memfn, and make it virtual
1965         instead of setValue -- thus subclasses can specialize behaviour
1966         when the variable gets set by the solver.
1967
1968         * ClSimplexSolver.h, .java: Use change_value for setEditedValue if
1969         the variable is not in the tableau;  call resolve() before
1970         removeAllEditVars in endEdit
1971
1972         * ClSimplexSolver.cc, .java (setExternalVariables): Use change_value
1973         instead of set_value when so subclasses can override and notice a
1974         changed variable
1975
1976 Thu Jul 16 19:49:45 1998  Greg Badros  <gjb@cs.washington.edu>
1977
1978         * Added setEditedValue(), FContainsVariable(), and addVar() to c++ 
1979         and Java implementations
1980
1981         * Fixed bug in C++ and Java in solvers lacking stay constraints
1982         that was due to not-updating the external parametric variables
1983         set.
1984
1985 Fri Jul 10 09:00:15 1998  Greg Badros  <gjb@cs.washington.edu>
1986
1987         * Fixed bug whereby a dummy variable was being pivoted into the
1988         basis because pexpr->anyVariable() didn't guarantee the variable
1989         it returned was a pivotable variable -- now it's called
1990         anyPivotableVariable(), and does the right thing.
1991
1992         * Fixed bug whereby column mappings that had no rows remained in
1993         the list of columns -- now erase the column key when its value is
1994         the empty set
1995
1996         * Fixed bug whereby constraints that threw required failure
1997         exceptions remained in the tableau (a removeConstraint on a
1998         constraint that failed to be added used to succeed, now it does
1999         not)
2000
2001 Monday Jun 29 16:50:00 1998  Greg Badros  <gjb@cs.washington.edu>
2002
2003         * Release Cassowary v0.1  --- see local/POST-ANNOUNCE-TO for
2004         list of places where it was announced
2005