Subject: Bugs

From: nr (Norman Ramsey)
Date: Tue, 24 Jan 89 12:41:30 EST

> I would be more than happy to help beta test Spider.  I think it is a
> wonderful idea that seems very well implimented.  

I'm glad you think so.  I myself have some dissatisfactions with the
implementation, especially with the webkernel macros.  I hope to have
time to work them out this summer.

> I installed the
> webkernel you sent me (thanks), and it fixed most problems I was
> having.  However, when ceeweave->TeX comes across something like,
> 
> 	@u
> 	#include <stdio.h>
> 	#include <fcntl.h>
> 	#include "myinclude.h"
> 
> 	main()
> 
> things happen that I wouldn't expect.  First, the filenames in angle
> brackets get set in italics without the brackets.  I wouldn't expect
> this because it looks like c.spider has code to recognize and put in
> brackets.  "myinclude.h" is set in \tt with the quotes, which is what
> I would expect.

You found a bug in c.spider, which I have fixed.  Generally, the way
to detect such a bug is to put an @2 in a very small test program, and
then look at the resulting diagnostic output.  The numbers are numbers
of productions (from productions.list).  Anyway I changed the
following production so that it wouldn't swallow the angle brackets:: 

	preproc !(less|lesssimp|backslash|newline) --> preproc

> Second, if the first line of code is a preprocessor directive, it is
> indented, so that it lines up with main().  Subsequent directives are
> against the left margin.

A bug in Knuth's unfathomable macros.  I have hacked webkernel and
just hope I haven't broken anything else.

> I don't want to call these bugs since I don't know if what I'm seeing
> is what you intended or not.

Not.  I think my only nonstandard prettyprinting is of (old-style)
parameter declarations.

>  I am testing this on a Sun 3/60 running
> Mach (4.3 BSD superset), using TeX 2.9 (generated by web2c).  I can
> also test on Vaxen and IBM RT's, but have not done so yet.  

You will have trouble using the makefiles on other machines---I
unknowingly used some features specific to Sun make (the @#$(&% man
page didn't say `warning, not portable'), so things like `make boot'
and `make distribution' may not work right.  But `make weave' and
`make tangle' work fine on a VAX running BSD4.3.

> I'm
> willing to help out with this any way I can as long as I don't get too
> sidetracked from my regular work.  Thanks for your help.

I'm looking for a guinea pig to try to write a Spider file for ANSI C.
Be aware that C is by far the most complicated language to prettyprint
(of the ones in the distribution).

Norman