🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sources.bugs
Article #18

Official patch 13 for psroff 3.0

#18
From: Chris Lewis
Date: Tue, 11 Aug 1992 08:01
679 lines
16022 bytes
Archive-name: psroff3.0/Patch.13
Submitted-by: clewis@ferret.ocunix.on.ca (Chris Lewis)

    This is official patch 13 for Psroff 3.0.
    Please apply it by:
	cd <psroff source directory>
	patch -N -p < <this file>
    
    The base release of psroff3.0 and first four patches were in
    comp.sources.unix volume 24.  A fully patched set of shars
    can be retrieved from ftp.uunet.ca from distrib/chris_lewis/psroff3.0

Minor fixes this time.  Next time should have HP PCL4 graphics.

./lib/ps.lib		Transcript PB/PE emulation (PS inclusion)
./widths/widthps/AB	(\- fell out in PL12.  Ooops)
./widths/widthps/AI
./widths/widthps/AR
./widths/widthps/AX
./widths/widthps/B
./widths/widthps/BB
./widths/widthps/BI
./widths/widthps/BO
./widths/widthps/BR
./widths/widthps/BX
./widths/widthps/C
./widths/widthps/CB
./widths/widthps/CO
./widths/widthps/CX
./widths/widthps/H
./widths/widthps/HB
./widths/widthps/HO
./widths/widthps/HX
./widths/widthps/Hb
./widths/widthps/Hi
./widths/widthps/Hr
./widths/widthps/Hx
./widths/widthps/I
./widths/widthps/NB
./widths/widthps/NI
./widths/widthps/NR
./widths/widthps/NX
./widths/widthps/PB
./widths/widthps/PI
./widths/widthps/PR
./widths/widthps/PX
./widths/widthps/R
./widths/widthps/ZC
./utils/asc2ps.c	Some rather silly bugs.
./adapters/Makefile	install versus umask
./utils.c		Goofed up error print
./dit.c			debugging ifdef
./troff2.c		Some better reporting of troff errors
./defs.h		PL13
./Makefile		For RTMACDIR different from T2DIR
./psroff.S		syntax error (oops!)

Patchwrapped: 920810000922

Index: ./lib/ps.lib
*** /tmp/PATCHold/./lib/ps.lib	Mon Aug 10 00:01:18 1992
--- ./lib/ps.lib	Mon Aug 10 00:01:20 1992
***************
*** 9,15 ****
  %	Module:		ps.lib
  %	Author: 	Chris Lewis
  %	Specs:		Predefinitions for PostScript
! %ident  @(#)ps.lib: 92/05/21 Copyright 92/05/21 01:56:54 Chris Lewis"
  
  /Y { 3 1 roll dup /CurY exch def moveto show } bind def
  /X { exch CurY moveto show } bind def
--- 9,15 ----
  %	Module:		ps.lib
  %	Author: 	Chris Lewis
  %	Specs:		Predefinitions for PostScript
! %ident  @(#)ps.lib: 92/08/09 Copyright 92/08/09 23:48:32 Chris Lewis"
  
  /Y { 3 1 roll dup /CurY exch def moveto show } bind def
  /X { exch CurY moveto show } bind def
***************
*** 555,557 ****
--- 555,563 ----
  %   This loads the confidential form.
  %%%include confid
  %%%include lethead
+ %
+ %	Dumb PB/PE emulator for Transcript include conventions.
+ /PB { /SAVE save def
+     currentpoint 18 sub exch pop 8.5 72 mul 2 idiv exch translate
+ } def
+ /PE { SAVE restore } def
Index: ./widths/widthps/AB
2c2
< #2.3 92/06/05
---
> #2.4 92/08/09
182a183
> \-	50	0	0261	endash
Index: ./widths/widthps/AI
2c2
< #2.3 92/06/05
---
> #2.4 92/08/09
182a183
> \-	50	0	0261	endash
Index: ./widths/widthps/AR
2c2
< #2.3 92/06/05
---
> #2.4 92/08/09
182a183
> \-	50	0	0261	endash
Index: ./widths/widthps/AX
2c2
< #2.3 92/06/05
---
> #2.4 92/08/09
182a183
> \-	50	0	0261	endash
Index: ./widths/widthps/B
2c2
< #2.2 92/06/05
---
> #2.3 92/08/09
184a185
> \-	50	0	0261	endash
Index: ./widths/widthps/BB
2c2
< #2.3 92/06/05
---
> #2.4 92/08/09
183a184
> \-	50	0	0261	endash
Index: ./widths/widthps/BI
2c2
< #2.2 92/06/05
---
> #2.3 92/08/09
184a185
> \-	50	0	0261	endash
Index: ./widths/widthps/BO
2c2
< #2.3 92/06/05
---
> #2.4 92/08/09
183a184
> \-	50	0	0261	endash
Index: ./widths/widthps/BR
2c2
< #2.3 92/06/05
---
> #2.4 92/08/09
183a184
> \-	50	0	0261	endash
Index: ./widths/widthps/BX
2c2
< #2.3 92/06/05
---
> #2.4 92/08/09
183a184
> \-	50	0	0261	endash
Index: ./widths/widthps/C
2c2
< #2.2 92/06/05
---
> #2.3 92/08/09
179a180
> \-	60	0	0261	endash
Index: ./widths/widthps/CB
2c2
< #2.2 92/06/05
---
> #2.3 92/08/09
179a180
> \-	60	0	0261	endash
Index: ./widths/widthps/CO
2c2
< #2.2 92/06/05
---
> #2.3 92/08/09
179a180
> \-	60	0	0261	endash
Index: ./widths/widthps/CX
2c2
< #2.2 92/06/05
---
> #2.3 92/08/09
179a180
> \-	60	0	0261	endash
Index: ./widths/widthps/H
2c2
< #2.2 92/06/05
---
> #2.3 92/08/09
184a185
> \-	56	0	0261	endash
Index: ./widths/widthps/HB
2c2
< #2.3 92/06/05
---
> #2.4 92/08/09
184a185
> \-	56	0	0261	endash
Index: ./widths/widthps/HO
2c2
< #2.3 92/06/05
---
> #2.4 92/08/09
184a185
> \-	56	0	0261	endash
Index: ./widths/widthps/HX
2c2
< #2.3 92/06/05
---
> #2.4 92/08/09
184a185
> \-	56	0	0261	endash
Index: ./widths/widthps/Hb
2c2
< #2.3 92/06/05
---
> #2.4 92/08/09
182a183
> \-	46	0	0261	endash
Index: ./widths/widthps/Hi
2c2
< #2.3 92/06/05
---
> #2.4 92/08/09
182a183
> \-	46	0	0261	endash
Index: ./widths/widthps/Hr
2c2
< #2.3 92/06/05
---
> #2.4 92/08/09
182a183
> \-	46	0	0261	endash
Index: ./widths/widthps/Hx
2c2
< #2.3 92/06/05
---
> #2.4 92/08/09
182a183
> \-	46	0	0261	endash
Index: ./widths/widthps/I
2c2
< #2.2 92/06/05
---
> #2.3 92/08/09
184a185
> \-	50	0	0261	endash
Index: ./widths/widthps/NB
2c2
< #2.3 92/06/05
---
> #2.4 92/08/09
182a183
> \-	50	0	0261	endash
Index: ./widths/widthps/NI
2c2
< #2.3 92/06/05
---
> #2.4 92/08/09
182a183
> \-	50	0	0261	endash
Index: ./widths/widthps/NR
2c2
< #2.3 92/06/05
---
> #2.4 92/08/09
182a183
> \-	56	0	0261	endash
Index: ./widths/widthps/NX
2c2
< #2.3 92/06/05
---
> #2.4 92/08/09
182a183
> \-	50	0	0261	endash
Index: ./widths/widthps/PB
2c2
< #2.3 92/06/05
---
> #2.4 92/08/09
182a183
> \-	50	0	0261	endash
Index: ./widths/widthps/PI
2c2
< #2.3 92/06/05
---
> #2.4 92/08/09
182a183
> \-	50	0	0261	endash
Index: ./widths/widthps/PR
2c2
< #2.3 92/06/05
---
> #2.4 92/08/09
182a183
> \-	50	0	0261	endash
Index: ./widths/widthps/PX
2c2
< #2.3 92/06/05
---
> #2.4 92/08/09
182a183
> \-	50	0	0261	endash
Index: ./widths/widthps/R
2c2
< #2.2 92/06/05
---
> #2.3 92/08/09
184a185
> \-	50	0	0261	endash
Index: ./widths/widthps/ZC
2c2
< #2.3 92/06/05
---
> #2.4 92/08/09
182a183
> \-	50	0	0261	endash
Index: ./utils/asc2ps.c
*** /tmp/PATCHold/./utils/asc2ps.c	Mon Aug 10 00:07:29 1992
--- ./utils/asc2ps.c	Mon Aug 10 00:07:30 1992
***************
*** 14,20 ****
  
  #ifndef	lint
  static char SCCSid[] =
!     "@(#)asc2ps.c: 2.7 Copyright 92/02/07 01:44:28 Chris Lewis";
  #endif
  
  #ifndef	STANDALONE
--- 14,20 ----
  
  #ifndef	lint
  static char SCCSid[] =
!     "@(#)asc2ps.c: 2.8 Copyright 92/07/09 23:37:21 Chris Lewis";
  #endif
  
  #ifndef	STANDALONE
***************
*** 368,375 ****
  #define	BOLD	1
  #define	UNDERLINE	2
  
! process(buffer, bufs)
! char *buffer, *bufs[3]; {
      int maxpos[3];
  
      register int linepos = 0;
--- 368,375 ----
  #define	BOLD	1
  #define	UNDERLINE	2
  
! process(buffer)
! char *buffer; {
      int maxpos[3];
  
      register int linepos = 0;
***************
*** 435,441 ****
  	for (i = 0; outbufs[UNDERLINE][i]; i++)
  	    if (outbufs[UNDERLINE][i] != ' ') {
  		outbufs[UNDERLINE][i] = outbufs[NORMAL][i];
! 		outbufs[NORMAL][i] == ' ';
  	    }
  
      len = strlen(outbufs[NORMAL]);
--- 435,441 ----
  	for (i = 0; outbufs[UNDERLINE][i]; i++)
  	    if (outbufs[UNDERLINE][i] != ' ') {
  		outbufs[UNDERLINE][i] = outbufs[NORMAL][i];
! 		outbufs[NORMAL][i] = ' ';
  	    }
  
      len = strlen(outbufs[NORMAL]);
Index: ./adapters/Makefile
*** /tmp/PATCHold/./adapters/Makefile	Mon Aug 10 00:07:41 1992
--- ./adapters/Makefile	Mon Aug 10 00:07:42 1992
***************
*** 1,4 ****
! # 2.7 92/04/26
  ADAPTERS	= cmn.post cmn.pre tmac.an tmac.m tmac.s tmac.e cmn.dit
  MACROS		= tmac.t2
  
--- 1,4 ----
! # 2.8 92/07/09
  ADAPTERS	= cmn.post cmn.pre tmac.an tmac.m tmac.s tmac.e cmn.dit
  MACROS		= tmac.t2
  
***************
*** 17,22 ****
  	cd $(LIBDIR)/adapters ; rm -f $(ADAPTERS)
  	cp $(ADAPTERS) $(LIBDIR)/adapters
  	cd $(LIBDIR)/adapters ; chmod 444 $(ADAPTERS)
! 	cd $(RTMACDIR) ; rm -f $(MACROS)
  	cp $(MACROS) $(T2DIR)
  	cd $(T2DIR) ; chmod 444 $(MACROS)
--- 17,22 ----
  	cd $(LIBDIR)/adapters ; rm -f $(ADAPTERS)
  	cp $(ADAPTERS) $(LIBDIR)/adapters
  	cd $(LIBDIR)/adapters ; chmod 444 $(ADAPTERS)
! 	cd $(T2DIR) ; rm -f $(MACROS)
  	cp $(MACROS) $(T2DIR)
  	cd $(T2DIR) ; chmod 444 $(MACROS)
Index: ./utils.c
*** /tmp/PATCHold/./utils.c	Mon Aug 10 00:07:51 1992
--- ./utils.c	Mon Aug 10 00:07:53 1992
***************
*** 12,18 ****
  
  #ifndef	lint
  static char SCCSid[] =
!     "@(#)utils.c: 2.25 Copyright 92/06/01 21:19:25 Chris Lewis";
  #endif
  
  #ifndef	HEADERSIZE
--- 12,18 ----
  
  #ifndef	lint
  static char SCCSid[] =
!     "@(#)utils.c: 2.26 Copyright 92/07/09 23:34:53 Chris Lewis";
  #endif
  
  #ifndef	HEADERSIZE
***************
*** 434,441 ****
  
      intfont = atoi(from);
  
      if (intfont < (ditroff? 0 : 1) || intfont >= INTFONTS) {
! 	fprintf(stderr, "Bad arguments to FontSel: %s %s\n", intfont, to);
  	return;
      }
  
--- 434,445 ----
  
      intfont = atoi(from);
  
+ #ifdef DIT
      if (intfont < (ditroff? 0 : 1) || intfont >= INTFONTS) {
! #else
!     if (intfont < 1 || intfont >= INTFONTS) {
! #endif
! 	fprintf(stderr, "Bad arguments to FontSel: %s %s\n", from, to);
  	return;
      }
  
Index: ./dit.c
*** /tmp/PATCHold/./dit.c	Mon Aug 10 00:08:06 1992
--- ./dit.c	Mon Aug 10 00:08:07 1992
***************
*** 12,18 ****
  
  #ifndef	lint
  static char SCCSid[] =
!     "@(#)dit.c: 1.19 Copyright 92/06/01 21:13:49 Chris Lewis";
  #endif
  
  extern struct cattab tabN[], tabS[], *extidx;
--- 12,18 ----
  
  #ifndef	lint
  static char SCCSid[] =
!     "@(#)dit.c: 1.20 Copyright 92/07/09 23:35:14 Chris Lewis";
  #endif
  
  extern struct cattab tabN[], tabS[], *extidx;
***************
*** 106,111 ****
--- 106,112 ----
  
      DBP((D_CAT, "After NULL\n"));
  
+ #ifdef DEBUG
      if (debug&D_CAT) {
  
  	for (ts = spctab; *ts; ts++)
***************
*** 113,118 ****
--- 114,120 ----
  		(*ts)->ch_catidx));
  
      }
+ #endif
  
      qsort(spctab, extcount, sizeof (struct cattab *), catcmp);
  
Index: ./troff2.c
*** /tmp/PATCHold/./troff2.c	Mon Aug 10 00:08:19 1992
--- ./troff2.c	Mon Aug 10 00:08:21 1992
***************
*** 12,18 ****
  
  #ifndef	lint
  static char SCCSid[] =
!     "@(#)troff2.c: 2.26 Copyright 92/06/01 21:17:26 Chris Lewis";
  #endif
  
  #define	ESC	0x80
--- 12,18 ----
  
  #ifndef	lint
  static char SCCSid[] =
!     "@(#)troff2.c: 2.27 Copyright 92/08/09 23:41:28 Chris Lewis";
  #endif
  
  #define	ESC	0x80
***************
*** 340,349 ****
  
  	c = getc(stdin);
  	if (c != 0x40) {
- 	    fprintf(stderr, "%s: first character 0x%02x - not CAT troff output.\n",
- 		progname, c);
  	    fprintf(stderr,
! 		"Probably ditroff.  Did you forget -N in command line or psrofflib?\n");
  	    exit(1);
  	}
  
--- 340,365 ----
  
  	c = getc(stdin);
  	if (c != 0x40) {
  	    fprintf(stderr,
! 		"%s: First character out of troff (0x%02x) isn't a C/A/T INIT opcode\n",
! 		    progname, c);
! 	    fprintf(stderr,
! 		"Either your troff is really ditroff (which needs a -N in psrofflib),\n");
! 	    fprintf(stderr,
! 		"or there was an early error in CAT troff.  Eg: command line error.\n");
! #ifdef DUMB
! 	    if (isprint(c)) {
! 		fprintf(stderr, "Possibly CAT error \"%c", c);
! #else
! 	    /* strings /bin/troff on SunOS show that all CAT errors start
! 	       with a capital letter, f, c or i. */
! 	    if (isascii(c) && (isupper(c) || strchr("fci", c))) {
! 		fprintf(stderr, "Very likely CAT error: \"%c", c);
! #endif
! 		while((c = getc(stdin)) != EOF && isprint(c))
! 		    putc(c, stderr);
! 		fprintf(stderr, "\"\n");
! 	    }
  	    exit(1);
  	}
  
Index: ./defs.h
*** /tmp/PATCHold/./defs.h	Mon Aug 10 00:08:34 1992
--- ./defs.h	Mon Aug 10 00:08:36 1992
***************
*** 9,15 ****
   */
  
  /*	Official Release and Patch level:	*/
! #define	T2VERSION	"@(#)PSROFF Copyright 92/06/01 Chris Lewis - R3 PL12"
  
  /*	Configuration parameters:
   */
--- 9,15 ----
   */
  
  /*	Official Release and Patch level:	*/
! #define	T2VERSION	"@(#)PSROFF Copyright 92/07/09 Chris Lewis - R3 PL13"
  
  /*	Configuration parameters:
   */
***************
*** 118,123 ****
--- 118,127 ----
  
  /*	The only advantage to commenting-out one of these is to make the
  	binary executable of troff2?? smaller.
+ 
+ 	Do NOT, repeat, do NOT define PSONLY.  This is for a special
+ 	stripped-down release of psroff.  If you define it with the
+ 	normal psroff release, the builds will fail miserably.
   */
  
  /*	Basic drivers: */
***************
*** 138,144 ****
  #define	PARTIAL	/* partial (not incremental) font downloading */
  
  #define	INCR	/* enable incremental font downloading (needs PARTIAL) */
! #endif
  
  #define	MDLF	16	/* Max # downloaded fonts permitted by your laserjet
  			   per *page*.  16 is correct for HPLJ+ and most II's.
--- 142,148 ----
  #define	PARTIAL	/* partial (not incremental) font downloading */
  
  #define	INCR	/* enable incremental font downloading (needs PARTIAL) */
! #endif	/* PSONLY */
  
  #define	MDLF	16	/* Max # downloaded fonts permitted by your laserjet
  			   per *page*.  16 is correct for HPLJ+ and most II's.
Index: ./Makefile
*** /tmp/PATCHold/./Makefile	Mon Aug 10 00:08:48 1992
--- ./Makefile	Mon Aug 10 00:08:50 1992
***************
*** 7,13 ****
  #    Function: Upper level makefile; configuration options.
  #
  #
! #ident  "@(#)Makefile: 2.33 Copyright 92/05/21 02:21:05 Chris Lewis"
  
  #	If you're not sure whether you have a System V make, leave
  #	this alone, and run the make anyways.  If it dies horribly
--- 7,13 ----
  #    Function: Upper level makefile; configuration options.
  #
  #
! #ident  "@(#)Makefile: 2.34 Copyright 92/07/09 23:36:01 Chris Lewis"
  
  #	If you're not sure whether you have a System V make, leave
  #	this alone, and run the make anyways.  If it dies horribly
***************
*** 320,325 ****
--- 320,326 ----
  	test -d $(LIBDIR)/adapters || mkdir $(LIBDIR)/adapters
  	test -d $(LIBDIR)/lib || mkdir $(LIBDIR)/lib
  	test -d $(RTMACDIR) || (mkdir $(RTMACDIR) ; chmod 755 $(RTMACDIR) )
+ 	test -d $(T2DIR) || (mkdir $(T2DIR) ; chmod 755 $(T2DIR) )
  	test -d $(FONTDIR) || (mkdir $(FONTDIR) ; chmod 755 $(FONTDIR) )
  	chmod 755 $(LIBDIR) $(LIBDIR)/adapters $(LIBDIR)/lib
  	rm -f $(BINDIR)/psroff.old
Index: ./psroff.S
*** /tmp/PATCHold/./psroff.S	Mon Aug 10 00:09:01 1992
--- ./psroff.S	Mon Aug 10 00:09:04 1992
***************
*** 7,13 ****
  #
  #	Specs:		troff2ps driver
  #
! #ident  "@(#)psroff.sh: 2.21 Copyright 92/06/01 21:21:20 Chris Lewis"
  
  LIBDIR="%%LIBDIR%%"
  FONTDIR="%%FONTDIR%%"
--- 7,13 ----
  #
  #	Specs:		troff2ps driver
  #
! #ident  "@(#)psroff.sh: 2.23 Copyright 92/08/09 23:44:43 Chris Lewis"
  
  LIBDIR="%%LIBDIR%%"
  FONTDIR="%%FONTDIR%%"
***************
*** 77,82 ****
--- 77,83 ----
  	    ;;
  	-g*)
  	    garg=$i
+ 	    ;;
  	-*)
  	    args="$args $i"
  	    ;;
***************
*** 228,233 ****
--- 229,240 ----
  fi
  
  t2arg="$t2arg $extraargs $garg"
+ 
+ #	Environment variable LPDEST overrides ptr in psrofflib
+ if [ -n "$LPDEST" ]
+ then
+     ptr=$LPDEST
+ fi
  
  #	command line -d option overrides ptr in psrofflib.
  if [ -n "$sptr" ]
-- 
Chris Lewis; clewis@ferret.ocunix.on.ca; Phone: Canada 613 832-0541
Psroff 3.0 info: psroff-request@ferret.ocunix.on.ca
Ferret list: ferret-request@ferret.ocunix.on.ca
Technical Details
Message-ID: <3703@ecicrl.ocunix.on.ca>
Path: arc1-ca.pugleaf.net!sparky!uunet!cs.utexas.edu!torn!cunews!revcan!ecicrl!clewis

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!cs.utexas.edu!torn!cunews!revcan!ecicrl!clewis
From: clewis@ferret.ocunix.on.ca (Chris Lewis)
Newsgroups: comp.sources.bugs,alt.sources
Subject: Official patch 13 for psroff 3.0
Message-ID: <3703@ecicrl.ocunix.on.ca>
Date: 11 Aug 92 08:01:41 GMT
Followup-To: comp.sources.bugs
Organization: Elegant Communications Inc., Ottawa, Canada
Lines: 679