2006-12-18  Albert Graef  <Dr.Graef@t-online.de>

	+++ Release 7.6 +++

	* src/q.c, modules/xml/xml.c: fix broken tmpnam on Windows

2006-12-17  Albert Graef  <Dr.Graef@t-online.de>

	* modules/clib/clib.c: OSX compatibility patches, thanks to Andrew
	Berg

	* src/q.c, src/qc.y: fixes in shebang handling

	* src/q.c: fix segfaults in qprint with custom unparsings

2006-09-11  Albert Graef  <Dr.Graef@t-online.de>

	+++ Release 7.5 +++

	* src/q.c: fix segfaults due to internals thrashing the symbol
	name in the getsym/gettype libq+libqint API functions

2006-09-07  Albert Graef  <Dr.Graef@t-online.de>

	* src/q.c (qexecv): fix double deallocation and globbering of
	source path when script fails to load

2006-08-23  Albert Graef  <Dr.Graef@t-online.de>

	+++ Release 7.4 +++

	* src/qmmatch.c (nextstate): minor optimizations in binary search
	algorithm

2006-08-22  Albert Graef  <Dr.Graef@t-online.de>

	* bumped version number

	* src/qctables.c (unresolved_forwards): fix unresolved forward
	warnings

	* src/qc.y (addexpr): increase allocation step size for expression
	vectors

	* src/qctables.c (putlimbs): fix memory allocation bug

2006-08-15  Albert Graef  <Dr.Graef@t-online.de>

	+++ Release 7.3 +++

	* src/qctables.c (astype): allow type aliases for extern types

2006-08-11  Albert Graef  <Dr.Graef@t-online.de>

	* src/qmprint.c (print): fix unparsing of if-then expressions

2006-08-08  Albert Graef  <Dr.Graef@t-online.de>

	* src/qm.c (consexpr): missing memoization flag initialization

2006-07-25  Albert Graef  <Dr.Graef@t-online.de>

	* bumped version number

	* src/qc.y: bugfixes in static analysis of variable declarations
	and initializer code generation

2006-07-24  Albert Graef  <Dr.Graef@t-online.de>

	* doc/qdoc.texi: updated and corrected documentation

	* src/qcrules.c (isconstx): allow const values in the head of the
	lhs of an equation (constructor equations like "true = false;" are
	still forbidden)

2006-06-27  Albert Graef  <Dr.Graef@t-online.de>

	+++ Release 7.2 +++

	* doc/qdoc.texi: updated documentation

	* src/qcrules.c: reject equations if the lhs is a single variable
	(bug reported by Larry Gregg)

	* src/qmparse.y, src/qmlex.l: add `unparse' command

	* stdlib/prelude.q: added default unparsing rules for containers

	* stdlib/complex.q: added cis and polar functions, as suggested by
	Rob Hubbard

	* src/qmfuns.c, stdlib, doc: fix various bugs reported by John
	Cowan (see the mailing list archive for details)

2006-06-25  Albert Graef  <Dr.Graef@t-online.de>

	* modules/clib/clib.c: bugfix in lcm function

2006-06-24  Albert Graef  <Dr.Graef@t-online.de>

	* stdlib/rational.q: remove special rules for (/) so that (/) now
	returns inexact results in all cases

2006-06-23  Albert Graef  <Dr.Graef@t-online.de>

	* src/qint.h, src/q.c: added libqint function qsymprec() to
	determine the precedence of a function or operator symbol, per
	request by John Cowan

	* doc/qdoc.texi: updated documentation

	* stdlib/complex.q, stdlib/rational.q: move unparsing rules to
	prelude.q, add complex rational division

	* stdlib/rational.q: replace (over) with (%), as discussed on the
	mailing list

	* src/qclex.l, src/qmlex.l: allow % and ? as Unicode punctuation
	which can be used as identifiers

2006-06-21  Albert Graef  <Dr.Graef@t-online.de>

	* src/qmfuns.c, stdlib/math.q, stdlib/complex.q: fix up floating
	point arithmetic to properly support IEEE INFs and NaNs

2006-06-20  Albert Graef  <Dr.Graef@t-online.de>

	* stdlib/prelude.q: fix default Real comparisons to prevent
	infinite recursion on NaNs

	* stdlib/typec.q: rename isinfty -> isinf and add isnan predicate;
	renamed isxxxnum -> isxxxval; isrealval, isratval and isintval
	only return true for complex values if the imaginary part is an
	exact zero

	* stdlib/math.q: add inf and nan constants for IEEE infinities and
	NaNs

	* src/qmfuns.c: fix comparisons to properly handle IEEE infinities
	and NaNs

2006-06-19  Albert Graef  <Dr.Graef@t-online.de>

	* stdlib/rational.q: renamed numerator/denominator functions to
	num/den

2006-06-18  Albert Graef  <Dr.Graef@t-online.de>

	* doc/qdoc.texi: updated documentation

	* stdlib/typec.q: refactoring of syntactic type predicates, added
	semantic number predicates

	* stdlib/rational.q: bugfixes, cosmetic changes

2006-06-17  Albert Graef  <Dr.Graef@t-online.de>

	* stdlib/rational.q, stdlib/prelude.q: added a rational number
	module to the library and the prelude

	This is based on Rob Hubbard's module, but only the Rational data
	type itself and the basic arithmetic are provided. The remaining
	operations of Rob's module will be offered as a separate package.

2006-06-15  Albert Graef  <Dr.Graef@t-online.de>

	* doc/qdoc.texi: updated documentation

	* stdlib/prelude.q: add default rules for the numeric and
	conversion functions on `Real'

	* src/qctables.c, src/opcodes.h, stdlib: add a Real type between
	Num and Int, Float, make Complex a subtype of Num

	* stdlib/complex.q: make complex numbers an algebraic type,
	add imaginary unit, provide pretty-printing

2006-06-13  Albert Graef  <Dr.Graef@t-online.de>

	* src/qmprint.c et al: provide a hook into the expression
	pretty-printer

	* started work on Q 7.2, bumped version number

2006-06-11  Albert Graef  <Dr.Graef@t-online.de>

	+++ Release 7.1 +++

	* doc/qdoc.texi: updated documentation

	* modules/clib/clib.q, clib.c: replaced fact and rem functions by
	a single remove_factor function

	* stdlib/prelude.q: added equality of `Function' objects

2006-06-09  Albert Graef  <Dr.Graef@t-online.de>

	* stdlib/prelude.q: overhaul of enumeration operations

2006-06-08  Albert Graef  <Dr.Graef@t-online.de>

	* stdlib: renamed types.q back to typec.q, to avoid name clashes
	with application code; getopt.q is now loaded in prelude

	* src/qm.c: fixed handling of zero stack and memory limits

2006-06-07  Albert Graef  <Dr.Graef@t-online.de>

	* stdlib/math.q: added floor and ceil functions, contributed by
	Rob Hubbard

	* stdlib/prelude.q et al: reorganized standard library sources,
	moved various functions out of prelude.q again so that other
	standard library modules may access them

	* examples: reorganize examples, add some new stream examples

2006-06-06  Albert Graef  <Dr.Graef@t-online.de>

	* examples/fixpt.q: complete overhaul, now also shows how to
	implement the normal order ("Y") fixed point combinator

	* src/qc.y, src/qmparse.y, src/qmprint.c: give proper precedence
	to the if-then-else construct, cosmetic changes in unparser

	if-then-else now binds weaker than (||) but stronger than
	($). This seems to be the most natural choice. Moreover, to
	improve readability of pretty-printed expressions, ($) and (||)
	are now padded with extra whitespace, just like (.).

	* src/qmfuns.c: bugfixes and optimizations in the lambda code

2006-06-03  Albert Graef  <Dr.Graef@t-online.de>

	* stdlib/prelude.q: rename matches back to matchp, to avoid
	name clashes with applications

	* stdlib/getopt.q: added to the standard library

	* etc/q-mode.in: add indentation for if-then-else

2006-06-02  Albert Graef  <Dr.Graef@t-online.de>

	* examples/rational.q: added Rob Hubbard's rational number module
	to the examples directory

	* examples/lambda.q: revised the old lambda module and moved it to
	the examples directory

	* src/qmprint.c: serialization of compiled lambdas (inhibited in
	the interactive read-eval-print loop)

	* src/qmfuns.c: make trunc, round, float, int, frac work
	consistently on integers and floating point values, as suggested
	by Rob Hubbard

2006-06-01  Albert Graef  <Dr.Graef@t-online.de>

	* test.q: overhaul of test script, add tests for conditionals

	* stdlib/prelude.q: overhaul of conditionals (switch -> cond,
	match -> case, matchp -> matches)

	The new conditionals are now much more Lisp-like, and take
	advantage of the new grouping feature, e.g.:
	sign X = cond (X>0, 1; X<0, -1; true, 0);

	* modules/clib/clib.q, modules/clib/clib.c: rename Cond/cond ->
	Condition/condition and Sem/sem -> Semaphore/semaphore

	* src/qc.y, src/qmparse.y, src/qmprint.y et al: syntactic sugar
	for if-then-else and grouping in lists, streams and tuples

	"ifelse X Y Z" can now also be written as "if X then Y else Z".

	The new grouping feature makes stuff like lists of key-value pairs
	more readable, e.g.: [A,B;C,D] is the same as [(A,B),(C,D)].

2006-05-29  Albert Graef  <Dr.Graef@t-online.de>

	* src/qmprint.c: pretty-printing of lambda expressions and
	list/stream comprehensions

2006-05-28  Albert Graef  <Dr.Graef@t-online.de>

	* tidy-up of the standard library

	The lambda.q module is gone, and the stuff which is used to be in
	cond.q, list.q and typec.q is now defined in prelude.q. Various
	related definitions, which used to be scattered out over different
	source files, are now also provided in prelude.q.

	* lambda is now implemented as a builtin

	This resolves some limitations and inefficiencies of the
	implementation in the former lambda.q module. Lambda itself and
	the stuff which depends on it is now generally much faster, and
	non-linear patterns and patterns involving the anonymous variable
	are now also handled correctly.

2006-05-26  Albert Graef  <Dr.Graef@t-online.de>

	* stdlib/stream.q, stdlib/stdlib.q: overhaul of stream operations,
	cosmetic changes

	The definitions of the stream functions are much cleaner now,
	since they take advantage of the new "call by need" pattern
	matching semantics (see below).

2006-05-25  Albert Graef  <Dr.Graef@t-online.de>

	* src/qm.c, src/qmmatch.c: total overhaul of the pattern matching
	code to implement "call by need"

	Matching suspended subterms in (non-special) arguments of a
	function now works as one would reasonably expect, by evaluating
	the relevant subterms during pattern matching as needed. Note that
	special arguments are still not touched by the pattern matcher, as
	it ought to be to make special forms work.

2006-05-24  Albert Graef  <Dr.Graef@t-online.de>

	* src/qm.c (eval_internal): total overhaul of the reducibility
	checking code

	This change fixes a lot of unnecessary reevaluations of constant
	and weak normal form subterms, resulting in big performance gains
	in special argument evaluation. Special forms generally work much
	faster now.

2006-05-23  Albert Graef  <Dr.Graef@t-online.de>

	* stdlib/stream.q: make stream operations use the new memoization
	operator; add utility functions to control stream evaluation
	(strict, lazy and friends)

	* modules/clib/clib.c: remove memoizing references (mem); this is
	obsolete now that we have the builtin memoization operator

	* src/qc.y, src/qctables.c, src/qmparse.y, src/qm.c, src/qmfuns.c:
	added builtin memoization operator (&)

2006-05-20  Albert Graef  <Dr.Graef@t-online.de>

	* examples/cgi.q: update to Tim Haynes' latest version

2006-05-19  Albert Graef  <Dr.Graef@t-online.de>

	* src/q.c (qexecv): cache argument vectors in order to cure
	segfaults on some systems

	* doc/qdoc.texi: updated documentation

	* src/qint.h, src/q.c: add qdef() function to libqint which allows
	to set global interpreter variables from C/C++ (suggested by John
	Cowan)

2006-05-16  Albert Graef  <Dr.Graef@t-online.de>

	* src/qc.y: allow initializer in var declaration

2006-05-15  Albert Graef  <Dr.Graef@t-online.de>

	* modules/clib/clib.c: add memoizing references (mem)

2006-05-14  Albert Graef  <Dr.Graef@t-online.de>

	* src/qctables.c (inittables): rename stream constructors

2006-05-08  Albert Graef  <Dr.Graef@t-online.de>

	* doc/qdoc.texi: updated documentation

2006-05-02  Albert Graef  <Dr.Graef@t-online.de>

	* stdlib/stream.q: make `cat' and `tuple' work with streams; add
	`repeat', `repeatn' and `cycle' operations

	* updated standard library and examples

	* src/qc.y, src/qmparse.y, src/qmprint.y et al: syntactic sugar
	for streams and list/stream comprehensions; alternate type alias
	definition syntax (type Foo == Bar); inline var declarations in
	rhs expressions

	* etc/q-mode.in: GNU emacs compatibility fixes

2006-04-25  Albert Graef  <Dr.Graef@t-online.de>

	* src/qctables.c, src/qcrules.c et al: overhaul of undeclared
	symbol warning messages

2006-04-24  Albert Graef  <Dr.Graef@t-online.de>

	* configure.in.:  bumped version number

	* modules/clib/clib.[cq]: add sentinel data structure which
	triggers the evaluation of a given expression when a sentinel
	object is garbage-collected

	* src/q.c, src/qm.c, libq/libq.c: add support for sentinel
	expressions

2006-04-16  Albert Graef  <Dr.Graef@t-online.de>

	* src/qctables.c, src/qmmatch.c: fix a critical bug in the pattern
	matching code which crept into the 7.0 release

	NOTE: The new code should now properly handle all cases and fix an
	obscure but annoying bug which caused wrong pattern matching code
	to be generated in case of overlaps between untyped and typed
	applications. The downside of this fix is that it also doubles the
	size of the pattern matching tables, but currently there seems to
	be no way around this.

2006-02-18  Albert Graef  <Dr.Graef@t-online.de>

	+++ Release 7.0 +++

	* doc/qdoc.texi: updated documentation

	* src/qbase.c, src/qclex.l, src/qmlex.l, src/qmparse.y, etc.: make
	unrecognized character escapes in string constants an error, per
	request by John Cowan and others

2006-02-16  Albert Graef  <Dr.Graef@t-online.de>

	* src/qbase.c: character number in escapes can now optionally be
	enclosed in parentheses, as suggested by John Cowan

2006-02-14  Albert Graef  <Dr.Graef@t-online.de>

	* src/qclex.l, src/qmlex.l: bugfixes in lexer, finished Windows
	port

2006-02-13  Albert Graef  <Dr.Graef@t-online.de>

	* doc/qdoc.texi: updated documentation

	* src/qbase.h, src/qbase.c, src/qclex.l, src/qmlex.l,
	src/qmparse.y: overhaul of expression parsing and unparsing:

	- Conversions between doubles and strings are now done in a
	locale-independent way. This is necessary to ensure that the
	parsing and printing of floating point values works correctly in
	non-"C" locales.

	- Floating point values are now always unparsed with maximum
	precision, and integer values in decimal, so that the std/sci/fix
	and dec/hex/oct formats only affect the display of expressions
	which are printed in response to interpreter and debugger
	commands.

	- The experimental support for the C99 printf %a flag has been
	dropped. This doesn't seem to be needed any more, as the "%.17g"
	format apparently provides sufficient precision to be able to
	reconstruct floating point values exactly, at least on machines
	with IEEE compatible 64 bit doubles.

2006-02-10  Albert Graef  <Dr.Graef@t-online.de>

	* doc/qdoc.texi: updated documentation

	* stdlib/stdlib.q, stdlib/stream.q: added dowith, dowith3
	functions

2006-02-05  Albert Graef  <Dr.Graef@t-online.de>

	* doc/qdoc.texi: updated documentation

2006-02-03  Albert Graef  <Dr.Graef@t-online.de>

	* etc/q-mode.in: info/GNU emacs compatibility fixes

	* configure.in: new configure option --with-unicode

	* src/q.c, src/qc.y, src/qclex.l: new compiler option --encoding

2006-02-02  Albert Graef  <Dr.Graef@t-online.de>

	* unicode fixup: removed dependency on __STDC_ISO_10646__

2006-02-01  Albert Graef  <Dr.Graef@t-online.de>

	* bump version number in preparation of forthcoming release

	* doc/qdoc.texi: added missing remarks about nesting of comments
	and const var declarations, as pointed out by Rob Hubbard

	* src/qm.c (setvar): always set variable value to irreducible, to
	prevent infinite recursion when evaluating variables with
	recursive definition

	* src/qint.h, libq/libq.h: commit Brian Wilfley's patches for
	Windows/C++ compatibility

2006-01-31  Albert Graef  <Dr.Graef@t-online.de>

	* src/qclex.l, src/qmlex.l: unicode support in identifiers

	* src/*: handle utf-8 in compiler and interpreter

2006-01-25  Albert Graef  <Dr.Graef@t-online.de>

	* modules/ggi/ggi.c: automatic conversion from/to utf-8, unicode
	support in text rendering

2006-01-24  Albert Graef  <Dr.Graef@t-online.de>

	* modules/xml/xml.q: xml_save_string doesn't have ENCODING
	parameter any more, the returned string is always utf-8
	
	* modules/dxl/dxl.c, modules/gdbm/gdbm.c, modules/octave/octave.c,
	modules/odbc/odbc.c, modules/xml/xml.c, modules/magick/magick.c:
	automatic conversion from/to utf-8

2006-01-23  Albert Graef  <Dr.Graef@t-online.de>

	* modules/tk: added GQBuilder (Gnocl/Q interface builder)

2006-01-15  Albert Graef  <Dr.Graef@t-online.de>

	* src/qmfuns.c (qmwhich): which () now gives the full path of the
	executing script, just like the builtin which command without args

2006-01-13  Albert Graef  <Dr.Graef@t-online.de>

	* modules/tk/tk.c: added new qtrace command for tracing
	synchronous callbacks

2005-12-25  Albert Graef  <Dr.Graef@t-online.de>

	* modules/tk/tk.c: added new qval command for synchronous
	callbacks from Tcl to Q

	* modules/curl/curl.c: automatic conversion from/to utf-8

2005-12-11  Albert Graef  <Dr.Graef@t-online.de>

	* src/q.c, src/qint.h: ported libq unicode helpers to libqint

	* modules/clib/clib.c: automatic conversion from/to utf-8

2005-10-13  Albert Graef  <Dr.Graef@t-online.de>

	* src/qm.c, src/qmfuns.c: automatic conversion from/to utf-8 in
	builtin string I/O operations

2005-08-03  Albert Graef  <Dr.Graef@t-online.de>

	* examples/except.q: add error rules for new i18n functions in
	clib

2005-08-02  Albert Graef  <Dr.Graef@t-online.de>

	* configure.in: bumped version number

	* modules/clib/clib.c: added strfmon, iconv, gettext and friends

2005-07-31  Albert Graef  <Dr.Graef@t-online.de>

	* modules/clib/clib.c: added strcoll, strxfrm and wcswidth
	functions

2005-07-30  Albert Graef  <Dr.Graef@t-online.de>

	* modules/clib/clib.c: added setlocale, localeconv and nl_langinfo
	functions

	* modules/clib/clib.q: declaration of i18n functions

2005-07-29  Albert Graef  <Dr.Graef@t-online.de>

	* modules/clib/clib.c: chars, split, toupper/tolower and isxxx
	character predicate functions now properly handle multibyte chars

2005-07-28  Albert Graef  <Dr.Graef@t-online.de>

	* src/qbase.c: parsing and unparsing of unicode chars in strings

2005-07-27  Albert Graef  <Dr.Graef@t-online.de>

	* src/qmfuns.c: modified builtins: freadc, fwritec, these now give
	or take multibyte characters

2005-07-26  Albert Graef  <Dr.Graef@t-online.de>

	* src/qm.c, src/qmfuns.c: added basic unicode support:

        - Char object can be any single byte or UTF-8 encoded unicode
	character

	- modified builtins: (#), (!), sub, substr, pos, ord, chr, succ,
	pred, enum

2005-07-13  Albert Graef  <Dr.Graef@t-online.de>

	+++ Release 6.2 +++

	* doc/qdoc.texi: updated documentation

	* src/q.c (build_fsym_table): add completion for operator symbols

	* src/qmparse.y (whos): show operator precedence in whos command

	* stdlib/prelude.q: added builtin operator table

2005-07-12  Albert Graef  <Dr.Graef@t-online.de>

	* stdlib/cond.q: relational `in' operator is now declared here

	* src/*: added user-defined operators, eliminated builtin `in'
	operator

	* stdlib/stdlib.q: deprecated apply function; use ($) operator
	instead

	* configure.in: bumped version

	* doc/qdoc.texi: updated documentation

	* src/qc.y, src/qmparse.y: remove deprecated 1-tuple syntax. The
	syntax (X) now always denotes a parenthesized expression.

2005-07-11  Albert Graef  <Dr.Graef@t-online.de>

	* modules/xml/xml.c (xslt_apply_stylesheet): allow singleton
	(KEY,VAL) pair as PARAMS argument

2005-07-10    <Dr.Graef@t-online.de>

	+++ Release 6.1 +++

	* src\q.c (exitproc): workaround for Windows-specific bug which
	causes qcwrapped scripts to dump core at exit time under certain
	yet undetermined circumstances

2005-07-07  Albert Graef  <Dr.Graef@t-online.de>

	* README, NEWS, doc/qdoc.texi: updated documentation

2005-07-05  Albert Graef  <Dr.Graef@t-online.de>

	* stdlib/cond.q: new when and unless conditionals

	* src/qmmatch.c (match): bug fix: need an additional check for
	empty rule set when match table is nonempty

	* src/qcrules.c (definition): bug fix: handling of free lhs vars
	in def

	* etc/q-mode.in: fixes to accomodate for language changes

	* src/qclex.l, src/qmlex.l: remove deprecated % comment syntax

	* stdlib/stdlib.q (append): fix deprecated 1-tuple syntax

	* src/qc.y, src/qmparse.y, src/qmprint.c: optional trailing commas
	in lists and tuples, deprecated (X) 1-tuple syntax as suggested by
	John Cowan

2005-07-04  Albert Graef  <Dr.Graef@t-online.de>

	* src/qc.y, src/qmparse.y, src/opcodes.h, src/qctables.c,
	src/qm.c, src/qmfuns.c: added Haskell-like, right-associative
	infix application operator ($), as suggested by Tim Haynes

2005-07-02  Albert Graef  <Dr.Graef@t-online.de>

	* src/qc.y: type guards are only permitted on the lhs of an
	equation or definition

	* src/qcrules.c (definition), src/qm.c (evaldef1): add some extra
	pattern matching code to properly handle type guards on the lhs of
	def statements

	* src/q.c (evaldefs), src/qdefs.h (evaldef), src/qm.c (evaldef),
	src/qc.y (def rule): error recovery and better diagnostics in init
	code; fixes bug #1165977

2005-07-01  Albert Graef  <Dr.Graef@t-online.de>

	* configure.in: bumped version, copyright

	* src/qbase.h (Q_SIGNON): new signon message

2005-06-26  Albert Graef  <Dr.Graef@t-online.de>

	* modules/magick/magick.c (magick_colors): fix for IM 6
	compatibility

2004-10-23  Albert Graef  <Dr.Graef@t-online.de>

	+++ Release 6.0 +++

	* bumped Q version to 6.0

	* qdoc.texi: added note about SWIG support

	* modules/swig/examples: added a basic Q/Qt example

	* examples/primetest.q: added example contributed by Tim Haynes

2004-10-21  Albert Graef  <Dr.Graef@t-online.de>

	* qcc.c: add support for C++ source files

2004-10-19  Albert Graef  <Dr.Graef@t-online.de>

	* bumped libq version number (NOTE: libq ABI has changed, you'll
	need to recompile your modules)

	* modules/swig: added SWIG runtime module

	* libq.h, libq.c, q.c, qm.c: added have_lock()

2004-10-02  Albert Graef  <Dr.Graef@t-online.de>

	+++ Release 5.5 +++

	* bumped version number

	* run mangle.sh

	* examples/cgi.q: added cgi example contributed by Tim Haynes

	* README-GGI: updated information about GGI. In particular, the
	Windows version now uses Peter Ekberg's latest version of the
	DirectX driver from CVS which only needs the GGI_CONFDIR variable
	to be set (no need any more to fiddle around with GGI_DISPLAY and
	the GGI config files).

2004-10-01  Albert Graef  <Dr.Graef@t-online.de>

	* ggi.c, libggi.c, sprite.q: various bug fixes

2004-09-10  Albert Graef  <Dr.Graef@t-online.de>

	+++ Release 5.4 +++

	* xml: Windows port, improved namespace support, final polish

2004-09-08  Albert Graef  <Dr.Graef@t-online.de>

	* bumped version number to 5.4

	* README, NEWS: updated

	* configury: added xml module, upgraded to latest autotools

	* xml: added XML/XSLT interface

2004-09-04  Albert Graef  <Dr.Graef@t-online.de>

	* qmparse.y: latest bison prints 'syntax error' instead of 'parse
	error'

2004-09-02  Albert Graef  <Dr.Graef@t-online.de>

	* q.c, qbase.h, qm.c, qmlex.l, qmparse.y: added new profile and
	overhauled clear command

	* octave.c: fixes for latest octave versions

	* qm.c: debugger now correctly prints *last* value assigned to a
	local variable

	* clib.q: added null test for byte strings

	* q.c, qint.h: added qacquire() and qrelease() operations to C->Q
	interface

	* q.xml: updated for Kate 2.1

2004-04-15  Albert Graef  <Dr.Graef@t-online.de>

	+++ Release 5.3 +++

	* bumped version number to 5.3 in preparation of the forthcoming
	release

2004-04-14  Albert Graef  <Dr.Graef@t-online.de>

	* qdoc.texi: updated

	* *.q: use (.) instead of compose in examples and library scripts,
	mark stdlib::compose as deprecated

	* qc.y, qmparse.y, qctables.c, qmprint.c, qmfuns.c, qm.c: new
	builtin functional composition operator (.)

2004-04-13  Albert Graef  <Dr.Graef@t-online.de>

	* qm.c: fix errorneous debugger output when performing a tail
	reduction on a special argument forming the rhs of an equation

2004-04-10  Albert Graef  <Dr.Graef@t-online.de>

	* qmfuns.c, clib.c (fopen, popen): release global mutex while
	opening a file or pipe, to avoid potential deadlocks in
	multithreaded scripts

2004-04-06  Albert Graef  <Dr.Graef@t-online.de>

	* clib.c: allow full (unsigned short) range of port numbers in
	encoding and decoding of ip addresses

2004-02-29  Albert Graef  <Dr.Graef@t-online.de>

	+++ Release 5.2 +++

	* qdoc.texi: added @dircategory/@direntry (suggested by Kari Pahula)

	* configure.in: use installed libreadline if available

	* Makefile.am (various): avoid -L<builddir>/libq flag which ends
	up in the installed .la files (reported by Kari Pahula)

	* bumped version number to 5.2

	* qdoc.texi: updated

	* cond.q: added looping constructs (dowhile, for)

	* qcrules.c (expression): improved tail call optimization

	* qm.c (evalu): bug fix: tail call of builtin needs stack frame

2004-02-27  Albert Graef  <Dr.Graef@t-online.de>

	* q.c: disabled LTDL_SET_PRELOADED_SYMBOLS in libmain for now, to
	avoid breakage when client programs are not built with libtool

2004-02-20  Albert Graef  <Dr.Graef@t-online.de>

	+++ Release 5.1 +++

	* NEWS, qdoc.texi: updated

	* lambda.q: fix a long-standing but trivial issue: lambda now
	checks that the pattern is linear

2004-02-18  Albert Graef  <Dr.Graef@t-online.de>

	* README, NEWS, qdoc.texi: final touches for release 5.1

	* Makefile.am (various): make `make dist' from a separate build
	directory work

2004-02-17  Albert Graef  <Dr.Graef@t-online.de>

	* bumped version number to 5.1

	* Makefile.am (various): fixes to support VPATH, so building in a
	separate directory works, and to make static builds
	(--disable-shared) work again

	* qdoc.texi: added qcwrap documentation

	* src/qcwrap.q: added qcwrap script

2004-02-16  Albert Graef  <Dr.Graef@t-online.de>

	* qcc.c: add explicit --mode=install to install stage

	* qdoc.texi: documented enumerations

	* qc.y, qclex.l, qmparse.y, qmlex.l, qmfuns.c, prelude.q: added
	syntactic sugar for enumerations ([X..Y] syntax, new builtin enum
	function)

	* q.c: readline initialized too late during the startup process

2004-02-15  Albert Graef  <Dr.Graef@t-online.de>

	* qmparse.y: proper quoting of help and edit command arguments

	* qm.c: make the Q machine fully tail-recursive

	The interpreter now also optimizes tail reductions on builtins and
	special arguments returned by user-defined and builtin functions.
	As a result, linear recursive definitions involving operations
	like (and then), (or else) and cond::ifelse now execute in
	constant stack space, as one might reasonably expect. Thanks are
	due to Walt Wasilev for pointing this out.

2004-02-02  Albert Graef  <Dr.Graef@t-online.de>

	* configure.in: check for /usr/include/tcl${version} directory,
	for Debian compatibility (patch contributed by Kari Pahula)

	* clib.c: fix bad return value in system function

2004-01-31  Albert Graef  <Dr.Graef@t-online.de>

	+++ Release 5.0 +++

	* qdoc.texi: updated

	* qc: added -w option to warn about undeclared function and
	variable symbols (as suggested by Mathias Bruessel); overhauled
	standard library and examples to compile without warnings

2004-01-30  Albert Graef  <Dr.Graef@t-online.de>

	* bumped up version numbers and updated docs in preparation for
	the forthcoming 5.0 release

	* debugger: fixed broken `n' command, now works correctly with
	recursive evals; added tbreak command to set temporary
	breakpoints; break and tbreak commands now accept a list of
	function or operator symbols

2004-01-29  Albert Graef  <Dr.Graef@t-online.de>

	* stdlib.q, stream.q (zip, zipwith): restore previous behaviour of
	discarding excess elements

2004-01-28  Albert Graef  <Dr.Graef@t-online.de>

	* qdoc.texi: updated

	* stdlib, modules: final touches, added cvs Id tags

	* debugger: completion_matches command, q-mode now supports
	completion in the debugger

	* qmparse.y, qm.c (debugger): set breakpoints on function symbols

2004-01-27  Albert Graef  <Dr.Graef@t-online.de>

	* regex, readline: fixed some gcc3 compiler warnings

	* q.c, qm.c (debugger): cosmetic changes in command syntax,
	readline support

2004-01-26  Albert Graef  <Dr.Graef@t-online.de>

	* stdlib, examples: overhaul of scan operations

	A semantically complete set of scanl/scanl1/scanr/scanr1
	operations is now provided, which is also compatible with
	Haskell. The old scan/scan1 operations are gone, you'll have to
	change your scripts accordingly. The following declarations should
	do the trick for most purposes:

	public stdlib:scanl F A Xs as scan;
	public stdlib:scanl1 F Xs as scan1;
	
	* modules/curl, configury: added new curl module

2004-01-21  Albert Graef  <Dr.Graef@t-online.de>

	* stdlib.q, stream.q: bug fixes, cosmetic changes, overhaul of
	zip/unzip operations

2004-01-20  Albert Graef  <Dr.Graef@t-online.de>

	* stdlib.q: added curry and uncurry functions

	* clib: `bytes' is no longer a synonym for list, but `list' is
	overloaded on byte strings instead

	* mod_q: now also works with Apache 1.3

2004-01-18  Albert Graef  <Dr.Graef@t-online.de>

	* mod_q: added the Q Apache module (Apache2+prefork MPM only for
	now)

2004-01-15  Albert Graef  <Dr.Graef@t-online.de>

	* qdoc.texi: added a section about the libqint interface

2004-01-14  Albert Graef  <Dr.Graef@t-online.de>

	* src/Makefile.mingw, qint.h, qint.c: ported libqint to Windows

2004-01-13  Albert Graef  <Dr.Graef@t-online.de>

	* libq: removed xv{alloc,realloc,free} routines, as they conflict
	with the latest dmalloc

	These were still in there for backward compatibility, but aren't
	really needed any more, so now that the binary interface changed
	anyway we may as well remove them. Use malloc/realloc/free
	instead.

	* q.c, qint.h: added new libqint (C->Q) interface -- this also
	affects a number of other source files; see qint.h for details

2004-01-10  Albert Graef  <Dr.Graef@t-online.de>

	* libq, modules: Finally added some routines to libq which are
	used in many modules, but haven't been in libq up to now, namely
	mkuint, isuint, mkbool and isbool.

	Unfortunately, the binary interface to libq had to be changed for
	that in a non-backward-compatible way, so I bumped up the libq
	version number. This implies that you *must* recompile all your
	modules (including Q-Audio and Q-Midi if you use those).

2004-01-05  Albert Graef  <Dr.Graef@t-online.de>

	+++ Release 4.6 +++

	* README, NEWS: final touches

	* magick.c: bug fixes in flood fill operations

	* sprite.q: Windows usability fixes

	* magick, tk, odbc: fixes to Makefile.msc

2004-01-03  Albert Graef  <Dr.Graef@t-online.de>

	* qdoc.texi: updated

	* graphics.q: overhaul of the standard devices section; this now
	works automagically on Windows, no need to patch the script any
	more

	* clib.c: fixed segfault in tmpnam on Windows

	* ggi, magick: more Windows compatibility fixes and code cleanup

2004-01-02  Albert Graef  <Dr.Graef@t-online.de>

	* Windows port, changed build system to latest mingw, bug fixes

2003-12-31  Albert Graef  <Dr.Graef@t-online.de>

	* magick: added drawing ops, this one is finished!

2003-12-30  Albert Graef  <Dr.Graef@t-online.de>

	* magick: finished basic image manipulation functions, code
	cleanup, bug fixes

2003-12-28  Albert Graef  <Dr.Graef@t-online.de>

	* magick: new resource management functions, started work on image
	manipulation operations

2003-12-26  Albert Graef  <Dr.Graef@t-online.de>

	* magick: new magick_info and ping_image operations

	* magick: read_image and write_image now fully support multi-frame
	image files, which are represented as image lists in Q land

2003-12-24  Albert Graef  <Dr.Graef@t-online.de>

	* magick: create_image now takes an additional PIXEL parameter
	used to initialize the pixels of the image; improved magicktest.q
	example; bug fixes

2003-12-23  Albert Graef  <Dr.Graef@t-online.de>

	* magick: added blob conversion operations; new MAGICK field in
	INFO structure, MATTE field is now an integer

2003-12-22  Albert Graef  <Dr.Graef@t-online.de>

	* ggi: yet another major overhaul of the ggi module

	Support for the GGI buffer extension has been dropped for now, as
	the current libggibuf from cvs really isn't ready for prime time
	yet. Support for simple alpha blending is now provided through our
	own code, but no z buffers yet. The API has been simplified
	accordingly, and has been dubbed "stable" now.

	Note that there a few incompatibilities between the new API and
	the one from the Q 4.5 release, namely that ggi_fill_screen has
	been replaced by ggi_clear (which now fills the screen with the
	background instead of the foreground color), and that
	ggi_get_char_size has been replaced by the more general
	ggi_get_string_size (which takes a string to be measured as the
	second argument, and also works for FreeType-managed fonts).

	TODO: 1. Optimizations. 2. Alpha blending for text rendered in the
	builtin font -- probably not worth the effort, so please don't ask
	for it. ;-)

2003-12-21  Albert Graef  <Dr.Graef@t-online.de>

	* ggi_demo.q: replaced ggi_get_char_size with ggi_get_string_size

	* ggi.c: more bug fixes in text renderer

2003-12-20  Albert Graef  <Dr.Graef@t-online.de>

	* ggi.q, ggi.c: added ggi_get_string_bbox operation to determine
	the bounding box of a string relative to the baseline, more
	elaborate ggi_get_font_info, additional operations to retrieve
	antialiasing status and current transform, more bug fixes

	* ggi.c: fixed mono text rendering, optimizations in renderer, bug
	fix in bbox calculation

	* ggi.c: implemented alpha blending in text renderer

	* ggi.c: make transformed glyphs work in text renderer, plug
	memory leaks

2003-12-19  Albert Graef  <Dr.Graef@t-online.de>

	* README-GGI: add information about FreeType support

	* ggi.q, ggi.c: replaced ggi_get_char_size with the more general
	ggi_get_string_size function which calculates the dimensions of
	the bounding box of a rendered string

	* ggi.q, ggi.c, configury: added FreeType2 support (TODO: add
	support for linear transformations and alpha blending in the text
	rendering algorithm)

2003-12-16  Albert Graef  <Dr.Graef@t-online.de>

	* README: add information on ImageMagick support

	* magick: added ImageMagick module

	* configure.in, modules/ggi/Makefile.am: fixed some ggi-related
	quirks in configury

	* README, NEWS: bump version to 4.6, add a NEWS entry for ongoing
	development for the 4.6 release, add pointers to the q-lang
	SourceForge project

2003-12-14  Albert Graef  <Dr.Graef@t-online.de>

	* configury: renamed bootstrap script to autogen.sh

	* ggi_demo.q: adapted to new interface

	* ggi.q, ggi.c: major overhaul of the interface. In particular,
	pixel values are now always represented in device-independent
	form, as byte strings of 16 bit RGBA values. Moreover, the
	ggi_fill_screen operation has been replaced by the more useful
	ggi_clear function which fills the clip area with the current
	*background* color, and also clears all buffers attached to the
	visual.

2003-12-06  Albert Graef  <Dr.Graef@t-online.de>

	* ggi.c: changed buffer initialization code to allow for changing
	the GGI_BUF_DISPOSE flag; this still doesn't work for z buffers,
	probably a libggibuf bug?

	* ggi.q, ggi.c: alpha and z buffers are now specified with
	ggi_setmode instead of separate ggi_add_buffer operation

	* ggi.q: remark that only 8 bit depth alpha and z buffers are
	supported right now (libggibuf limitation)

	* ggi.c (ggi_add_buffer): fixed a segfault occuring when
	ggiBufCladVis fails

	* ggi.q, ggi.c: support for packing pixels in byte string format

2003-11-27  Albert Graef  <Dr.Graef@t-online.de>

	* ggi.c: made buffer support optional, to make the module build if
	libggibuf is not installed

2003-11-02  Albert Graef  <Dr.Graef@t-online.de>

	* ggi.c: added alpha/z buffer support (requires buffer extension)

2003-10-23  Albert Graef  <Dr.Graef@t-online.de>

	* tk.c: kludge to work around some spurious X error messages
	occuring when Tk is used with GGI

2003-10-14  Albert Graef  <Dr.Graef@t-online.de>

	+++ Release 4.5 +++

	* README, NEWS, qdoc.texi: updated

	* qm.c: fixed potential deadlocks on tty mutex (acquire_tty,
	release_tty, exit_thread) and on global mutex (evalu)

	* qm.c: optimized locking during init phase (start_init, etc.)

	* qm.c: overhauled debugger: fixed argument parsing of `d' and `u'
	commands, renamed `l' command to `v', added a new `l' command for
	listing source lines, and added a new `? <expr>' command to
	evaluate a Q expression in the debugger, with the local variables
	bound to their lhs values

	* ggi: added libggi module

2003-09-19  Albert Graef  <Dr.Graef@t-online.de>

	* gdbm.c: fixed a memory leak in gdbm_open

2003-09-16  Albert Graef  <Dr.Graef@t-online.de>

	+++ Release 4.4 +++

	* README, NEWS, qdoc.texi: updated

	* configury: updated

	* odbc: added odbc module

2003-09-09  Albert Graef  <Dr.Graef@t-online.de>

	* qdoc.texi: document new syntax of prompt command

	* q.c, qm.c, qmparse.y, qbase.h: make continuation and debug
	prompt configurable (extended prompt command)

	* libq.c, dxl.c: removed isobjm()

2003-08-28  Albert Graef  <Dr.Graef@t-online.de>

	* modules/tk/Makefile.msc: build tk module with thread support
	under Windows

2003-08-15  Albert Graef  <Dr.Graef@t-online.de>

	+++ Release 4.3.2 +++

	* tk.c(tk_start, INIT): check whether Tcl supports mutithreading

2003-08-14  Albert Graef  <Dr.Graef@t-online.de>

	* README, qdoc.texi: updated

2003-08-13  Albert Graef  <Dr.Graef@t-online.de>

	* configure.in, qm.c: added test for pthread_atfork

2003-08-11  Charlie &  <Dr.Graef@t-online.de>

	* clib/examples/pty.q: bug fix: pty driver routine hangs when
	interpreter has been built without threading support

	* glob.h: avoid name clashes with possibly incompatible system
	libraries

2003-08-08  Charlie Root  <root@obelix.local>

	* configury, clib.c: additional fixes for BSD compatibility

2003-07-28  Albert Graef  <Dr.Graef@t-online.de>

	+++ Release 4.3.1 +++

	* readline-4.2/configure.in: fixed broken library versioning

	* octave.c (writescalar): missing return value

2003-07-24  Albert Graef  <Dr.Graef@t-online.de>

	* configury: reverted to previous autotools (autoconf 2.52,
	automake 1.5, libtool 1.4.2) because of OSX compatibility problems

2003-07-21  Albert Graef  <Dr.Graef@t-online.de>

	* qdoc.texi (clib section): add note about cyclic reference chains

	* configury: updated to latest autotools (autoconf 2.57, automake
	1.7.6, libtool 1.5)

	* regex.h: additional #define's to prevent name clashes with
	system libraries

2003-07-14  Albert Graef  <Dr.Graef@t-online.de>

	* configury: fixes for latest autotools

2003-06-24  Albert Graef  <Dr.Graef@t-online.de>

	* clib.c: fixes for FreeBSD compatibility (thanks to Ralph Dratman
	for pointing this out)

	* glob.h: prevent redefinition of size_t which causes compile
	problems on some systems; use AC_TYPE_SIZE_T in configury instead

2003-06-13  Albert Graef  <Dr.Graef@t-online.de>

	+++ Release 4.3 +++

	* qdoc.texi: updated

2003-06-12  Albert Graef  <Dr.Graef@t-online.de>

	* qmparse.y (whos): print const attributes of var symbols

	* clib.q, gdbm.q: use var const for manifest constants

	* qc.y: implemented const var attribute

	* qctables.c (inittables): mark builtin variables (ARGS, INPUT,
	etc.) as const

	* q.c (rerun): bypass setvar when purging variables

	* qm.c (setvar): check for const variables; change error message
	for BAD_REDEF and BAD_UNDEF codes

2003-06-11  Albert Graef  <Dr.Graef@t-online.de>

	* qcc.c: intermediate object files are created in the build
	directory

	* libq.c (mklistv): fixed potential memory leak

	* libq.h, libq.c: added workaround for memory management quirks
	under Windows

	* gdbm.q: added missing import of clib (needed for non-standard
	preludes since clib::ByteStr is used in the C implementation)

2003-05-26  Albert Graef  <Dr.Graef@t-online.de>

	* qdoc.texi: fixed description of fcntl interface

2003-05-06  Albert Graef  <Dr.Graef@t-online.de>

	+++ Release 4.2.3 +++

	* gdbm: added some documentation to README-Gdbm, added testdb.q
	and gdbm_dict.q examples

2003-05-05  Albert Graef  <Dr.Graef@t-online.de>

	* qdoc.texi: updated

	* gdbm: implemented gdbm interface; added gdbm.q, gdbm.c,
	README-Gdbm and the necessary configury

	* except.q: updated

	* clib.q, clib.c: added isbytestr and crypt functions

2003-05-03  Albert Graef  <Dr.Graef@t-online.de>

	+++ Release 4.2.2 +++

	* qdoc.texi: updated

	* except.q: updated

	* clib.q, clib.c: renamed `suspend' to `await'

2003-05-02  Albert Graef  <Dr.Graef@t-online.de>

	* clib.q, clib.c: new Ref data structure

2003-04-28  Albert Graef  <Dr.Graef@t-online.de>

	* stdlib.q, clib.c: append now also applies to tuples

2003-04-25  Albert Graef  <Dr.Graef@t-online.de>

	+++ Release 4.2.1 +++

	* src: Solaris compatibility fixes

2003-04-24  Albert Graef  <Dr.Graef@t-online.de>

	* qdoc.texi: updated, added some missing index entries

	* clib.c (fprintf, sprintf): automatic float/int coercion

	* clib.c: OS X compatibility fixes

2003-04-21  Albert Graef  <Dr.Graef@t-online.de>

	* clib: added openpty and forkpty functions, pty.q example

2003-03-26  Albert Graef  <ag@muwiinfc.geschichte.uni-mainz.de>

	+++ Release 4.2 +++

	* qm.c: evaluate lists and pairs non-recursively, to prevent C
	stack overflows

	* clib.c: OS X compatibility fixes

	* libq.h, libq.c: new xvrealloc function

2003-03-25  Albert Graef  <Dr.Graef@t-online.de>

	* qdoc.texi: final touches

	* clib.c: 2nd attempt to fix a hairy bug which would cause the
	thread destructor to wait for a dead thread after fork. See also
	the ChangeLog entry from 2002-08-29. The previously attempted fix
	would resolve the bug but cause another one instead, namely
	prevent thread objects to be garbage-collected at all. Hopefully
	this all is fixed now.

	* qm.c: removed locks on tty and parser mutexes in atfork handlers
	(these would block a fork in a background thread when the
	interpreter sits waiting in the main loop)

	* q.c, qmparse.y: removed all fflush(NULL) calls except in exitproc
	(these could block when secondary threads were busy doing I/O)

	* qmfuns.c, qmparse.y: moved parser mutex locks to the qmparse
	interface routines, and made the parser mutex recursive

2003-03-24  Albert Graef  <Dr.Graef@t-online.de>

	* clib.q, clib.c: recv/recvfrom: additional SIZE argument

2003-03-21  Albert Graef  <Dr.Graef@t-online.de>

	* qmfuns.c, clib.c: fixes for BEOS and Windows compatibility

	* examples: added flush calls (required for Windows)

	* q.c: reset errno after startup

	* clib.c: some more Windows fixes

2003-03-20  Albert Graef  <Dr.Graef@t-online.de>

	* clib.q, clib.q: reworked spawn and new _spawn function

	Note that the `spawn' function now returns immediately, without
	waiting for the child to finish, to make its interface consistent
	with the `exec' function. The `_spawn' function provides the
	former functionality, but it also accepts a new MODE argument
	which specifies whether the child should be waited for or not.

	* q.c: interpreter now checks its own invokation path, to exec
	the compiler from the same path

	* clib.c: BSD/OSX portability fixes

2003-03-18  Albert Graef  <Dr.Graef@t-online.de>
	
	* qdoc.texi: updated

	* except.q: updated (new clib operations)

	* clib: reworked dgram.q example

	* clib: socket functions (getsockopt, setsockopt, send/receive
	operations) now use ByteStr's as well; this allows arbitrary socket
	options to be retrieved and changed, and arbitrary binary data to
	be transmitted on sockets

2003-03-17  Albert Graef  <Dr.Graef@t-online.de>

	* clib: added ByteStr data structure, reworked binary file
	operations (see bread, bwrite) to use the new type

	* clib: added WHENCE argument to fcntl file locking operations, as
	well as the fseek function; new rewind and lseek functions

	* clib: added dgram.q example

	* qmparse.y (parse): fix multithreaded-related bugs

2003-03-16  Albert Graef  <Dr.Graef@t-online.de>

	* clib.q, clib.c: new functions: gethostname, gethostbyname,
	gethostbyaddr, gethostent, getprotobyname, getprotobynumber,
	getprotoent, getservbyname, getservbyport, getservent

	* clib.q, clib.c: added BSD socket interface; new functions:
	socket, socketpair, shutdown, closesocket, bind, listen, accept,
	connect, getsockname, getpeername, getsockopt, setsockopt, recv,
	send, recvfrom, sendto

2003-03-15  Albert Graef  <Dr.Graef@t-online.de>

	* clib.q, clib.c: added termios interface (tcsetattr and friends)

2003-03-14  Albert Graef  <Dr.Graef@t-online.de>

	* clib.c: added a yield (release_lock/acquire_lock) to a couple of
	potentially blocking operations

	* qm.c, qmfuns.c, etc.: new trap builtin

2003-03-12  Albert Graef  <Dr.Graef@t-online.de>

	* qmfuns.c: removed evil automatic flushes of the standard output
	stream; note that this breaks some things under Windows (user
	scripts doing interactive prompt/input might have to use flush to
	work properly under Qpad)

	* clib.c (Thread destructor): fixed a bug which prevented
	terminated threads from being garbage-collected

	* qmparse.y, qdefs.h, qm.c: invalid command parameters now all
	raise a simple syntax error message

	* qmparse.y: `stats all' and `who all' commands

	* clib.q, clib.c: major overhaul:

	new aliases for builtin I/O functions: getc, fgetc, putc, fputc,
	puts, fputs; new ungetc/fungetc functions
	
	fixed mkdir, mkfifo, wait, waitpid to follow POSIX-compatible
	semantics

	overhauled the calendar time functions to make them more closely
	correspond with the corresponding C functions; added tzname,
	daylight, localtime, mktime, asctime, strftime

	new system functions: fdopen, fileno, setvbuf, select, open,
	close, dup, dup2, pipe, fstat, fchdir, fchmod, fchown, ftruncate,
	fsync, fdatasync, fcntl, isatty, ttyname, ctermid, tcgetpgrp,
	tcsetpgrp, truncate, readdir, link, symlink, readlink, access,
	chmod, chown, lchown, utime, nice, pause, raise, getppid, uname,
	getpwuid, getpwnam, getpwent, getgrgid, getgrnam, getgrent,
	getgroups, setgroups, setuid, setgid, seteuid, setegid, setreuid,
	setregid, getuid, geteuid, getgid, getegid, getlogin, getpgid,
	setpgid, getpgrp, setpgrp, getsid, setsid, errno, seterrno,
	perror, strerror

	added a bunch of "manifest constants" for the various option
	parameters of the system functions

2003-03-09  Albert Graef  <Dr.Graef@t-online.de>

	* qmparse.y: the who command now only lists user-defined variables

2003-03-07  Albert Graef  <Dr.Graef@t-online.de>

	* clib.c: fix for only partially implemented POSIX sempahores on
	MacOS X

	* clib.c: eliminated a race condition which could cause a thread
	object to be garbage-collected while its thread is still running

2003-03-06  Albert Graef  <Dr.Graef@t-online.de>

	* qdoc.texi: added some notes on realtime scheduling

	* clib.c: some kludges to make realtime scheduling work under
	Windows; see the comment preceding the setsched function for
	details

	* givertcap: added sources to modules/clib, added givertcap
	support to clib.c

	NOTE: Under Linux, this program allows your applications to enjoy
	realtime scheduling without having to run them as root. That is,
	the clib::setsched function will now work even if the Q
	interpreter is run as an ordinary user. To make this work, you
	need to patch your kernel and install givertcap on your system;
	see modules/clib/givertcap/README for details.

	* clib.q, clib.c: added `getsched' function, `schedule' renamed to
	`setsched'

	* q.c: reenabled the backtrace mechanism; this still doesn't work
	properly with the multithreaded interpreter on Linux, but that is
	supposed to be fixed with kernel 2.6 and the next Linux pthread
	version

	* libq, clib, regex, src: some fixes for MacOS X compatibility

	Unfortunately, one of these fixes breaks binary compatibility in
	libq (the __error function had to be renamed to something else),
	so we're going to a new libq version.

2003-02-18  Albert Graef  <Dr.Graef@t-online.de>

	+++ Release 4.1.3 +++

	* qdoc.texi: updated

	* qm.c (rule): added missing gnuserv command for recording
	debugger options

	* stddecl.q, stdtypes: some minor code cleanup; members2 is now an
	alias for list2

	* except.q: merged with clib_except.q and graphics_except.q

	* hdict.q: fixed a typo in the deletek function

2002-12-17  Albert Graef  <Dr.Graef@t-online.de>

	* qdoc.texi: fixed some typos

2002-11-24  Albert Graef  <Dr.Graef@t-online.de>

	+++ Release 4.1.2 +++

	* README-DXL, sombrero.q: added a comment about a new bug in
	recent OpenDX versions which affects Tk applications with embedded
	OpenDX image windows used in hardware rendering mode

	(Maybe that's actually a bug in the OpenGL library on my Linux
	system? Have to look into that sometime.)

	* qm.c (evalu): only invoke debugger on conditional error when no
	catch is pending

	* qclex.l (yywrap): fixed garbled error messages at eof

	* dxl.q: bug fixes in the dxl_file function -- OpenDX apparently
	does not like empty position, connection or data components, so we
	prevent empty components from being written to the data file

2002-11-21  Albert Graef  <Dr.Graef@t-online.de>

	* clib.c: missing initialization in clib::strcat

2002-11-19  Albert Graef  <Dr.Graef@t-online.de>

	+++ Release 4.1.1 +++

	* qmfuns.c (qmcatch): must clean up activation stack on exception

2002-11-11  Albert Graef  <Dr.Graef@t-online.de>

	+++ Release 4.1 +++

	* qdoc.texi: updated documentation

	* qctables.c, qmfuns.c, opcodes.h: added new `which' builtin (see
	the manual for details)

	* qbase.c (pfloat): fix weird infinity printouts with Windows sprintf

2002-11-10  Albert Graef  <Dr.Graef@t-online.de>

	* q.c, tk.c: fixes for Windows compatibility

	* qm.c: added debugger command to list local variables of a rule

2002-11-09  Albert Graef  <Dr.Graef@t-online.de>

	* q-mode.in: debugger-related improvements:

	- record --debug-options

	- fontify `where', `if' and `  ==>  ' as keywords

	* qbase.h, q.c: --debug-options option

	* qm.c: various improvements in the debugger:

	- debugger now prints real names of variables bound in where clauses

	- default expression detail level is now 2

	- new format for debugger options: `pathnames=y|n' (print long
	pathnames of scripts, yes/no), `detail=N|all' (number of
	expression levels to print), `maxitems=N|all' (number of
	list/tuple items to print), `maxchars=N|all' (number of string
	chars to print), `maxstack=N|all' (number of stack levels to
	print), `options' (print current settings).

	All these options can now be entered either at the "dot" command
	in the debugger, or with the `debug' command at the interpreter's
	prompt, or with the interpreter's --debug-options option
	(which replaces --debug-long-filenames).

	* stdlib.q: fixed broken definitions of pred and succ

	* stddecls.q: `members' is now a synonym for `list'

	* stdlib: moved list/tuple comparisons and type-checking
	predicates from stdlib.q to separate comp.q and typec.q scripts

2002-11-08  Albert Graef  <Dr.Graef@t-online.de>

	* tk.c, tk/Makefile.msc: fixes for latest stable Tcl/Tk release
	8.4

2002-11-05  Albert Graef  <Dr.Graef@t-online.de>

	+++ Release 4.0 +++

	* stdlib, clib.q: parenthesized equality checks

	* qc.y, qmparse.y: `=' operator must now be parenthesized on
	*both* the left- and right-hand side of a rule

	* tk.q, tk.c: added new tk_set, tk_unset and tk_get functions

	* tk.c: fixed random lockups and async replies in event
	processing; events are now always processed in the main thread
	only

2002-11-04  Albert Graef  <Dr.Graef@t-online.de>

	* qm.c, qmfuns.c: fixes in the exception handling code; as the
	manual says, non-break exceptions now *only* trigger the debugger
	if there's no `catch' on the stack

2002-11-03  Albert Graef  <Dr.Graef@t-online.de>

	* clib.c: fixed buffer allocation bug in external clib::sprintf
	function

2002-11-01  Albert Graef  <Dr.Graef@t-online.de>

	* qdoc.texi, q.1: updated documentation

	* qm.c (qmid): fixed bug in syntactic comparison of vectors

	* qmfuns.c (qmval, qmvalq, qmread, qmreadq): fixed an unhandled
	"unterminated string" error condition

	* q.c (rerun): fixed garbled error message when the compiler bails
	out with an error while compiling the empty script

	* qcdefs.h: increased harcoded compiler table sizes

2002-10-31  Albert Graef  <Dr.Graef@t-online.de>

	* stdlib, clib: exception modules moved to the examples directory

	* qm.c: nicer formatting in debugger display of def's and undef's

	* qmfuns.c (xmatch): bugfix in variable definition code

	* qm.c: modified debugger to acommodate for the language changes

	The debugger now stops on the current rule also after a
	condition/where clause has been processed, and always displays the
	current condition/where clause while it is being processed.

	* qc.y: allow arbitrary list of conditions and where clauses in
	the qualifier

2002-10-28  Albert Graef  <Dr.Graef@t-online.de>

	+++ Release 3.5.5 +++

	* tk.c: fixed segfaults and other quirks in the finalization
	procedure

2002-10-27  Albert Graef  <Dr.Graef@t-online.de>

	* qmfuns.c: fixed segfaults on negative integers in builtin hash
	function

2002-10-18  Albert Graef  <Dr.Graef@t-online.de>

	* graphics.q: replace include of stdlib and string with import

2002-10-10  Albert Graef  <Dr.Graef@t-online.de>

	+++ Release 3.5.4 +++

	* clib.c: work around a bug in the MSVC sscanf function

	* qcrules.c (clearexpr): reset variable table when parsing
	multiple right-hand sides for the same left-hand side

2002-10-08  Albert Graef  <Dr.Graef@t-online.de>

	+++ Release 3.5.3 +++

	* qm.c (clearvartb): reset vartb to NULL after freeing it

	* qmfuns.c (tupleconcat): initialize n when x1 is a vector

2002-10-06  Albert Graef  <Dr.Graef@t-online.de>

	+++ Release 3.5.2 +++

	* qdoc.texi: updated documentation

	* qmparse.y: the `save' command now uses a larger precision to
	reduce rounding errors when rereading floating point values

2002-10-05  Albert Graef  <Dr.Graef@t-online.de>

	* qmparse.y: default variable file name now named .q_vars

	* qmlex.l, qmparse.y: experimental support for the C99 printf %a
	flag which allows you to save exact floating point variable values
	represented in hexadecimal textual format on some systems (use
	-DHAVE_ISO99_PRINTF to enable this feature)

	* tk.c: fixed bogus warning in call to Tcl_CreateCommand

	* qcc.c: missing parameter type in fatal() function

2002-09-28  Albert Graef  <Dr.Graef@t-online.de>

	* configure.in: updated for Tcl/Tk 8.4

2002-09-19  Albert Graef  <Dr.Graef@t-online.de>

	+++ Release 3.5.1 +++

	* qdoc.texi: updated documentation

	* clib: new gets and fgets functions

2002-09-18  Albert Graef  <Dr.Graef@t-online.de>

	* clib: renamed the `gets' operation to `fget'

	* list.q, stream.q: filter out unmatched items in binding clauses
	of listof and streamof

	* cond.q: new matchp predicate, additional check in match before
	applying lambda, to prevent combinator exceptions when except.q is
	loaded

	* qbase.h: increased default stack size to 1024000

	* qm.c (x_copy): implemented non-recursively to prevent C stack
	overflows

	* qm.c (x_collect): bug fix in garbage collector (segfaults on
	tuple values)

	* qmfuns.c (xeq): fixed broken non-recursive implementation

2002-09-07  Albert Graef  <Dr.Graef@t-online.de>

	* qdoc.texi: fixed some typos in the documentation

2002-09-02  Albert Graef  <Dr.Graef@t-online.de>

	+++ Release 3.5 +++

	* qdoc.texi: updated documentation

	* qm.c: changed debugger's rule printer to handle multiple `where's

	* qcdefs.h: increased the compiler's expression and variable table
	sizes (needed since now the where clauses are kept in memory until
	a whole rule has been parsed)

	* qc.y, qcrules.c: allow where clauses both before and after
	condition

2002-09-01  Albert Graef  <Dr.Graef@t-online.de>

	* qc.y: bug fix in option parser

	* clib.q, clib.c: new gets function which reads an entire file at
	once

	* stdtypes.q: added hdict.q

	* except.q: added hdict exceptions

	* hdict.q: new hashed dictionary type

2002-08-31  Albert Graef  <Dr.Graef@t-online.de>

	* qmfuns.c, qctables.c: added new `hash' builtin

	* q-mode.in: bug fixes and general improvements in the indentation
	rules; q-query-before-kill is now disabled by default

2002-08-30  Albert Graef  <Dr.Graef@t-online.de>

	* qc.y, q.c, qbase.c, qbase.h: path/--path argument starting/
	ending with `:' is now appended/prepended to existing path

	* qc.y, qctables.c, qmcode.c: removed the useless codefile shebang
	stuff

2002-08-29  Albert Graef  <Dr.Graef@t-online.de>

	* clib.c (Thread destructor): fixed a bug that could cause a child
	process to kill itself or other threads in the parent at fork time
	(the latter misbehaviour is probably LinuxThreads-specific?)

2002-08-27  Albert Graef  <Dr.Graef@t-online.de>

	+++ Release 3.4.3 +++

	* qmfuns.c (xeq): implemented non-recursively to prevent C stack
	overflows

2002-08-25  Albert Graef  <Dr.Graef@t-online.de>

	* qmlex.l: allow ' as string delimiter in special commands

2002-07-31  Albert Graef  <Dr.Graef@t-online.de>

	+++ Release 3.4.2 +++

	* ports: interpreter cleanly builds and passes all tests on BeOS,
	Solaris and Windows

	* qdoc.texi: updated description of the import command

	* q.c (quotearg): quote empty arguments on Windows

	* q.c (rerun): clear imports list when loading bytecode file

	* q.c (main): set up qc command line for rerun() even if source is
	a bytecode file

2002-07-30  Albert Graef  <Dr.Graef@t-online.de>

	* qmparse.y (print_modlist, print_implist): suppress printing of
	dummy ("") main module

	* qclex.l: create dummy main module for holding global imports
	when "" is the main script

	* qclex.l: main module is now always first script argument on
	command line, even if it is the empty script, ""; this also
	affects the behaviour of the import command

	* q.c: \\m and \\M now print the true main module name, even if it
	is empty

2002-07-26  Albert Graef  <Dr.Graef@t-online.de>

	* qmparse.y: fixed parse stack overflows for large lists and
	tuples

	* qmparse.y: don't echo lines with `load'

	* q.c: .qinitrc and .qexitrc are sourced correctly again

2002-07-25  Albert Graef  <Dr.Graef@t-online.de>

	* qm.c (init_thread): block SIGINT and SIGTERM signals

2002-06-17  Albert Graef  <Dr.Graef@t-online.de>

	+++ Release 3.4.1 +++

	* tk.c: all interpreter-related data is now thread-local, so you
	can have multiple interpreters in different threads

	* tk.c: tk, tk_reads, etc. now release the interpreter's mutex, to
	prevent long Tk commands from locking up the Q interpreter

2002-06-13  Albert Graef  <Dr.Graef@t-online.de>

	+++ Release 3.4 +++

	* clib.c, octave.c: used xvalloc()/xvfree() where appropriate

	* libq.h, libq.c: added xvalloc()/xvfree() routines to
	allocate/free expression vectors to be passed to mklistv/mktuplev.
	Apparently this solves some weird Windoze-only malloc/free-related
	segfaults in some modules.

2002-06-12  Albert Graef  <Dr.Graef@t-online.de>

	+++ Release 3.3 +++

	* Makefile.mingw, mingw.h: fixed wrong copyright and version number

2002-06-11  Albert Graef  <Dr.Graef@t-online.de>

	* qc.y, qcrules.c: reinitialization of offs/plen/p needed at start
	of variable definition

2002-06-04  Albert Graef  <Dr.Graef@t-online.de>

	* qm.c, qmmatch.c: removed conditionals around inline keyword
	(already handled by configure)

2002-04-29  root  <Dr.Graef@t-online.de>

	+++ Release 3.2 +++

	* ports: interpreter cleanly builds and passes all tests on BeOS,
	Solaris and Windows

2002-04-28  root  <Dr.Graef@t-online.de>

	* clib.c, clib.q: added bounded semaphores

	* qmmatch.c: overhauled TA matching routines

2002-04-27  root  <Dr.Graef@t-online.de>

	* *.h, *.c: protoized most of the remaining sources

2002-04-26  root  <Dr.Graef@t-online.de>

	* qm.c etc.: reduced size of expression data structure from 36/40
	to 24 bytes

2002-04-09  root  <Dr.Graef@t-online.de>

	* qcdefs.h: increased size of the temporary expression table

2002-04-06  root  <Dr.Graef@t-online.de>

	* regexamp.q: added missing special declaration of the regsub
	function which was deleted by accident

2002-04-05  root  <Dr.Graef@t-online.de>

	* qdoc.texi: fixed some typos

2002-04-04  root  <Dr.Graef@t-online.de>

	+++ Release 3.1 +++

	* clib.c: massaged initialization sequence in the thread_proc
	routine

2002-04-02  root  <Dr.Graef@t-online.de>

	* ports: interpreter cleanly builds and passes all tests on BeOS,
	Solaris and Windows

	* optimizations: inlined some functions, gives a minor speed
	improvement

2002-03-31  root  <Dr.Graef@t-online.de>

	* qdoc.texi: added POSIX threads to clib documentation

2002-03-30  root  <Dr.Graef@t-online.de>

	* clib: added queens3 example

	* clib.c: fixed unref() call in unsafe section

2002-03-29  root  <Dr.Graef@t-online.de>

	* clib.q, clib.c: added spawn function

	* test.q: added pthread tests

	* q.c: added tty and fatal signal handlers

2002-03-28  root  <Dr.Graef@t-online.de>

	* q.c(rerun): proper reinitialization of ARGS variable

	* qm.c: fixed broken atfork handlers

2002-03-27  root  <Dr.Graef@t-online.de>

	* qm.c, q.c: added init_mutex to prevent threads from taking over
	during the variable initialization phase

	* qm.c, clib.c: added pthread_atfork handlers

2002-03-26  root  <Dr.Graef@t-online.de>

	* qmparse.y(assignment): fixed wrong redn and expr counts

	* clib.c(clib::thread): fixed silly bug in thread allocation

	* qctables.c(saveimps): fixed zero allocation bug

	* qbase.c(arealloc): fixed zero-length alloc bug

	* configury: added dmalloc support

2002-03-25  root  <Dr.Graef@t-online.de>

	* clib.c: implemented multithreading operations

2002-03-24  root  <Dr.Graef@t-online.de>

	* clib.q: added multithreading operations

	* modules: MT support, release mutex lock in potentially blocking
	operations

2002-03-22  root  <Dr.Graef@t-online.de>

	* stdlib: renamed the cond function to ifelse

	* libq: added multithreading-related stuff

	* interpreter: added multithreading capability: Q machine state is
	thread-local, global mutex lock in the interpreter

2002-03-15  root  <Dr.Graef@t-online.de>

	+++ Release 3.0 +++

	* ports: interpreter cleanly builds and passes all tests on BeOS,
	Solaris and Windows

	* bootstrapped from scratch

	* bootstrap: latest libtool apparently has a broken configure
	script, therefore added autoconf in libltdl to the bootstrap
	process

	* clib.c, sys.h: work around a bug in some gmp versions which causes
	mpz_fits_xxx_p(z) to return false when mpz_size(z) is zero

	* qctables.c: fixed segfault in compiler on solaris: we have to
	properly initialize *all* symbol table entries

	* Makefile.am: added a simple test script (run with `make test'
	after interpreter has been installed)

	* configury: converted to latest autotools

2002-03-14  root  <Dr.Graef@t-online.de>

	* qdoc.texi: doc updated once more

	* stream.q: stream constructors are now simply named `bin' and `nil'

	* compiler, interpreter: `in' is now a relational operator symbol

2002-03-13  root  <Dr.Graef@t-online.de>

	* qdoc.texi: doc updated, added some missing index entries

	* clib.q, clib.c: added clock and clocks_per_sec functions

	* qmparse.y: stats command prints cpu time, not total elapsed time

2002-03-12  root  <Dr.Graef@t-online.de>

	* src/Makefile.mingw: Windows portability fixes

	* qc.y, qclex.l: various bug fixes in compiler: treatment of
	qualified variable symbols; made `_' a predefined variable symbol;
	check that aliased symbol in redeclarations is already declared

	* qdoc.texi: description of import interpreter command: added
	usage without args

	* qmparse.y, qmlex.l: fixed a bug in the command parser:
	def/undef/imports keywords incorrectly recognized after ? escape

	* qdoc.texi: final touches on the docs

2002-03-11  root  <Dr.Graef@t-online.de>

	* clib.q: added missing declaration for regerr

	* stdlib.q: added isexcept type predicate

	* stdlib.q: cosmetic changes in the eq and neq functions

	* array.q: made bin constructor symbol, turned constructor
	equations into separate mkbin operation

	* qmparse.y: bug fix in which command: add .q suffix if necessary

	* qmfuns.c: fixed bug in qmdef(): treatment of anonymous variable

2002-03-10  root  <Dr.Graef@t-online.de>

	* qdoc.texi, q.1: updated documentation

2002-03-09  root  <Dr.Graef@t-online.de>

	* lambda.q: changed declaration of normal mode combinators to
	include the (non-special) lambda argument

2002-03-07  root  <Dr.Graef@t-online.de>

	* graphics.q: GRAPHICS variable now assigned to standard output by
	default

2002-03-06  root  <Dr.Graef@t-online.de>

	* qc.y: fixed a compiler bug: expression stack mark 2 placed too
	early, must be placed *after* qualifier

	* q-mode.in: fixed a bug in syntactic fontification: _ must be
	word constituent in the local font-lock syntax table

2002-03-05  root  <Dr.Graef@t-online.de>

	* qmlex.l: fixed bug in lexical analyzer: save start state when
	starting nested parse

	* qmfuns.c: fixed a bug in the qmdef/qmundef functions: don't
	count these as reductions for stats

	* modules: module examples are now installed in separate
	subdirectories

	* dxl: added the dxl_file data file generation routine, overhauled
	examples

	* prelude: clib is now loaded by default

2002-03-04  root  <Dr.Graef@t-online.de>

	* qc.y, qmcode.c: implemented new "#!" header in bytecode files

	* stdlib, clib: added exception handler modules

	* stdlib.q: some cosmetic changes

	* qclex.l: handle different aliases for the same source script by
	manufacturing aliases for all symbols of the module, to prevent
	duplication of the module

	* q.c: fixed bug in module loader: filename of module is now
	derived from the basename of the script filename, not the module
	name which could be aliased

2002-03-03  root  <Dr.Graef@t-online.de>

	* modules: updated to new compiler version

	* examples: updated to new compiler version

	* stdlib: updated to new compiler version

	* compiler/interpreter: endless number of bugfixes in the new
	symbol table code, should work now :)

2002-03-02  root  <Dr.Graef@t-online.de>

	* stream.q: bugfix in streamcat function

	* type.q: stuff now included in stdlib.q

	* array.q: added missing emptyarray operation

	* stdtypes: container constructors are private now

	* q-mode.in: fixed various bugs and updated to new syntax

	* qmparse.y: implemented dynamic import and unimport of modules in
	the interpreter

2002-03-01  root  <Dr.Graef@t-online.de>

	* qclex.l: extra modules specified on the command line are
	automatically imported into the main module

	* libq: FUNCTION, DESTRUCTOR and FUNCALL macros now take the
	module name as first argument; updated standard modules
	accordingly

	* qm.c: EXT_ERR and user exceptions now invoke the debugger if
	break is on

	* qm.c: show "where" bindings in debugger

2002-02-28  root  <Dr.Graef@t-online.de>

	* added where clauses for local variable bindings

2002-02-27  root  <Dr.Graef@t-online.de>

	* hard exceptions are now represented using builtin Exception type

	* added pattern-matching variable bindings

	* changed variable defs/undefs to builtin function

2002-02-25  root  <Dr.Graef@t-online.de>

	* qbase.c: fixed a bug in the searchlib routine (uses stat now to
	avoid directories)

2002-02-24  root  <Dr.Graef@t-online.de>

	* interpreter: implemented symbol table logic for new namespacing
	system

2002-02-23  root  <Dr.Graef@t-online.de>

	* compiler: implemented new import/include facility, qualified
	identifiers, added new error messages

	eliminated -w option, as the compiler does not emit warnings any
	more

	eliminated overlapping rules warning, made cyclic module refs an
	error

2001-11-06  root  <Dr.Graef@t-online.de>

	* configure.in, acinclude.m4: fixes for latest autotools versions

2001-09-17  root  <Dr.Graef@t-online.de>

	+++ Release 2.3 +++

	* regex.h: redefined names of regcomp/regexec routines to prevent
	clashes with incompatible system routines

2001-09-16  root  <Dr.Graef@t-online.de>

	* q-mode.in: fixed broken library path

	* README updated (Solaris info)

	* configure.in: -lDXL needs -lsocket -lnsl on Solaris

	* Makefile.am (etc, src): $< doesn't work with SUN make

	* glob.c: some minor fixes for Solaris compatibility

2001-08-12  root  <Dr.Graef@t-online.de>

	+++ Release 2.2 +++

	* ported to Windows, Cygwin and BeOS

	* final touches and last-minute bug fixes

2001-08-11  root  <Dr.Graef@t-online.de>

	* manual updated

	* qm.c (eval, evalu), qmfuns.c (qmcatch): handle hard exceptions
	with catch

2001-08-09  root  <Dr.Graef@t-online.de>

	* automake/libtool support for bundled readline, glob and regex
	packages (quick and dirty, but needed to make everything work
	properly)

2001-08-08  root  <Dr.Graef@t-online.de>

	* src/Makefile.am, qld.in: added libqmain and qld program

	* qmparse.y (save command): always unparse floating point values
	with maximum precision

	* q.c(rerun): don't restart interpreter after run

	* qclex.l(opensrc): allow null source file names in compiler

2001-08-07  root  <Dr.Graef@t-online.de>
	
	* qdoc.texi: integrated clibdoc.texi

	* q.c (resolve): private external symbols are now also mangled
	with module name to prevent clashes between same private extern
	identifier in different modules

	* portability fixes: added the necessary bits to make the package
	compile with mingw again

	* `which' on empty script once more prints nothing rather than the
	prelude script

2001-08-06  root  <Dr.Graef@t-online.de>

	* src/Makefile.am: added -dlopen flags for standard modules

	* qmparse.y: modules command now shows external modules with a
	trailing `*'

	* libq.h: modified for global symbol stropping [see below]; to
	these ends, INIT and FINI now require module name as parameter,
	changed standard module sources accordingly

	* q.c: __initmod/__init/__fini globals in modules are now stropped
	with module name, to prevent name clashes when modules are linked
	statically

	* q.c: mangled global symbols in interpreter to prevent name
	clashes with dlopened modules [see also mangle.sh]

2001-08-05  root  <Dr.Graef@t-online.de>

	* qcc: changed --no-compile to --dry-run and --cygwin to --mingw

	* qcc: now uses libtool instead of gcc

2001-08-04  root  <Dr.Graef@t-online.de>

	* libq: make module initialization return module name, which is
	now checked in the dl loader in q.c (resolve)

	* libq: stropped FAIL and ERROR with `__' to prevent collisions with
	macro definitions in other libraries; updated modules accordingly

	* sources: reorganized, automakified and libtoolized

	* ChangeLog started
