Sun May  5 16:43:44 1996  aku  <aku@bluepeak.oche.de>

	* documentation/man.tex (): Added some text to make people aware
	  of the most probable problem with using channels on with binary
	  data (eol-translation!, must be 'binary' or 'lf'). Encountered
	  it myself with Tcl-BlobX. The tool 'md5sum' produced errorneous
	  results.

Sat May  4 13:47:26 1996  aku  <aku@bluepeak.oche.de>

	* Makefile.in (install-package): new target for separate
	  update of global index for packages.

	* pkgIndex.tcl.in, configure(.in): One has to be definitely
	  careful with the pkgIndex.tcl files and specifying paths for
	  loading a binary extension. The first versions essentially
	  specified 'LIBDIR/tcl7.5/../libblob<major>.<minor>.so' which wreaked
	  havoc with the add-on Tcl-BlobX. Cause: Tcl-BlobX implicitly
	  loaded LIBDIR/libblob... and the dynamic loader, seeing
	  different paths happily loaded Tcl-Blob twice! This then caused
	  disagreement between Tcl-Blob and Tcl-BlobX about the location
	  of the procedure 'BlobObjectCmd' (used in 'Blob_GetBlobHandle'
	  to map from names to blob objects). Using an absolute path in
	  'pkgIndex.tcl(.in)' fixed this problem.

	* blobCmd.c (Blob_Init): check for attempts at multiple
	  initialization of an interpreter.
	  (Blob_SafeInit): removed duplicate code, calling Blob_Init
	  directly now!.
	  (Blob_IsInitialized): Enhanced interface. Enable users on
	  C-level to determine wether an interpreter contains blob
	  functionality or not.

	* configure.in (BLOB_LD_SEARCH_FLAGS): fixed spelling bug (was
	  CCP-problem (cut/copy/paste). -ltk... -> lblob...!

	* blob.h.in (BLOB_MINOR_VERSION): fixed spelling (major too).
	  "x" -> x. configure of Tcl-BlobX got problems during version check.

Thu May  2 20:57:46 1996  aku  <aku@bluepeak.oche.de>

	* configure.in: propagate version to 'pkgIndex.tcl.in' (former
	  'pgkIndex.tcl').

Wed May  1 00:17:25 1996  aku  <aku@bluepeak.oche.de>

	* documentation/man.tex: added documentation for new minor
	  commands.

	* tests/blob.test: same as below (blob-1.3, blob-1.4)

	* tests/misc.test: corrected test result because of the new minor
	  commands (misc-2.0).

	* blob.c (Blob_GetSecure): new function to inquire security-flag,
	  required by 'is-secure' (see below).

	* blobObjCmd.c (BlobObjectCmd): added minor commands 'secure',
	  'is-secure'.
	  (SetSecureCmd, IsSecureCmd): new functions realizing the new
	  minor commands.

	* documentation/man.tex (chapter {The command ``blob''}): added
	  documentation of new option '-secure'.

	* blobCmd.c (CreateCmd): added option '-secure' for creation of
	  secure blobs.

	* blob.c (_iBlob_): added flag for marking 'secure' blobs.
	  (Blob_SetSecure): new function, marks a blob as
	  'secure'. extends interface.
	  (Blob_Delete, DefineBlobSize): added checks for secure blobs and
	   wipe any released area.

	* documentation/man.tex: added documentation about 'ascii85'
	  conversion. 

	* documentation/INSTALL: documented all changes made to
	  configure. 

	* tests/convert.test: added tests for 'ascii85' conversion.

	* bInput.c (GetFromString): adapted to new interface for
	  string->bin conversion procedures.

	* bConvert.c (several): Ascii85 coder/decoder ready now.

	* -- 13:32 now --

	* bConvert.c (several): started to add 'Ascii85'-encoding of
	  binary data. Its the first one with the possibility of the
	  encoded string to be SMALLER than the equivalent binary data (4
	  zeros are mapped to 'z'). The interface of the string->bin
	  conversion procedures had to be changed to allow that.

Tue Apr 30 00:03:46 1996  aku  <aku@bluepeak.oche.de>

	* tests/misc.test, input.test: added tests to check for the two
	  possible new error messages introduced by Mike Driscoll by its
	  conversion from FILE- to Tcl_Channel-structures (-> bInput.c,
	  blobObjCmd.c).

	* Resolved problem with autoloading.  This extension makes
	  extensive use of 'assert' for integrity checking. Linking a test
	  tclsh directly with 'blob' was ok, but using dynamic loading
	  with a standard 'tclsh' resulted in an unresolved symbol
	  '__eprintf'. Primary cause of this was the fact that '__eprintf'
	  is defined in 'libgcc.a', NOT 'libc.so.x,y' (Linux 1.2.13/elf,
	  gcc 2.7.0). Usage of 'assert' in 'tclAppInit.c' ('tkAppInit.c'
	  resp.) made the shells a little bigger (~4K) and removed the
	  loading problem, as the missing symbol then is part of the shell.

	  => have to mail the tcl-team at sun about this.

	* -- 22:52 now --

	* pkgIndex.tcl: new file, contains code for package loader
	  mechanism.

	* blobCmd.c (Blob_Init, Blob_SafeInit): added Tcl_PkgProvide to
	  integrate extension into package mechanism of Tcl.

	* blob.h.in: see below.

	* patchlevel.h.in: new file, patchlevel.h will be generated by
	  configure.  version information is now centrally stored in
	  configure.in and propagated as required (Makefile, patchlevel.h,
	  blob.h).

Mon Apr 29 23:50:09 1996  aku  <aku@bluepeak.oche.de>

	* Makefile.in: sync'd to new configure script. Used makefile of Tk
	  to find out how to handle library generation (static vs. shared).

	* configure.in: added more paths to search for tcl.h,
	  libtcl. Include now official file 'tclConfig.sh' to get
	  information  found by Tcl configuration (like data about shared
	  libraries). Code mostly snarfed from Tk configuration.

	* Applied patch send by 'Michael A. Driscoll <driscoll@ee.pdx.edu>'.
	
Tue Feb  6 23:33:30 1996    (aku@bluepeak)

	* bMisc.c (BlobGetIntervalSpecInside): save and restore
	  interpreter result area during execution. required by
	  --> BlobX::generic block cipher code as it assembles the result
	  during option processing.

Sat Jan 13 22:39:17 1996    (aku@bluepeak)

	* README: same.

	* documentation/INSTALL: same.

	* documentation/man.tex: improved according to suggestions and
	  corrections by bh.

	* example/utmp-decode: example application added.

Sun Jan  7 02:53:19 1996    (aku@bluepeak)

	* tests/pack.test, tests/manip.test, tests/convert.test: adapted
	  to change described below (some error messages changed).

	* bPack.c (BlobGetFromPack, PreparePacking): adapted to change
	  described below. 

	* blobObjCmd.c (AppendCmd, InsertCmd, PrependCmd, PadCmd,
	  ReplaceCmd, SetCmd): adapted to change described below.

	* bInput.c (Blob_GetInput, GetFromFile, GetFromBlob,
	  GetFromString): adapted to new feature (#'processed arg.').

	* blob.h: feature change: BlobGetInput renamed to Blob_GetInput
	  and now part of exported interface. Will be required by external
	  algorithms operating on blobs. New feature: returns number of
	  arguments processed.

	* blobCmd.c (CreateCmd): return name of new blob as result.

	* tests/manip.test: exercising 'pad' added.

	* documentation/man.tex (section {Manipulation}): documented new
	  minor command 'pad'.

	* tests/misc.test: added tests to check handling of argument
	  errors of BlobObjectCmd.

	* blobObjCmd.c (PadCmd): new feature: minor command 'pad' to
	  extend binary data to a specified size.
	  (BlobObjectCmd): fixed err. usage of 'strcmp' in test for
	  non-unique abbreviation ('r').

	* blobCmd.c (Blob_GetBlobHandle): new feature: Retrieve
	  blob-handle via name. Will be required by external algorithms
	  operating on blobs.

	* documentation/man.tex (section {General definitions}): added new
	  conversion options to enumeration.

	* tests/convert.test: added tests for uuencode and base64 conversion

	* bConvert.c: added 2 conversions binary -> string (uuencode,
	  base64). new internal functions: ScaleUp3to4, Split3To4, Split,
	  ApplyEncoding.
	  (15:24): new internal functions: Decode, Unsplit (general 4->3
	  decoder).

Sat Jan  6 20:53:33 1996    (aku@bluepeak)

	* blobCmd.c (Blob_Init, Blob_SafeInit): added call to
	  'BlobAddStdConversionMethods' to make the standard conversion
	  procedures available.

	* bConvert.c (BlobAddStdConversionMethods): new
	  function. internal. registers standard conversion procedures.
	  (BlobFindConversion): rewritten to use registry instead of fixed
	  string compares.

	* blobCmd.c (Blob_AddConversion): new function. exported interface
	  to registry of conversion methods.

	* blob.h: complete rework of header to enable processing by
	  'c2man' utility (generates man-pages from c definitions and
	  embedded comments!).

	* blobCmd.c (Blob_Init, Blob_SafeInit, CreateCmd, InfoCmd,
	  HandleInterpreterDestruction): changed in accordance to new type
	  'BlobInterpData', i.e.: replaced the old hashtable with an
	  instance of the new structure.

	* blobInt.h: new type 'BlobInterpData' created in preparation of
	  C-level interface to registry of conversion procedures.

Tue Dec 19 23:18:37 1995    (aku@bluepeak)

	* Makefile.in (LOADLIBES): Reordered entries. -lblob showed up
	  after -ltcl. Whatever the reason, my gcc (2.5.8, linux 1.0.9)
	  linked successfully. Problem found on bh's linux box.

	  (LOADLIBES): Replaced -ltcl with direct specification of library
	  file. bh's linux box linked /usr/lib/libtcl.a (being an older
	  version) instead of $(TCLDIR)/unix/libtcl.a although the paths
	  were set properly (-Lxx).

	* tools/get-manifest: changed $TEMPDIR to /tmp.  Directory should
	  be available on all machines. Assumption of $TEMPDIR regularly
	  defined in someones environment does not hold.

	* configure.in (MKDEP_FLAGS): added check for GCC to provide
	  'makedepend' with additional include path used by this
	  compiler. Derive information from path to spec-file of gcc.

	* blobObjCmd.c (StringCmd): fixed special case 'argc ==
	  1'. checked for possible option with 'argv [1] being NULL'. Had
	  no problems on Linux 1.0.9 (me), but cored on Linux 1.2.x (bh)

Sat Dec 16 22:33:28 1995    (aku@bluepeak)

	* The official ChangeLog starts now.

