head	1.27;
access;
symbols
	tcllib-1-13:1.27
	tcllib-1-12:1.26
	tklib-0-5:1.25
	tcllib-1-11-1:1.25
	tcllib-1-11:1.23
	tcllib-1-10:1.19
	tcllib-1-9:1.15
	tcllib-1-8:1.8;
locks; strict;
comment	@# @;


1.27
date	2011.01.25.06.06.38;	author andreas_kupries;	state Exp;
branches;
next	1.26;

1.26
date	2009.12.07.17.39.22;	author andreas_kupries;	state Exp;
branches;
next	1.25;

1.25
date	2008.12.15.20.25.30;	author andreas_kupries;	state Exp;
branches;
next	1.24;

1.24
date	2008.12.02.04.01.56;	author andreas_kupries;	state Exp;
branches;
next	1.23;

1.23
date	2008.10.17.05.32.39;	author andreas_kupries;	state Exp;
branches;
next	1.22;

1.22
date	2008.06.13.04.14.15;	author andreas_kupries;	state Exp;
branches;
next	1.21;

1.21
date	2008.03.25.06.36.37;	author andreas_kupries;	state Exp;
branches;
next	1.20;

1.20
date	2008.03.22.01.10.32;	author andreas_kupries;	state Exp;
branches;
next	1.19;

1.19
date	2007.09.12.16.29.45;	author andreas_kupries;	state Exp;
branches;
next	1.18;

1.18
date	2007.09.12.16.20.31;	author andreas_kupries;	state Exp;
branches;
next	1.17;

1.17
date	2007.06.23.03.39.34;	author andreas_kupries;	state Exp;
branches;
next	1.16;

1.16
date	2007.03.25.01.29.23;	author andreas_kupries;	state Exp;
branches;
next	1.15;

1.15
date	2006.10.04.02.56.05;	author andreas_kupries;	state Exp;
branches;
next	1.14;

1.14
date	2006.09.27.21.19.35;	author andreas_kupries;	state Exp;
branches;
next	1.13;

1.13
date	2006.09.19.23.36.16;	author andreas_kupries;	state Exp;
branches;
next	1.12;

1.12
date	2006.01.29.05.58.20;	author andreas_kupries;	state Exp;
branches;
next	1.11;

1.11
date	2006.01.23.08.18.15;	author andreas_kupries;	state Exp;
branches;
next	1.10;

1.10
date	2006.01.22.00.27.22;	author andreas_kupries;	state Exp;
branches;
next	1.9;

1.9
date	2005.12.09.18.21.51;	author andreas_kupries;	state Exp;
branches;
next	1.8;

1.8
date	2005.10.06.21.29.25;	author andreas_kupries;	state Exp;
branches;
next	1.7;

1.7
date	2005.09.20.05.59.51;	author andreas_kupries;	state Exp;
branches;
next	1.6;

1.6
date	2005.03.16.19.53.22;	author andreas_kupries;	state Exp;
branches;
next	1.5;

1.5
date	2005.02.18.06.38.32;	author andreas_kupries;	state Exp;
branches;
next	1.4;

1.4
date	2005.02.15.07.45.01;	author andreas_kupries;	state Exp;
branches;
next	1.3;

1.3
date	2005.02.11.06.07.31;	author andreas_kupries;	state Exp;
branches;
next	1.2;

1.2
date	2005.02.11.05.08.53;	author andreas_kupries;	state Exp;
branches;
next	1.1;

1.1
date	2005.02.10.17.34.15;	author andreas_kupries;	state Exp;
branches;
next	;


desc
@@


1.27
log
@Tcllib 1.13 released
@
text
@2011-01-24  Andreas Kupries  <andreas_kupries@@users.sourceforge.net>

	*
	* Released and tagged Tcllib 1.13 ========================
	* 

2009-12-07  Andreas Kupries  <andreas_kupries@@users.sourceforge.net>

	*
	* Released and tagged Tcllib 1.12 ========================
	* 

2008-12-12  Andreas Kupries  <andreas_kupries@@users.sourceforge.net>

	*
	* Released and tagged Tcllib 1.11.1 ========================
	* 

2008-10-16  Andreas Kupries  <andreas_kupries@@users.sourceforge.net>

	*
	* Released and tagged Tcllib 1.11 ========================
	* 

2008-06-12  Andreas Kupries  <andreas_kupries@@users.sourceforge.net>

	* fileutil_magic_cfront.pcx: New file. Syntax definitions for the
	* fileutil_magic_cgen.pcx: public commands of the fileutil::magic
	* fileutil_magic_filetype.pcx: packages.
	* fileutil_magic_mimetype.pcx:
	* fileutil_magic_rt.pcx:

2008-03-24  Andreas Kupries  <andreas_kupries@@users.sourceforge.net>

	* cfront.man: Fixed typo in the new documentation.

2008-03-21  Andreas Kupries  <andreas_kupries@@users.sourceforge.net>

	* rtcore.man: Added documentation for the runtime package
	* cgen.man: 'fileutil::magic::rt', and the two compiler packages
	* cfront.man: 'fileutil::magic::cgen' and 'fileutil::magic::cfront'.

	* cfront.tcl: Fixed a typo in the export clause.

2007-09-12  Andreas Kupries  <andreas_kupries@@users.sourceforge.net>

	*
	* Released and tagged Tcllib 1.10 ========================
	* 

2007-09-12  Andreas Kupries  <andreask@@activestate.com>

	* filetypes.man: Fixed typos in the documentation, incomplete
	* mimetypes.man: command names. Fixes [SF Bug 1791379].

2007-06-22  Andreas Kupries  <andreas_kupries@@users.sourceforge.net>

	* cfront.tcl: Replaced deprecated {expand} syntax in comments with
	* cgen.tcl:   {*}.

2007-03-21  Andreas Kupries  <andreas_kupries@@users.sourceforge.net>

	* mimetypes.man: Fixed all warnings due to use of now deprecated
	* filetypes.man: commands. Added a section about how to give feedback.

2006-10-03  Andreas Kupries  <andreas_kupries@@users.sourceforge.net>

	*
	* Released and tagged Tcllib 1.9 ========================
	* 

2006-09-27  Andreas Kupries  <andreask@@activestate.com>

	* filetypes.tcl: [SF Tcllib Bug 1329207]. Extended commands with
	* mimetypes.tcl: hardwired check for directory as that cannot be
	* filetypes.man: done by the generated code. Bumped version to
	* mimetypes.man: 1.0.2.
	* filetypes.test:
	* mimetypes.test:
	* pkgIndex.tcl:

2006-09-19  Andreas Kupries  <andreask@@activestate.com>

	* mimetypes.man: Bumped versions to 1.0.1
	* mimetypes.tcl: 
	* filetypes.man: 
	* filetypes.tcl: 
	* pkgIndex.tcl:

2006-01-28  Andreas Kupries  <andreas_kupries@@users.sourceforge.net>

	* filetypes.test: Fixed usage of temp. files by the testsuites.
	* mimetypes.test:

	* fumagic.testsupport: New file, common definitions for the testsuite.

2006-01-22  Andreas Kupries  <andreas_kupries@@users.sourceforge.net>

	* filestypes.test: More boilerplate simplified via use of test support.
	* mimetypes.test:

	* filetypes.tcl: Added proper set up of the package namespace,
	* mimetypes.tcl: paranoid code, 'rtcore' should have done it already.

2006-01-19  Andreas Kupries  <andreas_kupries@@users.sourceforge.net>

	* filetypes.test: Hooked into the new common test support code.
	* mimetypes.test:

2005-12-09  Andreas Kupries <andreask@@activestate.com>

	* mimetypes.man: Corrected package names used in the
	* filetypes.man: manpage headings.

2005-10-06  Andreas Kupries  <andreas_kupries@@users.sourceforge.net>

	*
	* Released and tagged Tcllib 1.8 ========================
	* 

2005-09-19  Andreas Kupries  <andreas_kupries@@users.sourceforge.net>

	* filetypes.test (fumagic.filetype-1.2): Modified test result to
	* mimetypes.test (fumagic.mimetype-1.2): make it independent of
	  the exact channel handle listed in the error message. Has
	  changed with Tcl 8.5.

2005-03-16  Andreas Kupries <andreask@@activestate.com>

	* Fixed typos in the manpage headers.

2005-02-17  Andreas Kupries  <andreas_kupries@@users.sourceforge.net>

	* tmc:           Added basic magic compiler, and script to
	* regenerate.sh: regenerate the recognizers.

	* filetypes.tcl:  Added general recognizer for file types,
	* filetypes.man:  tests, and documentation for it.
	* filetypes.test: WARNING. This recognizer is LARGE.

2005-02-16  Andreas Kupries  <andreas_kupries@@users.sourceforge.net>

	* rtcore.tcl: Added the Nvx, Nx, and Sx commands to handle the
	  generation of location data for use by the R command for the
	  handling of relative addressing.

	* cgen.tcl:
	* rtcore.tcl: Rewritten the intialization of the typemap, fixing
	  bugs in the definition of the types using native byteorder
	  instead of explicitly specified big/little endian.

	* mimetypes,man: Added REFERENCES section, and olisted url where
	  Colin found the sources of file(1) and of the magic files used.

2005-02-15  Andreas Kupries  <andreas_kupries@@users.sourceforge.net>

	* rtcore.tcl: Added commands I, R, and L to support indirect and
	  relative adressing.

	* cgen.tcl: Rewrote the whole offset handling in the generator, to
	  support all types of offsets, i.e relative, indirect and
	  indirect relative ones. A new stage now parses all offsets into
	  standard components. The treegen stage then assembles proper
	  base handling using new rtcore commands (I, R). Also now saving
	  indicators about which branches actually need saving of field
	  locations for relative adressing, this is used to optimize usage
	  of check commands with saving (Nx, Sx, Nvx), and when to
	  regenerate the level information (L). The latter is an implicit
	  variable in the generated recognizer procedure, accessed via
	  'upvar 1' from the runtime commands.

2005-02-14  Andreas Kupries  <andreas_kupries@@users.sourceforge.net>

	* cfront.tcl: More fixes and 8.5 feature removal for the
	* cgen.tcl:   compiler packages.

2005-02-10  Andreas Kupries  <andreas_kupries@@users.sourceforge.net>

	* cgen.tcl: Removed usage of catch 8.5 feature.
	* cfront.tcl: Fixed bad reference to file/scope local
	  command. Repaced usage 0f 8.5 feature 'lrepeat' with forward
	  compatibility command provided by 'struct::list'.

	* cgen.tcl: Moved the 'provide' definition to the front, so that
	* cfront.tcl: sak recognizes it and registers the provision of a
	* mimetypes.tcl: package when validating the module.

	* mimetypes.man: Basic documentation for the main recognizer
	  command.

	* mimetypes.test: Copied the filetype tests from fileutil over for
	  use by the mimetype command, and adapted the results. Only four
	  places where the result can be said to be bogus
	* mimetypes.tcl: Added code to remove duplicates from the output
	  of the low-level recognizer.
	* rtcore.tcl: Added 'resultv' command which does not stop
	  processing in the caller as well. Needed by our wrapper.

	* mimetypes.tcl: Moved code in 'magic.tcl' to
	* magic.tcl:    'mimetypes.tcl'. There is no need for a highlevel
	  package loading all the different recognizers. Each recognizer
	  is fully in its own package now. That makes the addition of more
	  recognizers easier, without causing the wrapper to load more and
	  more unneeded code. Things are large as they are, no need to
	  make them larger. Deleted "magic.tcl".

2005-02-09  Andreas Kupries  <andreas_kupries@@users.sourceforge.net>

	* New module 'fumagic'. file(1) magic(5) based file type
	  recognition, in pure Tcl. Basic packages: runtime core,
	  mime-type engine, and a command wrapping the functionality for
	  easy access. The mime-type engine is not exactly so, it is
	  possible for to produce non-mime strings. We keep it for now
	  until the compiler has been put into this module as well.

	* rtcore.tcl:     Runtime core.
	* magic-mime.tcl: Mime engine
	* magic.tcl:      Wrapper.

	* Compiler packages now present as well
	
	* cgen.tcl:   Backend, tree-based code generator
	* cfront.tcl: Frontend, parsing of magic(5) files.
@


1.26
log
@Added README for 1.12, and tagged the ChangeLogs
@
text
@d1 6
@


1.25
log
@1.11.1 release.
@
text
@d1 6
@


1.24
log
@Fix typo in ChangeLogs made at the time of the 1.11 release.
@
text
@d1 6
@


1.23
log
@
	*
	* Released and tagged Tcllib 1.11 ========================
	*
@
text
@d1 1
a1 1
2008-10-16  1.11  <andreas_kupries@@users.sourceforge.net>
@


1.22
log
@
	* fileutil_magic_cfront.pcx: New file. Syntax definitions for the
	* fileutil_magic_cgen.pcx: public commands of the fileutil::magic
	* fileutil_magic_filetype.pcx: packages.
	* fileutil_magic_mimetype.pcx:
	* fileutil_magic_rt.pcx:
@
text
@d1 6
@


1.21
log
@
	* cfront.man: Fixed typo in the new documentation.
@
text
@d1 8
@


1.20
log
@
	* rtcore.man: Added documentation for the runtime package
	* cgen.man: 'fileutil::magic::rt', and the two compiler packages
	* cfront.man: 'fileutil::magic::cgen' and 'fileutil::magic::cfront'.

	* cfront.tcl: Fixed a typo in the export clause.
@
text
@d1 4
@


1.19
log
@Tcllib 1.10 tagged and released.
@
text
@d1 8
@


1.18
log
@
	* filetypes.man: Fixed typos in the documentation, incomplete
	* mimetypes.man: command names. Fixes [SF Bug 1791379].
@
text
@d1 6
@


1.17
log
@
	Replaced deprecated {expand} syntax in comments with {*}.
@
text
@d1 5
@


1.16
log
@
Added sections about how to give
feedback (bugs, ideas, ...), and
where.
@
text
@d1 5
@


1.15
log
@
	*
	* Released and tagged Tcllib 1.9 ========================
	*
@
text
@d1 5
@


1.14
log
@
	* filetypes.tcl: [SF Tcllib Bug 1329207]. Extended commands with
	* mimetypes.tcl: hardwired check for directory as that cannot be
	* filetypes.man: done by the generated code. Bumped version to
	* mimetypes.man: 1.0.2.
	* filetypes.test:
	* mimetypes.test:
	* pkgIndex.tcl:
@
text
@d1 6
@


1.13
log
@
Updated version numbers of a number of packages.
@
text
@d1 10
@


1.12
log
@Fixed use of duplicate test names, and use/cleanup of temp.
files.
@
text
@d1 8
@


1.11
log
@Simplified the testsuite boilerplate in the packages
"[d-h]*", using the new commands in the test support.

Added more helpers to the common test support, for dealing
with 'tcllibc', and packages which can use it.
@
text
@d1 7
@


1.10
log
@Removed comon test constrants from 'all.tcl', ditto
'wrongNumArgs' and 'tooManyArgs' emulations. This is now all
in the common test support code.

Put common test constraints into the common test support
code.

Fixed expected errorCode in math-7.4

Replaced 'queryConstraint' with regular 'testConstraint'.

Removed more copies of the common command "dictsort".

Hooked the "[s-z]*" packages into the new common test
support code.

Hooked the "[m-r]*" packages into the new common test
support code.

Updated Tcl dependency information for logger::utilities,
requires 8.4 due to use of new trace APIs.

Hooked the "[hijkl]*" packages into the new common test
support code.

Hooked the "[efg]*" packages into the new common test
support code.

Hooked the "[cd]*" packages into the new common test support
code.



Fixed usage of 8.4isms in package declared to work for 8.2+.

Better emulation of testConstraint command, with query
ability.

Hooked all "[ab]*" packages into the new test support code.

Fixed reversed guard conditions, and polished the error
messages a bit.
@
text
@d1 8
@


1.9
log
@
	* mimetypes.man: Corrected package names used in the
	* filetypes.man: manpage headings.
@
text
@d1 5
@


1.8
log
@	* Released and tagged Tcllib 1.8 ========================
@
text
@d1 5
@


1.7
log
@Fixed email in changelogs.

Typo fixes in testsuite, better indentation, removal of bad
8.4isms, declaration of 8.4 dependency of big* packages in
code, index, and testsuites.

Fixed bugs in testsuite of fumagic. Introduced by Tcl 8.5
changing channel handles.

Fixed testsuite failure for Tcl 8.5. Introduced by Tcl 8.5
changing the format of the error stack.
@
text
@d1 6
@


1.6
log
@
	* Fixed typos in the manpage headers.
@
text
@d1 7
@


1.5
log
@See ChangeLog for details.

Compiler packages & runtime, enhancements (handling relative
& indirect offsets), bugfixes (types with native endianess).

Added plain compiler application.

Second recognizer, general filetypes, not restricted to
mime. Tests, documentation, implementation.
@
text
@d1 4
@


1.4
log
@More fixes and 8.5 feature removal for the compiler
packages.

Manual merge.
@
text
@d1 40
@


1.3
log
@Added basic documentation. Fixes in the compiler packages,
further replacement of 8.5 features with equivalent 8.4
code.

Import of deletion.

Removed magic.tcl, code moved to 'mimetypes.tcl'. Renamed
the package as well. Added testsuite for mimetype command,
derived from fileutil testsuite, fileType command.
@
text
@d1 5
@


1.2
log
@Removed magic.tcl, code moved to 'mimetypes.tcl'. Renamed
the package as well. Added testsuite for mimetype command,
derived from fileutil testsuite, fileType command.

Manual merges

New module fileutil::magic, short "fumagic".

Imported Pat's fix to uuid's critcl implementation: Added an
include missing before.

Imported changes by Pat to the sasl code: New namespace and
package name, more tests.

Imported fix to fileutil's jail command, corrected handling
of volume relative paths on windows.
@
text
@d3 12
@


1.1
log
@New module 'fumagic' aka 'fileutil::magic'. Magic(5) based
functionality. Type recognizer core, compiler for magic(5) files, and
a mimetype recognizer. This is in its infancy. No tests, no
documentation.
@
text
@d1 18
@

