CHANGES - dvgt up to 3.51 - 18:30 GMT +10:00 Wed 25 August 1993.

----------------------------------------------------------------------
dvgt 3.4 (3 mod 4) : changes not recorded here.
----------------------------------------------------------------------

1.  - 18:17 GMT +10:00 Thu 18 Mar 1993 -
options.c :
  Added DV_TERM environment variable, to override TERM.

2.  - Sun 2 May 1993 -
fontreader.c, lstring.c, lstring.h :
  Length specified strings introduced to make the TFM and PK font
  file specification string formation more controlled.

3.  - Sun 2 May 1993 -
  Using strncpy widely in place of strcpy, to keep string memory
  accesses within bounds.

4.  - 17:48 GMT +10:00 Mon 3 May 1993 -
ncsatelvdu.c, vduinterface.c :
  Added Vijay's (vijay@ncst.ernet.in) NCSA Telnet driver.
  Now my picture is clear.

5.  - About or before Sun 9 May 1993 -
defaults.h :
  Added constant "DEF_DUMMY_TFM", in case I implement such a thing. 

6.  - 21:22 GMT +10:00 Sun 9 May 1993 -
All drivers and other files that referred to "tek4010vdu" :
  Renamed:  tek4010vdu.c -> tek4010emu.c
            tek4010vdu.h -> tek4010emu.h
  This was because some users have been misled by the name to think
  that these files were for a true TEK4010 terminal.  But they are
  not:  they are only for the use of the TEK4010 emulating drivers. 

7.  - 21:20 GMT +10:00 Mon 10 May 1993 -
In all *.c files that use exit() :
  All deliberate exits produce a message.

  (I don't account for outside interruptions, such as power failures.)

8.  - 21:24 GMT +10:00 Mon 10 May 1993 -
  All message text is logged in a file named `<dvistem>.vlg',
  where the DVI file is named `<dvistem>.dvi'.
  If that log file cannot be opened, then `dvgt.log' is opened.
  If then `dvgt.log' cannot be opened, dvgt exits with a message.

9.  - Tue 11 May 1993 -
fontreader.c :
  TFM and PK font paths may now contain multiple directories.
  For example,  "setenv PKFONTS .:/usr/local/lib/tex/fonts/tmp"
  allows searching in current directory, then in the other location.

10.  - Tue 11 May 1993 -
fontreader.c :
  Dummy font's file specification is now formed in the same way
  as other PK fonts.

11.  - 20:02 GMT +10:00 Wed 12 May 1993 -
dvitovdu.c :
  Inability to write a log file no longer exits dvgt.
  Instead, logfile is set NULL, and subsequently ignored.
  Some other exits deleted as due to non-fatal conditions.

12.  - 20:02 GMT +10:00 Wed 12 May 1993 -
config.h, globals.h, dvitovdu.c, fontreader.c :
  "bitmap_rec" replaced by "Word" which I typedef as int.
  Bitmaps are dynamicaly allocated, so they can be much smaller
  or much larger, as the case requires.

13.  - 22:06 GMT +10:00 Wed 12 May 1993 -
fontreader.c :
  Fatal message "Couldn't open dummy font!" is now written to the
  terminal, after resetting VDU, and appears cleanly - at least
  after use of the "ncsatel" vdu mode.

14.  - 22:06 GMT +10:00 Wed 12 May 1993 -
dvitovdu.c :
  The following signals are caught so that the screen may be reset
  before exit:  SIGABRT, SIGFPE, SIGILL, SIGINT, SIGSEGV, SIGTERM.
  Any other signal is also caught!

15.  - Fri 14 May 1993 -
tek4010emu.c :
  In Terse mode, i.e. in TEK4010ShowChar(), the unrepresented font
  characters, previously shown as '?', are now displayed as
  hexadecimal escape sequences.  E.g., code 1 appears as '\01'.

16.  - Fri 14 May 1993 -
dvitovdu.c :
  'N' and 'P' commands now page forward and back, to the next and
  previous page, respectively.
  So, the '<' and '>' commands are deleted.

17.  - Fri 14 May 1993 -
dvitovdu.c :
  Added control-L command to refresh screen.

18.  - Fri 14 May 1993 -
dvitovdu.c :
  Units are now changed by a 'C' command.  The 'C' may be followed by
  zero or more spaces, and then the unit name.  (The actual unit names
  are as before:  IN, CM, MM, PT, BP, PC, BP, SP and PX.)

19.  - Fri 14 May 1993 -
dvitovdu.c, help.h :
  The '?' interactive command help is now integrated into the source
  code, in "help.h", using a ShowText() function.

20.  - Sun 16 May 1993 -
dvitovdu.c, tek4010emu.c :
  The "F" (Full), "B" (Box) and "T" (Terse) commands are now toggles.
  Any combination of these display modes is now accepted.
  Change necessary to tek4010emu.c, to correct a faulty assumption at
  the beginning of TEK4010ShowChar().

21.  - Sun 16 May 1993 -
dvitovdu.c :
  The "A" Auto window command is now a toggle.

22.  - Mon 17 May 1993 -
dvitovdu.c :
  BoxChar() is now used in place of FullCharPS in Full mode when a TFM
  gives the Bounding Box information, because I prefer outlines to
  solid rectangles.

23.  - Fri 21 May 1993 -
fontreader.c, dvitovdu.c :
  BuildFontSpec() and PixelTableRoutine() have been altered, so that
  dvgt seeks a PK font first, then a TFM, then the dummy PK font.
  Consequently, the PostScript prefix code and option are eliminated.

24.  - Fri 21 May 1993 -
vdu.h, vduinterface.c, dvitovdu.c :
  For each VDU, the value "vdu_clears_lines" is set true if the VDU
  can clear a single line.  The "ncsatel" driver cannot, due to a
  property of the Tek4010 terminal and (I suppose) its emulators.
  So, for the "ncsatel" vdu, when the Status lines should be updated,
  the whole display is now updated.

25.  - Sun 23 May 1993 -
userguide.tex, sysguide.tex, guidemacs.tex :
  Updated Andrew Trevorrow's documentation to reflect Ian Dall's port
  of DVItoVDU to C and features of dvgt 3.5.

26.  - Mon 24 May 1993 -
In all files that used "__((void))" :
  In "config.h", VOID is defined as "void" for ANSI C, empty otherwise.
  All function and function pointer declarations and definitions
  that used "__((void))" now use "(VOID)" instead.
  This helps "tags" and "ctags" programs to identify functions
  correctly.  (It also marginally reduces source code size.)

27.  - Tue 25 May 1993 -
options.c :
  Fixed "-r" option to interpret "-r x,y" to set the X and Y resolutions
  to x and y respectively.  Retained "-r x" to set the X and Y resolutions
  to the common value x, and "-r" to display the default resolutions.

28.  - Tue 25 May 1993 -
defaults.h, options.c:
  Renamed the constant DEF_HELP_FILE to DEF_CMD_HELP,
  and renamed the environment variable DV_HELP to DV_CMD_HELP.

29.  - Tue 25 May 1993 -
defaults.h, options.c, fontreader.c :
  Fall back to dummy TFM, in case dummy PK not found.
  Added env. var. DV_DUMMY_TFM.
  Renamed DV_DUMMYFONT to DV_DUMMY_PK.

30.  - Wed 26 May 1993 -
options.c, defaults.h :
  Added DV_PAPERWD and DV_PAPERHT env. vars.
  These and DEF_PAPERWD and DEF_PAPERHT now accept dimensions,
  else they default to inches. 

31.  - Wed 26 May 1993 -
defaults.h, options.c :
  Renamed DEF_IMMEDIATE_HELP to DEF_IMMED_HELP.

32.  - Wed 26 May 1993 -
dvgt/help  directory:
  Renamed "help" file to "cmd.help".

33.  - Sun 30 May 1993 -
defaults.h, options.c :
  Renamed DEF_XRESOLUTION to DEF_XRES and DEF_YRESOLUTION to DEF_YRES.
  Renamed DEF_PSPREFIX to DEF_PS_PREFIX.

34.  - Sun 30 May 1993 -
options.c :
  Resolution option "-r" now allows one or two ("xres,yres") arguments.
  Added DV_RES environment variable for both X and Y resolutions.
  Renamed env. var. DV_PSPREFIX to DV_PS_PREFIX.

35.  - Mon 31 May 1993 -
dvireader.h, fontreader.c, dvitovdu.c :
  Added "honest" field to "fontinfo" structure.  This records whether
  the true font (for the given fontname) is specified in the fontspec.
  Now have "psfont", "pkfont" and "honest" fields to guide treatment
  of fonts and their description by ShowStatistics.

36.  - Mon 31 May 1993 -
dvitovdu.c :
  ShowStatistics shows either "H" or "S", and either "P" or "K" or "T",
  to indicate whether the font used is Honest or a Substitute, and
  whether it is a PostScript font TFM, a PK font bitmap, or a
  non-PostScript TFM, respectively.
  ShowStatistics also shows fontsize (in pt), and the font description
  is more compact, to allow for the extra info.  Attempted to align
  lines of info. for different fonts.

37.  - Mon 31 May 1993 -
fontreader.c :
  Font search order is now:
      PK -> PS -> TFM -> dummy PK -> dummy TFM -> fail.

38.  - Mon 31 May 1993 -
dvitovdu.c :
  Added time info (ANSI C only), to logfile.

39.  - Tue 1 June 1993 -
dvgt/src  and  dvgt  directories:
  Moved CHANGES and TODO files from  dvgt/src  to  dvgt  directory.

40.  - Tue 1 June 1993 -
dvitovdu.c :
  Default Left, Right, Up and Down movements are by _half_ the window
  dimension (instead of by the full dimension).

41.  - Tue 1 June 1993 -
dvitovdu.c :
  Zoom In/Out to/from Centre of window (instead of Top Left corner).

42.  - Wed 2 June 1993 -
fontreader.c :
  Multiple PS font prefixes, separated by same characters (in DIRSEP)
  as (PK and TFM) directories.  In dvgt 3.5, which is for unix,
  DIRSEP = ":", a colon.

43.  - Thu 3 June 1993 -
fontreader.c, dvitovdu.c :
  Font search is now:
    PK -> PS -> dummy PK -> TFM -> dummy TFM -> DVI Terse.
  So, if no other representation can be found, then a missing font
  is guesstimated using the design size in the DVI file, and displayed
  as in Terse mode.  Other fonts are unaffected.
  Currently, I estimate character size in design size units as 1 unit
  high and 0.5 unit wide.  This seems not too far off-mark for normal
  text; preview of "example.dvi" is too wide by about one part in
  eight.
  (Another possibility, allowed by the DVI Standard, Level 0, is to
  ignore such fonts entirely, but that would give the user less
  information.)

44.  - Fri 25 June 1993 -
options.h, options.c, fontreader.c, dvitovdu.c :
  C variable "fontdir" renamed to "pkdir".

45.  - Mon 19 Jul 1993 -
help and src directories:
  Updated cmd.hlp, immed.hlp, options.hlp, and help.h, for dvgt 3.5's
commands, options, and VDU types.

46.  - Wed 21 Jul 1993 -
doc directory:
  Updated sysguide.tex, userguide.tex to reflect dvgt 3.5's options
and commands.

47.  - Wed 21 Jul 1993 -
version.h, dvitovdu.h, help.h :
  Renamed C quantity "version" to "dvgt_version", because of clash
with an enumerated type of the same name in System V's <math.h>.

48.  - Wed 21 Jul 1993 -
dvitovdu.c :
  Renamed C static variable "signals" to "common_signals", in case of
a clash, and eliminated the "extern int signals" line.

49.  - Wed 21 Jul 1993 -
Makefile.dvgt :
  Added "regisvdu.h" to list of files to distribute.  (Bad oversight!)

50.  - Wed 21 Jul 1993 -
fontreader.c :
  Changed test of the boolean function OpenFontFile from the
erroneous "< 0" to the correct test for true.

51.  - Wed 21 Jul 1993 -
Makefile.sun :
  Removed references to site specific include directories.

52.  - Mon 2 Aug 1993 -
unixio.c :
  In non-BSD OS's, used TCGETA, TCSETAW with ioctl.
  (Suggested by Guy Harris.)

53.  - Mon 2 Aug 1993 -
unixio.c, Makefile.aix, Makefile.sun :
  Used "string" in unixio.c; so add dependency on "globals.h".

54.  - Mon 2 Aug 1993 -
src/dvitovdu.c, doc/userguide.tex :
  Reverted to ZI, ZO holding window's top left;
introduced ZCI, ZCO to hold window's centre.

55.  - Tue 3 Aug 1993 -
screenio.c :
  MesgLine now unsets raw mode, if it's on (so that NL -> CR+NL),
and finally restores it, if it was.

56.  - Tue 3 Aug 1993 -
doc directory :
sysguide.tex, userguide.tex updated.

57.  - Tue 3 Aug 1993 -
dvitovdu.c :
  Defer call to InitScreenIO, so that "fprintf (stderr, ...);" will
have the normal line discipline.

58.  - Wed 4 Aug 1993 -
dvitovdu.c, dvireader.c, options.c, vdu.c :
  Delete old DEBUG code that wrtes to stderr.

59.  - Wed 4 Aug 1993 -
unixio.c, unixio.h, screenio.c :
  Separate initial and temporary tty state.

60.  - Wed 4 Aug 1993 -
dvitovdu.c, dvireader.c, (fontreader.c), (options.c), vdu.c :
  Ensure that RestoreTerminal is called immediately before each exit.

61.  - Wed 4 Aug 1993 -
options.c :
  In DimenPixels, account for unimplemented unit, in the newer code.

62.  - Wed 4 Aug 1993 -
dvitovdu.c :
  In main, save initial terminal settings, early, using save_init_tty.

----------------------------------------------------------------------
RELEASE of dvgt 3.5 to SHSU (hence to CTAN).
----------------------------------------------------------------------

63.  - Mon 16 Aug 1993 -
new.h :
  Deleted  #ifndef Malloc ... #endif  around  #include "config.h"  .
  Replaced  #ifdef __STDC__  by  #ifdef HAS_STDLIB  .

64.  - Mon 16 Aug 1993 -
config.h :
  Big rearrangement and recoding, to allow for an ANSI compiler (eg,
gcc) with a non-ANSI library (eg, Sun/OS 4.0 's BSD-like cc library).
  Added  #include <sys/file.h>  and  #include <sys/types.h>  for when
BSD is true.
  Also for when BSD is true, added twelve further (non-ANSI style)
function declarations.
  Added <sys/types.h> also for non-BSD library with non-ANSI
compiler.
  Now  #define GNUC_LIB  if and only if  ANSI compiler with non-BSD
library.

65.  - Tue 17 Aug 1993 -
options.c :
  Moved  #define NEW_DIMEN_PIXELS  to top of file.
  Deleted <stddef.h> inclusion and getenv() declaration, as config.h
already handles those.
  Added code to protect (eg, ANSI C compilers') use of constant
storage for strings from Sun/OS 4.0 's library's  sscanf  function's
use of ungetc.
  Added  ToLower  debugging code.
  Changed definition of  ToLower  to always check for  isupper.
  Deleted block from around  ToLower  and  Luname.

66.  - Tue 17 Aug 1993 -
Makefile.cc-sun :
  New Makefile for Sun/OS 4.0 's non-ANSI compiler, "cc".
  Mentions dependency on  <sys/file.h>  and  <sys/types.h>  .

67.  - Wed 18 Aug 1993 -
dvitovdu.c, dvireader.c :
  SetConversionFactor's magnification argument now has the
interpretation that 1 corresponds to the document's normal size.
Non-ANSI compilers don't convert int mag to double magnification,
so dvitovdu.c now calls SetConversionFactor with its magnification
argument = mag/1000.0, to coerce it to be double.

68.  - Wed 18 Aug 1993 -
options.c :
  Deleted  ToLower  debugging code.

69.  - Wed 18 Aug 1993 -
config.h :
  Deleted "#include <string.h>" from STDC, non-BSD case, because it
duplicated that in the general non-BSD case.

70.  - Wed 18 Aug 1993 -
version.h :
  Version upped to "3.51".

71.  - Wed 18 Aug 1993 -
Makefile.gcc :
  New.  (Based on gcc code in old "Makefile.sun".)

72.  - Wed 18 Aug 1993 -
Makefile.sun :
  Now refers only to Sun's "cc" compiler.
  Deleted comments referring to <stddef.h>, <stdlib.h> and <unistd.h>.

73.  - Fri 20 Aug 1993 -
options.c :
  PK search now = TEXPKS || PKFONTS || TEXFONTS || DEF_PK_DIR.

74.  - Fri 20 Aug 1993 -
new.h :
  Deleted <malloc.h> code, because "config.h" already handles that.

75.  - Fri 20 Aug 1993 -
TODO :
  Added wish to "Make TFM, PK path and file spec. strings dynamic."

76.  - Fri 20 Aug 1993 -
Makedist.dvgt :
  Added line for "dvgt/src/Makefile.gcc".

77.  - Fri 20 Aug 1993 -
README :
  Refer to Makefile.gcc; change description of Makefile.sun.

78.  - Fri 20 Aug 1993 -
Makedist.dvgt :
  Added "sane" Bourne shell script for resetting terminal, in case
dvgt leaves it seriously messed up.

79.  - Fri 20 Aug 1993 -
misc/stdlib.h :
  Emended non-ANSI function declarations.
  Added headlines with date.

80.  - Wed 25 Aug 1993 -
README, userguide.tex :
  Updated for dvgt 3.51, specifically the use of TEXPKS.

----------------------------------------------------------------------
dvgt 3.51 : 3 mod 5 revision 1.
----------------------------------------------------------------------

