From 95fe2c6e4ff7a38a5dab50af41533afb991cb579 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Sun, 27 Dec 2015 21:44:32 +0200 Subject: Minor update in NEWS. --- NEWS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NEWS b/NEWS index cf7bc461..c47d3b29 100644 --- a/NEWS +++ b/NEWS @@ -19,7 +19,7 @@ Changes from 4.1.3 to 4.1.x 4. The "exit" command has been added to the debugger as an alias for "quit". -5. AIX 7.1 should pass the test suite now. +5. AIX 7.1 should pass the test suite now. Similar for Minix. Changes from 4.1.2 to 4.1.3 --------------------------- -- cgit v1.2.3 From 33c4c9e344ae2d82b3ec5bc35c48236be26724b1 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Sun, 27 Dec 2015 21:44:52 +0200 Subject: Minor fix in gawktexi.in. --- doc/ChangeLog | 5 + doc/gawk.info | 458 ++++++++++++++++++++++++++++---------------------------- doc/gawk.texi | 4 +- doc/gawktexi.in | 4 +- 4 files changed, 238 insertions(+), 233 deletions(-) diff --git a/doc/ChangeLog b/doc/ChangeLog index 8d1bd7ea..2fc9384d 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,8 @@ +2015-12-27 Arnold D. Robbins + + * gawktexi.in: Fix some @c endfile. Thanks to Antonio + Giovanni Colombo for the report and patch. + 2015-12-18 Arnold D. Robbins * gawk.1: Update description of PROCINFO, and sort it properly. diff --git a/doc/gawk.info b/doc/gawk.info index 6f401dd0..da2ef6b7 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -18172,7 +18172,7 @@ looks something like this: @example @c file examples/messages.awk BEGIN @{ print "Don't panic!" @} - @c end file + @c endfile @end example It also prints some final advice: @@ -18180,7 +18180,7 @@ looks something like this: @example @c file examples/messages.awk END @{ print "Always avoid bored archaeologists!" @} - @c end file + @c endfile @end example ... @@ -34813,232 +34813,232 @@ Ref: Labels Program-Footnote-1733707 Node: Word Sorting733791 Node: History Sorting737863 Node: Extract Program739698 -Node: Simple Sed747229 -Node: Igawk Program750303 -Ref: Igawk Program-Footnote-1764634 -Ref: Igawk Program-Footnote-2764836 -Ref: Igawk Program-Footnote-3764958 -Node: Anagram Program765073 -Node: Signature Program768135 -Node: Programs Summary769382 -Node: Programs Exercises770597 -Ref: Programs Exercises-Footnote-1774726 -Node: Advanced Features774817 -Node: Nondecimal Data776807 -Node: Array Sorting778398 -Node: Controlling Array Traversal779098 -Ref: Controlling Array Traversal-Footnote-1787467 -Node: Array Sorting Functions787585 -Ref: Array Sorting Functions-Footnote-1791472 -Node: Two-way I/O791668 -Ref: Two-way I/O-Footnote-1796619 -Ref: Two-way I/O-Footnote-2796806 -Node: TCP/IP Networking796888 -Node: Profiling800006 -Node: Advanced Features Summary807545 -Node: Internationalization809481 -Node: I18N and L10N810961 -Node: Explaining gettext811648 -Ref: Explaining gettext-Footnote-1816671 -Ref: Explaining gettext-Footnote-2816856 -Node: Programmer i18n817021 -Ref: Programmer i18n-Footnote-1821877 -Node: Translator i18n821926 -Node: String Extraction822720 -Ref: String Extraction-Footnote-1823853 -Node: Printf Ordering823939 -Ref: Printf Ordering-Footnote-1826725 -Node: I18N Portability826789 -Ref: I18N Portability-Footnote-1829245 -Node: I18N Example829308 -Ref: I18N Example-Footnote-1832114 -Node: Gawk I18N832187 -Node: I18N Summary832832 -Node: Debugger834173 -Node: Debugging835195 -Node: Debugging Concepts835636 -Node: Debugging Terms837445 -Node: Awk Debugging840020 -Node: Sample Debugging Session840926 -Node: Debugger Invocation841460 -Node: Finding The Bug842846 -Node: List of Debugger Commands849324 -Node: Breakpoint Control850657 -Node: Debugger Execution Control854351 -Node: Viewing And Changing Data857713 -Node: Execution Stack861087 -Node: Debugger Info862724 -Node: Miscellaneous Debugger Commands866795 -Node: Readline Support871883 -Node: Limitations872779 -Node: Debugging Summary874888 -Node: Arbitrary Precision Arithmetic876061 -Node: Computer Arithmetic877477 -Ref: table-numeric-ranges881068 -Ref: Computer Arithmetic-Footnote-1881790 -Node: Math Definitions881847 -Ref: table-ieee-formats885161 -Ref: Math Definitions-Footnote-1885764 -Node: MPFR features885869 -Node: FP Math Caution887542 -Ref: FP Math Caution-Footnote-1888614 -Node: Inexactness of computations888983 -Node: Inexact representation889943 -Node: Comparing FP Values891303 -Node: Errors accumulate892385 -Node: Getting Accuracy893818 -Node: Try To Round896528 -Node: Setting precision897427 -Ref: table-predefined-precision-strings898124 -Node: Setting the rounding mode899954 -Ref: table-gawk-rounding-modes900328 -Ref: Setting the rounding mode-Footnote-1903736 -Node: Arbitrary Precision Integers903915 -Ref: Arbitrary Precision Integers-Footnote-1906899 -Node: POSIX Floating Point Problems907048 -Ref: POSIX Floating Point Problems-Footnote-1910930 -Node: Floating point summary910968 -Node: Dynamic Extensions913158 -Node: Extension Intro914711 -Node: Plugin License915977 -Node: Extension Mechanism Outline916774 -Ref: figure-load-extension917213 -Ref: figure-register-new-function918778 -Ref: figure-call-new-function919870 -Node: Extension API Description921933 -Node: Extension API Functions Introduction923381 -Node: General Data Types928193 -Ref: General Data Types-Footnote-1934148 -Node: Memory Allocation Functions934447 -Ref: Memory Allocation Functions-Footnote-1937292 -Node: Constructor Functions937391 -Node: Registration Functions939136 -Node: Extension Functions939821 -Node: Exit Callback Functions942120 -Node: Extension Version String943370 -Node: Input Parsers944033 -Node: Output Wrappers953918 -Node: Two-way processors958430 -Node: Printing Messages960694 -Ref: Printing Messages-Footnote-1961768 -Node: Updating ERRNO961921 -Node: Requesting Values962660 -Ref: table-value-types-returned963397 -Node: Accessing Parameters964280 -Node: Symbol Table Access965516 -Node: Symbol table by name966028 -Node: Symbol table by cookie968049 -Ref: Symbol table by cookie-Footnote-1972198 -Node: Cached values972262 -Ref: Cached values-Footnote-1975763 -Node: Array Manipulation975854 -Ref: Array Manipulation-Footnote-1976953 -Node: Array Data Types976990 -Ref: Array Data Types-Footnote-1979648 -Node: Array Functions979740 -Node: Flattening Arrays983599 -Node: Creating Arrays990507 -Node: Extension API Variables995279 -Node: Extension Versioning995915 -Node: Extension API Informational Variables997806 -Node: Extension API Boilerplate998870 -Node: Finding Extensions1002684 -Node: Extension Example1003244 -Node: Internal File Description1004042 -Node: Internal File Ops1008122 -Ref: Internal File Ops-Footnote-11019884 -Node: Using Internal File Ops1020024 -Ref: Using Internal File Ops-Footnote-11022407 -Node: Extension Samples1022682 -Node: Extension Sample File Functions1024211 -Node: Extension Sample Fnmatch1031860 -Node: Extension Sample Fork1033347 -Node: Extension Sample Inplace1034565 -Node: Extension Sample Ord1037775 -Node: Extension Sample Readdir1038611 -Ref: table-readdir-file-types1039500 -Node: Extension Sample Revout1040305 -Node: Extension Sample Rev2way1040894 -Node: Extension Sample Read write array1041634 -Node: Extension Sample Readfile1043576 -Node: Extension Sample Time1044671 -Node: Extension Sample API Tests1046019 -Node: gawkextlib1046511 -Node: Extension summary1048935 -Node: Extension Exercises1052627 -Node: Language History1054124 -Node: V7/SVR3.11055780 -Node: SVR41057932 -Node: POSIX1059366 -Node: BTL1060746 -Node: POSIX/GNU1061476 -Node: Feature History1066997 -Node: Common Extensions1080326 -Node: Ranges and Locales1081609 -Ref: Ranges and Locales-Footnote-11086225 -Ref: Ranges and Locales-Footnote-21086252 -Ref: Ranges and Locales-Footnote-31086487 -Node: Contributors1086708 -Node: History summary1092277 -Node: Installation1093657 -Node: Gawk Distribution1094602 -Node: Getting1095086 -Node: Extracting1096047 -Node: Distribution contents1097685 -Node: Unix Installation1103438 -Node: Quick Installation1104054 -Node: Additional Configuration Options1106481 -Node: Configuration Philosophy1108285 -Node: Non-Unix Installation1110655 -Node: PC Installation1111113 -Node: PC Binary Installation1112433 -Node: PC Compiling1114285 -Ref: PC Compiling-Footnote-11117309 -Node: PC Testing1117418 -Node: PC Using1118598 -Node: Cygwin1122712 -Node: MSYS1123482 -Node: VMS Installation1123983 -Node: VMS Compilation1124774 -Ref: VMS Compilation-Footnote-11126004 -Node: VMS Dynamic Extensions1126062 -Node: VMS Installation Details1127747 -Node: VMS Running1130000 -Node: VMS GNV1132841 -Node: VMS Old Gawk1133576 -Node: Bugs1134047 -Node: Other Versions1138244 -Node: Installation summary1144830 -Node: Notes1145888 -Node: Compatibility Mode1146753 -Node: Additions1147535 -Node: Accessing The Source1148460 -Node: Adding Code1149896 -Node: New Ports1156115 -Node: Derived Files1160603 -Ref: Derived Files-Footnote-11166088 -Ref: Derived Files-Footnote-21166123 -Ref: Derived Files-Footnote-31166721 -Node: Future Extensions1166835 -Node: Implementation Limitations1167493 -Node: Extension Design1168676 -Node: Old Extension Problems1169830 -Ref: Old Extension Problems-Footnote-11171348 -Node: Extension New Mechanism Goals1171405 -Ref: Extension New Mechanism Goals-Footnote-11174769 -Node: Extension Other Design Decisions1174958 -Node: Extension Future Growth1177071 -Node: Old Extension Mechanism1177907 -Node: Notes summary1179670 -Node: Basic Concepts1180852 -Node: Basic High Level1181533 -Ref: figure-general-flow1181815 -Ref: figure-process-flow1182500 -Ref: Basic High Level-Footnote-11185801 -Node: Basic Data Typing1185986 -Node: Glossary1189314 -Node: Copying1221260 -Node: GNU Free Documentation License1258799 -Node: Index1283917 +Node: Simple Sed747227 +Node: Igawk Program750301 +Ref: Igawk Program-Footnote-1764632 +Ref: Igawk Program-Footnote-2764834 +Ref: Igawk Program-Footnote-3764956 +Node: Anagram Program765071 +Node: Signature Program768133 +Node: Programs Summary769380 +Node: Programs Exercises770595 +Ref: Programs Exercises-Footnote-1774724 +Node: Advanced Features774815 +Node: Nondecimal Data776805 +Node: Array Sorting778396 +Node: Controlling Array Traversal779096 +Ref: Controlling Array Traversal-Footnote-1787465 +Node: Array Sorting Functions787583 +Ref: Array Sorting Functions-Footnote-1791470 +Node: Two-way I/O791666 +Ref: Two-way I/O-Footnote-1796617 +Ref: Two-way I/O-Footnote-2796804 +Node: TCP/IP Networking796886 +Node: Profiling800004 +Node: Advanced Features Summary807543 +Node: Internationalization809479 +Node: I18N and L10N810959 +Node: Explaining gettext811646 +Ref: Explaining gettext-Footnote-1816669 +Ref: Explaining gettext-Footnote-2816854 +Node: Programmer i18n817019 +Ref: Programmer i18n-Footnote-1821875 +Node: Translator i18n821924 +Node: String Extraction822718 +Ref: String Extraction-Footnote-1823851 +Node: Printf Ordering823937 +Ref: Printf Ordering-Footnote-1826723 +Node: I18N Portability826787 +Ref: I18N Portability-Footnote-1829243 +Node: I18N Example829306 +Ref: I18N Example-Footnote-1832112 +Node: Gawk I18N832185 +Node: I18N Summary832830 +Node: Debugger834171 +Node: Debugging835193 +Node: Debugging Concepts835634 +Node: Debugging Terms837443 +Node: Awk Debugging840018 +Node: Sample Debugging Session840924 +Node: Debugger Invocation841458 +Node: Finding The Bug842844 +Node: List of Debugger Commands849322 +Node: Breakpoint Control850655 +Node: Debugger Execution Control854349 +Node: Viewing And Changing Data857711 +Node: Execution Stack861085 +Node: Debugger Info862722 +Node: Miscellaneous Debugger Commands866793 +Node: Readline Support871881 +Node: Limitations872777 +Node: Debugging Summary874886 +Node: Arbitrary Precision Arithmetic876059 +Node: Computer Arithmetic877475 +Ref: table-numeric-ranges881066 +Ref: Computer Arithmetic-Footnote-1881788 +Node: Math Definitions881845 +Ref: table-ieee-formats885159 +Ref: Math Definitions-Footnote-1885762 +Node: MPFR features885867 +Node: FP Math Caution887540 +Ref: FP Math Caution-Footnote-1888612 +Node: Inexactness of computations888981 +Node: Inexact representation889941 +Node: Comparing FP Values891301 +Node: Errors accumulate892383 +Node: Getting Accuracy893816 +Node: Try To Round896526 +Node: Setting precision897425 +Ref: table-predefined-precision-strings898122 +Node: Setting the rounding mode899952 +Ref: table-gawk-rounding-modes900326 +Ref: Setting the rounding mode-Footnote-1903734 +Node: Arbitrary Precision Integers903913 +Ref: Arbitrary Precision Integers-Footnote-1906897 +Node: POSIX Floating Point Problems907046 +Ref: POSIX Floating Point Problems-Footnote-1910928 +Node: Floating point summary910966 +Node: Dynamic Extensions913156 +Node: Extension Intro914709 +Node: Plugin License915975 +Node: Extension Mechanism Outline916772 +Ref: figure-load-extension917211 +Ref: figure-register-new-function918776 +Ref: figure-call-new-function919868 +Node: Extension API Description921931 +Node: Extension API Functions Introduction923379 +Node: General Data Types928191 +Ref: General Data Types-Footnote-1934146 +Node: Memory Allocation Functions934445 +Ref: Memory Allocation Functions-Footnote-1937290 +Node: Constructor Functions937389 +Node: Registration Functions939134 +Node: Extension Functions939819 +Node: Exit Callback Functions942118 +Node: Extension Version String943368 +Node: Input Parsers944031 +Node: Output Wrappers953916 +Node: Two-way processors958428 +Node: Printing Messages960692 +Ref: Printing Messages-Footnote-1961766 +Node: Updating ERRNO961919 +Node: Requesting Values962658 +Ref: table-value-types-returned963395 +Node: Accessing Parameters964278 +Node: Symbol Table Access965514 +Node: Symbol table by name966026 +Node: Symbol table by cookie968047 +Ref: Symbol table by cookie-Footnote-1972196 +Node: Cached values972260 +Ref: Cached values-Footnote-1975761 +Node: Array Manipulation975852 +Ref: Array Manipulation-Footnote-1976951 +Node: Array Data Types976988 +Ref: Array Data Types-Footnote-1979646 +Node: Array Functions979738 +Node: Flattening Arrays983597 +Node: Creating Arrays990505 +Node: Extension API Variables995277 +Node: Extension Versioning995913 +Node: Extension API Informational Variables997804 +Node: Extension API Boilerplate998868 +Node: Finding Extensions1002682 +Node: Extension Example1003242 +Node: Internal File Description1004040 +Node: Internal File Ops1008120 +Ref: Internal File Ops-Footnote-11019882 +Node: Using Internal File Ops1020022 +Ref: Using Internal File Ops-Footnote-11022405 +Node: Extension Samples1022680 +Node: Extension Sample File Functions1024209 +Node: Extension Sample Fnmatch1031858 +Node: Extension Sample Fork1033345 +Node: Extension Sample Inplace1034563 +Node: Extension Sample Ord1037773 +Node: Extension Sample Readdir1038609 +Ref: table-readdir-file-types1039498 +Node: Extension Sample Revout1040303 +Node: Extension Sample Rev2way1040892 +Node: Extension Sample Read write array1041632 +Node: Extension Sample Readfile1043574 +Node: Extension Sample Time1044669 +Node: Extension Sample API Tests1046017 +Node: gawkextlib1046509 +Node: Extension summary1048933 +Node: Extension Exercises1052625 +Node: Language History1054122 +Node: V7/SVR3.11055778 +Node: SVR41057930 +Node: POSIX1059364 +Node: BTL1060744 +Node: POSIX/GNU1061474 +Node: Feature History1066995 +Node: Common Extensions1080324 +Node: Ranges and Locales1081607 +Ref: Ranges and Locales-Footnote-11086223 +Ref: Ranges and Locales-Footnote-21086250 +Ref: Ranges and Locales-Footnote-31086485 +Node: Contributors1086706 +Node: History summary1092275 +Node: Installation1093655 +Node: Gawk Distribution1094600 +Node: Getting1095084 +Node: Extracting1096045 +Node: Distribution contents1097683 +Node: Unix Installation1103436 +Node: Quick Installation1104052 +Node: Additional Configuration Options1106479 +Node: Configuration Philosophy1108283 +Node: Non-Unix Installation1110653 +Node: PC Installation1111111 +Node: PC Binary Installation1112431 +Node: PC Compiling1114283 +Ref: PC Compiling-Footnote-11117307 +Node: PC Testing1117416 +Node: PC Using1118596 +Node: Cygwin1122710 +Node: MSYS1123480 +Node: VMS Installation1123981 +Node: VMS Compilation1124772 +Ref: VMS Compilation-Footnote-11126002 +Node: VMS Dynamic Extensions1126060 +Node: VMS Installation Details1127745 +Node: VMS Running1129998 +Node: VMS GNV1132839 +Node: VMS Old Gawk1133574 +Node: Bugs1134045 +Node: Other Versions1138242 +Node: Installation summary1144828 +Node: Notes1145886 +Node: Compatibility Mode1146751 +Node: Additions1147533 +Node: Accessing The Source1148458 +Node: Adding Code1149894 +Node: New Ports1156113 +Node: Derived Files1160601 +Ref: Derived Files-Footnote-11166086 +Ref: Derived Files-Footnote-21166121 +Ref: Derived Files-Footnote-31166719 +Node: Future Extensions1166833 +Node: Implementation Limitations1167491 +Node: Extension Design1168674 +Node: Old Extension Problems1169828 +Ref: Old Extension Problems-Footnote-11171346 +Node: Extension New Mechanism Goals1171403 +Ref: Extension New Mechanism Goals-Footnote-11174767 +Node: Extension Other Design Decisions1174956 +Node: Extension Future Growth1177069 +Node: Old Extension Mechanism1177905 +Node: Notes summary1179668 +Node: Basic Concepts1180850 +Node: Basic High Level1181531 +Ref: figure-general-flow1181813 +Ref: figure-process-flow1182498 +Ref: Basic High Level-Footnote-11185799 +Node: Basic Data Typing1185984 +Node: Glossary1189312 +Node: Copying1221258 +Node: GNU Free Documentation License1258797 +Node: Index1283915  End Tag Table diff --git a/doc/gawk.texi b/doc/gawk.texi index 7b91d85e..f6114b4e 100644 --- a/doc/gawk.texi +++ b/doc/gawk.texi @@ -25546,7 +25546,7 @@ that prints a nice message: @@example @@c file examples/messages.awk BEGIN @@@{ print "Don't panic!" @@@} -@@c end file +@@c endfile @@end example It also prints some final advice: @@ -25554,7 +25554,7 @@ It also prints some final advice: @@example @@c file examples/messages.awk END @@@{ print "Always avoid bored archaeologists!" @@@} -@@c end file +@@c endfile @@end example @dots{} @end example diff --git a/doc/gawktexi.in b/doc/gawktexi.in index f3d639e9..edd945db 100644 --- a/doc/gawktexi.in +++ b/doc/gawktexi.in @@ -24637,7 +24637,7 @@ that prints a nice message: @@example @@c file examples/messages.awk BEGIN @@@{ print "Don't panic!" @@@} -@@c end file +@@c endfile @@end example It also prints some final advice: @@ -24645,7 +24645,7 @@ It also prints some final advice: @@example @@c file examples/messages.awk END @@@{ print "Always avoid bored archaeologists!" @@@} -@@c end file +@@c endfile @@end example @dots{} @end example -- cgit v1.2.3 From 0bf047964956e90481de3941768937c4318db948 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Sun, 27 Dec 2015 21:45:36 +0200 Subject: Bug fix for pretty printing empty else part. --- ChangeLog | 6 ++++++ awkgram.c | 11 ++++++----- awkgram.y | 11 ++++++----- test/ChangeLog | 5 +++++ test/Makefile.am | 11 ++++++++++- test/Makefile.in | 11 ++++++++++- test/profile8.awk | 4 ++++ test/profile8.ok | 23 +++++++++++++++++++++++ 8 files changed, 70 insertions(+), 12 deletions(-) create mode 100644 test/profile8.awk create mode 100644 test/profile8.ok diff --git a/ChangeLog b/ChangeLog index 3913097e..d7aaa6e1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2015-12-27 Arnold D. Robbins + + * awkgram.y (mk_condition): Revise to correctly handle + empty else part for pretty printing. Bug report by + ziyunfei <446240525@qq.com>. + 2015-12-16 Arnold D. Robbins * io.c (two_way_open): Remove unneeded close of slave in the diff --git a/awkgram.c b/awkgram.c index 8e408cac..bc91d406 100644 --- a/awkgram.c +++ b/awkgram.c @@ -7223,14 +7223,12 @@ mk_condition(INSTRUCTION *cond, INSTRUCTION *ifp, INSTRUCTION *true_branch, */ INSTRUCTION *ip; + bool setup_else_part = true; if (false_branch == NULL) { false_branch = list_create(instruction(Op_no_op)); - if (elsep != NULL) { /* else { } */ - if (do_pretty_print) - (void) list_prepend(false_branch, elsep); - else - bcfree(elsep); + if (elsep == NULL) { /* else { } */ + setup_else_part = false; } } else { /* assert(elsep != NULL); */ @@ -7238,6 +7236,9 @@ mk_condition(INSTRUCTION *cond, INSTRUCTION *ifp, INSTRUCTION *true_branch, /* avoid a series of no_op's: if .. else if .. else if .. */ if (false_branch->lasti->opcode != Op_no_op) (void) list_append(false_branch, instruction(Op_no_op)); + } + + if (setup_else_part) { if (do_pretty_print) { (void) list_prepend(false_branch, elsep); false_branch->nexti->branch_end = false_branch->lasti; diff --git a/awkgram.y b/awkgram.y index 2592d13a..facf3090 100644 --- a/awkgram.y +++ b/awkgram.y @@ -4884,14 +4884,12 @@ mk_condition(INSTRUCTION *cond, INSTRUCTION *ifp, INSTRUCTION *true_branch, */ INSTRUCTION *ip; + bool setup_else_part = true; if (false_branch == NULL) { false_branch = list_create(instruction(Op_no_op)); - if (elsep != NULL) { /* else { } */ - if (do_pretty_print) - (void) list_prepend(false_branch, elsep); - else - bcfree(elsep); + if (elsep == NULL) { /* else { } */ + setup_else_part = false; } } else { /* assert(elsep != NULL); */ @@ -4899,6 +4897,9 @@ mk_condition(INSTRUCTION *cond, INSTRUCTION *ifp, INSTRUCTION *true_branch, /* avoid a series of no_op's: if .. else if .. else if .. */ if (false_branch->lasti->opcode != Op_no_op) (void) list_append(false_branch, instruction(Op_no_op)); + } + + if (setup_else_part) { if (do_pretty_print) { (void) list_prepend(false_branch, elsep); false_branch->nexti->branch_end = false_branch->lasti; diff --git a/test/ChangeLog b/test/ChangeLog index cc709b5c..6bed9696 100644 --- a/test/ChangeLog +++ b/test/ChangeLog @@ -1,3 +1,8 @@ +2015-12-27 Arnold D. Robbins + + * Makefile.am (profile8): New test. + * profile8.awk, profile8.ok: New files. + 2015-11-24 Arnold D. Robbins * Makefile.am (watchpoint1): New test. diff --git a/test/Makefile.am b/test/Makefile.am index 779a1063..01c15233 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -750,6 +750,8 @@ EXTRA_DIST = \ profile6.ok \ profile7.awk \ profile7.ok \ + profile8.awk \ + profile8.ok \ prt1eval.awk \ prt1eval.ok \ prtoeval.awk \ @@ -1083,7 +1085,8 @@ GAWK_EXT_TESTS = \ muldimposix \ nastyparm negtime next nondec nondec2 \ patsplit posix printfbad1 printfbad2 printfbad3 printfbad4 printhuge procinfs \ - profile0 profile1 profile2 profile3 profile4 profile5 profile6 profile7 pty1 \ + profile0 profile1 profile2 profile3 profile4 profile5 profile6 \ + profile7 profile8 pty1 \ rebuf regnul1 regnul2 regx8bit reginttrad reint reint2 rsgetline rsglstdin rsstart1 \ rsstart2 rsstart3 rstest6 shadow sortfor sortu split_after_fpat \ splitarg4 strftime \ @@ -1801,6 +1804,12 @@ profile7: @sed 1,2d < ap-$@.out > _$@; rm ap-$@.out @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ +profile8: + @echo $@ + @$(AWK) --pretty=ap-$@.out -f "$(srcdir)"/$@.awk < /dev/null + @sed 1,2d < ap-$@.out > _$@; rm ap-$@.out + @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ + posix2008sub: @echo $@ @$(AWK) --posix -f "$(srcdir)"/$@.awk > _$@ 2>&1 diff --git a/test/Makefile.in b/test/Makefile.in index eb7748ab..a89fc862 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -1007,6 +1007,8 @@ EXTRA_DIST = \ profile6.ok \ profile7.awk \ profile7.ok \ + profile8.awk \ + profile8.ok \ prt1eval.awk \ prt1eval.ok \ prtoeval.awk \ @@ -1339,7 +1341,8 @@ GAWK_EXT_TESTS = \ muldimposix \ nastyparm negtime next nondec nondec2 \ patsplit posix printfbad1 printfbad2 printfbad3 printfbad4 printhuge procinfs \ - profile0 profile1 profile2 profile3 profile4 profile5 profile6 profile7 pty1 \ + profile0 profile1 profile2 profile3 profile4 profile5 profile6 \ + profile7 profile8 pty1 \ rebuf regnul1 regnul2 regx8bit reginttrad reint reint2 rsgetline rsglstdin rsstart1 \ rsstart2 rsstart3 rstest6 shadow sortfor sortu split_after_fpat \ splitarg4 strftime \ @@ -2240,6 +2243,12 @@ profile7: @sed 1,2d < ap-$@.out > _$@; rm ap-$@.out @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ +profile8: + @echo $@ + @$(AWK) --pretty=ap-$@.out -f "$(srcdir)"/$@.awk < /dev/null + @sed 1,2d < ap-$@.out > _$@; rm ap-$@.out + @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ + posix2008sub: @echo $@ @$(AWK) --posix -f "$(srcdir)"/$@.awk > _$@ 2>&1 diff --git a/test/profile8.awk b/test/profile8.awk new file mode 100644 index 00000000..68d0622e --- /dev/null +++ b/test/profile8.awk @@ -0,0 +1,4 @@ +{if(0){}else{}} +{while(0){}} +{do{}while(0)} +{for(;;){}} diff --git a/test/profile8.ok b/test/profile8.ok new file mode 100644 index 00000000..763c6fef --- /dev/null +++ b/test/profile8.ok @@ -0,0 +1,23 @@ + # Rule(s) + + { + if (0) { + } else { + } + } + + { + while (0) { + } + } + + { + do { + } while (0) + } + + { + for (;;) { + } + } + -- cgit v1.2.3 From 0122571e049073622d9f0bb6eaeed5f52abd38bc Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Sun, 27 Dec 2015 21:58:50 +0200 Subject: Update test/Changelog after last merge. Ooops. --- test/ChangeLog | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/test/ChangeLog b/test/ChangeLog index bf8a2665..d18c6173 100644 --- a/test/ChangeLog +++ b/test/ChangeLog @@ -1,8 +1,15 @@ 2015-12-27 Arnold D. Robbins + These came in from gawk-4.1-stable: + * Makefile.am (profile8): New test. * profile8.awk, profile8.ok: New files. + These used to be profile8: + + * Makefile.am (profile9): Renamed. + * profile9.awk, profile9.ok: Renamed files. + 2015-11-24 Arnold D. Robbins * Makefile.am (watchpoint1): New test. -- cgit v1.2.3