Wed Jun 16 15:32:36 1993  Joseph Arceneaux  (jla@wookumz.gnu.ai.mit.edu)

	* Version 1.8 released.

	* makefile.in: New variable VMSFILES describing the files needed
	for indent under VMS.
        Removed comments.texinfo from list of files to tar.
	* configure-6-93:
	* configure.in-693: Copies of the configure script and its input
	file from the autoconf directory.  The reliability of the ones in
	the autoconf directory is questionable.  `configure' and
	`configure.in' are now links to these files.

	* version.h: Comments rewritten.

Tue Jun 15 10:14:47 1993  Joseph Arceneaux  (jla@betty-blue.gnu-age.com)

	* Thanks to MEHRDAD@glum.dev.cf.ac.uk for the VMS patches.
	* io.c (read_file): Use SYS_READ, conditional expansion, instead
	of read.
	(vms_read): Substitute for `read' under VMS.

	* backup.c: Set `simple_backup_suffix' from new define
	BACKUP_SUFFIX_STR.  Define this (to "~") if undefined.
	Likewise, BACKUP_SUFFIX_CHAR and BACKUP_SUFFIX_FORMAT.
	* sys.h: Conditional defines for VMS added.
	* args.c (set_profile): Use new define PROFILE_FORMAT for
	formatting homedir/profile path.

Mon Jun 14 11:37:14 1993  Joseph Arceneaux  (jla@betty-blue.gnu-age.com)

	* indent.texinfo (Comments): Section completely rewritten.  Old
	 text in file old-comments.texinfo.

	* indent.texinfo (Statements): Explained how -bl and -br affect
	struct declarations.

	* indent.c (indent): In case newline, modified conditional
	determining whether or not to call `dump_line' to avoid doing so
	after a right brace if user has specified `btype_2'.  This makes
	enums and structs more consistent -- in default mode, the name of
	the struct goes on a separate line from the rbrace and on the same
	line in K&R mode, and does so consistently whether in or outside a
	procedure block.

	* sys.h: Added some defines for compilation under MS-DOS, under
	#ifdef __MSDOS__.  Thanks to hnyman@lesti.hut.fi.

	* io.c (read_file):  Adjust `fileptr.size' to be what `read'
	returned, if different from the results of `stat'.  This is
	because the DOS `read' converts the CR-LF on disc to '\n' in
	memory.

Fri Jun 11 12:39:38 1993  Joseph Arceneaux  (jla@betty-blue.gnu-age.com)

	* lexi.c (lexi): Accept LL and ULL as suffixes to numbers as well.
	Suggested by rdh@key.amdahl.com.

	* indent.c (indent): In case `rbrace', when conditionally setting
	`force_nl', extended the first clause of the if conditional to
	make `rw_decl' equivalent to `rw_struct_like', and also depend on
	`btype_2'.  This keeps the structure name on the same line when
	running with -kr option.
	* parse.c (parse): In case `lbrace', in conditional for adding
	`brace_indent', also consider `btype_2'.

Thu Jun 10 17:21:54 1993  Joseph Arceneaux  (jla@betty-blue.gnu-age.com)

	* io.c (count_columns): Rewritten and renamed from `count_spaces'.

Wed Jun  9 12:45:07 1993  Joseph Arceneaux  (jla@betty-blue.gnu-age.com)

	* indent.texinfo (Disabling Formatting): New section describing
	the new feature implemented below in io.c.

	* io.c (compute_code_target): Rewritten to be clearer.  Note that
	the use of `max_col' is inconsistent with it's use elsewhere,
	where it is primarily for use with comment formatting.
	* (fill_buffer): Rewritten completely.  Now handles command
	comments /* *INDENT-OFF* */ and /* *INDENT-ON* */.
	`inhibit_formatting' is now a local variable;  the reference to it
	in `dump_line' has been removed.  Control of formatting is handled
	entirely within `fill_buffer'.

Tue Jun  8 19:03:22 1993  Joseph Arceneaux  (jla@betty-blue.gnu-age.com)

	* indent.c (indent): In case `lbrace', when resetting
	..->decl_on_line, also reset ->in_decl.  Not doing this had the
	effect that the first statement after the opening '{' of a
	procedure would not be properly continued if it was broken across
	two lines.  There is probably a better place to do this.

	* io.c (dump_line): In the loop which outputs `s_code', removed
	the stupid tab calculations, as well as the undocumented feature
	for printing out the character '0200'.

	* parse.c (parse): In case `lbrace', if last reserved word was
	`rw_struct_like', don't indent for struct if the last token was an
	`rparen'.  This fixes a bug with a struct pointer parameter.

	* regression/TEST: Added new test struct_param.c.

Mon Jun  7 17:01:23 1993  Joseph Arceneaux  (jla@betty-blue.gnu-age.com)

	* indent.c (indent): When handling an embedded comment, if there
	is code on the line, set `embedded_comment_on_line' to 2,
	otherwise to 1, to communicate to dump_line () if the line starts
	with code or comment text.
	* io.c (dump_line): In section for code (s_code != e_code), if
	`embedded_comment_on_line' is 1, then use comment indentation,
	otherwise, use code indentation.

Fri Jun  4 18:10:54 1993  Joseph Arceneaux  (jla@betty-blue.gnu-age.com)

	* pr_comment.c (print_comment): When looking at a leading '*' to
	decide if it begins the second line of a starred boxed comment (by
	looking at what column it was in), compare that column to
	`found_column' rather than `start_column'.

	* indent.c (indent): In case preesc, when handling stuff following
	the '#', set `quote' when we encounter the quoting character the
	first time.  Also merged cases '\'' and '"'.

	* regression directory:  Merged all the new comment code tests
	into the standard regression tests.

Wed May 19 12:11:10 1993  Joseph Arceneaux  (jla@betty-blue.gnu-age.com)

	* pr_comment.c (print_comment): At `end_line:', don't compress
	into newlines if it's the first line (because it has the starting
	delimiter).

	* pr_comment.c (print_comment): Moved checks for `buf_ptr' past
	end outside of while loops (only '\n' and '\0' end the buffer, and
	changed "buf_ptr >= buf_end" to "buf_ptr == buf_end".

	* parse.c: `parser_state_tos' elements `comment_delta' and
	`n_comment_delta' eliminated.
	* indent.h: Ditto.
	* pr_comment.c: Ditto.

	* io.c: Old comment code removed.

	* pr_comment.c (print_comment): New variable `visible_preamble'
	set if the preamble is not whitespace.  Used to make sure lines
	which only have whitespace on them become single newlines.
	Don't use `postfix_blankline_requested' to add newlines.  This
	screwed up the algorithm for dealing with paragraph breaks.
	In the `end_line:' section, only advance `buf_ptr' if it wasn't a
	paragraph break, because in that case we have scanned ahead a
	character to detect "\n\n".

Tue May 11 17:26:18 1993  Joseph Arceneaux  (jla@betty-blue.gnu-age.com)

	* pr_comment.c (print_comment): For comment formatting, changed
	comparison of `column' to `right_margin' from >= to >.

Tue Apr  6 17:51:41 1993  Joseph Arceneaux  (jla@betty-blue.gnu-age.com)

	* pr_comment.c (print_comment): Also consider the characters '='
	and '_' to make up the top line of a boxed comment.
	* comments.texinfo: Changed to reflect this.

Wed Feb 24 15:22:51 1993  Joseph Arceneaux  (jla@wookumz.gnu.ai.mit.edu)

	* makefile.in: Added "-O" to CFLAGS.

Thu Feb 11 15:54:10 1993  Joseph Arceneaux  (jla@wookumz.gnu.ai.mit.edu)

	* Version 1.7 released.

	* makefile.in: Renamed from zmakefile.in.
	All "-f zmakefile" arguments to `MAKE' removed.  Dependencies on
	"zmakefile.in" changed to "makefile.in".

	* Makefile: Changed references to "zmakefile" to "makefile".

Wed Feb 10 12:25:04 1993  Joseph Arceneaux  (jla@betty-blue.gnu-age.com)

	* indent.c (indent): In case preesc, when going through the line,
	consider EOL as terminating a C++ comment.

Mon Feb  8 04:45:06 1993  Joseph Arceneaux  (jla@betty-blue.gnu-age.com)

	* memcpy.c: Function `memcpy' surrounded by #ifdef USG.  USG is
	only defined if `configure' did not find `bcopy'.  memcpy.o should
	only be loaded if `configure' did not find it.
	* sys.h: If USG not defined, define memcpy to be bcopy.

	* makefile.in: Renamed from zmakefile.in.
	* configure: Use "makefile" rather than zmakefile.  Explicitly
	name `indent' in rule for same.

	* indent.texinfo: Updated copyright and version information.
	Added new section Bugs.  Added "nlps" option.

	* io.c (pad_output): Rewritten.  If `tabsize' is less than one,
	use spaces rather than tabs.

	* sys.h: #define TAB and EOL.
	Changed type of element `size' in struct file_buffer to unsigned
	long.

	* indent.h, io.c: Type of `in_prog_size' changed to unsigned long.

	* indent.c, parse.c, pr_comment.c, lexi.c, io.c: Use new macros
	TAB and EOL instead of '\t' and '\n'.

	* args.c, indent.c, backup.c, io.c, parse.c: Cast integer
	arguments to printf.

	* indent.c:
	* lexi.c:
	* parse.c: Added missing parameters to calls to `diag'.

	* args.c: Added new long option "remove-preprocessor-space".

Fri Feb  5 17:40:08 1993  Joseph Arceneaux  (jla@betty-blue.gnu-age.com)

	* indent.c (indent): In case semicolon, case lbrace, and case
	rbrace, disabled code which checked paren levels (with
	parser_state_tos->p_l_follow) to enable passing weird stuff to
	macros.  See comments ending "-jla".
	(indent): In case lparen, if in a declaration, don't indent out to
	`dec_ind' if the paren was '['.
	* Removed several global variables which were shadowed by locals
	to function `indent'.

	* args.c: Turned off, by default, "lps" option.  Added "nlps"
	option.

	* io.c (current_column): New function.

	* lexi.c: In case ':', set parser_state_tos->want_blank under
	certain conditions.

Tue Feb  2 14:03:39 1993  Joseph Arceneaux  (jla@betty-blue.gnu-age.com)

	* indent.c (indent): Handle C++ comments, with special attention
	to the code for case preesc.

Thu Jan 28 17:31:57 1993  Joseph Arceneaux  (jla@betty-blue.gnu-age.com)

	* parse.c (reset_parser): Initialize parser_state_tos->com_col to
	0.

Wed Jan 27 13:45:16 1993  Joseph Arceneaux  (jla@betty-blue.gnu-age.com)

	* indent.c (indent): Handle new code type `cplus_comment'.

	* lexi.c (lexi): Handle C++ comments ("//").

	* indent.h: Macros CHECK_CODE_SIZE and CHECK_LAB_SIZE moved to
	indent.c.  Macro CHECK_COM_SIZE moved to pr_comment.c.
	New code, `cplus_comment'.

	* pr_comment.c (pr_comment): Removed variable `just_saw_decl' and
	it's use.

Sat Jan 23 19:36:31 1993  Joseph Arceneaux  (jla@betty-blue.gnu-age.com)

	* indent.c (indent): Only reset `com_ind' if it's less than or
	equal to 0.  Don't call parse (semicolon) initially.  Skip any
	leading newlines, resetting col to 1. Don't set
	`parser_state_tos->ind_level' and `parser_state_tos->i_l_follow'
	if col > ind_size.

	* parse.c (reset_parser): If tabsize is 0, set it to 1.

Fri Oct  9 21:01:49 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)

	* indent.c (indent): Restuctured the conditional for setting
	`force_nl' in case rbrace to be clearer.  Also, only check whether
	to set `postfix_blankline_requested' we're not setting `force_nl'.

Wed Oct  7 16:15:25 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)

	* io.c (diag): Only one format of error message now.  Output it on
	the standard error in any case.

	* indent.c (indent): In case decl, don't call "parse (decl)" if we
	are in a "sizeof".

	* args.c: Make default value for `format_col1_comments' be false,
	to correspond with the "-gnu" spec.

Fri Aug 28 19:15:50 1992  Joseph Arceneaux  (jla@wookumz.gnu.ai.mit.edu)

	* args.c (set_option): Added missing argument to call to
	`set_option'.

Mon Aug 24 12:47:32 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)

	* sys.h (INLINE): Define this to "__inline__" if __GNUC__ is
	defined, not "inline".  Good thing we have standards...

	* indent.c (indent): New variable `embedded_comment_on_line' set
	if an embedded comment is found.
	* io.c (dump_line): Increment `com_lines' in the case where the
	comment buffer is empty, but `embedded_comment_on_line' is true.
	Clear that variable in both cases.  This makes indent include
	embedded comments in its count of total comment lines.

	* io.c (read_stdin): If the input buffer is realloc'd, update the
	character pointer `p'.

Wed Aug 19 18:25:48 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)

	* Version 1.6 released.

	* indent.c (indent): In case comma, use `tabsize' rather than 8 to
	determine if we're past max_col.
	In case newline, also dump the line if we are past max_col.

Fri Aug 14 19:08:04 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)

	* io.c (dump_line): Test `swallow_optional_blanklines' separately
	from (prefix_blankline_requested && not_first_line).  Makes "-sob"
	work properly.

	* indent.c (indent): Intialize several local variables to 0.

Tue Aug 11 18:02:38 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)

	* indent.c (indent): In case rbrace, add clause to conditional for
	setting `force_nl'.  The clause forces a newline after '}' in most
	cases.
	In case swstmt, set `parser_state_tos->in_decl' to false, since we
	know we're not in a declaration if have just seen "switch" (of
	course, who knows what indent might think about things).  This
	corrects the indentation of a case label following the lbrace of
	the switch.

Mon Aug 10 16:23:54 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)

	* indent.gperf: "return" generates `rw_return', not `rw_break'.
	How did this happen?  I didn't make this change, and it was not
	present in indent 1.4.  Doubtless this insidious program modifies
	itself destructively...
	* lexi.c (hash, is_reserved): regenerated from indent.gperf.

	* args.c: Make the -gnu setting specify "-bli2" rather than
	"-bli4".

	* lexi.c (lexi): Accept 'F' suffixes on numeric constants.

	* sys.h Require "__GNUC__" to define INLINE, not "__STDC__".

Mon Aug  4 21:22:54 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)

	* Version 1.5 released.

Mon Aug  3 21:14:40 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)

	* indent.c (indent): In case rparen, removed the change of Jul 28.
	This is now done if the case mask fails and
	parser_state_tos->in_decl is true and ..->block_init is false.
	The old change broke the "-ncs" feature.  Perhaps this could have
	been done otherwise by using ..->last_u_d.
	Also, decrement `parser_state_tos->paren_depth' immediatly.

	* All source files formatted with ./indent.

	* pr_comment.c (pr_comment): If `parser_state_tos->box_com' is set
	(which means that the comment is presumed to be hand-formatted),
	set `parser_state_tos->n_comment_delta' to
	(1 - parser_state_tos->com_col), rather than using `count_spaces'
	to calculate the space up to the comment column.  Not only is this
	simpler, but the old code used `cur_line' to count those spaces,
	which was pointing to the *NEXT* line in some cases (because some
	code in indent () which ignored newlines (like in the case of
	multi-line comments after #define statments) called fill_buffer ()).
	Another example of just how brain damaged this code is.  For more
	extreme self-abuse, look a the interaction between pr_comment ()
	and dump_line ().

Sun Aug  2 02:10:32 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)

	* pr_comment.c (pr_comment): When computing
	`parser_state_tos->com_col' for beyond the normal comment
	position, use (tabsize - 1) instead of 7.

Wed Jul 29 22:50:45 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)

	* lexi.c (lexi): If `buf_ptr' == '(' after scanning an alphanum
	which is not a keyword, add clause that paren_depth must be 0
	before considering this as a possible function definition.

Tue Jul 28 17:17:08 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)

	* parse.c (parse): In case lbrace, handle state of being in a decl
	specially: If this brace succedes a struct-like thing and it goes
	on a line by itself (! btype_2), then add `brace_indent' to the
	amount of indentation.  This make GNU-style indentation of
	structures, etc. work properly.

	* indent.c (indent): In case rparen, if not the beginning of the
	code, and in_decl, set `parser_state_tos->want_blank'.  This is to
	handle ensure a space before the last rparen of cases like
	"int (*fp ()) ()".

Fri Jul 24 18:53:15 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)

	* indent.c: Changes to handle spaces between options and their
	values.  It would be better to use `getopt', but this change is
	much simpler.
	Declaration of `set_option' changed to return int.
	(main): Increment `i' by the value of `set_option ()'; also, pass
	argv[i + 1] as second parameter to `set_option'.
	* args.c (set_option): Take new parameter `param'.
	New label `arg_missing', just before label `found', to handle
	missing option value error.
	If `param_start' is 0, set it to `param'.
	(scan_profile): Rewritten to look at two entries at once, and pass
	both to `set_option'.

Wed Jul 22 15:55:56 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)

	* indent.c (indent): In case lbrace, set
	`parser_state_tos->want_blank' under certain conditions if not at
	beginning of line and `btype_2' was specified.

	* indent.c: Macro `need_chars' moved here from indent.h.

	* io.c (read_file, read_stdin): No longer appends " \n" to the end
	of the file, which is now simply delimited with '\0'.  xmalloc 2
	less bytes for the buffer.
	(fill_buffer): Stop and set `had_eof' when '\0' is
	encountered in the file text, then return immediately.
	* lexi.c (lexi): New case in main switch statement for '\0', which
	indicates eof.  Removed code to set this in case '\n'.

Fri Jul 10 14:45:25 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)

	* lexi.c (): If keyword "struct" was found inside of parens
	(case rw_struct_like:) set parser_state_tos->cast_mask before
	breaking.

Wed Jul  8 21:11:01 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)

	* lexi.c (lexi): Accept 'U' and "UL" suffixes on integer
	constants.

Fri Jul  3 16:05:45 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)

	* indent.c (indent): For cases unare_op and comma, don't space out
	to decl_indent (dec_indent) if we are inside parens
	(parser_state_tos->paren_depth > 0).

Thu Jul  2 13:36:50 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)

	* indent.c (indent): In case rparen, if paren starts the line,
	check that paren_level is greater than zero before using it to
	index `paren_indents'.

	* args.c: New variable `leave_preproc_space'.  Set by new option
	"-lps".
	* indent.h: Declare `leave_preproc_space'.
	* indent.c (indent): In case preesc, don't ignore blanks after '#'
	if `leave_preproc_space' is set.
	* indent.texinfo: Entries added for new option "-lps".

	* indent.c: At the end of case preesc, call dump_line() if this
	appears to be a case where it won't get called when processing the
	newline character.

Wed Jul  1 16:12:57 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)

	* lexi.c (hash, is_reserved): Regenerated (from gperf) with new
	words "volatile" and "const".

	* args.c: Removed the trailing comma from the last element of enum
	profile.  This breaks some compilers.

	* Makefile: Changed to drive the configuration process.
	* zmakefile.in: Renamed from Makefile.in
	* CONF-README: Renamed from INSTALL

Tue Jun 30 21:34:16 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)

	* globs.c (mymemcpy): Function deleted.
	* sys.h: Declarations and defines for mymemcpy, etc, removed.
	* indent_globs.h: All references to memcpy removed.
	* backup.c: `mymemcpy' changed to `memcpy'.
	* indent.c: Ditto.
	* io.c: Ditto.

	* Makefile.in:
	* INSTALL:
	* configure:
	* configure.in:
	* memcpy.c:     New files.

Sun Jun 14 13:38:12 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)

	* Version 1.4 released.

Fri Jun 12 15:02:37 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)

	* globs.c (mymemcpy): Now a void function.  Don't return anything.

	* io.c (dump_line): When printing label, use `tabsize' to
	increment target if `com_st' contains tabs.  Also use
	`tabsize' to calculate target when it's less than zero.

Thu Jun 11 20:27:48 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)

	* indent.c (indent): When token_type is a binary_op, if
	parser_state_tos->want_blank is not true, but the preceding
	character is not a space, put one on the line.

	* Removed variable `sccsid' from all files.

Wed Jun 10 13:00:26 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)

	* args.c: Added long option name "dont-space-special-semicolon"
	for -nss.

Tue Jun  9 13:01:21 1992  Joseph Arceneaux  (jla@geech.gnu.ai.mit.edu)

	* Makefile: Automatically make the files README and RELEASE-NOTES.

	* sys.h: Provide defines for using memcpy or bcopy.

	* globs.c: `mymemcpy ()' only defined #ifndef mymemcpy.

	* indent.c (main): Set `in_name' to the current input file name.

	* io.c (dumpline): Check parser_state_tos->paren_level before
	using it to index parser_state_tos->paren_indents.

Mon Jun  8 17:55:07 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)

	* lexi.c (lexi): In conditional (paren_count == 0), add '=' to the
	characters (along with ';', ',', and '(') which constitute a
	function definition.  This was to cause an ugly declaration from
	libc ("int (*foo) __P ((int bar)) = bax;") to remain on one line.
	Note that this is not valid C.

	* indent.c (main): When indenting multiple output files, make sure
	to close each output file before continuing.

Fri Jun  5 13:56:54 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)

	* io.c (read_file): Use mymemcpy() instead of bcopy();

	* backup.c (max_version):  Don't free dirname unless it was malloc'd.

Wed May  6 02:01:18 1992  Joseph Arceneaux  (jla@geech.gnu.ai.mit.edu)

	* Version 1.3 released.

	* indent.texinfo:  Reorganization of the "Invocation" part, and a
	new menu entry "Backup files", as well as corrections throughout.
	A new option "nip" added.

	* indent.c (main): New variable `using_stdin', used to indicate
	when `-' was specified on the command line.

Tue May  5 21:28:06 1992  Joseph Arceneaux  (jla@geech.gnu.ai.mit.edu)

	* args.c: Set default for `decl_com_ind' to 33.  If
	BERKELEY_DEFAULTS is defined, default `continuation_indent' to 4.

Sun May  3 00:43:10 1992  Joseph Arceneaux  (jla at hugo)

	* parse.c (reduce):  when reducing <stmt><dolit>,
	do set i_l_follow to il[parser_state_tos].  This was removed
	earlier after a new reduction was added, but this obviously fixes
	some bugs.  It will stay if indent passes all the old tests.

	* args.c (set_option):  When calling `addkey' to add a user
	identifier, make it type 'rw_decl' since these are supposed to be
	typedef identifiers.
	Removed "-d4" spec in "-orig" option settings.
	Made default for "-fca" be false.

	* args.c (set_profile): Only read one profile.  The one in the
	current directory has priority.  Return the path of the profile read.
	* indent.c (main): If `verbose' and we've read a profile, tell the
	user on the stderr.

Sat May  2 18:33:14 1992  Joseph Arceneaux  (jla at hugo)

	* args.c: `Bill_Shannon' replaced with `blank_after_sizeof'.
	indent.c: Likewise.
	indent.h: Likewise.

	* args.c: New variable, exp_nip, for new option "-nip", which is
	equivalent to "-ip0".  Long option name is
	"no-parameter-indentation".

	* config.sh: New shell script which generates "dirent_def.h", and
	include file with directory reading definitions.
	* Makefile:  Take "config.sh" and "dirent_def.h" into account.

	* backup.c: Make only simple backups if we can't read directories
	(NODIR is defined).  Functions for numbered backups conditionally
	defined.
	Documented all functions.

	* indent_globs.h:  Broken into two new files, indent.h and sys.h.
	All files changed accordingly, including the Makefile.

Thu Apr 30 14:53:33 1992  Joseph Arceneaux  (jla at hugo)

	* backup.c, backup.h: New files with backup routines.
	* io.c (make_backup): Moved into backup.c.
	* io.c (sys_error): No longer static, called from make_backup.

Wed Apr 29 14:56:10 1992  Joseph Arceneaux  (jla at hugo)

	* args.c: Make default value for `else_endif_col' 1, as in "-gnu"
	settings.

Tue Apr 28 23:18:07 1992  Joseph Arceneaux  (jla at hugo)

	* indent.c (main):  Only output to stdout if stdin is used and no
	output file is specified, or one input stream is used and -st is
	specified.
	* args.c: New variable `use_stdout' set with option "-st".
	* indent_globs.h: Declare `use_stdout'.

Sun Mar 22 14:59:35 1992  Joseph Arceneaux  (jla at hugo)

	* parse.c (init_parser, reset_parser):  Two new functions which
	respectively allocate the neccessary parser data structures, and
	initialize the parser state.
	* indent.c (indent): New function which does the actual indenting
	of it's input, which comes in the form of a file_buffer pointer.
	(main): Command line scan changed to use new option "-o" and read
	possibly multiple files into new variable `in_file_names'.
	Main body changed to use new `indent' function on possibly
	multiple files, and accomodate default standard io specification.

	* io.c (make_backup, read_file, read_stdin):  All file io routines
	rewritten (`make_backup' formerly `bakcopy').  read routines
	return pointer to new structure 'file_buffer'.
	`make_backup' only makes backup file, no longer sets up original
	file for writing.
	* indent_globs.h:  Declare struct file_buffer, and io routines.

Fri Mar 20 18:33:18 1992  Joseph Arceneaux  (jla at hugo)

	* args.c: Option "-st" and associated variable `use_stdinout'
	removed.  Option "-o" and associated variable `expect_output_file'
	added.

Mon Feb  3 20:22:04 1992  Joseph Arceneaux  (jla at churchy.gnu.ai.mit.edu)

	* args.c: If BERKELEY_DEFAULTS is defined, use the original
	defaults rather than GNU style.

	* Version 1.2 released.

Thu Jan 23 14:02:06 1992  Joseph Arceneaux  (jla at wombat.gnu.ai.mit.edu)

	* Makefile: info version of manual included in distribution.

	* args.c: New long options "berkeley-style", "berkeley" added
	which correspond to original style.

	* lexi.c ():  Added explicit parens in checks for alphanums.
	* indent.c (main):  On switch default when searching brace, added
	explicit parens to 2nd if statment.
	* indent_globs.h, io.c: Made variable `in_prog_size' unsigned.
		 
Wed Jan 15 11:59:35 1992  Joseph Arceneaux  (jla at hugo)

	* args.c:  Accept "-gnu" option.

	* indent.c (main): In case rbrace, don't use ind_level and il[tos]
	as criteria for setting search_brace.  This allows "-ce" to work
	more strictly.

	* indent.c (main): In case lparen, let '(' after an ident which is
	rw_return begin casts.
	* lexi.c (lexi): If ident was a reserved word, save it in
	parser_state_tos->last_rw.
	Changed "return" from `rw_break' to new enum element `rw_return'.
	* indent_globs.h: Moved type "enum codes" to this file from
	lexi.c.  New element of parser state `last_rw'.

Sun Jan 12 01:40:23 1992  Joseph Arceneaux  (jla at hugo)

	* lexi.c (lexi): if in decl and looking at '(', additionally
	accept, after closing ')',  '(' as constituting a function
	declaration (along with ';' and ',').

Thu Jan  9 18:31:44 1992  Joseph Arceneaux  (jla at hugo)

	* io.c (dump_line):  When outputting nonblank lines, if
	n_real_blanklines is > 1 and swallow_optional_blanklines is set,
	make n_real_blanklines 1.

Wed Jan  8 10:06:43 1992  Joseph Arceneaux  (jla at hugo)

	* args.c (option_prefix):  New function to recognize option prefix
	from table.  Now handles both "+" and "--" for long option prefixes.

Mon Jan  6 01:15:29 1992  Joseph Arceneaux  (jla at hugo)

	* Makefile:  Made more compatible with GNU standards.  Unix man
	file removed from distribution.

Fri Dec 27 14:58:13 1991  Joseph Arceneaux  (jla at hugo)

	* parse.c:  Correctly handle "do ... while" statements, using new
	stack symbol DOSTMT.
	(parse):  For semicolon, if code DOSTMT is top of stack, replace it
	with STMT.
	(reduce):  New reduction <dohead><whilestmt> => <dostmt>.  Also,
	when reducing <stmt><dolit>, don't change indentation.

	* indent.c (main):  In case rbrace, after parse(rbrace), set
	force_nl if top of stack is dohead and ! btype_2.
	(main):  Initialize noncast_mask to 0.

Mon Dec 23 18:34:11 1991  Joseph Arceneaux  (jla at hugo)

	* args.c (set_option): Recognize long options, using new struct
	option_conversions, if option begins with POSIX_OPTION_PREFIX.

	* indent.c (main): Recognize "--no-profile" as well as "-npro".

	* indent.texinfo: Describe GNU style as default.  Section reworded.

Sat Dec 21 13:27:07 1991  Joseph Arceneaux  (jla at hugo)

	* indent.c (main):  In case preesc (~ line 1282), add !had_eof to
	second while clause to avoid hanging in weird text (like test file
	djm-torture-test/t11).

	* indent.c (main): In case rparen, (~ line 680) if cast mask was
	set and is reset to zero, then set parser_state_tos->want_blank if
	cast_space was set.  No longer do this (#if 0) in all cases where
	(!parser_state_tos->cast_mask || cast_space).

Wed Dec  4 16:41:13 1991  Joseph Arceneaux  (jla at hugo)

	* version.h:  Version changed to be simply 1.1.4.  Comments added.

Mon Nov 25 15:16:51 1991  Joseph Arceneaux  (jla at hugo)

	* indent.c (main):  When handling decl case, don't reset
	PREFIX_BLANKLINE_REQUESTED if we've just encountered the type of a
	procedure delcaration.  This fixes the -bap bug for procedures
	which begin with a line declaring their type, following the line with
	`}' from the last procedure.

Fri Nov 22 15:26:59 1991  Joseph Arceneaux  (jla at hugo)

	* args.c: Default is now GNU style.  Original obtained by new
	option "-orig".  New variable exp_orig.

	* indent.texinfo: Describe the new -ts option.  Removed the -ss
	option from GNU style.

Thu Nov 21 17:50:48 1991  Joseph Arceneaux  (jla at hugo)

	* args.c: New variables `tabsize' and `exp_ts'.
	* indent_globs.h: Declare `tabsize'.
	* io.c (pad_output, count_spaces): Use `tabsize' to calculate padding.
	* pr_comment.c (pr_comment): Use `tabsize' to compute column.

	* args.c: Removed the "-ss" option for GNU style.

Fri Sep 13 01:30:18 1991  Joseph Arceneaux  (jla at hugo)

	* indent_globs.c: New element to parser_state, `paren_depth',
	which counts global paren nesting.
	* indent.c: Use it in main loop to avoid setting `in_or_st' when
	doing ansii prototyping.

Thu Sep 12 15:53:54 1991  Joseph Arceneaux  (jla at hugo)

	* io.c (dump_line): Initialize target_column to 0.

	* parse.c: New variable debug to control debugging output.

