Wed Jul 12 00:16:59 1989  Jim Kingdon  (kingdon at apple-gunkies.ai.mit.edu)

	* io.c: Remove #ifdef USG and always include <fcntl.h>.

	* version.h:  New file containing version number.
	Makefile:  Add version.h.
	args.c (pro, set_option): Add -version option and PRO_PRSTRING.
	indent.texinfo (Miscellaneous options): Document -version.

Tue Jul  4 22:19:36 1989  Jim Kingdon  (kingdon at apple-gunkies.ai.mit.edu)

	* indent.c (main): Put call to bakcopy() inside if (output == 0)

	* io.c: Include <fcntl.h> rather than <sys/file.h> (#ifdef USG)

	* indent_globs.h, io.c, lexi.c: Replace realloc with xrealloc

	* indent_globs.h, parse.c, args.c, io.c: Remove function
	prototypes, void *, (read_file)variable size array.

Mon Jul  3 15:04:29 1989  Jim Kingdon  (kingdon at apple-gunkies.ai.mit.edu)

	* Everywhere: use xrealloc and xmalloc instead of realloc and malloc.

	* globs.c: Give the program name in the error messages.

	* io.c (diag): Change error messages to <filename>: <line #>: form.

	* lexi.c (lexi): Rewrite string/character constant copying
	loop to fix problems with backslashes.  Change error message
	for unterminated constant to use terminology consistent with
	K&R and to use the diag routine.

Sun Jul  2 16:51:23 1989  Jim Kingdon  (kingdon at apple-gunkies.ai.mit.edu)

	* parse.c (parse): Replaced parser_state_tos->tos++ with inc_pstack
	in one place it had been missed before.

	* parse.c, indent_globs.h: Move Inc_pstack to parse.c and make
	it a function to facilitate debugging (it is probably getting
	a bit big to be inline anyway).

	* indent_globs.h: Have all of the parser stacks (p_stack, il,
	and cstk) share a common allocated size (p_stack_size).
	(Inc_pstack) realloc them all, not just p_stack.
	indent.c (main): Change all references to {il,cstk}_size to
	p_stack_size.

	* indent.c (main): In initialization of
	parser_state_tos->p_stack, etc., multiply size given to malloc
	by sizeof (@var{whatever}).

        * indent_globs.h (Inc_pstack): multiply size given to realloc
	by sizeof (enum codes).
	
	* indent.c (main): In the main case statement, in the lparen
	case, change parser_state_tos->p_stack =
	xrealloc(parser_state_tos, . . . to . . . xrealloc
	(parser_state_tos->p_stack, . . .
	                 ^^^^^^^^^
        This fixes a bug which caused core dumps.

Sat Jul  1 23:02:50 1989  Jim Kingdon  (kingdon at apple-gunkies.ai.mit.edu)

	* args.c: Add -kr option to pro.

Fri Jun 30 14:06:50 1989  Jim Kingdon  (kingdon at hobbes.ai.mit.edu)
	(actually these changes were made some time ago)
	* indent.c: Treat va_dcl specially so we indent it right.

	* lexi.c (lexi): Make it so that initializations will get
	lined up correctly by uncommenting out code that says
	code = ps.block_init ? lparen : lbrace;
	
	* indent_codes.h: eliminated and put into indent_globs.h.
	Converted from #defines to enum.
	lexi.c, parse.c, indent.c, perhaps others: various variables changed
	to enum	codes from int.

	* args.c: Add explicit flag to pro, and to set_option().
	Add support for PRO_SETTINGS.  Streamline pro to eliminate
	PRO_SPECIAL.  Use enum for PRO_*.
	
	* indent.c (bakcopy): Give error from perror instead of vague
	error message.
	
	* indent.c (bakcopy): bakfile dynamically allocated.

	* io.c (dump_line): fix bug involving a formfeed on a line of
	its own.

	* io.c (read_file, fill_buffer): read input file into memory.
	change token, procname to be a pointer into input file.
	indent.c (main): use token as pointer into input file.  Move
	troff mode string constant stuff here from fill_buffer.
	io.c, indent.c: change save_com to be realloc'd as necessary.

	* indent.c (main): Change it so 'indent foo bar baz' gives an
	error message without clobbering bar.

Tue Jun 27 03:10:53 1989  Jim Kingdon  (kingdon at apple-gunkies.ai.mit.edu)

	Note: Up until this point this ChangeLog is fairly sketchy.
	From here on I promise to log all changes.

	* all files: Change the parser_state structure and the stack
	of parser states to be a dynamically allocated linked list
	instead of a 5 member structure.  Also change the p_stack, il,
	cstk, and paren_indents arrays within the parser state to be
	dynamically allocated and realloc'd as necessary.

Wed Jun 21 21:28:37 1989  Roland McGrath  (roland at hobbes.ai.mit.edu)

	* indent_globs.h: Use ANSI token pasting #ifdef __STDC__.
	(check_size): Check the return value of realloc and exit if it's nil.

	* lexi.c (user_specials{_max,_idx}): New variables for user-defined
	specials.
	(addkey): Define new specials in user_specials, which is dynamically
	expanded if necessary.

Thu Jun  8 15:45:07 1989  Jim Kingdon  (kingdon at spiff)

	* Add -fca option.  If -fca is set, comments will be reformatted.
	If -nfca is set, comments will be left untouched (as with
	comments starting with '*').  The default is -fca.

	* Add -cp option.  The column number for comments to the right
	of #else and #endif.  The default is -cp33.

	* Add -ss and -nss option.  When specified, -ss places a space
	before a semicolon when it occurs after a while or for, e.g.
	  while (*p++ == ' ') ;
	whereas -nss would give
	  while (*p++ == ' ');
	The default is -nss.

Tue Jun  6 10:43:20 1989  Jim Kingdon  (kingdon at hobbes.ai.mit.edu)

	* Add -bli option
	This allows you to indent a compound statement within an if,
	while, etc., e.g. -bli2 gives
	if (foo == bar)
	  {
	    baz = 2;
	  }
	whereas -bli0 (the default) gives
	if (foo == bar)
	{
	  baz = 2;
	}

	* Make -ip numeric
	The -ip parameter now is numeric--the value is the number of
	spaces to indent them.  The -d, -ci, and -cli parameters are also
	now in spaces rather than indent levels.

Local Variables:
mode: indented-text
left-margin: 8
version-control: never
End: