| 1 | Tue Jul 26 21:46:16 2005  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2 |  | 
|---|
| 3 | * Release 3.1.5: Release tar file made. | 
|---|
| 4 |  | 
|---|
| 5 | Tue Jul 26 21:44:54 2005  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 6 |  | 
|---|
| 7 | Copyright dates on all relevant files updated to 2005. | 
|---|
| 8 |  | 
|---|
| 9 | Wed Jul  6 17:09:02 2005  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 10 |  | 
|---|
| 11 | Minor cleanups: | 
|---|
| 12 |  | 
|---|
| 13 | * io.c (do_index): Remove unused variables `mbclen', `mbs1' and `mbs2'. | 
|---|
| 14 | * node.c (wstrstr): Remove unsed variable `j'. | 
|---|
| 15 | (dump_wstr): `#ifdef' out, not currently needed. | 
|---|
| 16 | * eval.c (op_assign): Move decl of `t1' and `t2' into a separate block for | 
|---|
| 17 | the `! HAVE_FMOD' case. Keeps the compiler quiet. Similar for `ltemp'. | 
|---|
| 18 |  | 
|---|
| 19 | Wed Jul  6 16:51:31 2005  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 20 |  | 
|---|
| 21 | * io.c (close_io): Now takes pointer to boolean parameter indicating | 
|---|
| 22 | if there was a problem closing standard output or standard error. | 
|---|
| 23 | Update it in the right places. | 
|---|
| 24 | * awk.h (close_io): Update the declaration. | 
|---|
| 25 | * main.c (main): New variable `stdio_problem'. Pass it to `close_io'. | 
|---|
| 26 | Check the result and exit non-zero if there was a problem. | 
|---|
| 27 | (usage, version): Print warning message if problems with stdout. | 
|---|
| 28 |  | 
|---|
| 29 | Unrelated: | 
|---|
| 30 |  | 
|---|
| 31 | * main.c (main): For call to `setlocale' for LC_MESSAGES, just use | 
|---|
| 32 | `#ifdef LC_MESSAGES'.  Per Bruno Haible <bruno@clisp.org>. | 
|---|
| 33 |  | 
|---|
| 34 | Wed Jul  6 16:44:58 2005  Jim Meyering  <jim@meyering.net> | 
|---|
| 35 |  | 
|---|
| 36 | * main.c (init_fds): If any of the STDIN_FILENO, STDOUT_FILENO, | 
|---|
| 37 | STDERR_FILENO are initially closed, reopen them with permissions | 
|---|
| 38 | contrary to common usage so that any reasonable attempt to use | 
|---|
| 39 | them will evoke the same sort of error as reading or writing to | 
|---|
| 40 | a closed file descriptor would. | 
|---|
| 41 |  | 
|---|
| 42 | Mon Jul  4 09:38:29 2005  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 43 |  | 
|---|
| 44 | More multibyte fixes from Kimura Koichi, <kimura.koichi@canon.co.jp>. | 
|---|
| 45 |  | 
|---|
| 46 | * node.c (format_val, r_dupnode): Spell `wstptr' correctly. | 
|---|
| 47 | * regex_internal.c (build_wcs_upper_buffer): Label `offsets_needed' should not | 
|---|
| 48 | be inside `#ifdef _LIBC'. | 
|---|
| 49 | * regcomp.c (build_charclass): Fix declaration of `class_name' in prototype to | 
|---|
| 50 | not be unsigned. | 
|---|
| 51 |  | 
|---|
| 52 | Thu Jun 30 11:52:34 2005  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 53 |  | 
|---|
| 54 | * profile.c (tree_eval): Node_not: Remember to print the exclamation | 
|---|
| 55 | point!  Thanks to Dan Nielsen <Dan.Nielsen@corporate.ge.com> | 
|---|
| 56 | for the bug report. | 
|---|
| 57 | * mbsupport.h: Fix spelling of HAVE_ISWUPPER. Thanks to | 
|---|
| 58 | Kimura Koichi, <kimura.koichi@canon.co.jp>. | 
|---|
| 59 |  | 
|---|
| 60 | Sun Jun 26 16:37:59 2005  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 61 |  | 
|---|
| 62 | Unrelated changes: | 
|---|
| 63 |  | 
|---|
| 64 | * builtin.c (do_length): Allow array argument to length(). | 
|---|
| 65 | Returns number of elements in array. | 
|---|
| 66 |  | 
|---|
| 67 | * awkgram.y (yylex): Ignore carriage returns in source code. Sigh. | 
|---|
| 68 |  | 
|---|
| 69 | Wed Jun 15 22:12:15 2005  Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 70 |  | 
|---|
| 71 | * node.c (isnondecimal): Check loc.decimal_point before using it. | 
|---|
| 72 | Avoids problems with command line assignment when locale info may | 
|---|
| 73 | not be set up all the way yet. | 
|---|
| 74 |  | 
|---|
| 75 | Wed Jun 15 21:59:54 2005  Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 76 |  | 
|---|
| 77 | * node.c (make_str_node): If working with multibyte characters, while | 
|---|
| 78 | parsing string constants, keep multibyte characters together. This avoids | 
|---|
| 79 | problems in cases where one of the bytes is backslash. Initial patch | 
|---|
| 80 | supplied by Kimura Koichi, <kimura.koichi@canon.co.jp>. | 
|---|
| 81 |  | 
|---|
| 82 | Tue Jun 14 21:50:37 2005  Andrew J. Schorr     <ajschorr@users.sourceforge.net> | 
|---|
| 83 |  | 
|---|
| 84 | Use Exponentiation By Squaring for integer powers for ^ and ^=. | 
|---|
| 85 |  | 
|---|
| 86 | * eval.c (calc_exp, cal_exp_posint): New functions. | 
|---|
| 87 | (r_tree_eval): Use them. | 
|---|
| 88 |  | 
|---|
| 89 | Fri Jun  3 12:15:54 2005  Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 90 |  | 
|---|
| 91 | * configure.ac: Further change the hack at the end so that | 
|---|
| 92 | it works on Mac OS X `sed'. Sigh. | 
|---|
| 93 |  | 
|---|
| 94 | Thu Jun  2 22:44:01 2005  Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 95 |  | 
|---|
| 96 | * configure.ac (TYPE_SOCKLEN_T): Use `int' as default type if can't | 
|---|
| 97 | figure one out. | 
|---|
| 98 | * awkgram.y: Warn that `//' is not a C++ comment. (:-) | 
|---|
| 99 |  | 
|---|
| 100 | Thu Jun  2 20:55:27 2005  Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 101 |  | 
|---|
| 102 | From: Benno Schulenberg <benno@nietvergeten.nl> | 
|---|
| 103 |  | 
|---|
| 104 | * eval.c (func_call): Take message out of gettext call since it's for debugging. | 
|---|
| 105 | * ext.c (get_actual_argument): Fix formatting of message. | 
|---|
| 106 |  | 
|---|
| 107 | Wed May 25 09:19:37 2005  Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 108 |  | 
|---|
| 109 | * configure.ac: Change hack at end that fixes Makefile to keep | 
|---|
| 110 | version.c to use `sed' and not `ed'. More portable to OS/2, probably | 
|---|
| 111 | other systems. | 
|---|
| 112 |  | 
|---|
| 113 | Mon May 23 09:01:26 2005  Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 114 |  | 
|---|
| 115 | Portability help from Jim Meyering. | 
|---|
| 116 |  | 
|---|
| 117 | * io.c: Rework ifdefs for <inttypes.h> and <stdint.h>. Test them | 
|---|
| 118 | individually. | 
|---|
| 119 | * configure.ac: Add AC_C_RESTRICT and code for socklen_t from rsync. | 
|---|
| 120 | Check for isascii and btowc for regex. | 
|---|
| 121 |  | 
|---|
| 122 | Sat May 14 22:49:54 2005  Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 123 |  | 
|---|
| 124 | * wait_any (errno): Remove decl. | 
|---|
| 125 | * gawk_popen: The pipe-simulated but not VMS or DOS version. Remove | 
|---|
| 126 | decl/use of `strdup' in favor of `emalloc' and `strcpy'. | 
|---|
| 127 |  | 
|---|
| 128 | Wed May 11 18:33:30 2005  Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 129 |  | 
|---|
| 130 | All files: Updated address of FSF to: | 
|---|
| 131 |  | 
|---|
| 132 | 51 Franklin Street, Fifth Floor | 
|---|
| 133 | Cambridge, MA  02110-1301 | 
|---|
| 134 |  | 
|---|
| 135 | Wed May 11 18:19:03 2005  Jim Meyering  <jim@meyering.net> | 
|---|
| 136 |  | 
|---|
| 137 | * configure.ac: Use AM_GNU_GETTEXT([external]). | 
|---|
| 138 | Reflect upgrade to gettext-0.14.4. | 
|---|
| 139 | Reflect renaming of `jm_'-prefixed macros. | 
|---|
| 140 | (AC_CONFIG_FILES): Remove intl/Makefile. | 
|---|
| 141 |  | 
|---|
| 142 | * Makefile.am (SUBDIRS): Remove intl. | 
|---|
| 143 | (AM_CPPFLAGS): Remove -Iintl. | 
|---|
| 144 |  | 
|---|
| 145 | Wed May 11 11:42:06 2005  Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 146 |  | 
|---|
| 147 | Straighten out mess with `isblank' which is C99 <ctype.h> function. | 
|---|
| 148 |  | 
|---|
| 149 | * configure.ac: Remove check for `isblank' in call to AC_CHECK_FUNCS. | 
|---|
| 150 | * regex_internal.h: #ifdef out definition of `isblank' and provide `is_blank' | 
|---|
| 151 | function a la dfa.c. | 
|---|
| 152 | * field.c: Ditto. | 
|---|
| 153 | * regcomp.c: #ifdef use of `isblank' and add `is_blank' use instead. | 
|---|
| 154 |  | 
|---|
| 155 | Mon May  9 08:29:37 2005  Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 156 |  | 
|---|
| 157 | * configure.ac: Add type check for `socklen_t', fixes compile | 
|---|
| 158 | warning on AMD/64 Linux. | 
|---|
| 159 | * io.c (socketopen): Change type of socket lenght variables | 
|---|
| 160 | to `socklen_t' from `size_t'. | 
|---|
| 161 |  | 
|---|
| 162 | Thu May  5 22:00:03 2005  John E. Haque <j.eh@mchsi.com> | 
|---|
| 163 |  | 
|---|
| 164 | * io.c (iop_alloc): Let a input processor hook installed via | 
|---|
| 165 | `register_open_hooks' open its own fd in case gawk does not know | 
|---|
| 166 | how to open it. | 
|---|
| 167 | (iop_open): Call `os_close_on_exec' after `iop_alloc'. | 
|---|
| 168 | ADR: If `iop_alloc' returns NULL but the fd is valid, close | 
|---|
| 169 | the fd to avoid an fd leak. | 
|---|
| 170 |  | 
|---|
| 171 | Mon May  2 08:05:59 2005  Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 172 |  | 
|---|
| 173 | * eval.c (update_ERRNO): Don't use `return' in a `void' function. | 
|---|
| 174 | * awk.h (AWKNUM): Back out use of `long double' based on LDBL_MANT_DIG. | 
|---|
| 175 | * builtin.c (tmp_integer): Back out extra ifdefs. | 
|---|
| 176 |  | 
|---|
| 177 | Fri Apr 29 13:01:05 2005  Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 178 |  | 
|---|
| 179 | * configure.ac: Look for `isblank' function. | 
|---|
| 180 | * field.c: Add define for `isblank' if we don't have it. | 
|---|
| 181 |  | 
|---|
| 182 | Fri Apr 29 12:01:33 2005  Julian Foad  <julianfoad@btopenworld.com> | 
|---|
| 183 |  | 
|---|
| 184 | From grep.  Doesn't seem to affect awk. | 
|---|
| 185 |  | 
|---|
| 186 | * dfa.c (lex): Fix bug #9519: "echo do^re | grep do^re" was | 
|---|
| 187 | failing to find a match. [Towards end, set `lasttok' before | 
|---|
| 188 | returning `c'.] | 
|---|
| 189 |  | 
|---|
| 190 | Fri Apr 29 00:28:46 2005  Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 191 |  | 
|---|
| 192 | * configure.ac: Jump through an amazingly convoluted hoop to get | 
|---|
| 193 | config.status to keep version.c upon `make distclean'. Seems to | 
|---|
| 194 | work though. | 
|---|
| 195 |  | 
|---|
| 196 | Thu Apr 28 23:40:02 2005  Stepan Kasal  <kasal@ucw.cz> | 
|---|
| 197 |  | 
|---|
| 198 | * configure.ac (PRINTF_HAS_F_FORMAT): Some cosmetic changes. | 
|---|
| 199 | (custom.h): Don't cat custom.h at the end of config.h; instead, use | 
|---|
| 200 | AH_BOTTOM([#include "custom.h"]) | 
|---|
| 201 | * awklib/Makefile.am (AM_CPPFLAGS): Add $(top_srcdir) so that | 
|---|
| 202 | custom.h can be found. | 
|---|
| 203 |  | 
|---|
| 204 | Thu Apr 28 23:21:22 2005  Jim Meyering  <jim@meyering.net> | 
|---|
| 205 |  | 
|---|
| 206 | * field.c (set_FIELDWIDTHS): Tighten up the code to accept FIELDWIDTHS | 
|---|
| 207 | values in [1..INT_MAX], e.g., detect overflow and invalid strings, | 
|---|
| 208 | and reject strings starting with `-'. | 
|---|
| 209 |  | 
|---|
| 210 | Thu Apr 28 23:05:33 2005  Stepan Kasal  <kasal@ucw.cz> | 
|---|
| 211 |  | 
|---|
| 212 | * dfa.c (parse_bracket_exp_mb): Shorten one part of the code, to get | 
|---|
| 213 | closer to grep's copy. | 
|---|
| 214 |  | 
|---|
| 215 | Thu Apr 28 23:00:58 2005  Pat Rankin    <rankin@pactechdata.com> | 
|---|
| 216 |  | 
|---|
| 217 | * builtin.c (format_tree) [#if VAXCRTL]:  For floating point | 
|---|
| 218 | formatting, reject zero_flag if using old VAXCRTL run-time | 
|---|
| 219 | library to avoid getting erroneous results which appear as if | 
|---|
| 220 | numerically incorrect (due to an embedded space in some cases, | 
|---|
| 221 | extra trailing zeroes in others) rather than just misformatted. | 
|---|
| 222 | `hsprint' test still fails, but not as badly. | 
|---|
| 223 |  | 
|---|
| 224 | Thu Apr 28 19:12:03 2005  Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 225 |  | 
|---|
| 226 | * re.c (reflags2str): Add three new RE_ flags from current regex.h | 
|---|
| 227 | to bring the table up to date. | 
|---|
| 228 |  | 
|---|
| 229 | * builtin.c (format_tree): Save 2 spare bytes instead of one. Suggested | 
|---|
| 230 | by Stepan Kasal. | 
|---|
| 231 |  | 
|---|
| 232 | Thu Apr 28 18:16:09 2005  Andrew J. Schorr     <ajschorr@users.sourceforge.net> | 
|---|
| 233 |  | 
|---|
| 234 | * awk.h (IOBUF): Add new fields `opaque', `get_record', and `close_func', | 
|---|
| 235 | to support insertion of an alternate input processor.  This is used | 
|---|
| 236 | by the XML extension. | 
|---|
| 237 | (register_deferred_variable, register_open_hook, update_ERRNO_saved): | 
|---|
| 238 | Declare new functions. | 
|---|
| 239 | (load_environ, load_procinfo): Remove declarations -- these functions | 
|---|
| 240 | are no longer global, since we use register_deferred_variable instead. | 
|---|
| 241 | * awkgram.y (register_deferred_variable): New function to allow | 
|---|
| 242 | calling code to register special variable names that trigger a callback | 
|---|
| 243 | upon the first reference.  This is now used to implement ENVIRON | 
|---|
| 244 | and PROCINFO. | 
|---|
| 245 | (variable): Search the list of deferred variables instead of hardcoded | 
|---|
| 246 | tests for ENVIRON and PROCINFO. | 
|---|
| 247 | * eval.c (set_BINMODE): Fix spelling of "arbitrary" in warning message. | 
|---|
| 248 | (update_ERRNO_saved): New function that allows the caller to specify | 
|---|
| 249 | the errno value instead of using the current value. | 
|---|
| 250 | (update_ERRNO): Implement by calling update_ERRNO_saved(errno). | 
|---|
| 251 | * io.c (iop_close): Call `iop->close_func' if non-NULL. | 
|---|
| 252 | (close_redir): Should save `errno' value, otherwise `lintwarn' messages | 
|---|
| 253 | might update it.  Then use `update_ERRNO_saved' to set ERRNO. | 
|---|
| 254 | (do_getline): Call `update_ERRNO_saved' to set ERRNO based on the | 
|---|
| 255 | error code returned by the redirect function (instead of the current | 
|---|
| 256 | value of errno).  Similarly, use `update_ERRNO_saved' to set ERRNO | 
|---|
| 257 | based on the value returned by `get_a_record'.  But add a special | 
|---|
| 258 | check to avoid updating ERRNO if `get_a_record' returns an error | 
|---|
| 259 | code value of -1 (this is used by the XML extension which already | 
|---|
| 260 | sets ERRNO before returning). | 
|---|
| 261 | (register_open_hook): New function to register a function to be | 
|---|
| 262 | called whenever a new data file is opened.  This can be used to | 
|---|
| 263 | install a special input processor (as in the XML extension). | 
|---|
| 264 | (iop_alloc): Call registered open hook. | 
|---|
| 265 | (get_a_record): If a `get_record' method has been set, call that instead. | 
|---|
| 266 | * main.c (init_vars): Use `register_deferred_variable' to implement | 
|---|
| 267 | ENVIRON and PROCINFO. | 
|---|
| 268 | (load_environ, load_procinfo): Now static instead of global. | 
|---|
| 269 | * doc/gawk.texi: Document new internal functions `update_ERRNO_saved', | 
|---|
| 270 | `register_deferred_variable', and `register_open_hook'. | 
|---|
| 271 |  | 
|---|
| 272 | Thu Apr 28 10:50:10 2005  Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 273 |  | 
|---|
| 274 | * array.c (assoc_find, do_delete): Change incorrect uses of STREQN | 
|---|
| 275 | to memcmp. | 
|---|
| 276 | * builtin.c (do_index): Same. | 
|---|
| 277 | * field.c (set_FS): Same. | 
|---|
| 278 | * io.c (redirect, getredirect, do_close, set_RS): Same. | 
|---|
| 279 | * re.c (reisstring): Same. | 
|---|
| 280 |  | 
|---|
| 281 | Wed Apr 27 21:35:57 2005  Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 282 |  | 
|---|
| 283 | Allow for long double. Initial changes from  Jean-Marc Saffroy | 
|---|
| 284 | <jean-marc.saffroy@ext.bull.net>. | 
|---|
| 285 |  | 
|---|
| 286 | * awk.h (AWKNUM): If have long doubles (LDBL_MANT_DIG), define AWKNUM | 
|---|
| 287 | as long double, otherwise just use double. | 
|---|
| 288 | * builtin.c (format_tree): Change type of tmpval to double. | 
|---|
| 289 | (do_strtonum): Same for `d' and types used in casts. | 
|---|
| 290 | (tmp_integer): Don't do bit shifting if have long doubles. | 
|---|
| 291 |  | 
|---|
| 292 | Unrelated, from Andrew J. Schorr: | 
|---|
| 293 |  | 
|---|
| 294 | * io.c (close_one): Check for RED_FILE|RED_WRITE, not just RED_FILE. | 
|---|
| 295 |  | 
|---|
| 296 | Mon Apr 25 12:23:18 2005   Andrew J. Schorr     <aschorr@telemetry-investments.com> | 
|---|
| 297 |  | 
|---|
| 298 | * eval.c (r_tree_eval): In Node_assign_concat case, when copying string | 
|---|
| 299 | constants, include the terminating zero byte. | 
|---|
| 300 |  | 
|---|
| 301 | Fri Apr  1 06:26:31 2005   Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 302 |  | 
|---|
| 303 | Update to Automake 1.9.5. | 
|---|
| 304 |  | 
|---|
| 305 | * INSTALL, aclocal.m4, depcomp, install-sh, missing, | 
|---|
| 306 | mkinstalldirs, ylwrap: Updated. | 
|---|
| 307 |  | 
|---|
| 308 | Unrelated: | 
|---|
| 309 |  | 
|---|
| 310 | * builtin.c (do_tolower, do_toupper): Remove old code | 
|---|
| 311 | based on 8-bit character table. | 
|---|
| 312 |  | 
|---|
| 313 | Wed Feb 23 08:23:22 2005   Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 314 |  | 
|---|
| 315 | * bisonfix.awk: New file, fixes continued #ifdef for dumb compilers. | 
|---|
| 316 | * Makefile.am (awkgram.c): Fix rule to use it. | 
|---|
| 317 | (EXTRA_DIST): Include bisonfix.awk. | 
|---|
| 318 |  | 
|---|
| 319 | Tue Feb 22 21:18:50 2005   Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 320 |  | 
|---|
| 321 | * random.h: Remove include of config.h and move it to ... | 
|---|
| 322 | * random.c: Here.  Move include of random.h back to where it was. | 
|---|
| 323 |  | 
|---|
| 324 | * regcomp.c, regex.c, regexec.c: NUKED all use of alloca not inside | 
|---|
| 325 | `_LIBC' ifdef. Hooray! | 
|---|
| 326 |  | 
|---|
| 327 | Sat Feb 19 20:13:28 2005   Pat Rankin    <rankin@pactechdata.com> | 
|---|
| 328 |  | 
|---|
| 329 | Workarounds for bugs and missing C89 features in old VAX C compiler. | 
|---|
| 330 |  | 
|---|
| 331 | * regex_internal.h "mbsupport.h": Suppress inclusion if NO_MBSUPPORT | 
|---|
| 332 | is defined. | 
|---|
| 333 | [MB_CUR_MAX]: Define as 1 if mbsupport.h hasn't defined it. | 
|---|
| 334 | [ER_ERRMSG, ERRMSG_TYPE, ERRMSG_OFFSET, ERRMSG_SEPARATOR]: New macros | 
|---|
| 335 | conditionalized upon gawk's NO_TOKEN_PASTING macro. | 
|---|
| 336 | * regcomp.c: Use them. | 
|---|
| 337 | (parse_dup_op): Use alternate initialization of start_token if | 
|---|
| 338 | RE_TOKEN_INIT_BUG is defined. | 
|---|
| 339 | * regexec.c (proceed_next_node): Compare push_fail_stack() result | 
|---|
| 340 | explicitly against REG_NOERROR rather than implicitly against 0. | 
|---|
| 341 |  | 
|---|
| 342 | Sat Feb 19 20:05:50 2005   Pat Rankin    <rankin@pactechdata.com> | 
|---|
| 343 |  | 
|---|
| 344 | * dfa.c "mbsupport.h": Suppress inclusion if NO_MBSUPPORT is defined. | 
|---|
| 345 |  | 
|---|
| 346 | Wed Feb 16 20:43:07 2005   Pat Rankin    <rankin@pactechdata.com> | 
|---|
| 347 |  | 
|---|
| 348 | * awk.h "mbsupport.h": Suppress inclusion if NO_MBSUPPORT is defined. | 
|---|
| 349 | * regex.h <sys/types.h>: Guard inclusion with HAVE_SYS_TYPES_H. | 
|---|
| 350 | * regex.c <sys/types.h>: Likewise. | 
|---|
| 351 | * random.c "random.h": include this first to get config.h setup. | 
|---|
| 352 | <fcntl.h>: Guard inclusion with HAVE_FCNTL_H. | 
|---|
| 353 | <unistd.h>: Guard inclusion with HAVE_UNISTD_H. | 
|---|
| 354 | * io.c [#if defined(MSDOS) ||... defined(__CYGWIN__)]: Splice the | 
|---|
| 355 | backslash continuation back into one long line. | 
|---|
| 356 |  | 
|---|
| 357 | Wed Feb 16 10:11:21 2005   Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 358 |  | 
|---|
| 359 | * node.c (unref, format_val): Add assertions checking that both | 
|---|
| 360 | `tmp->wstptr != NULL' and `(tmp->flags & WSTRCUR) != 0' before | 
|---|
| 361 | freeing `tmp->wstptr'. Thanks to kimura.koichi@canon.co.jp. | 
|---|
| 362 |  | 
|---|
| 363 | * random.c (HAVE_UNISTD_H): Conditionalize include of <unistd.h>. | 
|---|
| 364 | Thanks to Scott Deifik <scottd@amgen.com>. | 
|---|
| 365 |  | 
|---|
| 366 | Sun Feb 13 18:24:50 2005   Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 367 |  | 
|---|
| 368 | * io.c (socketopen): Move `#ifdef MSG_PEEK' up to above | 
|---|
| 369 | declarations too.  Thanks to Michal Jaegermann. | 
|---|
| 370 |  | 
|---|
| 371 | * config.guess, config.sub: Updated from Savannah. | 
|---|
| 372 |  | 
|---|
| 373 | Thu Feb 10 15:48:48 2005   Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 374 |  | 
|---|
| 375 | * regex_internal.c (re_dfa_add_node): Remove variable `type' | 
|---|
| 376 | and just use `token.type' directly in RE_ENABLE_I18N code below. | 
|---|
| 377 | Saves a compiler warning, and a good compiler will handle it anyway. | 
|---|
| 378 | * regexec.c (check_arrival_add_next_nodes): Move decl of `err' | 
|---|
| 379 | inside #ifdef RE_ENABLE_I18N code where it's used. | 
|---|
| 380 | * awkgram.y (yylex): Add casts to int before use of `strlen' results | 
|---|
| 381 | for printf-style precision. Avoid a compiler warning. | 
|---|
| 382 | * io.c (redirect, do_close): Same for use of tmp->stlen. | 
|---|
| 383 |  | 
|---|
| 384 | Thanks to Michal Jaegermann <michal@harddata.com>. | 
|---|
| 385 |  | 
|---|
| 386 | Wed Feb  9 10:19:15 2005   Stepan Kasal  <kasal@ucw.cz> | 
|---|
| 387 |  | 
|---|
| 388 | * Makefile.am (datadir, libexecdir): Removed. | 
|---|
| 389 | (awkdatadir): Renamed to pkgdatadir. | 
|---|
| 390 | (pkgdatadir, LDADD): Use the make syntax to refer to other variables, | 
|---|
| 391 | not @...@. | 
|---|
| 392 |  | 
|---|
| 393 | Wed Feb  9 10:05:46 2005   Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 394 |  | 
|---|
| 395 | * node.c (r_dupnode): Assign NULL to r->wstr after `getnode'. | 
|---|
| 396 | Fix count of bytes to copy in call to `memcpy'. | 
|---|
| 397 | Thanks to Kimura Koichi, <kimura.koichi@canon.co.jp>. | 
|---|
| 398 |  | 
|---|
| 399 | Tue Feb  8 19:26:22 2005   Pat Rankin  <rankin@pactechdata.com> | 
|---|
| 400 |  | 
|---|
| 401 | * regcomp.c (init_dfa): Avoid strcasecmp() since regex.c doesn't | 
|---|
| 402 | use awk.h and none of the assorted other included header files | 
|---|
| 403 | are guaranteed to declare it. | 
|---|
| 404 | (parse_expression): Modify casts for the string arguments passed to | 
|---|
| 405 | build_charclass_op() to fix char * vs unsigned char * mismatch. | 
|---|
| 406 | (parse_bracket_exp): Likewise add cast for the string argument | 
|---|
| 407 | passed to build_charclass(). | 
|---|
| 408 |  | 
|---|
| 409 | Mon Feb  7 15:04:09 2005   Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 410 |  | 
|---|
| 411 | * eval.c (make_scalar): Don't use P() macro in definition. | 
|---|
| 412 | Thanks to Juergen Kahrs <Juergen.Kahrs@barco.com>. | 
|---|
| 413 |  | 
|---|
| 414 | Wed Feb  2 16:36:19 2005   Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 415 |  | 
|---|
| 416 | * main.c (main):  Call `close_io', without its result affecting | 
|---|
| 417 | the exit status.  Super small, super dark corner. | 
|---|
| 418 |  | 
|---|
| 419 | See test/exitval2.awk. | 
|---|
| 420 |  | 
|---|
| 421 | Tue Feb  1 11:58:29 2005   Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 422 |  | 
|---|
| 423 | * regex.h (__APPLE_CC__): Removed test and definition of __restrict. | 
|---|
| 424 | Not needed for current MacOS X compiler. | 
|---|
| 425 |  | 
|---|
| 426 | Sun Jan 30 13:56:37 2005   Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 427 |  | 
|---|
| 428 | Fresh merge with CVS regex routines. Fixes handling of \B. | 
|---|
| 429 | See tests/gnureop3.awk and also | 
|---|
| 430 | http://sources.redhat.com/bugzilla/show_bug.cgi?id=693. | 
|---|
| 431 |  | 
|---|
| 432 | CVS base versions: | 
|---|
| 433 |  | 
|---|
| 434 | * regcomp.c: Version 1.92, Thu Jan 27 19:05:20 2005. | 
|---|
| 435 | * regexec.c: Version 1.77, Thu Jan 27 19:06:34 2005. | 
|---|
| 436 | * regex_internal.c: Version 1.49, Thu Jan 27 19:07:15 2005. | 
|---|
| 437 | * regex_internal.h: Version 1.60, Wed Jan 26 22:40:50 2005. | 
|---|
| 438 | * regexec.c: Version 1.77, Thu Jan 27 19:06:34 2005. | 
|---|
| 439 |  | 
|---|
| 440 | Sat Jan 22 22:30:40 2005   Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 441 |  | 
|---|
| 442 | Reinstate patch of 18 Nov 2001, for VMS, at least: | 
|---|
| 443 |  | 
|---|
| 444 | * random.c (srandomdev): ifdef-out.  Lots of compile time | 
|---|
| 445 | problems on multiple platforms, and gawk doesn't even | 
|---|
| 446 | use the routine.  The heck with fine-grained solutions. | 
|---|
| 447 |  | 
|---|
| 448 | Thu Jan 20 14:15:32 2005   Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 449 |  | 
|---|
| 450 | * awkgram.y (LEX_FOR): Free NAME tokens in transformation of | 
|---|
| 451 | `for (iggy in foo) delete foo[iggy]' into `delete foo'. | 
|---|
| 452 | Thanks and a tip of the hatlo to Valgrind. | 
|---|
| 453 |  | 
|---|
| 454 | * dfa.c (_): Clean up stuff here by just including "gettext.h". | 
|---|
| 455 | Per Bruno Haible. | 
|---|
| 456 |  | 
|---|
| 457 | Wed Jan 19 18:29:23 2005   Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 458 |  | 
|---|
| 459 | * awkgram.y (yylex): Improve parsing of numeric constants | 
|---|
| 460 | and hex values, via a push from Paul Eggert. See test/hex.awk. | 
|---|
| 461 |  | 
|---|
| 462 | * regex_internal.c (re_node_set_alloc): If `size' is 0, just | 
|---|
| 463 | zero out the structure. From valgrind. | 
|---|
| 464 |  | 
|---|
| 465 | Tue Jan 18 17:23:25 2005   Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 466 |  | 
|---|
| 467 | Make gawk multibyte aware.  This means that index(), length(), | 
|---|
| 468 | substr() and match() all work in terms of characters, not bytes. | 
|---|
| 469 |  | 
|---|
| 470 | * awk.h (NODE): Add `wsp' and `wslen' elements to value for wide | 
|---|
| 471 | string. | 
|---|
| 472 | (WSTRCUR, wstptr, wstlen, force_wstring): New macros. | 
|---|
| 473 | (str2wstr, wstrstr, wcasestrstr): New declarations. | 
|---|
| 474 | * builtin.c (do_index, do_length, do_substr, do_match): Handle wide | 
|---|
| 475 | strings. | 
|---|
| 476 | * eval.c (flags2str): Add WSTRCUR. | 
|---|
| 477 | * node.c (format_val, r_dupnode, mk_number, make_str_node, unref): | 
|---|
| 478 | Add code to deal with wide strings. | 
|---|
| 479 | (str2wstr, dump_wstr, wstrstr, wcasestrstr): New functions. | 
|---|
| 480 |  | 
|---|
| 481 | Sun Jan 16 15:10:35 2005   Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 482 |  | 
|---|
| 483 | * random.h (int32_t): Define this type. | 
|---|
| 484 |  | 
|---|
| 485 | Thu Jan 13 14:38:13 2005   Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 486 |  | 
|---|
| 487 | Cause `configure --disable-nls' to still allow locale-correct | 
|---|
| 488 | formating of numeric values. | 
|---|
| 489 |  | 
|---|
| 490 | * builtin.c (format_tree): Change #ifdefs to only test HAVE_LOCALE_H. | 
|---|
| 491 | Improve code for ' flag so that extraneous separator is not included if | 
|---|
| 492 | number of digits is multiple of locale separater count (3, 6, 9, etc.) | 
|---|
| 493 | * dfa.c (dfaparse): Change ifdef to only test #ifdef LC_COLLATE. | 
|---|
| 494 | * eval.c (fmt_ok): Remove ENABLE_NLS from #ifdef test. | 
|---|
| 495 | * gettext.h: Include <locale.h> on both sides of test. Should really | 
|---|
| 496 | be factored out. | 
|---|
| 497 | * main.c (loc): Remove ENABLE_NLS from #ifdef test. | 
|---|
| 498 | (main): Same in call to localeconv(). | 
|---|
| 499 | * node.c (isnondecimal): Remove ENABLE_NLS from #ifdef test. | 
|---|
| 500 |  | 
|---|
| 501 | Unrelated: | 
|---|
| 502 |  | 
|---|
| 503 | * regcomp.c (init_dfa): Change `codeset' to `codeset_name' in two | 
|---|
| 504 | places. | 
|---|
| 505 |  | 
|---|
| 506 | Mon Jan 10 11:49:56 2005   Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 507 |  | 
|---|
| 508 | Annual sync with glibc. | 
|---|
| 509 |  | 
|---|
| 510 | * getopt_int.h: New file. | 
|---|
| 511 | * Makefile.am (base_sources): Add it. | 
|---|
| 512 | * getopt.h, getopt.c, getopt1.c: Updated. | 
|---|
| 513 | * regcomp.c, regex.c, regex.h, regex_internal.c, regex_internal.h, | 
|---|
| 514 | regexec.c: Updated. | 
|---|
| 515 |  | 
|---|
| 516 | Original versions: | 
|---|
| 517 |  | 
|---|
| 518 | getopt_int.h, 1.1, Tue Mar 9 10:31:19 2004 | 
|---|
| 519 | getopt1.c, 1.10, Tue Mar 9 10:35:37 2004 | 
|---|
| 520 | getopt.h, 1.21, Fri Mar 19 00:19:32 2004 | 
|---|
| 521 | getopt.c, 1.53, Wed Mar 10 23:13:26 2004 | 
|---|
| 522 | regcomp.c, 1.87, Mon Dec 6 02:56:42 2004 | 
|---|
| 523 | regex.c, 1.126, Fri Jan 30 05:19:58 2004 | 
|---|
| 524 | regex.h, 1.33, Thu Nov 18 23:50:57 2004 | 
|---|
| 525 | regex_internal.c, 1.46, Thu Jan 6 20:59:49 2005 | 
|---|
| 526 | regex_internal.h, 1.57, Mon Dec 27 16:29:05 2004 | 
|---|
| 527 | regexec.c, 1.75, Mon Dec 27 16:29:52 2004 | 
|---|
| 528 |  | 
|---|
| 529 | * regex.h: Add check for __APPLE_CC__ and definition of __restrict. | 
|---|
| 530 | * regex.c: Add check for _MSC_VER and include <stdio.h>. | 
|---|
| 531 | * regex_internal.h (_RE_ENABLE_I18N): Change test. | 
|---|
| 532 | (re_realloc): Add check/fix for SunOS 4.1.x. | 
|---|
| 533 | * regex_internal.c (build_wcs_upper_buffer): ifdef label | 
|---|
| 534 | `offsets_needed', add cast in call to `wcrtomb'. | 
|---|
| 535 | * regcomp.c (build_charclass, build_charclass_op): Remove `unsigned' | 
|---|
| 536 | from declarations of `char *' params. | 
|---|
| 537 | (regerror): Remove use of mempcpy. | 
|---|
| 538 | (peek_token): Disallow \s and \S for gawk. | 
|---|
| 539 | (build_charclass): Change decl of `class_name' and use it directly. | 
|---|
| 540 | Nuke variable `name'. | 
|---|
| 541 | (build_charclass_op): Change decl of `class_name' and `extra'. | 
|---|
| 542 |  | 
|---|
| 543 | Thu Jan  6 16:44:32 2005   Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 544 |  | 
|---|
| 545 | Improve autoconfiscation stuff for wide character use. | 
|---|
| 546 |  | 
|---|
| 547 | * builtin.c (do_tolower, do_toupper): Conditionally compile | 
|---|
| 548 | call to `wide_tolower_toupper'. | 
|---|
| 549 | (wide_tolower_toupper): Conditionally compile typedefs and function. | 
|---|
| 550 | * mbsupport.h: Add check for having `wint_t', and `iswlower', | 
|---|
| 551 | `iswupper', `towlower' and `towupper'. | 
|---|
| 552 | * configure.ac (HAVE_WINT_T): Add test. | 
|---|
| 553 | (AC_CHECK_FUNCS): Add `wint_t', `iswlower', `iswupper', `towlower' | 
|---|
| 554 | and `towupper'. | 
|---|
| 555 |  | 
|---|
| 556 | Unrelated change: | 
|---|
| 557 |  | 
|---|
| 558 | * hard-locale.h (hard_locale): Add decl of `xmalloc' to prevent | 
|---|
| 559 | redeclaration problems on some compilers. | 
|---|
| 560 |  | 
|---|
| 561 | Wed Jan  5 10:20:17 2005   Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 562 |  | 
|---|
| 563 | Update to Bison 2.0. | 
|---|
| 564 |  | 
|---|
| 565 | * bisonfix.sed: Removed, no longer needed. | 
|---|
| 566 | * Makefile.am (EXTRA_DIST): Removed bisonfix.sed. | 
|---|
| 567 | (awkgram.c): Fix build rule. | 
|---|
| 568 | * awkgram.c: Regenerated. | 
|---|
| 569 |  | 
|---|
| 570 | Tue Jan  4 18:47:56 2005   Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 571 |  | 
|---|
| 572 | Update to Automake 1.9.4. | 
|---|
| 573 |  | 
|---|
| 574 | * alocal.m4, config.guess, config.sub, install-sh: Updated. | 
|---|
| 575 |  | 
|---|
| 576 | Mon Jan  3 14:08:27 2005   Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 577 |  | 
|---|
| 578 | Update to Automake 1.9.3. | 
|---|
| 579 |  | 
|---|
| 580 | * INSTALL, alocal.m4, config.guess, config.sub, depcomp, | 
|---|
| 581 | install-sh, missing, ylwrap: Updated. | 
|---|
| 582 |  | 
|---|
| 583 | Mon Jan  3 11:23:36 2005   Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 584 |  | 
|---|
| 585 | Fix obscure issue. ^ in RS should only match at the very | 
|---|
| 586 | beginning of the input.  Essentially, the file is one long | 
|---|
| 587 | string.  To do this, use the `not_bol' flag in the `struct | 
|---|
| 588 | pattern_buffer'.  Thanks to Stepan Kasal for pointing out the | 
|---|
| 589 | problem and to Andreas Schwab for pointing out the mechanism | 
|---|
| 590 | for a solution. | 
|---|
| 591 |  | 
|---|
| 592 | * awk.h (RE_NEED_START, RE_NO_BOL): New flags for `research'. | 
|---|
| 593 | (IOP_AT_START): New flag for IOBUF. | 
|---|
| 594 | (research): Last parameter is now `flags'. | 
|---|
| 595 | * builtin.c (do_match, sub_common): Change calls to `research'. | 
|---|
| 596 | * eval.c (interpret, match_op): Same. | 
|---|
| 597 | * field.c (re_parse_field): Same. | 
|---|
| 598 | * io.c (spec_setup): Add IOP_AT_START flag. | 
|---|
| 599 | (iop_alloc): Same. | 
|---|
| 600 | (rsrescan): Modify logic to check IOP_AT_START and if not on to | 
|---|
| 601 | add RE_NO_BOL to flags value in call to `research'. | 
|---|
| 602 | (get_a_record): Clear IOP_AT_START upon return from `*matchrec'. | 
|---|
| 603 | (iopflags2str): Add IOP_AT_START to table.  Also IOP_CLOSED, | 
|---|
| 604 | which was missing. (Ooops.) | 
|---|
| 605 | * re.c (research): Last paramater is now flags.  Modify logic to | 
|---|
| 606 | handle RE_NO_BOL case by setting the right bit initially. Clean | 
|---|
| 607 | up control flow so that it's cleared before returning.  If RE_NO_BOL, | 
|---|
| 608 | don't bother with the dfa matcher, as it doesn't have an analogous | 
|---|
| 609 | capability. | 
|---|
| 610 |  | 
|---|
| 611 | Wed Dec 22 12:33:48 2004   Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 612 |  | 
|---|
| 613 | For --exec, don't allow x=y assignments where filenames would be. | 
|---|
| 614 | Do allow -v.  This is because we assume --exec is used mainly for | 
|---|
| 615 | CGI stuff and we don't want var assigns to affect the code. | 
|---|
| 616 |  | 
|---|
| 617 | Suggested by Stepan Kasal; motivated by reading about web security. | 
|---|
| 618 |  | 
|---|
| 619 | * main.c (disallow_var_assigns): New variable. | 
|---|
| 620 | (main): Set the var for --exec. | 
|---|
| 621 | (arg_assign): Check it appropriately. | 
|---|
| 622 |  | 
|---|
| 623 | Sun Dec 19 17:27:09 2004   Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 624 |  | 
|---|
| 625 | * builtin.c (do_gensub): Make `global' flag smarter, such that | 
|---|
| 626 | a string numeric constant (e.g., "3") acts like a numeric | 
|---|
| 627 | constant. | 
|---|
| 628 | * node.c (r_force_number): Not really related: Only set NUMCUR | 
|---|
| 629 | if we actually convert some digits. | 
|---|
| 630 |  | 
|---|
| 631 | Sun Dec 19 16:08:50 2004   Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 632 |  | 
|---|
| 633 | * dfa.h, dfa.c: Synchronize with what's happening in GNU grep | 
|---|
| 634 | development.  Effectively only minor whitespace changes and some | 
|---|
| 635 | slight code motion of ifdefs and includes. | 
|---|
| 636 | * hard-locale.h: New file, extracted from old dfa.c. | 
|---|
| 637 | * Makefile.am (base_sources): Add hard-locale.h. | 
|---|
| 638 |  | 
|---|
| 639 | Sun Dec 19 11:13:45 2004   Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 640 |  | 
|---|
| 641 | * io.c (socketopen): Change type of `readle' and `namelen' | 
|---|
| 642 | variables to size_t.  For QNX, but a good idea anyway. Thanks | 
|---|
| 643 | to `Anthony' (rz1a@mail.ru). | 
|---|
| 644 |  | 
|---|
| 645 | Mon Dec  6 11:11:22 2004   Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 646 |  | 
|---|
| 647 | Undid change of Mar 9 2004, to add gofast patch.  It gets things | 
|---|
| 648 | wrong for gawk.  This removes the bandaid of ifdef-ing out the | 
|---|
| 649 | main check.  Eventually this'll all get straightened out in the | 
|---|
| 650 | GNU grep code. | 
|---|
| 651 |  | 
|---|
| 652 | * dfa.c (buf_offset): Removed. | 
|---|
| 653 | (SKIP_REMAINS_MB_IF_INITIAL_STATE): Removed use of buf_offset, do | 
|---|
| 654 | free `mblen_buf', `inputwcs'. | 
|---|
| 655 | (match_anychar, match_mb_charset, transit_state_consume_1char, | 
|---|
| 656 | transit_state): Remove use of buf_offset in mblen_buf. | 
|---|
| 657 | (dfaexec): Use `free' and `malloc', not `realloc'. | 
|---|
| 658 |  | 
|---|
| 659 | Mon Dec  6 10:55:37 2004   Fumitoshi UKAI       <ukai@debian.or.jp> | 
|---|
| 660 |  | 
|---|
| 661 | Forwarded from james@nocrew.org, the Debian contact. | 
|---|
| 662 |  | 
|---|
| 663 | * dfa.c (parse_bracket_exp_mb): | 
|---|
| 664 | 1. Build range correctly when IGNORECASE for [a-a] to also get 'A'. | 
|---|
| 665 | 2. For [:lower:] and [:upper:], if ignoring case, set type string | 
|---|
| 666 | to "alpha".  This parallels code in the regex routines. | 
|---|
| 667 | 3. Reset wc1 to EOF when parsing bracket expressions. | 
|---|
| 668 |  | 
|---|
| 669 | Mon Nov 29 18:36:25 2004   Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 670 |  | 
|---|
| 671 | * io.c (redirect): When allocating a new struct redirect, set | 
|---|
| 672 | rp->pid to -1, not 0, so that code checking for EOF on an | 
|---|
| 673 | input pipe works correctly. | 
|---|
| 674 |  | 
|---|
| 675 | Thu Nov 25 14:22:41 2004  Stepan Kasal  <kasal@ucw.cz> | 
|---|
| 676 |  | 
|---|
| 677 | * Makefile.am (MAINTAINERCLEANFILES): Add. | 
|---|
| 678 | * version.in (version_string): Use PACKAGE_STRING. | 
|---|
| 679 |  | 
|---|
| 680 | Tue Nov 23 17:27:38 2004  Stepan Kasal  <kasal@ucw.cz> | 
|---|
| 681 |  | 
|---|
| 682 | * re.c: Fix a typo in a comment. | 
|---|
| 683 |  | 
|---|
| 684 | Mon Nov 22 16:47:00 2004   Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 685 |  | 
|---|
| 686 | * awkgram.y (yylex): Add lint check for tawk style modifiers on | 
|---|
| 687 | regexes, /.../i and /.../s.  Not that it'll help anyone. | 
|---|
| 688 |  | 
|---|
| 689 | Wed Oct 27 14:25:18 2004  Stepan Kasal  <kasal@ucw.cz> | 
|---|
| 690 |  | 
|---|
| 691 | * builtin.c (do_tolower, do_toupper): Fix the wide char handling, | 
|---|
| 692 | especially when the lowercased char doesn't ocuppy the same | 
|---|
| 693 | number of bytes as its uppercase equivalent.  Make use of ... | 
|---|
| 694 | (wide_tolower_toupper): ... this new static function. | 
|---|
| 695 |  | 
|---|
| 696 | Mon Oct 25 11:51:14 2004   Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 697 |  | 
|---|
| 698 | * builtin.c (bchunk, bchunk_one, cksize): Change type of `olen' | 
|---|
| 699 | to size_t from long.  It is the 21st century now, after all... | 
|---|
| 700 | Thanks to Stepan Kasal. | 
|---|
| 701 |  | 
|---|
| 702 | Mon Oct 11 10:49:09 2004   Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 703 |  | 
|---|
| 704 | * awkgram.y (yylex): Improve lint warnings for non-decimal constants. | 
|---|
| 705 | * node.c (isnondecimal): Made a little smarter, thanks to Stepan Kasal. | 
|---|
| 706 |  | 
|---|
| 707 | Thu Oct  7 21:59:38 2004   Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 708 |  | 
|---|
| 709 | * dfa.c (dfamust): Redo fix of 22 Sep to match code from | 
|---|
| 710 | current GNU grep. | 
|---|
| 711 |  | 
|---|
| 712 | Sun Oct  3 23:06:00 2004   Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 713 |  | 
|---|
| 714 | * node.c (isnondecimal): Made smarter, so that 0xEE does | 
|---|
| 715 | register as non-decimal. Added parameter to indicate use of | 
|---|
| 716 | locale's decimal point and changed declaration and callers. | 
|---|
| 717 |  | 
|---|
| 718 | Tue Sep 28 18:38:17 2004   Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 719 |  | 
|---|
| 720 | * node.c (isnondecimal): New function, now smarter. | 
|---|
| 721 | * awk.h (isnondecimal): Changed from macro to function. | 
|---|
| 722 |  | 
|---|
| 723 | Wed Sep 22 11:24:46 2004   Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 724 |  | 
|---|
| 725 | * dfa.c (dfamust): At end, check results of `malloc'. | 
|---|
| 726 | Based on bug report from Sorav Bansal <sbansal@stanford.edu> | 
|---|
| 727 | for grep. | 
|---|
| 728 |  | 
|---|
| 729 | Mon Sep 20 13:18:18 2004   Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 730 |  | 
|---|
| 731 | New --exec option.  Needed for gawk CGI scripts to prevent | 
|---|
| 732 | arbitrary options and/or source getting passed in from the web. | 
|---|
| 733 |  | 
|---|
| 734 | * main.c (optab): New long option, --exec. | 
|---|
| 735 | (main): Catch it.  Like -f but end option processing. | 
|---|
| 736 | (usage): Add it to the usage message. | 
|---|
| 737 |  | 
|---|
| 738 | Thanks to John DuBois and Don Stokes for their input. | 
|---|
| 739 |  | 
|---|
| 740 | Unrelated: | 
|---|
| 741 |  | 
|---|
| 742 | * dfa.c (dfaexec): Disabled caching into buffer that bypasses | 
|---|
| 743 | multibyte initialization, since it can get things wrong. Thanks | 
|---|
| 744 | to Andreas Schwab <schwab@suse.de>. | 
|---|
| 745 |  | 
|---|
| 746 | Mon Sep 20 12:59:42 2004   Andreas Schwab  <schwab@suse.de> | 
|---|
| 747 |  | 
|---|
| 748 | * awkgram.y (nextc): Check for end of lexer buffer before | 
|---|
| 749 | advancing ring buffer index. | 
|---|
| 750 |  | 
|---|
| 751 | Wed Sep  8 09:54:53 2004   Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 752 |  | 
|---|
| 753 | * main.c (main): Force LC_NUMERIC locale to "C" before parsing | 
|---|
| 754 | the program, since a variable assignment with -v can leave the | 
|---|
| 755 | locale set incorrectly. | 
|---|
| 756 |  | 
|---|
| 757 | Thanks to Sirix <sirix@poczta.onet.pl> for reporting the problem. | 
|---|
| 758 |  | 
|---|
| 759 | Wed Aug 25 18:55:30 2004   Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 760 |  | 
|---|
| 761 | * main.c (UPDATE_YEAR): New constant at top of file, where we | 
|---|
| 762 | won't miss it. | 
|---|
| 763 | (copyleft): Use it. | 
|---|
| 764 |  | 
|---|
| 765 | Sun Aug 22 17:26:39 2004   Stepan Kasal  <kasal@ucw.cz> | 
|---|
| 766 |  | 
|---|
| 767 | Define gawk_mb_cur_max even if there is no mbs support, as | 
|---|
| 768 | ``const int'' and assign 1 to it. | 
|---|
| 769 | This fixes a bug in re.c where #ifdef MBS_SUPPORT was missing. | 
|---|
| 770 |  | 
|---|
| 771 | * awk.h (gawk_mb_cur_max): Declare. | 
|---|
| 772 | * main.c (gawk_mb_cur_max): Define. | 
|---|
| 773 | * awkgram.y (nextc_is_1stbyte): Without mbs support, define to 1. | 
|---|
| 774 | * builtin.c (index_multibyte_buffer): Define a dummy function | 
|---|
| 775 | when there is no mbs support. | 
|---|
| 776 | * awkgram.y, builtin.c, re.c: Remove some `#ifdef MBS_SUPPORT'. | 
|---|
| 777 |  | 
|---|
| 778 | Sun Aug 15 22:08:04 2004   Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 779 |  | 
|---|
| 780 | Import current FreeBSD random.c.  Make it work for gawk. | 
|---|
| 781 | Needed for cases where long is more than 32 bits. | 
|---|
| 782 |  | 
|---|
| 783 | * random.c: Imported from FreeBSD. Header includes tweaked. | 
|---|
| 784 | * random.h: Typdef gawk_uint32_t appropriately and #define uint32_t | 
|---|
| 785 | to it. | 
|---|
| 786 | * configure.ac: Add calls to AC_CHECK_SIZEOF for unsigned int | 
|---|
| 787 | and unsigned long. | 
|---|
| 788 |  | 
|---|
| 789 | Started with | 
|---|
| 790 | http://www.freebsd.org/cgi/cvsweb.cgi/src/lib/libc/stdlib/random.c | 
|---|
| 791 | Thanks to Andreas Schwab <schwab@suse.de> for the pointer. | 
|---|
| 792 |  | 
|---|
| 793 | Thu Aug 12 13:09:53 2004   Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 794 |  | 
|---|
| 795 | * main.c (copyleft): Fix copyright year. | 
|---|
| 796 |  | 
|---|
| 797 | Mon Aug  2 12:18:15 2004   Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 798 |  | 
|---|
| 799 | * Release 3.1.4: Release tar file made. | 
|---|
| 800 |  | 
|---|
| 801 | Mon Aug  2 12:17:40 2004   Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 802 |  | 
|---|
| 803 | * configure.ac: Fix the hack. Do the sed on `Makefile', | 
|---|
| 804 | not `Makefile.in'.  Sigh. | 
|---|
| 805 |  | 
|---|
| 806 | Sun Aug  1 14:48:30 2004   Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 807 |  | 
|---|
| 808 | * configure.ac: MAJOR HACK: At end, remove version.c from Makefile.in | 
|---|
| 809 | variable `CONFIG_CLEAN_FILES' so that `make distclean' doesn't | 
|---|
| 810 | remove version.c. | 
|---|
| 811 |  | 
|---|
| 812 | Mon Jul 19 17:07:27 2004   Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 813 |  | 
|---|
| 814 | * config.guess, config.sub: Updated from Savannah CVS. | 
|---|
| 815 |  | 
|---|
| 816 | Fri Jul 16 10:59:07 2004   Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 817 |  | 
|---|
| 818 | * re.c (make_regexp): Bracket code using `gawk_mb_cur_max' | 
|---|
| 819 | inside `#ifdef MBS_SUPPORT'. | 
|---|
| 820 |  | 
|---|
| 821 | Thu Jul 15 12:36:25 2004   Arnold D. Robbins    <arnold@skeeve.com> | 
|---|
| 822 |  | 
|---|
| 823 | * dfa.c (parse_bracket_exp_mb):  If doing case folding, | 
|---|
| 824 | include the other case for regular characters inside [...]. | 
|---|
| 825 |  | 
|---|
| 826 | * re.c (make_regexp): Smarten up handling of IGNORECASE, | 
|---|
| 827 | particularly for multibyte character sets. Sigh. | 
|---|
| 828 |  | 
|---|
| 829 | Wed Jul 14 16:25:23 2004  John Haque  <mary1john8@earthlink.net> | 
|---|
| 830 |  | 
|---|
| 831 | * eval.c (interpret): For `Node_K_return', use `copynode' | 
|---|
| 832 | and not `dupnode' for non-PERM, non-TEMP values. | 
|---|
| 833 | (func_call): Don't add TEMP flag to returned value. | 
|---|
| 834 |  | 
|---|
| 835 | These two fix a problem uncovered by the July 8 change in | 
|---|
| 836 | `assoc_lookup'. | 
|---|
| 837 |  | 
|---|
| 838 | Wed Jul 14 16:14:09 2004  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 839 |  | 
|---|
| 840 | * awkgram.y (node_common): Add check `lexeme >= lexptr_begin', | 
|---|
| 841 | from valgrind run. | 
|---|
| 842 |  | 
|---|
| 843 | Wed Jul 14 16:00:51 2004  John Haque  <mary1john8@earthlink.net> | 
|---|
| 844 |  | 
|---|
| 845 | * io.c (rsrescan): Fix off by one error at end of record. | 
|---|
| 846 |  | 
|---|
| 847 | Thu Jul  8 16:59:51 2004  Stepan Kasal  <kasal@ucw.cz> | 
|---|
| 848 |  | 
|---|
| 849 | * awkgram.y (output_redir): Make sure not to dereference NULL | 
|---|
| 850 | pointer.  The bug was triggered by the following code: | 
|---|
| 851 |  | 
|---|
| 852 | gawk 'BEGIN{print "date" |& getline}' | 
|---|
| 853 |  | 
|---|
| 854 | No test case created, beacuse of the following: | 
|---|
| 855 | Correct interpretation involves executing "1" or "0" -- as the user | 
|---|
| 856 | may have defined this, we would have to override this in the test | 
|---|
| 857 | script.  It's not worth the hassle. | 
|---|
| 858 |  | 
|---|
| 859 | Thu Jul  8 12:59:49 2004  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 860 |  | 
|---|
| 861 | * awk.h (load_casetable): Name changed from `load_ignorecase'. | 
|---|
| 862 | * eval.c (load_casetable): Name changed from `load_ignorecase'. | 
|---|
| 863 | Fix all uses. | 
|---|
| 864 |  | 
|---|
| 865 | Thu Jul  8 12:32:13 2004  John Haque  <mary1john8@earthlink.net> | 
|---|
| 866 |  | 
|---|
| 867 | * awkgram.y (get_src_buf): Fix off-by-one error to avoid "does not end | 
|---|
| 868 | in newline" messages. | 
|---|
| 869 | * array.c (assoc_lookup): Small performance hack: for TEMP subs nodes, | 
|---|
| 870 | use its string memory for ahname. | 
|---|
| 871 | * ext.c (get_actual_argument): Minor code cleanup. | 
|---|
| 872 | * builtin.c (do_lshift, do_rshift, do_and, do_or, do_xor, do_compl): | 
|---|
| 873 | fixed to issue "non-numeric argument" lint warnings before using | 
|---|
| 874 | `force_number'. | 
|---|
| 875 |  | 
|---|
| 876 | Mon Jun 21 16:53:35 2004  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 877 |  | 
|---|
| 878 | More changes from John Haque to rationalize extension functions. | 
|---|
| 879 |  | 
|---|
| 880 | * awk.h (get_curfunc_arg_count): Name changed from | 
|---|
| 881 | `get_curfunc_parm_count'. | 
|---|
| 882 | * eval.c (get_curfunc_arg_count): Ditto, body redone to count actual | 
|---|
| 883 | args passed at call time. | 
|---|
| 884 | * ext.c (get_argument): Update range check. | 
|---|
| 885 | (get_actual_argument): Simplify the code. | 
|---|
| 886 |  | 
|---|
| 887 | Mon Jun 14 14:01:16 2004  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 888 |  | 
|---|
| 889 | Changes from John Haque and ADR to rationalize extension functions. | 
|---|
| 890 |  | 
|---|
| 891 | * awk.h (check_special, get_curfunc_parm_count, get_actual_argument): | 
|---|
| 892 | new function declarations. | 
|---|
| 893 | (get_scalar_argument, get_array_argument): new macros. | 
|---|
| 894 | * awkgram.y (check_special): new function. | 
|---|
| 895 | (yylex): Use `check_special' to search `tokentab'. | 
|---|
| 896 | (dump_funcs): Always count functions, in order to get dynamic ones. | 
|---|
| 897 | Removed bogus use of `static' on `tab' variable. | 
|---|
| 898 | * eval.c (struct fcall): Change type of `count' to `size_t'. | 
|---|
| 899 | (get_curfunc_parm_count): New function. | 
|---|
| 900 | (push_args): Set `r->rnode' to NULL for local variable. | 
|---|
| 901 | * ext.c (make_builtin): Add sanity checking for presence and | 
|---|
| 902 | name of new function, and that it's not a redefinition. | 
|---|
| 903 | (get_argument): Check that requested arg is within range of actual | 
|---|
| 904 | number of parameters.  Also clean up logic for Node_var_new, | 
|---|
| 905 | Node_var_array, Node_array_ref. | 
|---|
| 906 | (get_actual_argument): New function. | 
|---|
| 907 | * profile.c (pp_builtin): Better handling of dynamic extension function. | 
|---|
| 908 |  | 
|---|
| 909 | Sun Jun 13 14:32:22 2004  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 910 |  | 
|---|
| 911 | * io.c (redirect): Conditionalize checking for process recovery | 
|---|
| 912 | on `#ifdef PIPES_SIMULATED'.  Needed for MS-DOS and VMS. | 
|---|
| 913 | * builtin.c (tmp_integer): Change bracketing of magic test to | 
|---|
| 914 | `#ifdef HAVE_UINTMAX_T' which is more general and more correct. | 
|---|
| 915 |  | 
|---|
| 916 | Wed Jun  9 21:36:01 2004  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 917 |  | 
|---|
| 918 | * re.c (make_regexp): Add dfa matching into IGNORECASE handling. | 
|---|
| 919 |  | 
|---|
| 920 | Tue Jun  8 15:38:56 2004  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 921 |  | 
|---|
| 922 | * awk.h (casetable): Remove `const'. | 
|---|
| 923 | * eval.c (casetable): Remove `const'. | 
|---|
| 924 | (load_ignorecase): New function.  Loads locale-correct values in | 
|---|
| 925 | upper 128 bytes. | 
|---|
| 926 | (set_IGNORECASE): Call `load_ignorecase'. | 
|---|
| 927 |  | 
|---|
| 928 | Tue Jun  8 14:04:19 2004  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 929 |  | 
|---|
| 930 | * awkgram.y (get_src_buf): Make sure that value from | 
|---|
| 931 | `optimal_bufsize' is reasonable.  Increase it if not. | 
|---|
| 932 |  | 
|---|
| 933 | Tue Jun  8 13:54:28 2004  John E. Haque      <mary1john8@earthlink.net> | 
|---|
| 934 |  | 
|---|
| 935 | * awkgram.y (statement:LEX_FOR): Fix bug in loop to `delete a' | 
|---|
| 936 | optimization. | 
|---|
| 937 | * io.c (format_tree): Check for out of range values for | 
|---|
| 938 | positional specifiers. | 
|---|
| 939 |  | 
|---|
| 940 | Mon Jun  7 17:02:48 2004  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 941 |  | 
|---|
| 942 | * builtin.c (tmp_integer): Bracket the magic test inside | 
|---|
| 943 | `#ifndef VMS'. | 
|---|
| 944 |  | 
|---|
| 945 | * awk.h (child_catcher): Remove declaration. | 
|---|
| 946 | * main.c (main): Remove `signal' calls for SIGCLD, SIGCHLD. | 
|---|
| 947 | * io.c (child_died, child_signo, child_catcher): Removed. | 
|---|
| 948 | (get_a_record): Remove code checking for death of child. | 
|---|
| 949 | (redirect): If `rp' matches and is at EOF and type is input | 
|---|
| 950 | pipe, and `rp->pid' is not -1, call `wait_any' to reap the | 
|---|
| 951 | child.  This is a heuristic, but it works pretty well. | 
|---|
| 952 |  | 
|---|
| 953 | Sun Jun  6 18:35:17 2004  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 954 |  | 
|---|
| 955 | * io.c (get_a_record): Restore use of `memmove' instead of | 
|---|
| 956 | memcpy. Otherwise some tests break on some systems. We think. | 
|---|
| 957 | (child_died): Don't reset signal handler; breaks on some S5 systems. | 
|---|
| 958 | (get_a_record): Reset handler if child_died. Still flaky on Solaris. | 
|---|
| 959 | * configure.ac (version.c): Made from version.in again, for | 
|---|
| 960 | non-Unix systems. | 
|---|
| 961 | * Makefile.am (base_sources): Add version.c back. | 
|---|
| 962 | * version.in: Include config.h for definition of const. | 
|---|
| 963 | * main.c (version_string): Add back declaration, don't | 
|---|
| 964 | include "version.i". | 
|---|
| 965 | (main): Don't install child_catcher on Sun. (HACK) | 
|---|
| 966 |  | 
|---|
| 967 | Thu Jun  3 14:06:06 2004  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 968 |  | 
|---|
| 969 | * main.c (version_string): Removed declaration, since | 
|---|
| 970 | version.i is included directly. | 
|---|
| 971 | * version.in: Removed test for definition of const. | 
|---|
| 972 |  | 
|---|
| 973 | Tue Jun  1 19:23:53 2004  Stepan Kasal  <kasal@ucw.cz> | 
|---|
| 974 |  | 
|---|
| 975 | * Makefile.am (base_sources): Don't mention version.c, so that | 
|---|
| 976 | it doesn't get distributed. | 
|---|
| 977 | * po/POTFILES.in: remove version.c | 
|---|
| 978 | * configure.ac: Create version.i from version.in. | 
|---|
| 979 | * main.c: include version.i. | 
|---|
| 980 |  | 
|---|
| 981 | Tue Jun  1 18:33:32 2004  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 982 |  | 
|---|
| 983 | Fix problem reported by Stephen Marchant <Stephen.Marchant@Cognex.com> | 
|---|
| 984 | on Thu, 30 Oct 2003 13:11:42 -0500. | 
|---|
| 985 |  | 
|---|
| 986 | * regex_internal.h (re_realloc): Allow for SunOS pre-Standard C | 
|---|
| 987 | `realloc' which doesn't accept NULL pointers. | 
|---|
| 988 | * awk.h (erealloc): Same. | 
|---|
| 989 |  | 
|---|
| 990 | Unrelated. Change suggested by Peter Sobisch <petersob@gmx.net>, have | 
|---|
| 991 | PROCINFO["version"] be the version of gawk: | 
|---|
| 992 |  | 
|---|
| 993 | * main.c (load_procinfo): Add in version. | 
|---|
| 994 |  | 
|---|
| 995 | Unrelated: Avoid warning: | 
|---|
| 996 |  | 
|---|
| 997 | * main.c (main): Cast calls to `bindtextdomain' and `textdomain' to | 
|---|
| 998 | void.  Avoids diagnostic with `configure --disable-nls'. | 
|---|
| 999 | * dfa.c (check_matching_with_multibyte_ops): Remove unneeded nested | 
|---|
| 1000 | #ifdef, per Scott Deifik (scottd@amgen.com).  Also fix some spelling | 
|---|
| 1001 | errors in comments. | 
|---|
| 1002 |  | 
|---|
| 1003 | Tue Jun  1 18:26:45 2004  Paul Eggert  <eggert@twinsun.com> | 
|---|
| 1004 |  | 
|---|
| 1005 | Fix a bug reported by Mike Romaniw <msr@micromonumental.com> | 
|---|
| 1006 | to bug-gnu-utils on 2003-09-27: compl(compl(0xf0f)) returned 0xfff | 
|---|
| 1007 | on hosts with 64-bit uintmax_t and 64-bit IEEE-764 double, due to | 
|---|
| 1008 | rounding errors. | 
|---|
| 1009 |  | 
|---|
| 1010 | * doc/gawk.texi (Bitwise Functions): Leading nonzero bits are | 
|---|
| 1011 | removed in order to fit the result into a C 'double' without rounding | 
|---|
| 1012 | error. | 
|---|
| 1013 | * builtin.c: Include <float.h> if available. | 
|---|
| 1014 | (FLT_RADIX, FLT_MANT_DIG, DBL_MANT_DIG): Define if not already defined. | 
|---|
| 1015 | (AWKSMALL_MANT_DIG, AWKNUM_MANT_DIG, AWKNUM_FRACTION_BITS): New macros. | 
|---|
| 1016 | (tmp_integer): New function. | 
|---|
| 1017 | (do_lshift, do_rshift, do_and, do_or, do_xor, do_compl): Use them. | 
|---|
| 1018 |  | 
|---|
| 1019 | Tue Jun  1 17:40:47 2004  Stepan Kasal  <kasal@ucw.cz> | 
|---|
| 1020 |  | 
|---|
| 1021 | * eval.c (push_args): Set var_value to Nnull_string for | 
|---|
| 1022 | local variables. | 
|---|
| 1023 |  | 
|---|
| 1024 | Mon May 31 11:49:20 2004  Stepan Kasal  <kasal@ucw.cz> | 
|---|
| 1025 |  | 
|---|
| 1026 | * replace.c: #undef DEBUG before including mktime.c, it has | 
|---|
| 1027 | different meaning there. | 
|---|
| 1028 |  | 
|---|
| 1029 | Mon May 31 08:25:30 2004  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1030 |  | 
|---|
| 1031 | * array.c (get_actual): Add extra error message for `delete f' | 
|---|
| 1032 | inside body of function `f'. | 
|---|
| 1033 |  | 
|---|
| 1034 | Mon May  3 09:53:34 2004  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1035 |  | 
|---|
| 1036 | * Makefile.in, */Makefile.in: Updated to automake 1.8.4. | 
|---|
| 1037 | * config.guess, config.sub: Same. | 
|---|
| 1038 | * aclocal.m4, depcomp, install-sh: Same. | 
|---|
| 1039 |  | 
|---|
| 1040 | Mon May  3 09:24:45 2004  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1041 |  | 
|---|
| 1042 | * configure.ac: Look for missing `strtoul'. | 
|---|
| 1043 | * replace.c: Include missing_d/stroul.c if not HAVE_STRTOUL. | 
|---|
| 1044 | * io.c (devopen): Use `strtoul' instead of `strtod' for | 
|---|
| 1045 | extracting fd number from "/dev/fd/N".  (Thanks to Jim Meyering.) | 
|---|
| 1046 | * field.c (set_FIELDWIDTHS): Use `strtoul' instead of `strtod' | 
|---|
| 1047 | when parsing FIELDWIDTHS values.  (Thanks to Jim Meyering.) | 
|---|
| 1048 |  | 
|---|
| 1049 | Mon Apr 19 20:12:57 2004  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1050 |  | 
|---|
| 1051 | * Makefile.in, */Makefile.in: Updated to automake 1.8.3. | 
|---|
| 1052 | * config.guess, config.sub: Same. | 
|---|
| 1053 |  | 
|---|
| 1054 | 2004-03-18  Stepan Kasal  <kasal@ucw.cz> | 
|---|
| 1055 |  | 
|---|
| 1056 | * eval.c (make_scalar): Comment clarification. | 
|---|
| 1057 |  | 
|---|
| 1058 | * array.c (get_actual): Remove the condition ``canfatal'' | 
|---|
| 1059 | before ``cant_happen()''; if the data are consistent, we | 
|---|
| 1060 | simply cannot get there with a non-func Node_param_list, | 
|---|
| 1061 | no matter whether we are called via get_array or not. | 
|---|
| 1062 |  | 
|---|
| 1063 | * awkgram.y (variable): Make one longer message, to help translators. | 
|---|
| 1064 |  | 
|---|
| 1065 | Tue Mar  9 17:34:10 2004  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1066 |  | 
|---|
| 1067 | Adapted `gofast' patch from Redhat Enterprise version of grep | 
|---|
| 1068 | to current dfa.c. | 
|---|
| 1069 |  | 
|---|
| 1070 | * dfa.c (buf_offset): New variable. | 
|---|
| 1071 | (SKIP_REMAINS_MB_IF_INITIAL_STATE): Modified to use it, don't | 
|---|
| 1072 | free `mblen_buf', `inputwcs'. | 
|---|
| 1073 | (match_anychar, match_mb_charset, transit_state_consume_1char, | 
|---|
| 1074 | transit_state): Use buf_offset in mblen_buf. | 
|---|
| 1075 | (dfaexec): Realloc things instead of free and malloc. | 
|---|
| 1076 |  | 
|---|
| 1077 | Thu Mar  4 16:46:55 2004  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1078 |  | 
|---|
| 1079 | * configure.ac (AC_FUNC_MBRTOWC): Added. | 
|---|
| 1080 | (AC_CHECK_FUNCS): Removed `mbrtwoc'. | 
|---|
| 1081 | (REGEX_MALLOC): Removed. Not needed for new regex* routines. | 
|---|
| 1082 |  | 
|---|
| 1083 | * re.c (research): Removed comment and check for return of -2 | 
|---|
| 1084 | since that was for old regex using alloca or REGEX_MALLOC. | 
|---|
| 1085 |  | 
|---|
| 1086 | Wed Mar  3 17:10:16 2004  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1087 |  | 
|---|
| 1088 | * io.c (close_one): Don't close stdout or stderr; can happen if | 
|---|
| 1089 | /dev/stdout or /dev/stderr are used in redirection and all the | 
|---|
| 1090 | open files get used. | 
|---|
| 1091 |  | 
|---|
| 1092 | Sun Feb 29 12:17:37 2004  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1093 |  | 
|---|
| 1094 | * regcomp.c (build_charclass, build_charclass_op): Change type of | 
|---|
| 1095 | `class_name' parameter to `const char *' from `const unsigned char *' | 
|---|
| 1096 | and adjust callers. | 
|---|
| 1097 |  | 
|---|
| 1098 | Thu Feb 26 15:20:22 2004  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1099 |  | 
|---|
| 1100 | * awkgram.y (get_src_buf): Rewritten to better manage input and | 
|---|
| 1101 | supplying newlines on command line programs.  Fixes problems reading | 
|---|
| 1102 | source files on Cygwin. | 
|---|
| 1103 |  | 
|---|
| 1104 | Unrelated fixes from mary1john8@earthlink.net: | 
|---|
| 1105 |  | 
|---|
| 1106 | * node.c (format_val): For no malloc case, free s->stptr if necessary. | 
|---|
| 1107 | * io.c (nextfile): Add missing call to `unref(FILENAME_node->var_value)' | 
|---|
| 1108 | for no files case. | 
|---|
| 1109 | (close_redir): Remove file from redirection list even if fp is | 
|---|
| 1110 | stdout or stderr. | 
|---|
| 1111 |  | 
|---|
| 1112 | Tue Feb 24 12:11:34 2004  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1113 |  | 
|---|
| 1114 | * regex_internal.c (build_wcs_upper_buffer): Enclose `offsets_needed' | 
|---|
| 1115 | label in `#ifdef _LIBC' to silence `unused label' compiler warning. | 
|---|
| 1116 |  | 
|---|
| 1117 | Tue Feb 24 11:57:18 2004  Nelson H.F. Beebe  <beebe@math.utah.edu> | 
|---|
| 1118 |  | 
|---|
| 1119 | * regcomp.c (parse_expression): Add cast to (unsigned char *) in calls | 
|---|
| 1120 | to `build_charclass_op'. | 
|---|
| 1121 | * regex_internal.c (build_wcs_buffer): Add cast to char* in call to | 
|---|
| 1122 | `wcrtomb'. | 
|---|
| 1123 | * regex_internal.h (bitset_not, bitset_merge, bitset_not_merge, | 
|---|
| 1124 | bitset_mask, re_string_char_size_a, re_string_wchar_at, | 
|---|
| 1125 | re_string_elem_size_at): Change to use prototypes. | 
|---|
| 1126 | (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at): | 
|---|
| 1127 | Declare as `internal_function'. | 
|---|
| 1128 |  | 
|---|
| 1129 | * Makefile.am: Add rule to make .i files.  This assists in debugging. | 
|---|
| 1130 | * awk.h (m_tree_eval): Add casts to NULL.  (Some compilers are just | 
|---|
| 1131 | dumb. ADR) | 
|---|
| 1132 |  | 
|---|
| 1133 | Mon Feb 23 15:58:39 2004  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1134 |  | 
|---|
| 1135 | Clean up occupied process slots of children that have died: | 
|---|
| 1136 |  | 
|---|
| 1137 | * awk.h (child_catcher): New function, declare it. | 
|---|
| 1138 | * main.c (main): Catch SIGCHLD/SIGCLD with `child_catcher'. | 
|---|
| 1139 | * io.c (child_died): New static variable. | 
|---|
| 1140 | (child_catcher): New function, sets `child_died', reinstalls self | 
|---|
| 1141 | as signal handler. | 
|---|
| 1142 | (close_rp): New function: isolates actual fp/iop closing logic. | 
|---|
| 1143 | (close_redir): Call `close_rp'. | 
|---|
| 1144 | (get_a_record): Check `child_died' and call `wait_any(0)' if so. | 
|---|
| 1145 | Add descriptive comment. | 
|---|
| 1146 |  | 
|---|
| 1147 | Unrelated clean up: | 
|---|
| 1148 |  | 
|---|
| 1149 | * eval.c (fcalls): Renamed from `fcall_list'. All uses changed. | 
|---|
| 1150 | (pop_fcall, push_args, dump_fcall_stack): Adjusted to use indexing | 
|---|
| 1151 | on `fcalls' instead of a pointer into it. Avoids hassles if `fcalls' | 
|---|
| 1152 | is realloc-ed during recursive tree_evals. Thanks to BWK. | 
|---|
| 1153 |  | 
|---|
| 1154 | * config.guess, config.sub: Updated from Savannah. | 
|---|
| 1155 |  | 
|---|
| 1156 | 2004-02-19  gettextize  <bug-gnu-gettext@gnu.org> | 
|---|
| 1157 |  | 
|---|
| 1158 | * configure.ac (AM_GNU_GETTEXT_VERSION): Bump to 0.14.1. | 
|---|
| 1159 |  | 
|---|
| 1160 | Wed Feb 18 12:40:09 2004  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1161 |  | 
|---|
| 1162 | * awkgram.y (rule): Use `msg' not `warning' for `must have an | 
|---|
| 1163 | an action part' message.  `warning' is wrong, since it's a real error. | 
|---|
| 1164 |  | 
|---|
| 1165 | Mon Feb 16 12:17:39 2004  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1166 |  | 
|---|
| 1167 | * main.c, eval.c, builtin.c: Change test for `#ifdef HAVE_LOCALE_H' | 
|---|
| 1168 | to `#if ENABLE_NLS && defined(HAVE_LOCALE_H)' so that builds with | 
|---|
| 1169 | `configure --disable-nls' will actually work on non-glibc systems. | 
|---|
| 1170 |  | 
|---|
| 1171 | Thu Feb 12 02:05:34 2004  Stepan Kasal  <kasal@ucw.cz> | 
|---|
| 1172 |  | 
|---|
| 1173 | Lots of misc changes from Stepan Kasal integrated. | 
|---|
| 1174 |  | 
|---|
| 1175 | * array.c: Various variables and parameters of static functions | 
|---|
| 1176 | changed from int to long, in order to prevent overflow. | 
|---|
| 1177 |  | 
|---|
| 1178 | * eval.c (make_scalar): New function; takes care of everything | 
|---|
| 1179 | that has to be done when a node of type Node_var_new or | 
|---|
| 1180 | Node_array_ref changes to a scalar variable. | 
|---|
| 1181 | (tree_eval, get_lhs): Call it. | 
|---|
| 1182 | (tree_eval): From now on, tree_eval(NULL) doesn't work; | 
|---|
| 1183 | it reports an internal error. | 
|---|
| 1184 | * awk.h (m_tree_eval): Likewise for the two macro versions. | 
|---|
| 1185 | * awkgram.y (statement): Make sure the Node_K_return's lnode is | 
|---|
| 1186 | always the return value, never NULL. | 
|---|
| 1187 |  | 
|---|
| 1188 | * Makefile.am (install-exec-hook, uninstall-links): Make use of | 
|---|
| 1189 | $(VERSION). | 
|---|
| 1190 | (INCLUDES): Renamed to AM_CPPFLAGS. | 
|---|
| 1191 | (AM_CPPFLAGS): The file libintl.h is generated in the | 
|---|
| 1192 | build subdirectory intl, not in the directory $(srcdir)/intl. | 
|---|
| 1193 | (diffout): New target is an alias for ``make -C test diffout.'' | 
|---|
| 1194 | * awklib/Makefile.am (INCLUDES): Renamed to AM_CPPFLAGS. | 
|---|
| 1195 |  | 
|---|
| 1196 | * README_d/README.hpux: Change the whitespace in the appended patch, | 
|---|
| 1197 | so that it applies to the current source. | 
|---|
| 1198 | * posix/gawkmisc.c: Change a tab to a space (needed for the above). | 
|---|
| 1199 |  | 
|---|
| 1200 | Make version control more in the style of current autotools: | 
|---|
| 1201 |  | 
|---|
| 1202 | * configure.ac: Remove obsolete versions of macros: | 
|---|
| 1203 | AM_INIT_AUTOMAKE doesn't need any parameters. | 
|---|
| 1204 | AC_OUTPUT shouldn't have any parameters either. | 
|---|
| 1205 | Its parameters go to a new macro: AC_CONFIG_FILES. | 
|---|
| 1206 | AC_CONFIG_HEADERS moved near the end of the file. | 
|---|
| 1207 | * configure.ac: Add [version.c:version.in] to AC_CONFIG_FILES | 
|---|
| 1208 | * version.in: Modify for autoconf substitutions. | 
|---|
| 1209 | * version.c: Remove, it's generated at configure time now. | 
|---|
| 1210 | * fixvers, patchlev.h, unsupported/tandem/ptchlvl.h: Nuke and ... | 
|---|
| 1211 | * Makefile.am, main.c: ... forget them. | 
|---|
| 1212 |  | 
|---|
| 1213 | Mon Feb  9 12:57:00 2004  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1214 |  | 
|---|
| 1215 | * awk.h builtin.c eval.c field.c (HUGE): Changed to `UNLIMITED'. | 
|---|
| 1216 | Avoids possible conflict with constant in svid-mode math.h. Thanks to | 
|---|
| 1217 | Roman.Putanowicz@iecn.u-nancy.fr for pointing out the problem. | 
|---|
| 1218 |  | 
|---|
| 1219 | Fri Feb  6 12:09:55 2004  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1220 |  | 
|---|
| 1221 | * configure.ac: Check for `wctype', `wcscoll' and `iswctype'. | 
|---|
| 1222 | * mbsupport.h: New file. Merges and centralizes testing for MBS support. | 
|---|
| 1223 | * Makefile.am (base_sources): Add mbsupport.h to list. | 
|---|
| 1224 | * dfa.c, dfa.h, awk.h (MBS_SUPPORT): Include "mbsupport.h" and use the | 
|---|
| 1225 | test there. | 
|---|
| 1226 | * regex_internal (RE_ENABLE_I18N): Same. | 
|---|
| 1227 |  | 
|---|
| 1228 | * Makefile.am (CLEANFILES): Added. | 
|---|
| 1229 |  | 
|---|
| 1230 | Thu Feb  5 18:05:12 2004  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1231 |  | 
|---|
| 1232 | * configure.ac (HAVE_WCTYPE_T): New test code added. | 
|---|
| 1233 | * dfa.h (wctype_t): Define if system doesn't. Needed here too | 
|---|
| 1234 | for other files that include dfa.h. | 
|---|
| 1235 | * dfa.c (wctype_t): Define if system doesn't. | 
|---|
| 1236 | (lex): Manually fill in arrays used for char class range testing | 
|---|
| 1237 | so will work on c89 and older compilers. | 
|---|
| 1238 | (parse_bracket_exp_mb): Split up an assignment to avoid type complaints. | 
|---|
| 1239 |  | 
|---|
| 1240 | * main.c (main): When checking for `close_io' failure, only set | 
|---|
| 1241 | `exit_val' to 1 if not already exiting. | 
|---|
| 1242 |  | 
|---|
| 1243 | * regcomp.c (regerror): Remove use of mempcpy.  Generates too | 
|---|
| 1244 | many compiler warnings. | 
|---|
| 1245 | * configure.ac (AC_CHECK_FUNCS): Don't bother checking for it. | 
|---|
| 1246 |  | 
|---|
| 1247 | Wed Feb  4 17:34:47 2004  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1248 |  | 
|---|
| 1249 | * getopt.h (__THROW): Only define it if C++. The __GNU_PREREQ | 
|---|
| 1250 | macro is a major headache. | 
|---|
| 1251 |  | 
|---|
| 1252 | 2004-02-02  Paolo Bonzini  <bonzini@gnu.org> | 
|---|
| 1253 |  | 
|---|
| 1254 | * regexec.c (check_matching): Add P_MATCH_FIRST parameter. | 
|---|
| 1255 | (re_search_internal): Pass new parameter to check_matching. | 
|---|
| 1256 | (check_matching): Unless a parenthesized group is found at the | 
|---|
| 1257 | beginning of the regexp, advance P_MATCH_FIRST until we entered | 
|---|
| 1258 | a state different from the initial state. | 
|---|
| 1259 |  | 
|---|
| 1260 | Mon Feb  2 15:52:37 2004  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1261 |  | 
|---|
| 1262 | * re.c (research): Change last param to re_search to pass | 
|---|
| 1263 | NULL if `need_start' is false.  May give us a marginal speed gain. | 
|---|
| 1264 |  | 
|---|
| 1265 | Thu Jan 29 17:04:51 2004  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1266 |  | 
|---|
| 1267 | * builtin.c (sub_common): Fix logic for `&' in replacement for | 
|---|
| 1268 | multibyte case.  Simplify code a bit. | 
|---|
| 1269 |  | 
|---|
| 1270 | Tue Jan 20 10:41:45 2004  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1271 |  | 
|---|
| 1272 | * configure.ac: Add check for `memmove'. | 
|---|
| 1273 | * replace.c: Include missing_d/memmove.c if don't have `memmove'. | 
|---|
| 1274 |  | 
|---|
| 1275 | Sun Jan 18 12:01:29 2004  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1276 |  | 
|---|
| 1277 | * builtin.c (sub_common): Add comment and support for 2001 POSIX | 
|---|
| 1278 | behavior when --posix in effect.  The masses have been | 
|---|
| 1279 | clamoring for this one. | 
|---|
| 1280 |  | 
|---|
| 1281 | 2004-01-16  gettextize  <bug-gnu-gettext@gnu.org> | 
|---|
| 1282 |  | 
|---|
| 1283 | * configure.ac (AM_GNU_GETTEXT_VERSION): Bump to 0.13.1. | 
|---|
| 1284 | * intl/*: Updated to 0.13.1. | 
|---|
| 1285 |  | 
|---|
| 1286 | Fri Jan 16 08:16:38 2004  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1287 |  | 
|---|
| 1288 | * getopt.h, getopt.c, getopt1.c: Synced to GLIBC version: | 
|---|
| 1289 | getopt.c:       1.51 | 
|---|
| 1290 | getopt.h:       1.18 | 
|---|
| 1291 | getopt1.c:      1.9 | 
|---|
| 1292 |  | 
|---|
| 1293 | Thu Jan 15 15:28:48 2004  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1294 |  | 
|---|
| 1295 | Here we go again: | 
|---|
| 1296 |  | 
|---|
| 1297 | * regcomp.c, regex.h, regex.c, regex_internal.h, regex_internal.c, | 
|---|
| 1298 | regexec.c: Sync to GLIBC version, but with bug fixes.  GLIBC | 
|---|
| 1299 | CVS versions: | 
|---|
| 1300 |  | 
|---|
| 1301 | regcomp.c: 1.76 | 
|---|
| 1302 | regexec.c: 1.55 | 
|---|
| 1303 | regex.c: 1.125 | 
|---|
| 1304 | regex.h: 1.30 | 
|---|
| 1305 | regex_internal.c: 1.39 | 
|---|
| 1306 | regex_internal.h: 1.45 | 
|---|
| 1307 | regexec.c: 1.55 | 
|---|
| 1308 |  | 
|---|
| 1309 | * acinclude.m4: Removed, not needed for automake 1.8.x. | 
|---|
| 1310 | * configure.ac: Updated to autoconf 2.59. | 
|---|
| 1311 |  | 
|---|
| 1312 | Everything else updated to automake 1.8x and autoconf 2.59. | 
|---|
| 1313 |  | 
|---|
| 1314 | Wed Jan 14 14:26:36 2004  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1315 |  | 
|---|
| 1316 | * dfa.c, dfa.h: Updated manually with most of the changes in | 
|---|
| 1317 | grep 2.5.1.  That version lost the ability to match newlines | 
|---|
| 1318 | in the data, so the merge had to be done by hand.  Sigh. | 
|---|
| 1319 |  | 
|---|
| 1320 | 2004-01-12  Paolo Bonzini  <bonzini@gnu.org> | 
|---|
| 1321 |  | 
|---|
| 1322 | ALLOCA patch from | 
|---|
| 1323 | http://sources.redhat.com/ml/libc-alpha/2004-01/msg00099.html | 
|---|
| 1324 | added. | 
|---|
| 1325 |  | 
|---|
| 1326 | * regcomp.c [_LIBC && !RE_ENABLE_I18N]: | 
|---|
| 1327 | Drop code to support this, it is never true. | 
|---|
| 1328 | (build_range_exp) [!_LIBC]: Do not create a range | 
|---|
| 1329 | in MBCSET for a single-byte character set. | 
|---|
| 1330 | (build_range_exp) [_LIBC]: Do not create a range | 
|---|
| 1331 | in MBCSET for a single-byte character set without | 
|---|
| 1332 | collation elements. | 
|---|
| 1333 | (init_dfa): Do not conditionalize on _LIBC, it | 
|---|
| 1334 | just makes the code less clear. | 
|---|
| 1335 | (parse_bracket_exp): Use NON_MATCH variable in | 
|---|
| 1336 | addition to "mbcset->non_match", not as an | 
|---|
| 1337 | alternative. | 
|---|
| 1338 | (build_charclass_op): rename NOT parameter to | 
|---|
| 1339 | NON_MATCH, use it instead of declaring a variable. | 
|---|
| 1340 | (parse_bracket_exp) [!_LIBC]: Pass NULL for MBCSET | 
|---|
| 1341 | if the character set is single-byte. | 
|---|
| 1342 |  | 
|---|
| 1343 | Wed Jan  7 15:23:04 2004  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1344 |  | 
|---|
| 1345 | * awkgram.y (mk_rexp): Set n->re_cnt to 1. Makes reinstated | 
|---|
| 1346 | dfa code actually take effect!  Don't know how I missed this. | 
|---|
| 1347 |  | 
|---|
| 1348 | Unrelated: sync regex code to glibc. | 
|---|
| 1349 |  | 
|---|
| 1350 | * regcomp.c, regex.h, regex.c, regex_internal.h, regex_internal.c, | 
|---|
| 1351 | regexec.c: Sync to GLIBC version, but with bug fixes.  GLIBC | 
|---|
| 1352 | CVS versions: | 
|---|
| 1353 |  | 
|---|
| 1354 | regcomp.c: 1.74 | 
|---|
| 1355 | regex.c: 1.124 | 
|---|
| 1356 | regex.h: 1.30 | 
|---|
| 1357 | regex_internal.c: 1.39 | 
|---|
| 1358 | regex_internal.h: 1.43 | 
|---|
| 1359 | regexec.c: 1.55 | 
|---|
| 1360 |  | 
|---|
| 1361 | * regcomp.c (peek_token): Temporarily, we hope, disable \s and \S | 
|---|
| 1362 | operators.  Too much trouble to document right now. | 
|---|
| 1363 | * dfa.c (lex): Add code for \s and \S but disable it until | 
|---|
| 1364 | next release. | 
|---|
| 1365 |  | 
|---|
| 1366 | Wed Dec 24 15:28:57 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1367 |  | 
|---|
| 1368 | * eval.c (r_tree_eval): For Node_assign_concat, add | 
|---|
| 1369 | call `free_temp(r)'. Thanks to mary1john8@earthlink.net. | 
|---|
| 1370 |  | 
|---|
| 1371 | Mon Dec  1 10:25:52 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1372 |  | 
|---|
| 1373 | CONSTVAL not needed if we test PERM instead. Thanks to | 
|---|
| 1374 | mary1john8@earthlink.net. See test/concat3.awk. | 
|---|
| 1375 |  | 
|---|
| 1376 | * awk.h [CONSTVAL]: Removed. | 
|---|
| 1377 | * eval.c (flag2str): Removed CONSTVAL from table. | 
|---|
| 1378 | (r_tree_eval): For Node_assign_concat, it's enough to check | 
|---|
| 1379 | if l->flags has PERM clear. | 
|---|
| 1380 | * awkgram.y (yylex): Removed use of CONSTVAL for YSTRING and YNUMBER. | 
|---|
| 1381 |  | 
|---|
| 1382 | Mon Nov  3 16:33:26 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1383 |  | 
|---|
| 1384 | * awkgram.y (get_src_buf): Replace `memmove' with `memcpy' for | 
|---|
| 1385 | marginal portability gain to older systems. | 
|---|
| 1386 | * io.c (get_a_record): Ditto. | 
|---|
| 1387 |  | 
|---|
| 1388 | Sun Nov  2 15:59:27 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1389 |  | 
|---|
| 1390 | * awk.h [CONSTVAL]: Renamed from `STRCONST'. | 
|---|
| 1391 | * eval.c (flags2str): Fix in table. | 
|---|
| 1392 | (r_tree_eval): For Node_assign_concat, check for the flag for | 
|---|
| 1393 | both left and right hand sides.  Also add a `force_string' call | 
|---|
| 1394 | for the right hand side and the left hand side. | 
|---|
| 1395 | * awkgram.y (yylex): Change flag value for YSTRING and add use | 
|---|
| 1396 | of flag for YNUMBER. | 
|---|
| 1397 |  | 
|---|
| 1398 | Wed Oct 29 14:23:29 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1399 |  | 
|---|
| 1400 | * awk.h [STRCONST]: New flag value. | 
|---|
| 1401 | * eval.c (flags2str): Add it to table. | 
|---|
| 1402 | (r_tree_eval): For Node_assign_concat, check for the flag so that | 
|---|
| 1403 | we don't clobber string constants given: | 
|---|
| 1404 | s = "" | 
|---|
| 1405 | s = s something | 
|---|
| 1406 | * awkgram.y (yylex): For YSTRING, set STRCONST flag. | 
|---|
| 1407 |  | 
|---|
| 1408 | Tue Oct 28 18:00:00 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1409 |  | 
|---|
| 1410 | Force SUBSEP to always have a string value. Per bug report | 
|---|
| 1411 | from mary1john8@earthlink.net. | 
|---|
| 1412 |  | 
|---|
| 1413 | * awk.h (NODETYPE): New type, Node_SUBSEP. | 
|---|
| 1414 | (set_SUBSEP): Add declaration. | 
|---|
| 1415 | * awkgram.y (isnoeffect, isassignable): Add Node_SUBSPEP case. | 
|---|
| 1416 | * array.c (set_SUBSEP): New function. | 
|---|
| 1417 | * eval.c (nodetypes): Add Node_SUBSEP. | 
|---|
| 1418 | (r_tree_eval, r_get_lhs): Add code for Node_SUBSEP. | 
|---|
| 1419 | * main.c (varinit): Use Node_SUBSEP as type for SUBSEP. | 
|---|
| 1420 | * profile.c (tree_eval, pp_lhs, is_scalar, prec_level): Handle | 
|---|
| 1421 | Node_SUBSEP. | 
|---|
| 1422 |  | 
|---|
| 1423 | Tue Oct  7 09:26:33 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1424 |  | 
|---|
| 1425 | * awk.h (NODETYPE): New member `Node_assign_concat'. | 
|---|
| 1426 | * awkgram.y (exp): Look for case of `x = x y' and if so, create a | 
|---|
| 1427 | Node_assign_concat. | 
|---|
| 1428 | * eval.c (interpret): Add case for Node_assign_concat. | 
|---|
| 1429 | * profile.c (prec_level): Ditto. | 
|---|
| 1430 | (tree_eval): Ditto.  For variables, call new function `vname' to | 
|---|
| 1431 | print name; handles varname field for -v variables, which end up | 
|---|
| 1432 | including the value. | 
|---|
| 1433 | (vname): New function. | 
|---|
| 1434 |  | 
|---|
| 1435 | Wed Sep 24 17:32:31 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1436 |  | 
|---|
| 1437 | Speed up `avoid_dfa' kludge, at least a little: | 
|---|
| 1438 |  | 
|---|
| 1439 | * awk.h (struct Regexp): Add `has_anchor' member.  Make it and | 
|---|
| 1440 | `dfa' member shorts; keeps space the same. | 
|---|
| 1441 | * re.c (make_regexp): Set `has_anchor' member correctly. | 
|---|
| 1442 | (avoid_dfa): Test for `has_anchor' member instead of searching | 
|---|
| 1443 | for it each time. | 
|---|
| 1444 |  | 
|---|
| 1445 | Sun Sep 21 18:34:32 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1446 |  | 
|---|
| 1447 | * builtin.c (state): Only needs to be 256 bytes, initstate() can't | 
|---|
| 1448 | use any more than that.  Well whadayaknow. | 
|---|
| 1449 | (do_rand, do_srand): Call `setstate' after calling `initstate'. | 
|---|
| 1450 |  | 
|---|
| 1451 | Tue Sep 16 15:44:29 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1452 |  | 
|---|
| 1453 | * eval.c (interpret): For Node_K_switch, add kludge_need_start stuff | 
|---|
| 1454 | as used in `match_op'.  Sigh. | 
|---|
| 1455 | * re.c (make_regexp): Add `no_dfa' variable, which is true if | 
|---|
| 1456 | GAWK_NO_DFA exists in the environment.  This enables run time | 
|---|
| 1457 | testing of things with/without the dfa matcher. | 
|---|
| 1458 |  | 
|---|
| 1459 | Mon Sep 15 18:36:38 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1460 |  | 
|---|
| 1461 | After much soul searching, reinstated old dfa code. The performance | 
|---|
| 1462 | of the new regex is just disastrous.  Sigh. | 
|---|
| 1463 |  | 
|---|
| 1464 | * awk.h (re_cnt): Reinstated old definition. | 
|---|
| 1465 | (struct Regexp): Added `dfareg' and `dfa' members. | 
|---|
| 1466 | (make_regexp): New last parameter in function, changed decl. | 
|---|
| 1467 | (avoid_dfa): Added declaration. | 
|---|
| 1468 | * awkgram.y (regexp, mk_rexp): Added use of `re_cnt'.  Fixed call | 
|---|
| 1469 | to `make_regexp'. | 
|---|
| 1470 | * Makefile.am: Add dfa.h and dfa.c. | 
|---|
| 1471 | * eval.c (match_op): Complexified: added call to `avoid_dfa' and | 
|---|
| 1472 | `kludge_need_start' variable where used to pass FALSE as last parameter | 
|---|
| 1473 | of research(). | 
|---|
| 1474 | * field.c (set_FS): Fixed call to `make_regexp'. | 
|---|
| 1475 | * io.c (get_a_record, set_RS): Fixed calls to `make_regexp'. | 
|---|
| 1476 | * re.c (make_regexp): Added last paramter (`dfa') to function. | 
|---|
| 1477 | Complexified the code. | 
|---|
| 1478 | (re_update): Fixed call to `make_regexp'. | 
|---|
| 1479 | (research): Complexified the code, added calls to dfa stuff. | 
|---|
| 1480 | (dfaerror): New function. | 
|---|
| 1481 | (re_update): Fixed call to `make_regexp'. | 
|---|
| 1482 | (avoid_dfa): New function. | 
|---|
| 1483 |  | 
|---|
| 1484 | Tue Sep  9 15:57:38 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1485 |  | 
|---|
| 1486 | * awkgram.y (get_src_buf): Fix calculation of `offset' when shifting | 
|---|
| 1487 | source lines around.  In general, improve handling of things when | 
|---|
| 1488 | moving the source code line around.  What a mess this code is. | 
|---|
| 1489 |  | 
|---|
| 1490 | Mon Sep  8 19:08:55 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1491 |  | 
|---|
| 1492 | * eval.c (fmt_ok): Make provision for %F format and printf %'f flag | 
|---|
| 1493 | here too. | 
|---|
| 1494 |  | 
|---|
| 1495 | 2003-07-23  Christophe Bisiere  <bisiere@univ-tlse1.fr>  (tiny change) | 
|---|
| 1496 |  | 
|---|
| 1497 | * posix/regex.h (RE_TRANSLATE_TYPE): Define it to "unsigned char," | 
|---|
| 1498 | to avoid problems at hosts with signed char. | 
|---|
| 1499 | * posix/regexec.c (re_search_internal): Don't say | 
|---|
| 1500 | "unsigned RE_TRANSLATE_TYPE." | 
|---|
| 1501 |  | 
|---|
| 1502 | Thu Aug 28 11:09:41 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1503 |  | 
|---|
| 1504 | * io.c (nextfile): Change use of variable `files' to make it | 
|---|
| 1505 | clearer that it's a boolean flag. | 
|---|
| 1506 |  | 
|---|
| 1507 | Tue Aug 26 22:58:15 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1508 |  | 
|---|
| 1509 | * io.c (useropen): Add `defined (HAVE_GETGROUPS)' as first test | 
|---|
| 1510 | in `#ifdef'.  Brings things in sync with same test in main.c and awk.h. | 
|---|
| 1511 |  | 
|---|
| 1512 | Tue Aug 26 22:49:37 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1513 |  | 
|---|
| 1514 | * dbug.h: New file. | 
|---|
| 1515 |  | 
|---|
| 1516 | * array.c, awkgram.y, builtin.c, eval.c, ext.c, field.c, io.c, | 
|---|
| 1517 | main.c, msg.c, node.c, profile.c, re.c: Converted to use | 
|---|
| 1518 | Fred Fish's `dbug' library.  By default compiled out, thus | 
|---|
| 1519 | not affecting speed. | 
|---|
| 1520 |  | 
|---|
| 1521 | For the nonce, the `dbug' library itself is not shipped with | 
|---|
| 1522 | gawk, since I expect no-one else but me to be using it. | 
|---|
| 1523 |  | 
|---|
| 1524 | Thu Aug 21 23:15:36 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1525 |  | 
|---|
| 1526 | * awkgram.y (numfiles): Change extern decl to long, to match what's | 
|---|
| 1527 | in main.c.  Keeps things working on 64-bit systems.  Thanks to bug | 
|---|
| 1528 | report from Jan Oravec <jan.oravec@6com.sk>. | 
|---|
| 1529 |  | 
|---|
| 1530 | Wed Aug 20 14:53:47 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1531 |  | 
|---|
| 1532 | * eval.c (genflags2str): Move test for out-of-space inside test | 
|---|
| 1533 | for is the bit set. | 
|---|
| 1534 |  | 
|---|
| 1535 | Mon Aug 11 11:26:51 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1536 |  | 
|---|
| 1537 | * regcomp.c (parse_bracket_exp): If `build_charclass' fails, just pass | 
|---|
| 1538 | its value on as the return value. | 
|---|
| 1539 |  | 
|---|
| 1540 | Sun Aug 10 16:59:14 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1541 |  | 
|---|
| 1542 | * regcomp.c (build_range_exp): Make sure we don't | 
|---|
| 1543 | get WEOF on range characters. | 
|---|
| 1544 |  | 
|---|
| 1545 | Tue Aug  5 21:49:32 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1546 |  | 
|---|
| 1547 | * array.c (get_actual): In `case Node_param_list' add test for | 
|---|
| 1548 | `&& (symbol->flags & FUNC) == 0' to the if. | 
|---|
| 1549 |  | 
|---|
| 1550 | Sun Jul 13 18:28:38 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1551 |  | 
|---|
| 1552 | Further bug fix: | 
|---|
| 1553 |  | 
|---|
| 1554 | * awkgram.y (variable): Give the new variable an lnode | 
|---|
| 1555 | of Nnull_string if it's not an array, even if it is | 
|---|
| 1556 | a Node_var_new. | 
|---|
| 1557 |  | 
|---|
| 1558 | Fri Jul 11 09:32:21 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1559 |  | 
|---|
| 1560 | Bug fix: | 
|---|
| 1561 |  | 
|---|
| 1562 | * eval.c (r_tree_eval): For Node_array_ref, set | 
|---|
| 1563 | tree->orig_array->var_value to Nnull_string too. | 
|---|
| 1564 |  | 
|---|
| 1565 | Unrelated i18n and POSIX change: | 
|---|
| 1566 |  | 
|---|
| 1567 | * configure.ac: Add check for local printf supporting %F format. | 
|---|
| 1568 | * awk.h (loc): New variable declaration. | 
|---|
| 1569 | * main.c (loc): Defined. | 
|---|
| 1570 | (main): Call `localeconv' to set loc. | 
|---|
| 1571 | * io.c (format_tree): Add support for printf quote flag, %'d for | 
|---|
| 1572 | decimal formats (not %e, %E), adds thousand separator into value. | 
|---|
| 1573 |  | 
|---|
| 1574 | 2003-07-10  Paul Eggert  <eggert@twinsun.com> | 
|---|
| 1575 |  | 
|---|
| 1576 | * io.c (two_way_open): If /bin/sh cannot be executed, exit | 
|---|
| 1577 | with status 126 consistently. | 
|---|
| 1578 |  | 
|---|
| 1579 | Mon Jul  7 11:01:43 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1580 |  | 
|---|
| 1581 | * Release 3.1.3: Release tar file made. | 
|---|
| 1582 |  | 
|---|
| 1583 | Mon Jul  7 09:55:49 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1584 |  | 
|---|
| 1585 | * main.c (copyleft, usage): Make sure to fflush output fp. Per Jim | 
|---|
| 1586 | Meyering, if error, exit non-zero. | 
|---|
| 1587 | * ext.c (get_argument): Fix array paramater handling. | 
|---|
| 1588 |  | 
|---|
| 1589 | 2003-07-06  Paul Eggert  <eggert@twinsun.com> | 
|---|
| 1590 |  | 
|---|
| 1591 | * builtin.c (do_substr): Issue better diagnostics when | 
|---|
| 1592 | d_substr and d_length are NaN, or when 0 < d_length < 1. | 
|---|
| 1593 | Be careful when comparing double to SIZE_MAX, as | 
|---|
| 1594 | the comparison might return the "wrong" answer when | 
|---|
| 1595 | `(double) SIZE_MAX' is a number that is not equal to | 
|---|
| 1596 | SIZE_MAX. | 
|---|
| 1597 | (do_gensub): Watch out for HOW values that are out of range | 
|---|
| 1598 | or are NaN. | 
|---|
| 1599 | (do_dcngettext): dcngettext wants an argument of type | 
|---|
| 1600 | unsigned long, not long, so use a value of that type. | 
|---|
| 1601 |  | 
|---|
| 1602 | Fri Jul  4 10:58:02 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1603 |  | 
|---|
| 1604 | * main.c (main): Make option letter 'D' fall through into default | 
|---|
| 1605 | unknown case if not debugging. Let's us have just one version of | 
|---|
| 1606 | `optlist'. | 
|---|
| 1607 |  | 
|---|
| 1608 | Thu Jun 26 15:25:57 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1609 |  | 
|---|
| 1610 | * array.c (get_actual): Undo Stepan Kasal change of 2003-06-17. | 
|---|
| 1611 | See test/match2.awk. | 
|---|
| 1612 |  | 
|---|
| 1613 | Wed Jun 25 15:26:08 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1614 |  | 
|---|
| 1615 | * builtin.c (do_rand): Change calculation so that result | 
|---|
| 1616 | obeys constraint:  0 <= N < 1.  This is per history and POSIX. | 
|---|
| 1617 | Thanks to Nelson Beebe (beebe@math.utah.edu) for reporting | 
|---|
| 1618 | this issue. | 
|---|
| 1619 |  | 
|---|
| 1620 | Mon Jun 23 15:13:39 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1621 |  | 
|---|
| 1622 | * io.c (rs1scan): Per advice from Bruno Haible, it's safe | 
|---|
| 1623 | to skip the multibyte checking code if RS is '\n'. See | 
|---|
| 1624 | the comment in the code.  Big performance improvement for | 
|---|
| 1625 | multibyte locales. | 
|---|
| 1626 |  | 
|---|
| 1627 | 2003-06-20  Stepan Kasal  <kasal@ucw.cz> | 
|---|
| 1628 |  | 
|---|
| 1629 | * eval.c (comp_func): if memcmp returns 0, we have to compare | 
|---|
| 1630 | the lengths. | 
|---|
| 1631 |  | 
|---|
| 1632 | 2003-06-19  Stepan Kasal  <kasal@ucw.cz> | 
|---|
| 1633 |  | 
|---|
| 1634 | * eval.c (interpret) <Node_K_arrayfor>: use NULL, not 0, to | 
|---|
| 1635 | initialize the variable list. | 
|---|
| 1636 | (comp_func): array indices no longer are string values, | 
|---|
| 1637 | you have to use ahname_str, ahname_len. | 
|---|
| 1638 |  | 
|---|
| 1639 | Tue Jun 17 11:53:46 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1640 |  | 
|---|
| 1641 | * array.c (get_actual): Make check for isparam | 
|---|
| 1642 | smarter: also check for FUNC flag. | 
|---|
| 1643 |  | 
|---|
| 1644 | 2003-06-17  Stepan Kasal  <kasal@ucw.cz> | 
|---|
| 1645 |  | 
|---|
| 1646 | * array.c (get_actual): even if canfatal is FALSE, don't | 
|---|
| 1647 | tolerate existence of things which can't happen. | 
|---|
| 1648 |  | 
|---|
| 1649 | Mon Jun 16 16:21:44 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1650 |  | 
|---|
| 1651 | * configure.ac: Removed m4/Makefile. | 
|---|
| 1652 | * m4/Makefile.am: Removed. | 
|---|
| 1653 |  | 
|---|
| 1654 | 2003-06-16  gettextize  <bug-gnu-gettext@gnu.org> | 
|---|
| 1655 |  | 
|---|
| 1656 | * configure.ac (AC_OUTPUT): Add m4/Makefile. | 
|---|
| 1657 | (AM_GNU_GETTEXT_VERSION): Bump to 0.12.1. | 
|---|
| 1658 |  | 
|---|
| 1659 | Sun Jun 15 20:45:43 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1660 |  | 
|---|
| 1661 | * io.c (get_a_record): Enhance logic to fill buffers to include | 
|---|
| 1662 | `|| no_data_left(iop)'. | 
|---|
| 1663 | (rs1scan): Fix logic for setting recm fields for multibyte | 
|---|
| 1664 | character case. | 
|---|
| 1665 |  | 
|---|
| 1666 | 2003-06-10  Stepan Kasal  <kasal@ucw.cz> | 
|---|
| 1667 |  | 
|---|
| 1668 | * awkgram.y (release_all_vars): do not try to release a value of | 
|---|
| 1669 | Node_var_new; after get_lhs, use the lhs directly, do not try | 
|---|
| 1670 | to do (*lhs)->var_value; the Node_var case doesn't need | 
|---|
| 1671 | special treatment. | 
|---|
| 1672 | * builtin.c (do_match): `get_param' is successful iff it returns | 
|---|
| 1673 | Node_var_array---if the variable was new, get_param has already | 
|---|
| 1674 | changed the type. | 
|---|
| 1675 | * field.c (do_split): likewise. | 
|---|
| 1676 |  | 
|---|
| 1677 | Sun Jun 15 19:36:35 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1678 |  | 
|---|
| 1679 | * node.c (r_dupnode): Typo fix in hash tables: stptr -> ahname_str. | 
|---|
| 1680 | Thanks to mary1john8@earthlink.net. | 
|---|
| 1681 | * array.c (get_actual): Add `if (canfatal)' before call to | 
|---|
| 1682 | `cant_happen'. | 
|---|
| 1683 |  | 
|---|
| 1684 | Sun Jun 15 19:25:49 2003  Patrick T.J. McPhee   <ptjm@interlog.com> | 
|---|
| 1685 |  | 
|---|
| 1686 | * awk.h (memcpy_ulong): Add ! WIN32 to ifdefs. | 
|---|
| 1687 |  | 
|---|
| 1688 | Mon Jun  9 18:38:20 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1689 |  | 
|---|
| 1690 | * custom.h (hpux): Added stuff to (hopefully) get `tzset' | 
|---|
| 1691 | declared on HP/UX 10 and up. | 
|---|
| 1692 |  | 
|---|
| 1693 | Mon Jun  9 17:12:24 2003  Patrick T.J. McPhee   <ptjm@interlog.com> | 
|---|
| 1694 |  | 
|---|
| 1695 | * awk.h (ATTRIBUTE_EXPORTED): New macro for dynamic libs on Windows32. | 
|---|
| 1696 | * CONVMFTidx, stack_ptr, do_lint, lintfunc: Now have this attribute. | 
|---|
| 1697 |  | 
|---|
| 1698 | Mon Jun  9 13:11:33 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1699 |  | 
|---|
| 1700 | Clean up of Stepan's patches. | 
|---|
| 1701 |  | 
|---|
| 1702 | * array.c (get_actual): Renamed from r_get_array. Added second | 
|---|
| 1703 | param canfatal if routine should print fatal message when not an array. | 
|---|
| 1704 | (get_actual): Renamed 'prm' to `isparam'. | 
|---|
| 1705 | (array_vname): Add static msglen var; only realloc string if it grows. | 
|---|
| 1706 | Don't use `s += sprintf(...)'. No good on old systems where sprintf | 
|---|
| 1707 | returns char *.  Minor formatting cleanups. | 
|---|
| 1708 | (do_adump): Restored separate `a' and `r' variables; helps for debugging. | 
|---|
| 1709 |  | 
|---|
| 1710 | * awk.h (SCALAR, UNINITIALIZED): Removed entirely, renumbered other flags. | 
|---|
| 1711 | (get_array, get_param): New macros, calls get_actual. | 
|---|
| 1712 | (get_actual): Declaration changed from that of r_get_array. | 
|---|
| 1713 |  | 
|---|
| 1714 | * awkgram.y (release_all_vars): Restored previous version of code; new | 
|---|
| 1715 | version isn't right for Node_xx variables. | 
|---|
| 1716 | (variable): Minor code cleanup for readability. | 
|---|
| 1717 |  | 
|---|
| 1718 | * builtin.c (do_match): Use get_param and print our own message when | 
|---|
| 1719 | third parameter is not an array. | 
|---|
| 1720 |  | 
|---|
| 1721 | * eval.c: Added a few comments here and there, removed some no longer | 
|---|
| 1722 | needed comments. | 
|---|
| 1723 |  | 
|---|
| 1724 | * field.c (do_split): Use get_param and print our own message when | 
|---|
| 1725 | second parameter is not an array. | 
|---|
| 1726 |  | 
|---|
| 1727 | Mon Jun  9 11:46:21 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1728 |  | 
|---|
| 1729 | * array.c (do_delete): Initialize hash1 and last to keep gcc -Wall happy. | 
|---|
| 1730 | * io.c (rsnullscan): Comment out label skip_leading for same reason. | 
|---|
| 1731 |  | 
|---|
| 1732 | Wed May 28 08:31:23 CEST 2003  Stepan Kasal  <kasal@math.cas.cz> | 
|---|
| 1733 |  | 
|---|
| 1734 | * eval.c (forloops_active, in_function): Nuked. | 
|---|
| 1735 | (pop_all_forloops, pop_fcall_stack): are now inline. | 
|---|
| 1736 |  | 
|---|
| 1737 | Wed May 28 07:58:35 2003  Stepan Kasal  <kasal@math.cas.cz> | 
|---|
| 1738 |  | 
|---|
| 1739 | * field.c, awk.h (Null_field): no longer static. | 
|---|
| 1740 | * field.c (init_fields): initial value of $0 can be Nnull_string, | 
|---|
| 1741 | no need to copy it. | 
|---|
| 1742 | * eval.c (r_get_lhs) <Node_field_spec>: test for uninitialized field, | 
|---|
| 1743 | which is Nnull_string for $0 and Null_field for $(>0). | 
|---|
| 1744 | * builtin.c (do_print_rec): test for uninitialized $0. | 
|---|
| 1745 |  | 
|---|
| 1746 | Tue May 27 17:03:02 2003  Stepan Kasal  <kasal@math.cas.cz> | 
|---|
| 1747 |  | 
|---|
| 1748 | * awk.h (Node_var_new): New node type for variables which can be | 
|---|
| 1749 | either scalar or array.  From now on, Node_var is always scalar. | 
|---|
| 1750 | (Node_gvar_ref): Nuked, its role can be taken by Node_array_ref. | 
|---|
| 1751 | (orig_var): removed, orig_array is enough. | 
|---|
| 1752 | (SCALAR, UNINITIALIZED): Flags nuked. | 
|---|
| 1753 | (var_uninitialized): new macro to distinguish uninitialized vars; | 
|---|
| 1754 | used in several other macros. | 
|---|
| 1755 | * array.c (r_get_array, array_vname, do_adump): adapt to the | 
|---|
| 1756 | above changes. | 
|---|
| 1757 | * awkgram.y, eval.c, field.c, main.c, node.c, profile.c: ditto. | 
|---|
| 1758 |  | 
|---|
| 1759 | Tue May 27 14:27:50 2003  Stepan Kasal  <kasal@math.cas.cz> | 
|---|
| 1760 |  | 
|---|
| 1761 | * array.c (r_get_array): New function, which goes all the way | 
|---|
| 1762 | through Node_param_list to actual Node_var_array; if it encounters | 
|---|
| 1763 | non scalar Node_var, it changes it to Node_var_array. | 
|---|
| 1764 | (in_array, do_delete, do_delete_loop, do_adump, assoc_sort_inplace): | 
|---|
| 1765 | Use get_array. | 
|---|
| 1766 | (assoc_lookup): The parameter must be a Node_var_array. | 
|---|
| 1767 | * awk.h (get_array, r_get_array): Declare the new function and define | 
|---|
| 1768 | a macro to speed it up. | 
|---|
| 1769 | * builtin.c (do_match): Use get_array. | 
|---|
| 1770 | * eval.c (interpret) <Node_K_arrayfor>: ditto. | 
|---|
| 1771 | (r_get_lhs) <Node_K_arrayfor>: ditto. | 
|---|
| 1772 | * field.c (do_split): ditto. | 
|---|
| 1773 |  | 
|---|
| 1774 | Tue May 27 08:23:51 2003  Stepan Kasal  <kasal@math.cas.cz> | 
|---|
| 1775 |  | 
|---|
| 1776 | Changed node->vname meaning for type Node_array_ref and Node_gvar_ref. | 
|---|
| 1777 | It contains only the reference name; one has to (recursively) follow | 
|---|
| 1778 | node->prev_array to find out the call history for the array. | 
|---|
| 1779 |  | 
|---|
| 1780 | * array.c (array_vname): New function to print the array name. | 
|---|
| 1781 | (assoc_lookup, do_delete): Use array_vname. | 
|---|
| 1782 | * eval.c (interpret, r_tree_eval, r_get_lhs): Use array_vname. | 
|---|
| 1783 | (push_args, pop_fcall): Things have simplified. | 
|---|
| 1784 | * awk.h (array_vname): Declare. | 
|---|
| 1785 | (prev_array): Define. | 
|---|
| 1786 |  | 
|---|
| 1787 | Sun Jun  8 11:25:36 2003  Stepan Kasal  <kasal@ucw.cz> | 
|---|
| 1788 |  | 
|---|
| 1789 | * awkgram.y (append_right): when using savetail, remember that it | 
|---|
| 1790 | is not necessarily the tail of the list---it's just a pointer to | 
|---|
| 1791 | the last chunk appended. | 
|---|
| 1792 |  | 
|---|
| 1793 | Thu Jun  5 12:01:41 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1794 |  | 
|---|
| 1795 | * builtin.c (do_strtonum): Make `strtonum(13)' work. | 
|---|
| 1796 |  | 
|---|
| 1797 | Wed Jun  4 17:07:06 2003  Corinna Vinschen  <vinschen@redhat.com> | 
|---|
| 1798 |  | 
|---|
| 1799 | * io.c (binmode): Include function for __CYGWIN__ too. | 
|---|
| 1800 |  | 
|---|
| 1801 | Tue Jun  3 12:40:50 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1802 |  | 
|---|
| 1803 | * eval.c (interpret): Node_K_switch.  For regex case, don't | 
|---|
| 1804 | call `free_temp' on the result of `force_string' if it's equal to | 
|---|
| 1805 | switch_value. Thanks to John DuBois <spcecdt@armory.com> | 
|---|
| 1806 | for finding the problem. | 
|---|
| 1807 |  | 
|---|
| 1808 | Sun Jun  1 13:08:22 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1809 |  | 
|---|
| 1810 | * builtin.c (format_tree): For %c, force precision to 1. | 
|---|
| 1811 |  | 
|---|
| 1812 | Wed May 28 11:55:48 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1813 |  | 
|---|
| 1814 | * awkgram.y (isnoeffect, isassignable): Add Node_TEXTDOMAIN to | 
|---|
| 1815 | switches in both functions. | 
|---|
| 1816 |  | 
|---|
| 1817 | Wed May 28 11:38:59 2003  Stepan Kasal  <kasal@math.cas.cz> | 
|---|
| 1818 |  | 
|---|
| 1819 | * awkgram.y (switch_body): remove rule ``switch_body:/*empty/'' | 
|---|
| 1820 | as ``switch_body:case_statements'' covers it---this disambiguation | 
|---|
| 1821 | fixes a reduce/reduce conflict. | 
|---|
| 1822 |  | 
|---|
| 1823 | Sun May 25 16:23:43 2003  Corinna Vinschen  <vinschen@redhat.com> | 
|---|
| 1824 |  | 
|---|
| 1825 | * configure.ac: Remove linking against /usr/lib/automode.o. | 
|---|
| 1826 | * configure: Regenerate. | 
|---|
| 1827 |  | 
|---|
| 1828 | Sun May 25 15:19:19 2003  Stepan Kasal  <kasal@math.cas.cz> | 
|---|
| 1829 |  | 
|---|
| 1830 | * awk.h (get_lhs): For an initialized Node_var, you may return | 
|---|
| 1831 | the address of var_value pointer, no matter whether reference | 
|---|
| 1832 | bit was set or not.  We were silly slowing down most of the | 
|---|
| 1833 | assignements. | 
|---|
| 1834 |  | 
|---|
| 1835 | * (get_a_record): after grow_iop_buffer, move recm.rt_start even | 
|---|
| 1836 | if recm.len == 0. | 
|---|
| 1837 |  | 
|---|
| 1838 | Mon May 19 16:55:59 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1839 |  | 
|---|
| 1840 | Code for C-style switch statements. Initial version contributed by | 
|---|
| 1841 | Michael Benzinger <Michael.Benzinger@sabre-holdings.com>. | 
|---|
| 1842 |  | 
|---|
| 1843 | Disabled by default, use `configure --enable-switch' to turn it on. | 
|---|
| 1844 |  | 
|---|
| 1845 | * configure.ac: New AC_ARG_ENABLE for switch statements. | 
|---|
| 1846 | * awk.h (NODETYPE): New types for switch, case, default keywords | 
|---|
| 1847 | and respective lists. | 
|---|
| 1848 | * awkgram.y: New productions for switch statement. Does checking to | 
|---|
| 1849 | avoid duplicate cases. | 
|---|
| 1850 | * eval.c (nodetypes): New entries for new NODETYPEs. | 
|---|
| 1851 | (interpret): New code to do switch execution. | 
|---|
| 1852 | * profile.c (pprint): New code to print switch statements. | 
|---|
| 1853 |  | 
|---|
| 1854 | Mon May 19 15:05:43 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1855 |  | 
|---|
| 1856 | * configure.ac: Renamed from configure.in. | 
|---|
| 1857 | * fixvers: Now looks in configure.ac. | 
|---|
| 1858 | * Makefile.am: Now cites configure.ac. | 
|---|
| 1859 |  | 
|---|
| 1860 | * Misc other: Updated to Automake 1.7.5. | 
|---|
| 1861 |  | 
|---|
| 1862 | Sun May 18 12:03:56 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1863 |  | 
|---|
| 1864 | * array.c (do_delete_loop): Fix bracing of logic for | 
|---|
| 1865 | tests. | 
|---|
| 1866 |  | 
|---|
| 1867 | Wed May 14 09:01:16 2003  Stepan Kasal  <kasal@math.cas.cz> | 
|---|
| 1868 |  | 
|---|
| 1869 | Misc patches: | 
|---|
| 1870 |  | 
|---|
| 1871 | * builtin.c (do_match): if third parameter to `match' is supplied, | 
|---|
| 1872 | store all subexpressions which are applicable, even though there | 
|---|
| 1873 | are some unused between them. | 
|---|
| 1874 |  | 
|---|
| 1875 | * awkgram.y (yylex): when returning from unterminated REGEXP | 
|---|
| 1876 | (which is /* kludge */), take care to fake a yylval, to | 
|---|
| 1877 | prevent ``internal error'' later. | 
|---|
| 1878 |  | 
|---|
| 1879 | Sun May 11 15:51:00 2003  Stepan Kasal  <kasal@math.cas.cz> | 
|---|
| 1880 |  | 
|---|
| 1881 | * io.c (rsnullscan, get_a_record): Boundary condition bug fixes. | 
|---|
| 1882 |  | 
|---|
| 1883 | Sun May 11 15:15:20 IDT 2003  Scott Deifik  <scottd@amgen.com> | 
|---|
| 1884 |  | 
|---|
| 1885 | * awk.h: Add decls for `memcpy_ulong', `memset_ulong', and | 
|---|
| 1886 | MSC defines. | 
|---|
| 1887 | * regex.c: Include <stdio.h> if MSC for size_t. | 
|---|
| 1888 |  | 
|---|
| 1889 | Mon May  5 15:11:06 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1890 |  | 
|---|
| 1891 | * io.c (get_a_record): Only tweak RT's value in place if the current | 
|---|
| 1892 | RS scanner is the same as the last one. Bug report submitted by | 
|---|
| 1893 | John DuBois (<spcecdt@armory.com>). | 
|---|
| 1894 |  | 
|---|
| 1895 | Fri May  2 14:39:48 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1896 |  | 
|---|
| 1897 | * io.c (get_a_record): Add logic at end to be smart about setting | 
|---|
| 1898 | RT.  Saves considerable time, esp for default case where RS = "\n". | 
|---|
| 1899 |  | 
|---|
| 1900 | Wed Apr 30 11:44:38 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1901 |  | 
|---|
| 1902 | * field.c (do_split): Add check and code for Node_gvar_ref. | 
|---|
| 1903 | * array.c (in_array, do_delete, asort_actual): Same. | 
|---|
| 1904 | * builtin.c (do_split): Same for 3rd arg array parameter. | 
|---|
| 1905 | * eval.c (interpret): Same for Node_K_array_for. | 
|---|
| 1906 | (push_args): Same for evaluating extra args. | 
|---|
| 1907 |  | 
|---|
| 1908 | Tue Apr 29 15:54:28 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1909 |  | 
|---|
| 1910 | Record reading code redone/simplified considerably. | 
|---|
| 1911 |  | 
|---|
| 1912 | * awk.h (IOBUF): Removed total field, no longer used. | 
|---|
| 1913 | * io.c (at_eof, has_data, no_data_left): New macros. | 
|---|
| 1914 | (RECVALUE, SCANSTATE): New enumerated types. | 
|---|
| 1915 | (rs1get_a_record, rsnull_get_a_record, rsre_get_a_record): Removed. | 
|---|
| 1916 | (get_a_record): Rewritten, again. Now contains just buffer and | 
|---|
| 1917 | record code; searching code moved into these functions: | 
|---|
| 1918 | (rs1scan, rsnullscan, rsrescan): New functions to scan a buffer | 
|---|
| 1919 | for record contents and terminator. Fill in values in: | 
|---|
| 1920 | (struct recmatch): Holds found record and terminator. | 
|---|
| 1921 | (spec_setup): Set iop->dataend to indicate data is already in buffer. | 
|---|
| 1922 | (nextfile, inrec): Use new macros instead of flag and pointer tests. | 
|---|
| 1923 | (set_RS): Set scanning function instead of record function. | 
|---|
| 1924 |  | 
|---|
| 1925 | FWIW, it all passes `make test'. | 
|---|
| 1926 |  | 
|---|
| 1927 | Sun Apr 27 21:02:39 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1928 |  | 
|---|
| 1929 | * io.c (do_close): At end, if do_posix return 0. See comment in code. | 
|---|
| 1930 |  | 
|---|
| 1931 | Tue Apr 15 09:56:03 2003  Isamu Hasegawa  <isamu@yamato.ibm.com> | 
|---|
| 1932 |  | 
|---|
| 1933 | * configure.in: Check existence of wcrtomb, and wcscoll. | 
|---|
| 1934 | * configh.in: Likewise. | 
|---|
| 1935 | * configure: Re-generate. | 
|---|
| 1936 | Thanks to Kimura Koichi <kimura.koichi@canon.co.jp> for reporting. | 
|---|
| 1937 |  | 
|---|
| 1938 | Sun Apr 13 16:02:10 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1939 |  | 
|---|
| 1940 | * main.c (main): Add call to `setlocale' for LC_NUMERIC after program is | 
|---|
| 1941 | parsed. | 
|---|
| 1942 | (arg_assign): Switch back to "C" locale for LC_NUMERIC for command | 
|---|
| 1943 | line assignments; this is per POSIX that period is decimal point for | 
|---|
| 1944 | program and command line assignments and the locale's separator | 
|---|
| 1945 | applies for input, output, and string to number conversion. | 
|---|
| 1946 |  | 
|---|
| 1947 | 2003-03-26  Paul Eggert  <eggert@twinsun.com> | 
|---|
| 1948 |  | 
|---|
| 1949 | * builtin.c [HAVE_INTTYPES_H]: Include <inttypes.h>. | 
|---|
| 1950 | [!HAVE_INTTYPES_H && HAVE_STDINT_H]: Include <stdint.h>. | 
|---|
| 1951 | (CHAR_BIT, INTMAX_MIN, UINTMAX_MAX): Define if the system does not. | 
|---|
| 1952 | (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): New macros, taken from | 
|---|
| 1953 | coreutils and many other GNU utilities. | 
|---|
| 1954 | (format_tree): When formatting, use widest possible integers | 
|---|
| 1955 | rather than settling with 'long'. | 
|---|
| 1956 | (do_lshift, do_rshift, do_and, do_or, do_xor, do_compl): Likewise, | 
|---|
| 1957 | when doing bitwise operations. | 
|---|
| 1958 | * configure.in (jm_AC_TYPE_LONG_LONG, jm_AC_TYPE_UNSIGNED_LONG_LONG, | 
|---|
| 1959 | jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T): Add, since the mainline | 
|---|
| 1960 | code now needs this. | 
|---|
| 1961 | * doc/gawk.texi (Control Letters, Bitwise Functions): Document this. | 
|---|
| 1962 | * m4/intmax_t.m4: New file, taken from coreutils (but renamed to | 
|---|
| 1963 | avoid collision with our m4/inttypes.m4). | 
|---|
| 1964 | * m4/longlong.m4: New file, taken from coreutils. | 
|---|
| 1965 | * m4/uintmax_t.m4, m4/ulonglong.m4: Remove; superseded by the above | 
|---|
| 1966 | new m4 files. | 
|---|
| 1967 |  | 
|---|
| 1968 | * builtin.c (BITS_PER_BYTE): Remove; use CHAR_BIT instead, since | 
|---|
| 1969 | it's the standard name. | 
|---|
| 1970 | (do_lshift, do_rshift): Complain if the shift width is exactly equal | 
|---|
| 1971 | to the word size, too. | 
|---|
| 1972 |  | 
|---|
| 1973 | Thu Mar 27 10:44:11 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1974 |  | 
|---|
| 1975 | * io.c (rs1_get_a_record, rsnull_get_a_record, rsre_get_a_record): | 
|---|
| 1976 | Enhance check for no data left in file to be only if file has | 
|---|
| 1977 | non-zero size.  Linux files such as /proc/filesystems stat as a | 
|---|
| 1978 | regular file of size 0, but actually have contents. Ugh. | 
|---|
| 1979 | Thanks to Martin Schlemmer <azarah@gentoo.org> for the bug report. | 
|---|
| 1980 |  | 
|---|
| 1981 | Wed Mar 26 12:19:32 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1982 |  | 
|---|
| 1983 | * builtin.c (format_tree): Add a lint warning at label `out_of_range'. | 
|---|
| 1984 |  | 
|---|
| 1985 | Tue Mar 25 12:24:38 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1986 |  | 
|---|
| 1987 | * awkgram.y (variable): For array subscript, if NAME is in the | 
|---|
| 1988 | symbol table, but not a variable, array, or parameter, generate | 
|---|
| 1989 | a syntax error. | 
|---|
| 1990 | (isarray): New function, tests if a symbol can be an array. | 
|---|
| 1991 |  | 
|---|
| 1992 | * custom.h: Add check for HP/UX, needed for GCC. | 
|---|
| 1993 |  | 
|---|
| 1994 | Mon Mar 17 09:21:09 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 1995 |  | 
|---|
| 1996 | Allow simultaneous manipulation of a global array directly | 
|---|
| 1997 | and when passed as a parameter. | 
|---|
| 1998 |  | 
|---|
| 1999 | * awk.h (Node_gvar_ref): New nodetype. | 
|---|
| 2000 | [orig_var]: New macro. | 
|---|
| 2001 | * array.c (do_delete_loop, do_delete): Add logic to handle | 
|---|
| 2002 | seeing Node_gvar_ref. | 
|---|
| 2003 | * eval.c (nodetypes): Add Node_gvar_ref. | 
|---|
| 2004 | (r_tree_eval, r_get_lhs): Add Node_gvar_ref case. | 
|---|
| 2005 |  | 
|---|
| 2006 | Wed Mar 19 14:10:31 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2007 |  | 
|---|
| 2008 | This time for sure. | 
|---|
| 2009 | -- Bullwinkle | 
|---|
| 2010 |  | 
|---|
| 2011 | * Release 3.1.2: Release tar file made. | 
|---|
| 2012 |  | 
|---|
| 2013 | Wed Mar 19 14:08:11 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2014 |  | 
|---|
| 2015 | * awkgram.y: Production `program --> program error'. Add a return so | 
|---|
| 2016 | that we don't produce an infinite stream of error messages. | 
|---|
| 2017 | Thanks to Michael Mauch <michael.mauch@gmx.de> for pointing this out. | 
|---|
| 2018 |  | 
|---|
| 2019 | Wed Mar 19 13:45:50 2003  Corinna Vinschen  <vinschen@redhat.com> | 
|---|
| 2020 |  | 
|---|
| 2021 | * regex.c [RE_ENBABLE_I18N]: remove definition; the one in | 
|---|
| 2022 | regex_internal.h is better and makes things work with Cygwin. | 
|---|
| 2023 |  | 
|---|
| 2024 | Tue Mar 11 11:54:20 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2025 |  | 
|---|
| 2026 | * regex_internal.h: Don't include <limits.h> after <regex.h> was | 
|---|
| 2027 | included in regex.c, since it could redefine RE_DUP_MAX to a lower | 
|---|
| 2028 | value. | 
|---|
| 2029 | (bitset_set, bitset_clear, bitset_contain): Use 1UL instead of 1 in | 
|---|
| 2030 | left shift operations. | 
|---|
| 2031 | * regex.c: Include <limits.h> before <regex.h> | 
|---|
| 2032 | * regcomp.c (re_compile_fastmap_iter, init_word_char, parse_expression): | 
|---|
| 2033 | Use 1UL instead of 1 in left shift operations. | 
|---|
| 2034 |  | 
|---|
| 2035 | Mon Mar 10 15:45:37 2003  Corinna Vinschen  <vinschen@redhat.com> | 
|---|
| 2036 |  | 
|---|
| 2037 | * configure.in: Update CYGWIN case to add /usr/lib/automode.o. | 
|---|
| 2038 |  | 
|---|
| 2039 | Thu Mar  6 11:07:36 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2040 |  | 
|---|
| 2041 | Updated to automake 1.7.3. | 
|---|
| 2042 |  | 
|---|
| 2043 | * config.guess, config.sub: Updated from prep. | 
|---|
| 2044 | * Makefile.am (AUTOMAKE_OPTIONS): Add dist-bzip2 to get .bz2 files. | 
|---|
| 2045 |  | 
|---|
| 2046 | Tue Mar  4 10:40:46 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2047 |  | 
|---|
| 2048 | * version.in: Added goop for K&R compilers; forgot that I have to fix | 
|---|
| 2049 | this file which then is used to create version.c. | 
|---|
| 2050 |  | 
|---|
| 2051 | Mon Mar  3 17:00:44 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2052 |  | 
|---|
| 2053 | * configure.in: New option --disable-lint. | 
|---|
| 2054 | * awk.h (do_lint, do_lint_old): Conditionally declare based on NO_LINT. | 
|---|
| 2055 | * eval.c (set_LINT): Ifdef out body if NO_LINT. | 
|---|
| 2056 | * main.c (do_lint, do_lint_old): Conditionally compile properly. | 
|---|
| 2057 | (main): Handle --lint argument code. | 
|---|
| 2058 |  | 
|---|
| 2059 | Fri Feb 28 10:43:07 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2060 |  | 
|---|
| 2061 | * main.c (main): Add LC_TIME to the things that get set with | 
|---|
| 2062 | setlocale(). | 
|---|
| 2063 | * builtin.c (format_tree): Change test of `n0-- <= 0' to ==, avoids | 
|---|
| 2064 | VMS diagnostic. | 
|---|
| 2065 |  | 
|---|
| 2066 | Thu Feb 27 17:48:29 2003  Pat Rankin  <rankin@pactechdata.com> | 
|---|
| 2067 |  | 
|---|
| 2068 | * regexec.c (proceed_next_node): Cast re_string_get_buffer to char *. | 
|---|
| 2069 | (get_subexp): Likewise. | 
|---|
| 2070 |  | 
|---|
| 2071 | Tue Feb 25 12:33:41 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2072 |  | 
|---|
| 2073 | * regex_internal.h, regex_internal.c, regcomp.c, regexec.c: | 
|---|
| 2074 | Make MB_CUR_MAX into thread local variable re_mb_cur_max. | 
|---|
| 2075 |  | 
|---|
| 2076 | Unrelated, from Scott Deifik: | 
|---|
| 2077 |  | 
|---|
| 2078 | * io.c (grow_iop_buffer): Add checks for overflow of new buffer size. | 
|---|
| 2079 |  | 
|---|
| 2080 | Mon Feb 24 13:30:59 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2081 |  | 
|---|
| 2082 | * awk.h (gawk_mb_cur_max): Declared: | 
|---|
| 2083 | * main.c (gawk_mb_cur_max): Defined, init to 1. | 
|---|
| 2084 | (main): Initialize gawk_mb_cur_max. | 
|---|
| 2085 | * awkgram.y, builtin.c, eval.c, field.c, io.c, re.c (mb_cur_max): | 
|---|
| 2086 | Replaces all instances of MB_CUR_MAX, which is a function call (!) | 
|---|
| 2087 | in glibc.  Big speed up, especially for -Fx case, where x is a | 
|---|
| 2088 | single character. | 
|---|
| 2089 |  | 
|---|
| 2090 | Unrelated: | 
|---|
| 2091 |  | 
|---|
| 2092 | * awkgram.y (rule): For non-existent action, use a Node_K_print_rec | 
|---|
| 2093 | node. | 
|---|
| 2094 |  | 
|---|
| 2095 | Sun Feb 23 15:45:20 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2096 |  | 
|---|
| 2097 | Speed up plain `print' and `print $0': | 
|---|
| 2098 |  | 
|---|
| 2099 | * awk.h (Node_K_print_rec): New node type. | 
|---|
| 2100 | (do_print_rec): Declare function. | 
|---|
| 2101 | * awkgram.y (simple_stmt): Create humongous test for plain `print' | 
|---|
| 2102 | or `print $0', and if so, use a Node_K_print_rec for it.  Modify | 
|---|
| 2103 | test for lint message. | 
|---|
| 2104 | * builtin.c (redirect_to_fp): New function for common code to get fp | 
|---|
| 2105 | and rp for do_print{,f,_rec} functions. | 
|---|
| 2106 | (do_print): Use redirect_to_fp(). | 
|---|
| 2107 | (do_printf): Use redirect_to_fp(). | 
|---|
| 2108 | (do_print_rec): New function to just print $0 from field_arr[0] | 
|---|
| 2109 | directly; will rebuild the record first if necessary. | 
|---|
| 2110 | * eval.c (nodetypes): Add Node_K_print_rec. | 
|---|
| 2111 | (interpret): Add Node_K_print_rec case. | 
|---|
| 2112 | * profile.c (pprint): Add Node_K_print_rec case. | 
|---|
| 2113 | (pp_print_stmt): If null lnode, print "$0" else print the lnode. | 
|---|
| 2114 |  | 
|---|
| 2115 | Unrelated: | 
|---|
| 2116 |  | 
|---|
| 2117 | * regex_internal.h: Add ENABLE_NLS to the condition for using | 
|---|
| 2118 | gettext so that --disable-nls really disables it. | 
|---|
| 2119 |  | 
|---|
| 2120 | Sat Feb 23 22:46:00 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2121 |  | 
|---|
| 2122 | * io.c (rs1_get_a_record, rsnull_get_a_record, rsre_get_a_record): | 
|---|
| 2123 | Modify buffer-filling algorithm to always read one or more multiples | 
|---|
| 2124 | of the blocksize (iop->readsize). | 
|---|
| 2125 | (grow_iop_buffer): Make sure there's room for the current partially | 
|---|
| 2126 | read record and one disk block buffer. | 
|---|
| 2127 |  | 
|---|
| 2128 | Thu Feb 20 22:02:00 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2129 |  | 
|---|
| 2130 | * re.c (research): Fix typo in cast of precision value to int. | 
|---|
| 2131 | * regex.h, regex.c, re_internal.h, re_internal.c, regcomp.c, regexec.c: | 
|---|
| 2132 | synced to GLIBC source, maintaining K&R portability changes, and bug | 
|---|
| 2133 | fixes, although losing ability to compile each file separately. | 
|---|
| 2134 | * Makefile.am (SOURCES): Moved placement of regex source files from here ... | 
|---|
| 2135 | (EXTRA_DIST): ... to here. | 
|---|
| 2136 |  | 
|---|
| 2137 | Tue Feb 18 14:17:33 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2138 |  | 
|---|
| 2139 | * re.c (research): Cast precision value to int. | 
|---|
| 2140 | * builtin.c (format_tree): For toofew, cast field width value to int. | 
|---|
| 2141 | * io.c (rsre_get_a_record): Initialize restart and reend. Add a variable | 
|---|
| 2142 | to make sure they're set before used at end of function. | 
|---|
| 2143 | (iopflags2str): Removed decl at top and made not static so that GCC | 
|---|
| 2144 | stops complaining that it's defined but not used. Bleah. | 
|---|
| 2145 |  | 
|---|
| 2146 | Mon Feb 17 11:02:34 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2147 |  | 
|---|
| 2148 | * config.guess, config.sub: Updated from prep. | 
|---|
| 2149 |  | 
|---|
| 2150 | Sun Feb 16 15:47:15 2003  Scott Deifik  <scottd@amgen.com> | 
|---|
| 2151 |  | 
|---|
| 2152 | * awk.h (format_tree, make_str_node): Changed decls to match how | 
|---|
| 2153 | they are called. | 
|---|
| 2154 | * builtin.c (format_tree, sub_common): Same. | 
|---|
| 2155 | * node.c (make_str_node): Same. | 
|---|
| 2156 |  | 
|---|
| 2157 | Wed Feb  5 14:18:01 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2158 |  | 
|---|
| 2159 | * awk.h: Removed duplicate decl of set_prof_file(). Removed | 
|---|
| 2160 | undef of const for non-ANSI C; config.h should handle it. | 
|---|
| 2161 | * msg.c (set_loc): Use srcfile and srcline in regular code to shut up | 
|---|
| 2162 | stupid SGI compiler. | 
|---|
| 2163 |  | 
|---|
| 2164 | Tue Feb  4 14:28:06 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2165 |  | 
|---|
| 2166 | All relevant files: Copyright year updated to 2003. | 
|---|
| 2167 |  | 
|---|
| 2168 | Tue Feb  4 13:40:41 2003  Martin C. Brown  <mc@whoever.com> | 
|---|
| 2169 |  | 
|---|
| 2170 | * intl/libgnuintl.h: Preprocessor fixes for MacOS X. | 
|---|
| 2171 | * regex.h: Ditto. | 
|---|
| 2172 |  | 
|---|
| 2173 | Tue Feb  4 13:39:37 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2174 |  | 
|---|
| 2175 | * awkgram.y (builtin_func): New string for use in rationalizing | 
|---|
| 2176 | function parsing and installation code. | 
|---|
| 2177 |  | 
|---|
| 2178 | Sun Feb  2 16:00:55 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2179 |  | 
|---|
| 2180 | Cache function body code pointer so that only have to find it the | 
|---|
| 2181 | first time a function is called.  This potential for optimization | 
|---|
| 2182 | brought to my attention by Stepan Kasal. | 
|---|
| 2183 |  | 
|---|
| 2184 | * awk.h [funcbody]: New macro. | 
|---|
| 2185 | * awkgram.y (FUNC_CALL): Set $$->funcbody to NULL. | 
|---|
| 2186 | * eval.c (func_call): Changed to take top-level Node_func_call as the | 
|---|
| 2187 | single parameter.  Do the lookup and caching. | 
|---|
| 2188 | (r_tree_eval): Change how func_call() is called in switch. | 
|---|
| 2189 | * profile.c (pp_func_call): Similar changes. | 
|---|
| 2190 | (tree_eval): Ditto. | 
|---|
| 2191 |  | 
|---|
| 2192 | Sun Feb  2 15:32:42 2003  Stepan Kasal  <kasal@math.cas.cz> | 
|---|
| 2193 |  | 
|---|
| 2194 | ADR: More grammar rationalization/repair from Stepan. | 
|---|
| 2195 |  | 
|---|
| 2196 | * awkgram.y (common_exp, simp_exp): the rule from getline (without | 
|---|
| 2197 | pipe) has been moved from common_exp to simp_exp. | 
|---|
| 2198 |  | 
|---|
| 2199 | The redirection of print statements reworked.  The idea comes from | 
|---|
| 2200 | mawk-1.3.3; much thanks to Michael Brennan! | 
|---|
| 2201 |  | 
|---|
| 2202 | * awkgram.y (IO_OUT, IO_IN): new tokens. | 
|---|
| 2203 | (APPEND_OP, TWOWAYIO): swallowed by the above ones. | 
|---|
| 2204 | (in_print, in_parens): new static variables, to trace whether | 
|---|
| 2205 | IO_OUT is expected. | 
|---|
| 2206 | (yylex): emit the new tokens, update in_parens on '(' and ')'. | 
|---|
| 2207 | (exp): the print command(s) reworked. | 
|---|
| 2208 | (oputput_redir): reworked. | 
|---|
| 2209 | (print_expression_list): new non-terminal. | 
|---|
| 2210 | (rexp, rexpression_list opt_rexpression_list): nuked. | 
|---|
| 2211 | (exp, simp_exp): ``cmd|getline'' rule changed to | 
|---|
| 2212 | ``cmd IO_IN getline'' and moved from exp to simp_exp. | 
|---|
| 2213 |  | 
|---|
| 2214 | Unrelated: | 
|---|
| 2215 |  | 
|---|
| 2216 | * awkgram.y (variable): Don't return Node_func, issue a fatal | 
|---|
| 2217 | error instead. | 
|---|
| 2218 | * eval.c (r_tree_eval, r_get_lhs): Omit special checks for Node_func, | 
|---|
| 2219 | nodes of this type cannot get into the program tree. | 
|---|
| 2220 | * profile.c (tree_eval, pp_lhs): Likewise. | 
|---|
| 2221 |  | 
|---|
| 2222 | Thu Jan 30 17:42:05 2003  Stepan Kasal  <kasal@math.cas.cz> | 
|---|
| 2223 |  | 
|---|
| 2224 | ADR: Applied lots of patches from Stepan. | 
|---|
| 2225 |  | 
|---|
| 2226 | * array.c (do_delete_loop): Call after_assign for the loop index. | 
|---|
| 2227 | * field.c (do_split): The third argument to split(), sep, has to be | 
|---|
| 2228 | evaluated and the result dupnoded before assoc_clear is called, | 
|---|
| 2229 | similarily as src.  And we needn't to evaluate the third argument | 
|---|
| 2230 | if it's CONSTant regex and the first parameter is null string. | 
|---|
| 2231 | * awk.h (dupnode): Changed to macro, function renamed to r_dupnode. | 
|---|
| 2232 | * node.c (dupnode, r_dupnode): Rename. | 
|---|
| 2233 | * awkgram.y (parms_shadow): Return bool value, ... | 
|---|
| 2234 | (shadow_funcs): ... which will enable us to end the program if | 
|---|
| 2235 | lintfunc is fatal. | 
|---|
| 2236 | (program): Cleanup of the rules defining the ``program'' non-terminal. | 
|---|
| 2237 | (start, program, rule): no value associated, | 
|---|
| 2238 | expression_value is now treated similarily as begin_block and end_block. | 
|---|
| 2239 | (pattern, rule): bison actions for non-terminal `pattern' now | 
|---|
| 2240 | add a new rule to the appropriate Node_rule_list, action for | 
|---|
| 2241 | non-terminal `rule' now only adds the associated code block | 
|---|
| 2242 | to the rnode of Node_rule_node. | 
|---|
| 2243 | (io_allowed): renamed to !begin_or_end_rule. | 
|---|
| 2244 | (append_pattern): New function, adds new Node_rule_node to a rule_list. | 
|---|
| 2245 | (mkrangenode): Deleted, this tiny function was called only once. | 
|---|
| 2246 | (function_body): non-terminal replaced by `action'. | 
|---|
| 2247 | (statements, action, statement): `statements' can now be empty; | 
|---|
| 2248 | both callers had to accomodate to this. | 
|---|
| 2249 | (statements): Don't call isnoeffect($2->type) if | 
|---|
| 2250 | $2 happens to be NULL. | 
|---|
| 2251 |  | 
|---|
| 2252 | Mon Jan 27 14:12:19 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2253 |  | 
|---|
| 2254 | * io.c (iop_close): Based on report by Stepan Kasal and because of | 
|---|
| 2255 | his changes, don't call reset_record() when saving a copy of contents | 
|---|
| 2256 | of $0. | 
|---|
| 2257 | * awkgram.y: Improved function parsing error messages for case where | 
|---|
| 2258 | user uses a builtin name as a function name.  Based on error report | 
|---|
| 2259 | by Stepan Kasal. | 
|---|
| 2260 | * ext.c (make_builtin): Set FUNC flag for new function.  Based on error | 
|---|
| 2261 | report by Stepan Kasal. | 
|---|
| 2262 |  | 
|---|
| 2263 | Mon Jan 27 14:06:20 2003  Stepan Kasal  <kasal@math.cas.cz> | 
|---|
| 2264 |  | 
|---|
| 2265 | * field.c (reset_record): No longer call set_record(), the code is | 
|---|
| 2266 | moved to the function body.  Do not set MAYBE_NUM. | 
|---|
| 2267 | (set_record): Call reset_record() to perform the common tasks. | 
|---|
| 2268 | The prototype has changed, change awk.h and all callers. | 
|---|
| 2269 |  | 
|---|
| 2270 | Mon Jan 27 10:50:03 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2271 |  | 
|---|
| 2272 | * awk.h (NODE): `proc' renamed to `builtin,' to fix a conflict | 
|---|
| 2273 | on some systems.  Replaced on all spots where it was used. | 
|---|
| 2274 |  | 
|---|
| 2275 | Sun Jan 26 11:52:01 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2276 |  | 
|---|
| 2277 | * awk.h [NUMSUBPATS]: New macro. | 
|---|
| 2278 | * builtin.c (do_match): Use it in loop that fills in subpattern info. | 
|---|
| 2279 | * eval.c (r_tree_eval): for Node_assign, don't call free_temp(), | 
|---|
| 2280 | as assign_val() contains dupnode(), which would clear the TEMP | 
|---|
| 2281 | flag. From Stepan Kasal <kasal@math.cas.cz>. | 
|---|
| 2282 | * config.sub: Updated from prep. | 
|---|
| 2283 |  | 
|---|
| 2284 | Sun Jan 19 22:34:01 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2285 |  | 
|---|
| 2286 | * awk.h (do_asorti): Add declaration. | 
|---|
| 2287 | * awkgram.y (tokentab): Add asorti() function to table. | 
|---|
| 2288 | * array.c (ASORT_TYPE): New enumerated type for VALUE or INDEX array | 
|---|
| 2289 | sorting. | 
|---|
| 2290 | (assoc_sort_inplace): New second arg of type ASORT_TYPE. Additional code | 
|---|
| 2291 | to rearrange array so rest of merge-sorting works; basically values are | 
|---|
| 2292 | tossed and index moved into value spot. | 
|---|
| 2293 | (asort_actual): Renamed from do_asort(). Takes new ASORT_TYPE argument. | 
|---|
| 2294 | (do_asort): Calls asort_actual(tree, VALUE). | 
|---|
| 2295 | (do_asorti): Calls asort_actual(tree, INDEX). | 
|---|
| 2296 |  | 
|---|
| 2297 | * main.c (load_procinfo): Free groupset array when done with it. | 
|---|
| 2298 |  | 
|---|
| 2299 | Thu Jan 16 18:30:50 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2300 |  | 
|---|
| 2301 | * builtin.c (do_match): Revised to provide start and length | 
|---|
| 2302 | indices in array 3rd parameter. | 
|---|
| 2303 | * config.guess, config.sub: Updated from prep. | 
|---|
| 2304 |  | 
|---|
| 2305 | Thu Jan  2 11:09:12 2003  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2306 |  | 
|---|
| 2307 | Updated to bison 1.875. | 
|---|
| 2308 |  | 
|---|
| 2309 | Tue Dec 31 17:14:45 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2310 |  | 
|---|
| 2311 | Updated things to automake 1.7.2 and autoconf 2.57. | 
|---|
| 2312 |  | 
|---|
| 2313 | Tue Dec 31 16:54:44 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2314 |  | 
|---|
| 2315 | * awk.h [IOP_CLOSED]: New flag. | 
|---|
| 2316 | * io.c (iop_close): Set IOP_CLOSED flag. | 
|---|
| 2317 | (inrec): Check for IOP_CLOSED; if set return EOF. | 
|---|
| 2318 | (rs1_get_a_record, rsnull_get_a_record): Check for EOF before | 
|---|
| 2319 | refilling buffers. | 
|---|
| 2320 | (rsre_get_a_record): Ditto. Also, set RT before updating pointers in IOP. | 
|---|
| 2321 | * Makefile.am (efence): New target to compile with Electric Fence. | 
|---|
| 2322 |  | 
|---|
| 2323 | 2002-12-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu> | 
|---|
| 2324 |  | 
|---|
| 2325 | * awk.h (catchsig): Delete prototype. | 
|---|
| 2326 | * main.c (catchsig): Make static and remove excess argument. | 
|---|
| 2327 | (main): Delete unnecessary casts. | 
|---|
| 2328 | * io.c (rs1_get_a_record, rsnull_get_a_record): Mark parameter | 
|---|
| 2329 | with ATTRIBUTE_UNUSED. | 
|---|
| 2330 |  | 
|---|
| 2331 | Mon Dec 23 11:54:07 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2332 |  | 
|---|
| 2333 | * regex_internal.h, regex_internal.c, regcomp.c, regexec.c, version.c: | 
|---|
| 2334 | Fixed to compile, once again, under K&R compilers. | 
|---|
| 2335 | * io.c (grow_iop_buffer): Fix calculation of new size to | 
|---|
| 2336 | first subtract 2, double, then add 2 back in. | 
|---|
| 2337 |  | 
|---|
| 2338 | Fri Dec 20 11:48:42 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2339 |  | 
|---|
| 2340 | get_a_record split into three routines. | 
|---|
| 2341 |  | 
|---|
| 2342 | * awk.h (IOBUF): Structure reworked for new code. | 
|---|
| 2343 | * io.c (get_a_record): Now a pointer to different functions. | 
|---|
| 2344 | (rs1_get_a_record, rsnull_get_a_record, rsre_get_a_record): New functions. | 
|---|
| 2345 | (iop_alloc, iop_close): Reworked for new structure. | 
|---|
| 2346 | (do_getline, inrec): Modifiend for new EOF condition. | 
|---|
| 2347 | (iopflags2str): New routine. | 
|---|
| 2348 |  | 
|---|
| 2349 | Fri Dec 20 11:05:50 2002  Isamu Hasegawa  <isamu@yamato.ibm.com> | 
|---|
| 2350 |  | 
|---|
| 2351 | * regex.c, regex_internal.c, regex_internal.h: Changes to allow separate | 
|---|
| 2352 | compilation of the reg*c files. | 
|---|
| 2353 | * regcomp.c: Fix bug in using translation tables with [[:upper:]] etc. | 
|---|
| 2354 | * Makefile.am: Move regex files into sources from EXTRA_DIST. (ADR) | 
|---|
| 2355 |  | 
|---|
| 2356 | Mon Dec  9 14:20:42 2002  Stepan Kasal  <kasal@math.cas.cz> | 
|---|
| 2357 |  | 
|---|
| 2358 | * main.c (main): When processing option '-f' don't ignore spaces | 
|---|
| 2359 | if optarg points at the beginning of the current argument | 
|---|
| 2360 | (like ``gawk -f " " file''). | 
|---|
| 2361 |  | 
|---|
| 2362 | 2002-11-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu> | 
|---|
| 2363 |  | 
|---|
| 2364 | * awkgram.y (stopme): Mark parameter with ATTRIBUTE_UNUSED. | 
|---|
| 2365 | (yyerror): Add ATTRIBUTE_PRINTF_1. | 
|---|
| 2366 | * builtin.c (do_systime, do_rand): Likewise. | 
|---|
| 2367 | * field.c (set_field, re_parse_field, def_parse_field, | 
|---|
| 2368 | posix_def_parse_field, null_parse_field, sc_parse_field, | 
|---|
| 2369 | fw_parse_field): Likewise. | 
|---|
| 2370 | * io.c (pidopen, useropen): Likewise. | 
|---|
| 2371 | * main.c (catchsig): Likewise. | 
|---|
| 2372 | * profile.c (init_profiling): Likewise. | 
|---|
| 2373 | * awk.h (err): Add ATTRIBUTE_PRINTF. | 
|---|
| 2374 | * msg.c (err): Delete redundant prototype.  Fix format specifier. | 
|---|
| 2375 |  | 
|---|
| 2376 | Wed Nov 27 06:04:20 2002  Pat Rankin  <rankin@pactechdata.com> | 
|---|
| 2377 |  | 
|---|
| 2378 | * ext.c [#if !DYNAMIC] (do_ext): Cast string value for error node. | 
|---|
| 2379 |  | 
|---|
| 2380 | Sun Nov 24 18:23:29 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2381 |  | 
|---|
| 2382 | From Paul Eggert, with some edits by me. | 
|---|
| 2383 |  | 
|---|
| 2384 | * builtin.c (do_substr): Consistently use floating point | 
|---|
| 2385 | values for lint messages, so they should be printed pretty | 
|---|
| 2386 | much as the user saw them.  Check for overflow before | 
|---|
| 2387 | converting floating point to integer.  Do the right thing with | 
|---|
| 2388 | NaNs. | 
|---|
| 2389 |  | 
|---|
| 2390 | Check for index out-of-range before checking for length | 
|---|
| 2391 | out-of-range, to avoid some nasty effects if address | 
|---|
| 2392 | arithmetic overflows (e.g., indx + length < index). | 
|---|
| 2393 |  | 
|---|
| 2394 | Allow zero-length substrings when checking for lint if | 
|---|
| 2395 | do_lint == LINT_INVALID. | 
|---|
| 2396 |  | 
|---|
| 2397 | Sun Nov 24 18:21:06 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2398 |  | 
|---|
| 2399 | * awk.h (LINT_ALL, LINT_INVALID): New constants. | 
|---|
| 2400 | * main.c (main): Allow --lint=invalid which restricts warning to | 
|---|
| 2401 | things that aren't valid. | 
|---|
| 2402 | * eval.c (set_LINT): Update setting logic. | 
|---|
| 2403 |  | 
|---|
| 2404 | Wed Nov 20 13:14:58 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2405 |  | 
|---|
| 2406 | * awk.h (lintfunc): Improve ifdef for attribute to only | 
|---|
| 2407 | work for GCC 3.2 and later. | 
|---|
| 2408 | * io.c (PIPES_SIMULATED): Don't define if on AIX, which | 
|---|
| 2409 | does define TANDEM in one of its header files. Ugh. | 
|---|
| 2410 |  | 
|---|
| 2411 | Tue Nov 19 15:33:55 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2412 |  | 
|---|
| 2413 | * builtin.c (do_substr): Use %lu in warnings instead of %d. | 
|---|
| 2414 |  | 
|---|
| 2415 | Mon Nov 18 14:42:53 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2416 |  | 
|---|
| 2417 | * config.guess: Synced from ftp.gnu.org. | 
|---|
| 2418 | * config.sub: Ditto. | 
|---|
| 2419 |  | 
|---|
| 2420 | Sun Nov 17 21:32:49 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2421 |  | 
|---|
| 2422 | Updated things to automake 1.7.1. | 
|---|
| 2423 |  | 
|---|
| 2424 | Sun Nov  3 14:33:30 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2425 |  | 
|---|
| 2426 | * eval.c (r_get_lhs): For variables, always clear UNINITIALIZED, | 
|---|
| 2427 | since the variable is about to be assigned to. From Stepan Kasal. | 
|---|
| 2428 |  | 
|---|
| 2429 | Fri Nov  1 11:19:01 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2430 |  | 
|---|
| 2431 | * awk.h (lintfunc): Can only supply attributes for a function | 
|---|
| 2432 | pointer if GCC >= 3.  Added ifdefs.  Bah, humbug. | 
|---|
| 2433 |  | 
|---|
| 2434 | 2002-10-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu> | 
|---|
| 2435 |  | 
|---|
| 2436 | * array.c (array_init, concat_exp, assoc_find, do_delete): | 
|---|
| 2437 | Const-ify. | 
|---|
| 2438 | * awk.h (redirect, set_record, pp_func, pp_string_fp, format_val, | 
|---|
| 2439 | parse_escape, make_regexp, research, reisstring, remaybelong): | 
|---|
| 2440 | Likewise. | 
|---|
| 2441 | * awkgram.y (dumpintlstr, dumpintlstr2, func_use, dup_parms, | 
|---|
| 2442 | var_comp, finfo, fcompare, func_use, dumpintlstr, dumpintlstr2): | 
|---|
| 2443 | Likewise. | 
|---|
| 2444 | * builtin.c (stdfile, do_fflush, do_index, category_table): | 
|---|
| 2445 | Likewise. | 
|---|
| 2446 | * eval.c (push_forloop, push_args, PUSH_BINDING, RESTORE_BINDING, | 
|---|
| 2447 | cmp_nodes, op_assign, loop_info, fcall, fmt_ok, set_LINT, | 
|---|
| 2448 | comp_func): Likewise. | 
|---|
| 2449 | * ext.c (do_ext): Likewise. | 
|---|
| 2450 | * field.c (set_record): Likewise. | 
|---|
| 2451 | * io.c (gawk_popen, two_way_open, binmode, redirect, getredirect, | 
|---|
| 2452 | fatal): Likewise. | 
|---|
| 2453 | * node.c (values, format_val, make_str_node, parse_escape): Likewise. | 
|---|
| 2454 | * profile.c (pp_string, pp_match_op, pp_func, pp_string, | 
|---|
| 2455 | pp_string_fp): Likewise. | 
|---|
| 2456 | * re.c (make_regexp, research, reisstring, remaybelong): Likewise. | 
|---|
| 2457 |  | 
|---|
| 2458 | 2002-10-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu> | 
|---|
| 2459 |  | 
|---|
| 2460 | * awk.h (__attribute__, ATTRIBUTE_UNUSED, ATTRIBUTE_NORETURN, | 
|---|
| 2461 | ATTRIBUTE_PRINTF, ATTRIBUTE_PRINTF_1, __extension__): Define. | 
|---|
| 2462 | (emalloc, erealloc): Fix format specifier warnings. | 
|---|
| 2463 | (do_nextfile):Mark with ATTRIBUTE_NORETURN. | 
|---|
| 2464 | (getredirect): Const-ify. | 
|---|
| 2465 | (msg, error, warning, r_fatal, lintfunc): Mark with | 
|---|
| 2466 | ATTRIBUTE_PRINTF_1. | 
|---|
| 2467 | (r_fatal): Mark with ATTRIBUTE_NORETURN. | 
|---|
| 2468 | * builtin.c (format_tree): Fix format specifier warning. | 
|---|
| 2469 | * eval.c (interpret): Likewise. | 
|---|
| 2470 | * main.c (usage, copyleft, catchsig, nostalgia, version): Mark | 
|---|
| 2471 | with ATTRIBUTE_NORETURN. | 
|---|
| 2472 | * profile.c (dump_and_exit): Likewise. | 
|---|
| 2473 |  | 
|---|
| 2474 | 2002-10-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu> | 
|---|
| 2475 |  | 
|---|
| 2476 | * array.c (array_init): Use ISDIGIT, not isdigit. | 
|---|
| 2477 | * awk.h (m_tree_eval, force_number, force_string): Use | 
|---|
| 2478 | __extension__ in statement expressions. | 
|---|
| 2479 | * main.c (lintfunc): Fix !__SDTC__ case. | 
|---|
| 2480 | * regex_internal.c (calc_state_hash): Fix inline declaration. | 
|---|
| 2481 | * regexec.c (proceed_next_node): Cast assignment to correct type. | 
|---|
| 2482 |  | 
|---|
| 2483 | 2002-10-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu> | 
|---|
| 2484 |  | 
|---|
| 2485 | * awk.h (exp_node, Func_ptr): Add prototype arguments. | 
|---|
| 2486 | * awkgram.y (yystype, token, getfname, nextc, pushback, | 
|---|
| 2487 | allow_newline, yylex): Likewise. | 
|---|
| 2488 | * io.c (wait_any): Likewise. | 
|---|
| 2489 | * profile.c (indent_in, indent_out): Likewise. | 
|---|
| 2490 | * random.h (random): Likewise. | 
|---|
| 2491 |  | 
|---|
| 2492 | 2002-10-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu> | 
|---|
| 2493 |  | 
|---|
| 2494 | * array.c (grow_table): Const-ify. | 
|---|
| 2495 | * awk.h (RE_TRANSLATE_TYPE): Define. | 
|---|
| 2496 | (flagtab, casetable): Const-ify. | 
|---|
| 2497 | (getfname, shadow_funcs, redflags2str): Prototype. | 
|---|
| 2498 | (flags2str, genflags2str, nodetype2str, redflags2str, set_loc, | 
|---|
| 2499 | msg, error, warning, r_fatal): Const-ify. | 
|---|
| 2500 | * awkgram.y (tokentab, snode): Likewise. | 
|---|
| 2501 | * builtin.c (format_tree, do_strftime, | 
|---|
| 2502 | localecategory_from_argument): Likewise. | 
|---|
| 2503 | * eval.c (casetable, nodetypes, nodetype2str, flags2str, | 
|---|
| 2504 | genflags2str): Likewise. | 
|---|
| 2505 | * io.c (redflags2str, socketopen): Likewise. | 
|---|
| 2506 | * main.c (varfile, version_string, lintfunc, optab, copyleft, | 
|---|
| 2507 | varinit, init_vars): Likewise. | 
|---|
| 2508 | * msg.c (srcfile, msg, warning, error, set_loc, r_fatal): | 
|---|
| 2509 | Likewise. | 
|---|
| 2510 | * profile.c (pp_op_assign, pp_match_op, pp_redir): Likewise. | 
|---|
| 2511 | * random.c (sccsid): Likewise. | 
|---|
| 2512 | * version.c, version.in (version_string): Likewise. | 
|---|
| 2513 |  | 
|---|
| 2514 | Tue Oct 29 10:50:52 2002  Arnold D. Robbins   <arnold@skeeve.com> | 
|---|
| 2515 |  | 
|---|
| 2516 | * configure.in: Update version in AC_INIT and AM_INIT_AUTOMAKE | 
|---|
| 2517 | * fixvers: Make grep for pattern a little smarter. | 
|---|
| 2518 |  | 
|---|
| 2519 | Mon Oct 28 16:35:39 2002  Arnold D. Robbins   <arnold@skeeve.com> | 
|---|
| 2520 |  | 
|---|
| 2521 | * awk.h (hash): Now a function pointer. | 
|---|
| 2522 | * array.c (gst_hash_string, scramble): New functions. | 
|---|
| 2523 | (awk_hash): Renamed from hash. | 
|---|
| 2524 | (hash): Now a function pointer. | 
|---|
| 2525 | (array_init): Change hash function based on environment for | 
|---|
| 2526 | experimentation. | 
|---|
| 2527 |  | 
|---|
| 2528 | Mon Oct 28 13:21:20 2002  Arnold D. Robbins   <arnold@skeeve.com> | 
|---|
| 2529 |  | 
|---|
| 2530 | Applied lots of patches from Stepan Kasal, tweaked as needed | 
|---|
| 2531 | for current code base. | 
|---|
| 2532 |  | 
|---|
| 2533 | * node.c (dupnode): When n->stref overfows, flag the node as PERM. | 
|---|
| 2534 | Same for n->ahname_ref. | 
|---|
| 2535 | (unref): Remove the check for n->stref == LONG_MAX and | 
|---|
| 2536 | n->ahname_ref == LONG_MAX. | 
|---|
| 2537 | * awk.h (make_string): The third argument to make_str_node changed | 
|---|
| 2538 | from FALSE to 0, it's not Boolean. | 
|---|
| 2539 | (free_temp): Evaluate the argument only once, so that we | 
|---|
| 2540 | can call free_temp(tree_eval(n)) for achieving side effects. | 
|---|
| 2541 | (load_environ, load_procinfo): Changed return type to NODE *. | 
|---|
| 2542 | * main.c (load_environ): The ENVIRON_node should be created with type | 
|---|
| 2543 | Node_var_array and lnode set to NULL.  Return pointer to the created node | 
|---|
| 2544 | and create an empty hash even on TANDEM. | 
|---|
| 2545 | (load_procinfo): Same mods for PROCINFO_node. | 
|---|
| 2546 | (init_args): ARGV_node should also have lnode set to NULL. | 
|---|
| 2547 | * eval.c (r_tree_eval): case Node_assign moved just above the other | 
|---|
| 2548 | assignment cases. | 
|---|
| 2549 | (op_assign): ++ and -- cases merged with += and -=, respectively. | 
|---|
| 2550 | (push_args): Evaluate all args, even in cases where more args are | 
|---|
| 2551 | supplied then required. | 
|---|
| 2552 | (interpret): In case Node_K_forarray, flag the variable | 
|---|
| 2553 | num_elems also as volatile, so that it survives longjmp() and | 
|---|
| 2554 | can be trusted when linting code. | 
|---|
| 2555 | (r_get_lhs): Case Node_param_list was unreachable (unless | 
|---|
| 2556 | something breaks really badly), remove it; | 
|---|
| 2557 | (r_tree_eval): case Node_var_array removed from the last switch, | 
|---|
| 2558 | it was caught in the first switch above. | 
|---|
| 2559 | * profile.c (tree_eval): Again, case Node_var_array was caught above. | 
|---|
| 2560 | * awkgram.y (variable): Code simplified, making use of the above | 
|---|
| 2561 | changes. | 
|---|
| 2562 | * field.c (sc_parse_field): IGNORECASE only applies to regex based | 
|---|
| 2563 | field-splitting, so remove code that pays attention to it. | 
|---|
| 2564 | (do_split): Don't use parse_field if RS_is_null. | 
|---|
| 2565 | (set_FS): Beware of FS == "\\" even if RS_is_null. | 
|---|
| 2566 |  | 
|---|
| 2567 | Code changes to make things work better: | 
|---|
| 2568 | * field.c (set_FS): Don't use cmp_nodes() to compare old and new | 
|---|
| 2569 | value of FS, that uses IGNORECASE, which is a bad idea. Improve | 
|---|
| 2570 | logic for choosing sc_parse_field.  Ensure that when RS_is_null | 
|---|
| 2571 | but using a single character, that we do pay attention to | 
|---|
| 2572 | case when doing regex splitting. | 
|---|
| 2573 | * io.c (set_RS): Don't use cmp_nodes() to compare old and new | 
|---|
| 2574 | value of RS, that uses IGNORECASE, which is a bad idea. | 
|---|
| 2575 |  | 
|---|
| 2576 | Mon Oct 28 09:43:14 2002  Arnold D. Robbins   <arnold@skeeve.com> | 
|---|
| 2577 |  | 
|---|
| 2578 | * recomp.c (parse_expression): Change return statement into | 
|---|
| 2579 | two so it'll compile for SGI cc. | 
|---|
| 2580 |  | 
|---|
| 2581 | * awk.h (STR, CUR): Changed to STRCUR and NUMCUR respectively, | 
|---|
| 2582 | to avoid conflict with STR on some System V systems.  Changed | 
|---|
| 2583 | in all source files. | 
|---|
| 2584 |  | 
|---|
| 2585 | Thu Oct 24 16:14:34 2002  Arnold D. Robbins   <arnold@skeeve.com> | 
|---|
| 2586 |  | 
|---|
| 2587 | * array.c (AVG_CHAIN_MAX): Now a variable, to allow easy experimentation. | 
|---|
| 2588 | (array_init): Pulls a new value from env var AVG_CHAIN_MAX if it | 
|---|
| 2589 | exists and sets the variable. | 
|---|
| 2590 | * awk.h: Add declaration for array_init(). | 
|---|
| 2591 | * main.c (main): Call array_init(). | 
|---|
| 2592 |  | 
|---|
| 2593 | Tue Oct 22 11:23:56 2002  Arnold D. Robbins   <arnold@skeeve.com> | 
|---|
| 2594 |  | 
|---|
| 2595 | * bisonfix.sed: Updated for current bison. Death to alloca! | 
|---|
| 2596 |  | 
|---|
| 2597 | 2002-10-21  Isamu Hasegawa  <isamu@yamato.ibm.com> | 
|---|
| 2598 |  | 
|---|
| 2599 | * builtin.c (tolower, toupper): Add casts to char* to fix some | 
|---|
| 2600 | compiler warnings. | 
|---|
| 2601 | * eval.c (cmp_nodes): Ditto. | 
|---|
| 2602 | * regcomp.c (peek_token_bracket): Skip the byte already read. | 
|---|
| 2603 |  | 
|---|
| 2604 | Wed Oct 16 15:02:09 2002  Arnold D. Robbins   <arnold@skeeve.com> | 
|---|
| 2605 |  | 
|---|
| 2606 | * io.c (set_RS): Make sure to always call set_FS(). | 
|---|
| 2607 |  | 
|---|
| 2608 | 2002-10-11  Isamu Hasegawa  <isamu@yamato.ibm.com> | 
|---|
| 2609 |  | 
|---|
| 2610 | * regcomp.c (re_compile_fastmap_iter): Remove the handling | 
|---|
| 2611 | OP_CONTEXT_NODE. | 
|---|
| 2612 | (regfree): Likewise. | 
|---|
| 2613 | (create_initial_state): Likewise. | 
|---|
| 2614 | (analyze): Remove the substitutions which became useless. | 
|---|
| 2615 | (calc_first): Likewise. | 
|---|
| 2616 | (calc_epsdest): Use edests of OP_BACK_REF in case that it has | 
|---|
| 2617 | epsilon destination. | 
|---|
| 2618 | (duplicate_node_closure): New function. | 
|---|
| 2619 | (duplicate_node): Remove the handling OP_CONTEXT_NODE. | 
|---|
| 2620 | (calc_inveclosure): Likewise. | 
|---|
| 2621 | (calc_eclosure): Likewise. | 
|---|
| 2622 | (calc_eclosure_iter): Invoke duplicate_node_closure instead of | 
|---|
| 2623 | direct invocation of duplicate_node. | 
|---|
| 2624 | (parse): Don't use comma operator in the return to avoid compiler | 
|---|
| 2625 | warning. | 
|---|
| 2626 | (parse_reg_exp): Likewise. | 
|---|
| 2627 | (parse_branch): Likewise. | 
|---|
| 2628 | (parse_expression): Likewise. | 
|---|
| 2629 | (parse_sub_exp): Likewise. | 
|---|
| 2630 | (parse_dup_op): Likewise. | 
|---|
| 2631 | * regex_internal.c (re_dfa_add_node): Remove the substitutions | 
|---|
| 2632 | which became useless. | 
|---|
| 2633 | (create_ci_newstate): Remove the handling OP_CONTEXT_NODE. | 
|---|
| 2634 | (create_cd_newstate): Likewise. | 
|---|
| 2635 | * posix/regex_internal.h (re_token_type_t): Remove the obsolete type. | 
|---|
| 2636 | (re_token_t): Likewise. | 
|---|
| 2637 | (re_dfa_t): Likewise. | 
|---|
| 2638 | (re_node_set_remove): New macro. | 
|---|
| 2639 | * regexec.c (check_matching): Remove the handling | 
|---|
| 2640 | OP_CONTEXT_NODE. | 
|---|
| 2641 | (check_halt_node_context): Likewise. | 
|---|
| 2642 | (proceed_next_node): Likewise. | 
|---|
| 2643 | (pop_fail_stack): Fix the memory leak. | 
|---|
| 2644 | (set_regs): Likewise. | 
|---|
| 2645 | (free_fail_stack_return): New function. | 
|---|
| 2646 | (sift_states_backward): Fix the memory leak.  Remove the handling | 
|---|
| 2647 | OP_CONTEXT_NODE. | 
|---|
| 2648 | (update_cur_sifted_state): Append some if clause to avoid redundant | 
|---|
| 2649 | call. | 
|---|
| 2650 | (sub_epsilon_src_nodes): Use IS_EPSILON_NODE since it might be a | 
|---|
| 2651 | back reference. | 
|---|
| 2652 | (check_dst_limits): Remove the handling OP_CONTEXT_NODE. | 
|---|
| 2653 | (check_subexp_limits): Likewise. | 
|---|
| 2654 | (search_subexp): Likewise. | 
|---|
| 2655 | (sift_states_bkref): Likewise. | 
|---|
| 2656 | (transit_state_mb): Likewise. | 
|---|
| 2657 | (transit_state_bkref_loop): Likewise. | 
|---|
| 2658 | (transit_state_bkref_loop): Likewise. | 
|---|
| 2659 | (group_nodes_into_DFAstates): Likewise. | 
|---|
| 2660 | (check_node_accept): Likewise. | 
|---|
| 2661 | (sift_ctx_init): Add initializing. | 
|---|
| 2662 |  | 
|---|
| 2663 | Tue Oct 15 14:18:53 2002  Arnold D. Robbins   <arnold@skeeve.com> | 
|---|
| 2664 |  | 
|---|
| 2665 | * eval.c (set_IGNORECASE): Call set_RS() instead of | 
|---|
| 2666 | set_FS_if_not_FIELDWIDTHS().  The former calls the latter | 
|---|
| 2667 | for us, and also makes IGNORECASE affect RS like it's supposed to. | 
|---|
| 2668 | * field.c (FS_re_yes_case, FS_re_no_case): New variables. | 
|---|
| 2669 | (set_FS): Smarten up routine to not recompile FS_regexp if all | 
|---|
| 2670 | that's changed is IGNORECASE or if switching back to FS from | 
|---|
| 2671 | FIELDWIDTHS.  Significant speed-up for cases where IGNORECASE | 
|---|
| 2672 | is assigned to for every record. | 
|---|
| 2673 | * io.c (RS_re_yes_case, RS_re_no_case): New variables. | 
|---|
| 2674 | (set_RS): Similar changes as to set_FS().  In particular, | 
|---|
| 2675 | IGNORECASE changing now affects record splitting too. | 
|---|
| 2676 | * re.c (refree): Set rp->pat.tranaslate to NULL. It comes | 
|---|
| 2677 | from casetable and shouldn't be freed. (Strictly necessary | 
|---|
| 2678 | only for old regex, but a good idea anyway). | 
|---|
| 2679 | Also, call regfree(& rp->pat) instead of manually free()ing | 
|---|
| 2680 | things, since there's dynamically allocated stuff hiding in | 
|---|
| 2681 | the buffer. Avoids a memory leak. | 
|---|
| 2682 |  | 
|---|
| 2683 | Mon Oct 14 12:02:39 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2684 |  | 
|---|
| 2685 | Major space reduction in array management.  Overhead reduced | 
|---|
| 2686 | to two NODE's per element from three. | 
|---|
| 2687 |  | 
|---|
| 2688 | * awk.h (ahash): Union is gone. | 
|---|
| 2689 | (hash.ref): new union member. | 
|---|
| 2690 | (ahnext): new definition into hash union. | 
|---|
| 2691 | (ahvalue): new definition into hash union. | 
|---|
| 2692 | (ahname_str): new member, points into hash union. | 
|---|
| 2693 | (ahname_len): new member, points into hash union. | 
|---|
| 2694 | (ahname_ref): new member, points into hash union. | 
|---|
| 2695 | * array.c: Replaces uses of ahname member with string and | 
|---|
| 2696 | length.  Set the reference count correctly to 1 on new nodes. | 
|---|
| 2697 | * eval.c (interpret): Case for Node_K_arrayfor.  dupnode() the | 
|---|
| 2698 | array indices, and set loop variable to new value made via | 
|---|
| 2699 | make_string(). | 
|---|
| 2700 | * node.c (unref, dupnode): Node_ahash nodes are now also | 
|---|
| 2701 | reference counted, a la strings.  Similar code is used to | 
|---|
| 2702 | increment/decrement the counts, and/or copy nodes as | 
|---|
| 2703 | needed. | 
|---|
| 2704 |  | 
|---|
| 2705 | Unrelated: | 
|---|
| 2706 | * awk.h (forsub): Removed. Not used. | 
|---|
| 2707 |  | 
|---|
| 2708 | Sun Oct 13 16:58:27 2002  Stepan Kasal  <kasal@math.cas.cz> | 
|---|
| 2709 |  | 
|---|
| 2710 | * profile.c (pprint): #undef the temporary defines at the end | 
|---|
| 2711 | of the case. | 
|---|
| 2712 | * eval.c (interpret): Likewise. | 
|---|
| 2713 | (assign_val): we can unref() before doing dupnode(). | 
|---|
| 2714 | Also, move the check for NF < 0 from here ... | 
|---|
| 2715 | * field.c (set_NF): ... to here. | 
|---|
| 2716 | * main.c (varinit): no need to call set_NF(). | 
|---|
| 2717 | * awkgram.y (statements): don't be so generous when concatenating | 
|---|
| 2718 | `statements' with a `statement'. | 
|---|
| 2719 |  | 
|---|
| 2720 |  | 
|---|
| 2721 | 2002-10-13  Isamu Hasegawa  <isamu@yamato.ibm.com> | 
|---|
| 2722 |  | 
|---|
| 2723 | * regcomp.c: Synced with development sources. | 
|---|
| 2724 | * regex_internal.c: Synced with development sources. | 
|---|
| 2725 | * regex_internal.h: Synced with development sources. | 
|---|
| 2726 | * regexec.c: Synced with development sources. | 
|---|
| 2727 |  | 
|---|
| 2728 | Sun Oct 13 21:35:35 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2729 |  | 
|---|
| 2730 | * awk.h (NODE): reflags is now unsigned long for: | 
|---|
| 2731 | (exec_count): defined to be sub.nodep.reflags.  Using `number' | 
|---|
| 2732 | broke pgawk. | 
|---|
| 2733 | * profile.c (Node_K_delete_loop): print out as a for loop | 
|---|
| 2734 | with a comment that it's internally the same as `delete array'. | 
|---|
| 2735 | * eval.c (Node_K_delete_loop): Increment the exec_count. Ooops. | 
|---|
| 2736 | * configure.in (AM_GNU_GETTEXT_VERSION): New macro call. | 
|---|
| 2737 | * custom.h: Updated description of the file at the top. | 
|---|
| 2738 |  | 
|---|
| 2739 | Thu Oct 10 16:39:51 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2740 |  | 
|---|
| 2741 | * awk.h (vname, exec_count): Now macros into different | 
|---|
| 2742 | parts of the NODE structure that can be safely used for them. | 
|---|
| 2743 | Saves 16 bytes per NODE. | 
|---|
| 2744 | * eval.c: Changed use of `vname' to `varname' to avoid new | 
|---|
| 2745 | macro. | 
|---|
| 2746 | * main.c (lintfunc): Made ifdefed decls match awk.h. | 
|---|
| 2747 | * eval.c (comp_func): Use memcmp instead of strcmp. | 
|---|
| 2748 | * configure.in (AC_CONFIG_HEADER): Physically append custom.h | 
|---|
| 2749 | to config.h to avoid subdir compiliation problems. | 
|---|
| 2750 |  | 
|---|
| 2751 | Sun Oct  6 17:36:15 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2752 |  | 
|---|
| 2753 | Updated to automake 1.7 and bison 1.50. | 
|---|
| 2754 |  | 
|---|
| 2755 | * INSTALL: Replaced with current version from automake 1.7. | 
|---|
| 2756 | * config.guess: Replaced with current version from automake 1.7. | 
|---|
| 2757 | * config.sub: Replaced with current version from automake 1.7. | 
|---|
| 2758 | * depcomp: Replaced with current version from automake 1.7. | 
|---|
| 2759 | * doc/texinfo.tex: Replaced with current version from automake 1.7. | 
|---|
| 2760 | * install-sh: Replaced with current version from automake 1.7. | 
|---|
| 2761 | * missing: Replaced with current version from automake 1.7. | 
|---|
| 2762 | * mkinstalldirs: Replaced with current version from automake 1.7. | 
|---|
| 2763 | * ylwrap: Replaced with current version from automake 1.7. | 
|---|
| 2764 |  | 
|---|
| 2765 | * configure.in (DYNAMIC):  Updated AC_DEFINE(DYNAMIC) to | 
|---|
| 2766 | three-argument form for autoheader. | 
|---|
| 2767 | * acinclude.m4: Removed includes of jm-mktime.m4 and | 
|---|
| 2768 | largefile.m4, which are now standard parts of Autoconf. | 
|---|
| 2769 |  | 
|---|
| 2770 | * Makefile.in: Regenerated. | 
|---|
| 2771 | * aclocal.m4: Regenerated. | 
|---|
| 2772 | * awkgram.c: Regenerated. | 
|---|
| 2773 | * awklib/Makefile.in: Regenerated. | 
|---|
| 2774 | * configure: Regenerated. | 
|---|
| 2775 | * doc/Makefile.in: Regenerated. | 
|---|
| 2776 | * test/Makefile.in: Regenerated. | 
|---|
| 2777 |  | 
|---|
| 2778 | Sun Sep 29 16:47:49 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2779 |  | 
|---|
| 2780 | * custom.h (__WIN32__): Added from gnuwin32 project, via | 
|---|
| 2781 | Stepan Kasal. | 
|---|
| 2782 |  | 
|---|
| 2783 | * awkgram.y: For tawk compatibility, added `delete(array)'. | 
|---|
| 2784 | To remain undocumented, since it's WAY non-standard. | 
|---|
| 2785 |  | 
|---|
| 2786 | Sun Sep 22 22:23:50 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2787 |  | 
|---|
| 2788 | * awk.h (re_cnt): Removed, not needed since no dfa code. | 
|---|
| 2789 | * awkgram.y (regexp, a_regexp): Removed use of re_cnt. | 
|---|
| 2790 | * re.c (re_update): Ditto. | 
|---|
| 2791 |  | 
|---|
| 2792 | Thu Sep 19 10:55:37 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2793 |  | 
|---|
| 2794 | * io.c (binmode): Create function if defined(WIN32) also. | 
|---|
| 2795 |  | 
|---|
| 2796 | Updated to gettext 0.11.5, autoconf 2.54 and automake 1.6.3. | 
|---|
| 2797 |  | 
|---|
| 2798 | * aclocal.m4: Regenerated. | 
|---|
| 2799 | * m4/codeset.m4: Updated. | 
|---|
| 2800 | * m4/gettext.m4: Updated. | 
|---|
| 2801 | * m4/glibc21.m4: Updated. | 
|---|
| 2802 | * m4/iconv.m4: Updated. | 
|---|
| 2803 | * m4/lcmessage.m4: Updated. | 
|---|
| 2804 | * m4/lib-ld.m4: Updated. | 
|---|
| 2805 | * m4/lib-link.m4: Updated. | 
|---|
| 2806 | * m4/lib-prefix.m4: Updated. | 
|---|
| 2807 | * m4/progtest.m4: Updated. | 
|---|
| 2808 | * po/Makefile.in.in: Updated. | 
|---|
| 2809 | * po/Rules-quot: Updated. | 
|---|
| 2810 | * po/boldquot.sed: Updated. | 
|---|
| 2811 | * po/en@boldquot.header: Updated. | 
|---|
| 2812 | * po/en@quot.header: Updated. | 
|---|
| 2813 | * po/insert-header.sin: Updated. | 
|---|
| 2814 | * po/quot.sed: Updated. | 
|---|
| 2815 | * po/remove-potcdate.sin: Updated. | 
|---|
| 2816 |  | 
|---|
| 2817 | Tue Sep 17 23:46:01 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2818 |  | 
|---|
| 2819 | * configure.in: Moved override of INSTALL to just after | 
|---|
| 2820 | AC_INIT so that it takes effect. Necessary for Autoconf 2.5x. | 
|---|
| 2821 |  | 
|---|
| 2822 | Mon Sep 16 16:40:57 2002  Stepan Kasal  <kasal@math.cas.cz> | 
|---|
| 2823 |  | 
|---|
| 2824 | * awkgram.y (want_assign): Removed. | 
|---|
| 2825 | (SLASH_BEFORE_EQUAL, ASSIGN): New terminals; ``/='' is now | 
|---|
| 2826 | formed from these two. | 
|---|
| 2827 | (a_slash): New non-terminal, representing either '/' or | 
|---|
| 2828 | SLASH_BEFORE_EQUAL. | 
|---|
| 2829 | (assign_operator): New non-terminal, replaces ASSIGNOP. | 
|---|
| 2830 | (REGEXP): yylex now eats the terminating '/' before | 
|---|
| 2831 | returning REGEXP token. | 
|---|
| 2832 | (exp): The check for C-like comments moved from here | 
|---|
| 2833 | (regexp): ... to here. | 
|---|
| 2834 | (common_exp): New non-terminal; contains common parts of exp | 
|---|
| 2835 | and rexp.  (a_relop, relop_or_less): New non-terminals. | 
|---|
| 2836 | (rexp): some rules updated to be analogous to exp. | 
|---|
| 2837 | (output_redir): Can contain only common_exp, not exp in general. | 
|---|
| 2838 |  | 
|---|
| 2839 | Mon Sep 16 22:51:51 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2840 |  | 
|---|
| 2841 | * io.c (two_way_open): Move label use_pipes outsidef of ifdef, | 
|---|
| 2842 | just in case. | 
|---|
| 2843 |  | 
|---|
| 2844 | Thu Sep 12 15:11:28 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2845 |  | 
|---|
| 2846 | * awkgram.y (getfname): Return NULL if not found, remove | 
|---|
| 2847 | fatal error.  Could be an extension function. | 
|---|
| 2848 | (dump_funcs): Walk symbol table counting functions before | 
|---|
| 2849 | mallocing table, since there could be extension functions, | 
|---|
| 2850 | func_count could be too small. | 
|---|
| 2851 | * profile.c (pp_builtin): Handle NULL return from getfname(). | 
|---|
| 2852 | Print it as "extension_function()" if so. | 
|---|
| 2853 |  | 
|---|
| 2854 | Tue Sep 10 17:33:48 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2855 |  | 
|---|
| 2856 | Minor code simplification. | 
|---|
| 2857 |  | 
|---|
| 2858 | * awk.h (in_array): Change return type to NODE*. | 
|---|
| 2859 | (assoc_exists): Remove declaration. | 
|---|
| 2860 | * array.c (in_array): Change return type to NODE *. | 
|---|
| 2861 | Return value is pointer to element value or NULL. | 
|---|
| 2862 | (assoc_exists): Removed function. | 
|---|
| 2863 | * eval.c (r_tree_eval): Case Node_in_array, change value | 
|---|
| 2864 | to test return of in_array() against NULL. | 
|---|
| 2865 | * io.c (pty_vs_pipes): Change test to make a tmp_string() | 
|---|
| 2866 | of the index and call in_array().  Add free_temp() of | 
|---|
| 2867 | subscript and free() of full_index (oops). | 
|---|
| 2868 |  | 
|---|
| 2869 | 2002-09-10  Isamu Hasegawa  <isamu@yamato.ibm.com> | 
|---|
| 2870 |  | 
|---|
| 2871 | * posix/regcomp.c: Wrap #include wchar.h and wctype.h in #if. | 
|---|
| 2872 | (build_range_exp): Add castings to strlen invocations. | 
|---|
| 2873 | (build_collating_symbol): Restore the type of characters from "char" | 
|---|
| 2874 | to "unsigned char", and supplement castings. | 
|---|
| 2875 | (build_collating_symbol): Likewise. | 
|---|
| 2876 | (build_equiv_class): Likewise. | 
|---|
| 2877 | (build_charclass): Likewise. | 
|---|
| 2878 | (seek_collating_symbol_entry): Likewise. | 
|---|
| 2879 | (parse_bracket_exp): Likewise. | 
|---|
| 2880 | (build_word_op): Supplement a casting. | 
|---|
| 2881 | * posix/regex_internal.c: Wrap #include wchar.h and wctype.h in #if. | 
|---|
| 2882 | (re_string_allocate): Fix castings. | 
|---|
| 2883 | (re_string_construct): Likewise. | 
|---|
| 2884 | (re_string_construct_common): Likewise. | 
|---|
| 2885 | (re_string_realloc_buffers): Likewise. | 
|---|
| 2886 | (build_wcs_buffer): Likewise. | 
|---|
| 2887 | (build_wcs_upper_buffer): Likewise. | 
|---|
| 2888 | (re_string_skip_chars): Likewise. | 
|---|
| 2889 | (re_string_reconstruct): Likewise. | 
|---|
| 2890 | * posix/regex_internal.h: Restore the type of characters in | 
|---|
| 2891 | re_string_t and bracket_elem_t from "char" to "unsigned char". | 
|---|
| 2892 | (re_string_elem_size_at): Fix castings. | 
|---|
| 2893 | * posix/regexec.c: Wrap #include wchar.h and wctype.h in #if. | 
|---|
| 2894 | (transit_state_bkref_loop): Restore the type of characters from | 
|---|
| 2895 | "char" to "unsigned char", and append a cast to "char*" pointer in | 
|---|
| 2896 | array subscript. | 
|---|
| 2897 | (check_node_accept_bytes): Likewise. | 
|---|
| 2898 | (find_collation_sequence_value): Likewise. | 
|---|
| 2899 |  | 
|---|
| 2900 | Thu Sep  5 13:15:09 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2901 |  | 
|---|
| 2902 | * re.c (remaybelong): New routine. | 
|---|
| 2903 | (reisstring): Simplified the code a bit. | 
|---|
| 2904 | * awk.h (remaybelong): Declaration added. | 
|---|
| 2905 | * io.c (get_a_record): Change fourth grungy special case to | 
|---|
| 2906 | use remaybelong() instead of strchr() on last character. | 
|---|
| 2907 |  | 
|---|
| 2908 | Wed Sep  4 13:20:26 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2909 |  | 
|---|
| 2910 | * io.c (do_input): Recode guts of main loop to be easier | 
|---|
| 2911 | to trace with a debugger. | 
|---|
| 2912 | (get_a_record): Fourth grungy special case for RE-based | 
|---|
| 2913 | record splitting added.  See explanatory comments there | 
|---|
| 2914 | and test/rebuf.awk. | 
|---|
| 2915 |  | 
|---|
| 2916 | 2002-09-03  Isamu Hasegawa  <isamu@yamato.ibm.com> | 
|---|
| 2917 |  | 
|---|
| 2918 | * posix/regcomp.c (regcomp): Append "__restrict" modifier to avoid | 
|---|
| 2919 | warnings of some compilers. | 
|---|
| 2920 | (build_collating_symbol): Change the type of characters from | 
|---|
| 2921 | "unsigned char" to "char", and append a cast to "char*" pointer in | 
|---|
| 2922 | array subscript. | 
|---|
| 2923 | (build_collating_symbol): Likewise. | 
|---|
| 2924 | (build_equiv_class): Likewise. | 
|---|
| 2925 | (build_charclass): Likewise. | 
|---|
| 2926 | (re_compile_pattern): Remove incorrect cast. | 
|---|
| 2927 | (re_compile_fastmap_iter): Change the type of characters from | 
|---|
| 2928 | "unsigned char" to "char", and append a cast to "char*" pointer | 
|---|
| 2929 | in array subscript. | 
|---|
| 2930 | (parse_bracket_exp): Likewise. | 
|---|
| 2931 | * posix/regex_internal.c (re_string_construct_common): Likewise. | 
|---|
| 2932 | (re_string_allocate): Likewise. | 
|---|
| 2933 | (re_string_construct): Likewise. | 
|---|
| 2934 | (re_string_realloc_buffers): Likewise. | 
|---|
| 2935 | (build_wcs_buffer): Likewise. | 
|---|
| 2936 | (re_string_reconstruct): Likewise. | 
|---|
| 2937 | * posix/regex_internal.h: Change the type of characters in | 
|---|
| 2938 | re_string_t and bracket_elem_t from "unsigned char" to "char". | 
|---|
| 2939 | * posix/regexec.c (regexec): Append "__restrict" modifier to avoid | 
|---|
| 2940 | warnings of some compilers. | 
|---|
| 2941 | (transit_state_bkref_loop): Change the type of characters from | 
|---|
| 2942 | "unsigned char" to "char", and append a cast to "char*" pointer in | 
|---|
| 2943 | array subscript. | 
|---|
| 2944 | (check_node_accept_bytes): Likewise. | 
|---|
| 2945 | (find_collation_sequence_value): Likewise. | 
|---|
| 2946 |  | 
|---|
| 2947 | Wed Aug 21 15:40:36 2002  Corinna Vinschen  <vinschen@redhat.com> | 
|---|
| 2948 |  | 
|---|
| 2949 | * configure.in: Define --without-libintl-prefix and | 
|---|
| 2950 | --without-libiconv-prefix for Cygwin by default. | 
|---|
| 2951 | * Makefile.am: Call fixvers from $(srcdir). | 
|---|
| 2952 | * awk.h: Don't define O_BINARY on Cygwin. | 
|---|
| 2953 |  | 
|---|
| 2954 | Wed Aug 21 15:31:57 2002  Andreas Buening  <andreas.buening@nexgo.de> | 
|---|
| 2955 |  | 
|---|
| 2956 | * configure.in (AC_OBJEXT, AC_EXEEXT): Added. Removed OS/2 goo. | 
|---|
| 2957 | * Makefile.am (check-local): Add $(EXEEXT) suffixes, remove OS/2 goo. | 
|---|
| 2958 | * regcomp.c, regex_internal.c, regexec.c: Conditionalize include of | 
|---|
| 2959 | <wchar.h> and <wctype.h> on RE_ENABLE_I18N. | 
|---|
| 2960 |  | 
|---|
| 2961 | Wed Aug 21 14:43:57 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2962 |  | 
|---|
| 2963 | * gettext.h (ENABLE_NLS): Add include of locale.h so that things | 
|---|
| 2964 | compile even without optimization. Sheesh. | 
|---|
| 2965 | * io.c (two_way_open, pty_vs_pipes): Conditionalize pty code on | 
|---|
| 2966 | HAVE_TERMIOS_H. | 
|---|
| 2967 |  | 
|---|
| 2968 | Thu Aug  8 22:16:10 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2969 |  | 
|---|
| 2970 | * main.c (main): Force LC_NUMERIC locale to "C", esp. for | 
|---|
| 2971 | M$ systems. Ugh. | 
|---|
| 2972 |  | 
|---|
| 2973 | Wed Aug  7 13:42:01 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2974 |  | 
|---|
| 2975 | * io.c (get_a_record): Improve test for newlines at beginning of | 
|---|
| 2976 | record but with nothing following it. See test/nulrsend. | 
|---|
| 2977 |  | 
|---|
| 2978 | Mon Aug  5 10:12:39 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 2979 |  | 
|---|
| 2980 | Add option to use ptys instead of pipes for |&. | 
|---|
| 2981 | Basic plumbing originally from Paolo Bonzini <bonzini@gnu.org>. | 
|---|
| 2982 |  | 
|---|
| 2983 | * awk.h (RED_PTY): New flag. | 
|---|
| 2984 | (assoc_exists): Add declaration. | 
|---|
| 2985 | * array.c (in_array): Use FALSE not zero for return value. | 
|---|
| 2986 | (assoc_exists): New routine to find and return value for an index | 
|---|
| 2987 | in an array. | 
|---|
| 2988 | * configure.in: test for termios.h and stropts.h, and grantpt function. | 
|---|
| 2989 | * io.c: include termios.h and stropts.h if available. | 
|---|
| 2990 | (redflags2str): Add RED_PTY to table. | 
|---|
| 2991 | (redirect): Add RED_PTY to flags turned off when searching. | 
|---|
| 2992 | (close_redir): close write channel for two-way pipes | 
|---|
| 2993 | that use ptys by sending an EOF. | 
|---|
| 2994 | (two_way_open): If pty_vs_pipe(), use pty's to open two-way pipes as | 
|---|
| 2995 | they are line-buffered by default --> alleviates deadlock problems. | 
|---|
| 2996 | If fails, fall back to using pipes. | 
|---|
| 2997 | (pty_vs_pipe): New function. | 
|---|
| 2998 | * main.c (arg_assign): Clean up English in some of the error messages. | 
|---|
| 2999 |  | 
|---|
| 3000 | Sun Aug  4 00:37:38 2002  Stepan Kasal  <kasal@math.cas.cz> | 
|---|
| 3001 |  | 
|---|
| 3002 | * re.c (make_regexp): don't pass the error message returned by | 
|---|
| 3003 | re_compile_pattern() to gettext(); it's already gettextized. | 
|---|
| 3004 | (make_regexp): minor reformat of code. | 
|---|
| 3005 |  | 
|---|
| 3006 | Wed Jul 31 23:50:31 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3007 |  | 
|---|
| 3008 | Removed dfa code from gawk since not really needed with new regex. | 
|---|
| 3009 |  | 
|---|
| 3010 | * Makefile.am: Removed dfa.h and dfa.c. | 
|---|
| 3011 | * awk.h (struct Regexp): Removed `dfareg' and `dfa' members. | 
|---|
| 3012 | (make_regexp): Last parameter in function went away, changed decl. | 
|---|
| 3013 | (avoid_dfa): Removed declaration. | 
|---|
| 3014 | * awkgram.y: Fixed call to make_regexp(). | 
|---|
| 3015 | * eval.c (match_op): Simplified: removed call to avoid_dfa() and | 
|---|
| 3016 | `kludge_need_start' variable. Instead, pass FALSE as last parameter | 
|---|
| 3017 | of research(). | 
|---|
| 3018 | * field.c (set_FS): Fixed call to make_regexp(). | 
|---|
| 3019 | * io.c (get_a_record, set_RS): Fixed calls to make_regexp(). | 
|---|
| 3020 | * re.c (make_regexp): Removed last paramter (`dfa') from function. | 
|---|
| 3021 | Simplified the code. | 
|---|
| 3022 | (research): Simplified the code, removed calls to dfa stuff. | 
|---|
| 3023 | (dfaerror): Removed function. | 
|---|
| 3024 | (re_update): Fixed call to make_regexp(). | 
|---|
| 3025 | (avoid_dfa): Removed function. | 
|---|
| 3026 |  | 
|---|
| 3027 | Thu Jul 25 21:55:45 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3028 |  | 
|---|
| 3029 | * regcomp.c, regex_internal.c, regex_internal.h, regexec.c: Bug | 
|---|
| 3030 | fixes from Isamu Hasegawa  <isamu@yamato.ibm.com> and Stepan Kasal | 
|---|
| 3031 | <kasal@math.cas.cz> applied. | 
|---|
| 3032 |  | 
|---|
| 3033 | Sat Jul  6 23:28:37 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3034 |  | 
|---|
| 3035 | * awkgram.y (yyerror): Change text of unexpected newline message to | 
|---|
| 3036 | include end of string. | 
|---|
| 3037 |  | 
|---|
| 3038 | Mon Jun 17 17:58:55 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3039 |  | 
|---|
| 3040 | * field.c (do_split): Per Michal Jaegermann, move free_temp(fs) | 
|---|
| 3041 | above label `out'. | 
|---|
| 3042 |  | 
|---|
| 3043 | Tue Jun 11 23:26:09 2002  Paul Eggert  <eggert@twinsun.com> | 
|---|
| 3044 |  | 
|---|
| 3045 | Update to autoconf 2.53 and automake 1.6.1. | 
|---|
| 3046 |  | 
|---|
| 3047 | * acconfig.h: Removed. | 
|---|
| 3048 | * m4/isc-posix.m4: Removed. | 
|---|
| 3049 | * m4/jm-mktime.m4: Removed. | 
|---|
| 3050 | * m4/largefile.m4: Removed. | 
|---|
| 3051 | * m4/ssize_t.m4: Removed. | 
|---|
| 3052 | * ansi2knr.c: updated. | 
|---|
| 3053 | * depcomp: updated. | 
|---|
| 3054 | * install-sh: updated. | 
|---|
| 3055 | * missing: updated. | 
|---|
| 3056 | * mkinstalldirs: updated. | 
|---|
| 3057 | * ylwrap: updated. | 
|---|
| 3058 |  | 
|---|
| 3059 | * configure.in: Improved quoting. | 
|---|
| 3060 | * acinclude.m4: Use `m4_sinclude', not antiquated `sinclude'. | 
|---|
| 3061 |  | 
|---|
| 3062 | Tue Jun 11 23:08:40 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3063 |  | 
|---|
| 3064 | * configure.in: Add `getgrent' to list of functions checked | 
|---|
| 3065 | so that awklib/grcat is compiled correctly. | 
|---|
| 3066 |  | 
|---|
| 3067 | Tue Jun 11 22:18:42 2002  Stepan Kasal  <kasal@math.cas.cz> | 
|---|
| 3068 |  | 
|---|
| 3069 | Improve argument parsing and -v assignment. | 
|---|
| 3070 |  | 
|---|
| 3071 | * awk.h (struct src): Add additional enum values. | 
|---|
| 3072 | (arg_assign): Return type and arg list changes. | 
|---|
| 3073 | * io.c (nextfile): Add extra arg in call to `arg_assign'. | 
|---|
| 3074 | * main.c (pre_assign): Nuked. | 
|---|
| 3075 | (allocfiles): New variable. | 
|---|
| 3076 | (srcfiles_add, preassigns_add): New macros. | 
|---|
| 3077 | (main): Logic cleaned up. | 
|---|
| 3078 | (add_src): New function. | 
|---|
| 3079 |  | 
|---|
| 3080 | Use `size_t' for optimal_bufsize function. | 
|---|
| 3081 |  | 
|---|
| 3082 | * awkgram.y (yylex): `len' is now size_t. | 
|---|
| 3083 | * pc/gawkmisc.pc (optimal_bufsize): Change return type to size_t. | 
|---|
| 3084 | * posix/gawkmisc.c (optimal_bufsize): Change return type to size_t. | 
|---|
| 3085 | * unsupported/atari/gawkmisc.atr (optimal_bufsize): Change return type | 
|---|
| 3086 | to size_t. | 
|---|
| 3087 | * unsupported/tandem/tmisc.c (optimal_bufsize): Change return type to size_t. | 
|---|
| 3088 | * vms/gawkmisc.vms (optimal_bufsize): Change return type to size_t. | 
|---|
| 3089 | * README_d/README.hpux: New file. | 
|---|
| 3090 |  | 
|---|
| 3091 | Fri May 24 12:23:01 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3092 |  | 
|---|
| 3093 | * profile.c (init_profiling): Remove default initialization | 
|---|
| 3094 | of `prof_fp' to stderr. Per Stepan Kasal <kasal@math.cas.cz>. | 
|---|
| 3095 |  | 
|---|
| 3096 | Wed May 15 15:39:17 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3097 |  | 
|---|
| 3098 | Work through builtin operations to make sure that | 
|---|
| 3099 | anything that might have side effects gets dealt with. | 
|---|
| 3100 |  | 
|---|
| 3101 | * array.c (do_delete): Evaluate subscript first before | 
|---|
| 3102 | checking if something is or isn't an array. | 
|---|
| 3103 | * builtin.c (sub_common): Evaluate replacement text, and | 
|---|
| 3104 | free it if no match of regex in source text. | 
|---|
| 3105 |  | 
|---|
| 3106 | Wed May 15 15:30:34 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3107 |  | 
|---|
| 3108 | Switch to new version of regex from IBM Japan. | 
|---|
| 3109 |  | 
|---|
| 3110 | * regcomp.c: New file. | 
|---|
| 3111 | * regex.c: Replaced with new version. | 
|---|
| 3112 | * regex.h: Replaced with new version. | 
|---|
| 3113 | * regex_internal.c: New file. | 
|---|
| 3114 | * regex_internal.h: New file. | 
|---|
| 3115 | * regexec.c: New file. | 
|---|
| 3116 | * Makefile.am (EXTRA_SOURCES): New files added. | 
|---|
| 3117 |  | 
|---|
| 3118 | Tue May 14 17:04:05 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3119 |  | 
|---|
| 3120 | * awk.h (<locale.h>): Move check and include into gettext.h. | 
|---|
| 3121 | * gettext.h (<locale.h>): Add check and include per patch from | 
|---|
| 3122 | Bruno Haible. | 
|---|
| 3123 |  | 
|---|
| 3124 | * field.c (do_split):  When checking for split of null string, | 
|---|
| 3125 | evaluate seperator if it's not FS, since could have side effects. | 
|---|
| 3126 | At end, free_temp(fs), not free_temp(sep). | 
|---|
| 3127 | Both of these thanks to Stepan Kasal <kasal@math.cas.cz>. | 
|---|
| 3128 |  | 
|---|
| 3129 | Mon May 13 00:41:31 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3130 |  | 
|---|
| 3131 | * custom.h (ultrix): Add define GETGROUPS_NOT_STANDARD. | 
|---|
| 3132 | * main.c (init_groupset): For GETGROUPS_NOT_STANDARD, use old way | 
|---|
| 3133 | to set `ngroups'. | 
|---|
| 3134 |  | 
|---|
| 3135 | 2002-05-10  Andreas Schwab  <schwab@suse.de> | 
|---|
| 3136 |  | 
|---|
| 3137 | * dfa.c (parse_bracket_exp_mb): Fix warning. | 
|---|
| 3138 |  | 
|---|
| 3139 | Thu May  9 22:28:32 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3140 |  | 
|---|
| 3141 | * builtin.c (sub_common): Fix logic for match of null strings to | 
|---|
| 3142 | get correct semantics.  See test/gsubtst2.*. | 
|---|
| 3143 | * field.c (do_split): Minor code cleanup; the third arg to split() | 
|---|
| 3144 | is set to be FS by the grammar, so don't need to check it for NULL. | 
|---|
| 3145 | Thanks to Stepan Kasal <kasal@math.cas.cz>. | 
|---|
| 3146 | * awk.h (locale.h): Move include before that of "gettext.h" for systems | 
|---|
| 3147 | that define functions that gettext.h would use when NLS is disabled. | 
|---|
| 3148 | Per bug report from Ayamura Kikuchi <ayamura@ayamura.org>. | 
|---|
| 3149 |  | 
|---|
| 3150 | Tue May  7 17:31:01 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3151 |  | 
|---|
| 3152 | Miscellanious patches courtesy of Stepan Kasal <kasal@math.cas.cz>. | 
|---|
| 3153 |  | 
|---|
| 3154 | * field.c, main.c: Tidy up some comments. | 
|---|
| 3155 | * field.c (set_FIELDWIDTHS): Init fw_alloc to 4 so it isn't | 
|---|
| 3156 | immediately realloced. | 
|---|
| 3157 | * main.c (load_procinfo): Check value of FS/FIELDWIDTHS for | 
|---|
| 3158 | value of PROCINFO["FS"]. | 
|---|
| 3159 | * awk.h (set_FS_if_not_FIELDWIDTHS): Removed decl. | 
|---|
| 3160 | * field.c (set_FS_if_not_FIELDWIDTHS): Removed function. | 
|---|
| 3161 | * eval.c (set_IGNORECASE): Use inline code checking `using_fieldwidths()'. | 
|---|
| 3162 | * io.c (set_IGNORECASE): Ditto. | 
|---|
| 3163 |  | 
|---|
| 3164 | Sun May  5 14:28:34 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3165 |  | 
|---|
| 3166 | Fix a memory leak in array for loops if the body contains a | 
|---|
| 3167 | `next' or `nextfile' statement.  The changes maintain a stack | 
|---|
| 3168 | of active for loops that is pushed and popped for each loop, | 
|---|
| 3169 | and popped entirely for `next', `nextfile', etc. | 
|---|
| 3170 |  | 
|---|
| 3171 | * eval.c (forloops_active, pop_forloop, pop_all_forloops, push_forloop): | 
|---|
| 3172 | new functions. | 
|---|
| 3173 | (interpret): Case Node_K_arrayfor, call push and pop functions. | 
|---|
| 3174 | Case Node_rule_list: pop loops and pop fcalls after longjmp. | 
|---|
| 3175 | Cases Node_K_next, Node_K_nextfile, Node_K_break and | 
|---|
| 3176 | Node_K_continue, removed check before longjmp. | 
|---|
| 3177 | Case Node_K_exit: add loop check. | 
|---|
| 3178 | (loop_stack, nloops, nloops_active): New variables that implement | 
|---|
| 3179 | the stack. | 
|---|
| 3180 |  | 
|---|
| 3181 | Wed May  1 16:41:32 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3182 |  | 
|---|
| 3183 | * Release 3.1.1: Release tar file made. | 
|---|
| 3184 |  | 
|---|
| 3185 | Wed May  1 16:07:49 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3186 |  | 
|---|
| 3187 | * getopt.c: Installed latest version from glibc. | 
|---|
| 3188 |  | 
|---|
| 3189 | Sun Apr 28 17:19:07 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3190 |  | 
|---|
| 3191 | * fixvers: Changed patterns to allow test versions of the | 
|---|
| 3192 | form `gawk-3.1.1a'. | 
|---|
| 3193 | * patchlev.h: Patchlevel is now a string constant. | 
|---|
| 3194 | * main.c (version): Print patchlevel using %s, not %d. | 
|---|
| 3195 | * Makefile.am: Rework DEFPATH stuff and datadir stuff yet again. | 
|---|
| 3196 |  | 
|---|
| 3197 | * config.sub: Updated with current version from ftp.gnu.org. | 
|---|
| 3198 | * config.guess: Ditto. | 
|---|
| 3199 |  | 
|---|
| 3200 | Upgrade to gettext-0.11.2: | 
|---|
| 3201 |  | 
|---|
| 3202 | * ABOUT-NLS: Replaced with version from gettext 0.11.2. | 
|---|
| 3203 | * config.rpath: Replaced with version from gettext 0.11.2. | 
|---|
| 3204 | * intl/*: Replaced with version from gettext 0.11.2. | 
|---|
| 3205 | * po/Makefile.in.in: Replaced with version from gettext 0.11.2. | 
|---|
| 3206 | * po/Makevars.template: Replaced with version from gettext 0.11.2. | 
|---|
| 3207 | * po/Rules-quot: Replaced with version from gettext 0.11.2. | 
|---|
| 3208 | * po/boldquot.sed: Replaced with version from gettext 0.11.2. | 
|---|
| 3209 | * po/en@boldquot.header: Replaced with version from gettext 0.11.2. | 
|---|
| 3210 | * po/en@quot.header: Replaced with version from gettext 0.11.2. | 
|---|
| 3211 | * po/insert-header.sin: Replaced with version from gettext 0.11.2. | 
|---|
| 3212 | * po/quot.sed: Replaced with version from gettext 0.11.2. | 
|---|
| 3213 | * po/remove-potcdate.sin: Replaced with version from gettext 0.11.2. | 
|---|
| 3214 | * m4/codeset.m4: Replaced with version from gettext 0.11.2. | 
|---|
| 3215 | * m4/gettext.m4: Replaced with version from gettext 0.11.2. | 
|---|
| 3216 | * m4/glibc21.m4: Replaced with version from gettext 0.11.2. | 
|---|
| 3217 | * m4/iconv.m4: Replaced with version from gettext 0.11.2. | 
|---|
| 3218 | * m4/isc-posix.m4: Replaced with version from gettext 0.11.2. | 
|---|
| 3219 | * m4/lcmessage.m4: Replaced with version from gettext 0.11.2. | 
|---|
| 3220 | * m4/lib-ld.m4: Replaced with version from gettext 0.11.2. | 
|---|
| 3221 | * m4/lib-link.m4: Replaced with version from gettext 0.11.2. | 
|---|
| 3222 | * m4/lib-prefix.m4: Replaced with version from gettext 0.11.2. | 
|---|
| 3223 | * m4/progtest.m4: Replaced with version from gettext 0.11.2. | 
|---|
| 3224 |  | 
|---|
| 3225 | Wed Apr 17 15:09:45 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3226 |  | 
|---|
| 3227 | * regex.c (PREFIX): Change test for token concatenation ability | 
|---|
| 3228 | to `#ifdef HAVE_STRINGIZE'. If a cpp has one, it ought to have | 
|---|
| 3229 | the other. | 
|---|
| 3230 |  | 
|---|
| 3231 | Tue Apr 16 12:26:06 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3232 |  | 
|---|
| 3233 | * profile.c (tree_eval): Make unary minus case smarter, | 
|---|
| 3234 | use is_scalar test and if false parenthesize expression. | 
|---|
| 3235 | Add Node_TEXTDOMAIN case. | 
|---|
| 3236 | (pp_lhs, is_scalar, prec_level): Add Node_TEXTDOMAIN cases. | 
|---|
| 3237 |  | 
|---|
| 3238 | Thu Apr 11 21:28:33 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3239 |  | 
|---|
| 3240 | * array.c (do_adump): Spelling fix in output message. | 
|---|
| 3241 | * builtin.c: Ditto, in multiple routines. | 
|---|
| 3242 | (do_toupper, do_tolower): Add cast to size_t in assigment to mbclen | 
|---|
| 3243 | for some compilers. | 
|---|
| 3244 | * re.c (research): Fix way returning is done to silence some | 
|---|
| 3245 | compiler diagnostics. | 
|---|
| 3246 |  | 
|---|
| 3247 | Wed Apr 10 19:30:51 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3248 |  | 
|---|
| 3249 | * Makefile.am (datadir): Set directly to have `/awk'. | 
|---|
| 3250 | (DEFPATH): Go back to using $(datadir) for path. | 
|---|
| 3251 |  | 
|---|
| 3252 | Tue Apr  9 17:34:09 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3253 |  | 
|---|
| 3254 | Upgraded to gettext 0.11.1. | 
|---|
| 3255 |  | 
|---|
| 3256 | * Makefile.am (LDADD): Use @LIBINTL@ instead of @INTLLIBS@. | 
|---|
| 3257 | * ABOUT-NLS: Version from 0.11.1. | 
|---|
| 3258 | * config.rpath: Version from 0.11.1. | 
|---|
| 3259 | * aclocal.m4: Regenerated based on new files. | 
|---|
| 3260 | * intl/*: Replaced with version from 0.11.1. | 
|---|
| 3261 | * m4/ChangeLog: New file. | 
|---|
| 3262 | * m4/codeset.m4: New file. | 
|---|
| 3263 | * m4/gettext.m4: Version from 0.11.1. | 
|---|
| 3264 | * po/ChangeLog: New file. | 
|---|
| 3265 | * po/Makefile.in.in: Version from 0.11.1. | 
|---|
| 3266 | * po/remove-potcdate.sin: New file. | 
|---|
| 3267 |  | 
|---|
| 3268 | Mon Apr  8 22:22:58 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3269 |  | 
|---|
| 3270 | * Makefile.am (libexecdir): Set directly to have `/awk'. | 
|---|
| 3271 | (DEFPATH): Use $(pkgdatadir) for path. | 
|---|
| 3272 | (install-exec-hook): Add version link for pgawk. | 
|---|
| 3273 | (uninstall-links): Remove pgawk version link. | 
|---|
| 3274 |  | 
|---|
| 3275 | Wed Mar 20 13:44:21 2002  Isamu Hasegawa  <isamu@yamato.ibm.com> | 
|---|
| 3276 |  | 
|---|
| 3277 | * regex.c (__alignof__): Definition for non-GCC compilers. | 
|---|
| 3278 |  | 
|---|
| 3279 | Sun Mar 17 17:41:55 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3280 |  | 
|---|
| 3281 | * io.c (do_pathopen): Malloc buffers to hold constructed | 
|---|
| 3282 | filenames: No Arbitrary Limits!  Thanks to keoki@techie.com | 
|---|
| 3283 | for the bug report. | 
|---|
| 3284 |  | 
|---|
| 3285 | Sun Mar 10 16:59:06 2002  Scott Deifik       <scottd@amgen.com> | 
|---|
| 3286 |  | 
|---|
| 3287 | * awk.h (LOCALEDIR): Provide a definition in case not using | 
|---|
| 3288 | i18n stuff. | 
|---|
| 3289 |  | 
|---|
| 3290 | Wed Mar  6 18:14:44 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3291 |  | 
|---|
| 3292 | * main.c (usage): Add some explanatory text and examples at end. | 
|---|
| 3293 |  | 
|---|
| 3294 | Sun Mar  3 16:42:50 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3295 |  | 
|---|
| 3296 | * getopt.h, getopt.c, getopt1.c: Update to current version | 
|---|
| 3297 | from glibc CVS. | 
|---|
| 3298 |  | 
|---|
| 3299 | Fri Feb 22 15:53:38 2002  Isamu Hasegawa  <isamu@yamato.ibm.com> | 
|---|
| 3300 |  | 
|---|
| 3301 | * dfa.c (fetch_wc): Fix type from wchar_t to wint_t. | 
|---|
| 3302 | (parse_bracket_exp_mb): Likewise. | 
|---|
| 3303 | * regex.c (extract_number): Retrieve the sign information from | 
|---|
| 3304 | byte-code in case of AIX. | 
|---|
| 3305 |  | 
|---|
| 3306 | Thu Feb 21 16:44:24 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3307 |  | 
|---|
| 3308 | * re.c (resetup): Moved setting re_max_failures into regex.c. | 
|---|
| 3309 | * regex.c (re_max_failures): Set to really big if REGEX_MALLOC | 
|---|
| 3310 | defined.  Do this in both places that define re_max_failures. | 
|---|
| 3311 |  | 
|---|
| 3312 | Thu Feb 21 19:02:22 2002  Isamu Hasegawa  <isamu@yamato.ibm.com> | 
|---|
| 3313 |  | 
|---|
| 3314 | * builtin.c (sub_common): Avoid index_multibyte_buffer invocation | 
|---|
| 3315 | in single byte character environments. | 
|---|
| 3316 |  | 
|---|
| 3317 | Thu Feb 21 10:08:56 2002  Isamu Hasegawa  <isamu@yamato.ibm.com> | 
|---|
| 3318 |  | 
|---|
| 3319 | * dfa.c (parse_bracket_exp_mb): For ':', use wctype_t in MALLOC, | 
|---|
| 3320 | not wchar_t. | 
|---|
| 3321 |  | 
|---|
| 3322 | Thu Feb 21 09:52:16 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3323 |  | 
|---|
| 3324 | Upgraded to automake 1.5 and gettext-0.11. | 
|---|
| 3325 | Also bug fix to multibyte code. | 
|---|
| 3326 |  | 
|---|
| 3327 | * ABOUT-NLS: upgraded. | 
|---|
| 3328 | * config.guess, config.sub, config.rpath, gettext.h, ylwrap: new files. | 
|---|
| 3329 | * Makefile.am: added above to appropriate places. | 
|---|
| 3330 | * awk.h: Replace libintl.h and macros with include of gettext.h. | 
|---|
| 3331 | (emalloc, erealloc): Add num bytes to error message, put string inside _(). | 
|---|
| 3332 | (index_multibyte_buffer): Removed decl. | 
|---|
| 3333 | * awklib/Makefile.am: Use $(EXEEXT) for grcat and pwcat targets. | 
|---|
| 3334 | * builtin.c (index_multibyte_buffer): Made static to this file. | 
|---|
| 3335 | (sub_common): Add checks that replacement string is length > 0 so | 
|---|
| 3336 | that we don't try to malloc(0): this fails on some systems. | 
|---|
| 3337 | * configure.in (AM_GNU_GETTEXT): Update macro for gettext 0.11. | 
|---|
| 3338 | (ALL_LINGUAS): Removed. | 
|---|
| 3339 | * m4/codeset.m4: new file. | 
|---|
| 3340 | * m4/gettext.m4: updated. | 
|---|
| 3341 | * m4/glibc21.m4: new file. | 
|---|
| 3342 | * m4/iconv.m4: new file. | 
|---|
| 3343 | * m4/isc-posix.m4: new file. | 
|---|
| 3344 | * m4/lcmessage.m4: updated. | 
|---|
| 3345 | * m4/lib-ld.m4: new file. | 
|---|
| 3346 | * m4/lib-link.m4: new file. | 
|---|
| 3347 | * m4/lib-prefix.m4: new file. | 
|---|
| 3348 | * m4/progtest.m4: updated. | 
|---|
| 3349 | * intl/*: Replaced with version from gettext 0.11. | 
|---|
| 3350 | * po/*: Revised for gettext 0.11. | 
|---|
| 3351 |  | 
|---|
| 3352 | Mon Feb 18 14:42:39 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3353 |  | 
|---|
| 3354 | * builtin.c (nondec2awknum): Change assert to runtime check | 
|---|
| 3355 | in case user passed in bad data. | 
|---|
| 3356 |  | 
|---|
| 3357 | 2002-02-17  Paul Eggert  <eggert@twinsun.com> | 
|---|
| 3358 |  | 
|---|
| 3359 | * re.c (resetup): Try to avoid silly limitation of regex.c by | 
|---|
| 3360 | setting re_max_failures to the largest reasonable value. | 
|---|
| 3361 |  | 
|---|
| 3362 | Sun Feb 17 14:57:43 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3363 |  | 
|---|
| 3364 | * builtin.c (research): If re_search() returns -2, the | 
|---|
| 3365 | match failed since regex couldn't allocate enough memory | 
|---|
| 3366 | for what it needed.  Fail with a fatal message instead. | 
|---|
| 3367 | This is a workaround, not a fix, but I don't mess with | 
|---|
| 3368 | regex.[ch]. | 
|---|
| 3369 |  | 
|---|
| 3370 | Fri Feb  8 16:01:11 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3371 |  | 
|---|
| 3372 | * awkgram.y (LEX_FOR): Fix case of array loop with body of single | 
|---|
| 3373 | delete statement to actually check the right things to make the | 
|---|
| 3374 | optimization. | 
|---|
| 3375 | * profile.c (tree_eval): Add case for Node_K_delete_loop. | 
|---|
| 3376 | (prec_level): Ditto. | 
|---|
| 3377 |  | 
|---|
| 3378 | Mon Feb  4 10:38:00 2002  Bruno Haible  <bruno@clisp.org> | 
|---|
| 3379 |  | 
|---|
| 3380 | * awk.h (dcngettext): New macro. | 
|---|
| 3381 | (do_dcngettext): New declaration. | 
|---|
| 3382 | * awkgram.y (tokentab): Add dcngettext. | 
|---|
| 3383 | (snode): Add a warning for incorrect use of dcngettext. | 
|---|
| 3384 | (dumpintlstr): fflush at the end, not in the middle. | 
|---|
| 3385 | (dumpintlstr2): New function. | 
|---|
| 3386 | * builtin.c (localecategory_from_argument): New function, extracted | 
|---|
| 3387 | from do_dcgettext. | 
|---|
| 3388 | (do_dcgettext): Call it. | 
|---|
| 3389 | (do_dcngettext): New function. | 
|---|
| 3390 |  | 
|---|
| 3391 | Sun Feb  3 17:56:20 2002  Bruno Haible  <bruno@clisp.org> | 
|---|
| 3392 |  | 
|---|
| 3393 | * builtin.c (do_bindtextdomain): Don't free the same variable twice. | 
|---|
| 3394 | * main.c (main): Call setlocale for LC_MESSAGE, to make dcgettext | 
|---|
| 3395 | function work on glibc systems. | 
|---|
| 3396 |  | 
|---|
| 3397 | Wed Jan 23 15:03:36 2002  Andreas Buening    <andreas.buening@nexgo.de> | 
|---|
| 3398 |  | 
|---|
| 3399 | * configure.in (PATH_SEPARATOR): Code added for OS/2. | 
|---|
| 3400 | Makefile.am (PATH_SEPARATOR): Added. | 
|---|
| 3401 | (DEFPATH): Make use of PATH_SEPARATOR. | 
|---|
| 3402 |  | 
|---|
| 3403 | Wed Jan 23 14:46:04 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3404 |  | 
|---|
| 3405 | * awkgram.y (yylex): Add test for lasttok != '$' when looking | 
|---|
| 3406 | at _"...".  See comments in code. | 
|---|
| 3407 |  | 
|---|
| 3408 | Wed Aug 15 07:43:10 2001  Isamu Hasegawa  <isamu@yamato.ibm.com> | 
|---|
| 3409 |  | 
|---|
| 3410 | * regex.c : Implements the codes for exactn_bin to work correctly | 
|---|
| 3411 | in multibyte environments, in case of invalid multibyte sequence. | 
|---|
| 3412 |  | 
|---|
| 3413 | Wed Aug 15 07:36:56 2001  Isamu Hasegawa  <isamu@yamato.ibm.com> | 
|---|
| 3414 |  | 
|---|
| 3415 | * regex.c : Implements the codes for charset/charset_not to | 
|---|
| 3416 | work in multibyte environments. | 
|---|
| 3417 |  | 
|---|
| 3418 | Wed Aug 15 05:04:34 2001  Isamu Hasegawa  <isamu@yamato.ibm.com> | 
|---|
| 3419 |  | 
|---|
| 3420 | * regex.c : Add some comments. | 
|---|
| 3421 |  | 
|---|
| 3422 | Wed Aug 15 05:04:15 2001  Isamu Hasegawa  <isamu@yamato.ibm.com> | 
|---|
| 3423 |  | 
|---|
| 3424 | * regex.c (count_mbs_length): New function, check the mutibyte | 
|---|
| 3425 | strings and count how many wchar_t the substring occupy. | 
|---|
| 3426 | (CHAR_T): New macro, character type depending on | 
|---|
| 3427 | environments(singlebyte/multibyte). | 
|---|
| 3428 | (UCHAR_T): New macro, unsigned character type. | 
|---|
| 3429 | (COMPILED_BUFFER_VAR): New macro, the buffer containing | 
|---|
| 3430 | the compiled buffer. | 
|---|
| 3431 | Adapt singlebyte/multibyte environments with CHAR_T, UCHAR_T, | 
|---|
| 3432 | and COMPILED_BUFFER_VAR. | 
|---|
| 3433 |  | 
|---|
| 3434 | Mon Jun 25 09:00:41 2001  Isamu Hasegawa  <isamu@yamato.ibm.com> | 
|---|
| 3435 |  | 
|---|
| 3436 | * regex.c : Reorganize code to build code twice.  byte_* are | 
|---|
| 3437 | for single byte, wcs_* are for multibyte character sets. | 
|---|
| 3438 | Chose functions according to current locale dynamically. | 
|---|
| 3439 | * regex.c (convert_mbs_to_wcs): New function, convert multibyte | 
|---|
| 3440 | strings to wide character strings for multibyte environments. | 
|---|
| 3441 |  | 
|---|
| 3442 | Fri Jun 22 05:43:50 2001  Isamu Hasegawa  <isamu@yamato.ibm.com> | 
|---|
| 3443 |  | 
|---|
| 3444 | * regex.c (MBS_SUPPORT): New macro, defined if the environment | 
|---|
| 3445 | can handle multibyte characters. | 
|---|
| 3446 | (OFFSET_ADDRESS_SIZE): Offset address size in the | 
|---|
| 3447 | compiled buffer. | 
|---|
| 3448 | Rewrite offset addresses with OFFSET_ADDRESS_SIZE. | 
|---|
| 3449 |  | 
|---|
| 3450 | Thu Apr 26 08:03:17 2001  Isamu Hasegawa  <isamu@yamato.ibm.com> | 
|---|
| 3451 |  | 
|---|
| 3452 | * builtin.c (index_multibyte_buffer) : inspect the buffer and write | 
|---|
| 3453 | the index. | 
|---|
| 3454 | (sub_common) : in multibyte environment, skip multibyte characters | 
|---|
| 3455 | when we check special characters. | 
|---|
| 3456 | * awk.h (index_multibyte_buffer) : add prototype. | 
|---|
| 3457 | * eval.c (cmp_nodes) : in multibyte environment, compare per character. | 
|---|
| 3458 | * field.c (re_parse_field) : in multibyte environment, avoid to | 
|---|
| 3459 | call research() on invalid boundary. | 
|---|
| 3460 | (sc_parse_field) : in multibyte environment, avoid to compare on | 
|---|
| 3461 | invalid boundary. | 
|---|
| 3462 | (null_parse_field) : in multibyte environment, split per | 
|---|
| 3463 | character, not per byte. | 
|---|
| 3464 | * io.c (get_a_record) : in multibyte environment, avoid to compare | 
|---|
| 3465 | on invalid boundary. | 
|---|
| 3466 |  | 
|---|
| 3467 | Wed Apr 25 08:29:47 2001  Isamu Hasegawa  <isamu@yamato.ibm.com> | 
|---|
| 3468 |  | 
|---|
| 3469 | * awk.h (strncasecmpmbs) : add prototype. | 
|---|
| 3470 | * builtin.c (strncasecmpmbs) : new function like strncasecmp but for | 
|---|
| 3471 | multibyte strings. | 
|---|
| 3472 | (do_index) : in multibyte environment, compare per character. | 
|---|
| 3473 | * builtin.c (do_tolower) : in multibyte environment, user towlower | 
|---|
| 3474 | instead of TOLOWER. | 
|---|
| 3475 | (do_toupper) :  in multibyte environment, user towupper instead | 
|---|
| 3476 | of TOUPPER. | 
|---|
| 3477 |  | 
|---|
| 3478 | Tue Apr 24 10:38:06 2001  Isamu Hasegawa  <isamu@yamato.ibm.com> | 
|---|
| 3479 |  | 
|---|
| 3480 | In multibyte environments, handle multibyte characters as single | 
|---|
| 3481 | characters in bracket expressions. | 
|---|
| 3482 |  | 
|---|
| 3483 | * dfa.h (mb_char_classes) : new structure. | 
|---|
| 3484 | (mbcsets) : new variable. | 
|---|
| 3485 | (nmbcsets) : new variable. | 
|---|
| 3486 | (mbcsets_alloc) : new variable. | 
|---|
| 3487 | * dfa.c (prtok) : handle MBCSET. | 
|---|
| 3488 | (fetch_wc) : new function to fetch a wide character. | 
|---|
| 3489 | (parse_bracket_exp_mb) : new function to handle multibyte character | 
|---|
| 3490 | in lex(). | 
|---|
| 3491 | (lex) : invoke parse_bracket_exp_mb() for multibyte bracket expression. | 
|---|
| 3492 | (atom) : handle MBCSET. | 
|---|
| 3493 | (epsclosure) : likewise. | 
|---|
| 3494 | (dfaanalyze) : likewise. | 
|---|
| 3495 | (dfastate) : likewise. | 
|---|
| 3496 | (match_mb_charset) : new function to judge whether a bracket match | 
|---|
| 3497 | with a multibyte character. | 
|---|
| 3498 | (check_matching_with_multibyte_ops) : handle MBCSET. | 
|---|
| 3499 | (dfainit) : initialize new variables. | 
|---|
| 3500 | (dfafree) : free new variables. | 
|---|
| 3501 |  | 
|---|
| 3502 | Mon Apr 23 01:40:09 2001  Isamu Hasegawa  <isamu@yamato.ibm.com> | 
|---|
| 3503 |  | 
|---|
| 3504 | Implement the mechanism to match with multibyte characters, | 
|---|
| 3505 | and use it for `period' in multibyte environments. | 
|---|
| 3506 |  | 
|---|
| 3507 | * dfa.h (mbps) : new variable. | 
|---|
| 3508 | * dfa.c (prtok) : handle ANYCHAR. | 
|---|
| 3509 | (lex) : use ANYCHAR for `period' in multibyte environments. | 
|---|
| 3510 | (atom) : handle ANYCHAR. | 
|---|
| 3511 | (state_index) : initialize mbps in multibyte environments. | 
|---|
| 3512 | (epsclosure) : handle ANYCHAR. | 
|---|
| 3513 | (dfaanalyze) : handle ANYCHAR. | 
|---|
| 3514 | (dfastate) : handle ANYCHAR. | 
|---|
| 3515 | (realloc_trans_if_necessary) : new function. | 
|---|
| 3516 | (transit_state_singlebyte) : new function. | 
|---|
| 3517 | (match_anychar) : new function. | 
|---|
| 3518 | (check_matching_with_multibyte_ops) : new function. | 
|---|
| 3519 | (transit_state_consume_1char) : new function. | 
|---|
| 3520 | (transit_state) : new function. | 
|---|
| 3521 | (dfaexec) : invoke transit_state if expression can match with | 
|---|
| 3522 | a multibyte character in multibyte environments. | 
|---|
| 3523 | (dfamust) : handle ANYCHAR. | 
|---|
| 3524 |  | 
|---|
| 3525 | Fri Apr 20 11:31:24 2001  Isamu Hasegawa  <isamu@yamato.ibm.com> | 
|---|
| 3526 |  | 
|---|
| 3527 | Avoid incorrect state transition in multibyte environments. | 
|---|
| 3528 |  | 
|---|
| 3529 | * dfa.h (nmultibyte_prop) : new variable. | 
|---|
| 3530 | (multibyte_prop) : new variable. | 
|---|
| 3531 | * dfa.c (addtok) : set inputwcs. | 
|---|
| 3532 | (dfastate) : avoid incorrect state transition in multibyte | 
|---|
| 3533 | environments. | 
|---|
| 3534 | (dfaexec) : likewise. | 
|---|
| 3535 | (dfainit) : init multibyte_prop. | 
|---|
| 3536 | (dfafree) : free multibyte_prop. | 
|---|
| 3537 | (inputwcs): new variable. | 
|---|
| 3538 | (mblen_buf) : new variable contains the amount of remain byte | 
|---|
| 3539 | of corresponding multibyte character in the input string. | 
|---|
| 3540 |  | 
|---|
| 3541 | Fri Apr 20 06:28:59 2001  Isamu Hasegawa  <isamu@yamato.ibm.com> | 
|---|
| 3542 |  | 
|---|
| 3543 | Handle a multibyte character followed by '*', '+', and '{n,m}' | 
|---|
| 3544 | correctly. | 
|---|
| 3545 |  | 
|---|
| 3546 | * dfa.c (update_mb_len_index): new function. | 
|---|
| 3547 | Support for multibyte string. | 
|---|
| 3548 | (FETCH) : call update_mb_len_index. | 
|---|
| 3549 | (lex) : check cur_mb_index not to misunderstand multibyte characters. | 
|---|
| 3550 | (atom) : make a tree from a multibyte character. | 
|---|
| 3551 | (dfaparse) : initialize new variables. | 
|---|
| 3552 | (mbs) : new variable. | 
|---|
| 3553 | (cur_mb_len) : new variable. | 
|---|
| 3554 | (cur_mb_index) : new variable. | 
|---|
| 3555 |  | 
|---|
| 3556 | Thu Apr 19 09:32:47 2001  Isamu Hasegawa  <isamu@yamato.ibm.com> | 
|---|
| 3557 |  | 
|---|
| 3558 | * awkgram.y (cur_mbstate) : new varialble containing means current | 
|---|
| 3559 | shift state. | 
|---|
| 3560 | (cur_char_ring) : new varialbe reffering the buffer which contains | 
|---|
| 3561 | last some character from the buffer. | 
|---|
| 3562 | (cur_ring_idx) : new variable containing the current index on | 
|---|
| 3563 | cur_char_ring. | 
|---|
| 3564 | (nextc_is_1stbyte) : new macro, means that last nextc() return a | 
|---|
| 3565 | singlebyte character or 1st byte of a multibyte character. | 
|---|
| 3566 | (nextc) : check the buffer and update cur_ring_char in multibyte | 
|---|
| 3567 | environments. | 
|---|
| 3568 | (pushback) : adjust cur_ring_idx in multibyte environments. | 
|---|
| 3569 | (yylex) : add check whether nextc() returned 1st-byte in multibyte | 
|---|
| 3570 | environments. | 
|---|
| 3571 | * re.c (make_regexp) : in multibyte environment, skip multibyte | 
|---|
| 3572 | characters when we check special characters. | 
|---|
| 3573 |  | 
|---|
| 3574 | Wed Apr 18 07:58:20 2001  Isamu Hasegawa  <isamu@yamato.ibm.com> | 
|---|
| 3575 |  | 
|---|
| 3576 | * awk.h (MBS_SUPPORT) : New flag, means supporting multibyte strings. | 
|---|
| 3577 | * configure.in : add check for wchar.h, wctype.h, mbrtowc, and mbrlen. | 
|---|
| 3578 |  | 
|---|
| 3579 | Wed Jan 16 16:32:40 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3580 |  | 
|---|
| 3581 | * builtin.c (do_strtonum): Simplified.  Check first if the | 
|---|
| 3582 | value matches a non-decimal number, and if so convert it. | 
|---|
| 3583 | Otherwise do a regular force_number. | 
|---|
| 3584 |  | 
|---|
| 3585 | Mon Jan  7 22:12:15 2002  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3586 |  | 
|---|
| 3587 | * awkgram.y (statement): moved delete, print, and expressions into | 
|---|
| 3588 | new non-terminal `simple_stmt'.  Allow opt_simple_stmt in the | 
|---|
| 3589 | first and third part of a for loop, per latest POSIX, which documents | 
|---|
| 3590 | an otherwise undocumented historical oddity in Unix awk.  This has | 
|---|
| 3591 | the pleasant side effect of making line numbers more accurate for | 
|---|
| 3592 | messages involving delete statements. | 
|---|
| 3593 | (opt_simple_stmt, simple_stmt): new non-terminals. | 
|---|
| 3594 |  | 
|---|
| 3595 | Based on bug report from drj@pobox.com. | 
|---|
| 3596 |  | 
|---|
| 3597 | Mon Dec 24 14:04:02 2001  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3598 |  | 
|---|
| 3599 | * configure.in: Changes for VMS with new strftime: | 
|---|
| 3600 | (AC_HEADER_TIME): added | 
|---|
| 3601 | (AC_CHECK_HEADERS): Check for sys/time.h. | 
|---|
| 3602 | (TIME_T_IN_SYS_TYPES_H): Add header check. | 
|---|
| 3603 | * acconfig.h (TIME_T_IN_SYS_TYPES_H): Added. | 
|---|
| 3604 |  | 
|---|
| 3605 | Wed Dec 19 16:01:58 2001  Peter J. Farley III  <pjfarley@dorsai.org> | 
|---|
| 3606 |  | 
|---|
| 3607 | * configure.in: Add MS-DOS to getpgrp special case. | 
|---|
| 3608 | * dfa.c, getopt.c, regex.c: Fix code to work with --disable-nls. | 
|---|
| 3609 |  | 
|---|
| 3610 | Wed Dec 19 15:59:25 2001  Eli Zaretskii  <eliz@is.elta.co.il> | 
|---|
| 3611 |  | 
|---|
| 3612 | * profile.c (init_profiling_signals) [__DJGPP__]: Use SIGINT | 
|---|
| 3613 | instead of SIGHUP and SIGQUIT instead of SIGUSR1. | 
|---|
| 3614 |  | 
|---|
| 3615 | Tue Dec 18 20:56:07 2001  Andreas Buening    <andreas.buening@nexgo.de> | 
|---|
| 3616 |  | 
|---|
| 3617 | More OS/2 stuff. | 
|---|
| 3618 |  | 
|---|
| 3619 | * awk.h (O_BINARY): Don't redefine for EMX. | 
|---|
| 3620 | * io.c (gawk_popen): Add __EMX__ in case compiling DOS executable. | 
|---|
| 3621 | * configure.in: Add OS/2 to case for manual GETPGRP_VOID. | 
|---|
| 3622 |  | 
|---|
| 3623 | Tue Dec  4 17:54:30 2001  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3624 |  | 
|---|
| 3625 | New configure time option, --with-whiny-user-strftime. | 
|---|
| 3626 |  | 
|---|
| 3627 | * configure.in (AC_ARG_WITH): Add appropriate code for autoconf. | 
|---|
| 3628 | * accondig.h (USE_INCLUDED_STRFTIME): add #undef for it. | 
|---|
| 3629 | * custom.h (USE_INCLUDED_STRFTIME): set things up write. | 
|---|
| 3630 |  | 
|---|
| 3631 | Tue Dec  4 16:44:07 2001  Andreas Buening    <andreas.buening@nexgo.de> | 
|---|
| 3632 |  | 
|---|
| 3633 | Mongo patch for updated OS/2 support. | 
|---|
| 3634 |  | 
|---|
| 3635 | * awk.h (TOUPPER, TOLOWER): Define only if not already defined. | 
|---|
| 3636 | * awkgram.y (extproc feature): Add ifdef for __EMX__. | 
|---|
| 3637 | * gawkmisc.c (__EMX__): include pc/gawkmisc.c directly. | 
|---|
| 3638 | * io.c (__EMX__): Added for a number of places in addition to OS2 def. | 
|---|
| 3639 | (two_way_open): Added OS/2 specific code added that uses spawn. | 
|---|
| 3640 | (gawk_popen): ditto. | 
|---|
| 3641 |  | 
|---|
| 3642 | Mon Dec  3 14:07:56 2001  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3643 |  | 
|---|
| 3644 | Fix use of getgroups to use dynamic memory, solves | 
|---|
| 3645 | problem of systems where NGROUPS_MAX lies. | 
|---|
| 3646 |  | 
|---|
| 3647 | * awk.h (groupset, ngroups): New extern variables. | 
|---|
| 3648 | * configure.in (AC_CHECK_FUNCS): Add getgroups to list. | 
|---|
| 3649 | * io.c (user_open): Use global ngroups and groupset variables, | 
|---|
| 3650 | don't call getgroups here. | 
|---|
| 3651 | * main.c (init_groupset): New function to init global | 
|---|
| 3652 | vars using malloc.  Declare it at top. | 
|---|
| 3653 | (main): Call init_groupset(). | 
|---|
| 3654 | (load_procinfo): Use global ngroups and groupset variables. | 
|---|
| 3655 |  | 
|---|
| 3656 | Sun Nov 18 11:56:01 2001  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3657 |  | 
|---|
| 3658 | * random.c (srandomdev): ifdef-out.  Lots of compile time | 
|---|
| 3659 | problems on multiple platforms, and gawk doesn't even | 
|---|
| 3660 | use the routine.  The heck with fine-grained solutions. | 
|---|
| 3661 |  | 
|---|
| 3662 | Wed Nov 14 16:12:40 2001  Pat Rankin  <rankin@eql.caltech.edu> | 
|---|
| 3663 |  | 
|---|
| 3664 | * builtin.c (bchunk_one): Use `ofre < 1' instead of `ofre <= 0' | 
|---|
| 3665 | to avoid compiler complaint about suspicious comparison for | 
|---|
| 3666 | unsigned variable.  (`ofre == 0' ought to suffice...) | 
|---|
| 3667 |  | 
|---|
| 3668 | Tue Nov 13 17:27:52 2001  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3669 |  | 
|---|
| 3670 | * awkgram.y (yyerror): Fix the code to behave like it | 
|---|
| 3671 | used to.  Keep "no arbitrary limits" by mallocing the | 
|---|
| 3672 | buffer and freeing it. | 
|---|
| 3673 |  | 
|---|
| 3674 | Wed Nov  7 16:46:20 2001  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3675 |  | 
|---|
| 3676 | * awkgram.y (yyerror): Remove dependency upon buf[] to | 
|---|
| 3677 | hold prepended space and `^' pointer.  Avoids core dumps | 
|---|
| 3678 | for long source lines. | 
|---|
| 3679 |  | 
|---|
| 3680 | Sat Nov  3 22:27:21 2001  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3681 |  | 
|---|
| 3682 | * m4/strtod.m4: Add missing `#endif'. Oops. | 
|---|
| 3683 |  | 
|---|
| 3684 | Mon Oct 29 14:53:57 2001  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3685 |  | 
|---|
| 3686 | * awkgram.y: Add semicolons in calls to count_args(). | 
|---|
| 3687 | Apparently bisoon adds a semicolon to each body | 
|---|
| 3688 | automatically and byacc doesn't. | 
|---|
| 3689 |  | 
|---|
| 3690 | Sun Oct 28 16:53:18 2001  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3691 |  | 
|---|
| 3692 | * builtin.c (format_tree): Fix off-by-one error in "ran out | 
|---|
| 3693 | for this one" diagnostic.  Also fix lint check for too many | 
|---|
| 3694 | arguments vs. count in format string. | 
|---|
| 3695 |  | 
|---|
| 3696 | Wed Oct 10 11:01:47 2001  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3697 |  | 
|---|
| 3698 | * fixvers: Check that files exist before doing `cmp', in | 
|---|
| 3699 | case they're in a source code system and aren't there. | 
|---|
| 3700 | Fix from Grant Erickson (gerickson@brocade.com). | 
|---|
| 3701 |  | 
|---|
| 3702 | Thu Oct  4 18:20:36 2001  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3703 |  | 
|---|
| 3704 | * eval.c (r_tree_eval): For comparison, dupnode() results of | 
|---|
| 3705 | evaluation so that we can hang on to them and avoid memory | 
|---|
| 3706 | corruption.  Change calls to free_temp() to unref(). | 
|---|
| 3707 |  | 
|---|
| 3708 | Tue Sep 25 15:19:53 2001  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3709 |  | 
|---|
| 3710 | * io.c (iop_open): Only call os_close_on_exec() for | 
|---|
| 3711 | fd > fileno(stderr). | 
|---|
| 3712 |  | 
|---|
| 3713 | 2001-09-07  Paul Eggert  <eggert@twinsun.com> | 
|---|
| 3714 |  | 
|---|
| 3715 | * io.c (redirect): When deciding to use the fdopen bug hack, | 
|---|
| 3716 | use "__sun" rather than "solaris".  No compilers predefine | 
|---|
| 3717 | "solaris", but both GCC and Sun C predefine "__sun". | 
|---|
| 3718 |  | 
|---|
| 3719 | Thu Aug 30 15:17:12 2001  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3720 |  | 
|---|
| 3721 | * main.c (copyleft): Use a printf %d for last year of update | 
|---|
| 3722 | to avoid translation strings changing when the file | 
|---|
| 3723 | is updated from now on.  Suggestion from Ulrich Drepper. | 
|---|
| 3724 |  | 
|---|
| 3725 | Thu Aug 23 14:01:14 2001  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3726 |  | 
|---|
| 3727 | * awkgram.y (unary minus production): Add check that value | 
|---|
| 3728 | isn't a string. Based on bug report from drj@pobox.com. | 
|---|
| 3729 | * profile.c (tree_eval): For node_val, only test NUMBER | 
|---|
| 3730 | to see if value is numeric, not NUM|NUMBER. | 
|---|
| 3731 |  | 
|---|
| 3732 | Thu Aug 16 12:21:28 2001  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3733 |  | 
|---|
| 3734 | * configure.in (ALL_LINGUAS): Added `fr' and `tr'. | 
|---|
| 3735 | * po/fr.po, po/tr.fo: New files. | 
|---|
| 3736 |  | 
|---|
| 3737 | 2001-08-13  Paul Eggert  <eggert@twinsun.com> | 
|---|
| 3738 |  | 
|---|
| 3739 | This patch fixes a bug that causes gawk to rewind standard | 
|---|
| 3740 | input incorrectly.  It also removes all instances of fseek, | 
|---|
| 3741 | from the gawk source proper, which should make gawk a bit | 
|---|
| 3742 | more portable. | 
|---|
| 3743 |  | 
|---|
| 3744 | (The original patch removed off_t & lseek too, but I need | 
|---|
| 3745 | that for something else. ADR.) | 
|---|
| 3746 |  | 
|---|
| 3747 | * posix/gawkmisc.c (optimal_bufsize): | 
|---|
| 3748 | Don't use lseek on the input, because that might change | 
|---|
| 3749 | its state.  Instead, just check whether it is a regular file. | 
|---|
| 3750 | This obviates the need to invoke isatty. | 
|---|
| 3751 | (Also, fix a spelling error in the first line of the source.) | 
|---|
| 3752 | * pc/gawkmisc.pc, unsupported/atari/gawkmisc.atr: Likewise. | 
|---|
| 3753 |  | 
|---|
| 3754 | * awk.h (S_ISREG): Move this macro here ... | 
|---|
| 3755 | * io.c (S_ISREG): from here. | 
|---|
| 3756 |  | 
|---|
| 3757 | * protos.h (fseek): Remove prototype; no longer used. | 
|---|
| 3758 |  | 
|---|
| 3759 | Fri Aug  3 13:38:54 2001  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3760 |  | 
|---|
| 3761 | * array.c (assoc_lookup): Change assert test on type to real test | 
|---|
| 3762 | to protect against FS[1] = "x" kinds of things.  It'd be better | 
|---|
| 3763 | to do this in the grammar, but this is easier and just as | 
|---|
| 3764 | effective. | 
|---|
| 3765 |  | 
|---|
| 3766 | Undid BECAMEARRAY changes of 25 June 2001 in favor of correct code: | 
|---|
| 3767 | * eval.c (pop_fcall): Change test and comment for freeing n->vname. | 
|---|
| 3768 | (flags2str): removed BECAMEARRAY entry. | 
|---|
| 3769 | * awk.h (BECAMEARRAY): Removed define. | 
|---|
| 3770 | * array.c (assoc_lookup): Removed setting of BECAMEARRAY flag. | 
|---|
| 3771 |  | 
|---|
| 3772 | Mon Jul 23 17:33:13 2001  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3773 |  | 
|---|
| 3774 | * io.c (get_a_record): Handle case where RS = "" and input file | 
|---|
| 3775 | is only newlines.  See test/onlynl.   Bug report by | 
|---|
| 3776 | Michel Jouvin <jouvin@lal.in2p3.fr>. | 
|---|
| 3777 |  | 
|---|
| 3778 | Wed Jul  4 18:34:19 2001  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3779 |  | 
|---|
| 3780 | * eval.c (assign_val): Don't allow negative values for NF. | 
|---|
| 3781 | * field.c (set_NF): Robustify field-freeing code to make sure | 
|---|
| 3782 | values are always positive. | 
|---|
| 3783 |  | 
|---|
| 3784 | Sun Jul  1 19:15:01 2001  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3785 |  | 
|---|
| 3786 | * builtin.c (do_index): If second string is "", return 1. | 
|---|
| 3787 |  | 
|---|
| 3788 | Mon Jun 25 19:34:24 2001  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3789 |  | 
|---|
| 3790 | Further rationalization of treatment of dynamic regexes, | 
|---|
| 3791 | so that profiling code works correctly. | 
|---|
| 3792 | * awk.h (NODETYPE): New type, Node_dynregex. | 
|---|
| 3793 | * awkgram.y (mk_rexp): Use Node_dynregex. | 
|---|
| 3794 | * eval.c (nodetypes): Add Node_dynregex. | 
|---|
| 3795 | (r_tree_eval): Add Node_dynregex to case for match_op(). | 
|---|
| 3796 | * profile.c (tree_eval): Add Node_dynregex to case for pp_match_op(). | 
|---|
| 3797 | (pp_match_op): Handle Node_dynregex, simplify cases for ~ and !~. | 
|---|
| 3798 | * re.c (re_update): Add assertion that type is Node_regex when flags | 
|---|
| 3799 | indicate CONST. | 
|---|
| 3800 |  | 
|---|
| 3801 | New lint warning. | 
|---|
| 3802 | * awkgram.y (yylex): Added lint warning that constant with leading | 
|---|
| 3803 | zero is treated as octal or hex. | 
|---|
| 3804 |  | 
|---|
| 3805 | Generalized code for those who are Strong In The Ways of the Source. | 
|---|
| 3806 | * awk.h: New boolean variable. | 
|---|
| 3807 | * main.c (main): set it. | 
|---|
| 3808 | * eval.c (interpret): For arrays, check it. Remove variable 'first', | 
|---|
| 3809 | not needed anymore. | 
|---|
| 3810 | * profile.c (pp_string_fp): Enable printing of non-ascii characters | 
|---|
| 3811 | verbatim if variable set. | 
|---|
| 3812 |  | 
|---|
| 3813 | Fix memory corruption on SCO for array vars as params changed globally. | 
|---|
| 3814 | * awk.h (BECAMEARRAY): new flag. | 
|---|
| 3815 | * array.c (assoc_lookup): set the flag as appropriate. | 
|---|
| 3816 | * eval.c (flags2str): Add the flag. | 
|---|
| 3817 | (pop_fcall): Check the flag, don't free memory if set. | 
|---|
| 3818 |  | 
|---|
| 3819 | Wed Jun 13 18:07:06 2001  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3820 |  | 
|---|
| 3821 | * eval.c (fmt_index): Actually call erealloc() to grow fmt_list | 
|---|
| 3822 | if that's really necessary.  Bug report from David Jones, | 
|---|
| 3823 | djones@zoonami.com. | 
|---|
| 3824 |  | 
|---|
| 3825 | Sun Jun 10 14:24:48 2001  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3826 |  | 
|---|
| 3827 | * profile.c (pp_match_op): Rationalized the code. | 
|---|
| 3828 |  | 
|---|
| 3829 | Thu Jun  7 11:54:36 2001  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3830 |  | 
|---|
| 3831 | * awk.h (O_BINARY): Don't define if already defined | 
|---|
| 3832 | (as is true for cygwin/gcc --- oops). | 
|---|
| 3833 |  | 
|---|
| 3834 | Sun Jun  3 13:04:44 2001  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3835 |  | 
|---|
| 3836 | * Release 3.1.0: Release tar file made.  And there was | 
|---|
| 3837 | rejoicing. | 
|---|
| 3838 |  | 
|---|
| 3839 | Wed Apr 25 11:44:07 2001  Arnold Robbins  <arnold@skeeve.com> | 
|---|
| 3840 |  | 
|---|
| 3841 | * Makefile.am (AM_MAKEFLAGS): Add definition per advice from | 
|---|
| 3842 | Nelson Beebe. | 
|---|
| 3843 |  | 
|---|
| 3844 | Tue Apr 24 14:28:00 2001  Arnold Robbins  <arnold@skeeve.com> | 
|---|
| 3845 |  | 
|---|
| 3846 | * io.c (devopen): Patch from Jeurgen to robustify pulling | 
|---|
| 3847 | out hostname, port numbers, etc, to avoid any buffer overrun | 
|---|
| 3848 | problems. | 
|---|
| 3849 |  | 
|---|
| 3850 | Mon Apr 23 10:26:38 2001  Arnold Robbins  <arnold@skeeve.com> | 
|---|
| 3851 |  | 
|---|
| 3852 | * awkgram.y: Fix grammar so that `print ... |& ".." |& getline' | 
|---|
| 3853 | dies with a parse-time error message. | 
|---|
| 3854 |  | 
|---|
| 3855 | Sun Apr 22 16:46:48 2001  Arnold Robbins  <arnold@skeeve.com> | 
|---|
| 3856 |  | 
|---|
| 3857 | * io.c (socketopen): Fix from Juergen in recursive call. | 
|---|
| 3858 |  | 
|---|
| 3859 | Thu Apr 19 18:39:20 2001  Pat Rankin  <rankin@eql.caltech.edu> | 
|---|
| 3860 |  | 
|---|
| 3861 | * awk.h: Really fix logic around include of <sys/types.h>. | 
|---|
| 3862 |  | 
|---|
| 3863 | * awk.h (callresult): New name for `result' macro. | 
|---|
| 3864 | * eval.c (r_get_lhs, case Node_builtin): Use it. | 
|---|
| 3865 |  | 
|---|
| 3866 | Thu Apr 19 16:31:09 2001  Pat Rankin  <rankin@eql.caltech.edu> | 
|---|
| 3867 |  | 
|---|
| 3868 | * io.c: Move code around to allow compilation with DEC C. | 
|---|
| 3869 |  | 
|---|
| 3870 | Thu Apr 19 16:21:56 2001  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3871 |  | 
|---|
| 3872 | * random.h: Move decl of random() here. | 
|---|
| 3873 | * random.c: Remove decl of random(). | 
|---|
| 3874 |  | 
|---|
| 3875 | Mon Apr  9 11:41:58 2001  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3876 |  | 
|---|
| 3877 | * dfa.c (dfainit): Initialize more members in the structure, | 
|---|
| 3878 | based on bug report in bug.gnu.utils by aaronl@vitelus.com | 
|---|
| 3879 | (Aaron Lehmann). | 
|---|
| 3880 | * awk.h: Fix logic around include of <sys/types.h>. | 
|---|
| 3881 |  | 
|---|
| 3882 | Thu Apr  5 20:12:05 2001  Pat Rankin  <rankin@eql.caltech.edu> | 
|---|
| 3883 |  | 
|---|
| 3884 | * dfa.c: for VMS, #include <stddef.h> instead of <sys/types.h>. | 
|---|
| 3885 | * missing_d/mktime.c: likewise. | 
|---|
| 3886 |  | 
|---|
| 3887 | * random.c: reorder include directives to get gawk config info | 
|---|
| 3888 | from random.h sooner. | 
|---|
| 3889 | [fcntl.h]: guard #include with HAVE_FCNTL_H test. | 
|---|
| 3890 | [unistd.h]: guard #include with HAVE_UNISTD_H test. | 
|---|
| 3891 |  | 
|---|
| 3892 | * random.c (srandomdev): skip /dev/urandom usage if O_RDONLY | 
|---|
| 3893 | is not defined. | 
|---|
| 3894 |  | 
|---|
| 3895 | Tue Mar 20 11:07:11 2001  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3896 |  | 
|---|
| 3897 | * awkgram.y (function_body): Add opt_nls to end of production. | 
|---|
| 3898 |  | 
|---|
| 3899 | Tue Mar 20 09:30:32 2001  Pat Rankin  <rankin@eql.caltech.edu> | 
|---|
| 3900 |  | 
|---|
| 3901 | * awk.h (BROKEN_STRNCASECMP): Add decl of strcasecmp. | 
|---|
| 3902 | * io.c (two_way_open): Add `return FALSE;' for fussy compilers. | 
|---|
| 3903 |  | 
|---|
| 3904 | Sun Mar 18 15:10:56 2001  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3905 |  | 
|---|
| 3906 | * io.c (gawk_pclose): Set the exit value for close correctly | 
|---|
| 3907 | if the pipe died with a signal. | 
|---|
| 3908 |  | 
|---|
| 3909 | Wed Mar  7 11:28:52 2001  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3910 |  | 
|---|
| 3911 | * io.c (get_a_record): Correctly handle the case of a leading | 
|---|
| 3912 | single newline at the front of the file when RS = "". | 
|---|
| 3913 |  | 
|---|
| 3914 | 2001-02-26  Paul Eggert  <eggert@twinsun.com> | 
|---|
| 3915 |  | 
|---|
| 3916 | * COPYING: Incorporate latest version from FSF, which fixes a Y2k bug. | 
|---|
| 3917 |  | 
|---|
| 3918 | * builtin.c (do_mktime): Allow the user to specify the | 
|---|
| 3919 | tm_isdst member as an optional trailing integer, and to | 
|---|
| 3920 | specify "out-of-range" members.  Check for overflow when | 
|---|
| 3921 | subtracting 1 from month or 1900 from year.  Allow years just | 
|---|
| 3922 | past INT_MAX, as they work on some hosts when INT_MAX - 1900 | 
|---|
| 3923 | is representable as an int. | 
|---|
| 3924 |  | 
|---|
| 3925 | * doc/gawk.1, doc/gawk.texi: Document the above changes. | 
|---|
| 3926 | Also, document that the origin-zero Gregorian calendar is used. | 
|---|
| 3927 | Fix confusing wording about "midnight" by replacing it with 00:00 | 
|---|
| 3928 | ("midnight" is also 24:00, the end of the day). | 
|---|
| 3929 | Mention the typical range for time stamps. | 
|---|
| 3930 | Do not assume that years are nonnegative and are less than 10,000. | 
|---|
| 3931 | Suggest TZ=UTC0 instead of TZ=GMT0, as that's how recent versions | 
|---|
| 3932 | of GNU date behave. | 
|---|
| 3933 | GMT is not always the time of day in Greenwich these days. | 
|---|
| 3934 | Fix typos: "Emporer/Era", "1980's", "1970's". | 
|---|
| 3935 |  | 
|---|
| 3936 | * m4/largefile.m4: Synchronized with latest version. | 
|---|
| 3937 |  | 
|---|
| 3938 | Tue Feb 27 12:10:11 2001  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3939 |  | 
|---|
| 3940 | * profile.c (pp_in_array): Change test to tree->type == Node_expression_list. | 
|---|
| 3941 |  | 
|---|
| 3942 | Wed Feb  7 14:46:50 2001  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3943 |  | 
|---|
| 3944 | * awkgram.y (LEX_FOR): Allow newline after `;' in for loops. | 
|---|
| 3945 | Per bug report from Brian Kernighan, bwk@research.bell-labs.com. | 
|---|
| 3946 |  | 
|---|
| 3947 | Tue Feb  6 18:35:27 2001  Martin C. Brown    <mc@whoever.com> | 
|---|
| 3948 |  | 
|---|
| 3949 | * io.c (socket_open): Conditionalize various options based on | 
|---|
| 3950 | ifdef. Needed for BeOS port. | 
|---|
| 3951 |  | 
|---|
| 3952 | Tue Feb  6 18:17:13 2001  Michal Jaegermann  <michal@ellpspace.math.ualberta.ca> | 
|---|
| 3953 |  | 
|---|
| 3954 | * regex.c (re_match_2_internal): Case maybe_pop_jump, for | 
|---|
| 3955 | charset and not_charset: change cast from (unsigned char) | 
|---|
| 3956 | to (unsigned).  Catches last 8 chars with high bit set | 
|---|
| 3957 | if backtracking. See test/rebt8b1.awk, test/rebt8b2.awk. | 
|---|
| 3958 |  | 
|---|
| 3959 | Tue Feb  6 11:20:21 2001  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3960 |  | 
|---|
| 3961 | Have `for (iggy in foo)' save the elements and loop over them. | 
|---|
| 3962 | Make sorted for loops a dynamic test instead of a compile time test. | 
|---|
| 3963 | Still requires being Strong In The Ways Of The Source. | 
|---|
| 3964 |  | 
|---|
| 3965 | * awk.h: (struct search): removed. | 
|---|
| 3966 | (assoc_scan, assoc_next): removed declarations. | 
|---|
| 3967 | * array.c (assoc_scan, assoc_next): removed functions. | 
|---|
| 3968 | * eval.c (interpret): remove Node_K_array_sorted_for. Change code | 
|---|
| 3969 | at Node_K_arrayfor. | 
|---|
| 3970 | (nodetypes): remove Node_K_array_sorted_for. | 
|---|
| 3971 | * configure.in: removed array sorting test. | 
|---|
| 3972 | * awkgram.y: removed sorted_in keyword and associated code. | 
|---|
| 3973 |  | 
|---|
| 3974 | Sun Feb  4 14:57:49 2001  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3975 |  | 
|---|
| 3976 | * eval.c (interpret): use tree->rnode->exec_count to hold count of | 
|---|
| 3977 | times if was true. | 
|---|
| 3978 | profile.c (interpret): ditto. | 
|---|
| 3979 | * main.c (pre_assign): gross hack. malloc fresh copy of assign so can | 
|---|
| 3980 | clear the '=', otherwise screws up profiling print out. | 
|---|
| 3981 |  | 
|---|
| 3982 | Sun Jan 28 16:16:02 2001  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 3983 |  | 
|---|
| 3984 | Per request from Nelson Beebe, SIGHUP to pgawk dumps profile | 
|---|
| 3985 | and function call stack and exits, SIGUSR1 dumps and continues | 
|---|
| 3986 | running. | 
|---|
| 3987 |  | 
|---|
| 3988 | * eval.c (dump_fcall_stack): New function, dumps awk function call | 
|---|
| 3989 | stack. | 
|---|
| 3990 | * awk.h (dump_fcall_stack): Add declaration. | 
|---|
| 3991 | (init_profiling_signals): Ditto. | 
|---|
| 3992 | * main.c (main): Call init_profiling_signals. | 
|---|
| 3993 | * profile.c (init_profiling_signals, dump_and_exit, just_dump): new | 
|---|
| 3994 | functions. | 
|---|
| 3995 |  | 
|---|
| 3996 | Sun Jan 28 15:50:02 2001  Eli Zaretskii  <eliz@is.elta.co.il> | 
|---|
| 3997 |  | 
|---|
| 3998 | * io.c (gawk_popen): Restore the mode of stdin before running the | 
|---|
| 3999 | child process and switch it back if BINMODE is in effect after the | 
|---|
| 4000 | child returns. | 
|---|
| 4001 | (redirect): Restore the mode of stdin before running the child | 
|---|
| 4002 | process. | 
|---|
| 4003 | (close_redir): Switch mode of stdin back to binary if BINMODE is | 
|---|
| 4004 | in effect, after the child returns. | 
|---|
| 4005 |  | 
|---|
| 4006 | * builtin.c (do_system): Restore the mode of stdin before running | 
|---|
| 4007 | the child process and switch it back if BINMODE is in effect after | 
|---|
| 4008 | the child returns. | 
|---|
| 4009 |  | 
|---|
| 4010 | * awk.h (os_restore_mode): Add prototype. | 
|---|
| 4011 |  | 
|---|
| 4012 | Thu Jan 18 14:03:06 2001  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4013 |  | 
|---|
| 4014 | * custom.h, README_d/README.ultrix: Fixes for Ultrix | 
|---|
| 4015 | from Juergen Kahrs. | 
|---|
| 4016 |  | 
|---|
| 4017 | Wed Jan 17 11:03:40 2001  Eli Zaretskii  <eliz@is.elta.co.il> | 
|---|
| 4018 |  | 
|---|
| 4019 | * io.c (redirect) [F_GETFL && O_APPEND]: Use binmode in the call | 
|---|
| 4020 | to fdopen. | 
|---|
| 4021 |  | 
|---|
| 4022 | Mon Jan 15 16:29:52 2001  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4023 |  | 
|---|
| 4024 | * profile.c (prec_level): Made Node_K_getline higher than < | 
|---|
| 4025 | but lower than others.  Allows use of getline with redirection | 
|---|
| 4026 | inside an if. | 
|---|
| 4027 |  | 
|---|
| 4028 | Wed Jan 10 15:35:06 2001  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4029 |  | 
|---|
| 4030 | * eval.c (set_BINMODE): Rationalized string assignment. | 
|---|
| 4031 |  | 
|---|
| 4032 | Sun Jan  7 15:26:16 2001  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4033 |  | 
|---|
| 4034 | * getopt.h: Removed names in prototypes for getopt_long | 
|---|
| 4035 | and getopt_long_only, fixes problems on MINGW32. | 
|---|
| 4036 |  | 
|---|
| 4037 | Thu Jan  4 10:13:46 2001  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4038 |  | 
|---|
| 4039 | * configure.in: Add check for mcheck.h | 
|---|
| 4040 | * main.c: Include mcheck.h if have it. | 
|---|
| 4041 | (main):  If TIDYMEM turned on in environment, also call mtrace(). | 
|---|
| 4042 |  | 
|---|
| 4043 | Wed Jan  3 16:41:33 2001  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4044 |  | 
|---|
| 4045 | Fixed minor memory leaks. | 
|---|
| 4046 | * re.c (re_update): When IGNORECASE changed, unref(t->re_text). | 
|---|
| 4047 | * eval.c (pop_fcall): Fix the logic to correctly free the vname | 
|---|
| 4048 | when copying array args back to their underlying source. | 
|---|
| 4049 |  | 
|---|
| 4050 | Fixed massive memory leaks. | 
|---|
| 4051 | * node.c (dupnode): If PERM is set, do nothing. | 
|---|
| 4052 | (unref): Fix logic. Always turn off TEMP.  Check just for MALLOC | 
|---|
| 4053 | when incrementing the stref. | 
|---|
| 4054 | * array.c (assoc_lookup): Turn off PERM also when saving subscript. | 
|---|
| 4055 | * builtin.c (sub_common): Turn off PERM also when making private copy | 
|---|
| 4056 | of string. | 
|---|
| 4057 |  | 
|---|
| 4058 | Add a minor memory cleanup facility (undocumented): | 
|---|
| 4059 | * awk.h (do_tidy_mem, release_all_vars): Add declarations. | 
|---|
| 4060 | * main.c (do_tidy_mem): Add declaration. | 
|---|
| 4061 | (main): if $TIDYMEM exists, do_tidy_mem is true, and call mtrace(). | 
|---|
| 4062 | * awkgram.y (release_all_vars): New function. | 
|---|
| 4063 |  | 
|---|
| 4064 | Sun Dec 31 10:47:37 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4065 |  | 
|---|
| 4066 | * awkgram.y (in_end_rule): Renamed `parsing_end_rule' to avoid | 
|---|
| 4067 | conflict with global var of same name. | 
|---|
| 4068 |  | 
|---|
| 4069 | Sun Dec 24 10:36:54 2000  Eli Zaretskii  <eliz@is.elta.co.il> | 
|---|
| 4070 |  | 
|---|
| 4071 | * awkgram.y (snode): Reword the error message about the number of | 
|---|
| 4072 | arguments for a builtin, so as not to use the English `s' as a | 
|---|
| 4073 | plural suffix. | 
|---|
| 4074 |  | 
|---|
| 4075 | Tue Dec 12 08:38:03 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4076 |  | 
|---|
| 4077 | * ext.c (do_ext): ifdef out use of `dummy'. Duh. | 
|---|
| 4078 | * regex.c (re_error_msgid): Revert to array of `char *' so that can | 
|---|
| 4079 | compile on K&R compilers.  Fix all uses appropriately. | 
|---|
| 4080 | (re_error_msgid_idx): Removed. | 
|---|
| 4081 |  | 
|---|
| 4082 | Fri Dec  8 11:47:26 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4083 |  | 
|---|
| 4084 | * ext.c (dummy): Make gcc specific via ifdef. | 
|---|
| 4085 | * builtin.c (do_dcgettext): make conditional compilation smarter. | 
|---|
| 4086 | * msg.c (warning, error, r_fatal): Finish switching back to | 
|---|
| 4087 | multi-version function header. | 
|---|
| 4088 |  | 
|---|
| 4089 | Wed Dec  6 13:28:58 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4090 |  | 
|---|
| 4091 | * random.h: include <config.h> to get ssize_t definition. | 
|---|
| 4092 | * awkgram.y (yyerror): Restore multi-version function header, | 
|---|
| 4093 | it seems that what ansi2knr produces doesn't quite do the | 
|---|
| 4094 | job on old compilers. | 
|---|
| 4095 | msg.c (msg): Ditto. | 
|---|
| 4096 |  | 
|---|
| 4097 | Tue Dec  5 15:05:35 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4098 |  | 
|---|
| 4099 | * configure.in (AC_C_INLINE): Added macro call. | 
|---|
| 4100 | * Makefile.am (LN): Define it for install hooks. | 
|---|
| 4101 |  | 
|---|
| 4102 | Sun Dec  3 17:28:53 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4103 |  | 
|---|
| 4104 | * awk.h (os_setbinmode): Declare new function. | 
|---|
| 4105 | (setmode): Remove definition: conflicts with MacOS X. | 
|---|
| 4106 | * main.c (main): Change call of setmode to os_setbindmode. | 
|---|
| 4107 |  | 
|---|
| 4108 | * builtin.c (do_dcgettext): Improve ifdef for code, fixes MacOS X. | 
|---|
| 4109 | * custom.h (__APPLE__): Force definition of HAVE_MKTIME, won't | 
|---|
| 4110 | link otherwise.  Harumph. | 
|---|
| 4111 |  | 
|---|
| 4112 | Sun Nov 26 11:58:52 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4113 |  | 
|---|
| 4114 | * builtin.c (do_dcgettext, do_bindtextdomain): Add calls to | 
|---|
| 4115 | free_temp the various arguments.  Sigh. | 
|---|
| 4116 | * io.c (yylex): nuked bstart variable, put all uses of mend variable | 
|---|
| 4117 | into TANDEM ifdef. | 
|---|
| 4118 | * main.c (load_environ): removed cp variable, value never used. | 
|---|
| 4119 | * random.c: Remvoed uses of `inline' keyword. | 
|---|
| 4120 | * Makefile.am (install-exec-hook, uninstall-local): new targets. | 
|---|
| 4121 | Adds creation of gawk-X.Y.Z and awk links, as in 3.0.x. | 
|---|
| 4122 | * configure.in (GAWK_AC_TYPE_SSIZE_T): Added. | 
|---|
| 4123 | m4/ssize_t.m4: new file. | 
|---|
| 4124 |  | 
|---|
| 4125 | Wed Nov 22 14:47:18 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4126 |  | 
|---|
| 4127 | After consultation with Brian Kernighan and Michael Brennan, | 
|---|
| 4128 | nuked the abort keyword. | 
|---|
| 4129 |  | 
|---|
| 4130 | * awk.h (Node_K_abort): removed. | 
|---|
| 4131 | * eval.c (aborting): removed decl. | 
|---|
| 4132 | (interpret): Removed Node_K_abort case. | 
|---|
| 4133 | * io.c (do_input): Removed checks for aborting. | 
|---|
| 4134 | * main.c (aborting): removed. | 
|---|
| 4135 | (main): Removed checks for aborting. | 
|---|
| 4136 | * profile.c (pprint): Removed Node_K_abort case. | 
|---|
| 4137 | * awk.y (LEX_ABORT): All stuff removed. | 
|---|
| 4138 |  | 
|---|
| 4139 | Wed Nov 22 10:45:57 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4140 |  | 
|---|
| 4141 | * ext.c (dummy): Move inside #ifdef DYNAMIC. Helps on | 
|---|
| 4142 | PCs and other platforms that don't do dynamic loading. | 
|---|
| 4143 | * awk.h (RED_TCP): New flag, means use shutdown. | 
|---|
| 4144 | io.c (redflags2str): Add RED_TCP. | 
|---|
| 4145 | (SHUT_RD, SHUT_WR, SHUT_RDWR): Add conditional defines. | 
|---|
| 4146 | (redirect): Add RED_TCP to tflag if appropriate.  Add more | 
|---|
| 4147 | #ifdef HAVE_SOCKETS as needed. | 
|---|
| 4148 | (close_redir): If RED_TCP set, shutdown(2) on each end of the socket. | 
|---|
| 4149 |  | 
|---|
| 4150 | Tue Nov 21 16:25:41 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4151 |  | 
|---|
| 4152 | * awk.y: for (iggy in foo) loops: add test that index | 
|---|
| 4153 | in delete statement is a simple variable. | 
|---|
| 4154 |  | 
|---|
| 4155 | Tue Nov 14 16:11:39 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4156 |  | 
|---|
| 4157 | * awk.h: Add appropriate conditional versions of the gettext | 
|---|
| 4158 | functions if we don't have <libintl.h> or if ENABLE_NLS | 
|---|
| 4159 | is not defined or zero. | 
|---|
| 4160 | * configure.in: Add check for libintl.h header. | 
|---|
| 4161 |  | 
|---|
| 4162 | From Scott Deifik for PCs. | 
|---|
| 4163 | * awk.h (lintwarn): Call set_loc unconditionally, makes | 
|---|
| 4164 | compilation work on PCs. | 
|---|
| 4165 | * builtin.c (do_dcgettext): Compile out cat_tab and code | 
|---|
| 4166 | if not ENABLE_NLS. | 
|---|
| 4167 | * ext.c: for MSC, no long long variable. | 
|---|
| 4168 | * random.c: use clock() instead of gettimeofday(). | 
|---|
| 4169 | * builtin.c: Fixed prototypes for new random functions (ADR). | 
|---|
| 4170 |  | 
|---|
| 4171 | Sun Nov 12 17:45:44 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4172 |  | 
|---|
| 4173 | * builtin.c (parse_next_arg): Fix call to >= num_args so | 
|---|
| 4174 | running out of args check is correct, instead of core dumping. | 
|---|
| 4175 | (format_tree): Save and restore `the_args' and `args_size' | 
|---|
| 4176 | if a nested call is in progress, see explanatory comment. | 
|---|
| 4177 | See also tests/addcomma. | 
|---|
| 4178 | * Makefile.am: Fix things so that gawk/pgawk built first, | 
|---|
| 4179 | even if `make check' called before make.  Add some | 
|---|
| 4180 | commentary. | 
|---|
| 4181 |  | 
|---|
| 4182 | Wed Nov  8 14:39:20 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4183 |  | 
|---|
| 4184 | * configure.in: Only add -rdynamic for linux. | 
|---|
| 4185 | * dfa.h, dfa.c: upgraded to versions in grep 2.4.2. | 
|---|
| 4186 |  | 
|---|
| 4187 | Tue Nov  7 18:17:17 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4188 |  | 
|---|
| 4189 | * All: Switched to ANSI function headers and added | 
|---|
| 4190 | `ansi2knr' automake option.  Really cool. | 
|---|
| 4191 |  | 
|---|
| 4192 | Tue Nov  7 16:57:49 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4193 |  | 
|---|
| 4194 | * io.c (redirect): Check for O_APPEND in flags when doing | 
|---|
| 4195 | fdopen() of /dev/fd/N.  Thanks to bug report from | 
|---|
| 4196 | "John H. DuBois III" <spcecdt@armory.com>. | 
|---|
| 4197 |  | 
|---|
| 4198 | Tue Nov  7 14:09:14 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4199 |  | 
|---|
| 4200 | * awk.h (os_is_setuid): declare function. | 
|---|
| 4201 | * main.c (main): call it if do_lint and warn if true. | 
|---|
| 4202 | * awkgram.y (tokentab): | 
|---|
| 4203 | - Made sure all extensions are actually marked as such.  Ouch. | 
|---|
| 4204 | - Changed "sort" to "asort".  Potential to break too much old code. | 
|---|
| 4205 | * getopt.h, getopt.c, getopt1.c: replaced with current versions | 
|---|
| 4206 | from glibc CVS archive. | 
|---|
| 4207 |  | 
|---|
| 4208 | Mon Nov  6 18:14:33 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4209 |  | 
|---|
| 4210 | * random.c: Replaced with recent version from FreeBSD. | 
|---|
| 4211 |  | 
|---|
| 4212 | Mon Nov  6 15:37:12 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4213 |  | 
|---|
| 4214 | Major simplification of automake machinery. | 
|---|
| 4215 |  | 
|---|
| 4216 | * configure.in: | 
|---|
| 4217 | - INSTALL is forced only if not provided in environment | 
|---|
| 4218 | - lots of Makefile.in files removed since move to automake 1.4a | 
|---|
| 4219 | * Makefile.am, */Makefile.am: Moved directories that don't need | 
|---|
| 4220 | the automake machinery into EXTRA_DIST as appropriate and | 
|---|
| 4221 | removed the Makefile{,.am,.in} files as needed. | 
|---|
| 4222 | * eval_p.c, profile_p.c: New files to make it easier with automake | 
|---|
| 4223 | to compile pgawk. | 
|---|
| 4224 |  | 
|---|
| 4225 | Tue Oct 24 12:20:18 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4226 |  | 
|---|
| 4227 | * awkgram.y (valinfo, var_comp, dump_vars): New functions to dump | 
|---|
| 4228 | the list of global variables. | 
|---|
| 4229 | * awk.h: Declare dump_vars. | 
|---|
| 4230 | * main.c (optab): new option "dump-variables". | 
|---|
| 4231 | (main): Code to handle it, set the output file and then call | 
|---|
| 4232 | dump_vars() at the end. | 
|---|
| 4233 | (usage): New option added to usage message. | 
|---|
| 4234 |  | 
|---|
| 4235 | Sat Oct 21 22:59:59 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4236 |  | 
|---|
| 4237 | * awkgram.y (parms_shadow): For a function, check if any | 
|---|
| 4238 | parameters shadow global variables and print a warning. | 
|---|
| 4239 | (shadow_funcs): Go through all functions and call parms_shadow(). | 
|---|
| 4240 | (isnoeffect, isassignable): Add Node_LINT and NODE_BINMODE. | 
|---|
| 4241 | * main.c (main): If do_lint, call shadow_funcs(). | 
|---|
| 4242 | * awk.h: add declaration of shadow_funcs(). | 
|---|
| 4243 | * configure.in: added m4/Makefile and awklib/eg/network/Makefile | 
|---|
| 4244 | to list of generated makefiles. | 
|---|
| 4245 |  | 
|---|
| 4246 | Tue Oct 17 10:47:35 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4247 |  | 
|---|
| 4248 | * array.c (assoc_lookup): Reverted change that did dupnode of | 
|---|
| 4249 | array indices.  Creates significant problems if index is | 
|---|
| 4250 | numeric value and CONVFMT changes.  Added fix to set | 
|---|
| 4251 | bucket->ahname->stfmt to -1 so that force_string never recalculates | 
|---|
| 4252 | the string value, and also turned off NUM and turned on STR. | 
|---|
| 4253 | See test/arynasty.awk. | 
|---|
| 4254 |  | 
|---|
| 4255 | Mon Oct 16 12:21:26 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4256 |  | 
|---|
| 4257 | * All: Cleaned up various lint warnings for consistent phrasing. | 
|---|
| 4258 | * awk.y (in_end_rule): New variable for warning about unredirected | 
|---|
| 4259 | getline. It's ok in a BEGIN, but not in an END. | 
|---|
| 4260 |  | 
|---|
| 4261 | Sun Oct 15 14:14:05 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4262 |  | 
|---|
| 4263 | * field.c (set_FS): Add lint warning for FS = "". | 
|---|
| 4264 | (do_split): Ditto for 3rd arg = "". | 
|---|
| 4265 |  | 
|---|
| 4266 | Fri Oct 13 09:17:04 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4267 |  | 
|---|
| 4268 | * io.c (close_redir): Clear rp->fp on all closes.  Remove | 
|---|
| 4269 | rp from list if either closing both ends or both ends | 
|---|
| 4270 | have been closed separately. Add exitwarn message for | 
|---|
| 4271 | co-process. | 
|---|
| 4272 | (flush_io): Add warning message if fflush of co-process | 
|---|
| 4273 | fails.  Rationalize return value to either 0 or -1. | 
|---|
| 4274 | * builtin.c (do_gensub): 3rd arg of zero generates a | 
|---|
| 4275 | warning. | 
|---|
| 4276 | (do_fflush): rationalize return value: -1 for unopen or read-only | 
|---|
| 4277 | redirection, status of fflush otherwise. | 
|---|
| 4278 |  | 
|---|
| 4279 | Wed Oct 11 22:11:19 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4280 |  | 
|---|
| 4281 | * awk.y (for loop): Check that there is a body as | 
|---|
| 4282 | part of the `is it a delete statement' check. | 
|---|
| 4283 |  | 
|---|
| 4284 | Thu Oct  5 11:56:42 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4285 |  | 
|---|
| 4286 | * awk.h, awkgram.y, configure.in, eval.c: enabled | 
|---|
| 4287 | `for (i in_sorted array)' loops for those who | 
|---|
| 4288 | are Strong In The Way Of The Source.  So there. | 
|---|
| 4289 |  | 
|---|
| 4290 | Mon Oct  2 10:09:32 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4291 |  | 
|---|
| 4292 | * io.c (do_close): make close(x) for non-open x return -1 | 
|---|
| 4293 | and update ERRNO.  close(FILENAME) no longer does anything | 
|---|
| 4294 | magic; this is all for better consistency with other awks | 
|---|
| 4295 | and is more logical, anyway. | 
|---|
| 4296 |  | 
|---|
| 4297 | Thu Sep 28 17:27:16 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4298 |  | 
|---|
| 4299 | * io.c (close_one): Added a lint warning if it becomes | 
|---|
| 4300 | necessary to start multiplexing fd's, per ancient suggestion | 
|---|
| 4301 | from Scott Deifik, <scottd@amgen.com>. | 
|---|
| 4302 |  | 
|---|
| 4303 | Tue Sep 26 14:41:41 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4304 |  | 
|---|
| 4305 | * profile.c: Move enum for redirection placement to top | 
|---|
| 4306 | of file, and make the value a parameter to pp_redir. | 
|---|
| 4307 | Fix all the calls.  This gets `|&' right everywhere. | 
|---|
| 4308 |  | 
|---|
| 4309 | Sun Sep 24 16:38:04 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4310 |  | 
|---|
| 4311 | * awk.h (freenode): set the flags straight to UNINITIALIZED. | 
|---|
| 4312 | * node.c (unref): Fix test for MALLOC|TEMP to test the | 
|---|
| 4313 | actual flags, not zero. | 
|---|
| 4314 | * builtin.c (format_tree): ala print and concat, dupnode | 
|---|
| 4315 | the temp nodes from tree_evaling the arguments.  See | 
|---|
| 4316 | test/nasty2.awk. | 
|---|
| 4317 |  | 
|---|
| 4318 | Mon Sep 18 10:16:58 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4319 |  | 
|---|
| 4320 | * awkgram.y (snode): Make match 3rd arg and close 2nd arg fatal | 
|---|
| 4321 | errors if --tradtional. | 
|---|
| 4322 |  | 
|---|
| 4323 | Thu Sep 14 12:22:42 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4324 |  | 
|---|
| 4325 | * eval.c (update_ERRNO): Call gettext on result of strerror. | 
|---|
| 4326 | i18n rules. | 
|---|
| 4327 |  | 
|---|
| 4328 | Wed Sep 13 14:56:11 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4329 |  | 
|---|
| 4330 | * eval.c (r_tree_eval): Case for Node_concat. Dupnode the | 
|---|
| 4331 | strings ala do_print to get more consistent results. | 
|---|
| 4332 | Compare gawk 3.0.6 to nawk/mawk on test/nasty.awk. | 
|---|
| 4333 | Thanks to Andrew Sumner (andrewsumner@yahoo.com) for | 
|---|
| 4334 | pointing this one out. | 
|---|
| 4335 |  | 
|---|
| 4336 | Wed Sep 13 10:06:47 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4337 |  | 
|---|
| 4338 | * io.c (two_way_close_type): New enumerated type. | 
|---|
| 4339 | (close_redir): New third param of type two_way_close_type. | 
|---|
| 4340 | Add smarts to two-way case for different close types. | 
|---|
| 4341 | Only remove it from the redir list if closing is for both ends. | 
|---|
| 4342 | (gawk_pclose): Check that rp->iop != NULL before closing, | 
|---|
| 4343 | all three versions. | 
|---|
| 4344 | * awkgram.y (tokentab): Allow 2nd argument to close. | 
|---|
| 4345 | (snode): Add lint warning. | 
|---|
| 4346 |  | 
|---|
| 4347 | Sun Sep 10 14:16:10 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4348 |  | 
|---|
| 4349 | * field.c (set_FIELDWIDTHS): Generate a fatal error upon | 
|---|
| 4350 | encountering a negative width. | 
|---|
| 4351 |  | 
|---|
| 4352 | Sun Sep 10 10:37:35 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4353 |  | 
|---|
| 4354 | * awkgram.y (snode): If first argument to dcgettext is a | 
|---|
| 4355 | string constant and --gen-po, dump the string constant to | 
|---|
| 4356 | the .po file too. | 
|---|
| 4357 | * main.c (nostalgia): Add call to fflush(stderr). | 
|---|
| 4358 | * eval.c (r_tree_eval): Add entries for Node_LINT and for | 
|---|
| 4359 | NODE_TEXTDOMAIN. | 
|---|
| 4360 |  | 
|---|
| 4361 | Thu Sep  7 10:46:20 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4362 |  | 
|---|
| 4363 | * builtin.c (do_dcgettext): Per suggestion from Ulrich Drepper, | 
|---|
| 4364 | make the awk interface: | 
|---|
| 4365 |  | 
|---|
| 4366 | str = dcgettext(string [, domain [, category]]) | 
|---|
| 4367 |  | 
|---|
| 4368 | Wed Sep  6 16:28:12 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4369 |  | 
|---|
| 4370 | Bring gettext features out to the awk level! | 
|---|
| 4371 |  | 
|---|
| 4372 | * awk.h: Add declarations of new functions `do_dcgettext' | 
|---|
| 4373 | `do_bindtextdomain', `set_TEXTDOMAIN' and variables | 
|---|
| 4374 | `TEXTDOMAIN', `TEXTDOMAIN_node'.  New NODETYPE enum | 
|---|
| 4375 | `Node_TEXTDOMAIN'. | 
|---|
| 4376 | * eval.c (nodetypes): add Node_TEXTDOMAIN at end. | 
|---|
| 4377 | (set_TEXTDOMAIN): new function. | 
|---|
| 4378 | (r_get_lhs): add case for Node_TEXTDOMAIN. | 
|---|
| 4379 | * main.c (varinit): add entry for TEXTDOMAIN. | 
|---|
| 4380 | * node.c (format_val): If INTLSTR use dcgettext of string | 
|---|
| 4381 | and TEXTDOMAIN. | 
|---|
| 4382 | * awkgram.y (tokentab): Add entries for "dcgettext" and | 
|---|
| 4383 | "bindtextdomain". | 
|---|
| 4384 | * builtin.c (do_dcgettext, do_bindtextdomain): new functions. | 
|---|
| 4385 |  | 
|---|
| 4386 | Tue Sep  5 17:01:34 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4387 |  | 
|---|
| 4388 | * profile.c (pp_string_fp): Use lower case versions of | 
|---|
| 4389 | isascii and isprint to avoid printing high-bit-set | 
|---|
| 4390 | characters.  Make it smarter to break strings at 70 | 
|---|
| 4391 | chars or after embedded newline, for --gen-po. | 
|---|
| 4392 | Fix the calls to it everywhere for new boolean option | 
|---|
| 4393 | to yes/no break lines. | 
|---|
| 4394 | * m4/strtod.m4: new file, defines GAWK_AC_FUNC_STRTOD_C89. | 
|---|
| 4395 | * configure.in: GAWK_AC_FUNC_STRTOD_C89 call added | 
|---|
| 4396 | * acinclude.m4: include strtod.m4. | 
|---|
| 4397 | * acconfig.h: add entry for STRTOD_NOT_C89. | 
|---|
| 4398 | Remove entries for BITOPS and NON_DEC_DATA. | 
|---|
| 4399 | * missing/missing.c: add check for STRTOD_NOT_C89, use ours | 
|---|
| 4400 | if set. | 
|---|
| 4401 | * missing/strtod.c: make smarter for input like 0x345. | 
|---|
| 4402 | * awk.h: [STRTOD_NOT_C89]: define strtod gawk_strtod to get | 
|---|
| 4403 | our version.  Avoids linker weirdness. | 
|---|
| 4404 |  | 
|---|
| 4405 | Mon Sep  4 09:16:43 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4406 |  | 
|---|
| 4407 | * field.c (set_record): fix from Utz-Uwe Haus | 
|---|
| 4408 | <haus@saturn.Math.Uni-Magdeburg.DE> to make sure there's | 
|---|
| 4409 | always enough room in the record. | 
|---|
| 4410 | * builtin.c (nondec2awknum): Fix octal conversions to exit | 
|---|
| 4411 | when hitting a non-digit, and not go to decimal.  Make | 
|---|
| 4412 | check for non-octal better.  Based on bug report from | 
|---|
| 4413 | Morris_Lee@tvratings.com. | 
|---|
| 4414 |  | 
|---|
| 4415 | Sun Sep  3 13:52:11 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4416 |  | 
|---|
| 4417 | * builtin.c (format_tree): Allow positional parameters for | 
|---|
| 4418 | %*.* kinds of things. | 
|---|
| 4419 |  | 
|---|
| 4420 | Made octal/hex constants and strtonum on by default. Made | 
|---|
| 4421 | --enable-non-decimal-data a runtime switch `--non-decimal-data'. | 
|---|
| 4422 |  | 
|---|
| 4423 | * configure.in: Removed AC_ARG_ENABLE for --enable-bitops and | 
|---|
| 4424 | --enable-non-decimal-data. | 
|---|
| 4425 | In .developing check, remove the AC_DEFINEs. | 
|---|
| 4426 | * awk.h: Decls for bitwise functions now there by default. | 
|---|
| 4427 | Add decl of `do_non_decimal_data'. | 
|---|
| 4428 | * main.c (do_non_decimal_data): new variable | 
|---|
| 4429 | (optlist): add new entry for `--non-decimal-data'. | 
|---|
| 4430 | (main): turn off `do_non_decimal_data' if `do_traditional'. | 
|---|
| 4431 | (usage): add the new option. | 
|---|
| 4432 | * node.c (r_force_number): make check for non-decimal data a | 
|---|
| 4433 | runtime check based on do_non_decimal_data. | 
|---|
| 4434 | * awkgram.y (yylex): make non-decimal constants a runtime check. | 
|---|
| 4435 | * builtin.c: remove the ifdefs around the bit functions and | 
|---|
| 4436 | nondec2awknum. | 
|---|
| 4437 |  | 
|---|
| 4438 | Tue Aug 29 18:45:56 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4439 |  | 
|---|
| 4440 | * configure.in: go back to ARRAYDEBUG if .developing set. | 
|---|
| 4441 | * awkgram.y: use ARRAYDEBUG for adump(), use multiple tests | 
|---|
| 4442 | for stopme(). | 
|---|
| 4443 |  | 
|---|
| 4444 | Mon Aug 28 17:09:06 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4445 |  | 
|---|
| 4446 | * field.c (do_split): Add check for first arg is null string, | 
|---|
| 4447 | if so, skip the work and return zero. | 
|---|
| 4448 |  | 
|---|
| 4449 | Mon Aug 14 23:01:55 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4450 |  | 
|---|
| 4451 | * Add %COUNT$... handling to printf. | 
|---|
| 4452 | awk.h (printf_count): new define in NODE structure. | 
|---|
| 4453 | (format_tree): added decl. | 
|---|
| 4454 | awkgram.y (count_args): new function to set printf_count in | 
|---|
| 4455 | a node. | 
|---|
| 4456 | [print productions]: call the function. | 
|---|
| 4457 | (snode): for do_sprintf, call count_args, set the count | 
|---|
| 4458 | in the lnode. | 
|---|
| 4459 | builtin.c (format_tree): new fourth arg is argument count. | 
|---|
| 4460 | Add smarts to handle the `$' in a format. | 
|---|
| 4461 | (do_sprintf): use new argument to format_tree. | 
|---|
| 4462 | node.c (format_val): ditto. | 
|---|
| 4463 |  | 
|---|
| 4464 | Sun Aug 13 11:10:41 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4465 |  | 
|---|
| 4466 | Changes from Alan J. Broder (ajb@woti.com): | 
|---|
| 4467 | - Array third arg to match puts subtexts into the array: | 
|---|
| 4468 | * awk.y (tokentab): "match" gets third arg, and lint warning | 
|---|
| 4469 | * builtin.c (do_match): if third arg there, fill it with subtexts | 
|---|
| 4470 | - New builtin sort function: | 
|---|
| 4471 | * awk.h (do_sort): declared. | 
|---|
| 4472 | * array.c (do_sort, dup_table, merge, merge_sort, assoc_from_list, | 
|---|
| 4473 | assoc_sort_inplace): new functions. | 
|---|
| 4474 |  | 
|---|
| 4475 | * eval.c (tree_eval): in debug code, make uninitialized var | 
|---|
| 4476 | a warning, not a fatal error.  Breaks too many things. | 
|---|
| 4477 |  | 
|---|
| 4478 | Wed Aug  9 10:51:41 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4479 |  | 
|---|
| 4480 | * eval.c (func_call): Increment the exec_count on the | 
|---|
| 4481 | function's node; this allows printing a call count for | 
|---|
| 4482 | functions. | 
|---|
| 4483 | profile.c (pp_func): print the count for functions. | 
|---|
| 4484 | * ALL: Changed DEBUG to GAWKDEBUG in all gawk files, so that | 
|---|
| 4485 | I don't get regex/dfa debugging.  In some cases, changed | 
|---|
| 4486 | memory-related stuff to MEMDEBUG.  Still have work to do. | 
|---|
| 4487 | * awk.h, node.c, profile.c: removed exec_count_init variable; | 
|---|
| 4488 | code has been cleaned up to not need different values for | 
|---|
| 4489 | profiling/not profiling. | 
|---|
| 4490 |  | 
|---|
| 4491 | Thu Jul  5 21:10:59 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4492 |  | 
|---|
| 4493 | * eval.c (casetable): Removed the USE_PURE_ASCII stuff; it | 
|---|
| 4494 | was never documented.  Latin 1 forever. | 
|---|
| 4495 | * main.c (main): only call `init_profiling' after arg parsing | 
|---|
| 4496 | if `do_profiling' is still false.  Avoids resetting `prof_fp' | 
|---|
| 4497 | back to stderr. | 
|---|
| 4498 |  | 
|---|
| 4499 | 2000-02-17  Akim Demaille  <akim@epita.fr> | 
|---|
| 4500 |  | 
|---|
| 4501 | * m4: New directory. | 
|---|
| 4502 | * acinclude.m4: Removed, replaced by m4/*.m4. | 
|---|
| 4503 | * Makefile.am: Adjusted. | 
|---|
| 4504 | Added ACLOCAL_AMFLAGS. | 
|---|
| 4505 | * configure.in Adjusted. | 
|---|
| 4506 | Use AC_SYS_LARGEFILE not GAWK_AC_SYS_LARGEFILE, jm_FUNC_MKTIME, | 
|---|
| 4507 | not GAWK_FUNC_MKTIME. | 
|---|
| 4508 | * acconfig.h: Removed _FILE_OFFSET_BITS, _LARGEFILE_SOURCE and | 
|---|
| 4509 | _LARGE_FILES now templated by m4/largefile.m4. | 
|---|
| 4510 |  | 
|---|
| 4511 | 2000-02-15  Arnold Robbins  <arnold@skeeve.com> | 
|---|
| 4512 |  | 
|---|
| 4513 | * MOVED TO AUTOMAKE AND GETTEXT. | 
|---|
| 4514 | Just about every file touched.  Work done by Arno Peters. | 
|---|
| 4515 |  | 
|---|
| 4516 | Sun Jan  2 14:48:23 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4517 |  | 
|---|
| 4518 | First edit of the new millenium! | 
|---|
| 4519 | * awk.y (yylex): if lint checking, be obnoxious about gotos. | 
|---|
| 4520 |  | 
|---|
| 4521 | Mon Oct 25 19:12:02 1999  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4522 |  | 
|---|
| 4523 | * awk.h: remove C_ALLOCA ifdef. | 
|---|
| 4524 | * main.c (main): remove C_ALLOCA code. | 
|---|
| 4525 | * io.c (do_input): ditto. | 
|---|
| 4526 |  | 
|---|
| 4527 | Mon Aug  9 17:36:24 1999  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4528 |  | 
|---|
| 4529 | * bisonfix.sed: unconditionally #undef YYSTACK_USE_ALLOCA. | 
|---|
| 4530 | * configure.in: remove all alloca and ALLOCA related stuff. | 
|---|
| 4531 | * Makefile.in: ditto | 
|---|
| 4532 |  | 
|---|
| 4533 | Thu Jul 29 18:32:05 1999  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4534 |  | 
|---|
| 4535 | * awk.h (NODE): exec_count now in #ifndef NO_PROFILING. | 
|---|
| 4536 | * Makefile.in: changes to only recompile eval.c and profile.c to a | 
|---|
| 4537 | special version for profiling. | 
|---|
| 4538 | * custom.h [MSC_VER]: turn on NO_PROFILING to omit the exec_count | 
|---|
| 4539 | and save space. | 
|---|
| 4540 | * node.c (more_nodes): move setting of exec_count to | 
|---|
| 4541 | #ifndef NO_PROFILING. | 
|---|
| 4542 |  | 
|---|
| 4543 | Thu Jul  1 12:12:05 1999  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4544 |  | 
|---|
| 4545 | * configure.in (AC_PREREQ): update to 2.13. | 
|---|
| 4546 | GAWK_AC_C_STRINGIZE: convert to AC_C_STRINGIZE. | 
|---|
| 4547 | * aclocal.m4 (GAWK_AC_C_STRINGIZE): remove definition, now | 
|---|
| 4548 | part of autoconf. | 
|---|
| 4549 | * acconfig.h (HAVE_STRINGIZE): ditto. | 
|---|
| 4550 |  | 
|---|
| 4551 | Wed Apr 28 11:08:05 1999  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4552 |  | 
|---|
| 4553 | * array.c (assoc_lookup): fix call to free_temp(subs) to after | 
|---|
| 4554 | last use of subs. | 
|---|
| 4555 |  | 
|---|
| 4556 | Sun Apr 25 16:48:06 1999  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4557 |  | 
|---|
| 4558 | * io.c (redirect): add lint warning when same file is used for | 
|---|
| 4559 | > and >>. | 
|---|
| 4560 |  | 
|---|
| 4561 | Thu Apr 22 15:05:30 1999  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4562 |  | 
|---|
| 4563 | * array.c (assoc_lookup): Fix call to fatal to lintwarn instead. | 
|---|
| 4564 | * node.c (r_force_number): Use `0 &&' to disable warnings about | 
|---|
| 4565 | conversions: they're overzealous, methinks. | 
|---|
| 4566 |  | 
|---|
| 4567 | Thu Apr  8 14:27:58 1999  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4568 |  | 
|---|
| 4569 | New features for profiling: | 
|---|
| 4570 | * awk.h (NODE): add `exec_count' member. | 
|---|
| 4571 | (freenode): clear `exec_count' upon free. | 
|---|
| 4572 | * awk.y (func_count): new variable, counts total number of functions. | 
|---|
| 4573 | (func_install): increment func_count. | 
|---|
| 4574 | (struct finfo): information for use in sorting functions when | 
|---|
| 4575 | pretty printing. | 
|---|
| 4576 | (fcompare): compare two finfo structures. | 
|---|
| 4577 | (dump_funcs): print the functions in sorted order for profiling. | 
|---|
| 4578 | (getfname): return the name of a builtin function. | 
|---|
| 4579 | * eval.c (INCREMENT): new macro for counting execution of nodes. | 
|---|
| 4580 | (interpret): call INCREMENT() appropriately. | 
|---|
| 4581 | * main.c (do_profiling): new flag if doing profiling. | 
|---|
| 4582 | `--profiling': new option added to getopt_long machinery. | 
|---|
| 4583 | (main): For profiled version, set do_profile and output file. | 
|---|
| 4584 | Call `dump_prog' and `dump_funcs' if do_profiling at end. | 
|---|
| 4585 | (usage): add new argument. | 
|---|
| 4586 | * node.c (more_nodes, freenode): set exec_count to zero. | 
|---|
| 4587 | * profile.c: new file, does pretty printing and prints counts. | 
|---|
| 4588 | * Makefile.in: update to create two versions of gawk, regular | 
|---|
| 4589 | and `pgawk' which does profiling. | 
|---|
| 4590 |  | 
|---|
| 4591 | Wed Mar 10 21:38:14 1999  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4592 |  | 
|---|
| 4593 | * io.c (close_redir): use update_ERRNO() instead of manually | 
|---|
| 4594 | doing it. | 
|---|
| 4595 |  | 
|---|
| 4596 | Mon Dec 21 15:58:21 1998  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4597 |  | 
|---|
| 4598 | * configure.in: add BeOS to list of cases where we hardwire | 
|---|
| 4599 | GETPGRP_VOID. | 
|---|
| 4600 | custom.h: remove the #define from __be_os case. Cleaner to | 
|---|
| 4601 | do it all in configure. Based on email from Martin C. Brown, | 
|---|
| 4602 | mc@whoever.com. | 
|---|
| 4603 |  | 
|---|
| 4604 | Mon Nov 30 20:52:52 1998  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4605 |  | 
|---|
| 4606 | * eval.c (update_ERRNO): new function, mainly for use by | 
|---|
| 4607 | extension functions. | 
|---|
| 4608 | * awk.h: add decl. | 
|---|
| 4609 |  | 
|---|
| 4610 | Tue Nov 24 18:13:29 1998  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4611 |  | 
|---|
| 4612 | * Changes based on submission from Christos Zoulas at D.E. Shaw | 
|---|
| 4613 | that adds the following features: | 
|---|
| 4614 | - checking for use of uninitialized variables | 
|---|
| 4615 | - checking if a string that's not a number converts to 0 | 
|---|
| 4616 | - ability to load a dynamic library to add built-ins | 
|---|
| 4617 | - VERSION variable (may or may not stay) | 
|---|
| 4618 | Additional change: | 
|---|
| 4619 | - --lint=fatal makes lint errors become fatal | 
|---|
| 4620 | - LINT="fatal" has the same effect, any other positive | 
|---|
| 4621 | value makes lint errors be just warnings | 
|---|
| 4622 | * Makefile.in (includedir): new variable for gawk header files | 
|---|
| 4623 | (ext.c, ext.o): new source and object files | 
|---|
| 4624 | (OTHERS, extension): new directory for macro with example extension | 
|---|
| 4625 | (install): install header files | 
|---|
| 4626 | * acconfig.h (DYNAMIC): new macro, true if can do dynamic loading | 
|---|
| 4627 | * array.c (assoc_lookup): new parameter `reference' is true if we | 
|---|
| 4628 | want to do reference  checking. Add appropriate reference checking | 
|---|
| 4629 | code. | 
|---|
| 4630 | * awk.h (UNITITIALIZED): new flag | 
|---|
| 4631 | (lintfunc): function pointer for correct function to use | 
|---|
| 4632 | (lintwarn): new macro to produce warnings | 
|---|
| 4633 | (result): new macro for func call result, used in commented out | 
|---|
| 4634 | code in eval.c. | 
|---|
| 4635 | (getnode, freenode): revised to set UNINITIALIZED. | 
|---|
| 4636 | (get_lhs): third arg for reference checking, change all calls | 
|---|
| 4637 | -- Add appropriate decls of new/changed functions | 
|---|
| 4638 | * awk.y (tokentab): new builtin "extension" for adding extensions | 
|---|
| 4639 | (node_common): set flags to UNINITIALIZED for Node_var. | 
|---|
| 4640 | * configure.in (dynamic linking): new check. Probably should | 
|---|
| 4641 | be a separate macro. | 
|---|
| 4642 | * eval.c (flag2str): add UNINITIALIZED to the table. | 
|---|
| 4643 | (r_tree_eval): add checks for UNINITIALIZED. | 
|---|
| 4644 | (push_args): appropriate changes for UNINITIALIZED to work. | 
|---|
| 4645 | (r_get_lhs): new third argument for reference checking. | 
|---|
| 4646 | (set_LINT): add code to handle setting `lintfunc' appropriately. | 
|---|
| 4647 | * ext.c: new file, for doing dynamic library extensions. | 
|---|
| 4648 | * extension/*: new directory with simple example code. | 
|---|
| 4649 | * main.c (VERSION_node, EXTENSION_node): new nodes for new vars. | 
|---|
| 4650 | (optab): change for "lint" to allow optional argument. | 
|---|
| 4651 | (lintfunc): definition. | 
|---|
| 4652 | (main): add case in option processing for --lint. | 
|---|
| 4653 | (varinit): add entries for VERSION and EXTENSION. | 
|---|
| 4654 | * node.c (r_force_number): checks that string really is a number. | 
|---|
| 4655 | (morenodes): set UNITIALIZED in the flags. | 
|---|
| 4656 | * re.c (all): change `result' to `res' globally to avoid conflict | 
|---|
| 4657 | with new macro. | 
|---|
| 4658 | * GLOBAL: change lint calls to warning() to  lintwarn(). | 
|---|
| 4659 | * GLOBAL: change all calls to get_lhs() to have 3rd arg. | 
|---|
| 4660 | * GLOBAL: change all calls to assoc_lookup() to have 3rd arg. | 
|---|
| 4661 |  | 
|---|
| 4662 | Sun Nov 22 17:07:39 1998  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4663 |  | 
|---|
| 4664 | * patchlev.h: renamed from patchlevel.h to make life | 
|---|
| 4665 | easier for the PC guys. | 
|---|
| 4666 | (main.c): changed to include patchlev.h. | 
|---|
| 4667 | (Makefile.in): changed to ref patchlev.h where needed. | 
|---|
| 4668 |  | 
|---|
| 4669 | Sat Nov  7 21:29:52 1998  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4670 |  | 
|---|
| 4671 | * eval.c (r_get_lhs): case Node_field_spec.  Fix the lint | 
|---|
| 4672 | warnings for field reference of null string or non-numeric value. | 
|---|
| 4673 | When turned on, $0 generated a warning!  Oops. | 
|---|
| 4674 |  | 
|---|
| 4675 | Thu Nov  5 16:58:38 1998 Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4676 |  | 
|---|
| 4677 | * main.c (init_fds): new function to pre-open 0, 1, and 2 on | 
|---|
| 4678 | /dev/null if they're not open. Robustness, more or less. | 
|---|
| 4679 | (main): call init_fds. | 
|---|
| 4680 | * io.c (str2mode): add smarts for two-letter strings | 
|---|
| 4681 | such as "rw", "r+", "wr", "w+" and "a+". | 
|---|
| 4682 |  | 
|---|
| 4683 | Mon Nov  2 16:55:46 1998 Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4684 |  | 
|---|
| 4685 | * builtin.c (do_*): added lint checks for non-numeric | 
|---|
| 4686 | and/or non-string arguments, as appropriate. This should | 
|---|
| 4687 | have been done long ago. | 
|---|
| 4688 |  | 
|---|
| 4689 | Tue Oct 20 21:56:06 1998  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4690 |  | 
|---|
| 4691 | * awk.h (LINT_node): new variable for LINT special var | 
|---|
| 4692 | (Node_LINT): new node type. | 
|---|
| 4693 | (set_LINT): declare function. | 
|---|
| 4694 | * main.c (varinit): add LINT variable. | 
|---|
| 4695 | (usage): print an emphatic pointer to the manual for bug reports. | 
|---|
| 4696 | * eval.c (nodetypes): new entry for Node_LINT. | 
|---|
| 4697 | (r_get_lhs): case added for Node_LINT. | 
|---|
| 4698 | (set_LINT): set do_lint from LINT variable. | 
|---|
| 4699 |  | 
|---|
| 4700 | Mon Oct 19 22:35:46 1998  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4701 |  | 
|---|
| 4702 | * configure.in: for GCC, add -Wall to get warnings for development. | 
|---|
| 4703 | * Makefile.in (awktab.c): move sed stuff to separate script. | 
|---|
| 4704 | * bisonfix.sed: new script, with old fix and Solaris x86 fix. | 
|---|
| 4705 | * awk.h (nodetype2str): add declaration. | 
|---|
| 4706 | (load_procinfo): add declaration. | 
|---|
| 4707 |  | 
|---|
| 4708 | Tue Oct 13 22:28:56 1998  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4709 |  | 
|---|
| 4710 | * Changes to make PROCINFO["FS"] reflect the use of FIELDWIDTHS or FS. | 
|---|
| 4711 | eval.c (assign_val): new function that does the mechanics of | 
|---|
| 4712 | assignment | 
|---|
| 4713 | main.c (load_procinfo): add setting of PROCINFO["FS"] to "FS". | 
|---|
| 4714 | field.c (update_PROCINFO): new function to update the array. | 
|---|
| 4715 | (set_FS): call update_PROCINFO. | 
|---|
| 4716 | (set_FIELDWIDTHS): ditto. | 
|---|
| 4717 |  | 
|---|
| 4718 | Sun Sep 27 10:18:05 1998  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4719 |  | 
|---|
| 4720 | * awk.h (reisstring): new prototype. | 
|---|
| 4721 | * re.c (reisstring): new function, returns true if the re did | 
|---|
| 4722 | a simple string match. This is rather simplistic in its logic. | 
|---|
| 4723 | * io.c (get_a_record): in the case that RS is a regexp, AND | 
|---|
| 4724 | the re matched at the exact end of the buffer, add a call to | 
|---|
| 4725 | `reisstring' in case it's a simple string match. If so, we | 
|---|
| 4726 | don't need to read more into the buffer because we don't | 
|---|
| 4727 | have a regex like `x.*y' that might extend longer. | 
|---|
| 4728 | This should be very helpful for interactive /inet clients | 
|---|
| 4729 | where something like `RS = "\r\n"' happens. | 
|---|
| 4730 |  | 
|---|
| 4731 | Thu Aug 13 22:07:40 1998  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4732 |  | 
|---|
| 4733 | * io.c (socketopen): fixes from Juergen Kahrs to socket | 
|---|
| 4734 | opening code for "any host". | 
|---|
| 4735 |  | 
|---|
| 4736 | Tue Jul 14 19:02:33 1998  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4737 |  | 
|---|
| 4738 | * aclocal.m4 (GAWK_AC_LIB_SOCKETS): removed the caching; | 
|---|
| 4739 | configure gave different results the second time it was run! | 
|---|
| 4740 |  | 
|---|
| 4741 | Fri Jul 10 09:11:06 1998  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4742 |  | 
|---|
| 4743 | * eval.c (interpret): minor cleanups: add variable name to | 
|---|
| 4744 | fatal error Node_K_array_for and other minor changes. | 
|---|
| 4745 |  | 
|---|
| 4746 | Mon Jun 22 16:53:34 1998  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4747 |  | 
|---|
| 4748 | * Makefile.in (tags, TAGS): add $(LIBSRC). | 
|---|
| 4749 |  | 
|---|
| 4750 | Tue Jun  2 15:23:05 1998  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4751 |  | 
|---|
| 4752 | * io.c (devopen): relax previous change, don't require "any", | 
|---|
| 4753 | just that a port be there. The user can put 0 if they | 
|---|
| 4754 | don't care. | 
|---|
| 4755 |  | 
|---|
| 4756 | Wed May 27 21:33:45 1998  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4757 |  | 
|---|
| 4758 | * io.c (devopen): for /inet, require that local and remote | 
|---|
| 4759 | ports and the remote hostname be there, and that `any' | 
|---|
| 4760 | be used for a port if they don't care. | 
|---|
| 4761 |  | 
|---|
| 4762 | Thu May 21 14:13:46 1998  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4763 |  | 
|---|
| 4764 | * node.c (parse_escape): Add warning that is always on | 
|---|
| 4765 | for \q for any unknown q inside string or regex constant. | 
|---|
| 4766 | I got bit by this myself once too often. Or else I'm | 
|---|
| 4767 | just getting old and senile. | 
|---|
| 4768 |  | 
|---|
| 4769 | Mon May  4 12:42:49 1998  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4770 |  | 
|---|
| 4771 | * awk.h (NODETYPE): Sorted the Node_xxx entries for the | 
|---|
| 4772 | builtin variables. Gotta look nice, don't we? | 
|---|
| 4773 | * eval.c (nodetypes): ditto. | 
|---|
| 4774 | (genflags2str): added code to check that we don't | 
|---|
| 4775 | overflow the static buffer. This is just a debugging | 
|---|
| 4776 | routine, not worth the hassle of dynamic allocation. | 
|---|
| 4777 |  | 
|---|
| 4778 | Mon Mar  2 16:06:16 1998  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4779 |  | 
|---|
| 4780 | * Makefile.in (dist): remove any embedded copied RCS or CVS | 
|---|
| 4781 | directories. | 
|---|
| 4782 |  | 
|---|
| 4783 | Mon Feb 23 00:09:52 1998  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4784 |  | 
|---|
| 4785 | * awk.h (genflags2str): add declaration. | 
|---|
| 4786 | * eval.c (genflags2str): new function. | 
|---|
| 4787 | (flags2str): use new general purpose function. | 
|---|
| 4788 | * io.c (redflags2str): same. | 
|---|
| 4789 |  | 
|---|
| 4790 | Sun Feb 22 23:57:29 1998  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4791 |  | 
|---|
| 4792 | Significant changes to add two-way i/o and sockets!!! | 
|---|
| 4793 |  | 
|---|
| 4794 | * Makefile.in: add @SOCKET_LIBS@ to LIBS variable. | 
|---|
| 4795 | * acconfig.h: add HAVE_SOCKETS and HAVE_PORTALS defs. | 
|---|
| 4796 | * aclocal.m4: new macro GAWK_AC_LIB_SOCKETS. | 
|---|
| 4797 | * awk.h: new node type, Node_redirect_twoway, and new redirection | 
|---|
| 4798 | flags: RED_TWOWAY, and RED_SOCKET. | 
|---|
| 4799 | * awk.y (parser): add TWOWAYIO token and appropriate productions. | 
|---|
| 4800 | (yylex): recognize `|&' token if not traditional. | 
|---|
| 4801 | * builtin.c (do_print, do_printf): flush buffer if TWOWAYIO. | 
|---|
| 4802 | * configure.in: add header checks for networking header files, | 
|---|
| 4803 | add --enable-portals switch, call GAWK_AC_LIB_SOCKETS | 
|---|
| 4804 | * eval.c (nodetypes): add string constant for Node_redirect_twoway. | 
|---|
| 4805 | * io.c (redflags2str): new function. | 
|---|
| 4806 | (redirect): better error message in default case, add code for | 
|---|
| 4807 | Node_redirect_twoway. | 
|---|
| 4808 | (socketopen): new function. | 
|---|
| 4809 | (iop_open, devopen): add recognition of `/inet/...'. | 
|---|
| 4810 | (two_way_open): new function. | 
|---|
| 4811 |  | 
|---|
| 4812 | Sat Dec 13 21:15:07 1997  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4813 |  | 
|---|
| 4814 | * awk.h (struct node): new member, `param_list' in union `x', becomes | 
|---|
| 4815 | `node->parmlist' in the code. | 
|---|
| 4816 | * awk.y (func_install): rearranged a bit, to build up a list of | 
|---|
| 4817 | the function parameter names and to save it in the `parmlist' field. | 
|---|
| 4818 | * eval.c (push_args): new parameter, `varnames', which is the list | 
|---|
| 4819 | of variable names.  Use this to set the vname field of each | 
|---|
| 4820 | parameter's value as it's created. Special case arrays to include | 
|---|
| 4821 | where they came from, mainly for array vs. scalar diagnostics. | 
|---|
| 4822 | (r_tree_eval): don't set the `vname' field for parameters. | 
|---|
| 4823 | (pop_fcall): free the `vname' field if it's an array. | 
|---|
| 4824 | (func_call): pass in the `parmlist' field to call of push_args(). | 
|---|
| 4825 | (r_get_lhs): for Node_subscript, change error message to use | 
|---|
| 4826 | the `vname' field. | 
|---|
| 4827 | (stopme): new do-nothing function for use with debugging code | 
|---|
| 4828 | and setting breakpoints. | 
|---|
| 4829 |  | 
|---|
| 4830 | Thu Dec  4 15:18:17 1997  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4831 |  | 
|---|
| 4832 | * awk.y: fixed several lint checks and moved some into | 
|---|
| 4833 | test for do_lint_old. | 
|---|
| 4834 | * eval.c (fmt_index): add value of bad format spec to | 
|---|
| 4835 | error message. | 
|---|
| 4836 |  | 
|---|
| 4837 | Tue Nov 18 22:19:02 1997  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4838 |  | 
|---|
| 4839 | * Makefile.in (install): strip the installed binary. | 
|---|
| 4840 | From Anatoly A. Orehovsky (tolik@mpeks.tomsk.su). | 
|---|
| 4841 |  | 
|---|
| 4842 | Sun Nov 16 22:12:39 1997  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4843 |  | 
|---|
| 4844 | * array.c (in_array, assoc_lookup): add symbol->vname to | 
|---|
| 4845 | fatal calls for scalar in array context. | 
|---|
| 4846 |  | 
|---|
| 4847 | Wed Nov 12 22:18:33 1997  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4848 |  | 
|---|
| 4849 | * awk.h [ISASCII]: on all IS* macros, add cast to unsigned char. | 
|---|
| 4850 | [TOUPPER, TOLOWER]: new macros using unsigned char. | 
|---|
| 4851 | * awk.y: change to use of IS* vs. is* macros. | 
|---|
| 4852 | * builtin.c (nondec2awknum): change to use of IS* vs. is* macros, | 
|---|
| 4853 | change casts for casetable[] from int to unsigned char. | 
|---|
| 4854 | use new TOLOWER, TOUPPER macros | 
|---|
| 4855 | * dfa.c [ISASCII]: on all IS* macros, add cast to unsigned char. | 
|---|
| 4856 | (lex): change isdigit to ISDIGIT. | 
|---|
| 4857 | [TOUPPER, TOLOWER]: new macros using unsigned char, now used. | 
|---|
| 4858 | * eval.c (fmt_ok): change to use of IS* vs. is* macros. | 
|---|
| 4859 | * field.c (sc_parse_field): change to use of IS* vs. is* macros, | 
|---|
| 4860 | change casts for casetable[] from int to unsigned char. | 
|---|
| 4861 | (set_FS): change to use of IS* vs. is* macros. | 
|---|
| 4862 | * io.c (get_a_record): change to use of IS* vs. is* macros, | 
|---|
| 4863 | change casts for casetable[] from int to unsigned char. | 
|---|
| 4864 | * main.c (main): change to use of IS* vs. is* macros. | 
|---|
| 4865 | * node.c (r_force_number, parse_escape): change to use of IS* vs. | 
|---|
| 4866 | is* macros. | 
|---|
| 4867 | * re.c (make_regexp): change to use of IS* vs. is* macros. | 
|---|
| 4868 | * regex.c [ISASCII]: on all IS* macros, add cast to unsigned char. | 
|---|
| 4869 |  | 
|---|
| 4870 | Sun Oct 19 12:36:47 1997  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4871 |  | 
|---|
| 4872 | * ALL: Change email address to arnold@gnu.org in all relevant places. | 
|---|
| 4873 |  | 
|---|
| 4874 | Wed Oct 15 03:38:12 1997  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4875 |  | 
|---|
| 4876 | * awk.y (yylex): Don't allow newlines after ? or : if do_posix. | 
|---|
| 4877 |  | 
|---|
| 4878 | Thu Oct  9 19:28:39 1997  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4879 |  | 
|---|
| 4880 | * custom.h [SEQUENT]: removed; not needed any more since the | 
|---|
| 4881 | mmap code was ripped out. | 
|---|
| 4882 |  | 
|---|
| 4883 | Wed Oct  8 17:22:03 1997  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4884 |  | 
|---|
| 4885 | * configure.in: remove check for madvise; don't need it any more | 
|---|
| 4886 | after nuking use of mmap. | 
|---|
| 4887 |  | 
|---|
| 4888 | Tue Oct  7 11:14:21 1997  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4889 |  | 
|---|
| 4890 | * eval.c (flags2str): made the code table driven. Shortened a lot. | 
|---|
| 4891 |  | 
|---|
| 4892 | Tue Sep 30 20:59:17 1997  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4893 |  | 
|---|
| 4894 | * eval.c (r_get_lhs): case Node_field_spec.  Add lint warnings | 
|---|
| 4895 | for field reference of null string or non-numeric value. | 
|---|
| 4896 | Based on patch submitted by Alan Broder, ajb@dtmr.com. | 
|---|
| 4897 |  | 
|---|
| 4898 | Wed Sep 24 20:47:59 1997  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4899 |  | 
|---|
| 4900 | * custom.h [TANDEM]: new changes. Finishes up Tandem | 
|---|
| 4901 | integration. | 
|---|
| 4902 |  | 
|---|
| 4903 | Mon Sep 22 00:42:34 1997  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4904 |  | 
|---|
| 4905 | * custom.h [__be_os]: remove BROKEN_TOKEN definition. | 
|---|
| 4906 | dfa.c, dfa.h: change `token' to `dfa_token' to avoid BeOS | 
|---|
| 4907 | compile problems. | 
|---|
| 4908 |  | 
|---|
| 4909 | Thu Aug  7 22:35:17 1997  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4910 |  | 
|---|
| 4911 | * Changes for BeOS from mc@whoever.com | 
|---|
| 4912 | awk.h (strncasecmp): bracket prototype. | 
|---|
| 4913 | custom.h [__be_os]: new stuff. | 
|---|
| 4914 | dfa.h, dfa.c [BROKEN_TOK]: new ifdefs to use dfa_token, not token. | 
|---|
| 4915 |  | 
|---|
| 4916 | Fri Aug  1 13:32:49 1997  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4917 |  | 
|---|
| 4918 | * Tandem changes: | 
|---|
| 4919 | awk.h [TANDEM]: misc additions, as needed. | 
|---|
| 4920 | io.c (get_a_record): changes for fixed length records; not used | 
|---|
| 4921 | on other systems. | 
|---|
| 4922 | main.c (MRL): new variable, TANDEM specific. | 
|---|
| 4923 | (main): update handling -mr option for TANDEM. | 
|---|
| 4924 | (load_environ): comment out whole routine if TANDEM. | 
|---|
| 4925 | missing.c [TANDEM]: new includes. | 
|---|
| 4926 | gawkmisc.c [TANDEM]: include `tmiscc'. | 
|---|
| 4927 |  | 
|---|
| 4928 | Wed Jul 30 19:53:52 1997  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4929 |  | 
|---|
| 4930 | * Close-on-exec changes: | 
|---|
| 4931 | awk.h: (os_close_on_exec, os_isdir): new functions. | 
|---|
| 4932 | gawkmisc.c: add include fcntl.h. | 
|---|
| 4933 | configure.in [AC_CHECK_HEADERS]: add fcntl.h. | 
|---|
| 4934 | io.c (devopen, iop_open): change to use os_isdir(), not S_IFDIR(). | 
|---|
| 4935 | (redirect, devopen, iop_open, gawk_popen): change all calls to | 
|---|
| 4936 | fcntl() to os_close_on_exec(). | 
|---|
| 4937 |  | 
|---|
| 4938 | Tue Jul 29 11:09:45 1997  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4939 |  | 
|---|
| 4940 | * eval.c (set_BINMODE): fixed check for digits to use isdigit() | 
|---|
| 4941 | instead of looping over digits and using strchr(). Duh. | 
|---|
| 4942 |  | 
|---|
| 4943 | Sat Jul 26 22:52:08 1997  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4944 |  | 
|---|
| 4945 | * eval.c (set_BINMODE): fix so that `-v BINMODE=w' works. | 
|---|
| 4946 | * node.c (r_force_number): add decl of strtod(); makes things | 
|---|
| 4947 | work on MIPS. | 
|---|
| 4948 | * Makefile.in (install-strip): new target. | 
|---|
| 4949 |  | 
|---|
| 4950 | Fri Jul 18 13:28:05 1997  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4951 |  | 
|---|
| 4952 | * io.c (redirect, devopen, iop_open, gawk_popen): set the | 
|---|
| 4953 | close-on-exec flag on all files and pipes opened for I/O. | 
|---|
| 4954 | Keeps children run via system() or other pipes from running out | 
|---|
| 4955 | of file descriptors. | 
|---|
| 4956 |  | 
|---|
| 4957 | (Reported by Kenny McCormack, gazelle@yin.interaccess.com.) | 
|---|
| 4958 |  | 
|---|
| 4959 | Tue Jul  8 22:18:00 1997  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4960 |  | 
|---|
| 4961 | * awk.y [LEX_NEXT]: Removed support for `next file' as two words. | 
|---|
| 4962 |  | 
|---|
| 4963 | Tue Jul  8 06:46:32 1997  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4964 |  | 
|---|
| 4965 | * dfa.c: changes from pjr@jet.UK (Paul J Rippin) from an old | 
|---|
| 4966 | bug report against 2.14.0 that speed up initialization and | 
|---|
| 4967 | rewrite the inner loop into readable code. | 
|---|
| 4968 |  | 
|---|
| 4969 | Thu Jul  3 11:44:50 1997  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4970 |  | 
|---|
| 4971 | * Atari support moved into new `unsupported' directory. | 
|---|
| 4972 | awk.h, Makefile.in, gawkmisc.c, and missing.c modified. | 
|---|
| 4973 |  | 
|---|
| 4974 | Sun Jun 29 14:17:37 1997  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4975 |  | 
|---|
| 4976 | * awk.y (exp): fixed warning about `x = /foo/'. | 
|---|
| 4977 |  | 
|---|
| 4978 | Wed Jun 25 09:07:57 1997  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4979 |  | 
|---|
| 4980 | * PORTS: removed from distribution. | 
|---|
| 4981 | * Makefile.in (MISC): removed PORTS. | 
|---|
| 4982 |  | 
|---|
| 4983 | Sun Jun 22 11:52:57 1997  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 4984 |  | 
|---|
| 4985 | * BINMODE changes | 
|---|
| 4986 | awk.h (Node_BINMODE): added. | 
|---|
| 4987 | (struct redirect): added mode field to save for io.c:close_one(). | 
|---|
| 4988 | (BINMODE, BINMODE_node, set_BINMODE): add declarations. | 
|---|
| 4989 | awk.y (isnoeffect): add Node_BINMODE. | 
|---|
| 4990 | eval.c (nodetypes): add Node_BINMODE string. | 
|---|
| 4991 | (r_tree_eval, r_get_lhs): add cases for Node_BINMODE. | 
|---|
| 4992 | (set_BINMODE): new function. | 
|---|
| 4993 | io.c (binmode): new function. | 
|---|
| 4994 | (nextfile, redirect, gawk_popen): add calls to binmode(). | 
|---|
| 4995 | main.c (BINMODE, BINMODE_node): add decls. | 
|---|
| 4996 | (main): add call to setmode() if BINMODE is set. | 
|---|
| 4997 | (varinit): add entry for BINMODE. | 
|---|
| 4998 |  | 
|---|
| 4999 | Wed Jun  4 21:52:25 1997  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 5000 |  | 
|---|
| 5001 | * configure.in [AC_FUNC_MMAP]: removed call. | 
|---|
| 5002 | * awk.h [struct iobuf]: removed IOP_MMAPED flag and `getrec' member. | 
|---|
| 5003 | * io.c: removed all mmap related code. | 
|---|
| 5004 |  | 
|---|
| 5005 | Sun Apr 27 16:23:56 1997  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 5006 |  | 
|---|
| 5007 | * aclocal.m4 [GAWK_AC_FUNC_MKTIME]: new macro. | 
|---|
| 5008 | * configure.in (GAWK_AC_FUNC_MKTIME): call it. | 
|---|
| 5009 |  | 
|---|
| 5010 | Thu Apr 24 23:25:06 1997  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 5011 |  | 
|---|
| 5012 | * io.c (devopen): remove stat test for /dev/foo files. Finally. | 
|---|
| 5013 |  | 
|---|
| 5014 | Fri Jul 26 09:23:15 1996  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 5015 |  | 
|---|
| 5016 | * Changes to add an abort statement, a la tawk | 
|---|
| 5017 | awk.h (Node_K_abort): new enum value for NODETYPE. | 
|---|
| 5018 | main.c (aborting): new flag variable. | 
|---|
| 5019 | (main): add logic to handle aborting. | 
|---|
| 5020 | eval.c (interpret): add case for Node_K_abort. | 
|---|
| 5021 | io.c (do_input): if aborting, break loop. | 
|---|
| 5022 | awk.y (tokentab): add entry for "abort" keyword | 
|---|
| 5023 | (PRODUCTIONS): add production for LEX_ABORT. | 
|---|
| 5024 |  | 
|---|
| 5025 | Wed Jul 24 12:49:52 1996  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 5026 |  | 
|---|
| 5027 | * First cut at changes for i18n. | 
|---|
| 5028 | awk.h (do_intl): declare new flag variable. | 
|---|
| 5029 | [INTLSTR]: new flag def. | 
|---|
| 5030 | (m_tree_eval): fix definitions for INTLSTR. | 
|---|
| 5031 | (force_string): fix definitions for INTLSTR. | 
|---|
| 5032 | awk.y (yylex): add _"..." for international strings. | 
|---|
| 5033 | (dumpintlstr): new function. | 
|---|
| 5034 | main.c (do_intl): define new flag variable. | 
|---|
| 5035 | (optab): add "gen-po" entry. | 
|---|
| 5036 | (main): if do_intl, exit, don't run the program. | 
|---|
| 5037 | (gawkoption): add "gen-po" entry. | 
|---|
| 5038 | node.c (r_force_string): call gettext if flags indicate INTLSTR. | 
|---|
| 5039 |  | 
|---|
| 5040 | Thu Mar 14 06:29:42 1996  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 5041 |  | 
|---|
| 5042 | * awk.h (do_mktime): added declaration of new function. | 
|---|
| 5043 | * builtin.c (do_mktime): new function. | 
|---|
| 5044 | * awk.y (tokentab): added "mktime" to list of gawk extensions. | 
|---|
| 5045 | * missing.c [HAVE_MKTIME]: added include of mktime.c if needed. | 
|---|
| 5046 |  | 
|---|
| 5047 | Mon Feb 26 22:32:19 1996  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 5048 |  | 
|---|
| 5049 | * io.c (pidopen, useropen): added warnings to use PROCINFO[], | 
|---|
| 5050 | not special files. | 
|---|
| 5051 | * main.c (load_procinfo): new function. | 
|---|
| 5052 | * awk.y (variable): added call to load_procinfo() function. | 
|---|
| 5053 |  | 
|---|
| 5054 | Mon Aug  7 15:23:00 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 5055 |  | 
|---|
| 5056 | * Release 3.0.6: Release tar file made. | 
|---|
| 5057 |  | 
|---|
| 5058 | Thu Aug  3 17:47:53 2000  Greg McGary  <greg@mcgary.org> | 
|---|
| 5059 |  | 
|---|
| 5060 | * regex.c: patches for gcc bounded pointer handling. | 
|---|
| 5061 |  | 
|---|
| 5062 | Thu Aug  3 13:09:09 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 5063 |  | 
|---|
| 5064 | * array.c (in_array, do_delete): fix tests for index equality | 
|---|
| 5065 | when searching through the array to work correctly when | 
|---|
| 5066 | index is "". | 
|---|
| 5067 |  | 
|---|
| 5068 | Fri Jul 14 21:40:17 2000  Pat Rankin  <rankin@eql.caltech.edu> | 
|---|
| 5069 |  | 
|---|
| 5070 | * builtin.c (format_tree): Workaround a DEC C V5.7 bug by | 
|---|
| 5071 | splitting `strcpy() + 3' into two expressions (the builtin | 
|---|
| 5072 | inline strcpy evidently has erroneous return type of void * | 
|---|
| 5073 | instead of char *; reputedly fixed in V6.1). | 
|---|
| 5074 |  | 
|---|
| 5075 | * eval.c (C): New macro. | 
|---|
| 5076 | [casetable]: Use it to add explicit casts for the character | 
|---|
| 5077 | values outside the range of 0 to 127. | 
|---|
| 5078 | * missing/strncasecmp.c [C, charmap]: Likewise. | 
|---|
| 5079 |  | 
|---|
| 5080 | * io.c (redirect): Add EIO check on failed open for VMS. | 
|---|
| 5081 |  | 
|---|
| 5082 | Fri Jul 14 11:57:23 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 5083 |  | 
|---|
| 5084 | Efficiency hack: turn `for (iggy in foo) delete foo[iggy]' | 
|---|
| 5085 | into moral equivalent of `delete foo'. | 
|---|
| 5086 | * array.c (do_delete_loop): new routine. | 
|---|
| 5087 | * awk.h [NODETYPE]: new Node_K_delete_loop value. | 
|---|
| 5088 | Add declaration of do_delete_loop. | 
|---|
| 5089 | * awk.y [LEX_FOR]: Fix code to recognize special case. | 
|---|
| 5090 | * eval.c (nodetypes): new entry for Node_K_delete_loop. | 
|---|
| 5091 | (interpret): add case for Node_K_delete_loop, add more | 
|---|
| 5092 | diagnostic info in default  (cant_happen) case. | 
|---|
| 5093 |  | 
|---|
| 5094 | Tue Jul 11 22:15:10 2000  Pat Rankin  <rankin@eql.caltech.edu> | 
|---|
| 5095 |  | 
|---|
| 5096 | * awk.y (nextc): Recast unsigned char values back to int to | 
|---|
| 5097 | prevent VAX C from truncating EOF to 255. | 
|---|
| 5098 |  | 
|---|
| 5099 | Tue Jul 11 14:08:23 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 5100 |  | 
|---|
| 5101 | * array.c (do_delete): switch to string comparison, not | 
|---|
| 5102 | cmp_nodes. | 
|---|
| 5103 | (assoc_find): add call to force_string on subscript. | 
|---|
| 5104 | * eval.c (interpret): Case Node_K_arrayfor: check for | 
|---|
| 5105 | Node_array_ref and fetch original_array. Yowser. | 
|---|
| 5106 |  | 
|---|
| 5107 | Fri Jun 30 21:57:00 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 5108 |  | 
|---|
| 5109 | * array.c (assoc_lookup): Don't force the subscript | 
|---|
| 5110 | to be a string.  Not a good idea after the change | 
|---|
| 5111 | to using dupnode. | 
|---|
| 5112 |  | 
|---|
| 5113 | Sun Jun 25 15:08:19 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 5114 |  | 
|---|
| 5115 | * Release 3.0.5: Release tar file made. | 
|---|
| 5116 |  | 
|---|
| 5117 | Wed Jun 14 13:03:45 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 5118 |  | 
|---|
| 5119 | * field.c (set_record): manage a private buffer for $0. | 
|---|
| 5120 | Keeps things safe in case `getline var' rearranges the | 
|---|
| 5121 | IOBUF's contents that $0 is still pointing into. | 
|---|
| 5122 |  | 
|---|
| 5123 | Tue Jun 13 16:27:55 2000  Paul Eggert  <eggert@twinsun.com> | 
|---|
| 5124 |  | 
|---|
| 5125 | Upgrade to latest and greatest version of largefile code. | 
|---|
| 5126 |  | 
|---|
| 5127 | * configure.in (AC_CANONICAL_HOST): Remove. | 
|---|
| 5128 | (GAWK_AC_SYS_LARGEFILE): Defer until after AC_MINIX, | 
|---|
| 5129 | to avoid autoconf warnings. | 
|---|
| 5130 |  | 
|---|
| 5131 | Rewrite largefile configuration so that we don't need to run | 
|---|
| 5132 | getconf and don't need AC_CANONICAL_HOST. | 
|---|
| 5133 | * config.guess, config.sub: Remove these files. | 
|---|
| 5134 | * Makefile.in (MISC): Remove config.guess, config.sub. | 
|---|
| 5135 | * m4/largefile.m4 (GAWK_AC_SYS_LARGEFILE_FLAGS, | 
|---|
| 5136 | GAWK_AC_SYS_LARGEFILE_SPACE_APPEND): Remove. | 
|---|
| 5137 | (GAWK_AC_SYS_LARGEFILE_TEST_INCLUDES): New macro. | 
|---|
| 5138 | (GAWK_AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from | 
|---|
| 5139 | CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY. | 
|---|
| 5140 | All uses changed. | 
|---|
| 5141 | Instead of inspecting the output of getconf, try to compile the | 
|---|
| 5142 | test program without and with the macro definition. | 
|---|
| 5143 | (GAWK_AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check | 
|---|
| 5144 | for getconf.  Instead, check for the needed flags by compiling | 
|---|
| 5145 | test programs. | 
|---|
| 5146 |  | 
|---|
| 5147 | (GAWK_AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to be 500 to | 
|---|
| 5148 | work around glibc 2.1.3 bug. | 
|---|
| 5149 |  | 
|---|
| 5150 | (GAWK_AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on IRIX if the | 
|---|
| 5151 | installer said otherwise. | 
|---|
| 5152 |  | 
|---|
| 5153 | (GAWK_AC_SYS_LARGEFILE_FLAGS): Work around a bug in the QNX shell, | 
|---|
| 5154 | which doesn't propagate exit status of failed commands inside | 
|---|
| 5155 | shell assignments. | 
|---|
| 5156 |  | 
|---|
| 5157 | Wed Jun  7 13:23:09 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 5158 |  | 
|---|
| 5159 | * Updated copyright dates in appropriate files. | 
|---|
| 5160 |  | 
|---|
| 5161 | Mon May 22 17:29:43 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 5162 |  | 
|---|
| 5163 | * Makefile.in (clean): get `*/core' too. | 
|---|
| 5164 |  | 
|---|
| 5165 | Sun May  7 16:33:05 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 5166 |  | 
|---|
| 5167 | * array.c (concat_exp): Change ref to `lnode->stlen' and | 
|---|
| 5168 | `lnode->stptr' for SUBSEP to use `var_value->...'. | 
|---|
| 5169 |  | 
|---|
| 5170 | Tue May  2 09:54:29 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 5171 |  | 
|---|
| 5172 | Fix referencing freed memory as shown by test/arynocls.* tests. | 
|---|
| 5173 | * awk.h [Node_array_ref]: new node type. | 
|---|
| 5174 | [orig_array]: new macro element in NODE structure. | 
|---|
| 5175 | * field.c (do_split): handle case for Node_array_ref, fetch | 
|---|
| 5176 | the original array. | 
|---|
| 5177 | * array.c (in_array, do_delete): ditto. | 
|---|
| 5178 | * eval.c (nodetypes[]): add Node_array_ref string. | 
|---|
| 5179 | (r_tree_eval): handle case for Node_array_ref. | 
|---|
| 5180 | (push_args): push arrays as Node_array_ref, and pass them on. | 
|---|
| 5181 | (pop_fcall): don't unref lnode if it's an array when releasing | 
|---|
| 5182 | local arguments.  Check for both Node_array and Node_array_ref. | 
|---|
| 5183 | (r_get_lhs): choke on Node_array_ref as for Node_array. | 
|---|
| 5184 | For Node_subscript, handle Node_array_ref. | 
|---|
| 5185 |  | 
|---|
| 5186 | Tue May  2 09:52:12 2000  Bruno Haible  <haible@clisp.cons.org> | 
|---|
| 5187 |  | 
|---|
| 5188 | * io.c (redirect): After reopening a `struct redirect', move it to | 
|---|
| 5189 | the head of the list. | 
|---|
| 5190 |  | 
|---|
| 5191 | Sun Apr  2 17:51:40 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 5192 |  | 
|---|
| 5193 | * re.c (re_update): Check if IGNORECASE has changed, and | 
|---|
| 5194 | if so recompute the re.  See test/igncdym.awk. | 
|---|
| 5195 |  | 
|---|
| 5196 | Mon Mar 20 16:18:34 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 5197 |  | 
|---|
| 5198 | * io.c (set_RS): Added a lint warning about multicharacter RS, | 
|---|
| 5199 | per suggestion from Akim DeMaille (akim@epita.fr). | 
|---|
| 5200 |  | 
|---|
| 5201 | Sun Feb 13 14:40:32 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 5202 |  | 
|---|
| 5203 | * eval.c (push_args): Fix from Nide Naoyuki <nide@ics.nara-wu.ac.jp>, | 
|---|
| 5204 | re-assign `f' in case tree_eval moved fcall_list around. | 
|---|
| 5205 |  | 
|---|
| 5206 | Sun Feb  6 11:39:33 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 5207 |  | 
|---|
| 5208 | * eval.c (op_assign):  Fix it right.  For ++ and --, get the lhs | 
|---|
| 5209 | in the operations, do the op, and then return.  For += etc, | 
|---|
| 5210 | get the rhs FIRST, since the lhs can move around as a result, | 
|---|
| 5211 | *then* get the lhs and do the operation. See test/opasnidx.awk. | 
|---|
| 5212 |  | 
|---|
| 5213 | Tue Feb  1 18:41:40 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 5214 |  | 
|---|
| 5215 | * eval.c (op_assign): reget the rval after regetting | 
|---|
| 5216 | the left hand side.  See test/opasnslf.awk for why. | 
|---|
| 5217 |  | 
|---|
| 5218 | Thu Jan 27 18:06:31 2000  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 5219 |  | 
|---|
| 5220 | * awk.y (yylex): Made ']' not one of the characters | 
|---|
| 5221 | that sets `want_assign' to false.  `a[i] /= 2' was | 
|---|
| 5222 | broken.  Per bug report from Kristofer T. Karas | 
|---|
| 5223 | <ktk@ktk.bidmc.harvard.edu>. | 
|---|
| 5224 |  | 
|---|
| 5225 | Wed Dec 22 15:06:37 1999  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 5226 |  | 
|---|
| 5227 | * awk.y: Removed declarations of functions before | 
|---|
| 5228 | definition of `tokentab[]'.  They're redundant with | 
|---|
| 5229 | what's in awk.h. | 
|---|
| 5230 |  | 
|---|
| 5231 | Thu Dec  9 17:01:07 1999  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 5232 |  | 
|---|
| 5233 | * node.c (parse_escape): Add lint warning for unrecognized | 
|---|
| 5234 | escape sequences. | 
|---|
| 5235 |  | 
|---|
| 5236 | Mon Dec  6 15:17:34 1999  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 5237 |  | 
|---|
| 5238 | * main.c (usage): Changed bug reporting email addresses to | 
|---|
| 5239 | be a reference to `Bugs' node in the online and printed | 
|---|
| 5240 | doc, instead. | 
|---|
| 5241 |  | 
|---|
| 5242 | Thu Dec  2 13:08:18 1999  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 5243 |  | 
|---|
| 5244 | * builtin.c (do_compl): test `d' for negative inside the do_lint | 
|---|
| 5245 | test, not uval.  Ooops. | 
|---|
| 5246 |  | 
|---|
| 5247 | Fri Nov 26 10:58:36 1999  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 5248 |  | 
|---|
| 5249 | * array.c (assoc_find):  ALWAYS compare indexes as strings, | 
|---|
| 5250 | don't use cmp_nodes in case they are numeric.  Oh my. | 
|---|
| 5251 | Talk about a Day 1 bug! | 
|---|
| 5252 |  | 
|---|
| 5253 | Tue Nov 23 11:58:53 1999  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 5254 |  | 
|---|
| 5255 | * regex.c (SYNTAX): cast argument to `unsigned char' instead of | 
|---|
| 5256 | &-ing with 0xFF.  Hopefully somewhat more portable, ala 21 Nov 99 | 
|---|
| 5257 | changes to awk.y. | 
|---|
| 5258 |  | 
|---|
| 5259 | Sun Nov 21 22:25:27 1999  Paul Eggert  <eggert@twinsun.com> | 
|---|
| 5260 |  | 
|---|
| 5261 | * aclocal.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a | 
|---|
| 5262 | problem with the QNX 4.25 shell, which doesn't propagate exit | 
|---|
| 5263 | status of failed commands inside shell assignments. | 
|---|
| 5264 |  | 
|---|
| 5265 | Sun Nov 21 20:33:35 1999 Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 5266 |  | 
|---|
| 5267 | * awk.h (nextc): remove declaration, don't need it here. | 
|---|
| 5268 | awk.y (nextc): Cast values to unsigned char so that latin-1 | 
|---|
| 5269 | characters in strings don't turn themselves into EOF. | 
|---|
| 5270 | Most notably y-umlaut, which is decimal 255. | 
|---|
| 5271 |  | 
|---|
| 5272 | Mon Nov  1 20:00:25 1999  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 5273 |  | 
|---|
| 5274 | * regex.c (init_syntax_once): move below definition of | 
|---|
| 5275 | ISALNUM etc., then use ISALNUM to init the table, so that | 
|---|
| 5276 | the word ops will work if i18n'ed. | 
|---|
| 5277 | (SYNTAX): And subscript with 0xFF for Latin-1 characters. | 
|---|
| 5278 |  | 
|---|
| 5279 | Mon Oct 25 18:37:13 1999  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 5280 |  | 
|---|
| 5281 | * awk.h, main.c, io.c: undo previous changes (22 Oct 1999). | 
|---|
| 5282 | * main.c (main): move call to `init_fields()' to before | 
|---|
| 5283 | arg parsing.  This allows `-v NF=blah' to work ok. | 
|---|
| 5284 |  | 
|---|
| 5285 | Fri Oct 22 17:43:40 1999  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 5286 |  | 
|---|
| 5287 | * main.c (arg_assign): Add new arg, `initing' for icky special | 
|---|
| 5288 | casing of -v of special variables.  Use it to check for NF. | 
|---|
| 5289 | May need to add other cases later. | 
|---|
| 5290 | (pre_assign): change call arg_assign, passing initing=TRUE; | 
|---|
| 5291 | io.c (nextfile): change call arg_assign, passing initing=FALSE; | 
|---|
| 5292 | awk.h: Change prototype for arg_assign. | 
|---|
| 5293 |  | 
|---|
| 5294 | Tue Oct 19 16:06:48 1999  Paul Eggert  <eggert@twinsun.com> | 
|---|
| 5295 |  | 
|---|
| 5296 | * io.c (close_redir): Don't munge errno between setting it and | 
|---|
| 5297 | using it. | 
|---|
| 5298 |  | 
|---|
| 5299 | Wed Oct  6 17:47:47 1999  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 5300 |  | 
|---|
| 5301 | * main.c (arg_assign): return NULL on bad variable.  Allows | 
|---|
| 5302 | things like `./3x=stuff' to work as a filename. | 
|---|
| 5303 |  | 
|---|
| 5304 | Thu Sep 23 21:35:46 1999  Paul Eggert  <eggert@twinsun.com> | 
|---|
| 5305 |  | 
|---|
| 5306 | * aclocal.m4 (GAWK_AC_SYS_LARGEFILE_FLAGS): Work around GCC | 
|---|
| 5307 | 2.95.1 bug in HP-UX 10.20 or later. (Had to fix the fix. ADR. :-) | 
|---|
| 5308 |  | 
|---|
| 5309 | Tue Sep 21 13:31:36 1999  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 5310 |  | 
|---|
| 5311 | * builtin.c (format_tree): For '0', only set zero_flag if we | 
|---|
| 5312 | haven't seen the field width or precision yet. | 
|---|
| 5313 |  | 
|---|
| 5314 | Mon Aug  9 13:06:01 1999  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 5315 |  | 
|---|
| 5316 | * array.c (assoc_lookup): Removed code that gave each array | 
|---|
| 5317 | a private copy of each index.  Balloons memory usage for | 
|---|
| 5318 | no good reason that I can see.  Just use dupnode in all | 
|---|
| 5319 | cases. | 
|---|
| 5320 | * configure.in: check for $srcdir/.developing adds extra | 
|---|
| 5321 | defines for my testing/debugging use.  Yes, hack alert. | 
|---|
| 5322 |  | 
|---|
| 5323 | Sun Aug  1 11:02:02 1999  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 5324 |  | 
|---|
| 5325 | * node.c (dupnode): turn off FIELD when copying nodes. | 
|---|
| 5326 | * array.c (do_adump, assoc_dump): new functions for array debugging. | 
|---|
| 5327 | * awk.y (tokentab): conditionally add "adump" function for debugging. | 
|---|
| 5328 | * awk.h: delcare new functions. | 
|---|
| 5329 |  | 
|---|
| 5330 | Thu Jul 29 23:26:40 1999  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 5331 |  | 
|---|
| 5332 | From wsanchez@apple.com: | 
|---|
| 5333 | * Makefile.in (install-strip): new target, coding stds. compatibility. | 
|---|
| 5334 | * config.guess, config.sub: Add MacOS X recognition. | 
|---|
| 5335 |  | 
|---|
| 5336 | Thu Jul 29 19:09:19 1999  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 5337 |  | 
|---|
| 5338 | * awk.y (func_install): make `function foo(foo)' a fatal error. | 
|---|
| 5339 | eval.c (r_tree_eval): diagnose use of a function name as a | 
|---|
| 5340 | variable inside the function. | 
|---|
| 5341 |  | 
|---|
| 5342 | Sun Jul  4 16:53:14 1999  Arnold D. Robbins  <arnold@skeeve.com> | 
|---|
| 5343 |  | 
|---|
| 5344 | * eval.c (eval_condition): add extra braces to avoid | 
|---|
| 5345 | gcc warning.  I'm not going to bother for the library | 
|---|
| 5346 | code like dfa and regex. | 
|---|
| 5347 |  | 
|---|
| 5348 | Wed Jun 30 16:14:36 1999  Arnold D. Robbins  <arnold@gnu.org> | 
|---|
| 5349 |  | 
|---|
| 5350 | * Release 3.0.4: Release tar file made.  This time for sure. | 
|---|
| 5351 |  | 
|---|
| 5352 | Wed Jun 30 16:10:11 1999  Arnold D. Robbins  <arnold@gnu.org> | 
|---|
| 5353 |  | 
|---|
| 5354 | * awk.h: add include of <assert.h>, and comment about config.h | 
|---|
| 5355 | having to be included before any system headers.  Otherwise, | 
|---|
| 5356 | with egcs-2.91.66 and later on Linux systems, and possibly | 
|---|
| 5357 | others, things break badly, due to the LFS macros. | 
|---|
| 5358 | * awk.y, builtin.c, eval.c, field.c, io.c: removed include | 
|---|
| 5359 | of assert.h | 
|---|
| 5360 |  | 
|---|
| 5361 | Wed Jun  9 11:39:19 1999  Paul Eggert  <eggert@twinsun.com> | 
|---|
| 5362 |  | 
|---|
| 5363 | Port the large-file code to AIX, HP-UX, and IRIX. | 
|---|
| 5364 | Add cross-compilation support for large files. | 
|---|
| 5365 |  | 
|---|
| 5366 | * config.guess, config.sub: New files. | 
|---|
| 5367 |  | 
|---|
| 5368 | * configure.in (AC_CANONICAL_HOST): | 
|---|
| 5369 | Add; GAWK_AC_SYS_LARGEFILE needs this. | 
|---|
| 5370 | (GAWK_AC_SYS_LARGEFILE): Renamed from GAWK_AC_LARGE_FILES. | 
|---|
| 5371 |  | 
|---|
| 5372 | * aclocal.m4 (GAWK_AC_SYS_LARGEFILE): Renamed from GAWK_AC_LARGE_FILES. | 
|---|
| 5373 | Add support for AIX and HP-UX. | 
|---|
| 5374 | (GAWK_AC_SYS_LARGEFILE_FLAGS, GAWK_AC_SYS_LARGEFILE_SPACE_APPEND, | 
|---|
| 5375 | GAWK_AC_SYS_LARGEFILE_MACRO_VALUE): New macros. | 
|---|
| 5376 |  | 
|---|
| 5377 | * acconfig.h (_FILE_OFFSET_BITS, _LARGEFILE_SOURCE, _LARGE_FILES): | 
|---|
| 5378 | New macros. | 
|---|
| 5379 |  | 
|---|
| 5380 | * Makefile.in (MISC): add config.guess and config.sub so they get | 
|---|
| 5381 | included in the distribution. | 
|---|
| 5382 |  | 
|---|
| 5383 | Wed Jun  9 11:29:29 1999  Paul Eggert  <eggert@twinsun.com> | 
|---|
| 5384 |  | 
|---|
| 5385 | * io.c (iop_alloc): Don't mmap files whose sizes don't fit in `int'. | 
|---|
| 5386 | [ This isn't really needed, as HAVE_MMAP is #undef'ed at the top, | 
|---|
| 5387 | but it's there in case people want to take their life in their hands. ] | 
|---|
| 5388 |  | 
|---|
| 5389 | Sun Jun  6 11:28:07 1999  Arnold D. Robbins  <arnold@gnu.org> | 
|---|
| 5390 |  | 
|---|
| 5391 | * BETA Release 3.0.46: Release tar file made. | 
|---|
| 5392 |  | 
|---|
| 5393 | Wed Jun  2 14:36:24 1999  Arnold D. Robbins  <arnold@gnu.org> | 
|---|
| 5394 |  | 
|---|
| 5395 | * PORTS: Updated with a more recent list of systems | 
|---|
| 5396 | that gawk compiles and tests ok on. | 
|---|
| 5397 |  | 
|---|
| 5398 | Tue Jun  1 14:24:59 1999  Arnold D. Robbins  <arnold@gnu.org> | 
|---|
| 5399 |  | 
|---|
| 5400 | * BETA Release 3.0.45: Release tar file made. | 
|---|
| 5401 |  | 
|---|
| 5402 | Tue May 25 16:32:37 1999  Arnold D. Robbins  <arnold@gnu.org> | 
|---|
| 5403 |  | 
|---|
| 5404 | * builtin.c (format_tree): more smarts for weird cases, such as | 
|---|
| 5405 | zero precisions and zero values used with the `#' flag. | 
|---|
| 5406 | Thanks to Andreas Schwab (schwab@gnu.org) for pointing these out. | 
|---|
| 5407 |  | 
|---|
| 5408 | Wed May 19 14:02:54 1999  Arnold D. Robbins  <arnold@gnu.org> | 
|---|
| 5409 |  | 
|---|
| 5410 | * io.c (do_close): move test for `close(FILENAME)' to after | 
|---|
| 5411 | loop through all open redirections. Fixes problems in obscure | 
|---|
| 5412 | cases with redirections in END rules. | 
|---|
| 5413 |  | 
|---|
| 5414 | Sun May 16 14:08:39 1999  Arnold D. Robbins  <arnold@gnu.org> | 
|---|
| 5415 |  | 
|---|
| 5416 | * awk.y (yylex): fix group of characters including ',' to | 
|---|
| 5417 | set want_assign = FALSE.  Fixes bizarre parsing problems in | 
|---|
| 5418 | function call lists, for example. | 
|---|
| 5419 | * io.c (get_a_record): repair logic for single-leading-newline | 
|---|
| 5420 | case. | 
|---|
| 5421 |  | 
|---|
| 5422 | Tue May 11 16:48:11 1999  Arnold D. Robbins  <arnold@gnu.org> | 
|---|
| 5423 |  | 
|---|
| 5424 | * aclocal.m4 (GAWK_AC_AIX_TWEAK): new macro. | 
|---|
| 5425 | * configure.in: call it | 
|---|
| 5426 | * Makefile.in: (awklib/all): pass CFLAGS on to sub-make so | 
|---|
| 5427 | that password programs will get AIX magic defines. Avoids | 
|---|
| 5428 | having to tweak program code for those in doc/gawk.texi. | 
|---|
| 5429 |  | 
|---|
| 5430 | Mon May  3 16:56:23 1999  Arnold D. Robbins  <arnold@gnu.org> | 
|---|
| 5431 |  | 
|---|
| 5432 | * array.c (do_delete): don't free_temp(subs) until after all | 
|---|
| 5433 | references to it are finished. | 
|---|
| 5434 |  | 
|---|
| 5435 | Mon May  3 13:41:16 1999  Arnold D. Robbins  <arnold@gnu.org> | 
|---|
| 5436 |  | 
|---|
| 5437 | * BETA Release 3.0.44: Release tar file made. | 
|---|
| 5438 |  | 
|---|
| 5439 | Sun May  2 18:25:43 1999  Arnold D. Robbins  <arnold@gnu.org> | 
|---|
| 5440 |  | 
|---|
| 5441 | * io.c (get_a_record): Do a really good job of stripping newlines | 
|---|
| 5442 | from the front of records when RS = "" and there's only one | 
|---|
| 5443 | newline at the front of the file, which the regex didn't catch. | 
|---|
| 5444 |  | 
|---|
| 5445 | Wed Apr 28 12:27:49 1999  Arnold D. Robbins  <arnold@gnu.org> | 
|---|
| 5446 |  | 
|---|
| 5447 | * configure.in: more HP stuff: fix the manual alloca code so that | 
|---|
| 5448 | gawk will compile and link on HP systems. See the comments. | 
|---|
| 5449 |  | 
|---|
| 5450 | Sun Apr 25 13:39:16 1999  Arnold D. Robbins  <arnold@gnu.org> | 
|---|
| 5451 |  | 
|---|
| 5452 | * Makefile.in (gawk): add $(CFLAGS) to linking step. | 
|---|
| 5453 | * configure.in: correctly do AC_FUNC_GETPGRP on HP systems too. | 
|---|
| 5454 |  | 
|---|
| 5455 | Tue Apr 13 20:21:00 1999  Arnold D. Robbins  <arnold@gnu.org> | 
|---|
| 5456 |  | 
|---|
| 5457 | * BETA Release 3.0.43: Release tar file made. | 
|---|
| 5458 |  | 
|---|
| 5459 | Tue Apr 13 19:02:20 1999  Arnold D. Robbins  <arnold@gnu.org> | 
|---|
| 5460 |  | 
|---|
| 5461 | * io.c (useropen, pidopen): add casts to int on arguments to | 
|---|
| 5462 | silence gcc warnings. | 
|---|
| 5463 | * regex.c (regcomp,regexec,regfree): add ifdef for APPLE. | 
|---|
| 5464 |  | 
|---|
| 5465 | Thu Feb  4 10:38:02 1999  Arnold D. Robbins  <arnold@gnu.org> | 
|---|
| 5466 |  | 
|---|
| 5467 | * custom.h: hacks for BeOS. Not documented in the manual right now. | 
|---|
| 5468 | * configure.in: hacks for BeOS.  Check for HP-UX and define C_ALLOCA | 
|---|
| 5469 | if not using gcc.  I wish they'd just fix bison already. | 
|---|
| 5470 |  | 
|---|
| 5471 | Sun Dec 20 16:57:38 1998  Arnold D. Robbins  <arnold@gnu.org> | 
|---|
| 5472 |  | 
|---|
| 5473 | * BETA Release 3.0.42: Release tar file made. | 
|---|
| 5474 |  | 
|---|
| 5475 | Sun Nov 15 21:05:39 1998  Arnold D. Robbins  <arnold@gnu.org> | 
|---|
| 5476 |  | 
|---|
| 5477 | * io.c (gawk_popen): Add WIN32 to list of systems that use | 
|---|
| 5478 | the non-real-pipe version. From the PC gawk guys. | 
|---|
| 5479 |  | 
|---|
| 5480 | Wed Nov  4 11:32:24 1998  Arnold D. Robbins  <arnold@gnu.org> | 
|---|
| 5481 |  | 
|---|
| 5482 | * BETA Release 3.0.41: Release tar file made. | 
|---|
| 5483 |  | 
|---|
| 5484 | Tue Nov  3 16:24:35 1998  Arnold D. Robbins  <arnold@gnu.org> | 
|---|
| 5485 |  | 
|---|
| 5486 | * eval.c (r_get_lhs): Fix the cases for the special variables, | 
|---|
| 5487 | don't unref their current value if it's the same as the internal | 
|---|
| 5488 | copy; perhaps the current one is used in a concatenation or some | 
|---|
| 5489 | other expression somewhere higher up in the call chain.  Ouch. | 
|---|
| 5490 | See test/getnr2tm.awk. | 
|---|
| 5491 |  | 
|---|
| 5492 | Sun Nov  1 15:24:52 1998  Arnold D. Robbins  <arnold@gnu.org> | 
|---|
| 5493 |  | 
|---|
| 5494 | * builtin.c (format_tree): improve handling of zero-fill | 
|---|
| 5495 | when a precision is present. See test/zeroflag.awk. | 
|---|
| 5496 |  | 
|---|
| 5497 | Wed Oct 28 20:40:17 1998  Arnold D. Robbins  <arnold@gnu.org> | 
|---|
| 5498 |  | 
|---|
| 5499 | * eval.c (r_tree_eval): Case for Node_concat. Get lengths | 
|---|
| 5500 | separately, in case one expression has a side effect that | 
|---|
| 5501 | that changes another. Ugly, but it keeps gawk from core | 
|---|
| 5502 | dumping. See test/nasty.awk. | 
|---|
| 5503 |  | 
|---|
| 5504 | Sun Oct 18 21:27:24 1998  Arnold D. Robbins  <arnold@gnu.org> | 
|---|
| 5505 |  | 
|---|
| 5506 | * awk.y (append_right): bug fix, if `list' or `new' are NULL, | 
|---|
| 5507 | return `list', so that things don't break too badly. | 
|---|
| 5508 | * regex.c (re_compile_fastmap): remove unused variable `num_regs'. | 
|---|
| 5509 |  | 
|---|
| 5510 | Thu Oct  8 19:36:57 1998  Arnold D. Robbins  <arnold@gnu.org> | 
|---|
| 5511 |  | 
|---|
| 5512 | * BETA Release 3.0.40: Release tar file made. | 
|---|
| 5513 |  | 
|---|
| 5514 | Mon Jul 27 10:14:33 1998  Arnold D. Robbins  <arnold@gnu.org> | 
|---|
| 5515 |  | 
|---|
| 5516 | * node.c (parse_escape): Remove assignment with side effects | 
|---|
| 5517 | from ISXDIGIT test. Thanks to "Mihai T. LAZARESCU" | 
|---|
| 5518 | <mihai@ccmserv.polito.it> for pointing this out. | 
|---|
| 5519 |  | 
|---|
| 5520 | Mon Apr 27 11:31:32 1998  Arnold D. Robbins  <arnold@gnu.org> | 
|---|
| 5521 |  | 
|---|
| 5522 | * main.c (usage): fix the email address for the bug list. | 
|---|
| 5523 | (copyleft): update the copyright year. | 
|---|
| 5524 |  | 
|---|
| 5525 | Mon Mar 23 21:22:32 1998  Arnold D. Robbins  <arnold@gnu.org> | 
|---|
| 5526 |  | 
|---|
| 5527 | * eval.c (r_get_lhs): make sure that values of type | 
|---|
| 5528 | Node_param_list don't have the FUNC flag set. This means | 
|---|
| 5529 | we don't allow the use of a function name as a variable or | 
|---|
| 5530 | array from within the function. | 
|---|
| 5531 |  | 
|---|
| 5532 | Sun Mar 22 19:12:32 1998  Paul Eggert  <eggert@twinsun.com> | 
|---|
| 5533 |  | 
|---|
| 5534 | * aclocal.m4 (GAWK_AC_LARGE_FILES): new macro that checks for | 
|---|
| 5535 | large file support, and updates CPPFLAGS, LDFLAGS, LIBS as | 
|---|
| 5536 | needed. | 
|---|
| 5537 | * configure.in: call GAWK_AC_LARGE_FILES. | 
|---|
| 5538 | * Makefile.in (CPPFLAGS, LDFLAGS): Let autoconf configure. | 
|---|
| 5539 | (COMPFLAGS): Add $(CPPFLAGS). | 
|---|
| 5540 |  | 
|---|
| 5541 | Mon Mar 16 14:06:41 1998  Arnold D. Robbins  <arnold@gnu.org> | 
|---|
| 5542 |  | 
|---|
| 5543 | * field.c (using_FIELDWIDTHS): new macro. | 
|---|
| 5544 | (using_fieldwidths): use new macro. | 
|---|
| 5545 | (do_split): in case for FS_DFLT, also check that | 
|---|
| 5546 | we're not using FIELDWIDTHS. Otherwise, split() would use | 
|---|
| 5547 | FIELDWIDTHS, not current value of FS. Oops. | 
|---|
| 5548 |  | 
|---|
| 5549 | Sun Nov 16 20:08:59 1997  Arnold D. Robbins  <arnold@gnu.org> | 
|---|
| 5550 |  | 
|---|
| 5551 | * builtin.c (sub_common): fix for count of matches in gsub | 
|---|
| 5552 | from Geert.Debyser@esat.kuleuven.ac.be. | 
|---|
| 5553 |  | 
|---|
| 5554 | Wed Oct 15 03:38:12 1997  Arnold D. Robbins  <arnold@gnu.org> | 
|---|
| 5555 |  | 
|---|
| 5556 | * field.c (set_FS): Use `sc_parsefield' if the value of FS is not | 
|---|
| 5557 | alphabetic OR if not ignoring case. Bug fix if IGNORECASE | 
|---|
| 5558 | is true and FS happens to be '^'. Sheesh, talk about obscure. | 
|---|
| 5559 | (rebuild_record): Add more smarts to the code that sets up the | 
|---|
| 5560 | fields. Thanks to Alan J. Broder (ajb@dtmr.com). | 
|---|
| 5561 |  | 
|---|
| 5562 | Sun Oct  5 11:56:52 1997  Arnold D. Robbins  <arnold@gnu.org> | 
|---|
| 5563 |  | 
|---|
| 5564 | * configure.in: if ISC add -D_SYSV3 to CFLAGS, per email from | 
|---|
| 5565 | Mario Vanoni (vanonim@dial.eunet.ch). | 
|---|
| 5566 |  | 
|---|
| 5567 | Fri Sep 26 00:57:49 1997  Arnold D. Robbins  <arnold@gnu.org> | 
|---|
| 5568 |  | 
|---|
| 5569 | * awk.y (append_right): return if either list is NULL. Prevents | 
|---|
| 5570 | syntax errors from causing core dumps. | 
|---|
| 5571 |  | 
|---|
| 5572 | Wed Sep 17 15:34:15 1997  Arnold D. Robbins  <arnold@gnu.org> | 
|---|
| 5573 |  | 
|---|
| 5574 | * field.c (rebuild_record): set things up so that all fields point | 
|---|
| 5575 | into the new record and release any changed fields without | 
|---|
| 5576 | causing memory leaks.  Avoids problems when fields are extended | 
|---|
| 5577 | with the value of $0 or other fields and then $0 is assigned to. | 
|---|
| 5578 |  | 
|---|
| 5579 | Mon Sep 15 16:12:55 1997  Arnold D. Robbins  <arnold@gnu.org> | 
|---|
| 5580 |  | 
|---|
| 5581 | * builtin.c (do_print): when testing for NUMBER, make sure | 
|---|
| 5582 | it's not a string too. Thanks to Michael Brennan for | 
|---|
| 5583 | clarifying the semantics. | 
|---|
| 5584 |  | 
|---|
| 5585 | Sun Sep 14 19:55:12 1997  Arnold D. Robbins  <arnold@gnu.org> | 
|---|
| 5586 |  | 
|---|
| 5587 | * node.c (format_val): always format values ourselves: avoids | 
|---|
| 5588 | problems if OFMT is bizarre, like %s. | 
|---|
| 5589 |  | 
|---|
| 5590 | Sun Sep 14 00:08:53 1997  Arnold D. Robbins  <arnold@gnu.org> | 
|---|
| 5591 |  | 
|---|
| 5592 | * io.c (get_a_record): replace all occurrences of the test | 
|---|
| 5593 | `grRS == FALSE' with `RS_is_null' which makes ` RS = "\0" ' | 
|---|
| 5594 | actually work, is clearer code, and actually makes use of | 
|---|
| 5595 | the `RS_is_null' variable! | 
|---|
| 5596 |  | 
|---|
| 5597 | Sun Aug 17 07:15:12 1997  Arnold D. Robbins  <arnold@gnu.org> | 
|---|
| 5598 |  | 
|---|
| 5599 | * field.c (set_FS): Change logic to always set parse_field, even | 
|---|
| 5600 | if FS hasn't changed. Thanks to Igor Sheyn for catching this. | 
|---|
| 5601 |  | 
|---|
| 5602 | Wed Aug  6 21:04:37 1997  Arnold D. Robbins  <arnold@gnu.org> | 
|---|
| 5603 |  | 
|---|
| 5604 | * io.c (VMS et al gawk_popen): use pclose, not fclose, if | 
|---|
| 5605 | iop_alloc fails. | 
|---|
| 5606 |  | 
|---|
| 5607 | Wed Jul 30 19:53:52 1997  Arnold D. Robbins  <arnold@gnu.org> | 
|---|
| 5608 |  | 
|---|
| 5609 | * awk.y [variable]: fix case for subscript if $3 == NULL. | 
|---|
| 5610 |  | 
|---|
| 5611 | Sun Jul 27 22:47:30 1997  Arnold D. Robbins  <arnold@gnu.org> | 
|---|
| 5612 |  | 
|---|
| 5613 | * awk.y (get_src_buf): don't close file if it's stdin. | 
|---|
| 5614 |  | 
|---|
| 5615 | Sun Jul 27 22:47:15 1997  Pat Rankin  <rankin@eql.caltech.edu> | 
|---|
| 5616 |  | 
|---|
| 5617 | * io.c (#if VMS: vmsrtl_fileno): new routine. | 
|---|
| 5618 | (#if VMS: fileno): new macro substituted for stdio one. | 
|---|
| 5619 |  | 
|---|
| 5620 | Thu Jul 17 20:05:59 1997  Arnold D. Robbins  <arnold@gnu.org> | 
|---|
| 5621 |  | 
|---|
| 5622 | * builtin.c (do_print): When OFMT != CONVFMT, create a new | 
|---|
| 5623 | temporary node with just the numeric value valid and format it, | 
|---|
| 5624 | and use that for printing. Avoids memory corruption. | 
|---|
| 5625 |  | 
|---|
| 5626 | Wed Jul 16 10:01:16 1997  Arnold D. Robbins  <arnold@gnu.org> | 
|---|
| 5627 |  | 
|---|
| 5628 | * regex.c: When SYNTAX_TABLE is defined, but not emacs, then | 
|---|
| 5629 | CHAR_SET_SIZE is not defined, though used in regcomp.  It should | 
|---|
| 5630 | be taken out of #ifdef SYNTAX_TABLE. Fix from bug group, from | 
|---|
| 5631 | Akim Demaille, demaille@inf.enst.fr. | 
|---|
| 5632 | * awk.h (isnondecimal): make test a little smarter. | 
|---|
| 5633 | builtin.c (nondec2awknum): add bailout for decimal numbers, e.g. | 
|---|
| 5634 | `00.1'. Fix from Larry Schwimmer <rosebud@cyclone.Stanford.EDU>. | 
|---|
| 5635 |  | 
|---|
| 5636 | Thu Jun 19 19:00:40 1997  Arnold D. Robbins  <arnold@gnu.org> | 
|---|
| 5637 |  | 
|---|
| 5638 | * eval.c (interpret): case Node_K_next, Node_K_nextfile: fatal | 
|---|
| 5639 | error if called from BEGIN or END. | 
|---|
| 5640 | (Fixed completely Mon May  3 13:31:42 1999.) | 
|---|
| 5641 |  | 
|---|
| 5642 | Mon Jun  9 22:40:04 1997  Arnold D. Robbins  <arnold@gnu.org> | 
|---|
| 5643 |  | 
|---|
| 5644 | * builtin.c (nondec2awknum): Allow `f' and `F' in hexadecimal numbers. | 
|---|
| 5645 | Gotta get more sleep... | 
|---|
| 5646 | * array.c (assoc_lookup): Fix from Tom Karzes (karzes@equator.com) | 
|---|
| 5647 | for memory leak when forcing type to Node_var_array. | 
|---|
| 5648 |  | 
|---|
| 5649 | Thu May 15 12:49:08 1997  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 5650 |  | 
|---|
| 5651 | * Release 3.0.3: Release tar file made. | 
|---|
| 5652 |  | 
|---|
| 5653 | Wed May 14 08:06:08 1997  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 5654 |  | 
|---|
| 5655 | * io.c (do_close): add lint warning if closing something that | 
|---|
| 5656 | isn't open. | 
|---|
| 5657 |  | 
|---|
| 5658 | Tue May 13 12:14:12 1997  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 5659 |  | 
|---|
| 5660 | * random.c, builtin.c: remove __GLIBC__ tests, since it breaks | 
|---|
| 5661 | `make test'. I prefer consistency across platforms. | 
|---|
| 5662 | * Makefile.in (gawk): undid April 25 changes and added comment. | 
|---|
| 5663 | Putting COMPLAGS in breaks with -g on VMS POSIX. | 
|---|
| 5664 |  | 
|---|
| 5665 | Sun May 11 14:48:04 1997  Darrell Hankerson  <hankedr@mail.auburn.edu> | 
|---|
| 5666 |  | 
|---|
| 5667 | * io.c [MSC_VER]: add cases for WIN32. | 
|---|
| 5668 | * regex.c [MSC_VER]: add cases for WIN32. | 
|---|
| 5669 |  | 
|---|
| 5670 | Sun May 11 07:04:01 1997  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 5671 |  | 
|---|
| 5672 | * builtin.c (do_print): in the loop that evaluates each expression | 
|---|
| 5673 | to be printed, do a dupnode to avoid bizarre output. Thanks to | 
|---|
| 5674 | Michal for finding this problem. | 
|---|
| 5675 | * awk.y (yylex): fix scanning of hexadecimal constants. | 
|---|
| 5676 |  | 
|---|
| 5677 | Wed May  7 15:09:25 1997  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 5678 |  | 
|---|
| 5679 | * io.c (get_a_record): fix casetable indexing with cast to int. | 
|---|
| 5680 | Keeps Michal happy. | 
|---|
| 5681 |  | 
|---|
| 5682 | Tue May  6 16:40:19 1997  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 5683 |  | 
|---|
| 5684 | * eval.c (func_call): removed unneeded variables. | 
|---|
| 5685 |  | 
|---|
| 5686 | Mon May  5 21:17:37 1997  Pat Rankin  <rankin@eql.caltech.edu> | 
|---|
| 5687 |  | 
|---|
| 5688 | * missing/strftime.c [case 'v', VMS_EXT]: for VMS date format, two | 
|---|
| 5689 | digit day of month should not be zero padded on the 1st through | 
|---|
| 5690 | the 9th. | 
|---|
| 5691 |  | 
|---|
| 5692 | Mon May  5 06:33:47 1997  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 5693 |  | 
|---|
| 5694 | * regex.h, regex.c: merge with current GLIBC version. | 
|---|
| 5695 |  | 
|---|
| 5696 | Mon May  5 06:33:47 1997  Pat Rankin  <rankin@eql.caltech.edu> | 
|---|
| 5697 |  | 
|---|
| 5698 | * io.c (nextfile): move the check for null return from iop_open | 
|---|
| 5699 | in the normal case and add one for the "no args" case. | 
|---|
| 5700 |  | 
|---|
| 5701 | Fri Apr 25 16:52:33 1997  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 5702 |  | 
|---|
| 5703 | * array.c (grow_table): add a bunch more large primes so arrays | 
|---|
| 5704 | can get really big. Thanks to christos@deshaw.com. | 
|---|
| 5705 | * all files: remove ifdef'ed out code and update copyrights. | 
|---|
| 5706 | * Makefile.in (gawk): add $(COMPFLAGS) to command line. | 
|---|
| 5707 | * eval.c (flags2str): added case for FIELD. | 
|---|
| 5708 |  | 
|---|
| 5709 | Thu Apr 24 22:39:23 1997  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 5710 |  | 
|---|
| 5711 | * COPYING: changed to current official version from FSF. | 
|---|
| 5712 | * regex.c: merge with GLIBC version. | 
|---|
| 5713 | * awk.h [_GNU_SOURCE]: bracket definition inside ifdef. | 
|---|
| 5714 | (NODE.source_line): move name member out of `x' union and | 
|---|
| 5715 | into `nodep'; avoids problems doing diagnostics. | 
|---|
| 5716 | (nondec2num): put decl into #if BITOPS || NONDECDATA | 
|---|
| 5717 | * posix/gawkmisc.c, missing/system.c, missing/strtod.c, | 
|---|
| 5718 | missing/strerror.c: move to generic GPL statement at top. | 
|---|
| 5719 | * builtin.c (nondec2num): put into #if BITOPS || NONDECDATA | 
|---|
| 5720 |  | 
|---|
| 5721 | Wed Apr 23 22:14:14 1997  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 5722 |  | 
|---|
| 5723 | * dfa.c: misc changes for really pedantic SGI compilers. | 
|---|
| 5724 | * builtin.c: bracket defs of random() etc for GLIBC. | 
|---|
| 5725 | * random.c: bracket whole file for GLIBC. | 
|---|
| 5726 | * configure.in: extra goop for GETPGRP test for VMS POSIX. | 
|---|
| 5727 | * custom.h [VMS]: remove hard definition of GETPGRP_VOID. | 
|---|
| 5728 |  | 
|---|
| 5729 | Fri Apr 18 07:55:47 1997  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 5730 |  | 
|---|
| 5731 | * BETA Release 3.0.34: Release tar file made. | 
|---|
| 5732 |  | 
|---|
| 5733 | Tue Apr 15 21:35:45 1997  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 5734 |  | 
|---|
| 5735 | NEW UNDOCUMENTED FEATURE. USE THE SOURCE LUKE! | 
|---|
| 5736 | * acconfig.h [NONDECDATA]: new macro. | 
|---|
| 5737 | * awk.h: add decl of do_strtonum. | 
|---|
| 5738 | * awk.y (tokentab): add entry for strtonum function. | 
|---|
| 5739 | * builtin.c (do_strtonum): new function. | 
|---|
| 5740 | * configure.in (non-decimal-data): new --enable-* option. | 
|---|
| 5741 | * node.c (r_force_number): change to allow non-decimal data inside | 
|---|
| 5742 | ifdef NONDECDATA. | 
|---|
| 5743 |  | 
|---|
| 5744 | Tue Apr 15 06:32:50 1997  Pat Rankin  <rankin@eql.caltech.edu> | 
|---|
| 5745 |  | 
|---|
| 5746 | * missing/strftime.c (malloc, realloc, getenv, strchr): only | 
|---|
| 5747 | declare these when STDC_HEADERS is not defined. | 
|---|
| 5748 | <stdlib.h, string.h>: include these when STDC_HEADERS is defined. | 
|---|
| 5749 | * awk.h (freenode, tree_eval, m_tree_eval): reorganize definitions. | 
|---|
| 5750 | * alloca.c (malloc): if malloc is already defined as a macro, | 
|---|
| 5751 | presumeably by config.h, don't define or declare it. | 
|---|
| 5752 |  | 
|---|
| 5753 | Wed Apr  9 22:45:27 1997  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 5754 |  | 
|---|
| 5755 | * Makefile.in [COMPFLAGS]: per suggestion from Karl Berry, put | 
|---|
| 5756 | $(CFLAGS) last. | 
|---|
| 5757 |  | 
|---|
| 5758 | Tue Apr  8 23:54:46 1997  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 5759 |  | 
|---|
| 5760 | * eval.c (interpret): For Node_K_break and Node_K_continue, if | 
|---|
| 5761 | treating them like `next', also check the function call stack | 
|---|
| 5762 | and pop it if necessary. | 
|---|
| 5763 |  | 
|---|
| 5764 | Mon Apr  7 18:22:37 1997  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 5765 |  | 
|---|
| 5766 | * awk.h: Add decls of new routines do_compl() and set_loc(). | 
|---|
| 5767 | * awk.y (tokentab): add entry for "compl" function. | 
|---|
| 5768 | * builtin.c (do_compl): new function to do ones complement. | 
|---|
| 5769 | (do_substr): rationalized yet again, now notices negative start | 
|---|
| 5770 | and length parameters. | 
|---|
| 5771 | * eval.c (push_args): fix if call_list gets realloc'ed in the | 
|---|
| 5772 | middle of things. Avoids crash for deeply nested function calls. | 
|---|
| 5773 | * main.c (catch_sig): add call to set_loc(). | 
|---|
| 5774 | * msg.c (set_loc, srcfile, srcline): new function and private | 
|---|
| 5775 | variables to help out in tracing down source of error messages. | 
|---|
| 5776 |  | 
|---|
| 5777 | Fri Mar 28 08:42:27 1997  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 5778 |  | 
|---|
| 5779 | * io.c (iop_alloc, iop_close): Undo changes of Feb 11, apparently | 
|---|
| 5780 | other cleanups in io.c made mmap stuff start working again. | 
|---|
| 5781 | BAH! It's a mess, the test suite still fails. I'm leaving the | 
|---|
| 5782 | mmap stuff undefined for now. It'll probably get ripped out in 3.1. | 
|---|
| 5783 |  | 
|---|
| 5784 | Thu Mar 27 08:48:57 1997  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 5785 |  | 
|---|
| 5786 | * custom.h [_SEQUENT_]: undef HAVE_MMAP. | 
|---|
| 5787 |  | 
|---|
| 5788 | Wed Mar 26 09:08:16 1997  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 5789 |  | 
|---|
| 5790 | * io.c (iop_alloc): fix definition to make it static. | 
|---|
| 5791 |  | 
|---|
| 5792 | Mon Mar 24 23:09:07 1997  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 5793 |  | 
|---|
| 5794 | * field.c (init_fields, etc..): more clean up use of Null_field | 
|---|
| 5795 | and the various flags. | 
|---|
| 5796 | * node.c (unref): if a field, free the node itself. Fixes | 
|---|
| 5797 | memory leak problems. | 
|---|
| 5798 |  | 
|---|
| 5799 | Sun Mar 23 22:51:09 1997  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 5800 |  | 
|---|
| 5801 | * awk.h [FIELD]: new flag for node->flags field. | 
|---|
| 5802 | * builtin.c (sub_common): if FIELD is set, dup the string. | 
|---|
| 5803 | * field.c (init_fields): set up a new Null_field global var. | 
|---|
| 5804 | (init_fields, set_field, set_record) use the FIELD flag. | 
|---|
| 5805 | (getfield): use Null_field instead of private variable. | 
|---|
| 5806 | * io.c (wait_any): comment out calls to pclose and iop_close, | 
|---|
| 5807 | caused weird race conditions. See test/pipeio1.awk. Thanks | 
|---|
| 5808 | to Darrell Hankerson for tracing this one down. | 
|---|
| 5809 |  | 
|---|
| 5810 | Tue Mar 18 20:57:18 1997  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 5811 |  | 
|---|
| 5812 | * dfa.c (inboth): free templist; plugs memory leak. | 
|---|
| 5813 | * field.c (init_fields, grow_fields_arr, set_field, rebuild_record, | 
|---|
| 5814 | set_record): remove PERM flag from entries in fields_arr[]. Fixes | 
|---|
| 5815 | nasty memory leak. | 
|---|
| 5816 |  | 
|---|
| 5817 | Tue Mar 18 06:33:00 1997  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 5818 |  | 
|---|
| 5819 | * awk.y (dup_parms): robustified against parameter errors. | 
|---|
| 5820 |  | 
|---|
| 5821 | Sun Mar 16 21:31:40 1997  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 5822 |  | 
|---|
| 5823 | NEW UNDOCUMENTED FEATURE. USE THE SOURCE LUKE! | 
|---|
| 5824 | * acconfig.h [BITOPS]: new macro. If set, do octal & hex and bit ops. | 
|---|
| 5825 | * awk.h [isnondecimal]: new macro, and decl of new functions. | 
|---|
| 5826 | * awk.y (yylex): add recognition of octal and hex constants. | 
|---|
| 5827 | * builtin.c (do_and, do_or, do_xor, do_lshift, do_rshift): new | 
|---|
| 5828 | functions that do bit operations. | 
|---|
| 5829 | (nondec2awknum): new function to convert octal or hex to double. | 
|---|
| 5830 | * configure.in: Add AC_ARG_ENABLE for bit operations. | 
|---|
| 5831 | * node.c (r_force_number): add octal and hex conversion. | 
|---|
| 5832 |  | 
|---|
| 5833 | Sun Mar 16 21:28:56 1997  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 5834 |  | 
|---|
| 5835 | * awk.h [IOP_NOFREE_OBJ]: new macro. | 
|---|
| 5836 | * io.c (iop_open, iop_alloc): add new third parameter, which is | 
|---|
| 5837 | either NULL, meaning allocate a new IOP, or the address of one | 
|---|
| 5838 | already allocated.  Have a static one in the `nextfile' | 
|---|
| 5839 | routine, and use the IOP_NOFREE_OBJ flag for it.  All of this | 
|---|
| 5840 | keeps us from reading freed memory. The `swaplns' test fails | 
|---|
| 5841 | otherwise. | 
|---|
| 5842 | (iop_close): if IOP_NOFREE_OBJ is set, don't free the IOBUF. | 
|---|
| 5843 |  | 
|---|
| 5844 | Wed Feb 26 06:21:02 1997  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 5845 |  | 
|---|
| 5846 | * eval.c (in_function, pop_fcall_stack, pop_fcall, push_args): | 
|---|
| 5847 | new functions. These manage "frames" of awk function call arguments. | 
|---|
| 5848 | The problem is that a `next' or a `nextfile' from a function | 
|---|
| 5849 | leaks memory. These changes allow us to free up that memory. | 
|---|
| 5850 | (interpret): for Node_K_next and Node_K_nextfile, check if in | 
|---|
| 5851 | a function call and free all function call frames. | 
|---|
| 5852 |  | 
|---|
| 5853 | Fri Feb 21 06:23:19 1997  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 5854 |  | 
|---|
| 5855 | * Misc changes from Katsuyuki Okabe <HGC02147@niftyserve.or.jp>: | 
|---|
| 5856 | * builtin.c (do_substr): change a %d to %ld in warning message. | 
|---|
| 5857 | * eval.c (op_assign): fix format string for warning about %=. | 
|---|
| 5858 |  | 
|---|
| 5859 | Wed Feb 19 23:29:02 1997  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 5860 |  | 
|---|
| 5861 | * main.c (main): add do_intervals to condition that causes | 
|---|
| 5862 | resetup() to be called again. Makes the --re-interval option | 
|---|
| 5863 | actually work. What a concept. | 
|---|
| 5864 |  | 
|---|
| 5865 | Fri Feb 14 09:47:31 1997  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 5866 |  | 
|---|
| 5867 | * io.c [#include "awk.h"]: undef HAVE_MMAP to just use the old code. | 
|---|
| 5868 | Something is causing a file descriptor leak, and this is getting to | 
|---|
| 5869 | be just too much hair. I reserve the right to rip out the mmap | 
|---|
| 5870 | code entirely at a future date. | 
|---|
| 5871 |  | 
|---|
| 5872 | Tue Feb 11 06:28:29 1997  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 5873 |  | 
|---|
| 5874 | * io.c (iop_alloc): for an mmap'ed file, close the file descriptor, | 
|---|
| 5875 | and then touch each page to get a private copy. Fixes nasty case | 
|---|
| 5876 | of truncating our input file. | 
|---|
| 5877 | (iop_close): don't call close on mmap'ed file. | 
|---|
| 5878 |  | 
|---|
| 5879 | Wed Feb  5 17:59:04 1997  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 5880 |  | 
|---|
| 5881 | * eval.c (interpret): For Node_K_delete, just call do_delete; let | 
|---|
| 5882 | it handle the case of `delete array'. | 
|---|
| 5883 | * array.c (do_delete): Changed to handle case of `delete array', | 
|---|
| 5884 | and made smarter if the array is actually an uninitialized | 
|---|
| 5885 | parameter. | 
|---|
| 5886 |  | 
|---|
| 5887 | Sun Jan 26 22:58:29 1997  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 5888 |  | 
|---|
| 5889 | * getopt.h, getopt.c, getopt1.c: replaced with new versions from | 
|---|
| 5890 | GLIBC 2. | 
|---|
| 5891 |  | 
|---|
| 5892 | Sun Jan 19 23:37:03 1997  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 5893 |  | 
|---|
| 5894 | * eval.c (nodetype2str): not static, for debugging. | 
|---|
| 5895 | (flags2str) new function: for debugging. | 
|---|
| 5896 | * field.c (get_field): add new var that is like Nnull_string but | 
|---|
| 5897 | does not have numeric attributes, so that new fields are strings. | 
|---|
| 5898 | (set_record): turn off PERM flag before unrefing fields and field 0. | 
|---|
| 5899 | * array.c (in_array): always evaluate subscript, could have | 
|---|
| 5900 | side effects. | 
|---|
| 5901 | * builtin.c (do_strftime): way increase size of buffer to make sure | 
|---|
| 5902 | we don't have overflow problem. Keeps Paul Eggert happy. | 
|---|
| 5903 | * custom.h [__amigaos__]: define fork to vfork. From Fred Fish. | 
|---|
| 5904 | * dfa.c: move include of config.h to top, for RSXNT. From Kai | 
|---|
| 5905 | Uwe Rommel. | 
|---|
| 5906 | (ISALPHA, etc): change from Jacob Engelbrecht (jaen@novo.dk) | 
|---|
| 5907 | to better handle non-ascii environments. | 
|---|
| 5908 | * gawkmisc.c: remove amigados case, posix should now work fine. | 
|---|
| 5909 | * amiga/*: nuked per previous entry. | 
|---|
| 5910 | * Makefile.in: removed all references to amiga | 
|---|
| 5911 | * io.c [HAVE_SYS_PARAM_H]: Add #undef RE_DUP_MAX to avoid | 
|---|
| 5912 | spurious conflict with regex.h. | 
|---|
| 5913 | (flush_io): remove amiga ifdefs, not needed anymore. | 
|---|
| 5914 | (spec_setup): set getrec field for special files. Fix from | 
|---|
| 5915 | Mark Gray (markgray@pdt.net). | 
|---|
| 5916 | * node.c (more_nodes): fix to get the last entry in the array. | 
|---|
| 5917 |  | 
|---|
| 5918 | Wed Jan  8 17:42:37 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de> | 
|---|
| 5919 |  | 
|---|
| 5920 | * io.c (mmap_get_record): Fix return value if file ends without | 
|---|
| 5921 | record separator. | 
|---|
| 5922 |  | 
|---|
| 5923 | Fri Jan  3 19:57:16 1997  Pat Rankin  <rankin@eql.caltech.edu> | 
|---|
| 5924 |  | 
|---|
| 5925 | * awk.y (get_src_buf):  Test for an empty source file by detecting | 
|---|
| 5926 | an initial read of 0 bytes rather than by relying on info from | 
|---|
| 5927 | stat(). | 
|---|
| 5928 |  | 
|---|
| 5929 | Wed Dec 25 11:25:22 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 5930 |  | 
|---|
| 5931 | * Release 3.0.2: Release tar file made. | 
|---|
| 5932 |  | 
|---|
| 5933 | Wed Dec 25 11:17:32 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 5934 |  | 
|---|
| 5935 | * Makefile.in (install, uninstall): use $(srcdir)/patchlevel.h. | 
|---|
| 5936 | Thanks to Richard Levitte, LeViMS@stacken.kth.se. | 
|---|
| 5937 | (install): remove chmod command; let $(INSTALL_PROGRAM) use -m. | 
|---|
| 5938 |  | 
|---|
| 5939 | Mon Dec 23 20:36:59 1996  Pat Rankin  <rankin@eql.caltech.edu> | 
|---|
| 5940 |  | 
|---|
| 5941 | * custom.h (#if VMS_POSIX):  Define GETPGRP_VOID. | 
|---|
| 5942 |  | 
|---|
| 5943 | Fri Dec 20 08:59:55 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 5944 |  | 
|---|
| 5945 | * getopt.c, getopt1.c: comment out the `#if defined (_LIBC) || | 
|---|
| 5946 | !defined (__GNU_LIBRARY__)' and `#endif' to force use of this | 
|---|
| 5947 | getopt, even on systems like linux.  This will be handled | 
|---|
| 5948 | better in 3.1 / glibc 2. | 
|---|
| 5949 |  | 
|---|
| 5950 | Thu Dec 19 22:52:39 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 5951 |  | 
|---|
| 5952 | * awk.y (yylex): In several places, after yyerror(), add call to | 
|---|
| 5953 | exit(). Otherwise, infinite messages. This should probably | 
|---|
| 5954 | be handled better. | 
|---|
| 5955 |  | 
|---|
| 5956 | Wed Dec 18 22:42:10 1996  Darrel Hankerson  <hankedr@mail.auburn.edu> | 
|---|
| 5957 |  | 
|---|
| 5958 | * getopt.c (_getopt_internal): if 'W' and ';', if optind == argc, | 
|---|
| 5959 | return c, don't fall through. | 
|---|
| 5960 |  | 
|---|
| 5961 | Wed Dec 18 10:09:44 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 5962 |  | 
|---|
| 5963 | * configure.in [AC_PREREQ]: Update to 2.12 in order to switch to | 
|---|
| 5964 | autoconf 2.12. Lots of other files will be rebuilt automatically. | 
|---|
| 5965 | [AM_SANITY_CHECK_CC]: Removed, autoconf does it now. | 
|---|
| 5966 | * aclocal.m4 [AM_SANITY_CHECK_CC]: Removed, autoconf does it now. | 
|---|
| 5967 |  | 
|---|
| 5968 | Tue Dec 17 22:23:16 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 5969 |  | 
|---|
| 5970 | * builtin.c (do_strftime): fix case if format string is "". | 
|---|
| 5971 | Also fix it if format is not "" but result of strftime is "". | 
|---|
| 5972 | See comments in code. | 
|---|
| 5973 |  | 
|---|
| 5974 | Tue Dec 10 23:09:26 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 5975 |  | 
|---|
| 5976 | * Release 3.0.1: Release tar file made. | 
|---|
| 5977 |  | 
|---|
| 5978 | Tue Dec 10 22:39:41 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 5979 |  | 
|---|
| 5980 | * Makefile.in (dist): add dependency on `info'. Remove line that | 
|---|
| 5981 | does makeinfo. | 
|---|
| 5982 | (install): use $(LN) not $(LN_S) to link gawk gawk-version. | 
|---|
| 5983 |  | 
|---|
| 5984 | Sun Dec  8 07:53:44 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 5985 |  | 
|---|
| 5986 | * Makefile.in (gawk): took COMPFLAGS out of link line for help | 
|---|
| 5987 | on VMS posix. Shouldn't (I hope) affect anything else. | 
|---|
| 5988 |  | 
|---|
| 5989 | Thu Nov 28 11:52:24 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 5990 |  | 
|---|
| 5991 | * configure.in (AC_PROG_INSTALL): Set INSTALL to install-sh. | 
|---|
| 5992 |  | 
|---|
| 5993 | Tue Nov 26 22:42:00 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 5994 |  | 
|---|
| 5995 | * PORTS: Updated list of systems. | 
|---|
| 5996 | * Makefile.in (install): Fix some typos and add some improvements | 
|---|
| 5997 | for Ultrix. | 
|---|
| 5998 |  | 
|---|
| 5999 | Sun Nov 24 22:16:26 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6000 |  | 
|---|
| 6001 | * builtin.c (do_printf): if no args, fatal error. Return silently | 
|---|
| 6002 | if --traditional. | 
|---|
| 6003 |  | 
|---|
| 6004 | Thu Nov  7 20:54:43 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6005 |  | 
|---|
| 6006 | * io.c (inrec): make sure EOF hasn't already happened before | 
|---|
| 6007 | trying to read; prevents accessing freed buffer. Thanks to | 
|---|
| 6008 | Michal Jaegermann. | 
|---|
| 6009 | * Makefile.in [AWKSRC]: add random.h. | 
|---|
| 6010 | random.h: new file, redefines names of the `random' functions. | 
|---|
| 6011 | random.c, builtin.c: add include of random.h. | 
|---|
| 6012 |  | 
|---|
| 6013 | Thu Nov  7 09:06:21 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6014 |  | 
|---|
| 6015 | * awk.y (snode): undo 4 Oct change, put do_split code back. | 
|---|
| 6016 | field.c (do_split): restore old code; add test for CONST, so | 
|---|
| 6017 | that re_parse_field is used if third arg to split is a regexp | 
|---|
| 6018 | constant. | 
|---|
| 6019 |  | 
|---|
| 6020 | Mon Nov  4 12:57:11 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6021 |  | 
|---|
| 6022 | * main.c (main): Research -m[fr] options don't need literal '=' | 
|---|
| 6023 | characters. Brian's documentation was confusing.  Fixed, not | 
|---|
| 6024 | that anyone actually uses these options with gawk. | 
|---|
| 6025 |  | 
|---|
| 6026 | Sun Nov  3 11:23:21 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6027 |  | 
|---|
| 6028 | * field.c (def_parse_field): add \n to list of acceptable white space. | 
|---|
| 6029 | (posix_def_parse_field): new routine, just like def_parse_field(), | 
|---|
| 6030 | but only allows space and tab as separators. | 
|---|
| 6031 | (do_split, set_FS): make appropriate choice between the two | 
|---|
| 6032 | *def_parse_field() routines. | 
|---|
| 6033 |  | 
|---|
| 6034 | Fri Oct 25 10:13:06 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6035 |  | 
|---|
| 6036 | * configure.in: remove test for random. | 
|---|
| 6037 | * Makefile.in: add random.c to list of files always compiled. | 
|---|
| 6038 | * missing.c: remove HAVE_RANDOM test. | 
|---|
| 6039 | * builtin.c: remove ifdef's for HAVE_RANDOM. | 
|---|
| 6040 | [GAWK_RAND_MAX]: use constant we know works with our random(). | 
|---|
| 6041 | * random.c: new file - moved from missing/ directory. | 
|---|
| 6042 |  | 
|---|
| 6043 | Wed Oct 23 19:46:01 1996  Pat Rankin  <rankin@eql.caltech.edu> | 
|---|
| 6044 |  | 
|---|
| 6045 | * builtin.c (do_tolower, do_toupper): Add `unsigned char *' casts. | 
|---|
| 6046 |  | 
|---|
| 6047 | Tue Oct 22 21:27:52 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6048 |  | 
|---|
| 6049 | * builtin.c [GAWK_RANDOM_MAX]: Try to make definition a bit | 
|---|
| 6050 | smarter; don't use RAND_MAX if it's equal to SHRT_MAX, blows | 
|---|
| 6051 | things up. | 
|---|
| 6052 |  | 
|---|
| 6053 | Tue Oct 22 08:49:20 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6054 |  | 
|---|
| 6055 | * main.c (copyleft): update copyright date to 1996. | 
|---|
| 6056 | too many files to list: update copyright date to 1996. | 
|---|
| 6057 |  | 
|---|
| 6058 | Sun Oct 20 12:21:09 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6059 |  | 
|---|
| 6060 | * awk.y, dfa.c, eval.c, io.c, re.c: added various FIXME comments. | 
|---|
| 6061 |  | 
|---|
| 6062 | Sat Oct 19 22:06:42 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6063 |  | 
|---|
| 6064 | * eval.c (nodetype2str): make static, add prototype. | 
|---|
| 6065 | * field.c (sc_parse_field): cast array subscripts to int to | 
|---|
| 6066 | shut up gcc warnings. | 
|---|
| 6067 | * gawkmisc.c: add prototype for xmalloc. | 
|---|
| 6068 | * awk.h: add prototype for getredirect. | 
|---|
| 6069 | * builtin.c (do_fflush): remove extern decl of getredirect. | 
|---|
| 6070 | * io.c (get_a_record, mmap_get_record): change decl of rs to int, | 
|---|
| 6071 | to shut up gcc warnings. | 
|---|
| 6072 | * awk.y (isassignable): add a default to switch to quiet gcc. | 
|---|
| 6073 | * getopt.c (_getopt_internal): give default value to `indfound'. | 
|---|
| 6074 |  | 
|---|
| 6075 | Fri Oct 18 09:00:49 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6076 |  | 
|---|
| 6077 | * regex.h [RE_SYNTAX_AWK]: add RE_CONTEXT_INDEP_ANCHORS. | 
|---|
| 6078 |  | 
|---|
| 6079 | Thu Oct 17 22:32:55 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6080 |  | 
|---|
| 6081 | * aclocal.m4 [AM_SANITY_CHECK_CC]: added. | 
|---|
| 6082 | * configure.in: use it. | 
|---|
| 6083 |  | 
|---|
| 6084 | Thu Oct 17 21:43:25 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6085 |  | 
|---|
| 6086 | * configure.in: add checks for locale.h and setlocale(). | 
|---|
| 6087 | awk.h: include locale.h and define out setlocale() if not available. | 
|---|
| 6088 | main.c (main): call setlocale(). | 
|---|
| 6089 | builtin.c (do_tolower, do_toupper): use unsigned char pointers, | 
|---|
| 6090 | to get other charsets right in different locales. | 
|---|
| 6091 |  | 
|---|
| 6092 | Wed Oct 16 21:32:53 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6093 |  | 
|---|
| 6094 | * builtin.c (format_tree): Change initial buffer size to 512 | 
|---|
| 6095 | and use a constant. Allows large values of %f per bug report | 
|---|
| 6096 | from sheyn@cs.bu.edu. | 
|---|
| 6097 |  | 
|---|
| 6098 | Wed Oct 16 21:22:08 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6099 |  | 
|---|
| 6100 | * Makefile.in [MISC]: removed TAGS and tags | 
|---|
| 6101 | (local-distclean): added TAGS and tags | 
|---|
| 6102 | (maintainer-clean): removed TAGS and tags | 
|---|
| 6103 |  | 
|---|
| 6104 | Wed Oct 16 12:28:43 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6105 |  | 
|---|
| 6106 | * main.c (version): Add call to copyleft(), per new standards. | 
|---|
| 6107 | version.c: Fix text of version string to match new standards. | 
|---|
| 6108 |  | 
|---|
| 6109 | Sun Oct  6 22:19:45 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6110 |  | 
|---|
| 6111 | * regex.c: updated to Emacs 19.34b base. | 
|---|
| 6112 |  | 
|---|
| 6113 | Sun Oct  6 21:57:34 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6114 |  | 
|---|
| 6115 | * re.c (make_regexp): fixed to handle \8 and \9 in the middle | 
|---|
| 6116 | of a regexp. | 
|---|
| 6117 |  | 
|---|
| 6118 | Fri Oct  4 10:26:16 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6119 |  | 
|---|
| 6120 | * awk.y (snode): remove case for do_split; always making the | 
|---|
| 6121 | third arg a Node_regex is wrong. | 
|---|
| 6122 | field.c (do_split): rationalized to distinguish `/ /' from `" "'. | 
|---|
| 6123 | Generally fixed up. | 
|---|
| 6124 | * node.c (parse_escape): Allow single digit \x escapes. | 
|---|
| 6125 |  | 
|---|
| 6126 | 1996-10-02  Paul Eggert  <eggert@twinsun.com> | 
|---|
| 6127 |  | 
|---|
| 6128 | * builtin.c (format_tree): | 
|---|
| 6129 | Fix bug in %d and %i format: NaNs, and values | 
|---|
| 6130 | in the range LONG_MAX+1 .. ULONG_MAX, were mishandled. | 
|---|
| 6131 | Don't assume that double values <= -1 are converted to unsigned | 
|---|
| 6132 | long in the expected way; the C Standard doesn't guarantee this. | 
|---|
| 6133 |  | 
|---|
| 6134 | 1996-10-02  Paul Eggert  <eggert@twinsun.com> | 
|---|
| 6135 |  | 
|---|
| 6136 | * awk.h (INT_MAX): Remove unused symbol. | 
|---|
| 6137 |  | 
|---|
| 6138 | Mon Sep 30 22:19:11 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6139 |  | 
|---|
| 6140 | * getopt.c (_getopt_internal): If 'W' is in the optstring followed | 
|---|
| 6141 | by a ';' then search through the long opts table. This makes | 
|---|
| 6142 | `-W foo=bar' same as `--foo=bar'. | 
|---|
| 6143 | * main.c (main): 'W' now prints an error message. | 
|---|
| 6144 | (gawk_option): deleted the routine. | 
|---|
| 6145 |  | 
|---|
| 6146 | Sun Sep 29 23:04:54 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6147 |  | 
|---|
| 6148 | * builtin.c (sub_common): fix several bugs with gsub when | 
|---|
| 6149 | matching null strings. See test/gsubtest.awk. | 
|---|
| 6150 |  | 
|---|
| 6151 | Fri Sep 20 17:35:54 1996  Pat Rankin  <rankin@eql.caltech.edu> | 
|---|
| 6152 |  | 
|---|
| 6153 | * alloca.c (NULL): don't define if <config.h> has already done so. | 
|---|
| 6154 |  | 
|---|
| 6155 | Fri Sep 20 11:54:31 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6156 |  | 
|---|
| 6157 | * builtin.c (do_print): evaluate all the expressions first and | 
|---|
| 6158 | then print them. Avoids surprising behavior. See test/prtoeval.awk | 
|---|
| 6159 | for an example. | 
|---|
| 6160 |  | 
|---|
| 6161 | Tue Sep 10 06:21:40 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6162 |  | 
|---|
| 6163 | * awk.h [FUNC]: new flag, marks a Node_parameter_list as really | 
|---|
| 6164 | being the function name; allows more checking in awk.y. | 
|---|
| 6165 | * awk.y (isassignable): now takes a NODE * instead of a type, to | 
|---|
| 6166 | check if a function parameter is marked FUNC, then it's the function | 
|---|
| 6167 | name, which is not assignable. Fix call from snode(). | 
|---|
| 6168 | (function_prologue): mark function name as FUNC. | 
|---|
| 6169 | (yyerror): don't call exit() anymore; gawk will now report | 
|---|
| 6170 | all syntax errors. | 
|---|
| 6171 |  | 
|---|
| 6172 | Sun Sep  1 19:36:30 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6173 |  | 
|---|
| 6174 | * field.c (rebuild_record): after building new field 0, go through | 
|---|
| 6175 | all old fields, and if they used to point into the old one, | 
|---|
| 6176 | have them point into the new one.  Then turn off PERM flag before | 
|---|
| 6177 | unref-ing field 0. | 
|---|
| 6178 |  | 
|---|
| 6179 | Wed Aug 28 19:13:34 1996  Arnold D. Robbins  <arnold@math.utah.edu> | 
|---|
| 6180 |  | 
|---|
| 6181 | * eval.c (set_IGNORECASE): Correctly parenthesize bit operations | 
|---|
| 6182 | in test and fix logic for string value. | 
|---|
| 6183 |  | 
|---|
| 6184 | Wed Aug 28 22:06:33 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6185 |  | 
|---|
| 6186 | * main.c (usage): add email addresses for bug reporting, per | 
|---|
| 6187 | change in GNU Coding Standards from RMS. | 
|---|
| 6188 |  | 
|---|
| 6189 | Sun Aug 11 23:13:22 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6190 |  | 
|---|
| 6191 | * Makefile.in (install): correct use of $(INSTALL_PROGRAM). | 
|---|
| 6192 |  | 
|---|
| 6193 | Thu Aug  8 23:29:43 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6194 |  | 
|---|
| 6195 | * parse.y (isassignable): new function, checks in type can | 
|---|
| 6196 | be assigned to. | 
|---|
| 6197 | (snode): changed checking for 3rd arg of gsub to be more | 
|---|
| 6198 | general, supersedes earlier change. | 
|---|
| 6199 |  | 
|---|
| 6200 | Thu Aug  8 13:58:26 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6201 |  | 
|---|
| 6202 | * parse.y (snode): If third arg to sub or gsub is builtin | 
|---|
| 6203 | function, complain, since can't substitute into result. | 
|---|
| 6204 | * eval.c (r_get_lhs): diagnose Node_builtin as an error, instead | 
|---|
| 6205 | of falling through into default case and using cant_happen(). | 
|---|
| 6206 |  | 
|---|
| 6207 | Thu Aug  1 07:13:14 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6208 |  | 
|---|
| 6209 | * regex.h [RE_DEBUG]: new macro. | 
|---|
| 6210 | [RE_SYNTAX_GNU_AWK]: add RE_DEBUG. | 
|---|
| 6211 | [RE_SYNTAX_POSIX_AWK]: add RE_INTERVALS. | 
|---|
| 6212 | * regex.c (re_set_syntax): add #ifdef DEBUG code to turn on `debug' | 
|---|
| 6213 | flag if RE_DEBUG set, and turn off debug if not set and debug | 
|---|
| 6214 | was on. | 
|---|
| 6215 | * main.c (main): remove `do_intervals = TRUE' from `if (do_posix)', | 
|---|
| 6216 | it's now handled in the definition of RE_SYNTAX_POSIX_AWK. | 
|---|
| 6217 |  | 
|---|
| 6218 | Mon Jul 29 17:49:07 1996  Pat Rankin  <rankin@eql.caltech.edu> | 
|---|
| 6219 |  | 
|---|
| 6220 | * io.c (O_ACCMODE): define it if <fcntl.h> doesn't. | 
|---|
| 6221 |  | 
|---|
| 6222 | Mon Jul 29 12:02:48 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6223 |  | 
|---|
| 6224 | * eval.c (set_IGNORECASE): made somewhat smarter. gawk -v IGNORECASE=0 | 
|---|
| 6225 | was acting the same as -v IGNORECASE=1. Thanks to Darrell Hankerson | 
|---|
| 6226 | for the bug report. | 
|---|
| 6227 |  | 
|---|
| 6228 | Fri Jul 26 12:04:43 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6229 |  | 
|---|
| 6230 | * awk.h (format_val): add declaration of new routine. | 
|---|
| 6231 | * node.c (format_val): new routine, abstracts old guts of | 
|---|
| 6232 | r_forcestring; accepts format string and index as additional params. | 
|---|
| 6233 | (r_force_string): changed to call format_val. | 
|---|
| 6234 | * builtin.c (do_print):  don't tree_eval the tree twice in case | 
|---|
| 6235 | OFMTidx != CONVFMTidx; doing so could cause side effects | 
|---|
| 6236 | (from bug report by Tobias Rettstadt, xassp@ipds.uni-kiel.de). | 
|---|
| 6237 | Instead, call format_val. | 
|---|
| 6238 |  | 
|---|
| 6239 | Mon Jul 22 21:59:15 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6240 |  | 
|---|
| 6241 | * io.c (iop_close): change check for "is $0 in the input buffer" | 
|---|
| 6242 | to use `< (iop->buf + iop->secsiz + iop->size)' instead of | 
|---|
| 6243 | `< iop->end'. The latter is bogus if EOF has been hit on the | 
|---|
| 6244 | file.  Fix from Darrel Hankerson based on bug report by | 
|---|
| 6245 | Charles Howes (howes@grid.direct.ca).  See test/eofsplit.awk. | 
|---|
| 6246 |  | 
|---|
| 6247 | Thu Jul 18 19:43:20 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6248 |  | 
|---|
| 6249 | * builtin.c (sub_common): backed out change of Feb 14 in favor of: | 
|---|
| 6250 | (do_gensub): Changed to use make_string and then to |= TEMP | 
|---|
| 6251 | flag, based on bug report and patch from Katsuyuki Okabe, | 
|---|
| 6252 | hgc02147@niftyserve.or.jp. | 
|---|
| 6253 |  | 
|---|
| 6254 | Thu Jul 18 19:23:53 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6255 |  | 
|---|
| 6256 | * custom.h: added ifdef for QNX, based on bug report from | 
|---|
| 6257 | Michael Hunter, mphunter@qnx.com. | 
|---|
| 6258 |  | 
|---|
| 6259 | Mon Jul 15 09:31:01 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6260 |  | 
|---|
| 6261 | * io.c (redirect): When finding the rp pointer, if it's not | 
|---|
| 6262 | NULL, set str = rp->value. This gets the '\0' terminated | 
|---|
| 6263 | version. Motivated by bug report from John Hawkinson | 
|---|
| 6264 | (jhawk@bbnplanet.com). | 
|---|
| 6265 |  | 
|---|
| 6266 | Sun Jul 14 18:40:26 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6267 |  | 
|---|
| 6268 | * configure.in: added call to AC_CHECK_LIB(m, fmod), since | 
|---|
| 6269 | apparently some systems have fmod in the math library. | 
|---|
| 6270 | Portability: the Holy Grail.  Sigh. | 
|---|
| 6271 |  | 
|---|
| 6272 | Sun Jul 14 18:08:01 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6273 |  | 
|---|
| 6274 | * awk.h: add Jim Meyerings ISASCII etc hacks for ctype macros. | 
|---|
| 6275 | * builtin.c (do_toupper, do_tolower, sub_common): changed to use | 
|---|
| 6276 | upper-case versions of ctype macros. | 
|---|
| 6277 | * main.c (main): ditto. | 
|---|
| 6278 | * node.c (r_force_number, parse_escape): ditto. | 
|---|
| 6279 |  | 
|---|
| 6280 | Sun Jul 14 06:34:18 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6281 |  | 
|---|
| 6282 | * field.c (set_record): made it always do the PERM flag. | 
|---|
| 6283 | Fixes cases where $0 is assigned to, e.g. by gsub, keeps | 
|---|
| 6284 | the fields valid. | 
|---|
| 6285 | (get_field): removed the call to reset_record in | 
|---|
| 6286 | case where ! field0_valid. We want to leave the fields alone | 
|---|
| 6287 | if they've been changed. | 
|---|
| 6288 |  | 
|---|
| 6289 | Thu Jul 11 23:04:20 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6290 |  | 
|---|
| 6291 | * io.c (devopen): change tests of (flag & O_fooONLY) to | 
|---|
| 6292 | (flag & O_ACCMODE) == O_fooONLY. Per (long standing) bug | 
|---|
| 6293 | report from Chapman Flack. | 
|---|
| 6294 | (close_redir): change final conditional to just (status != 0) | 
|---|
| 6295 | so that ERRNO always set; the warning had its own `if (do_lint)' | 
|---|
| 6296 | anyway. | 
|---|
| 6297 | * eval.c (do_split): force type of array to be Node_var_array | 
|---|
| 6298 | instead of Node_var.  Per (long standing) bug report from | 
|---|
| 6299 | Chapman Flack. | 
|---|
| 6300 |  | 
|---|
| 6301 | Thu Jul 11 22:17:14 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6302 |  | 
|---|
| 6303 | * Makefile.in (install): added symlink of gawk to awk if | 
|---|
| 6304 | no awk in $(bindir). | 
|---|
| 6305 | (LN_S): new variable for symlinking. | 
|---|
| 6306 | (uninstall): remove awk if it's the same gawk. | 
|---|
| 6307 | * Configure.in: Added call to AC_PROG_LN_S for Makefile.in. | 
|---|
| 6308 |  | 
|---|
| 6309 | Sun Jul  7 15:47:13 1996  Arnold D. Robbins  <arnold@infographix.com> | 
|---|
| 6310 |  | 
|---|
| 6311 | * main.c (main): made `--posix' turn on interval expressions. | 
|---|
| 6312 | Gawk now matches its documentation. (What a concept!) | 
|---|
| 6313 |  | 
|---|
| 6314 | Wed Jul  3 15:02:48 1996  Arnold D. Robbins  <arnold@infographix.com> | 
|---|
| 6315 |  | 
|---|
| 6316 | * regex.h, regex.c: upgraded to changes from Emacs 19.31. | 
|---|
| 6317 |  | 
|---|
| 6318 | Fri May 17 08:46:07 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6319 |  | 
|---|
| 6320 | * io.c (get_a_record): added `continued' flag. Fix from | 
|---|
| 6321 | Darrell Hankerson for when RS = "\n|something". | 
|---|
| 6322 |  | 
|---|
| 6323 | Wed May 15 02:34:55 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6324 |  | 
|---|
| 6325 | * Makefile.in (awklib/all): now depends on gawk, fixes problem | 
|---|
| 6326 | with parallel make. | 
|---|
| 6327 |  | 
|---|
| 6328 | Tue May 14 15:02:52 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6329 |  | 
|---|
| 6330 | * builtin.c (format_tree): fix handling of '*' to deal with | 
|---|
| 6331 | negative value for fieldwidth -- make positive and turn on | 
|---|
| 6332 | left justify. Per bug report from Michael Brennan. | 
|---|
| 6333 |  | 
|---|
| 6334 | Sun May 12 20:42:06 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6335 |  | 
|---|
| 6336 | * eval.c (r_get_lhs): case Node_subscript. Check if array name | 
|---|
| 6337 | is actually a function, fatal error if so. | 
|---|
| 6338 |  | 
|---|
| 6339 | Sun May  5 10:11:52 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6340 |  | 
|---|
| 6341 | * io.c (redirect): call flush_io() before creating a new output pipe, | 
|---|
| 6342 | per bug report from Brian Kernighan (bwk@research.bell-labs.com). | 
|---|
| 6343 |  | 
|---|
| 6344 | Fri Mar 15 06:38:33 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6345 |  | 
|---|
| 6346 | * Makefile.in (install): use $(INSTALL_PROGRAM), not $(INSTALL). | 
|---|
| 6347 | (local-distclean): add `*~' to list of files to be removed. | 
|---|
| 6348 | (CFLAGS): now contains just @CFLAGS@. | 
|---|
| 6349 | (COMPFLAGS): replaces use of CFLAGS, has CFLAGS plus all the | 
|---|
| 6350 | other stuff. | 
|---|
| 6351 |  | 
|---|
| 6352 | Wed Mar 13 14:19:38 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6353 |  | 
|---|
| 6354 | * io.c (mmap_get_record): fixed to not place sentinel at end | 
|---|
| 6355 | of mmap'ed object. Won't work if file is exact multiple of | 
|---|
| 6356 | disk block size. See comments in code for more info. | 
|---|
| 6357 | Thanks to Rick Adams (rick@uunet.uu.net) for help in testing. | 
|---|
| 6358 |  | 
|---|
| 6359 | Sun Mar 10 22:50:23 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6360 |  | 
|---|
| 6361 | * io.c (do_close): notice if we were called as `close(FILENAME)' | 
|---|
| 6362 | and arrange to close the current input file. This turns out | 
|---|
| 6363 | to be easy to do, just call `nextfile(TRUE)'. Based on bug report | 
|---|
| 6364 | from Pascal A. Dupuis, <dupuis@lei.ucl.ac.be>. | 
|---|
| 6365 |  | 
|---|
| 6366 | Thu Mar  7 08:08:51 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6367 |  | 
|---|
| 6368 | * field.c (init_fields, grow_fields, set_field, rebuild_record): | 
|---|
| 6369 | Nuke the `nodes' array everywhere.  Anytime a field is unref'ed, | 
|---|
| 6370 | allocate a new node that is a copy of Nnull_string. This avoids | 
|---|
| 6371 | subtle memory management problems when doing a lot of assignment | 
|---|
| 6372 | to fields, and tweaking of NF. Make sure that fields_arr[0] always | 
|---|
| 6373 | has a type of Node_val! | 
|---|
| 6374 | * field.c (set_NF): If NF is decremented, clear fields between | 
|---|
| 6375 | NF and parse_high_water, otherwise if NF incremented, clear | 
|---|
| 6376 | fields between parse_high_water and NF. | 
|---|
| 6377 | * eval.c (nodetype2str): new function, used for diagnostics. | 
|---|
| 6378 | eval.c (interpret): use nodetype2str when finding invalid node. | 
|---|
| 6379 |  | 
|---|
| 6380 | Mon Mar  4 09:02:28 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6381 |  | 
|---|
| 6382 | * builtin.c (do_toupper, do_tolower): use isascii along with | 
|---|
| 6383 | isupper/islower before changing case, in case characters have | 
|---|
| 6384 | the high bit set. This is a hack. | 
|---|
| 6385 |  | 
|---|
| 6386 | Mon Feb 26 22:24:44 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6387 |  | 
|---|
| 6388 | * builtin.c (sub_common): if no match, and called from gensub, | 
|---|
| 6389 | don't free the temporary string, since the tmp_number then | 
|---|
| 6390 | writes over it. | 
|---|
| 6391 |  | 
|---|
| 6392 | Sun Feb 25 23:13:01 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6393 |  | 
|---|
| 6394 | * builtin.c (format_tree): fixed %c to treat user input as | 
|---|
| 6395 | numeric also by adding test for MAYBE_NUM. | 
|---|
| 6396 |  | 
|---|
| 6397 | Tue Feb 20 12:25:50 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6398 |  | 
|---|
| 6399 | * configure.in: Added AC_FUNC_MMAP call and add madvise to | 
|---|
| 6400 | list of functions to look for. | 
|---|
| 6401 | * awk.h [IOP_ISMAPPED]: new flag value for mmap support and new | 
|---|
| 6402 | `getrec' structure member in struct iobuf. | 
|---|
| 6403 | * io.c (iop_alloc, iop_close): changed to map/unmap input file | 
|---|
| 6404 | into memory if possible. | 
|---|
| 6405 | (mmap_get_record): new function to actually retrieve the | 
|---|
| 6406 | record from mmaped file. | 
|---|
| 6407 |  | 
|---|
| 6408 | Thu Feb  1 08:56:46 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6409 |  | 
|---|
| 6410 | * builtin.c (do_substr): fixed lint message to use indx+1 when | 
|---|
| 6411 | start position is past end of string. | 
|---|
| 6412 |  | 
|---|
| 6413 | Sun Jan 28 07:00:56 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6414 |  | 
|---|
| 6415 | * builtin.c (do_substr): rationalized handling of missing length | 
|---|
| 6416 | argument, as well as various accompanying lint warnings. Previous | 
|---|
| 6417 | code was slightly bogus. Talk about your Day 1 bugs. | 
|---|
| 6418 |  | 
|---|
| 6419 | Thu Jan 25 14:09:11 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6420 |  | 
|---|
| 6421 | * builtin.c (do_substr): if length exceeds length of actual | 
|---|
| 6422 | string, do computation of needed substring length *after* | 
|---|
| 6423 | the lint warning. | 
|---|
| 6424 |  | 
|---|
| 6425 | Wed Jan 24 10:06:16 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6426 |  | 
|---|
| 6427 | * Makefile.in (gawk): Add $(CFLAGS) to link line. | 
|---|
| 6428 | (Makefile): target depends on the Makefile.in files. | 
|---|
| 6429 | (OTHERS): Added TAGS and tags to the distribution. | 
|---|
| 6430 | (local-distclean): New rule. | 
|---|
| 6431 | (distclean): Use it. | 
|---|
| 6432 | (maintainer-clean): Don't `make distclean' before running submakes, | 
|---|
| 6433 | since that removes makefiles needed for the submakes. | 
|---|
| 6434 | * builtin.c (do_strftime): Remove hard coded limit on length of result. | 
|---|
| 6435 | Based on code from Paul Eggert (eggert@twinsun.com). | 
|---|
| 6436 |  | 
|---|
| 6437 | Mon Jan 22 13:16:37 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6438 |  | 
|---|
| 6439 | * main.c (usage): takes new fp parameter which is either | 
|---|
| 6440 | stdout for `--help' (per the GNU Coding Standards) or stderr | 
|---|
| 6441 | if an error occurs. Fix all calls. | 
|---|
| 6442 | (version): prints to stdout per the coding stds. | 
|---|
| 6443 | (copyleft): prints to stdout now, not stderr, and exits. | 
|---|
| 6444 |  | 
|---|
| 6445 | Fri Jan 19 08:10:29 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6446 |  | 
|---|
| 6447 | * regex.h [RE_GNU_AWK]: added RE_CONTEXT_INDEP_OPS to set of | 
|---|
| 6448 | bits we turn off for regular operation. Breaks things like | 
|---|
| 6449 | /^+[0-9]+/ to match a literal `+' at the beginning of, say, | 
|---|
| 6450 | a phone number. | 
|---|
| 6451 |  | 
|---|
| 6452 | Wed Jan 10 23:19:36 1996  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6453 |  | 
|---|
| 6454 | * 3.0.0 polished up and release tar file made. | 
|---|
| 6455 |  | 
|---|
| 6456 | Wed Dec 27 11:46:16 1995  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6457 |  | 
|---|
| 6458 | * 2.94.0 released to porting group (no, I haven't been good | 
|---|
| 6459 | about this file; I'll do better once 3.0 is released). | 
|---|
| 6460 |  | 
|---|
| 6461 | Mon Aug 28 23:04:30 1995  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6462 |  | 
|---|
| 6463 | * awk.h updated for NeXT - bracket TRUE/FALSE | 
|---|
| 6464 | * io.c (get_a_record): removed shadowing of 'start' in | 
|---|
| 6465 | * Makefile.in and doc/Makefile.in: fixed to use gawk.1 and gawk.texi, | 
|---|
| 6466 | instead of gawk.1.in and gawk.texi.in. | 
|---|
| 6467 |  | 
|---|
| 6468 | Mon Aug 25 11:04:30 1995  Arnold D. Robbins  <arnold@skeeve.atl.ga.us> | 
|---|
| 6469 |  | 
|---|
| 6470 | * 2.90.0 released to porting group. | 
|---|
| 6471 |  | 
|---|
| 6472 | Fri Aug 18 12:43:31 1995  Arnold D. Robbins  <arnold@puny.ssc.com> | 
|---|
| 6473 |  | 
|---|
| 6474 | * ChangeLog created. | 
|---|