[net.sources] notes on PROFF - Portable ROFF

oz@yetti.UUCP (Ozan Yigit) (01/15/86)

Some notes on PROFF:

	There is a naming clash in PROFF, which is a easy
	to fix, and if you ever want to use it under UN*X,
	[now why would you ever want to do such a thing ??]
	it MUST be fixed: PROFF uses an internal routine
	called brk, to introduce line break. This clashes with
	unix brk. Even if the loader did not throw up, you can
	never be sure things will be ok. The name is used
	in about three places throughout the source.

	There are some compiler warnings. May or may not be
	serious, depending on the system.

	The routine that converts numbers to roman numerals
	should be replaced with something simpler.

	Performance improvements: This thing could be speeded
	up by 20%, by diddling the code carefully, and getting
	rid of ratfor-to-c-conversion remnants. 

	Bolding should be done a la RUNOFF:
		write a line
		carriage return
		overprint line
	This would mean a major overhaul of the routines that
	handle line preperation for output. May well worth it.

	Macros should include some sort of conditional. That would
	make it much more powerful.

	A temporary I/O a la m4 divert/undivert would be really
	handy. After using the formatter for about year-and-a-half,
	that is what most users found to be a necessity. This would
	also facilititate, with some further diddling, some sort
	of footnote mechanism.

	If you want to hack it seriously, please contact me for
	further notes/ideas etc. Some commented-out entries
	in proffsym.new indicates couple of things I had in mind.

Oz
-- 
Usenet: [decvax|allegra|linus|ihnp4]!utzoo!yetti!oz
Bitnet: oz@[yusol|yuyetti]
		In the beginning, there was Word all right, except
		it wasn't fixed number of bits.

clewis@mnetor.UUCP (Chris Lewis) (01/15/86)

Something that Ozan forgot:

Users will probably want to add an "exit(0)" at the end of ltb's
"main" function.  

Something like:

#ifdef	vms
	exit(1)
#else
	exit(0)
#endif

Pyramids (f'r instance) don't have an implicit "exit(0)" at the end of a 
unreturned/unexitted main function - breaks the make of the lextab.
-- 
Chris Lewis,
UUCP: {allegra, linus, ihnp4}!utzoo!mnetor!clewis
BELL: (416)-475-8980 ext. 321