Releases: benhoyt/goawk
Version 1.3.0
Add support for delete array (with no index). Fix bug with handling of (s)printf format string with three %'s in a row.
Version 1.2.1
Make a[x] array access set the element if not present (per POSIX spec). This seems unintuitive to me, but it's very clear in the spec, and awk/gawk/mawk all do this.
Version 1.2.0
Fix a number of issues found by running (most of) the gawk test suite.
There are still a number of skipped GAWK tests (work to do), and some of GoAWK's behavior doesn't and won't ever match GAWK's 100%. I've gone for the POSIX behavior in most cases.
The full list of changes to GoAWK is:
- Support additional POSIX escape sequences in string literals:
\a \b \f \v \xhh (hex) \ooo (octal) - Fix close() to allow reopening a file after it's been closed
- Make sub/gsub backslash handling per POSIX
- Fix bug in RS="" handling:
- when input is just newlines
- when there are newlines at the start of the last record
- Add support for ' ' (space) printf flag
- Add parser/resolver errors for:
- can't use function name as a parameter
- global var %q can't also be a function
- can't call local variable %q as function
- duplicate parameter name %q
- Treat FS of a single backslash as regex
\\(as other AWKs do)
Version 1.1.5
Fix scope issue when calling user function with global var
Version 1.1.4
Only split into fields when fields or NF are accessed. This speeds up scripts that only access the line ($0) and not individual fields.
Version 1.1.3
Version 1.1.2
Eliminate numChecked and a couple of other speedups / simplifications.
Version 1.1.1
A couple of performance improvements related to value handling and numeric strings.
Version 1.1.0
Added support for calling native Go functions from AWK. See documentation of the Funcs field here: https://godoc.org/github.com/benhoyt/goawk/interp#Config
Version 1.0.1
Ensure printf has one or more args at parse time. Add some unit tests to get more coverage.