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