[gnu.ghostscript.bug] Bugs in Ghostscript 1.2

ghost@SUN.COM (L. Peter Deutsch) (03/27/89)

> From: uunet.uu.net!mcvax!kth!draken!liuida!prosys!ath  (Anders Thulin)
> Organization: Programsystem AB, Linkoping, SWEDEN
> Subject: Re: Bugs ...
> Message-Id: <403@helios.prosys.se>
>
> * Invoking gs with an unknown option (-p) produces an 'Unknown switch
>   -p' message and a core dump. The core dump seems unnecessary.
>   gsmain(gsmain.c) calls abort() rather than exit(). 

I agree, this is silly.  On the Ghostscript development system,
abort() doesn't produce a core dump, and I didn't know it did this on
Unix systems.  I've changed all occurrences of abort() to exit(1).

> * There is no statusdict. Hence some 'investigative' programs will
>   fail. The one I was using was PSDoctor 1.0.0, recently distributed
>   on Usenet. Adding some definitions in ghost.ps fixed the problem.
>   Note: my ideas of printer names, etc. might not be yours.

I don't have much enthusiasm for catering to PostScript Programs that
depend on features specific to the LaserWriter.  What I've done is
made a separate file, statusd.ps, that contains a version of your
suggested statusdict definitions.  I've changed ghost.ps so it
creates an empty statusdict in systemdict: if you want the full set
of definitions, you can use a script that reads in statusd.ps when
you fire up Ghostscript, or you can add
	(statusd.ps) run
to your version of ghost.ps.

> * PSDoctor also showed a problem with 'usertime'. The call to clock()
>   in gs_usertime(gsmisc.c) returns microseconds rather than
>   milliseconds as wanted.

Thanks for the fix.

> * Due to the redefinition of findfont in gfonts.ps it was impossible
>   to create user defined fonts (see red book, p. 101-102). Changing the
>   redefinition at bit fixed the problem. 

Thanks for the fix.

> No patches for these:
> 
> * Halftone screens appear to be aligned with user coordinates rather
>   than device coordinates. See the star example on page 51 in the red
>   book.

I assume you mean p. 51 of the blue book, yes?

This must be a bug in the X back end: it works just fine on the PC.
I remember having a lot of trouble with halftones under X (one of
several X facilities that I tried using and that I never figured out
how to make work).  If someone else can track this down, I'd be more
than happy to install a fix.

> * The lineofcircles example in the blue book (p. 69-70) never
>   terminates.  Debug printouts of 'xpos', 'pagewidth', and 'xpos
>   pagewidth le' show that although xpos is increased beyond pagewidth
>   (i.e. 612), the expression 'xpos pagewidth le' doesn't become false
>   when x > pagewidth.

Someone else reported this problem too, and I'm quite puzzled by it.
I ran the example on a Sun-4 using the 1.2 distribution sources, and
it terminated properly.  The definition of the 'le' operator is in
file zrelbit.c, procedures zle and obj_compare: if you could take a
little time to analyze the failure, I'd be very grateful.

> My suggested patches to the 1.2 distribution:

Your patches are fine, the ones I'll be distributing are essentially
the same.

Thanks for helping improve Ghostscript!

		- P. D.

		aladdin!ghost@parcplace.com
		...{sun!}parcplace!aladdin!ghost
		P. O. box 60264, Palo Alto, CA 94306