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: