2001-08-10  Anselm Lingnau  <anselm@strathspey.org>

	* Released version 0.4.

	* tkdvi.in: Invoke userInit procedure on startup only if the
	  environment variable TKDVI_NOUSERINIT isn't defined.

	* configure.in, dvi/configure.in: Bumped version number to 0.4
	  for impending release.

	* INSTALL, README: Updated for impending release.

	* Makefile.in, dvi/Makefile.in, lib/Makefile.in: Make sure
	  aclocal.m4, tcl.m4, compat/*.c files and message catalogs
	  are distributed and (where applicable) installed.

	* Makefile.in: Use GPG for manifest file signing rather than PGP.

	* lib/browser.tcl, lib/menu.tcl, lib/pagesel.tcl: Fix error
	  where the ::tkdvi namespace would not exist when the files
	  were loaded for package index generation.

	* lib/browser.tcl: Added -hushspecials configuration item to
	  shut browser up about unknown \specials or errors during
	  \special execution.

	* lib/browser.tcl: Added class `Toolbar' to toolbar frame. This
	  makes it possible to set the disabled-background and
	  disabled-foreground for the entry widgets in the toolbar, which
	  Tk 8.4 requires, from a resource file.

	* lib/browser.tcl: Try to avoid image leaks by deleting images
	  explicitly when coming out of overview mode or when closing a
	  DVI browser window.

	* lib/browser.tcl: Display busy cursor on page change and
	  reload operations (see `GUI Bloopers' book). For now this
	  only changes the cursor for the canvas widget; it should really
	  change the cursor for the whole application.

	* lib/browser.tcl: Changed `units of measurement' menu to include
	  the unit abbreviations (which are what shows up in the menu
	  button) to avoid confusion. Got rid of the `UnitNameList'
	  variable, which was unused.

	* lib/browser.tcl: Reinstated various keyboard bindings.

	* lib/browser.tcl: Added `Go To Page' dialog.

	* lib/browser.tcl, lib/specInfo.tcl: Moved information menu
	  entries and dialogs from browser.tcl into specInfo.tcl.
	  Improved font information dialog. Added internationalization.

	* lib/dialog.tcl: Changed window-centering code to not pop-up
	  window before its final position is determined.

	* lib/menu.tcl: Extra menu entries will be interspersed in a menu
	  at the position of a `+' sign in the entry list, or else
	  appended at the end. This makes it possible to put extra
	  entries in the `File' menu above the `Quit' entry.

	* lib/menu.tcl: Fixed bug where cascaded submenus would not be
	  configured properly.

	* lib/specBM.tcl: Added internationalization.

	* lib/specBM.tcl: Changed `goto' procedure to do the Right Thing
	  with double-page spreads, i.e., if the mark in question is on the
	  recto page, jump to the verso instead so the spread still has the
	  verso page on the left and the recto on the right. This is
	  probably not quite bullet-proof yet.

	* lib/tkdvi.ad: Added more font resources.

	* lib/tkdvi.ad: Added resources to produce a black-on-white
	  display in the toolbar entries even with Tk 8.4, which greys out
	  disabled entries by default.

	* lib/tkdvi.ad: Removed menu specifications for extra menu entries
	  that have been moved to special handlers. This applies to the
	  Document Info cascade menu and the Bookmarks menu (which was still
	  left in the windows.entrylist even though the actual menu
	  specification was no longer there, which could lead to an empty
	  entry in the menu).

	* lib/tkdvi.ad: Added command to invoke `Go to page' dialog from
	  browser menu.
	
	* lib/msgs/de.msg: Added various message translations.

	* doc/tkdvi::browser.3tcl: Describe `-hushspecials' option.
	  Various other fixes and clarifications.
	
2001-08-08  Anselm Lingnau  <anselm@strathspey.org>

	* lib/browser.tcl, lib/menu.tcl, lib/pagesel.tcl: Added calls
	  to ::msgcat::mc in relevant places for internationalization.
	  Added code to initialize message catalogs. Added
	  lib/msgs/de.msg file with German message catalog.

        * lib/tkdvi.ad: Swap info and preferences entries in file menu
	  (cosmetic change).
	
	* lib/specPS.tcl: Analyze PS specials a bit more.

2001-08-03  Anselm Lingnau  <anselm@strathspey.org>

	* tkdvi.in: Added support for `-x browser-option:value' command
	  line option.

	* lib/tkdvi.tcl: Create tkdvi::browser::special namespace so
	  special handlers can be installed before tkdvi::browser is
	  loaded (may not in fact be necessary after all).

	* lib/browser.tcl: Adapted code to changes in menu.tcl -- pass
	  the megawidget name to the menubar procedure.

	* lib/browser.tcl: Changed \special command execution model
	  to invoke procedures in ::tkdvi::browser::special namespace
	  according to first `word' in \special content. This makes the
	  SpecialCmd procedure much simpler at the cost of some
	  efficiency. Moved bookmarks into specBM.tcl, info specials
	  into specInfo.tcl, source specials into specSrc.tcl and
	  example specials into specExample.tcl. Simplified source
	  special handling and added actual editor call as specified
	  by `-editor' configuration item. Added support for that.
	  Special-handler procedures can be put into packages which
	  will be `package required' on tkdvi::browser package
	  installation according to X resources `*TkDVIBrowser.specials'
	  and `*TkDVIBrowser.userspecials' (à la exmh).

	* lib/browser.tcl: Added command to add canvas bindings (e.g.,
	  from \special command handlers).

	* lib/browser.tcl: Removed explicit code to disable Bookmarks
	  menu item and replaced with generic `hook' functionality.
	  Added `addHook' procedure to let users add code to hooks (e.g.,
	  in \special handlers). Introduced hooks for open, predisplay,
	  postdisplay, close.

	* lib/browser.tcl: Added URL in `About' dialog to point to
	  SourceForge.
	
	* lib/menu.tcl: Carry (mega)widget name so menu items can
	  be located in particular menubars. This is necessary so we
	  can enable or disable menu entries (such as the Bookmarks
	  entry in the Windows menu) in individual browsers.

	* lib/menu.tcl: Added function to add new menu entries on the
	  fly.

	* lib/tkdvi.ad: Moved bookmarks menu entry into specBM.tcl.

	* dvi/dviCFTcl.c: Moved debugging output in RegisterAnchor().

	* dvi/image.c: Added support for `%p' (page number) key for
	  special command substitution.

	* dvi/image.c: Added saftey check in ReleaseShrunkenGlyph().

	* dvi/Makefile.in, dvi/configure.in, dvi/dviCode.c, dvi/dviInt.h:
	  Made anchor searches case-independent in PrescanFile(). This
	  meant making a compatibility version of strncasecmp(3)
	  available if needed, with appropriate changes to the
	  configuration script.

	* doc/tkdvi.1: Added explanation for -x command line option.
	  Changed e-mail address. Various formatting and clarity
	  improvements.

	* doc/tkdvi::browser.3tcl: Added explanation for -editor option.

	* doc/README.specials: Updated source special description. Added
	  explanation on how to implement support for new \special{}
	  commands.
	
	* compat/: Added `compatibility' implementations for various
	  string functions.

2001-08-01  Anselm Lingnau  <anselm@strathspey.org>

	* lib/browser.tcl, lib/menu.tcl, lib/tkdvi.ad: Added procedure to
	  menu.tcl to install accelerators from menu specification (which
	  used to be purely informational, with the actual accelerators
	  being maintained in browser.tcl). Removed the accelerator
	  bindings from browser.tcl. Gone over to KDE-style accelerators.

	* lib/tkdvi.ad: Added resources to make menu entries appear in
	  a non-bold font, for better visual compatibility with KDE and
	  Gtk+. (The spacing is still off, though).

	* tcl.m4: Initial checkin (this file contains material that was
	  previously contained in aclocal.m4). aclocal.m4 and
	  dvi/aclocal.m4 now refer to this file.

	* tkdvi.in: Use WISH_PROG as in tcl.m4.

	* configure.in: Use SC_PROG_{TCL,WISH} from new tcl.m4 instead
	  of home-grown code.

	* dvi/Makefile.in: Removed a lot of substitutions that were never
	  being picked up from {tcl,tk}Config.sh.

	* dvi/fontVF.c, dvi/fontTFM.c: Added dummy {VF,TFM}Iterate()
	  procedures.

2001-07-26  Anselm Lingnau  <anselm@strathspey.org>

	* lib/browser.tcl: Changed Opclose method to actually remove the
	  `State' and `Config' entries when a browser window is closed.

	* lib/browser.tcl: Removed the widget name check from DestroyCheck
	  -- when DestroyCheck is invoked, the $State($name-top) variable
	  no longer exists, so the check is impossible.

2000-07-14  Anselm Lingnau  <lingnau@tm.informatik.uni-frankfurt.de>

	* dvi/image.c, lib/browser.tcl: Added interactive editing of gamma
	  value.

	* dvi/dvi.h, dvi/font.c, dvi/fontPK.c: Added API to iterate over
	  fonts and/or glyphs.
	
2000-07-11  Anselm Lingnau  <lingnau@tm.informatik.uni-frankfurt.de>

	* Released version 0.3.1.

	* configure.in, dvi/configure.in: Bump version number to 0.3.1.

	* tkdvi.in: Made wish location configurable (suggested by
	  Albert Chin-A-Young).

	* configure.in, dvi/configure.in: Incorporate portability
	  improvements from Albert Chin-A-Young.

	* dvi/pkgIndex.tcl.in: Pick up library version number from
	  build environment.

2000-07-07  Anselm Lingnau  <lingnau@tm.informatik.uni-frankfurt.de>

	* Released version 0.3.

	* doc/tkdvi.1, doc/tkdvi::browser.3tcl: Improved man pages.

	* Makefile.in: Improved man page installation procedure. Got rid
	  of Makefile in doc/ subdirectory.
	  
	* tkdvi.in: Added `-pr' (present) command line option. Options
	  which are not specially handled will be passed through to the
	  initial DVI window.

	* dvi/Makefile.in, lib/Makefile.in: Installation subdirectories
	  now contain program's version number.

	* Makefile.in, dvi/Makefile.in, lib/Makefile.in: Don't echo
	  file names when copying stuff to distribution directory.

	* dvi/pkgIndex.tcl.in, dvi/Makefile.in: Fix pkgIndex.tcl so that
	  library is picked up either from current directory or from
	  directory above. Make sure that pkgIndex.tcl is created when
	  library has been built.

	* dvi/configure.in: Make sure configure script looks at tkConfig.sh
	  as well as tclConfig.sh (which was a stupid oversight).

	* dvi/image.c: Removed spurious initialization of masterPtr->layer
	  in image instance command.

	* dvi/image.c: Hopefully fixed backward compatibility problems
	  with image type (esp. createProc) for good. Tk_InitImageArgs()
	  in Tcl/Tk 8.3.1 is broken.

	* lib/tkdvi.tcl: Fix bug where internal widget counter for name
	  generation would not be incremented on `clone window'.

	* lib/browser.tcl: Add check for <Destroy> event to quit program
	  when last DVI window is closed, unless the Tcl variable
	  tkdvi::browser::lastCloseExits is zero.

	* lib/browser.tcl: Use (patched) tk_optionMenu widget instead of
	  home-grown button w/menu.

	* lib/browser.tcl: Added `measureUnit' configuration option.

	* lib/browser.tcl: Make sure `-toplevel' option isn't passed to
	  configure method when widget is created. (This is handled
	  specially beforehand.)

	* lib/browser.tcl: Reintroduced reload-on-expose and layering.

	* lib/browser.tcl: Fixed bugs around button 3.

	* lib/browser.tcl: Added various key bindings, menu accelerators
	  and menu traversal keys.

	* lib/tkdvi.ad: Added accelerators and menu traversal keys.
	  Removed obsolete `Options' menu.

	* lib/menu.tcl: Added support for menu traversal keys and
	  accelerators.
	
	* lib/browser.tcl: Made the General Preferences dialog work.

	* lib/browser.tcl: Fixed a focus problem with presentations in
	  full-screen mode.

	* lib/browser.tcl, lib/tkdvi.tcl: Added support for cloning a
	  window as well as opening a new file in a new window.

	* lib/browser.tcl: Fixed various small bugs in
	  tkdvi::browser::Opopen; added option to specify a file name
	  rather than open a file selector box.

2000-06-29  Anselm Lingnau  <lingnau@tm.informatik.uni-frankfurt.de>

	* dvi/configure.in: Fixed bug in determination of `top_builddir'.

	* dvi/dvi.h, dvi/dviFile.c, dvi/dviCFTcl.c: Added C-level and
	  Tcl-level APIs for access to DVI file comment.

	* dvi/dviCFTcl.c, dvi/dviFontTcl.c, dvi/dviInterpTcl.c,
	  dvi/dviTcl.c, dvi/image.c: Added calls to Tcl_InitStubs() and
	  Tk_InitStubs() as appropriate.

	* dvi/image.c: Fixed Tcl_Obj API for image type as per Jan
	  Nijtmans' suggestions.

	* dvi/dviFontTcl.c, dvi/font.c, dvi/image.c: Added initial
	  support for obtaining document font lists.

	* dvi/image.c: Added more paper formats.

	* dvi/image.c: Re-enabled font reloading on document change.

	* lib/browser.tcl: Completely new implementation as a
	  `megawidget'. Various new features such as free-hand drawing
	  on top of a DVI page, cross-hair rulers for checking alignment,
	  initial support for source specials (not quite working yet),
	  optional menu bar and tool bar, etc. Generally revamped look
	  and feel to be more like Acrobat Reader rather than gv.
	  Configuration through X resources is now possible.

	* lib/pagesel.tcl: Completely new implementation as a
	  `megawidget'.

2000-05-27  Anselm Lingnau  <lingnau@tm.informatik.uni-frankfurt.de>

	* dvi/image.c: Changed image procedures to Tcl_Obj API for
	  compatibility with Tk 8.3.
	
	* dvi/dviCFTcl.c: Fixed segmentation fault due to
	  non-reconstruction of Dvi_Code structure after file reloading.

2000-05-26  Anselm Lingnau  <lingnau@tm.informatik.uni-frankfurt.de>

	* dvi/dviCFTcl.c: Added support for `$dviCode configure',
	  `$dviCode findanchor' and `$dvicode info anchors'.

	* dvi/dviCode.c: Added support for registering anchors during
	  pre-scan.

	* dvi/dviFile.c: Fixed bug where `generation' member of Dvi_File
	  structure would not be initialized.

	* lib/browser.tcl: Finished support for bookmarks and file
	  information à la PDF. Reinstated reloading code.

2000-05-18  Anselm Lingnau  <lingnau@tm.informatik.uni-frankfurt.de>

	* dvi/dviCFTcl.c, dvi/dviFontTcl.c, dvi/dviInterpTcl.c,
	  dvi/image.c: Replaced hard-coded version numbers in package
	  dependencies.

	* dvi/dviFile.c, dvi/dviInterp.c, dvi/font.c, dvi/fontPK.c,
	  dvi/fontTFM.c: Tightened up datatypes on memory
	  allocation/deallocation calls to remove compiler warnings.

	* dvi/image.c: Added Tk_ImagePostScriptProc member to DviImageType
	  for Tcl 8.2 compatibility.
	
	* Replaced Automake setup by more Tcl-like approach. This
	  simplifies the make process considerably.

2000-02-15  Anselm Lingnau  <lingnau@tm.informatik.uni-frankfurt.de>

	* dvi/dviOps.h: Changed DVI opcodes from #define to enum.

	* dvi/image.c: Added Tcl command callbacks for moving to/leaving
	  page (options `-precommand' and `-postcommand').

	* dvi/image.c: Draft colour support (doesn't work quite right).

	* dvi/image.c: Added configuration option synonyms `-bg', `-fg',
	  and `-gray' for consistency to other Tk widgets.

	* dvi/image.c: Fixed bitmap shrinking bug.

	* lib/tkdvi.ad: Added menu items for info, bookmarks, and
	  display modes menu.

1999-09-01  Anselm Lingnau  <lingnau@tm.informatik.uni-frankfurt.de>

	* tkdvi.in: Revised Tcl-level API for DVI browser.

	* dvi/dviFontTcl.c, dvi/dviFont.c: Made generic font searching
	  code Tcl-independent; put Tcl glue into separate file.
	
	* dvi/dviFile.c, dvi/dviCode.c, dvi/dviCFTcl.c, dvi/dviInterp.c,
	  dvi/dviInterpTcl.c: Divided DVI code handling in file-specific
	  and general code parts. This makes it possible (in theory) to
	  have DVI code generated on the fly, in addition to separating
	  the two layers of functionality better. Improved separation
	  between Tcl-independent DVI file handling and Tcl glue
	  layer. Revised C-level API for consistency. Introduced callback
	  function for file errors so dviFile.c functions no longer need a
	  Tcl interpreter.

	* lib/browser.tcl: Adapted to new Tcl-level API.

	* lib/browser.tcl: Added pop-up-from-overview feature, full-screen
	  display and more flexible display modes.

	* lib/pagesel.tcl: Adapted to new Tcl-level API.

	* lib/pagesel.tcl: Fixed selector painting bug.

1999-06-24  Anselm Lingnau  <lingnau@tm.informatik.uni-frankfurt.de>

	* dvi/dviInterp.c, dvi/image.c: Revised handling of \special{}
	  commands.

	* lib/browser.tcl: Added scanning on mouse button 2.

	* lib/browser.tcl: Support for `layered' DVI files.

	* lib/browser.tcl: Added `p' and `n' shortcuts for paging.
	
1999-06-18  Anselm Lingnau  <lingnau@tm.informatik.uni-frankfurt.de>

	* Released version 0.2. 

	* lib/browser.tcl, lib/pagesel.tcl: Made sure the current page
	  is highlighted in the page selector even after a DVI file
	  reload.

	* dvi/dviFile.c: Fixed reference count bug which resulted in
	  files not being closed properly when opened multiple times.

	* lib/browser.tcl: Browser monster fix: Made measuring device
	  appear only in non-overview display modes. Fixed bug relating to
	  measuring device in scrolled canvas. Added keyboard shortcuts to
	  switch between display modes. Fixed wrap-around bug in paging
	  via keyboard and/or page selector arrow buttons where pages
	  would appear multiple times in non-single display modes. Changed
	  arrow buttons/keyboard scroll increment to scroll 16 pages in
	  overview mode.

1999-06-16  Anselm Lingnau  <lingnau@tm.informatik.uni-frankfurt.de>

        * configure.in: Bumped version number to 0.2 in preparation for
	  release.

	* tkdvi.in: Obtain program version number from configure.in.

1999-06-15  Anselm Lingnau  <lingnau@tm.informatik.uni-frankfurt.de>

	* Fixed segmentation fault during de-allocation of PK fonts,
	  which was due to uninitialized *charInfoPtr entries.
	  (dvi/fontPK.c)

	* Fixed bug where fonts would not be changed during a DVI file
	  reload. Now a DVI file carries a `generation number' which
	  counts the reloads, and this is checked during the reloading
	  operation to free and re-read the fonts if necessary.
	  (dvi/dvi.h, dvi/dviFile.c, dvi/image.c)

1999-06-13  Anselm Lingnau  <lingnau@tm.informatik.uni-frankfurt.de>

	* Prototype virtual font implementation. (touched lots of files
	  in dvi subdirectory)

1999-06-14  Anselm Lingnau  <lingnau@tm.informatik.uni-frankfurt.de>

	* Fixed error where it would not be possible to `make dist' in
	  a separate build directory -- the tests and test dvi files
	  would be looked for below the current directory rather than
	  $(srcdir). (Makefile.am)

1999-06-12  Anselm Lingnau  <lingnau@tm.informatik.uni-frankfurt.de>

	* Made build environment libtool-free, in favor of the Tcl
	  build information from tclConfig.sh. (configure.in,
	  dvi/Makefile.am)

1999-06-11  Anselm Lingnau  <lingnau@tm.informatik.uni-frankfurt.de>

	* Quoted the message in the 4-byte data type #error directive.
	  Thanks to Oliver Pust for pointing this out. (dvi/dvi.h)

1999-06-10  Anselm Lingnau  <lingnau@tm.informatik.uni-frankfurt.de>

	* Added configuration option `--with-kpathseainc=DIR' and extended
	  include path guessing conditionals to cope better with teTeX
	  being installed with differing `prefix' and `exec-prefix'.
	  Thanks to Jan Braun for helping to debug this. (configure.in,
	  dvi/Makefile.am, dvi/findFont.c, dvi/init.c)

