summaryrefslogtreecommitdiff
path: root/dviware/beebe/updates/00mail.1
blob: 94a48f9d12c39ad19d247fe61ba3aa6cbc97ce81 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
18-Feb-87 09:36:05-MST,4267;000000000001
Mail-From: BEEBE created at 18-Feb-87 09:36:02
Date: Wed 18 Feb 87 09:36:01-MST
From: "Nelson H.F. Beebe" <Beebe@UTAH-SCIENCE.ARPA>
Subject: DVI driver family update #1
To: $90%dhdurz1.bitnet@WISCVM.WISC.EDU, austins%ucbcmsa.edu@UTAH-CS.ARPA,
    cel%cithex.caltech.edu@UTAH-CS.ARPA,
    crawford-j%ohio_state.arpa@UTAH-CS.ARPA,
    crm8701%tamvenus.bitnet@WISCVM.WISC.EDU,
    gaspard%hroeur5.bitnet@WISCVM.WISC.EDU,
    james%vaxe.coe.northeaster.edu@UTAH-CS.ARPA,
    lamy%ai.toronto.edu@RELAY.CS.NET, mpc91b%dgogwd01.bitnet@WISCVM.WISC.EDU,
    rjones%uwovax.bitnet@WISCVM.WISC.EDU, rs%gnome.cs.cmu.edu@UTAH-CS.ARPA,
    stone%ruthep.rutgers.edu@UTAH-CS.ARPA,
    system%uvphys.bitnet@WISCVM.WISC.EDU, thobe@EE.UCLA.EDU,
    zeffi%finabo.bitnet@WISCVM.WISC.EDU
cc: BEEBE@UTAH-SCIENCE.ARPA
X-US-Mail: "Center for Scientific Computation, South Physics, University of Utah, Salt Lake City, UT 84112"
X-Telephone: (801) 581-5254
Message-ID: <12280054855.6.BEEBE@UTAH-SCIENCE.ARPA>

For those of you who supplied  an EMAIL address, I have  set
up a mailing list which I will use to announce changes in my
DVI driver family.  All tapes  and floppy disks received  as
of 18-Feb-87 have now been shipped.

Since the  TeXHaX  announcement, ANONYMOUS  FTP  access  for
Internet sites has become available.  To use it, login  with
ANONYMOUS FTP to UTAH-SCIENCE and get the file 00README.TXT.
It contains information on how to find things.

Here is part of the 00REVHST.TXT file:

-----------------------------------------------------------------
[10-Feb-87]
		Yesterday I discovered that  VAX VMS 4.4 printf()
		wipes out the stack and  kills  the  process if a
		long string is printed.  This turns out to be the
		case in outline() in dvitos.c; the code has  been
		modified to use fputs() there instead.

[10-Feb-87]
		Several debugging sessions  on VAX  VMS  stepping
		through  the call chain fflush()  -> _flsbuf() ->
		_flsbuf_record()      ->    write_record()     ->
		write_buffer() -> write_imbed() -> write_output()
		->signal()  -> c$$translate() have  made it clear
		that the simple scheme in dvi*.c  and lptops.c of
		checking  for  a   non-zero   return value   from
		fflush() or  ferror() is  an unreliable  way   to
		conclude  a legitimate  error (specifically, disk
		storage   exhausted) exists.  Consequently, these
		routines have been modified to call clearerr() at
		the beginning of  loadchar() and prtbmap(),  then
		to  use a macro DISKFULL()  to test for the error
		condition.   DISKFULL() is defined in machdefs.h,
		and errno.h is  now included  by dvihead.h.  This
		regrettably introduces  small changes in a number
		of routines, but no other  clean way of doing the
		job appeared to be feasible.

[02-Feb-87]
		Changed "pagecollation on" to "pagecollation off"
		in dviimp.c.   With  version 3.3  of  the  Imagen
		Image Processor software, there seems to be a bug
		in that "pagecollation on" causes page  reversal.
		I have reported this to Imagen.

-----------------------------------------------------------------

Here are Unix diff output  listings for the affected  files.
All the dvi*.c routines have similar changes; the two listed
here are typical.

machdefs.h:
113a114
> #define DISKFULL(fp)	(ferror(fp) && (errno == ENOSPC))
337a339
> #define DISKFULL(fp)	ferror(fp)	/* PCC-20 does not always set errno */

dvialw.c:
566a567,568
>     clearerr(plotfp);		/* VMS sets the error flag unexpectedly */
>
583c585,586
<     if (ferror(plotfp) != 0)
---
>
>     if (DISKFULL(plotfp))


dvitos.c:
104c104
< #define OUTFILE_EXT	".tos"
---
> #define OUTFILE_EXT	".dvi-tos"
333,335c333,337
< 	(void)fprintf(plotfp,"\033;%04d%s",
< 	    len >> 2,pline);		/* quadruple count ESC;nnnn */
<
---
>     {
> 	(void)fprintf(plotfp,
> 	    "\033;%04d",len >> 2);	/* quadruple count ESC;nnnn */
> 	(void)fputs(pline,plotfp);
>     }
362a365,366
>     (void)clearerr(plotfp);
>
486,487c490,492
<     if (fflush(plotfp) == EOF)
< 	(void)fatal("Output error -- disk storage probably full");
---
>     (void)fflush(plotfp);
>     if (DISKFULL(plotfp))
> 	(void)fatal("prtbmap(): Output error -- disk storage probably full");
-------