gawk-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gawk-diffs] [SCM] gawk branch, master, updated. 67dd635c4d3c72c2c3e6ca6


From: Arnold Robbins
Subject: [gawk-diffs] [SCM] gawk branch, master, updated. 67dd635c4d3c72c2c3e6ca62482e7ef9c232f3a7
Date: Sun, 28 Oct 2012 09:26:40 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gawk".

The branch, master has been updated
       via  67dd635c4d3c72c2c3e6ca62482e7ef9c232f3a7 (commit)
       via  0d49bc78aa0f761383e4b669dcd83932e2e60dd8 (commit)
       via  76bfb555b1fc1a93de0714a9cdfd36557182b131 (commit)
      from  38769b3a29111cc309f6ef3ac05f4e5ed4456007 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://git.sv.gnu.org/cgit/gawk.git/commit/?id=67dd635c4d3c72c2c3e6ca62482e7ef9c232f3a7

commit 67dd635c4d3c72c2c3e6ca62482e7ef9c232f3a7
Merge: 38769b3 0d49bc7
Author: Arnold D. Robbins <address@hidden>
Date:   Sun Oct 28 11:26:15 2012 +0200

    Merge branch 'gawk-4.0-stable'.

diff --cc ChangeLog
index 9c41f82,7e7617d..c0e13a1
--- a/ChangeLog
+++ b/ChangeLog
@@@ -1,147 -1,11 +1,151 @@@
+ 2012-10-28         Arnold D. Robbins     <address@hidden>
+ 
+       * Update bison 2.6.3. Various files regenerated.
+ 
 +2012-10-27         Arnold D. Robbins     <address@hidden>
 +
 +      * gawkapi.h: Continuing the minor formatting / doc cleanups.
 +
 +2012-10-26         Arnold D. Robbins     <address@hidden>
 +
 +      * gawkapi.h: Continuing the minor formatting / doc cleanups.
 +
 +2012-10-24         Arnold D. Robbins     <address@hidden>
 +
 +      * gawkapi.h: Still more minor formatting / doc cleanups.
 +
 +2012-10-23         Arnold D. Robbins     <address@hidden>
 +
 +      * gawkapi.h: More minor formatting / doc cleanups.
 +
 +2012-10-21         Arnold D. Robbins     <address@hidden>
 +
 +      Fixes for z/OS from Dave Pitts.
 +
 +      * awk.h (assoc_list_flags): No trailing comma on last enum value.
 +      * gawkapi.h (awk_valtype_t): Ditto.
 +      * symbol.c (lookup): ``No automatic aggregate initialization.'' Sigh.
 +
 +      Unrelated:
 +
 +      * gawkapi.h: Minor formatting / doc cleanups.
 +
 +2012-10-19         Arnold D. Robbins     <address@hidden>
 +
 +      If SYMTAB is used, make sure ENVIRON and PROCINFO get loaded too.
 +
 +      * awkgram.y (process_deferred): New function. Call it when program
 +      is completely parsed.
 +      (symtab_used): New variable.
 +      (variable): Set it to true if SYMTAB is looked up.
 +      * main.c (load_environ, load_procinfo): Make sure the routines are
 +      only called once.
 +
 +      Unrelated fixes:
 +
 +      * awkgram.y (yylex): Check continue_allowed and break_allowed as
 +      soon as they are seen in the scanner; the rules that check them
 +      can not be reduced until after a token that allows them is seen,
 +      leading to errors at execution time.
 +      * interpret.h (Op_K_break, Op_K_continue, Op_jmp): Add asssertion
 +      that pc->target_jmp is not NULL.
 +
 +      * symbol.c (lookup): Correct a comment.
 +
 +2012-10-14         Arnold D. Robbins     <address@hidden>
 +
 +      * gawkapi.h (IOBUF_PUBLIC): Renamed awk_input_buf_t.
 +      (struct iobuf_public): Renamed struct awk_input.
 +      * awk.h: Adjust.
 +
  2012-10-13         Arnold D. Robbins     <address@hidden>
  
-       Update to Automake 1.12.4. Various files regenerated.
+       * Update to Automake 1.12.4. Various files regenerated.
  
 +2012-10-11         Arnold D. Robbins     <address@hidden>
 +
 +      * awk.h (dup_ent): New member for Node_param_list.
 +      * symbol.c (install): For parameters, if this is a duplicate, chain
 +      it off the original using the dup_ent pointer.
 +      (remove_params): If there's a duplicate, remove it from the list.
 +
 +      * awk.h: Fix flags to have unique numeric values. Oops.
 +
 +2012-10-10         Arnold D. Robbins     <address@hidden>
 +
 +      * gawkapi.h: Add considerably more documentation. Rearrange order
 +      of functions in the struct to make more sense, grouping related
 +      functions together in a more logical order.
 +      * gawkapi.c: Adjust as needed.
 +      * ext.c (make_builtin): Adjust for name change in struct member.
 +
 +2012-10-05         Arnold D. Robbins     <address@hidden>
 +
 +      * mbsupport.h: Add a bunch of undefs for z/OS.
 +
 +2012-10-04         Arnold D. Robbins     <address@hidden>
 +
 +      * TODO.xgawk: Update.
 +      * awk.h (make_str_node): Removed macro.
 +      (make_string): Modified to call make_str_node.
 +      (r_make_str_node): Renamed to make_str_node.
 +      * gawkapi.c: Changed r_make_str_node to make_str_node everywhere.
 +      * node.c (make_str_node): Renamed from make_str_node.
 +
 +      Update to automake 1.12.4.
 +
 +      * Makefile.in, aclocal.m4, awklib/Makefile.in, doc/Makefile.in,
 +      extension/Makefile.in, extension/aclocal.m4, test/Makefile.in:
 +      Regenerated.
 +
 +      * interpret.h (Op_Subscript): Added lint warnings for FUNCTAB
 +      and SYMTAB.
 +
 +2012-10-02         Arnold D. Robbins     <address@hidden>
 +
 +      * awk.h (func_table): Declare.
 +      * awkgram.y: If do_posix or do_traditional, then check for
 +      delete on SYMTAB. Add check for delete on FUNCTAB, also.
 +      * interpret.h (Op_Subscript): For FUNCTAB, return the element name
 +      as its value too.  Avoids lots of weirdness and allows indirect calls
 +      after assignment from FUNCTAB["foo"] to work.
 +      (Op_store_sub): Disallow assignment to elements of FUNCTAB.
 +      (Op_indirect_func_all): Turn assert into check and fatal error.
 +      * symbol.c (func_table): No longer static.
 +      (lookup): If do_posix or do_traditional, skip the global table.
 +      (release_all_vars): Clear func_table too.
 +
 +2012-09-25         Arnold D. Robbins     <address@hidden>
 +
 +      First cut at SYMTAB and FUNCTAB. This does the following:
 +      - Change symbol table handling to use gawk arrays.
 +      - Store symbols in SYMTAB array and allow indirect access
 +        through SYMTAB to variables, both getting and setting.
 +      - List function names in FUNCTAB indexes; Values cannot be
 +        used at the moment.
 +      - No documentation yet.
 +
 +      * awk.h (Node_hashnode, hnext, hname, hlength, hcode, hvalue):
 +      Removed, not needed any more.
 +      (init_symbol_table, symbol_table): Add declarations.
 +      * awkgram.y: Disallow delete on SYMTAB, fix warning for tawk
 +      extension if traditional.
 +      * eval.c (nodetypes): Remove Node_hashnode element.
 +      * interpret.h (Op_subscript, Op_store_sub): Handle SYMTAB and go
 +      through to the actual value.
 +      * main.c (main): Init Nnull_string earlier. Add call to
 +      init_symbol_table().
 +      * profile.c (pp_str, pp_len): Change definitions.
 +      (pp_next): New macro.
 +      (pp_push, pp_pop): Adjust uses.
 +      * symbol.c (variables): Removed.
 +      (global_table, param_table, func_table, symbol_table,
 +      installing_specials): New variables.
 +      (lookup, make_params, install_params, remove_params, remove_symbol,
 +      make_symbol, install, get_symbols, release_all_vars, append_symbol,
 +      release_symbols, load_symbols): Rework logic considerably.
 +      (init_symbol_table): New function.
 +
  2012-09-23         Arnold D. Robbins     <address@hidden>
  
        `delete array' and `nextfile' are now in POSIX.
diff --cc NEWS
index 8e839c4,0347256..138fb72
--- a/NEWS
+++ b/NEWS
@@@ -3,31 -3,6 +3,31 @@@
     Copying and distribution of this file, with or without modification,
     are permitted in any medium without royalty provided the copyright
     notice and this notice are preserved.
 +
- Changes from 4.0.1 to 4.1
++Changes from 4.0.2 to 4.1
 +-------------------------
 +1. The three executables gawk, pgawk, and dgawk, have been merged into
 +   one, named just gawk.  As a result:
 +      * The -R option is gone
 +      * Use -D to run the debugger. An optional file argument is a
 +        list of commands to run first.
 +      * Use -o to do pretty-printing only.
 +      * Use -p to do profiling.
 +
 +2. The new -l option is used for loading dynamic extensions.
 +
 +3. The new -i option is used for loading awk library files.
 +
 +4. Gawk now supports high precision arithmetic with MPFR.
 +
 +5. A number of facilities from xgawk have been merged in!
 +
 +6. The dynamic extension interface has been completely redone! See the doc.
 +
 +7. The and(), or() and xor() functions now take any number of arguments,
 +   with a minimum of two.
 +
 +8. New arrays: SYMTAB, FUNCTAB, and PROCINFO["identifiers"]. See the manual.
   
  Changes from 4.0.1 to 4.0.2
  ---------------------------
diff --cc awkgram.c
index 703cf63,df287fa..56b769f
--- a/awkgram.c
+++ b/awkgram.c
@@@ -193,8 -206,18 +193,8 @@@ extern double fmod(double x, double y)
  
  #define YYSTYPE INSTRUCTION *
  
- /* Line 336 of yacc.c  */
+ /* Line 358 of yacc.c  */
 -#line 221 "awkgram.c"
 +#line 198 "awkgram.c"
  
  # ifndef YY_NULL
  #  if defined __cplusplus && 201103L <= __cplusplus
@@@ -365,8 -383,8 +362,8 @@@ int yyparse ()
  
  /* Copy the second part of user declarations.  */
  
- /* Line 353 of yacc.c  */
- #line 370 "awkgram.c"
+ /* Line 377 of yacc.c  */
 -#line 388 "awkgram.c"
++#line 367 "awkgram.c"
  
  #ifdef short
  # undef short
@@@ -958,132 -973,132 +955,132 @@@ static const yytype_int16 yypgoto[] 
  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
     positive, shift that token.  If negative, reduce the rule which
     number is the opposite.  If YYTABLE_NINF, syntax error.  */
 -#define YYTABLE_NINF -101
 +#define YYTABLE_NINF -104
  static const yytype_int16 yytable[] =
  {
 -      34,    73,    73,    64,    74,   124,   125,   114,   145,   230,
 -     215,    50,    51,    52,   178,   133,     5,   252,   113,    57,
 -      57,   112,    57,    62,     4,    65,   267,   305,    67,   255,
 -     273,   246,   256,    57,    19,    43,   316,    91,    92,    93,
 -      94,    95,   111,   111,    96,    44,    33,    53,   244,   130,
 -      68,   130,   111,   111,    54,    44,    67,    69,    77,   126,
 -     166,   297,    78,   -11,   208,    56,    58,   209,    59,    66,
 -     122,    44,   216,     4,    72,   171,   172,    25,   144,    90,
 -     146,   147,   148,    44,   298,   299,   -11,   150,   315,    57,
 -      57,    57,    57,    57,    57,    57,    57,    57,    57,    57,
 -      57,   282,   131,   212,   131,   284,   246,   165,    85,    86,
 -      19,   142,  -101,    74,    19,   246,    96,   132,   167,   236,
 -      57,   149,   303,   105,   106,   306,   307,   308,   325,   173,
 -     -90,   328,   -86,   177,   143,   152,   153,   154,   155,   156,
 -     157,   158,   159,   160,   161,   162,   163,     5,   206,    50,
 -     151,    78,   327,   130,   164,   329,    79,   132,  -101,  -101,
 -     168,   235,  -100,    74,    74,    19,   170,    74,   174,    74,
 -      20,   169,   131,    74,   175,   136,   309,   310,   232,    23,
 -     137,   251,    80,    72,   241,   -91,    68,   213,    69,   257,
 -     127,   128,   225,   264,   265,   278,   217,    85,    86,    74,
 -      69,   262,  -100,   218,   234,   220,   131,   263,   115,   116,
 -     179,   270,   238,   225,    74,   266,   242,   243,   290,  -100,
 -     280,   262,   268,   219,   277,  -100,   269,   195,   111,   286,
 -     313,   318,   227,    72,    72,   319,   292,    72,    75,    72,
 -     311,   233,    61,    72,    93,    94,    95,   283,    65,    96,
 -     117,   118,   239,   207,   288,   289,   317,   274,   103,   104,
 -     221,   222,   294,     0,   223,   320,   226,   322,   253,    72,
 -     228,     0,   254,   119,     0,     0,   285,   237,   287,    57,
 -       0,     0,     0,     0,    72,     0,     0,    57,     0,   105,
 -     106,     0,     0,     0,   272,     0,   248,   107,     0,     0,
 -       0,   275,   276,     0,     0,   279,     0,     0,     0,    78,
 -       0,   258,     0,     0,    79,     0,     0,    78,     0,     0,
 -       0,     0,    79,   293,     0,   295,     0,   296,   301,   302,
 -       0,   304,     0,    90,     0,     2,     3,     0,     4,     5,
 -      80,    81,     6,     7,     0,     0,     0,     0,    80,    81,
 -      82,   321,     8,     9,   323,    85,    86,   324,     0,   326,
 -      83,     0,     0,    85,    86,     0,     0,     0,     0,     0,
 -      10,    11,    12,    13,     0,   132,     0,     0,    14,    15,
 -      16,    17,    18,     0,     0,    19,    20,    97,    98,    99,
 -     100,   101,    21,    22,   102,    23,     0,    24,     0,     0,
 -      25,    26,     0,    27,     0,     0,   -14,   180,   -14,     4,
 +      34,    80,    80,    70,    81,   126,   127,   260,   121,   238,
 +     254,    56,    57,    58,   150,     5,    74,   132,   120,    63,
 +      63,   119,    63,    68,   135,    71,  -103,   272,   310,   278,
 +     223,    19,    19,    63,   100,   101,   102,   321,   132,   103,
 +      43,   138,   118,   118,   173,   302,   139,   174,   141,    44,
 +      74,    33,    75,   142,    76,    76,   132,    44,   118,   118,
 +      62,    64,    59,    65,    60,   128,   218,  -103,   303,   304,
 +     171,   133,    44,    75,    97,   320,   185,    25,   187,    79,
 +     178,   179,   254,    44,  -103,   149,    84,   151,   152,   153,
 +    -103,   254,   133,   224,   155,    19,    63,    63,    63,    63,
 +      63,    63,    63,    63,    63,    63,    63,    63,   172,   220,
 +     133,   -93,   122,   244,   170,    81,   245,   -89,    81,     4,
 +     133,   123,    63,   134,   330,   124,   -12,   333,   -15,   217,
 +       4,   180,    85,   -94,    19,   184,     5,   157,   158,   159,
 +     160,   161,   162,   163,   164,   165,   166,   167,   168,   -12,
 +      85,   -15,   103,   215,    56,    86,   148,   147,   112,   113,
 +      48,    49,   156,   177,    72,   169,    73,   154,   134,   252,
 +    -104,   221,    81,    81,   129,   130,    81,   182,    81,    92,
 +      93,    87,    81,   259,    85,   225,   226,   240,   228,    86,
 +      79,    76,   249,    79,   268,   271,   275,    92,    93,   283,
 +     262,   233,    50,    51,   269,   270,   282,    81,   318,   181,
 +     267,   186,   295,   242,   188,    87,    88,  -104,  -104,   287,
 +     246,   233,    81,   289,   250,   251,    52,   267,   285,   204,
 +     273,    92,    93,   323,   274,   324,   118,   291,    82,   316,
 +     308,   247,   294,   311,   297,   110,   111,    79,    79,    67,
 +     216,    79,   288,    79,   312,   313,    71,    79,   279,   293,
 +     325,   219,     0,     0,   322,     0,     0,   299,   229,   230,
 +     332,   227,   231,   334,   234,   327,   112,   113,   236,     0,
 +     235,   290,    79,   292,    63,   114,     0,     0,     0,   241,
 +       0,     0,    63,   243,     0,    85,     0,    79,     0,    20,
 +      86,     0,     0,   256,    85,   314,   315,     0,    23,    86,
 +      98,    99,   100,   101,   102,   261,     0,   103,   263,     0,
 +       0,     0,     0,     0,     0,     0,    87,    88,    89,     0,
 +       0,     0,     0,    97,     0,    87,    88,    89,   277,    90,
 +       0,     0,    92,    93,     0,   280,   281,     0,    90,   284,
 +       0,    92,    93,     0,   104,   105,   106,   107,   108,     0,
 +      76,   109,     0,   134,     0,     0,     0,   298,     0,   300,
 +       0,   301,   306,   307,     0,   309,     2,     3,     0,     4,
         5,     0,     0,     6,     7,     0,     0,     0,     0,     0,
 -       0,     0,     0,     0,     0,   181,     0,   182,   183,   184,
 -     -69,   -69,   185,   186,   187,   188,   189,   190,   191,   192,
 -     193,     0,     0,     0,    13,   194,     0,     0,     0,    14,
 -      15,    16,    17,     0,     0,     0,   -69,    20,     0,     0,
 -       0,     0,     0,    21,    22,     0,    23,     0,    24,     0,
 -       0,    25,    26,     0,    55,     0,     0,    68,   -69,    69,
 -     180,     0,     4,     5,     0,     0,     6,     7,     0,     0,
 -       0,     0,     0,     0,     0,     0,     0,     0,   181,     0,
 -     182,   183,   184,   -68,   -68,   185,   186,   187,   188,   189,
 -     190,   191,   192,   193,     0,     0,     0,    13,   194,     0,
 -       0,     0,    14,    15,    16,    17,     0,     0,     0,   -68,
 +       0,     0,     0,     8,     9,   326,     0,     0,   328,     0,
 +       0,   329,     0,   331,     0,     0,     0,     0,     0,     0,
 +       0,    10,    11,    12,    13,     0,     0,     0,     0,    14,
 +      15,    16,    17,    18,     0,     0,     0,    19,    20,     0,
 +       0,     0,     0,     0,    21,    22,     0,    23,     0,    24,
 +       0,     0,    25,    26,     0,    27,     0,     0,   -18,   189,
 +     -18,     4,     5,     0,     0,     6,     7,     0,     0,     0,
 +       0,     0,     0,     0,     0,     0,     0,   190,     0,   191,
 +     192,   193,   -72,   -72,   194,   195,   196,   197,   198,   199,
 +     200,   201,   202,     0,     0,     0,    13,   203,     0,     0,
 +       0,    14,    15,    16,    17,     0,     0,     0,     0,   -72,
        20,     0,     0,     0,     0,     0,    21,    22,     0,    23,
 -       0,    24,     0,     0,    25,    26,     0,    55,     0,     0,
 -      68,   -68,    69,   180,     0,     4,     5,     0,     0,     6,
 +       0,    24,     0,     0,    25,    26,     0,    61,     0,     0,
 +      75,   -72,    76,   189,     0,     4,     5,     0,     0,     6,
         7,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 -       0,   181,     0,   182,   183,   184,     0,     0,   185,   186,
 -     187,   188,   189,   190,   191,   192,   193,     0,     0,     0,
 -      13,   194,     0,     0,     0,    14,    15,    16,    17,    63,
 -       0,     4,     5,    20,     0,     6,     7,     0,   -99,    21,
 -      22,     0,    23,     0,    24,     0,     0,    25,    26,     0,
 -      55,     0,     0,    68,   195,    69,     0,     0,     0,     0,
 -       0,     0,     0,     0,     0,     0,    13,     0,     0,     0,
 -       0,    14,    15,    16,    17,     0,     0,     0,   -99,    20,
 -       0,     0,     0,     0,     0,    21,    22,     0,    23,     0,
 -      24,     0,     0,    25,   249,   -99,    55,     0,     4,     5,
 -       0,   -99,     6,     7,     0,     0,     0,     0,     0,     0,
 -       0,     0,     0,     0,   181,     0,   182,   183,   184,     0,
 -       0,   185,   186,   187,   188,   189,   190,   191,   192,   193,
 -       0,     0,     0,    13,   194,     0,     0,     0,    14,    15,
 -      16,    17,     0,     4,     5,     0,    20,     6,     7,     0,
 -       0,     0,    21,    22,     0,    23,     0,    24,     0,     0,
 -      25,    26,     0,    55,     0,     0,    68,    63,    69,     4,
 -       5,     0,     0,     6,     7,     0,     0,     0,    13,     0,
 -       0,     0,     0,    14,    15,    16,    17,     0,     0,     0,
 +       0,   190,     0,   191,   192,   193,   -71,   -71,   194,   195,
 +     196,   197,   198,   199,   200,   201,   202,     0,     0,     0,
 +      13,   203,     0,     0,     0,    14,    15,    16,    17,     0,
 +       0,     0,     0,   -71,    20,     0,     0,     0,     0,     0,
 +      21,    22,     0,    23,     0,    24,     0,     0,    25,    26,
 +       0,    61,     0,     0,    75,   -71,    76,   189,     0,     4,
 +       5,     0,     0,     6,     7,     0,     0,     0,     0,     0,
 +       0,     0,     0,     0,     0,   190,     0,   191,   192,   193,
 +       0,     0,   194,   195,   196,   197,   198,   199,   200,   201,
 +     202,     0,     0,     0,    13,   203,     0,     0,     0,    14,
 +      15,    16,    17,    69,     0,     4,     5,     0,    20,     6,
 +       7,     0,  -102,     0,    21,    22,     0,    23,     0,    24,
 +       0,     0,    25,    26,     0,    61,     0,     0,    75,   204,
 +      76,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 +      13,     0,     0,     0,     0,    14,    15,    16,    17,     0,
 +       0,     0,     0,  -102,    20,     0,     0,     0,     0,     0,
 +      21,    22,     0,    23,     0,    24,     0,     0,    25,   257,
 +    -102,    61,     0,     4,     5,     0,  -102,     6,     7,     0,
 +       0,     0,     0,     0,     0,     0,     0,     0,     0,   190,
 +       0,   191,   192,   193,     0,     0,   194,   195,   196,   197,
 +     198,   199,   200,   201,   202,     0,     4,     5,    13,   203,
 +       6,     7,     0,    14,    15,    16,    17,     0,     0,     0,
 +       0,     0,    20,     0,     0,     0,     0,    85,    21,    22,
 +       0,    23,    86,    24,     0,     0,    25,    26,     0,    61,
 +       0,    13,    75,     0,    76,     0,    14,    15,    16,    17,
 +      69,     0,     4,     5,     0,    20,     6,     7,    87,    88,
 +      89,    21,    22,     0,    23,     0,    24,     0,     0,    25,
 +      26,    90,    61,    91,    92,    93,     0,    76,     0,     0,
 +       0,     0,    69,     0,     4,     5,     0,    13,     6,     7,
 +       0,     0,    14,    15,    16,    17,     0,     0,     0,     0,
         0,    20,     0,     0,     0,     0,     0,    21,    22,     0,
 -      23,     0,    24,     0,    13,    25,    26,     0,    55,    14,
 -      15,    16,    17,    69,     0,     0,     0,    20,     0,     0,
 -       0,     0,     0,    21,    22,     0,    23,     0,    24,     0,
 -       0,    25,    26,   -99,    55,    63,     0,     4,     5,     0,
 -       0,     6,     7,     0,     0,     0,     0,     0,     0,     0,
 -       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 -       0,   176,     0,     4,     5,     0,     0,     6,     7,     0,
 -       0,     0,    13,     0,     0,     0,     0,    14,    15,    16,
 -      17,     0,     0,     0,     0,    20,     0,     0,     0,     0,
 -       0,    21,    22,     0,    23,     0,    24,     0,    13,    25,
 -      26,     0,    55,    14,    15,    16,    17,     0,     4,   245,
 -       0,    20,     6,     7,     0,     0,     0,    21,    22,     0,
 -      23,     0,    24,     0,     0,    25,    26,   183,    55,     0,
 -       0,     0,     0,     0,     0,     0,   190,   191,     0,     0,
 -       4,     5,     0,    13,     6,     7,     0,     0,    14,    15,
 -      16,    17,     0,     0,     0,     0,    20,     0,     0,   183,
 -       0,     0,    21,    22,     0,    23,     0,    24,   190,   191,
 -      25,    26,     0,    55,     0,    13,     0,     0,     0,     0,
 -      14,    15,    16,    17,     0,     4,     5,     0,    20,     6,
 -       7,     0,     0,    89,    21,    22,     0,    23,     0,    24,
 -       0,     0,    25,    26,     0,    55,     0,     0,     0,     0,
 -       0,     4,     5,     0,     0,     6,     7,     0,     0,     0,
 +      23,     0,    24,     0,     0,    25,    26,  -102,    61,    13,
 +       0,     0,     0,     0,    14,    15,    16,    17,   183,     0,
 +       4,     5,     0,    20,     6,     7,     0,     0,     0,    21,
 +      22,     0,    23,     0,    24,     0,     0,    25,    26,     0,
 +      61,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 +       0,     0,     0,     4,   253,    13,     0,     6,     7,     0,
 +      14,    15,    16,    17,     0,     0,     0,     0,     0,    20,
 +       0,     0,   192,     0,     0,    21,    22,     0,    23,     0,
 +      24,   199,   200,    25,    26,     0,    61,     0,    13,     0,
 +       0,     0,     0,    14,    15,    16,    17,     0,     0,     4,
 +       5,     0,    20,     6,     7,     0,     0,     0,    21,    22,
 +       0,    23,     0,    24,     0,     0,    25,    26,   192,    61,
 +       0,     0,     0,     0,     0,     0,     0,   199,   200,     0,
 +       0,     0,     0,     0,    13,     0,     0,     0,     0,    14,
 +      15,    16,    17,     0,     0,     4,     5,     0,    20,     6,
 +       7,     0,     0,    96,    21,    22,     0,    23,     0,    24,
 +       0,     0,    25,    26,     0,    61,     0,     0,     0,     0,
 +       0,     0,     4,     5,     0,     0,     6,     7,     0,     0,
        13,     0,     0,     0,     0,    14,    15,    16,    17,     0,
 -       0,     0,     0,    20,     0,     0,     0,     0,     0,    21,
 -      22,     0,    23,     0,    24,     0,    13,    25,    26,     0,
 -      55,    14,    15,    16,    17,     0,     4,     5,     0,    20,
 -       6,     7,     0,     0,     0,    21,    22,     0,    23,     0,
 -      24,     0,     0,    25,    26,     0,    55,     0,     0,     0,
 -       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 -       0,     0,     0,     0,     0,    78,    14,    15,    16,    17,
 -      79,    78,     0,     0,    20,     0,    79,     0,     0,     0,
 -      21,    22,     0,    23,     0,    24,     0,     0,    25,    60,
 -      78,    55,     0,     0,     0,    79,    80,    81,    82,     0,
 -       0,     0,    80,    81,    82,     0,     0,     0,    83,     0,
 -      78,    85,    86,     0,    83,    79,    84,    85,    86,     0,
 -       0,    80,    81,    82,     0,     0,     0,     0,     0,    69,
 -       0,     0,     0,    83,   205,     0,    85,    86,     0,     0,
 -       0,    80,    81,    82,     0,     0,     0,     0,     0,     0,
 -       0,     0,     0,    83,     0,     0,    85,    86
 +       0,     0,     0,    85,    20,     0,     0,     0,    86,     0,
 +      21,    22,     0,    23,     0,    24,     0,    13,    25,    26,
 +       0,    61,    14,    15,    16,    17,     0,     0,     4,     5,
 +       0,    20,     6,     7,    87,    88,    89,    21,    22,     0,
 +      23,     0,    24,     0,     0,    25,    26,    90,    61,     0,
 +      92,    93,     0,     0,     0,     0,     0,     0,     0,     0,
 +       0,     0,     0,     0,     0,     0,     0,    85,    14,    15,
 +      16,    17,    86,     0,     0,     0,     0,    20,     0,     0,
 +       0,     0,     0,    21,    22,     0,    23,     0,    24,     0,
 +       0,    25,    66,     0,    61,     0,     0,     0,    87,    88,
 +      89,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 +       0,    90,   214,     0,    92,    93
  };
  
- #define yypact_value_is_default(yystate) \
-   ((yystate) == (-273))
+ #define yypact_value_is_default(Yystate) \
 -  (!!((Yystate) == (-269)))
++  (!!((Yystate) == (-273)))
  
- #define yytable_value_is_error(yytable_value) \
-   ((yytable_value) == (-104))
+ #define yytable_value_is_error(Yytable_value) \
 -  (!!((Yytable_value) == (-101)))
++  (!!((Yytable_value) == (-104)))
  
  static const yytype_int16 yycheck[] =
  {
@@@ -2057,8 -2083,8 +2066,8 @@@ yyreduce
    switch (yyn)
      {
          case 3:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 221 "awkgram.y"
 +#line 198 "awkgram.y"
      {
                rule = 0;
                yyerrok;
@@@ -2066,18 -2092,16 +2075,18 @@@
      break;
  
    case 5:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 227 "awkgram.y"
 +#line 204 "awkgram.y"
      {
                next_sourcefile();
 +              if (sourcefile == srcfiles)
 +                      process_deferred();
          }
      break;
  
    case 6:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 231 "awkgram.y"
 +#line 210 "awkgram.y"
      {
                rule = 0;
                /*
@@@ -2089,16 -2113,16 +2098,16 @@@
      break;
  
    case 7:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 243 "awkgram.y"
 +#line 222 "awkgram.y"
      {
                (void) append_rule((yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));
          }
      break;
  
    case 8:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 247 "awkgram.y"
 +#line 226 "awkgram.y"
      {
                if (rule != Rule) {
                        msg(_("%s blocks must have an action part"), 
ruletab[rule]);
@@@ -2112,36 -2136,29 +2121,36 @@@
      break;
  
    case 9:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 258 "awkgram.y"
 +#line 237 "awkgram.y"
      {
 -              can_return = FALSE;
 -              if ((yyvsp[(1) - (2)]) && func_install((yyvsp[(1) - (2)]), 
(yyvsp[(2) - (2)])) < 0)
 -                      YYABORT;
 -              func_params = NULL;
 +              in_function = NULL;
 +              (void) mk_function((yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));
                yyerrok;
          }
      break;
  
    case 10:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 266 "awkgram.y"
 +#line 243 "awkgram.y"
      {
 -              want_source = FALSE;
 +              want_source = false;
                yyerrok;
          }
      break;
  
    case 11:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 274 "awkgram.y"
 +#line 248 "awkgram.y"
 +    {
 +              want_source = false;
 +              yyerrok;
 +        }
 +    break;
 +
 +  case 12:
- /* Line 1787 of yacc.c  */
++/* Line 1813 of yacc.c  */
 +#line 256 "awkgram.y"
      {
                if (include_source((yyvsp[(1) - (1)])) < 0)
                        YYABORT;
@@@ -2151,57 -2168,33 +2160,57 @@@
          }
      break;
  
 -  case 12:
 +  case 13:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 282 "awkgram.y"
 +#line 264 "awkgram.y"
      { (yyval) = NULL; }
      break;
  
 -  case 13:
 +  case 14:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 284 "awkgram.y"
 +#line 266 "awkgram.y"
      { (yyval) = NULL; }
      break;
  
 -  case 14:
 +  case 15:
- /* Line 1787 of yacc.c  */
++/* Line 1813 of yacc.c  */
 +#line 271 "awkgram.y"
 +    {
 +              if (load_library((yyvsp[(1) - (1)])) < 0)
 +                      YYABORT;
 +              efree((yyvsp[(1) - (1)])->lextok);
 +              bcfree((yyvsp[(1) - (1)]));
 +              (yyval) = NULL;
 +        }
 +    break;
 +
 +  case 16:
- /* Line 1787 of yacc.c  */
++/* Line 1813 of yacc.c  */
 +#line 279 "awkgram.y"
 +    { (yyval) = NULL; }
 +    break;
 +
 +  case 17:
- /* Line 1787 of yacc.c  */
++/* Line 1813 of yacc.c  */
 +#line 281 "awkgram.y"
 +    { (yyval) = NULL; }
 +    break;
 +
 +  case 18:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 289 "awkgram.y"
 +#line 286 "awkgram.y"
      { (yyval) = NULL; rule = Rule; }
      break;
  
 -  case 15:
 +  case 19:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 291 "awkgram.y"
 +#line 288 "awkgram.y"
      { (yyval) = (yyvsp[(1) - (1)]); rule = Rule; }
      break;
  
 -  case 16:
 +  case 20:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 293 "awkgram.y"
 +#line 290 "awkgram.y"
      {
                INSTRUCTION *tp;
  
@@@ -2229,9 -2222,9 +2238,9 @@@
          }
      break;
  
 -  case 17:
 +  case 21:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 319 "awkgram.y"
 +#line 316 "awkgram.y"
      {
                static int begin_seen = 0;
                if (do_lint_old && ++begin_seen == 2)
@@@ -2244,9 -2237,9 +2253,9 @@@
          }
      break;
  
 -  case 18:
 +  case 22:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 330 "awkgram.y"
 +#line 327 "awkgram.y"
      {
                static int end_seen = 0;
                if (do_lint_old && ++end_seen == 2)
@@@ -2259,9 -2252,9 +2268,9 @@@
          }
      break;
  
 -  case 19:
 +  case 23:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 341 "awkgram.y"
 +#line 338 "awkgram.y"
      {
                (yyvsp[(1) - (1)])->in_rule = rule = BEGINFILE;
                (yyvsp[(1) - (1)])->source_file = source;
@@@ -2269,9 -2262,9 +2278,9 @@@
          }
      break;
  
 -  case 20:
 +  case 24:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 347 "awkgram.y"
 +#line 344 "awkgram.y"
      {
                (yyvsp[(1) - (1)])->in_rule = rule = ENDFILE;
                (yyvsp[(1) - (1)])->source_file = source;
@@@ -2279,9 -2272,9 +2288,9 @@@
          }
      break;
  
 -  case 21:
 +  case 25:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 356 "awkgram.y"
 +#line 353 "awkgram.y"
      {
                if ((yyvsp[(2) - (5)]) == NULL)
                        (yyval) = list_create(instruction(Op_no_op));
@@@ -2290,58 -2283,78 +2299,58 @@@
          }
      break;
  
 -  case 22:
 +  case 26:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 366 "awkgram.y"
 +#line 363 "awkgram.y"
      { (yyval) = (yyvsp[(1) - (1)]); }
      break;
  
 -  case 23:
 +  case 27:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 368 "awkgram.y"
 +#line 365 "awkgram.y"
      { (yyval) = (yyvsp[(1) - (1)]); }
      break;
  
 -  case 24:
 +  case 28:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 370 "awkgram.y"
 +#line 367 "awkgram.y"
      {
                yyerror(_("`%s' is a built-in function, it cannot be 
redefined"),
 -                      tokstart);
 -              (yyvsp[(1) - (1)])->opcode = Op_symbol; /* Op_symbol instead of 
Op_token so that
 -                                       * free_bc_internal does not try to 
free it
 -                                       */
 -              (yyvsp[(1) - (1)])->lextok = builtin_func;
 -              (yyval) = (yyvsp[(1) - (1)]);
 -              /* yyerrok; */
 +                                      tokstart);
 +              YYABORT;
          }
      break;
  
 -  case 25:
 +  case 29:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 381 "awkgram.y"
 +#line 373 "awkgram.y"
      { (yyval) = (yyvsp[(2) - (2)]); }
      break;
  
 -  case 28:
 +  case 32:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 391 "awkgram.y"
 +#line 383 "awkgram.y"
      {
 -              param_counter = 0;
 -              func_params = NULL;
 +              (yyvsp[(1) - (6)])->source_file = source;
 +              if (install_function((yyvsp[(2) - (6)])->lextok, (yyvsp[(1) - 
(6)]), (yyvsp[(4) - (6)])) < 0)
 +                      YYABORT;
 +              in_function = (yyvsp[(2) - (6)])->lextok;
 +              (yyvsp[(2) - (6)])->lextok = NULL;
 +              bcfree((yyvsp[(2) - (6)]));
 +              /* $4 already free'd in install_function */
 +              (yyval) = (yyvsp[(1) - (6)]);
          }
      break;
  
 -  case 29:
 -/* Line 1813 of yacc.c  */
 -#line 396 "awkgram.y"
 -    {
 -                      NODE *t;
 -
 -                      (yyvsp[(1) - (7)])->source_file = source;
 -                      t = make_param((yyvsp[(3) - (7)])->lextok);
 -                      (yyvsp[(3) - (7)])->lextok = NULL;
 -                      bcfree((yyvsp[(3) - (7)]));
 -                      t->flags |= FUNC;
 -                      t->rnode = func_params;
 -                      func_params = t;
 -                      (yyval) = (yyvsp[(1) - (7)]);
 -                      can_return = TRUE;
 -                      /* check for duplicate parameter names */
 -                      if (dup_parms((yyvsp[(1) - (7)]), t))
 -                              errcount++;
 -              }
 -    break;
 -
 -  case 30:
 +  case 33:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 420 "awkgram.y"
 +#line 401 "awkgram.y"
      { ++want_regexp; }
      break;
  
 -  case 31:
 +  case 34:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 422 "awkgram.y"
 +#line 403 "awkgram.y"
      {
                  NODE *n, *exp;
                  char *re;
@@@ -2372,21 -2384,21 +2381,21 @@@
                }
      break;
  
 -  case 32:
 +  case 35:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 453 "awkgram.y"
 +#line 435 "awkgram.y"
      { bcfree((yyvsp[(1) - (1)])); }
      break;
  
 -  case 34:
 +  case 37:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 459 "awkgram.y"
 +#line 441 "awkgram.y"
      { (yyval) = NULL; }
      break;
  
 -  case 35:
 +  case 38:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 461 "awkgram.y"
 +#line 443 "awkgram.y"
      {
                if ((yyvsp[(2) - (2)]) == NULL)
                        (yyval) = (yyvsp[(1) - (2)]);
@@@ -2401,38 -2413,38 +2410,38 @@@
          }
      break;
  
 -  case 36:
 +  case 39:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 474 "awkgram.y"
 +#line 456 "awkgram.y"
      { (yyval) = NULL; }
      break;
  
 -  case 39:
 +  case 42:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 484 "awkgram.y"
 +#line 466 "awkgram.y"
      { (yyval) = NULL; }
      break;
  
 -  case 40:
 +  case 43:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 486 "awkgram.y"
 +#line 468 "awkgram.y"
      { (yyval) = (yyvsp[(2) - (3)]); }
      break;
  
 -  case 41:
 +  case 44:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 488 "awkgram.y"
 +#line 470 "awkgram.y"
      {
 -              if (do_profiling)
 +              if (do_pretty_print)
                        (yyval) = list_prepend((yyvsp[(1) - (1)]), 
instruction(Op_exec_count));
                else
                        (yyval) = (yyvsp[(1) - (1)]);
          }
      break;
  
 -  case 42:
 +  case 45:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 495 "awkgram.y"
 +#line 477 "awkgram.y"
      {
                INSTRUCTION *dflt, *curr = NULL, *cexp, *cstmt;
                INSTRUCTION *ip, *nextc, *tbreak;
@@@ -2524,9 -2536,9 +2533,9 @@@
          }
      break;
  
 -  case 43:
 +  case 46:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 585 "awkgram.y"
 +#line 567 "awkgram.y"
      { 
                /*
                 *    -----------------
@@@ -2570,9 -2582,9 +2579,9 @@@
          }
      break;
  
 -  case 44:
 +  case 47:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 627 "awkgram.y"
 +#line 609 "awkgram.y"
      {
                /*
                 *    -----------------
@@@ -2616,9 -2628,9 +2625,9 @@@
          }
      break;
  
 -  case 45:
 +  case 48:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 669 "awkgram.y"
 +#line 651 "awkgram.y"
      {
                INSTRUCTION *ip;
                char *var_name = (yyvsp[(3) - (8)])->lextok;
@@@ -2733,9 -2745,9 +2742,9 @@@ regular_loop
          }
      break;
  
 -  case 46:
 +  case 49:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 782 "awkgram.y"
 +#line 764 "awkgram.y"
      {
                (yyval) = mk_for_loop((yyvsp[(1) - (12)]), (yyvsp[(3) - (12)]), 
(yyvsp[(6) - (12)]), (yyvsp[(9) - (12)]), (yyvsp[(12) - (12)]));
  
@@@ -2744,9 -2756,9 +2753,9 @@@
          }
      break;
  
 -  case 47:
 +  case 50:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 789 "awkgram.y"
 +#line 771 "awkgram.y"
      {
                (yyval) = mk_for_loop((yyvsp[(1) - (11)]), (yyvsp[(3) - (11)]), 
(INSTRUCTION *) NULL, (yyvsp[(8) - (11)]), (yyvsp[(11) - (11)]));
  
@@@ -2755,20 -2767,20 +2764,20 @@@
          }
      break;
  
 -  case 48:
 +  case 51:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 796 "awkgram.y"
 +#line 778 "awkgram.y"
      {
 -              if (do_profiling)
 +              if (do_pretty_print)
                        (yyval) = list_prepend((yyvsp[(1) - (1)]), 
instruction(Op_exec_count));
                else
                        (yyval) = (yyvsp[(1) - (1)]);
          }
      break;
  
 -  case 49:
 +  case 52:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 806 "awkgram.y"
 +#line 788 "awkgram.y"
      { 
                if (! break_allowed)
                        error_ln((yyvsp[(1) - (2)])->source_line,
@@@ -2779,9 -2791,9 +2788,9 @@@
          }
      break;
  
 -  case 50:
 +  case 53:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 815 "awkgram.y"
 +#line 797 "awkgram.y"
      {
                if (! continue_allowed)
                        error_ln((yyvsp[(1) - (2)])->source_line,
@@@ -2792,9 -2804,9 +2801,9 @@@
          }
      break;
  
 -  case 51:
 +  case 54:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 824 "awkgram.y"
 +#line 806 "awkgram.y"
      {
                /* if inside function (rule = 0), resolve context at run-time */
                if (rule && rule != Rule)
@@@ -2805,9 -2817,9 +2814,9 @@@
          }
      break;
  
 -  case 52:
 +  case 55:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 833 "awkgram.y"
 +#line 815 "awkgram.y"
      {
                /* if inside function (rule = 0), resolve context at run-time */
                if (rule == BEGIN || rule == END || rule == ENDFILE)
@@@ -2820,9 -2832,9 +2829,9 @@@
          }
      break;
  
 -  case 53:
 +  case 56:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 844 "awkgram.y"
 +#line 826 "awkgram.y"
      {
                /* Initialize the two possible jump targets, the actual target
                 * is resolved at run-time. 
@@@ -2839,18 -2851,18 +2848,18 @@@
          }
      break;
  
 -  case 54:
 +  case 57:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 859 "awkgram.y"
 +#line 841 "awkgram.y"
      {
 -              if (! can_return)
 +              if (! in_function)
                        yyerror(_("`return' used outside function context"));
          }
      break;
  
 -  case 55:
 +  case 58:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 862 "awkgram.y"
 +#line 844 "awkgram.y"
      {
                if ((yyvsp[(3) - (4)]) == NULL) {
                        (yyval) = list_create((yyvsp[(1) - (4)]));
@@@ -2873,15 -2873,15 +2882,15 @@@
          }
      break;
  
 -  case 57:
 +  case 60:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 882 "awkgram.y"
 -    { in_print = TRUE; in_parens = 0; }
 +#line 876 "awkgram.y"
 +    { in_print = true; in_parens = 0; }
      break;
  
 -  case 58:
 +  case 61:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 883 "awkgram.y"
 +#line 877 "awkgram.y"
      {
                /*
                 * Optimization: plain `print' has no expression list, so $3 is 
null.
@@@ -2980,15 -2978,15 +2989,15 @@@ regular_print
          }
      break;
  
 -  case 59:
 +  case 62:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 978 "awkgram.y"
 +#line 974 "awkgram.y"
      { sub_counter = 0; }
      break;
  
 -  case 60:
 +  case 63:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 979 "awkgram.y"
 +#line 975 "awkgram.y"
      {
                char *arr = (yyvsp[(2) - (4)])->lextok;
  
@@@ -3023,11 -3014,11 +3032,11 @@@
          }
      break;
  
 -  case 61:
 +  case 64:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1009 "awkgram.y"
 +#line 1012 "awkgram.y"
      {
 -              static short warned = FALSE;
 +              static bool warned = false;
                char *arr = (yyvsp[(3) - (4)])->lextok;
  
                if (do_lint && ! warned) {
@@@ -3053,33 -3037,33 +3062,33 @@@
          }
      break;
  
 -  case 62:
 +  case 65:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1028 "awkgram.y"
 +#line 1038 "awkgram.y"
      { (yyval) = optimize_assignment((yyvsp[(1) - (1)])); }
      break;
  
 -  case 63:
 +  case 66:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1033 "awkgram.y"
 +#line 1043 "awkgram.y"
      { (yyval) = NULL; }
      break;
  
 -  case 64:
 +  case 67:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1035 "awkgram.y"
 +#line 1045 "awkgram.y"
      { (yyval) = (yyvsp[(1) - (1)]); }
      break;
  
 -  case 65:
 +  case 68:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1040 "awkgram.y"
 +#line 1050 "awkgram.y"
      { (yyval) = NULL; }
      break;
  
 -  case 66:
 +  case 69:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1042 "awkgram.y"
 +#line 1052 "awkgram.y"
      {
                if ((yyvsp[(1) - (2)]) == NULL)
                        (yyval) = list_create((yyvsp[(2) - (2)]));
@@@ -3088,15 -3072,15 +3097,15 @@@
          }
      break;
  
 -  case 67:
 +  case 70:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1049 "awkgram.y"
 +#line 1059 "awkgram.y"
      { (yyval) = NULL; }
      break;
  
 -  case 68:
 +  case 71:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1054 "awkgram.y"
 +#line 1064 "awkgram.y"
      {
                INSTRUCTION *casestmt = (yyvsp[(5) - (5)]);
                if ((yyvsp[(5) - (5)]) == NULL)
@@@ -3110,9 -3094,9 +3119,9 @@@
          }
      break;
  
 -  case 69:
 +  case 72:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1066 "awkgram.y"
 +#line 1076 "awkgram.y"
      {
                INSTRUCTION *casestmt = (yyvsp[(4) - (4)]);
                if ((yyvsp[(4) - (4)]) == NULL)
@@@ -3125,87 -3109,85 +3134,87 @@@
          }
      break;
  
 -  case 70:
 +  case 73:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1080 "awkgram.y"
 +#line 1090 "awkgram.y"
      { (yyval) = (yyvsp[(1) - (1)]); }
      break;
  
 -  case 71:
 +  case 74:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1082 "awkgram.y"
 +#line 1092 "awkgram.y"
      { 
 -              (yyvsp[(2) - (2)])->memory->numbr = -(force_number((yyvsp[(2) - 
(2)])->memory));
 +              NODE *n = (yyvsp[(2) - (2)])->memory;
 +              (void) force_number(n);
 +              negate_num(n);
                bcfree((yyvsp[(1) - (2)]));
                (yyval) = (yyvsp[(2) - (2)]);
          }
      break;
  
 -  case 72:
 +  case 75:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1088 "awkgram.y"
 +#line 1100 "awkgram.y"
      {
                bcfree((yyvsp[(1) - (2)]));
                (yyval) = (yyvsp[(2) - (2)]);
          }
      break;
  
 -  case 73:
 +  case 76:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1093 "awkgram.y"
 +#line 1105 "awkgram.y"
      { (yyval) = (yyvsp[(1) - (1)]); }
      break;
  
 -  case 74:
 +  case 77:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1095 "awkgram.y"
 +#line 1107 "awkgram.y"
      {
                (yyvsp[(1) - (1)])->opcode = Op_push_re;
                (yyval) = (yyvsp[(1) - (1)]);
          }
      break;
  
 -  case 75:
 +  case 78:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1103 "awkgram.y"
 +#line 1115 "awkgram.y"
      { (yyval) = (yyvsp[(1) - (1)]); }
      break;
  
 -  case 76:
 +  case 79:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1105 "awkgram.y"
 +#line 1117 "awkgram.y"
      { (yyval) = (yyvsp[(1) - (1)]); }
      break;
  
 -  case 78:
 +  case 81:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1115 "awkgram.y"
 +#line 1127 "awkgram.y"
      {
                (yyval) = (yyvsp[(2) - (3)]);
          }
      break;
  
 -  case 79:
 +  case 82:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1122 "awkgram.y"
 +#line 1134 "awkgram.y"
      {
 -              in_print = FALSE;
 +              in_print = false;
                in_parens = 0;
                (yyval) = NULL;
          }
      break;
  
 -  case 80:
 +  case 83:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1127 "awkgram.y"
 -    { in_print = FALSE; in_parens = 0; }
 +#line 1139 "awkgram.y"
 +    { in_print = false; in_parens = 0; }
      break;
  
 -  case 81:
 +  case 84:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1128 "awkgram.y"
 +#line 1140 "awkgram.y"
      {
                if ((yyvsp[(1) - (3)])->redir_type == redirect_twoway
                        && (yyvsp[(3) - (3)])->lasti->opcode == 
Op_K_getline_redir
@@@ -3215,175 -3197,165 +3224,175 @@@
          }
      break;
  
 -  case 82:
 +  case 85:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1139 "awkgram.y"
 +#line 1151 "awkgram.y"
      {
                (yyval) = mk_condition((yyvsp[(3) - (6)]), (yyvsp[(1) - (6)]), 
(yyvsp[(6) - (6)]), NULL, NULL);
          }
      break;
  
 -  case 83:
 +  case 86:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1144 "awkgram.y"
 +#line 1156 "awkgram.y"
      {
                (yyval) = mk_condition((yyvsp[(3) - (9)]), (yyvsp[(1) - (9)]), 
(yyvsp[(6) - (9)]), (yyvsp[(7) - (9)]), (yyvsp[(9) - (9)]));
          }
      break;
  
 -  case 88:
 +  case 91:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1161 "awkgram.y"
 +#line 1173 "awkgram.y"
      { (yyval) = NULL; }
      break;
  
 -  case 89:
 +  case 92:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1163 "awkgram.y"
 +#line 1175 "awkgram.y"
      {
                bcfree((yyvsp[(1) - (2)]));
                (yyval) = (yyvsp[(2) - (2)]);
          }
      break;
  
 -  case 92:
 -/* Line 1813 of yacc.c  */
 -#line 1176 "awkgram.y"
 -    {
 -              append_param((yyvsp[(1) - (1)])->lextok);
 -              (yyvsp[(1) - (1)])->lextok = NULL;
 -              bcfree((yyvsp[(1) - (1)]));
 -        }
 -    break;
 -
    case 93:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1182 "awkgram.y"
 -    {
 -              append_param((yyvsp[(3) - (3)])->lextok);
 -              (yyvsp[(3) - (3)])->lextok = NULL;
 -              bcfree((yyvsp[(3) - (3)]));
 -              yyerrok;
 -        }
 +#line 1183 "awkgram.y"
 +    { (yyval) = NULL; }
      break;
  
    case 94:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1189 "awkgram.y"
 -    { /* func_params = NULL; */ }
 +#line 1185 "awkgram.y"
 +    { (yyval) = (yyvsp[(1) - (1)]) ; }
      break;
  
    case 95:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1191 "awkgram.y"
 -    { /* func_params = NULL; */ }
 +#line 1190 "awkgram.y"
 +    {
 +              (yyvsp[(1) - (1)])->param_count = 0;
 +              (yyval) = list_create((yyvsp[(1) - (1)]));
 +        }
      break;
  
    case 96:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1193 "awkgram.y"
 -    { /* func_params = NULL; */ }
 +#line 1195 "awkgram.y"
 +    {
 +              (yyvsp[(3) - (3)])->param_count =  (yyvsp[(1) - 
(3)])->lasti->param_count + 1;
 +              (yyval) = list_append((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));
 +              yyerrok;
 +        }
      break;
  
    case 97:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1199 "awkgram.y"
 +#line 1201 "awkgram.y"
      { (yyval) = NULL; }
      break;
  
    case 98:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1201 "awkgram.y"
 -    { (yyval) = (yyvsp[(1) - (1)]); }
 +#line 1203 "awkgram.y"
 +    { (yyval) = (yyvsp[(1) - (2)]); }
      break;
  
    case 99:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1206 "awkgram.y"
 -    { (yyval) = NULL; }
 +#line 1205 "awkgram.y"
 +    { (yyval) = (yyvsp[(1) - (3)]); }
      break;
  
    case 100:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1208 "awkgram.y"
 -    { (yyval) = (yyvsp[(1) - (1)]); }
 +#line 1211 "awkgram.y"
 +    { (yyval) = NULL; }
      break;
  
    case 101:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
  #line 1213 "awkgram.y"
 -    { (yyval) = mk_expression_list(NULL, (yyvsp[(1) - (1)])); }
 +    { (yyval) = (yyvsp[(1) - (1)]); }
      break;
  
    case 102:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1215 "awkgram.y"
 -    {
 -              (yyval) = mk_expression_list((yyvsp[(1) - (3)]), (yyvsp[(3) - 
(3)]));
 -              yyerrok;
 -        }
 +#line 1218 "awkgram.y"
 +    { (yyval) = NULL; }
      break;
  
    case 103:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
  #line 1220 "awkgram.y"
 -    { (yyval) = NULL; }
 +    { (yyval) = (yyvsp[(1) - (1)]); }
      break;
  
    case 104:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1222 "awkgram.y"
 -    { (yyval) = NULL; }
 +#line 1225 "awkgram.y"
 +    { (yyval) = mk_expression_list(NULL, (yyvsp[(1) - (1)])); }
      break;
  
    case 105:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1224 "awkgram.y"
 -    { (yyval) = NULL; }
 +#line 1227 "awkgram.y"
 +    {
 +              (yyval) = mk_expression_list((yyvsp[(1) - (3)]), (yyvsp[(3) - 
(3)]));
 +              yyerrok;
 +        }
      break;
  
    case 106:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1226 "awkgram.y"
 +#line 1232 "awkgram.y"
      { (yyval) = NULL; }
      break;
  
    case 107:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1232 "awkgram.y"
 -    {
 -              if (do_lint && (yyvsp[(3) - (3)])->lasti->opcode == 
Op_match_rec)
 -                      lintwarn_ln((yyvsp[(2) - (3)])->source_line,
 -                              _("regular expression on right of assignment"));
 -              (yyval) = mk_assignment((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 
(yyvsp[(2) - (3)]));
 -        }
 +#line 1234 "awkgram.y"
 +    { (yyval) = NULL; }
      break;
  
    case 108:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1239 "awkgram.y"
 -    { (yyval) = mk_boolean((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) 
- (3)])); }
 +#line 1236 "awkgram.y"
 +    { (yyval) = NULL; }
      break;
  
    case 109:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1241 "awkgram.y"
 -    { (yyval) = mk_boolean((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) 
- (3)])); }
 +#line 1238 "awkgram.y"
 +    { (yyval) = NULL; }
      break;
  
    case 110:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1243 "awkgram.y"
 +#line 1244 "awkgram.y"
 +    {
 +              if (do_lint && (yyvsp[(3) - (3)])->lasti->opcode == 
Op_match_rec)
 +                      lintwarn_ln((yyvsp[(2) - (3)])->source_line,
 +                              _("regular expression on right of assignment"));
 +              (yyval) = mk_assignment((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 
(yyvsp[(2) - (3)]));
 +        }
 +    break;
 +
 +  case 111:
- /* Line 1787 of yacc.c  */
++/* Line 1813 of yacc.c  */
 +#line 1251 "awkgram.y"
 +    { (yyval) = mk_boolean((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) 
- (3)])); }
 +    break;
 +
 +  case 112:
- /* Line 1787 of yacc.c  */
++/* Line 1813 of yacc.c  */
 +#line 1253 "awkgram.y"
 +    { (yyval) = mk_boolean((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) 
- (3)])); }
 +    break;
 +
 +  case 113:
- /* Line 1787 of yacc.c  */
++/* Line 1813 of yacc.c  */
 +#line 1255 "awkgram.y"
      {
                if ((yyvsp[(1) - (3)])->lasti->opcode == Op_match_rec)
                        warning_ln((yyvsp[(2) - (3)])->source_line,
@@@ -3401,12 -3373,12 +3410,12 @@@
          }
      break;
  
 -  case 111:
 +  case 114:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1259 "awkgram.y"
 +#line 1271 "awkgram.y"
      {
                if (do_lint_old)
 -                warning_ln((yyvsp[(2) - (3)])->source_line,
 +                      warning_ln((yyvsp[(2) - (3)])->source_line,
                                _("old awk does not support the keyword `in' 
except after `for'"));
                (yyvsp[(3) - (3)])->nexti->opcode = Op_push_array;
                (yyvsp[(2) - (3)])->opcode = Op_in_array;
@@@ -3415,9 -3387,9 +3424,9 @@@
          }
      break;
  
 -  case 112:
 +  case 115:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1269 "awkgram.y"
 +#line 1281 "awkgram.y"
      {
                if (do_lint && (yyvsp[(3) - (3)])->lasti->opcode == 
Op_match_rec)
                        lintwarn_ln((yyvsp[(2) - (3)])->source_line,
@@@ -3426,81 -3398,81 +3435,81 @@@
          }
      break;
  
 -  case 113:
 +  case 116:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1276 "awkgram.y"
 +#line 1288 "awkgram.y"
      { (yyval) = mk_condition((yyvsp[(1) - (5)]), (yyvsp[(2) - (5)]), 
(yyvsp[(3) - (5)]), (yyvsp[(4) - (5)]), (yyvsp[(5) - (5)])); }
      break;
  
 -  case 114:
 +  case 117:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1278 "awkgram.y"
 +#line 1290 "awkgram.y"
      { (yyval) = (yyvsp[(1) - (1)]); }
      break;
  
 -  case 115:
 +  case 118:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1283 "awkgram.y"
 +#line 1295 "awkgram.y"
      { (yyval) = (yyvsp[(1) - (1)]); }
      break;
  
 -  case 116:
 +  case 119:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1285 "awkgram.y"
 +#line 1297 "awkgram.y"
      { (yyval) = (yyvsp[(1) - (1)]); }
      break;
  
 -  case 117:
 +  case 120:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1287 "awkgram.y"
 +#line 1299 "awkgram.y"
      { 
                (yyvsp[(2) - (2)])->opcode = Op_assign_quotient;
                (yyval) = (yyvsp[(2) - (2)]);
          }
      break;
  
 -  case 118:
 +  case 121:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1295 "awkgram.y"
 +#line 1307 "awkgram.y"
      { (yyval) = (yyvsp[(1) - (1)]); }
      break;
  
 -  case 119:
 +  case 122:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1297 "awkgram.y"
 +#line 1309 "awkgram.y"
      { (yyval) = (yyvsp[(1) - (1)]); }
      break;
  
 -  case 120:
 +  case 123:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1302 "awkgram.y"
 +#line 1314 "awkgram.y"
      { (yyval) = (yyvsp[(1) - (1)]); }
      break;
  
 -  case 121:
 +  case 124:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1304 "awkgram.y"
 +#line 1316 "awkgram.y"
      { (yyval) = (yyvsp[(1) - (1)]); }
      break;
  
 -  case 122:
 +  case 125:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1309 "awkgram.y"
 +#line 1321 "awkgram.y"
      { (yyval) = (yyvsp[(1) - (1)]); }
      break;
  
 -  case 123:
 +  case 126:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1311 "awkgram.y"
 +#line 1323 "awkgram.y"
      { (yyval) = (yyvsp[(1) - (1)]); }
      break;
  
 -  case 124:
 +  case 127:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1313 "awkgram.y"
 +#line 1325 "awkgram.y"
      {
                int count = 2;
 -              int is_simple_var = FALSE;
 +              bool is_simple_var = false;
  
                if ((yyvsp[(1) - (2)])->lasti->opcode == Op_concat) {
                        /* multiple (> 2) adjacent strings optimization */
@@@ -3546,45 -3521,45 +3555,45 @@@
          }
      break;
  
 -  case 126:
 +  case 129:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1368 "awkgram.y"
 +#line 1377 "awkgram.y"
      { (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) 
- (3)])); }
      break;
  
 -  case 127:
 +  case 130:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1370 "awkgram.y"
 +#line 1379 "awkgram.y"
      { (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) 
- (3)])); }
      break;
  
 -  case 128:
 +  case 131:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1372 "awkgram.y"
 +#line 1381 "awkgram.y"
      { (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) 
- (3)])); }
      break;
  
 -  case 129:
 +  case 132:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1374 "awkgram.y"
 +#line 1383 "awkgram.y"
      { (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) 
- (3)])); }
      break;
  
 -  case 130:
 +  case 133:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1376 "awkgram.y"
 +#line 1385 "awkgram.y"
      { (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) 
- (3)])); }
      break;
  
 -  case 131:
 +  case 134:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1378 "awkgram.y"
 +#line 1387 "awkgram.y"
      { (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) 
- (3)])); }
      break;
  
 -  case 132:
 +  case 135:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1380 "awkgram.y"
 +#line 1389 "awkgram.y"
      {
                /*
                 * In BEGINFILE/ENDFILE, allow `getline var < file'
@@@ -3609,27 -3584,27 +3618,27 @@@
          }
      break;
  
 -  case 133:
 +  case 136:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1403 "awkgram.y"
 +#line 1412 "awkgram.y"
      {
                (yyvsp[(2) - (2)])->opcode = Op_postincrement;
                (yyval) = mk_assignment((yyvsp[(1) - (2)]), NULL, (yyvsp[(2) - 
(2)]));
          }
      break;
  
 -  case 134:
 +  case 137:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1408 "awkgram.y"
 +#line 1417 "awkgram.y"
      {
                (yyvsp[(2) - (2)])->opcode = Op_postdecrement;
                (yyval) = mk_assignment((yyvsp[(1) - (2)]), NULL, (yyvsp[(2) - 
(2)]));
          }
      break;
  
 -  case 135:
 +  case 138:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1413 "awkgram.y"
 +#line 1422 "awkgram.y"
      {
                if (do_lint_old) {
                    warning_ln((yyvsp[(4) - (5)])->source_line,
@@@ -3651,62 -3626,62 +3660,62 @@@
          }
      break;
  
 -  case 136:
 +  case 139:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1438 "awkgram.y"
 +#line 1447 "awkgram.y"
      {
                  (yyval) = mk_getline((yyvsp[(3) - (4)]), (yyvsp[(4) - (4)]), 
(yyvsp[(1) - (4)]), (yyvsp[(2) - (4)])->redir_type);
                  bcfree((yyvsp[(2) - (4)]));
                }
      break;
  
 -  case 137:
 +  case 140:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1444 "awkgram.y"
 +#line 1453 "awkgram.y"
      { (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) 
- (3)])); }
      break;
  
 -  case 138:
 +  case 141:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1446 "awkgram.y"
 +#line 1455 "awkgram.y"
      { (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) 
- (3)])); }
      break;
  
 -  case 139:
 +  case 142:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1448 "awkgram.y"
 +#line 1457 "awkgram.y"
      { (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) 
- (3)])); }
      break;
  
 -  case 140:
 +  case 143:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1450 "awkgram.y"
 +#line 1459 "awkgram.y"
      { (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) 
- (3)])); }
      break;
  
 -  case 141:
 +  case 144:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1452 "awkgram.y"
 +#line 1461 "awkgram.y"
      { (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) 
- (3)])); }
      break;
  
 -  case 142:
 +  case 145:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1454 "awkgram.y"
 +#line 1463 "awkgram.y"
      { (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) 
- (3)])); }
      break;
  
 -  case 143:
 +  case 146:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1459 "awkgram.y"
 +#line 1468 "awkgram.y"
      {
                (yyval) = list_create((yyvsp[(1) - (1)]));
          }
      break;
  
 -  case 144:
 +  case 147:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1463 "awkgram.y"
 +#line 1472 "awkgram.y"
      {
                if ((yyvsp[(2) - (2)])->opcode == Op_match_rec) {
                        (yyvsp[(2) - (2)])->opcode = Op_nomatch;
@@@ -3740,15 -3714,15 +3749,15 @@@
           }
      break;
  
 -  case 145:
 +  case 148:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1494 "awkgram.y"
 +#line 1504 "awkgram.y"
      { (yyval) = (yyvsp[(2) - (3)]); }
      break;
  
 -  case 146:
 +  case 149:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1496 "awkgram.y"
 +#line 1506 "awkgram.y"
      {
                (yyval) = snode((yyvsp[(3) - (4)]), (yyvsp[(1) - (4)]));
                if ((yyval) == NULL)
@@@ -3756,9 -3730,9 +3765,9 @@@
          }
      break;
  
 -  case 147:
 +  case 150:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1502 "awkgram.y"
 +#line 1512 "awkgram.y"
      {
                (yyval) = snode((yyvsp[(3) - (4)]), (yyvsp[(1) - (4)]));
                if ((yyval) == NULL)
@@@ -3766,14 -3740,14 +3775,14 @@@
          }
      break;
  
 -  case 148:
 +  case 151:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1508 "awkgram.y"
 +#line 1518 "awkgram.y"
      {
 -              static short warned1 = FALSE;
 +              static bool warned = false;
  
 -              if (do_lint && ! warned1) {
 -                      warned1 = TRUE;
 +              if (do_lint && ! warned) {
 +                      warned = true;
                        lintwarn_ln((yyvsp[(1) - (1)])->source_line,
                                _("call of `length' without parentheses is not 
portable"));
                }
@@@ -3783,50 -3757,47 +3792,50 @@@
          }
      break;
  
 -  case 151:
 +  case 154:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1523 "awkgram.y"
 +#line 1533 "awkgram.y"
      {
                (yyvsp[(1) - (2)])->opcode = Op_preincrement;
                (yyval) = mk_assignment((yyvsp[(2) - (2)]), NULL, (yyvsp[(1) - 
(2)]));
          }
      break;
  
 -  case 152:
 +  case 155:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1528 "awkgram.y"
 +#line 1538 "awkgram.y"
      {
                (yyvsp[(1) - (2)])->opcode = Op_predecrement;
                (yyval) = mk_assignment((yyvsp[(2) - (2)]), NULL, (yyvsp[(1) - 
(2)]));
          }
      break;
  
 -  case 153:
 +  case 156:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1533 "awkgram.y"
 +#line 1543 "awkgram.y"
      {
                (yyval) = list_create((yyvsp[(1) - (1)]));
          }
      break;
  
 -  case 154:
 +  case 157:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1537 "awkgram.y"
 +#line 1547 "awkgram.y"
      {
                (yyval) = list_create((yyvsp[(1) - (1)]));
          }
      break;
  
 -  case 155:
 +  case 158:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1541 "awkgram.y"
 +#line 1551 "awkgram.y"
      {
                if ((yyvsp[(2) - (2)])->lasti->opcode == Op_push_i
 -                              && ((yyvsp[(2) - (2)])->lasti->memory->flags & 
(STRCUR|STRING)) == 0) {
 -                      (yyvsp[(2) - (2)])->lasti->memory->numbr = 
-(force_number((yyvsp[(2) - (2)])->lasti->memory));
 +                      && ((yyvsp[(2) - (2)])->lasti->memory->flags & 
(STRCUR|STRING)) == 0
 +              ) {
 +                      NODE *n = (yyvsp[(2) - (2)])->lasti->memory;
 +                      (void) force_number(n);
 +                      negate_num(n);                  
                        (yyval) = (yyvsp[(2) - (2)]);
                        bcfree((yyvsp[(1) - (2)]));
                } else {
@@@ -3836,9 -3807,9 +3845,9 @@@
          }
      break;
  
 -  case 156:
 +  case 159:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1553 "awkgram.y"
 +#line 1566 "awkgram.y"
      {
            /*
             * was: $$ = $2
@@@ -3850,18 -3821,18 +3859,18 @@@
          }
      break;
  
 -  case 157:
 +  case 160:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1566 "awkgram.y"
 +#line 1579 "awkgram.y"
      {
                func_use((yyvsp[(1) - (1)])->lasti->func_name, FUNC_USE);
                (yyval) = (yyvsp[(1) - (1)]);
          }
      break;
  
 -  case 158:
 +  case 161:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1571 "awkgram.y"
 +#line 1584 "awkgram.y"
      {
                /* indirect function call */
                INSTRUCTION *f, *t;
@@@ -3896,9 -3867,9 +3905,9 @@@
          }
      break;
  
 -  case 159:
 +  case 162:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1607 "awkgram.y"
 +#line 1620 "awkgram.y"
      {
                param_sanity((yyvsp[(3) - (4)]));
                (yyvsp[(1) - (4)])->opcode = Op_func_call;
@@@ -3914,47 -3885,47 +3923,47 @@@
          }
      break;
  
 -  case 160:
 +  case 163:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1624 "awkgram.y"
 +#line 1637 "awkgram.y"
      { (yyval) = NULL; }
      break;
  
 -  case 161:
 +  case 164:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1626 "awkgram.y"
 +#line 1639 "awkgram.y"
      { (yyval) = (yyvsp[(1) - (1)]); }
      break;
  
 -  case 162:
 +  case 165:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1631 "awkgram.y"
 +#line 1644 "awkgram.y"
      { (yyval) = NULL; }
      break;
  
 -  case 163:
 +  case 166:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1633 "awkgram.y"
 +#line 1646 "awkgram.y"
      { (yyval) = (yyvsp[(1) - (2)]); }
      break;
  
 -  case 164:
 +  case 167:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1638 "awkgram.y"
 +#line 1651 "awkgram.y"
      { (yyval) = (yyvsp[(1) - (1)]); }
      break;
  
 -  case 165:
 +  case 168:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1640 "awkgram.y"
 +#line 1653 "awkgram.y"
      {
                (yyval) = list_merge((yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));
          }
      break;
  
 -  case 166:
 +  case 169:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1647 "awkgram.y"
 +#line 1660 "awkgram.y"
      {
                INSTRUCTION *ip = (yyvsp[(1) - (1)])->lasti; 
                int count = ip->sub_count;      /* # of SUBSEP-seperated 
expressions */
@@@ -3970,9 -3941,9 +3979,9 @@@
          }
      break;
  
 -  case 167:
 +  case 170:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1664 "awkgram.y"
 +#line 1677 "awkgram.y"
      {
                INSTRUCTION *t = (yyvsp[(2) - (3)]);
                if ((yyvsp[(2) - (3)]) == NULL) {
@@@ -3988,29 -3959,29 +3997,29 @@@
          }
      break;
  
 -  case 168:
 +  case 171:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1681 "awkgram.y"
 +#line 1694 "awkgram.y"
      { (yyval) = (yyvsp[(1) - (1)]); }
      break;
  
 -  case 169:
 +  case 172:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1683 "awkgram.y"
 +#line 1696 "awkgram.y"
      {
                (yyval) = list_merge((yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));
          }
      break;
  
 -  case 170:
 +  case 173:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1690 "awkgram.y"
 +#line 1703 "awkgram.y"
      { (yyval) = (yyvsp[(1) - (2)]); }
      break;
  
 -  case 171:
 +  case 174:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1695 "awkgram.y"
 +#line 1708 "awkgram.y"
      {
                char *var_name = (yyvsp[(1) - (1)])->lextok;
  
@@@ -4020,20 -3991,24 +4029,20 @@@
          }
      break;
  
 -  case 172:
 +  case 175:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1703 "awkgram.y"
 +#line 1716 "awkgram.y"
      {
 -              NODE *n;
 -
                char *arr = (yyvsp[(1) - (2)])->lextok;
 -              if ((n = lookup(arr)) != NULL && ! isarray(n))
 -                      yyerror(_("use of non-array as array"));
 -              (yyvsp[(1) - (2)])->memory = variable(arr, Node_var_new);
 +              (yyvsp[(1) - (2)])->memory = variable((yyvsp[(1) - 
(2)])->source_line, arr, Node_var_new);
                (yyvsp[(1) - (2)])->opcode = Op_push_array;
                (yyval) = list_prepend((yyvsp[(2) - (2)]), (yyvsp[(1) - (2)]));
          }
      break;
  
 -  case 173:
 +  case 176:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1717 "awkgram.y"
 +#line 1726 "awkgram.y"
      {
                INSTRUCTION *ip = (yyvsp[(1) - (1)])->nexti;
                if (ip->opcode == Op_push
@@@ -4047,9 -4022,9 +4056,9 @@@
          }
      break;
  
 -  case 174:
 +  case 177:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1729 "awkgram.y"
 +#line 1738 "awkgram.y"
      {
                (yyval) = list_append((yyvsp[(2) - (3)]), (yyvsp[(1) - (3)]));
                if ((yyvsp[(3) - (3)]) != NULL)
@@@ -4057,61 -4032,61 +4066,61 @@@
          }
      break;
  
 -  case 175:
 +  case 178:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1738 "awkgram.y"
 +#line 1747 "awkgram.y"
      {
                (yyvsp[(1) - (1)])->opcode = Op_postincrement;
          }
      break;
  
 -  case 176:
 +  case 179:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1742 "awkgram.y"
 +#line 1751 "awkgram.y"
      {
                (yyvsp[(1) - (1)])->opcode = Op_postdecrement;
          }
      break;
  
 -  case 177:
 +  case 180:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1745 "awkgram.y"
 +#line 1754 "awkgram.y"
      { (yyval) = NULL; }
      break;
  
 -  case 179:
 +  case 182:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1753 "awkgram.y"
 +#line 1762 "awkgram.y"
      { yyerrok; }
      break;
  
 -  case 180:
 +  case 183:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1757 "awkgram.y"
 +#line 1766 "awkgram.y"
      { yyerrok; }
      break;
  
 -  case 183:
 +  case 186:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1766 "awkgram.y"
 +#line 1775 "awkgram.y"
      { yyerrok; }
      break;
  
 -  case 184:
 +  case 187:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1770 "awkgram.y"
 +#line 1779 "awkgram.y"
      { (yyval) = (yyvsp[(1) - (1)]); yyerrok; }
      break;
  
 -  case 185:
 +  case 188:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
 -#line 1774 "awkgram.y"
 +#line 1783 "awkgram.y"
      { yyerrok; }
      break;
  
  
- /* Line 1787 of yacc.c  */
- #line 4127 "awkgram.c"
+ /* Line 1813 of yacc.c  */
 -#line 4102 "awkgram.c"
++#line 4136 "awkgram.c"
        default: break;
      }
    /* User semantic actions sometimes alter yychar, and that requires
@@@ -4340,8 -4317,8 +4351,8 @@@ yyreturn
  }
  
  
- /* Line 2048 of yacc.c  */
+ /* Line 2076 of yacc.c  */
 -#line 1776 "awkgram.y"
 +#line 1785 "awkgram.y"
  
  
  struct token {
diff --cc command.c
index 5334978,a41fafe..f04eead
--- a/command.c
+++ b/command.c
@@@ -1802,9 -1811,9 +1811,9 @@@ yyreduce
      break;
  
    case 22:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
  #line 212 "command.y"
 -    { want_nodeval = TRUE; }
 +    { want_nodeval = true; }
      break;
  
    case 23:
@@@ -1915,39 -1924,39 +1924,39 @@@
      break;
  
    case 38:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
  #line 305 "command.y"
 -    { want_nodeval = TRUE; }
 +    { want_nodeval = true; }
      break;
  
    case 40:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
  #line 306 "command.y"
 -    { want_nodeval = TRUE; }
 +    { want_nodeval = true; }
      break;
  
    case 46:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
  #line 311 "command.y"
 -    { want_nodeval = TRUE; }
 +    { want_nodeval = true; }
      break;
  
    case 49:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
  #line 313 "command.y"
 -    { want_nodeval = TRUE; }
 +    { want_nodeval = true; }
      break;
  
    case 51:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
  #line 314 "command.y"
 -    { want_nodeval = TRUE; }
 +    { want_nodeval = true; }
      break;
  
    case 53:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
  #line 315 "command.y"
 -    { want_nodeval = TRUE; }
 +    { want_nodeval = true; }
      break;
  
    case 57:
@@@ -2038,9 -2047,9 +2047,9 @@@
      break;
  
    case 63:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
  #line 381 "command.y"
 -    { want_nodeval = TRUE; }
 +    { want_nodeval = true; }
      break;
  
    case 64:
@@@ -2179,15 -2188,15 +2188,15 @@@
      break;
  
    case 89:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
  #line 496 "command.y"
 -    { want_nodeval = TRUE; }
 +    { want_nodeval = true; }
      break;
  
    case 92:
- /* Line 1787 of yacc.c  */
+ /* Line 1813 of yacc.c  */
  #line 498 "command.y"
 -    { want_nodeval = TRUE; }
 +    { want_nodeval = true; }
      break;
  
    case 95:
diff --cc pc/ChangeLog
index 1ecf078,15c3a81..5258c09
--- a/pc/ChangeLog
+++ b/pc/ChangeLog
@@@ -1,27 -1,7 +1,31 @@@
+ 2012-10-28   Scott Deifik  <address@hidden>
+ 
+       * Makefile.tst: Sync with mainline version.
+ 
 +2012-10-28         Andrew J. Schorr     <address@hidden>
 +
 +      * Makefile.pc (messages): Adjust to use standard failure test for
 +      make diffout.
 +
 +2012-08-08         Arnold D. Robbins     <address@hidden>
 +
 +      * gawkmisc.pc (os_isreadable): Take IOBUF_PUBLIC instead of fd and
 +      use passed in info.
 +
 +2012-07-29         Arnold D. Robbins     <address@hidden>
 +
 +      * gawkmisc.pc (os_isreadable): Add isdir pointer parameter to be
 +      set to true if fd is for a directory.
 +
 +2012-07-26         Arnold D. Robbins     <address@hidden>
 +
 +      * gawkmisc.pc (os_isreadable): New function.
 +
 +2012-05-14         Arnold D. Robbins     <address@hidden>
 +
 +      * Makefile: Remove second mingw32-readline target. Bad
 +      result from branch merging.
 +
  2012-05-06         Eli Zaretskii  <address@hidden>
  
        * config.sed: Update DJGPP -> __DJGPP__.
diff --cc pc/Makefile.tst
index 6f8f54d,ac7065a..12bdf2d
--- a/pc/Makefile.tst
+++ b/pc/Makefile.tst
@@@ -186,9 -187,8 +187,9 @@@ GAWK_EXT_TESTS = 
  EXTRA_TESTS = inftest regtest
  INET_TESTS = inetdayu inetdayt inetechu inetecht
  MACHINE_TESTS = double1 double2 fmtspcl intformat
 +MPFR_TESTS = mpfrnr mpfrrnd mpfrieee mpfrexprange mpfrsort mpfrbigint
  LOCALE_CHARSET_TESTS = \
-       asort asorti fmttest fnarydel fnparydl lc_num1 mbfw1 \
+       asort asorti fmttest fnarydel fnparydl jarebug lc_num1 mbfw1 \
        mbprintf1 mbprintf2 mbprintf3 rebt8b2 rtlenmb sort1 sprintfc
  
  # List of the tests which should be run with --lint option:

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog       |    6 +-
 NEWS            |    4 +-
 awkgram.c       |  397 ++++++++++++++++++++++++++++---------------------------
 command.c       |  205 +++++++++++++++--------------
 pc/ChangeLog    |    4 +
 pc/Makefile.tst |   38 +++++-
 6 files changed, 356 insertions(+), 298 deletions(-)


hooks/post-receive
-- 
gawk



reply via email to

[Prev in Thread] Current Thread [Next in Thread]