-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathastyle_notes.html
More file actions
875 lines (870 loc) · 43.9 KB
/
astyle_notes.html
File metadata and controls
875 lines (870 loc) · 43.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
<html>
<head>
<meta http-equiv="Content-Language" content="en-us">
<title>Artistic Style - Release Notes</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="CREATED" content="19981123;1064600">
<meta name="CHANGEDBY" content="Jim Pattee">
<meta name="CHANGED" content="19981123;1091900">
<meta name="GENERATOR" content="Microsoft FrontPage 6.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<style> <!-- h1 {color:#0000A0; text-align:center; font-style:italic; font-size:200%;}
h2 {color:#0000A0;}
h3 {color:#0000A0;}
code {color:#0000A0; font-size:larger;}
--></style>
</head>
<body>
<h1>Artistic Style Release Notes</h1>
<p> </p>
<blockquote>
<h3>Artistic Style 1.21 (June 2007)</h3>
<ul>
<li>New function, formatArrayBrackets,
to improve array formatting and indentation.<li>Attach brackets to lines with end-of-line comments.
<li>Break brackets from lines with end-of-line comments without bringing
the comments with them.<li>Move ASFormatter and ASBeautifier static initialization
from constructor to "init" function to allow for changes in the file type.<li>Add --preserve-date (-Z) option.<li>New functions formatBrackets, padOperators and PadParens to improve decomposition.<li>Add identification of file
mode (C, C#, or Java) to file open procedure.<li>Keywords in headers now depend on file
mode (C, C#, or
Java) and object type (formatter or beautifier).<li>Remove short options -c (mode=c) and -j
(mode=java) since the mode is now set automatically from the file extension.<li>Change Linux bracket formatting for header files.<li>Fix formatting of empty blocks.<li>Expand BracketType definition.
<li>Fix "do not change" bracket mode inconsistencies with other bracket
formatting.
<li>Remove mode=java from Java predefined style.<li>Change long option --errors-to-standard-output to --errors-to-stdout.<li>Fix breaking of struct variable declaration.<li>Add support for OpenVMS compiler.<li>Inline the ASBeautifier function isLegalNameChar.<li>Fix no-indent of block comments starting in
column 1 or 2.<li>Fix formatting of Java anonymous class defined as a method call
parameter (bracket within a paren).
<li>Fix indentation for Java "for each" statement.<li>Fix bracket being attached to a preprocessor directive.<li>Fix extra indent of single line blocks when a previous line
probation header is found.<li>Fix formatting of block comments when continuation lines have
different leading whitespace characters.<li>Fix deleting a blank line before a bracket when brackets=attach.<li>Fix segmentation fault on preprocessor continuation line followed by an empty line.<li>Fix bad bracket indent that sometimes occurs when brackets=attach and it
cannot be attached.<li>Fix trimming of comment lines.
<li>Fix incorrect identification of "new" operator pointers as
calculations.
<li>Fix incorrect identification of assignments as command type bracket.<li>Fix incorrect indentation of pointers following a dot operator or
pointer.<li>Fix attaching "else if" statements to a single line block.
<li>Fix header recognition problem when header is proceeded by a tab
instead of a space.
<li>Fix line break when colon is followed by a comment.<li>Fix
ASBeautifier not identifying a template definition.<li>Change indents around the end of line to two indents.<li>Change header includes to fix header dependencies for Linux GCC 4.3.<li>Add output line number
for debugging.<li>Add filename to trace output.<li>Add trace for arrays.<li>Add trace for bracketType .<li>Fix no-indent comment in a #else preprocessor directive.<li>Fix block comment continuation line indent when block comments do
not start the line.<li>Adjust position of block comments (/*) when padding is added or deleted.
<li>Fix incorrect formatting if "return" is included in a function name.
<li>Fix incorrect padding if template depth is greater that one and pad=oper is used.
<li>Fix incorrect bracket type identification when bracket is followed
by a comment.<li>Fix incorrect bracket type identification when a "const"
method is declared.<li>Fix incorrect bracket type identification when pre-definition header is inside a paren.<li>Fix deleting a space when attaching a bracket with line comments.<li>Fix indentation when the conditional
"?" operator is used in a single line
statement.<li>Fix indentation when single line "if" statement is used.<li>Add pointers, multiply operators, and selected variables to do not unpad in paren unpad
procedure.<li>Return exit code 0 for --version and --help.</ul>
<h3>Artistic Style 1.20.2 (February 2007)</h3>
<ul>
<li>Fix problems with the new stream I/O procedure added in release
1.20.1:<ul>
<li>Fix adding an extra blank line at end of document.</li>
<li>Fix line ending on last line when cin and cout option is
used.</li>
</ul>
</ul>
<h3>Artistic Style 1.20.1 (January 2007)</h3>
<ul>
<li>The following changes were made to improve processing for Mac OS X
platforms:<ul>
<li>Remove Makefile linker option -s and add a separate "strip"
command.</li>
<li>Open console input and output streams as binary to allow Linux line
ends on a Windows platform.</li>
<li>Change stream I/O procedure to allow for Mac OS 9 line endings.</li>
<li>Change output stream end of line from endl so output stream
is not flushed with each write.</li>
<li>Change information messages from cerr to cout.</li>
<li>Removed messages when I/O is to cin and cout to accommodate
TextWrangler.</li>
</ul>
</ul>
<h3>Artistic Style 1.20 (January 2007)</h3>
<ul>
<li>Call importOptions() from function AStyleMain() to allow slop in options parameters.</li>
<li>New makefiles for GCC and Intel with new compile options.</li>
<li>New project file for Visual C with new compile options.</li>
<li>Change comments to reflect the GNU Lesser General Public License.</li>
<li>Indent message maps for MFC and event tables for wxWidgets.</li>
<li>Fix incorrect formatting for an empty comment.</li>
<li>Fix "Unknown option" in default options file when last line does not
contain CR or LF.</li>
<li>Patch from Dieter Bayer to fix case indent when a scope resolution
operator is used.</li>
<li>Change long option --brackets=break-closing-headers to
--brackets=break-closing.</li>
<li>Add short option -y for --brackets=break-closing.</li>
<li>Add short option -e for --break-elseifs.</li>
<li>Add short option -w for --indent-preprocessor.</li>
<li>Add short option -f for --break-blocks.</li>
<li>Add short option -F for --break-blocks=all.</li>
<li>Remove the backup file after formatting when <nobr>--suffix=none.</nobr></li>
<li>Show total time at end of job.</li>
<li>Improved error handling for invalid options with ASTYLE_LIB.</li>
<li>Add function AStyleGetVersion() to ASTYLE_LIB option.</li>
<li>Change preprocessor macro from ASTYLE_GUI to ASTYLE_LIB.</li>
<li>Add astyle namespace to ASEnhancer.</li>
<li>Add #include <ctype.h> for Red Hat distribution of GCC 3.2 (prior to
Jan 2004).</li>
<li>Remove commented-out code.</li>
</ul>
<h3>Artistic Style 1.19 (July 2006)</h3>
<ul>
<li>Add unpad=paren option.</li>
<li>Always pad paren headers (e.g. 'if', 'for', 'while').</li>
<li>Fix problem of pad=oper working different if pad=paren is declared.</li>
<li>Add additional tests to distinguish the multiplication operator from
pointers.</li>
<li>Fix padding parens before a member access pointer (->).</li>
<li>If space padding has changed, move end-of-line comments to the
original column, if possible.</li>
<li>Move potential calculation decision to outside of operator padding
function.</li>
<li>Fix duplication of last line of source if a final endline is not
present. </li>
<li>Fix class initializer not indented on last line if bracket is
attached.</li>
<li>Fix identification of templates contained in parens.</li>
<li>Fix one line block occurring before end of class.</li>
<li>Fix line added after one line block with bracketFormatMode =
NONE_MODE.</li>
<li>Add needed variables to ASBeautifier copy constructor.</li>
<li>Trim end of line for multi-line comments.</li>
<li>Add a breakLine before paren checks (needed for unpad=paren option).</li>
<li>Add trace file to ASFormatter.</li>
<li>Move formatting message from end to beginning of formatting.</li>
<li>Move the building of vectors to ASResource. Vectors for
classes ASBeautifier and ASFormatter should now have the same values.</li>
<li>Move debugging variable inLineNumber from ASFormatter to
ASBeautifier.</li>
<li>Bypass char processing for UTF8 characters in ASBeautifier.</li>
<li>Move switchVariables struct from ASEnhancer to the header file. </li>
<li>Remove preprocessorHeader vector (not used).</li>
<li>Remove variable isInConst (not used).</li>
<li>Remove commented-out code.</li>
</ul>
<h3>Artistic Style 1.18 (June 2006)</h3>
<ul>
<li>The following changes were made for the option pad=oper:
<ul>
<li>Does <strong>not</strong> remove extra spaces from formatted
expressions. </li>
<li>Does <strong>not</strong> pad opening parens on the outside.
</li>
<li>Does <strong>not</strong> remove leading spaces from multi-line
comments. </li>
<li>Does <strong>not</strong> pad negative numbers. </li>
<li>Does <strong>not</strong> add a space to the end of preprocessor
directives. </li>
<li>Will <strong>not</strong> pad operators inside block parens [].</li>
</ul>
</li>
<li>The following changes were made for the option pad=paren:
<ul>
<li>Formats correctly <strong>with</strong> or <strong>without</strong>
pad=oper. </li>
<li>Does <strong>not</strong> add a space for each additional run if
pad=oper is not used. </li>
<li>Outside of opening paren is padded correctly. </li>
<li>Inside of closing paren is padded correctly. </li>
<li>Does <strong>not</strong> pad block parens []. </li>
<li>Added short option P, previously used for pad=all.</li>
</ul>
</li>
<li>Added new options pad=paren-out (d) and pad=paren-in (D). </li>
<li>Removed option pad=all. </li>
<li>Add short option V for convert-tabs. </li>
<li>Added bounds checking to options containing parameters. </li>
<li>Display a message when a default options file is used. </li>
<li>Replaced IS_PARAM_OPTION(S) macros with overloaded isParamOption.
Fixed compare problem with short param options. </li>
<li>Fix EOF problem with default options file.</li>
</ul>
<h3>Artistic Style 1.17 (May 2006)</h3>
<ul>
<li>The following changes were made for processing bracketFormatMode =
NONE_MODE:
<ul>
<li>Removed the function isFormattingEnabled() and always performed
the formatting. </li>
<li>Removed the formatting bypass for NONE_MODE. </li>
<li>Fix brackets always being broken in the 2 cases where NONE_MODE
formatting was done. </li>
<li>Added new functions to support the processing of NONE_MODE
brackets. </li>
<li>Made other minor changes necessary for correct NONE_MODE
processing.</li>
</ul>
</li>
<li>Changed indent cases option to indent the entire case block. </li>
<li>Changed to output Windows or Linux line endings. </li>
<li>Added ASEnhancer module for case statement indenting. </li>
<li>Corrected errors in identifying options indent=tab=, and
force-indent=tab=. </li>
<li>Corrected errors in identifying options min-conditional-indent=, and
max-instatement-indent=. </li>
<li>Improved error and information messages. </li>
<li>Added capability to compile as a console program, shared library, or
static library. </li>
<li>Fixed problem with semicolons and parens being put on a line by
themselves. </li>
<li>Fixed spaces being added before a line comment. </li>
<li>Fixed blank line added after some preprocessor statements. </li>
<li>Fixed preprocessor statements not being trimmed. </li>
<li>Do not indent line comments that begin in column 1 or 2. </li>
<li>Fixed indentation problem with ending }; of class statements. </li>
<li>Changed nextLine() function to eliminate char buffer limits. </li>
<li>Moved Windows default options file to %USERPROFILE%. </li>
<li>Removed NEW operators to prevent memory leaks. </li>
<li>Fixed space before the semicolon in return ; statement. </li>
<li>Fixed extra space that was sometimes added when pad operators was
used. </li>
<li>Removed string parameter from IS_PARAM_OPTION. </li>
<li>Added forward declaration of parseOption() to eliminate compile
error. </li>
<li>Added input line number counter for debugging. </li>
<li>Add statements to check for markers if break-blocks or
break-blocks=all is used. </li>
<li>Remove warnings for signed/unsigned mismatch. </li>
<li>Removed COMPARE macro and used string compare. </li>
<li>Removed compiler_defines.h. </li>
<li>Removed USES_NAMESPACE declaration.</li>
</ul>
<h3>Artistic Style 1.16</h3>
<ul>
<p>There was no release 1.16.</p>
</ul>
<h3>Artistic Style 1.15.3 (7 March 2002)</h3>
<ul>
<li>
<div>
<div>
Bug fix in handling of brackets after line-comments.</div>
</div>
</li>
<li>
<div>
<div>
Bug fix: C# add/remove event property headers now properly
formatted.</div>
</div>
</li>
</ul>
<h3>Artistic Style 1.15.2 (2 March 2002)</h3>
<ul>
<li>
<div>
Bug fixes in exception handling phrases, e.g. multiple catches and
try..finally.</div>
</li>
</ul>
<h3>Artistic Style 1.15.1 (2 March 2002)</h3>
<ul>
<li>
<div>
Bug fix: C# properties are now formatted properly.</div>
</li>
</ul>
<h3>Artistic Style 1.15.0 (2 March 2002)</h3>
<ul>
<li>
<div>
Added support for C#.</div>
</li>
<li>
<div>
Artistic Style is now licensed only under the GNU Public License
(GPL).</div>
</li>
<li>
<div>
Compilation under G++ 3.0 now works properly.</div>
</li>
<li>
<div>
Bug fix: Opening brackets that appear at the beginning of a line
immediately after an empty line comment are now handled properly,
and not appended as part of the line comment.</div>
</li>
<li>
<div>
Bug fix: Brackets inside comments are now not mis-indented within
the comment.</div>
</li>
</ul>
<p></p>
<h3>Artistic Style 1.14.1 (2 June 2001)</h3>
<p></p>
<ul>
<li>
<div>
Bug fix: : '<' and '>' symbols within template declarations (e.g.
'foo<bar*, xoo>') are now left unpadded in the padding modes.</div>
</li>
<li>
<div>
Bug fix: Fixed false recognizing of headers within larger words
(e.g. 'catch' in 'gcatch').</div>
</li>
</ul>
<h3>Artistic Style 1.14.0 (1 June 2001)</h3>
<ul>
<li>
<div>
Bug fix: Fixed indentation of statements within preprocessor
'#if...' statements.</div>
</li>
<li>
<div>
Bug fix: Templates are now not broken from their bodies.</div>
</li>
<li>
<div>
Bug fix: '<' and '>' symbols within template definitions (e.g.
'template<class T>') are now left unpadded in the padding modes.</div>
</li>
</ul>
<h3>Artistic Style 1.13.8 (13 April 2001)</h3>
<ul>
<li>
<div>
Bug fix: Fixed indentation of multiple nested non-block brackets,
such as in multi bracketed static array declarations.</div>
</li>
</ul>
<h3>Artistic Style 1.13.7 (6 April 2001)</h3>
<ul>
<li>
<div>
New option:'--force-indent=tab=#' (or 'T#') instructs astyle to
indent using tabs in all the pre-statement white space, including
areas astyle's '--indent=tab' prefers to indent using spaces, such
as white space in multi-line statements.</div>
</li>
<li>
<div>
Bug fix: Fixed unwanted empty line insertions between empty blocks
(e.g. '{}') and closing brackets that come immediately after them.</div>
</li>
<li>
<div>
Bug fix: Fixed unwanted empty line insertions immediately after
colons (e.g. 'default:', 'label:', ...)</div>
</li>
</ul>
<h3></h3>
<div>
<h3>Artistic Style 1.13.6 (24 January 2001)</h3>
</div>
<h3></h3>
<ul>
<li>
<div>
Bug fix: Preprocessor lines now remain unpadded in padding modes.</div>
</li>
</ul>
<h3>Artistic Style 1.13.5 (24 January 2001)</h3>
<ul>
<li>
<div>
Bug fix: Fixed the insertion of phantom empty lines immediately
after {} blocks.</div>
</li>
<li>
<div>
Bug fix: Bare open brackets ('{') with no preceding headers are now
broken appropriately from their preceding code lines in the 'attach'
and 'linux' bracketmodes.</div>
</li>
<li>
<div>
Bug fix: Fixed operator recognition for long operators such as
'>>=', '<<= '.</div>
</li>
</ul>
<h3>Artistic Style 1.13.4 (24 January 2001)</h3>
<ul>
<li>
<div>
Bug fix: L" unicode strings are now handled properly in padding
modes.</div>
</li>
<li>
<div>
Bug fix: Fixed the padding around '-' operators (which went sour
somewhere in the past).</div>
</li>
<li>
<div>
Bug fix: Fixed the handling of exponent numbers (e.g. 12.2e+2) in
padding modes. The fix enables 'e+' to be regarded as part of the
exponent.</div>
</li>
</ul>
<h3>Artistic Style 1.13.3 (23 January 2001)</h3>
<ul>
<li>
<div>
Line that contain both headers and their following non-header code
(e.g. 'if (isFoo) doBar();') are now broken by default into multiple
lines. To keep these lines as single lines, use '--one-line=
keep-statements'.</div>
</li>
<li>
<div>
Added the new option '--break-elseifs' which breaks 'else if()'
statements into multiple lines.</div>
</li>
<li>
<div>
The option block breaking options now works properly with the
padding options.</div>
</li>
<li>
<div>
Various minor bug fixes.</div>
</li>
</ul>
<h3>Artistic Style 1.13.2 (21 January 2001)</h3>
<ul>
<li>
<div>
Added the new option '--brackets=break-closing-headers'. When this
option is added to either '--brackets=attach' or '--brackets=
linux', astyle breaks closing headers (e.g. 'else', 'catch') from
their preceding closing brackets.</div>
</li>
<li>
<div>
'--break-blocks' and '--break-blocks= all' now correctly handle
blocks that appear immediately before closing brackets, and do not
append empty lines between them and the closing brackets.</div>
</li>
</ul>
<h3>Artistic Style 1.13.0 (27 September 1999)</h3>
<ul>
<li>Moved back to odd-minor-numbered development versions, and
even-minor-numbered stable versions. </li>
<li>Added the new option '--break-blocks' which breaks apart unrelated
blocks, labels, classes, etc. </li>
<li>Added the new option '--break-blocks=all' which also breaks apart
blocks of closing headers, such as 'else', 'catch', etc. </li>
<li>Fixed indentation handling of labels and class-definition
identifiers such as 'public:', 'protected:', ... (thanks to Daryn Adler
for his patch) </li>
<li>Fixed indentation of nested class definitions. (thanks to Daryn
Adler for his patch) </li>
<li>Added the new option '--indent-preprocessor' which (surprisingly)
tries to reindent C/C++ preprocessor macro lines. Astyle should do an
pretty nice indentation job if the macro code is sane, but don't expect
miracles for horrid macro definitions...</li>
</ul>
<h3>Artistic Style 1.11.6 (27 September 1999)</h3>
<ul>
<li>Improved indentation of lines containing single-line blocks.</li>
</ul>
<h3>Artistic Style 1.11.5 (25 September 1999)</h3>
<ul>
<li>Improved the bug fix for a 'const' keyword bug which resulted in
wrong indentation of methods that are declared const.</li>
</ul>
<h3>Artistic Style 1.11.4 (18 September 1999)</h3>
<ul>
<li>Improved handling of single colons (':') in class headers, e.g.
class Foo : public Bar { ... } </li>
<li>Improved handling of single colons (':') in method (constructor)
headers, e.g. Foo::Foo(int a) : Bar(a)</li>
</ul>
<h3>Artistic Style 1.11.3 (16 September 1999)</h3>
<ul>
<li>Fixed a serious bug in the formatting of brackets, introduced in
1.11.2.</li>
</ul>
<h3>Artistic Style 1.11.2 (10 September 1999)</h3>
<ul>
<li>Fixed an indentation bug in statements that contain the 'const',
that resulted in wrong indentation of array blocks that where declared
const. (Thanks Daniel!) </li>
<li>Fixed an indentation bug that could arise in lines that appear
immediately after several preprocessor commands. (Thanks Daniel!). </li>
<li>Fixed a bug that inserted an empty line after closing brackets if a
comment appeared immediately prior to the closing bracket. (Thanks Ed!)
</li>
<li>Fixed a bug that eliminated empty lines between closing brackets and
immediately following opening brackets. (Thanks Ed!)</li>
</ul>
<h3>Artistic Style 1.11.1 (3 September 1999)</h3>
<ul>
<li>Fixed a bug that inserted an empty line at the begining of source
files. </li>
</ul>
<h3>Artistic Style 1.11.0 (3 September 1999)</h3>
<ul>
<li>Astyle now filters out line-feeds ('\r') before begining to parse
lines. This should take care of bizarre formatting that existed when
moving source files from Windows (which breaks lines with a linefeed AND
newline ("\r\n") to unix (which breaks lines only with newlines). </li>
<li>The "struct", "static" and "synchronized" keywords are now finally
handled correctly in both the contexts of block headers AND simple
keywords. </li>
<li>Better treatment of precompiler lines that end with backslashes, and
the lines that immediately follow them. </li>
<li>The '--indent-classes' (or '-C') option now works correctly
(again...). </li>
<li>Series of short command-line options (e.g. "-b -s4 -C") are now
parsed correctly.</li>
</ul>
<h3>Artistic Style 1.10.4 (27 July 1999)</h3>
<ul>
<li>Fixed a MAJOR bug (inserted in 1.10.3) that resulted wrong handling
of double-colons ('::') in C++. </li>
</ul>
<h3>Artistic Style 1.10.3 (24 July 1999)</h3>
<ul>
<li>Fixed a bug (inserted yesterday) that resulted in unwanted line
breaks before closing-brackets. </li>
<li>Fixed a bug in the handling of 'static' blocks in java. </li>
<li>Added the new option '--indent-cases' (or '-K') for indenting 'case
XXX:' lines so they are flush with their following code lines. </li>
<li>Added the new option '--fill-empty-lines' (or '-E') which fills
empty lines with the white-space of their previous line. </li>
</ul>
<h3>Artistic Style 1.10.2 (23 July 1999)</h3>
<ul>
<li>Fixed a series of related bugs that resulted in certain cases of
lacking line breaks after close-brackets, and colons. Thanks Jeroen!</li>
</ul>
<h3>Artistic Style 1.10.1 (18 July 1999)</h3>
<ul>
<li>Fixed a bug (introduced in astyle 1.10.0) that can result in missing
line breaks before closing brackets if they appear immediately after
comments. Thanks Larry!</li>
</ul>
<h3>Artistic Style 1.10.0 Release (14 July 1999)</h3>
<ul>
<li>Improved handling of empty bracket blocks ( e.g.{ } ). Thanks
Michael!</li>
</ul>
<h3>Artistic Style 1.10.0 Prerelease (4 July 1999)</h3>
<ul>
<li>Fixed a bug in the in-statement indentation algorithm which resulted
in sub-optimal indentation of multiple-line conditional statements that
immediately follow headers such as 'if', 'else if', 'while', etc... As a
result, the current in-statement indentation is finally what it should
have been long ago - MUCH better then in the last stable versions. </li>
<li>The "linux" bracket style (in which definition brackets are broken
while code brackets are attached) has been fixed, and should finally
work correctly. </li>
<li>Artistic Style can now parse both C/C++ and Java files in the same
command. Unless a specific language mode is specified (e.g. --style=java
or --style=c), astyle will now automatically set the language mode
according to each file's suffix (java mode for the '.java' suffix , c
mode otherwise). </li>
<li>Multiple statements in a single line (e.g. aaa; bbb; fff;) are now
broken up by default. </li>
<li>Added the option '<strong>--one-line=keep-statement</strong>s' (or '<strong>-o</strong>')
that keeps multiple statements in a single line attached, thus
countering the default break detailed above. </li>
<li>Changed the option previously called '<strong>--keep-one-line-blocks</strong>'
to '<strong>--one-line=keep-blocks</strong>', for similarity with the
new option above. </li>
<li>Changed the short option name of the option '-<strong>-errors-to-standard-output</strong>'
from '<strong>-o</strong>' to '<strong>-X</strong>'. </li>
<li>Up to now, Artistic Style always inserted a minimal indent of
<strong>t</strong>wice the current selected indent size<strong> </strong>
inside multi-line conditional headers ('if', 'while' ...), so that it
would be clear where the headers end and the code after them begins. The
current version adds the option '<strong>--min-conditional-indent=#</strong>'
(or '<strong>-m#</strong>') that sets the absolute minimal indent
between conditional headers and their multiple-line conditional
statements. If this option is not specified, the default indent remains
<strong>twice the current selected indent size</strong>.<br>
For example, This option should come very handy in code that already has
brackets after EVERY conditional statement (even if just one line is in
that bracket...) - in such a case, it would be wise to set <strong>
--min-conditional-indent=0 </strong>since the brackets already make it
clear where the header ends and the code begins... </li>
<li>Added the ability to set the assumed tab size when in '<strong>--indent-tab</strong>'
mode by using '<strong>--indent-tab=#</strong>' or '<strong>-t#</strong>'
and replacing the <strong>#</strong> with the wanted size. If the size
is not specified, the size of each tab is assumed to be 4 spaces long.</li>
</ul>
<h3>Artistic Style 1.8.2 (18 March 1999)</h3>
<ul>
<li>Fixed pointer handling problems in ASBeautifier that led to crashes
when parsing preprocessor commands. </li>
<li>Fixed the problem in locating the default options file in the
directory pointed to by $HOME or %HOMEPATH% when these system variables
do not contain an '/' (or '\' ...) at their end. </li>
<li>Fixed inverse insertion of spaces vs. tabs when in -t mode. (Thanks
Brian!) </li>
<li>Got rid of those pesky C4786 warnings when compiling under Visual
C++ (Thanks John!)</li>
</ul>
<h3>Artistic Style 1.8.1 (9 March 1999)</h3>
<ul>
<li>Changed the '--style=k&r' option to '--style= kr' , so that
linux/unix machines don't misinterpret the '&' as a background
processing command.</li>
</ul>
<h3>Artistic Style 1.8.0 (3 March 1999)</h3>
<ul>
<li>Added support for predefined styles. Current supported styles are:
<strong>ansi, k&r, linux, gnu, java</strong>. these can be set by using
'--style=THESTYLE' (e.g. '--style=linux'). </li>
<li>Added '--indent-blocks' (or -G) option, which <strong>adds
indentation to entire blocks</strong>, including their brackets, in
similar fashion to the standard gnu style. </li>
<li>Added option '--brackets=linux' (or '-l') which <strong>breaks
definition-block brackets, but attaches command-block brackets</strong>.
</li>
<li>Padding can now be set separately for operators alone('-p' or
'--pad=oper'), parentheses alone ('--pad=paren) or both ('-P' or
'--pad=all'). </li>
<li>Artistic Style looks for a default options file in the following
order:<br>
1. The contents of the <strong>ARTISTIC_STYLE_OPTIONS</strong>
environment variable if it exists.<br>
2. The file called .astylerc in the directory pointed to by the <strong>
HOME</strong> environment variable ( i.e. <strong>$HOME/.astylerc</strong>
).<br>
3. The file called .astylerc in the directory pointed to by the <strong>
HOMEPATH</strong> environment variable ( i.e. <strong>
%HOMEPATH%\.astylerc</strong> ).<br>
If a default options file is found, the options in this file will be
parsed BEFORE the command-line options. Options within the default
option file may be written without the preliminary '-' or '--'.
Indentation within #if , #else and #endif precompiler commands now works
correctly even if the program lines between these precompiler commands
contain non-pared brackets. </li>
<li>Improved handling of labels (e.g. 'exit:'). By default, labels are
now flushed completely to the left. Labels can also be indented to one
indent LESS than current standard indentation by using the new option
'--indent-labels' (or '-L') . </li>
<li>Fixed handling of the 'operator' keyword when it is preceded by a
non space character (such as '&' or '*'). </li>
<li>Fixed wrong bracket handling after 'throws' statements. </li>
<li>Fixed wrong indentation of single-line blocks. These where indented
1 indent to much. </li>
<li>Fixed wrong indentation of headers in internal classes (java mode).
These where indented 1 indent to little. </li>
<li>The option ' --errors-to-standard-output' now has the one-letter
option '-o'. </li>
<li>Fixed bug which resulted in an unneeded indent in
function-declarations in which function-variables are declared before
the function declaration and are preceded by the 'static' keyword.
Thanks Scott. </li>
</ul>
<h3>Artistic Style 1.6.0 (5 January 1999)</h3>
<ul>
<li>Fixed zero indentation that resulted when a '-suffix' option was set
after a '--indent=spaces' (or '-s') option.. </li>
<li>Wrong options are now announced. </li>
<li>Changed default indentation to NOT automatically indent class blocks
and switch blocks. Instead, the new options '--indent-classes' (or '-C')
and '--indent-switches' (or '-S') should be used. The option
'--indent-switches' replaces the old option '--flush-switches'.</li>
</ul>
<h3>Artistic Style 1.4.1 (4 January 1999)</h3>
<ul>
<li>Fixed ability to write options without the preceding '--' in the
default options file. </li>
<li>Added one-letter options to most options that had only long-options
in version 1.4.0 . </li>
<li>Added a '-v' or '--version' option that writes the current Artistic
Style version.</li>
</ul>
<h3>Artistic Style 1.4.0 (3 January 1999)</h3>
<ul>
<li><strong>MAJOR NEW CHANGE IN THE FORMAT OF OPTIONS:</strong><br>
Options are now either <strong>short one-letter options</strong>
starting with '-', or <strong>long multi-letter options</strong>
starting with '--'. The Short one-letter options MAY BE ATTACHED
TOGETHER. Thus, writing '-bps4' is the same as writing '-b -p -s4'.<br>
Many options that have up to now had a 2 letter format now retain only
their long format. I truly believe that the combination of
attached-one-letter options PLUS a default option's file containing
long-letter-options related to style will be much easier to work with
than the previous setup. </li>
<li>Added support for <strong>a default options file</strong> (pointed
to by the <strong>ARTISTIC_STYLE_OPTIONS environment variable</strong>).
</li>
<li>Changed downloading method from the server. From now, there will be
specific directories containing the latest stable sources, stable
binaries, and development sources. </li>
<li>Space padding ('-p' or '--pad') now works correctly (1) around
semicolons and commas, (2) between headers that require parentheses
after them (such as 'if', 'while'...)and those parentheses, and (3)
after parentheses (unless immediately followed by a ';' or ',' or '.') .
</li>
<li>From now on, namespace blocks are NOT indented by default. To indent
namespace blocks use the new '--indent-namespaces' option. </li>
<li>Added options '--errors-to-standard-output' for redirection of
standard-error to standard-output from within Artistic Style, and
'--suffix=' for specifying a suffix other than '.orig' to append to
original filenames.. </li>
<li>Corrected indentation of 'default' in switch statements. (Up to now,
this only worked correctly in java mode...). </li>
</ul>
<h3>Artistic Style 1.2.0 (19 December 1998)</h3>
<ul>
<li>Artistic Style 1.2.0 is the first stable result of a new version
numbering, in which development versions are numbered with an odd minor
number (such as 1.1.x), and stable versions are numbered with an even
number (1.2.x). Thus, version 1.2.0 accumulates all the
additions/changes of the 1.1.x development versions of Artistic Style.
</li>
<li>A new '-ol' formatting mode that eliminates breaking of one-line
blocks. </li>
<li>Fixed a SERIOUS bug, which resulted in wrong formatting of brackets
('{', '}') that came IMMEDIATELY AFTER definition type brackets, (e.g.
brackets that come right after 'class', 'interface', 'name-space', etc
...). This bug was mistakenly introduced when I set out to correctly
space-pad pointer and reference signs, somewhere in version 0.9.x . </li>
<li>Fixed unwanted elimination of final empty lines. </li>
<li>Fixed broken indentation of virgin opening-brackets that occur
immediately after a previous closing-bracket. </li>
<li>Fixed space-padding to not insert a space in front of ':' characters
unless they are a part of a '? ... : ' statement.</li>
</ul>
<h3>Artistic Style 1.0.5 (11 December 1998)</h3>
<ul>
<li style="MARGIN-BOTTOM: 0cm">'extern' blocks now handled correctly.
</li>
<li style="MARGIN-BOTTOM: 0cm">Fixed handling of ^= in '-p' mode. </li>
<li style="MARGIN-BOTTOM: 0cm">Win32 executables now contain wildcard
expansion. *** Look at the README.TXT for info on how to include
wildcard expansion abilities when compiling Artistic Style under Win32.
(Thanks for the info on wildcard-expansion enabling, Nat!!!)</li>
</ul>
<h3>Artistic Style 1.0.4 (2 December 1998)</h3>
<ul>
<li style="MARGIN-BOTTOM: 0cm">Fixed unwanted space-padding around
urinary minuses and '-' symbols within exponents (e.g. 2.5E-5) when
using the '-p' option.</li>
</ul>
<h3>Artistic Style 1.0.3 (1 December 1998)</h3>
<ul>
<li style="MARGIN-BOTTOM: 0cm">Control characters now remain in the
indented file. </li>
<li style="MARGIN-BOTTOM: 0cm">Fixed a bug in which long quoted
white-space sequences where mistakenly eliminated in the '-p' mode. </li>
<li style="MARGIN-BOTTOM: 0cm">Fixed unwanted line-breaks in '-ab -p'
mode, that in some cases occurred between '//' and the rest of a line
comment. </li>
<li style="MARGIN-BOTTOM: 0cm">Fixed handling of '>>=', '<<= ' in '-p'
mode.</li>
</ul>
<h3>Artistic Style 1.0.2 (27 November 1998)</h3>
<ul>
<li style="MARGIN-BOTTOM: 0cm">Fixed a SERIOUS bug of missing
needed line-breaks in lines immediately after line-comments when in
'-ab' mode. </li>
<li style="MARGIN-BOTTOM: 0cm">Support for the 'finally' header. </li>
<li style="MARGIN-BOTTOM: 0cm">lines that contain only white-space now
become empty lines.</li>
</ul>
<h3>Artistic Style 1.0.1 (26 November 1998)</h3>
<ul>
<li style="MARGIN-BOTTOM: 0cm">Fixed a SERIOUS bug, which lacked a
needed line-break between closing brackets and the headers
that follow them (e.g. '} else') when in '-bb' mode. In fixing the bug,
I used a variation on a patch sent by Richard Bullington - THANKS! </li>
<li style="MARGIN-BOTTOM: 0cm">Fixed a set of SERIOUS bugs which
inserted an empty line into both the start and end of the reindented
file. </li>
<li style="MARGIN-BOTTOM: 0cm">Improved documentation of formatting
options in the file astyle.html .</li>
</ul>
<h3>Artistic Style 1.0.0 (24 November 1998)</h3>
<ul>
<li style="MARGIN-BOTTOM: 0cm">Indented files now <b><u>retain the
original file name</u></b>, while the original pre-indented file is
saved with a ".orig"at its end. Thus, after the call "<b>astyle -bb
foo.cpp</b>", the newly indented file will be called "<b>foo.cpp"</b>,
while a file called "<b>foo.cpp.orig</b>" will contain the original
pre-indented file. </li>
<li style="MARGIN-BOTTOM: 0cm">Artistic Style may now be used and /or
modified and/or distributed under <b>EITHER</b> the <b>"Artistic
License"</b>, or the <b>GNU General Public License (GPL).</b> </li>
<li style="MARGIN-BOTTOM: 0cm">Methods with headers that end with
'const' are now properly indented. </li>
<li style="MARGIN-BOTTOM: 0cm">Cleaner, more robust, and better
documented source code.</li>
</ul>
<h3>Artistic Style 0.9.2</h3>
<ul>
<li style="MARGIN-BOTTOM: 0cm">Fixed a serious bug which led to a
maximal supported source code line size of 128 characters!!! </li>
<li style="MARGIN-BOTTOM: 0cm">Maximal supported line size is now 1024
characters. </li>
<li style="MARGIN-BOTTOM: 0cm">Fixed a serious bug in the handling of
brackets inside '#define' statements. </li>
<li>Fixed a serious bug in which '#include' files containing slashes
(i.e. #include <foo_dir/foo> ) where space-padded when using option '-p'
on C, C++ files.</li>
</ul>
<h3>Artistic Style 0.9.1</h3>
<ul>
<li style="MARGIN-BOTTOM: 0cm">Much improved space-padding around
pointers ('*') and references ('&') and the 'operator' key-word in
C and C++ source files when using the '-p' space padding option. </li>
<li style="MARGIN-BOTTOM: 0cm">Fixed several pointer handling bugs which
led to potential core dumps. </li>
<li>Version 0.9.1 now includes all the abilities I am planning for the
final 1.0 version, and <b><u>should be looked at as the first
pre-release version of Artistic Style</u></b>.</li>
</ul>
<h3>Artistic Style 0.9.0</h3>
<ul>
<li style="MARGIN-BOTTOM: 0cm">Added a <b>formatting layer</b>
(ASFormatter.cpp) around the indentation layer (ASBeautifier.cpp). </li>
<li style="MARGIN-BOTTOM: 0cm">As a result, the following formatting
capabilities have been added:
<ul>
<li style="MARGIN-BOTTOM: 0cm">Bracket ('{' and '}') placement in
either ANSI C style or Java style. </li>
<li style="MARGIN-BOTTOM: 0cm">Space padding around operators, i.e.
(1+2)*3-4 becomes ( 1 + 2 ) * 3 - 4 .</li>
</ul>
</li>
<li style="MARGIN-BOTTOM: 0cm">Fixed the 'tab' elimination bug
introduced in ASBeautifier 0.8.2 . </li>
<li>Fixed a bug which under-indented class headers containing
inheritance info.</li>
</ul>
<h3>ASBeautifier 0.8.2</h3>
<ul>
<li style="MARGIN-BOTTOM: 0cm">Fixed indentation problem in brackets
around 'struct', and 'union' blocks. </li>
<li style="MARGIN-BOTTOM: 0cm">Added recognition for '\' characters in
the end of lines. </li>
<li style="MARGIN-BOTTOM: 0cm">Improved indentation of
post-method-declaration variable initializations. </li>
<li>Several minor bug fixes.</li>
</ul>
<h3>ASBeautifier 0.8.1</h3>
<ul>
<li>Fixed an important bug in pointer arithmetic which resulted both in
phantom indentation errors, and in core-dumps when trying to indent java
files.</li>
</ul>
<h3>ASBeautifier 0.8.0</h3>
<ul>
<li style="MARGIN-BOTTOM: 0cm">This is the first public release of
ASBeautifier. It is a direct port to C++ of JSBeautifier 1.1.1, PLUS
extensions to for C++ indentation. </li>
<li style="MARGIN-BOTTOM: 0cm">So far, very little beta-testing has been
done for the C++ extensions. This should change extremely with the
open-source release (this was the case with JSBeautifier...), so expect
ASBeautifier to become bug-free fast!!! </li>
<li>The C++ source code is not yet written in optimal quality. I rushed
a little so that I could release this initial release as soon as
possible. This will soon change.</li>
</ul>
<p> </p>
</blockquote>
</body>
</html>