11998-12-02    <jla@void.arceneaux.com>
2
3	* indent.c (need_chars): Changed this #define to an inline
4	function.  Also, increase size of buffer by at least `needed'.
5
61998-11-25    <jla@void.arceneaux.com>
7
8	* lexi.c (lexi): New case lable for 'L' in switch (*token) to
9	handle wide strings.
10	In the if statement for alphanums, fail the test if we are looking
11	at L" or L'.
12	* regression/TEST: added new test case wide.c to EXAMPLES.
13
141998-11-24    <jla@void.arceneaux.com>
15
16	* indent.texinfo (Common styles): Corrected description of canned
17	styles to correspond with args.c
18
19	* makefile.in (TARFILES): Removed indent.1 from the list.
20
211998-11-23    <jla@void.arceneaux.com>
22
23	* backup.c (make_backup): Removed #ifdef __MSDOS__, just declare
24	size unsigned int in all cases.
25
261998-11-22    <jla@void.arceneaux.com>
27
28	* All code now passes through gcc -Wall.
29
30	* args.c: Removed unused variable `exp_troff'.
31
32	* comments.c (print_comment): Removed unused label comment_exit.
33
34	* io.c (dump_line): Removed unused label inhibit_newline.
35
36	* makefile.in (indent.html): New target.
37
38	* sys.h: Removed conditionals around `memcpy' function and define
39	of `bcopy' to `memcpy'.  I will assume that memcpy is available,
40	and see if it's problematic.
41	* memcpy.c: Changed #ifdef USG to #ifndef HAVE_MEMCPY.
42
43	* regression/TEST: added new test files bbb-test.c and
44	class-func.cc.
45
46	* comments.c (print_comment): Use new variable
47	`comment_lines_count' to count lines in a boxed comment.  When
48	printing a boxed comment, set `parser_state_tos->com_col' to
49	`found_col' when returning from a single line boxed comment.
50
511998-11-21    <jla@void.arceneaux.com>
52
53	* indent.h (struct buf): New `len' and `column' elements added to
54	struc buf.
55	* indent.c (indent): Update `save_com.len' where appropriate.  Set
56	`save_com.column' where appropriate.
57	* io.c (current_column): Use `len' element of save_com to detect
58	if `buf_ptr' is using the save_com buffer, rather than the `end'
59	element, because that could point to the `ptr' (beginning)
60	element.
61
62	* indent.c (indent): Null-terminate the `save_com' buffer.
63
641998-11-20    <jla@void.arceneaux.com>
65
66	* indent.c (indent): Include parser_state_tos->classname != '\0'
67	in determining whether to set `is_procname_definition'.
68
69	* indent.h (struct parser_state): New elements `classname_' and
70	`classname_end'.
71	* lexi.c (lexi): If we detect "::" after an indent, set `classname_' and
72	`classname_end'.
73	* parse.c (reset_parser): Initialize `classname_' and `classname_end'.
74
75	* indent.c (indent): Don't break the line if we had an identifier
76	and `parser_state_tos->last_token' is doublecolon.
77
78	* indent.h (codes): Changed enum value `operator' to
79	`cpp_operator', since "operator" is a C++ keyword.
80	indent.c: Likewise.
81	lexi.c: Likewise.
82
831998-10-20    <jla@void.arceneaux.com>
84
85	* indent.c (indent): In the while (parser_state_tos->search_brace)
86	loop, notice if we see a newline and make sure it's output by
87	using new local variable `just_saw_nl'.
88
891998-10-01    <jla@void.arceneaux.com>
90
91	* io.c (dump_line): If we're resetting the indentation level
92	because a break is just before an lparen, check that
93	parser_state_tos->paren_level >= 2 before doing this.
94
95Thu Aug 27 10:19:24 1998    <jla@void.arceneaux.com>
96
97	* indent.c (main): Removed type of `main'.
98
991998-08-25    <jla@void.arceneaux.com>
100
101	* args.c (pro): Changed the "-nps" member of the "gnu" options
102	settings to "-npsl" as the nps option does not exist.
103
1041998-08-23    <jla@void.arceneaux.com>
105
106	* comments.c (print_comment): If the comment begins in the very
107	first column and user specified -fc1, indent it to the code.
108	Don't touch the comment at all if -fc1 was not specified.
109
1101998-08-22    <jla@void.arceneaux.com>
111
112	* io.c (dump_line): If `break_line' is set, there is no comment on
113	the line, and `buf_break' is properly set, break the line at
114	`buf_break' and fill s_code with the un-output portion of the
115	line.  Use new variable `not_truncated' to indicate whether the
116	line was broken or not.
117	Only reset `e_code' to `s_code' if we didn't break the line.
118	If we broke the line, the the next line will begin with a lparen,
119	then reset `parser_state_tos->paren_indents' to the level for the
120	*previous* lparen - otherwise, the line will get indent to where
121	the paren was on the original line.
122
123	* indent.c (indent): If we plan to break the line, set
124	`break_line' and `force_nl'.
125	Whereever we append a blank to the output line, set `buf_break' to
126	that point.  Also, NULL-terminate the line.
127
128	* indent.c, args.c, io.c:  All troff-related code removed.
129
1301998-08-17    <jla@void.arceneaux.com>
131
132	* indent.c (indent): Initialize `buf_break' to 0.
133	If it seems like we need to break the line, set `buf_break' to
134	`buf_ptr'.
135
136	* indent.h: New variable `buf_break' for keeping track of the last
137	place we can break a line.
138
1391998-07-22  Joseph Arceneaux  <jla@emptiness.arceneaux.com>
140
141	* io.c (dump_line): Remove any trailing spaces before outputting
142	code.
143
144Fri Jun 27 12:29:11 1997  Joseph Arceneaux  <jla@emptiness.arceneaux.com>
145
146	* indent.h: Removed broken declaration of lexi ().
147
148Thu May 15 15:52:25 1997  Joseph Arceneaux  <jla@emptiness.arceneaux.com>
149
150	* indent.c (indent): Handle new codes elements `operator' and
151	`overloaded'.
152
153	* indent.h (rwcodes): New rwcodes element `operator'.
154	(codes): New elements `overloaded' and `operator'.
155
156	* lexi.c (lexi): When a keyword is found, check for new rwcodes
157	element rw_operator and if found return `operator'.
158	In default case, return `overloaded' if last token was `operator'.
159
160Fri Apr 11 12:25:08 1997  Joseph Arceneaux  <jla@emptiness.arceneaux.com>
161
162	* indent.h (codes): New code `doublecolon'.
163	* lexi.c (lexi): Recognize "::" as new code doublecolon.
164	* indent.c (indent): Handle new code `doublecolon'.
165
166	* backup.c (make_backup): Use new variable `size' to handle MSDOS
167	16 bit values for amount written to file.
168
169	* io.c (dump_line): Cast (e_lab - s_lab) to an int for the "%.*s"
170	width specifier ('*' means use the first argumen to the string as
171	the width).
172	(read_file): Cast size arguments to `xrealloc' and `xmalloc' to
173	unsigned.
174	(read_file): Use unsigned int for `size' on MSDOS, so that we can
175	read slightly larger sizes.  Ugh!
176
177Thu Dec 12 10:13:22 1996  Joseph Arceneaux  <jla@emptiness.arceneaux.com>
178
179	* indent.c (main): Make certain that `in_name' is initialized
180	before reading file contents;  reading a zero-length file results
181	in a call to ERROR, which expects `in_name' to be set.
182
183Thu Jan  4 11:39:39 1996  Joseph Arceneaux  <jla@emptiness.samsara.com>
184
185	* parse.c (parse): Don't use variable `case_ind' any more;  do it
186	all on the `cstk' parser stack element.
187	(inc_pstack): Copy the case indentation value from the lower stack
188	frame to the new, top frame.
189	(parse): In main switch, case lbrace, if `swstmt' is on top of
190	stack and `case_indent' is non-zero, add it to
191	`parser_state_tos->i_l_follow'.
192	(parse): In main swtich, case `swstmt', just increment
193	`parser_state_tos->i_l_follow' by `ind_size', not `case_indent'.
194
195Sat Dec 30 09:51:52 1995  Joseph Arceneaux  <jla@emptiness.samsara.com>
196
197	* indent.texinfo (Invoking indent): Described format of
198	.indent.pro, including comments.
199
200	* args.c (scan_profile): Added handling of comments, both C++ and
201	C, in the indent profile.  Also added check for end of buffers.
202
203Fri Dec 29 13:42:30 1995  Joseph Arceneaux  <jla@emptiness.samsara.com>
204
205	* regression/TEST: New test file right-margin-comment.c.
206
207	* comments.c (print_comment): After the main switch statment, if
208	formatting and the line break is after any text, then skip any
209	white space.  For C++ comments, if that white space includes a
210	newline, then end the comment by jumping to new label
211	`cplus_exit'.
212	New label `comment_exit', for terminating C comment.  Not
213	currently used.
214
215Thu Dec 28 16:48:50 1995  Joseph Arceneaux  <jla@emptiness.samsara.com>
216
217	* makefile.in: Added new variable `NTFILES', set to "indent.mak".
218	Include ${NTFILES} in TARFILES.
219	* indent.mak: New file for building under NT.  Contributed by
220	beverly@datacube.com (Beverly Brown).
221
222	* indent.h (fstate): Changed member `allcaps' from 1-bit int to
223	unsigned char.
224
225Wed Dec 27 14:33:36 1995  Joseph Arceneaux  <jla@emptiness.samsara.com>
226
227	* regression/TEST: New test files first-in-block.c and two-on-line.c.
228
229	* comments.c (print_comment): For lower-level comments which begin
230	lines, don't set `start_column' dependent on if the comment began
231	in column 1 or not;  always set it to the indent level minus
232	whatever unindent was specified.  Do continue to set `format'
233	depending on that condition, however.
234	case EOL in main loop, if it's a c++ comment, just pop the stack
235	and return.  Let the main token handling loop deal with the
236	newline and calling `dump_line'.
237
238	(print_comment): New variable `two_contigous_comments', for
239	handling cases of lines consisting of two or more comments, but no
240	code, on a single line.  All updates of
241	`parser_state_tos->com_col' now consider this variable.
242	Also, set `parser_state_tos->box_com' to `boxed_comment' whereever
243	`parser_state_tos->com_col' is set.
244
245	(print_comment): Subsequent to the first handling of boxed
246	comments, removed all initialization of stuff conditional on
247	`boxed_comment', since that is 0.  Note that this is before the
248	main loop, where this could get set.
249
250Mon Oct 30 13:02:07 1995  Joseph Arceneaux  <jla@emptiness.samsara.com>
251
252	* regression/TEST: New test file "kr-proc-decls.c"
253
254	* indent.c (indent): `is_procname' renamed to
255 	`is_procname_definition' and set only if
256 	`parser_state_tos->in_parameter_declaration' is also set (besides
257 	just `parser_state_tos->procname[0]' not being null).
258
259	* args.c: New variable `space_after_pointer_type'.
260	* indent.h: Declared here.
261
262	* indent.h (codes): New element `start_token'.
263	* parse.c (reset_parser): Used to initialize
264	`parser_state_tos->last_token'.
265	* lexi.c (lexi): When examining an alphanumeric, in the hack for
266	guessing if the token is a typedef'd declaration keyword,
267	add an if sub-clause "parser_state_tos->last_token == start_token".
268
269	* indent.c (indent): In case newline, try to detect the case of
270	breaking the line between a type and a procedure name, and if user
271	has specified that procnames don't start lines (e.g., K&R style),
272	don't break the line.
273	Also, if the type seems to have been a pointer type and the new
274	variable `space_after_pointer_type' is set, then request a space.
275
276Sun Oct 29 10:43:09 1995  Joseph Arceneaux  <jla@emptiness.samsara.com>
277
278	* parse.c (reset_parser): Initialize the first element of
279	`parser_state_tos->il', `parser_state_tos->cstk', and
280	`parser_state_tos->paren_indents'.
281
282Sat Oct 28 09:00:29 1995  Joseph Arceneaux  <jla@emptiness.samsara.com>
283
284	* indent.c (indent): When searching for brace, in the `default'
285	case, don't put the token into the save buffer.  Rather, back up
286	`buf_ptr' by setting it to token.  Since this is the place where
287	we much with the other input buffer, I'm hoping this action won't
288	conflict with anythin.
289
290	* lexi.c (lexi): Don't set `token_end' at the end of this loop.
291	Set it instead in the switch statement where `buf_ptr' is
292	advanced.  Otherwise, it may wind up pointing into a different
293	buffer than `token', because a call to `fill_buffer ()' switched
294	the buffers.  Who is the complete loser who designed this program?
295
296	* indent.c (indent): Under the `sw_buffer' label, don't add
297	useless extra space to the end of the `save_com' buffer.
298
299	* lexi.c (lexi): In case case '#', if `leave_preproc_space' is
300	set, append any blanks following '#' to the token.
301	* indent.c (indent): In case preesc, just stick the whole token
302	onto the output stream.
303
304	* regression/TEST: Added new test case, no-newline2.c
305
306	* indent.c (indent): In main switch statement, case preesc while
307	loop looking for end of line now also checks `had_eof'.
308
309	* indent.texinfo (Option Summary): Doc fix in summary for "-l".
310
311	* comments.c (print_comment): Initialized `save_length'.  Reset
312	`save_length' to 0 when we reset `save_ptr' (changes nothing, but
313	makes gcc -Wall -O happy).
314
315	* indent.h: Declare `inc_pstack ()'.
316
317	* version.h: Changed version to 2.0.
318
319	* makefile.in (indent.info): Don't depend on ${MAN}
320
321	* indent.texinfo (Comments): Removed discussion of "-l" option
322	here.
323	(Changed indent version number to 2.0, manual number to 1.4)
324
325	* args.c (set_defaults): Made INLINE.
326	(option_prefix): Ditto.
327	(eqin): Ditto.
328
329Thu Oct 26 11:05:38 1995  Joseph Arceneaux  <jla@emptiness.samsara.com>
330
331	* indent.c (output_line_length): New function to calculate the
332	apparent length of the current output line.
333	(indent): A the beginning and end of the main loop, check to see
334	if we have surpassed any line length restrictions (specified by
335	`max_col'), and if so, set `force_nl'.
336	(indent): In main switch statment cases `comma', and `newline',
337	remove ancient check for surpassed line length.
338
339	* indent.c (indent): No longer sets `comment_max_col' to `max_col'
340	if the former is 0.  These now both default to non-zero values.
341
342	* regression/TEST: Added "-lc 50" to a bunch of lines, to make the
343	comment margin be the same as the line margin, now that I've
344	changed the behaviour of this code in `indent'.
345
346	* indent.h (DEFAULT_RIGHT_COMMENT_MARGIN): New #define to 78,
347	which is what `comment_max_col' wound up defaulted to before.
348	(DEFAULT_RIGHT_MARGIN): New #define to 78.  This will break
349	some of the earlier behaviour.
350
351	* args.c (pro): Removed the "-nps" and "-ps" options.
352
353	* indent.h (codes): Changed `period' to `struct_delim', handling
354	both '.' and "->".
355	* lexi.c (lexi): For case of "->", simply return code
356	`struct_delim'.  For case of '.', also return code
357	`struct_delim'.
358	* indent.c (indent): Replaced all instances of `period' with
359	`struct_delim'.
360
361	* io.c (count_columns): New parameter `stop_char', which can stop
362	the count before a null char.
363	(dump_line, compute_code_target): Calls to `count_columns' changed
364	appropriately.
365	* comments.c (print_comment): Likewise.
366
367	* sys.h (NULL_CHAR): New #define.
368
369Mon Oct  2 17:25:35 1995  Joseph Arceneaux  <jla@emptiness.samsara.com>
370
371	* globs.c (fatal): Don't return `system_error', just `indent_fatal'.
372
373	* indent.h: Removed `system_error' exit value.  This is handled by
374	`indent_fatal'.
375
376Tue Aug  9 20:46:53 1994  Joseph Arceneaux  <jla@albert.gnu.ai.mit.edu>
377
378	* indent.c (PARSE): New macro for calling the parser.  Sets
379	`file_exit_value' to `indent_error' if an error happened.
380
381Fri May  6 18:58:04 1994  Joseph Arceneaux  (jla@albert.gnu.ai.mit.edu)
382
383	* vaxc-make.com: Changed PR_COMMENT.C to COMMENTS.C.
384
385Tue Apr  5 21:40:22 1994  Joseph Arceneaux  (jla@albert.gnu.ai.mit.edu)
386
387	* comments.c (print_comment): In `while' loop handling boxed
388	comments, make sure to check if we need to call `fill_buffer' at
389	every place `buf_ptr' gets advanced.
390
391Sun Feb 27 01:21:44 1994  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)
392
393	* globs.c (fatal): New function which replaces "sys_error".  All
394	affected files changed accordingly.
395
396	* indent.h (WARNING): New define using `message'.
397	(ERROR): Likewise.
398	Many global things now declared extern here.
399
400	* sys.h: Several system functions declared extern here.
401
402	* globs.c (sys_error): #ifdef DEBUG, call `abort'.
403	(message): New function to replace `diag'.
404
405Sat Feb 26 22:41:27 1994  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)
406
407	* io.c: Variable `found_err' removed.
408	indent.h: Ditto.
409
410	* indent.c (indent): Added a default case to the big switch
411	statement.
412
413Mon Feb 21 16:55:43 1994  Joseph Arceneaux  (jla@geech.gnu.ai.mit.edu)
414
415	* backup.c (make_backup): If error, exit with `system_error'.
416
417	* io.c (parsefont): Exit with `invocation_error'.
418
419	* backup.c:
420	* globs.c: #include "indent.h"
421	* makefile.in: Note these new dependencies.
422
423	* args.c (set_option): In case PRO_PRSTRING, exit with
424	`invocation_error' rather than 0.
425	Changed all calls to `exit' to use type 'enum exit_value`.
426
427	* indent.c (indent): Return value now of type `enum exit_value'.
428	New variable `file_exit_value' used to return this value.
429	Calls to `exit' changed to `return' statements.
430	(main): New variable `exit_status' used to return final exit
431	value.
432	New variable `status' in for loop for checking return value of
433	`indent'.
434	All calls to `exit' changed to use new enum values.
435
436Sun Feb 20 18:16:56 1994  Joseph Arceneaux  (jla@albert.gnu.ai.mit.edu)
437
438	* globs.c (xmalloc): Changed value of `exit' to 2.
439	(sys_error): Moved here from io.c.
440
441	* backup.c (make_backup): Changed value of `exit' to 2.
442
443	* indent.h: New type `enum exit_value'.
444
445	* comments.c (print_comment): When processing a boxed comment and
446	we have reached the end, increment `buf_ptr' before checking
447	limits and calling `fill_buffer'.
448
449Sat Feb 19 18:29:20 1994  Joseph Arceneaux  (jla@albert.gnu.ai.mit.edu)
450
451	* lexi.c (lexi): Understand complex suffixes (GNU C extensions)
452	'i' and 'j'.
453
454Thu Feb 10 15:51:35 1994  Joseph Arceneaux  (jla@albert.gnu.ai.mit.edu)
455
456	* comments.c (print_comment): Call `CHECK_COM_SIZE' when
457	processing boxed comments.
458
459Wed Feb  9 09:39:14 1994  Joseph Arceneaux  (jla@albert.gnu.ai.mit.edu)
460
461	* backup.c (make_backup): Removed unused variables `p' and
462	`new_version'.
463
464Fri Feb  4 01:34:59 1994  Joseph Arceneaux  (jla@geech.gnu.ai.mit.edu)
465
466	* gnuc-make.com: Changed `pr_comments.c' to comments.c.
467
468	* comments.c: Initialize `parser_state_tos->box_com' to 1 in boxed
469	comment section.
470
471Tue Feb  1 01:03:50 1994  Joseph Arceneaux  (jla@geech.gnu.ai.mit.edu)
472
473	* args.c (set_option): Handle new enum `PRO_FUNCTION' by calling
474	p->p_obj as a function.
475
476	* indent.texinfo: Updated version info, copyright.  Whoops!
477	Ignore all references to "-nbbb" and "-bbb".
478
479Sat Jan 29 18:15:42 1994  Joseph Arceneaux  (jla@geech.gnu.ai.mit.edu)
480
481	* Version 1.9 released.
482
483	* indent.texinfo (Option Summary): Describe new option "-lc".
484
485	* args.c, indent.c:  `block_comment_max_col' renamed to
486	comment_max_col.
487	* comments.c: `right_margin' set to `block_comment_max_col'.
488	Documentation of `print_comment' changed.
489
490	* makefile.in (NOTES): Changed to include COPYING.
491	* COPYING: Upgraded to version 2 of the GNU license.
492
493	* NEWS, README, VMS.README: Updated for version 1.9.
494
495Wed Jan 19 17:54:32 1994  Joe Arceneaux  (jla at sparky)
496
497	* comments.c (print_comment): Handling of standard box comments
498	rewritten;  now it all happens in its own little loop as soon as
499	the thing is detected.
500
501Thu Jan 13 10:37:31 1994  Joe Arceneaux  (jla at sparky)
502
503	* comments.c (print_comment): Change of Fri Jun  4 18:10:54 1993
504	reinstalled.  How this ever got uninstalled is a mystery to me,
505	and makes me wonder about keeping the main source directory on a
506	GNU machine.
507
508Wed Jan 12 15:08:48 1994  Joe Arceneaux  (jla at sparky)
509
510	* comments.c (print_comment): Handle better the cases of formatted
511	comments with no contents.
512	Make main loops conditional on (! had_eof).  Pop stack and reset
513	parser_state_tos->com_col after main loop before returning.
514
515Sun Jan  9 23:35:28 1994  Joe Arceneaux  (jla at sparky)
516
517	* io.c (fill_buffer): Rewrite main loop.
518
519Fri Jan  7 15:10:23 1994  Joe Arceneaux  (jla at sparky)
520
521	* io.c (read_file): Complain if file is zero-length.
522
523Thu Jan  6 17:10:44 1994  Joe Arceneaux  (jla at sparky)
524
525	* indent.c (indent): Removed several calls to `fill_buffer' which
526	were superfluous because we know the char just read was not EOL or
527	NULL.
528
529	* io.c (sys_error): Cleanup realloc buisiness and moved former
530	static `errbuf' into this function.  It never returns, so no worry
531	about reallocing.
532
533	* io.c: Cleaned up several #if 0.
534
535Tue Jan  4 20:06:17 1994  Joe Arceneaux  (jla at sparky)
536
537	* comments.c (print_comment): In the conditional `if
538	(blankline_delims)' removed while clause `(p < buf_end)'.
539
540Wed Dec 29 17:21:29 1993  Joe Arceneaux  (jla at sparky)
541
542	* makefile.in:  Renamed file `pr_comment.c' to `comments.c'.
543
544	* io.c (read_file): Call `xrealloc' on fileptr.data and
545	fileptr.name if there is already stuff there.
546
547Wed Dec 22 14:11:24 1993  Joe Arceneaux  (jla at sparky)
548
549	* indent.c (indent): In case newline, once again modified
550	conditional for calling `dump_line':  Added sub-clause of not
551	being `parser_state_tos->in_decl'.
552
553Mon Jun 28 20:41:52 1993  Joseph Arceneaux  (jla@wookumz.gnu.ai.mit.edu)
554
555	* sys.h: For MSDOS, only define USG if not using GCC.  This breaks
556	`memcpy' and stuff from ctypes.h, apparently.
557
558	* makefile.in (distclean): Remove config.status.
559	* (.c.o): Put ${DEFS} first, and ${CFLAGS} last.
560	* RELEASE-NOTES renamed to NEWS globally.
561
562Mon Jun 21 17:43:26 1993  Joseph Arceneaux  (jla@wookumz.gnu.ai.mit.edu)
563
564	* indent.c (indent): Check that `code_lines' and `com_lines' are
565	both greater than zero before printing out their ratio.
566
567Fri Jun 18 17:46:09 1993  Joseph Arceneaux  (jla@wookumz.gnu.ai.mit.edu)
568
569	* version.h: `VERSION_STRING' inc'd to version 1.9.
570
571	* backup.c: Removed all instances of old define `SYS_BACKUP_SUFFIX'.
572
573	* io.c (vms_read): Fixed while loop to be more correct, and return
574	bufp - buffer rather than nread, which may be incorrect value.
575
576Thu Jun 17 21:08:14 1993  Joseph Arceneaux  (jla@wookumz.gnu.ai.mit.edu)
577
578	* makefile.in: Changed `CFLAGS' to just "-O".
579
580Wed Jun 16 15:32:36 1993  Joseph Arceneaux  (jla@wookumz.gnu.ai.mit.edu)
581
582	* Version 1.8 released.
583
584	* makefile.in: New variable VMSFILES describing the files needed
585	for indent under VMS.
586        Removed comments.texinfo from list of files to tar.
587	Use `gzip' utility for compression, rather than tar -z.
588	* configure-6-93:
589	* configure.in-693: Copies of the configure script and its input
590	file from the autoconf directory.  The reliability of the ones in
591	the autoconf directory is questionable.  `configure' and
592	`configure.in' are now links to these files.
593
594	* version.h: Comments rewritten.
595
596Tue Jun 15 10:14:47 1993  Joseph Arceneaux  (jla@betty-blue.gnu-age.com)
597
598	* Thanks to MEHRDAD@glum.dev.cf.ac.uk for the VMS patches.
599	* io.c (read_file): Use SYS_READ, conditional expansion, instead
600	of read.
601	(vms_read): Substitute for `read' under VMS.
602
603	* backup.c: Set `simple_backup_suffix' from new define
604	BACKUP_SUFFIX_STR.  Define this (to "~") if undefined.
605	Likewise, BACKUP_SUFFIX_CHAR and BACKUP_SUFFIX_FORMAT.
606	* sys.h: Conditional defines for VMS added.
607	* args.c (set_profile): Use new define PROFILE_FORMAT for
608	formatting homedir/profile path.
609
610Mon Jun 14 11:37:14 1993  Joseph Arceneaux  (jla@betty-blue.gnu-age.com)
611
612	* indent.texinfo (Comments): Section completely rewritten.  Old
613	 text in file old-comments.texinfo.
614
615	* indent.texinfo (Statements): Explained how -bl and -br affect
616	struct declarations.
617
618	* indent.c (indent): In case newline, modified conditional
619	determining whether or not to call `dump_line' to avoid doing so
620	after a right brace if user has specified `btype_2'.  This makes
621	enums and structs more consistent -- in default mode, the name of
622	the struct goes on a separate line from the rbrace and on the same
623	line in K&R mode, and does so consistently whether in or outside a
624	procedure block.
625
626	* sys.h: Added some defines for compilation under MS-DOS, under
627	#ifdef __MSDOS__.  Thanks to hnyman@lesti.hut.fi.
628
629	* io.c (read_file):  Adjust `fileptr.size' to be what `read'
630	returned, if different from the results of `stat'.  This is
631	because the DOS `read' converts the CR-LF on disc to '\n' in
632	memory.
633
634Fri Jun 11 12:39:38 1993  Joseph Arceneaux  (jla@betty-blue.gnu-age.com)
635
636	* lexi.c (lexi): Accept LL and ULL as suffixes to numbers as well.
637	Suggested by rdh@key.amdahl.com.
638
639	* indent.c (indent): In case `rbrace', when conditionally setting
640	`force_nl', extended the first clause of the if conditional to
641	make `rw_decl' equivalent to `rw_struct_like', and also depend on
642	`btype_2'.  This keeps the structure name on the same line when
643	running with -kr option.
644	* parse.c (parse): In case `lbrace', in conditional for adding
645	`brace_indent', also consider `btype_2'.
646
647Thu Jun 10 17:21:54 1993  Joseph Arceneaux  (jla@betty-blue.gnu-age.com)
648
649	* io.c (count_columns): Rewritten and renamed from `count_spaces'.
650
651Wed Jun  9 12:45:07 1993  Joseph Arceneaux  (jla@betty-blue.gnu-age.com)
652
653	* indent.texinfo (Disabling Formatting): New section describing
654	the new feature implemented below in io.c.
655
656	* io.c (compute_code_target): Rewritten to be clearer.  Note that
657	the use of `max_col' is inconsistent with it's use elsewhere,
658	where it is primarily for use with comment formatting.
659	* (fill_buffer): Rewritten completely.  Now handles command
660	comments /* *INDENT-OFF* */ and /* *INDENT-ON* */.
661	`inhibit_formatting' is now a local variable;  the reference to it
662	in `dump_line' has been removed.  Control of formatting is handled
663	entirely within `fill_buffer'.
664
665Tue Jun  8 19:03:22 1993  Joseph Arceneaux  (jla@betty-blue.gnu-age.com)
666
667	* indent.c (indent): In case `lbrace', when resetting
668	..->decl_on_line, also reset ->in_decl.  Not doing this had the
669	effect that the first statement after the opening '{' of a
670	procedure would not be properly continued if it was broken across
671	two lines.  There is probably a better place to do this.
672
673	* io.c (dump_line): In the loop which outputs `s_code', removed
674	the stupid tab calculations, as well as the undocumented feature
675	for printing out the character '0200'.
676
677	* parse.c (parse): In case `lbrace', if last reserved word was
678	`rw_struct_like', don't indent for struct if the last token was an
679	`rparen'.  This fixes a bug with a struct pointer parameter.
680
681	* regression/TEST: Added new test struct_param.c.
682
683Mon Jun  7 17:01:23 1993  Joseph Arceneaux  (jla@betty-blue.gnu-age.com)
684
685	* indent.c (indent): When handling an embedded comment, if there
686	is code on the line, set `embedded_comment_on_line' to 2,
687	otherwise to 1, to communicate to dump_line () if the line starts
688	with code or comment text.
689	* io.c (dump_line): In section for code (s_code != e_code), if
690	`embedded_comment_on_line' is 1, then use comment indentation,
691	otherwise, use code indentation.
692
693Fri Jun  4 18:10:54 1993  Joseph Arceneaux  (jla@betty-blue.gnu-age.com)
694
695	* pr_comment.c (print_comment): When looking at a leading '*' to
696	decide if it begins the second line of a starred boxed comment (by
697	looking at what column it was in), compare that column to
698	`found_column' rather than `start_column'.
699
700	* indent.c (indent): In case preesc, when handling stuff following
701	the '#', set `quote' when we encounter the quoting character the
702	first time.  Also merged cases '\'' and '"'.
703
704	* regression directory:  Merged all the new comment code tests
705	into the standard regression tests.
706
707Wed May 19 12:11:10 1993  Joseph Arceneaux  (jla@betty-blue.gnu-age.com)
708
709	* pr_comment.c (print_comment): At `end_line:', don't compress
710	into newlines if it's the first line (because it has the starting
711	delimiter).
712
713	* pr_comment.c (print_comment): Moved checks for `buf_ptr' past
714	end outside of while loops (only '\n' and '\0' end the buffer, and
715	changed "buf_ptr >= buf_end" to "buf_ptr == buf_end".
716
717	* parse.c: `parser_state_tos' elements `comment_delta' and
718	`n_comment_delta' eliminated.
719	* indent.h: Ditto.
720	* pr_comment.c: Ditto.
721
722	* io.c: Old comment code removed.
723
724	* pr_comment.c (print_comment): New variable `visible_preamble'
725	set if the preamble is not whitespace.  Used to make sure lines
726	which only have whitespace on them become single newlines.
727	Don't use `postfix_blankline_requested' to add newlines.  This
728	screwed up the algorithm for dealing with paragraph breaks.
729	In the `end_line:' section, only advance `buf_ptr' if it wasn't a
730	paragraph break, because in that case we have scanned ahead a
731	character to detect "\n\n".
732
733Tue May 11 17:26:18 1993  Joseph Arceneaux  (jla@betty-blue.gnu-age.com)
734
735	* pr_comment.c (print_comment): For comment formatting, changed
736	comparison of `column' to `right_margin' from >= to >.
737
738Tue Apr  6 17:51:41 1993  Joseph Arceneaux  (jla@betty-blue.gnu-age.com)
739
740	* pr_comment.c (print_comment): Also consider the characters '='
741	and '_' to make up the top line of a boxed comment.
742	* comments.texinfo: Changed to reflect this.
743
744Wed Feb 24 15:22:51 1993  Joseph Arceneaux  (jla@wookumz.gnu.ai.mit.edu)
745
746	* makefile.in: Added "-O" to CFLAGS.
747
748Thu Feb 11 15:54:10 1993  Joseph Arceneaux  (jla@wookumz.gnu.ai.mit.edu)
749
750	* Version 1.7 released.
751
752	* makefile.in: Renamed from zmakefile.in.
753	All "-f zmakefile" arguments to `MAKE' removed.  Dependencies on
754	"zmakefile.in" changed to "makefile.in".
755
756	* Makefile: Changed references to "zmakefile" to "makefile".
757
758Wed Feb 10 12:25:04 1993  Joseph Arceneaux  (jla@betty-blue.gnu-age.com)
759
760	* indent.c (indent): In case preesc, when going through the line,
761	consider EOL as terminating a C++ comment.
762
763Mon Feb  8 04:45:06 1993  Joseph Arceneaux  (jla@betty-blue.gnu-age.com)
764
765	* memcpy.c: Function `memcpy' surrounded by #ifdef USG.  USG is
766	only defined if `configure' did not find `bcopy'.  memcpy.o should
767	only be loaded if `configure' did not find it.
768	* sys.h: If USG not defined, define memcpy to be bcopy.
769
770	* makefile.in: Renamed from zmakefile.in.
771	* configure: Use "makefile" rather than zmakefile.  Explicitly
772	name `indent' in rule for same.
773
774	* indent.texinfo: Updated copyright and version information.
775	Added new section Bugs.  Added "nlps" option.
776
777	* io.c (pad_output): Rewritten.  If `tabsize' is less than one,
778	use spaces rather than tabs.
779
780	* sys.h: #define TAB and EOL.
781	Changed type of element `size' in struct file_buffer to unsigned
782	long.
783
784	* indent.h, io.c: Type of `in_prog_size' changed to unsigned long.
785
786	* indent.c, parse.c, pr_comment.c, lexi.c, io.c: Use new macros
787	TAB and EOL instead of '\t' and '\n'.
788
789	* args.c, indent.c, backup.c, io.c, parse.c: Cast integer
790	arguments to printf.
791
792	* indent.c:
793	* lexi.c:
794	* parse.c: Added missing parameters to calls to `diag'.
795
796	* args.c: Added new long option "remove-preprocessor-space".
797
798Fri Feb  5 17:40:08 1993  Joseph Arceneaux  (jla@betty-blue.gnu-age.com)
799
800	* indent.c (indent): In case semicolon, case lbrace, and case
801	rbrace, disabled code which checked paren levels (with
802	parser_state_tos->p_l_follow) to enable passing weird stuff to
803	macros.  See comments ending "-jla".
804	(indent): In case lparen, if in a declaration, don't indent out to
805	`dec_ind' if the paren was '['.
806	* Removed several global variables which were shadowed by locals
807	to function `indent'.
808
809	* args.c: Turned off, by default, "lps" option.  Added "nlps"
810	option.
811
812	* io.c (current_column): New function.
813
814	* lexi.c: In case ':', set parser_state_tos->want_blank under
815	certain conditions.
816
817Tue Feb  2 14:03:39 1993  Joseph Arceneaux  (jla@betty-blue.gnu-age.com)
818
819	* indent.c (indent): Handle C++ comments, with special attention
820	to the code for case preesc.
821
822Thu Jan 28 17:31:57 1993  Joseph Arceneaux  (jla@betty-blue.gnu-age.com)
823
824	* parse.c (reset_parser): Initialize parser_state_tos->com_col to
825	0.
826
827Wed Jan 27 13:45:16 1993  Joseph Arceneaux  (jla@betty-blue.gnu-age.com)
828
829	* indent.c (indent): Handle new code type `cplus_comment'.
830
831	* lexi.c (lexi): Handle C++ comments ("//").
832
833	* indent.h: Macros CHECK_CODE_SIZE and CHECK_LAB_SIZE moved to
834	indent.c.  Macro CHECK_COM_SIZE moved to pr_comment.c.
835	New code, `cplus_comment'.
836
837	* pr_comment.c (pr_comment): Removed variable `just_saw_decl' and
838	it's use.
839
840Sat Jan 23 19:36:31 1993  Joseph Arceneaux  (jla@betty-blue.gnu-age.com)
841
842	* indent.c (indent): Only reset `com_ind' if it's less than or
843	equal to 0.  Don't call parse (semicolon) initially.  Skip any
844	leading newlines, resetting col to 1. Don't set
845	`parser_state_tos->ind_level' and `parser_state_tos->i_l_follow'
846	if col > ind_size.
847
848	* parse.c (reset_parser): If tabsize is 0, set it to 1.
849
850Fri Oct  9 21:01:49 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)
851
852	* indent.c (indent): Restuctured the conditional for setting
853	`force_nl' in case rbrace to be clearer.  Also, only check whether
854	to set `postfix_blankline_requested' we're not setting `force_nl'.
855
856Wed Oct  7 16:15:25 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)
857
858	* io.c (diag): Only one format of error message now.  Output it on
859	the standard error in any case.
860
861	* indent.c (indent): In case decl, don't call "parse (decl)" if we
862	are in a "sizeof".
863
864	* args.c: Make default value for `format_col1_comments' be false,
865	to correspond with the "-gnu" spec.
866
867Fri Aug 28 19:15:50 1992  Joseph Arceneaux  (jla@wookumz.gnu.ai.mit.edu)
868
869	* args.c (set_option): Added missing argument to call to
870	`set_option'.
871
872Mon Aug 24 12:47:32 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)
873
874	* sys.h (INLINE): Define this to "__inline__" if __GNUC__ is
875	defined, not "inline".  Good thing we have standards...
876
877	* indent.c (indent): New variable `embedded_comment_on_line' set
878	if an embedded comment is found.
879	* io.c (dump_line): Increment `com_lines' in the case where the
880	comment buffer is empty, but `embedded_comment_on_line' is true.
881	Clear that variable in both cases.  This makes indent include
882	embedded comments in its count of total comment lines.
883
884	* io.c (read_stdin): If the input buffer is realloc'd, update the
885	character pointer `p'.
886
887Wed Aug 19 18:25:48 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)
888
889	* Version 1.6 released.
890
891	* indent.c (indent): In case comma, use `tabsize' rather than 8 to
892	determine if we're past max_col.
893	In case newline, also dump the line if we are past max_col.
894
895Fri Aug 14 19:08:04 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)
896
897	* io.c (dump_line): Test `swallow_optional_blanklines' separately
898	from (prefix_blankline_requested && not_first_line).  Makes "-sob"
899	work properly.
900
901	* indent.c (indent): Intialize several local variables to 0.
902
903Tue Aug 11 18:02:38 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)
904
905	* indent.c (indent): In case rbrace, add clause to conditional for
906	setting `force_nl'.  The clause forces a newline after '}' in most
907	cases.
908	In case swstmt, set `parser_state_tos->in_decl' to false, since we
909	know we're not in a declaration if have just seen "switch" (of
910	course, who knows what indent might think about things).  This
911	corrects the indentation of a case label following the lbrace of
912	the switch.
913
914Mon Aug 10 16:23:54 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)
915
916	* indent.gperf: "return" generates `rw_return', not `rw_break'.
917	How did this happen?  I didn't make this change, and it was not
918	present in indent 1.4.  Doubtless this insidious program modifies
919	itself destructively...
920	* lexi.c (hash, is_reserved): regenerated from indent.gperf.
921
922	* args.c: Make the -gnu setting specify "-bli2" rather than
923	"-bli4".
924
925	* lexi.c (lexi): Accept 'F' suffixes on numeric constants.
926
927	* sys.h Require "__GNUC__" to define INLINE, not "__STDC__".
928
929Mon Aug  4 21:22:54 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)
930
931	* Version 1.5 released.
932
933Mon Aug  3 21:14:40 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)
934
935	* indent.c (indent): In case rparen, removed the change of Jul 28.
936	This is now done if the case mask fails and
937	parser_state_tos->in_decl is true and ..->block_init is false.
938	The old change broke the "-ncs" feature.  Perhaps this could have
939	been done otherwise by using ..->last_u_d.
940	Also, decrement `parser_state_tos->paren_depth' immediatly.
941
942	* All source files formatted with ./indent.
943
944	* pr_comment.c (pr_comment): If `parser_state_tos->box_com' is set
945	(which means that the comment is presumed to be hand-formatted),
946	set `parser_state_tos->n_comment_delta' to
947	(1 - parser_state_tos->com_col), rather than using `count_spaces'
948	to calculate the space up to the comment column.  Not only is this
949	simpler, but the old code used `cur_line' to count those spaces,
950	which was pointing to the *NEXT* line in some cases (because some
951	code in indent () which ignored newlines (like in the case of
952	multi-line comments after #define statments) called fill_buffer ()).
953	Another example of just how brain damaged this code is.  For more
954	extreme self-abuse, look a the interaction between pr_comment ()
955	and dump_line ().
956
957Sun Aug  2 02:10:32 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)
958
959	* pr_comment.c (pr_comment): When computing
960	`parser_state_tos->com_col' for beyond the normal comment
961	position, use (tabsize - 1) instead of 7.
962
963Wed Jul 29 22:50:45 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)
964
965	* lexi.c (lexi): If `buf_ptr' == '(' after scanning an alphanum
966	which is not a keyword, add clause that paren_depth must be 0
967	before considering this as a possible function definition.
968
969Tue Jul 28 17:17:08 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)
970
971	* parse.c (parse): In case lbrace, handle state of being in a decl
972	specially: If this brace succedes a struct-like thing and it goes
973	on a line by itself (! btype_2), then add `brace_indent' to the
974	amount of indentation.  This make GNU-style indentation of
975	structures, etc. work properly.
976
977	* indent.c (indent): In case rparen, if not the beginning of the
978	code, and in_decl, set `parser_state_tos->want_blank'.  This is to
979	handle ensure a space before the last rparen of cases like
980	"int (*fp ()) ()".
981
982Fri Jul 24 18:53:15 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)
983
984	* indent.c: Changes to handle spaces between options and their
985	values.  It would be better to use `getopt', but this change is
986	much simpler.
987	Declaration of `set_option' changed to return int.
988	(main): Increment `i' by the value of `set_option ()'; also, pass
989	argv[i + 1] as second parameter to `set_option'.
990	* args.c (set_option): Take new parameter `param'.
991	New label `arg_missing', just before label `found', to handle
992	missing option value error.
993	If `param_start' is 0, set it to `param'.
994	(scan_profile): Rewritten to look at two entries at once, and pass
995	both to `set_option'.
996
997Wed Jul 22 15:55:56 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)
998
999	* indent.c (indent): In case lbrace, set
1000	`parser_state_tos->want_blank' under certain conditions if not at
1001	beginning of line and `btype_2' was specified.
1002
1003	* indent.c: Macro `need_chars' moved here from indent.h.
1004
1005	* io.c (read_file, read_stdin): No longer appends " \n" to the end
1006	of the file, which is now simply delimited with '\0'.  xmalloc 2
1007	less bytes for the buffer.
1008	(fill_buffer): Stop and set `had_eof' when '\0' is
1009	encountered in the file text, then return immediately.
1010	* lexi.c (lexi): New case in main switch statement for '\0', which
1011	indicates eof.  Removed code to set this in case '\n'.
1012
1013Fri Jul 10 14:45:25 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)
1014
1015	* lexi.c (): If keyword "struct" was found inside of parens
1016	(case rw_struct_like:) set parser_state_tos->cast_mask before
1017	breaking.
1018
1019Wed Jul  8 21:11:01 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)
1020
1021	* lexi.c (lexi): Accept 'U' and "UL" suffixes on integer
1022	constants.
1023
1024Fri Jul  3 16:05:45 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)
1025
1026	* indent.c (indent): For cases unare_op and comma, don't space out
1027	to decl_indent (dec_indent) if we are inside parens
1028	(parser_state_tos->paren_depth > 0).
1029
1030Thu Jul  2 13:36:50 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)
1031
1032	* indent.c (indent): In case rparen, if paren starts the line,
1033	check that paren_level is greater than zero before using it to
1034	index `paren_indents'.
1035
1036	* args.c: New variable `leave_preproc_space'.  Set by new option
1037	"-lps".
1038	* indent.h: Declare `leave_preproc_space'.
1039	* indent.c (indent): In case preesc, don't ignore blanks after '#'
1040	if `leave_preproc_space' is set.
1041	* indent.texinfo: Entries added for new option "-lps".
1042
1043	* indent.c: At the end of case preesc, call dump_line() if this
1044	appears to be a case where it won't get called when processing the
1045	newline character.
1046
1047Wed Jul  1 16:12:57 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)
1048
1049	* lexi.c (hash, is_reserved): Regenerated (from gperf) with new
1050	words "volatile" and "const".
1051
1052	* args.c: Removed the trailing comma from the last element of enum
1053	profile.  This breaks some compilers.
1054
1055	* Makefile: Changed to drive the configuration process.
1056	* zmakefile.in: Renamed from Makefile.in
1057	* CONF-README: Renamed from INSTALL
1058
1059Tue Jun 30 21:34:16 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)
1060
1061	* globs.c (mymemcpy): Function deleted.
1062	* sys.h: Declarations and defines for mymemcpy, etc, removed.
1063	* indent_globs.h: All references to memcpy removed.
1064	* backup.c: `mymemcpy' changed to `memcpy'.
1065	* indent.c: Ditto.
1066	* io.c: Ditto.
1067
1068	* Makefile.in:
1069	* INSTALL:
1070	* configure:
1071	* configure.in:
1072	* memcpy.c:     New files.
1073
1074Sun Jun 14 13:38:12 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)
1075
1076	* Version 1.4 released.
1077
1078Fri Jun 12 15:02:37 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)
1079
1080	* globs.c (mymemcpy): Now a void function.  Don't return anything.
1081
1082	* io.c (dump_line): When printing label, use `tabsize' to
1083	increment target if `com_st' contains tabs.  Also use
1084	`tabsize' to calculate target when it's less than zero.
1085
1086Thu Jun 11 20:27:48 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)
1087
1088	* indent.c (indent): When token_type is a binary_op, if
1089	parser_state_tos->want_blank is not true, but the preceding
1090	character is not a space, put one on the line.
1091
1092	* Removed variable `sccsid' from all files.
1093
1094Wed Jun 10 13:00:26 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)
1095
1096	* args.c: Added long option name "dont-space-special-semicolon"
1097	for -nss.
1098
1099Tue Jun  9 13:01:21 1992  Joseph Arceneaux  (jla@geech.gnu.ai.mit.edu)
1100
1101	* Makefile: Automatically make the files README and RELEASE-NOTES.
1102
1103	* sys.h: Provide defines for using memcpy or bcopy.
1104
1105	* globs.c: `mymemcpy ()' only defined #ifndef mymemcpy.
1106
1107	* indent.c (main): Set `in_name' to the current input file name.
1108
1109	* io.c (dumpline): Check parser_state_tos->paren_level before
1110	using it to index parser_state_tos->paren_indents.
1111
1112Mon Jun  8 17:55:07 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)
1113
1114	* lexi.c (lexi): In conditional (paren_count == 0), add '=' to the
1115	characters (along with ';', ',', and '(') which constitute a
1116	function definition.  This was to cause an ugly declaration from
1117	libc ("int (*foo) __P ((int bar)) = bax;") to remain on one line.
1118	Note that this is not valid C.
1119
1120	* indent.c (main): When indenting multiple output files, make sure
1121	to close each output file before continuing.
1122
1123Fri Jun  5 13:56:54 1992  Joseph Arceneaux  (jla@churchy.gnu.ai.mit.edu)
1124
1125	* io.c (read_file): Use mymemcpy() instead of bcopy();
1126
1127	* backup.c (max_version):  Don't free dirname unless it was malloc'd.
1128
1129Wed May  6 02:01:18 1992  Joseph Arceneaux  (jla@geech.gnu.ai.mit.edu)
1130
1131	* Version 1.3 released.
1132
1133	* indent.texinfo:  Reorganization of the "Invocation" part, and a
1134	new menu entry "Backup files", as well as corrections throughout.
1135	A new option "nip" added.
1136
1137	* indent.c (main): New variable `using_stdin', used to indicate
1138	when `-' was specified on the command line.
1139
1140Tue May  5 21:28:06 1992  Joseph Arceneaux  (jla@geech.gnu.ai.mit.edu)
1141
1142	* args.c: Set default for `decl_com_ind' to 33.  If
1143	BERKELEY_DEFAULTS is defined, default `continuation_indent' to 4.
1144
1145Sun May  3 00:43:10 1992  Joseph Arceneaux  (jla at hugo)
1146
1147	* parse.c (reduce):  when reducing <stmt><dolit>,
1148	do set i_l_follow to il[parser_state_tos].  This was removed
1149	earlier after a new reduction was added, but this obviously fixes
1150	some bugs.  It will stay if indent passes all the old tests.
1151
1152	* args.c (set_option):  When calling `addkey' to add a user
1153	identifier, make it type 'rw_decl' since these are supposed to be
1154	typedef identifiers.
1155	Removed "-d4" spec in "-orig" option settings.
1156	Made default for "-fca" be false.
1157
1158	* args.c (set_profile): Only read one profile.  The one in the
1159	current directory has priority.  Return the path of the profile read.
1160	* indent.c (main): If `verbose' and we've read a profile, tell the
1161	user on the stderr.
1162
1163Sat May  2 18:33:14 1992  Joseph Arceneaux  (jla at hugo)
1164
1165	* args.c: `Bill_Shannon' replaced with `blank_after_sizeof'.
1166	indent.c: Likewise.
1167	indent.h: Likewise.
1168
1169	* args.c: New variable, exp_nip, for new option "-nip", which is
1170	equivalent to "-ip0".  Long option name is
1171	"no-parameter-indentation".
1172
1173	* config.sh: New shell script which generates "dirent_def.h", and
1174	include file with directory reading definitions.
1175	* Makefile:  Take "config.sh" and "dirent_def.h" into account.
1176
1177	* backup.c: Make only simple backups if we can't read directories
1178	(NODIR is defined).  Functions for numbered backups conditionally
1179	defined.
1180	Documented all functions.
1181
1182	* indent_globs.h:  Broken into two new files, indent.h and sys.h.
1183	All files changed accordingly, including the Makefile.
1184
1185Thu Apr 30 14:53:33 1992  Joseph Arceneaux  (jla at hugo)
1186
1187	* backup.c, backup.h: New files with backup routines.
1188	* io.c (make_backup): Moved into backup.c.
1189	* io.c (sys_error): No longer static, called from make_backup.
1190
1191Wed Apr 29 14:56:10 1992  Joseph Arceneaux  (jla at hugo)
1192
1193	* args.c: Make default value for `else_endif_col' 1, as in "-gnu"
1194	settings.
1195
1196Tue Apr 28 23:18:07 1992  Joseph Arceneaux  (jla at hugo)
1197
1198	* indent.c (main):  Only output to stdout if stdin is used and no
1199	output file is specified, or one input stream is used and -st is
1200	specified.
1201	* args.c: New variable `use_stdout' set with option "-st".
1202	* indent_globs.h: Declare `use_stdout'.
1203
1204Sun Mar 22 14:59:35 1992  Joseph Arceneaux  (jla at hugo)
1205
1206	* parse.c (init_parser, reset_parser):  Two new functions which
1207	respectively allocate the neccessary parser data structures, and
1208	initialize the parser state.
1209	* indent.c (indent): New function which does the actual indenting
1210	of it's input, which comes in the form of a file_buffer pointer.
1211	(main): Command line scan changed to use new option "-o" and read
1212	possibly multiple files into new variable `in_file_names'.
1213	Main body changed to use new `indent' function on possibly
1214	multiple files, and accomodate default standard io specification.
1215
1216	* io.c (make_backup, read_file, read_stdin):  All file io routines
1217	rewritten (`make_backup' formerly `bakcopy').  read routines
1218	return pointer to new structure 'file_buffer'.
1219	`make_backup' only makes backup file, no longer sets up original
1220	file for writing.
1221	* indent_globs.h:  Declare struct file_buffer, and io routines.
1222
1223Fri Mar 20 18:33:18 1992  Joseph Arceneaux  (jla at hugo)
1224
1225	* args.c: Option "-st" and associated variable `use_stdinout'
1226	removed.  Option "-o" and associated variable `expect_output_file'
1227	added.
1228
1229Mon Feb  3 20:22:04 1992  Joseph Arceneaux  (jla at churchy.gnu.ai.mit.edu)
1230
1231	* args.c: If BERKELEY_DEFAULTS is defined, use the original
1232	defaults rather than GNU style.
1233
1234	* Version 1.2 released.
1235
1236Thu Jan 23 14:02:06 1992  Joseph Arceneaux  (jla at wombat.gnu.ai.mit.edu)
1237
1238	* Makefile: info version of manual included in distribution.
1239
1240	* args.c: New long options "berkeley-style", "berkeley" added
1241	which correspond to original style.
1242
1243	* lexi.c ():  Added explicit parens in checks for alphanums.
1244	* indent.c (main):  On switch default when searching brace, added
1245	explicit parens to 2nd if statment.
1246	* indent_globs.h, io.c: Made variable `in_prog_size' unsigned.
1247
1248Wed Jan 15 11:59:35 1992  Joseph Arceneaux  (jla at hugo)
1249
1250	* args.c:  Accept "-gnu" option.
1251
1252	* indent.c (main): In case rbrace, don't use ind_level and il[tos]
1253	as criteria for setting search_brace.  This allows "-ce" to work
1254	more strictly.
1255
1256	* indent.c (main): In case lparen, let '(' after an ident which is
1257	rw_return begin casts.
1258	* lexi.c (lexi): If ident was a reserved word, save it in
1259	parser_state_tos->last_rw.
1260	Changed "return" from `rw_break' to new enum element `rw_return'.
1261	* indent_globs.h: Moved type "enum codes" to this file from
1262	lexi.c.  New element of parser state `last_rw'.
1263
1264Sun Jan 12 01:40:23 1992  Joseph Arceneaux  (jla at hugo)
1265
1266	* lexi.c (lexi): if in decl and looking at '(', additionally
1267	accept, after closing ')',  '(' as constituting a function
1268	declaration (along with ';' and ',').
1269
1270Thu Jan  9 18:31:44 1992  Joseph Arceneaux  (jla at hugo)
1271
1272	* io.c (dump_line):  When outputting nonblank lines, if
1273	n_real_blanklines is > 1 and swallow_optional_blanklines is set,
1274	make n_real_blanklines 1.
1275
1276Wed Jan  8 10:06:43 1992  Joseph Arceneaux  (jla at hugo)
1277
1278	* args.c (option_prefix):  New function to recognize option prefix
1279	from table.  Now handles both "+" and "--" for long option prefixes.
1280
1281Mon Jan  6 01:15:29 1992  Joseph Arceneaux  (jla at hugo)
1282
1283	* Makefile:  Made more compatible with GNU standards.  Unix man
1284	file removed from distribution.
1285
1286Fri Dec 27 14:58:13 1991  Joseph Arceneaux  (jla at hugo)
1287
1288	* parse.c:  Correctly handle "do ... while" statements, using new
1289	stack symbol DOSTMT.
1290	(parse):  For semicolon, if code DOSTMT is top of stack, replace it
1291	with STMT.
1292	(reduce):  New reduction <dohead><whilestmt> => <dostmt>.  Also,
1293	when reducing <stmt><dolit>, don't change indentation.
1294
1295	* indent.c (main):  In case rbrace, after parse(rbrace), set
1296	force_nl if top of stack is dohead and ! btype_2.
1297	(main):  Initialize noncast_mask to 0.
1298
1299Mon Dec 23 18:34:11 1991  Joseph Arceneaux  (jla at hugo)
1300
1301	* args.c (set_option): Recognize long options, using new struct
1302	option_conversions, if option begins with POSIX_OPTION_PREFIX.
1303
1304	* indent.c (main): Recognize "--no-profile" as well as "-npro".
1305
1306	* indent.texinfo: Describe GNU style as default.  Section reworded.
1307
1308Sat Dec 21 13:27:07 1991  Joseph Arceneaux  (jla at hugo)
1309
1310	* indent.c (main):  In case preesc (~ line 1282), add !had_eof to
1311	second while clause to avoid hanging in weird text (like test file
1312	djm-torture-test/t11).
1313
1314	* indent.c (main): In case rparen, (~ line 680) if cast mask was
1315	set and is reset to zero, then set parser_state_tos->want_blank if
1316	cast_space was set.  No longer do this (#if 0) in all cases where
1317	(!parser_state_tos->cast_mask || cast_space).
1318
1319Wed Dec  4 16:41:13 1991  Joseph Arceneaux  (jla at hugo)
1320
1321	* version.h:  Version changed to be simply 1.1.4.  Comments added.
1322
1323Mon Nov 25 15:16:51 1991  Joseph Arceneaux  (jla at hugo)
1324
1325	* indent.c (main):  When handling decl case, don't reset
1326	PREFIX_BLANKLINE_REQUESTED if we've just encountered the type of a
1327	procedure delcaration.  This fixes the -bap bug for procedures
1328	which begin with a line declaring their type, following the line with
1329	`}' from the last procedure.
1330
1331Fri Nov 22 15:26:59 1991  Joseph Arceneaux  (jla at hugo)
1332
1333	* args.c: Default is now GNU style.  Original obtained by new
1334	option "-orig".  New variable exp_orig.
1335
1336	* indent.texinfo: Describe the new -ts option.  Removed the -ss
1337	option from GNU style.
1338
1339Thu Nov 21 17:50:48 1991  Joseph Arceneaux  (jla at hugo)
1340
1341	* args.c: New variables `tabsize' and `exp_ts'.
1342	* indent_globs.h: Declare `tabsize'.
1343	* io.c (pad_output, count_spaces): Use `tabsize' to calculate padding.
1344	* pr_comment.c (pr_comment): Use `tabsize' to compute column.
1345
1346	* args.c: Removed the "-ss" option for GNU style.
1347
1348Fri Sep 13 01:30:18 1991  Joseph Arceneaux  (jla at hugo)
1349
1350	* indent_globs.c: New element to parser_state, `paren_depth',
1351	which counts global paren nesting.
1352	* indent.c: Use it in main loop to avoid setting `in_or_st' when
1353	doing ansii prototyping.
1354
1355Thu Sep 12 15:53:54 1991  Joseph Arceneaux  (jla at hugo)
1356
1357	* io.c (dump_line): Initialize target_column to 0.
1358
1359	* parse.c: New variable debug to control debugging output.
1360
1361