
GNU Awk 5.0 - Aissen
http://lists.gnu.org/archive/html/info-gnu/2019-04/msg00002.html
======
stevekemp
In 2016 I fuzzed awk and found a bunch of segfaults. Sadly it seems still not
fixed:

    
    
          $ ./bin/gawk -V | head -n 1
          GNU Awk 5.0.0, API: 2.0
    
          $ ./bin/gawk 'for (i = ) in steve kemp rocks'
          gawk: cmd. line:1: for (i = ) in steve kemp rocks
          gawk: cmd. line:1: ^ syntax error
          gawk: cmd. line:1: for (i = ) in steve kemp rocks
          gawk: cmd. line:1:          ^ syntax error
          gawk: cmd. line:1: fatal error: internal error
          Aborted (core dumped)
    

I'll have to forward bugs from the Debian-tracker to the maintainers directly
I guess.

~~~
zerr
Did you try to contact directly Alfred, Peter or Brian? :)

~~~
stevekemp
I reported to the Debian bug-tracker where I assumed it would either be
forwarded upstream, or be searched by the project authors:

[https://bugs.debian.org/816277](https://bugs.debian.org/816277)

I appreciate that most of the time reporting directly is the right thing to
do, but often there is a good relationship between packager and developer and
things flow well in both directions.

I guess I should make sure I chase old reports and reroute if they seem to be
orphaned/ignored/overlooked.

~~~
alexhutcheson
From [https://www.gnu.org/software/gawk/](https://www.gnu.org/software/gawk/):
"Bug reports and feature suggestions for gawk should be sent to bug-
gawk@gnu.org."

Maybe try sending an email? I agree that reporting to the Debian packager
often works, but in this case it's possible they just have too many things to
triage appropriately.

~~~
stevekemp
Dropped a mail there now, thanks.

Edit: Too late I see it was already reported before the release and apparently
wasn't regarded as significant:

[http://lists.gnu.org/archive/html/bug-
gawk/2019-04/msg00015....](http://lists.gnu.org/archive/html/bug-
gawk/2019-04/msg00015.html)

I guess that means no fix.

------
jph
Congratulations and thank you! Namespaces are a big help for me personally.

From the GNU Awk 5 manual: A qualified name consists of a two simple
identifiers joined by a double colon (::). The left-hand identifier represents
the namespace and the right-hand identifier is the variable within it.

Namespaces are a big help for writing libraries, especially for clients with
systems (e.g. banking, government, education, medical) where awk code is fine
yet other kinds of languages (e.g. python, go, perl) are not available and/or
require management audit practices.

~~~
koolba
Why would awk not require audit and code management practices vs those other
languages in a controlled environment?

~~~
ivanbakel
I took it to mean that getting support for those languages would require
management audit practices i.e. "why are we installing a new package on all of
our servers?". In that case, awk would be better since the gnutils are much
more likely to already be installed and in use. The resulting awk code would
still probably fall under code management.

~~~
aries1980
Go, you mentioned, does not require package to be installed. It compiles to a
single, native binary.

~~~
whatshisface
If the place you worked at was backwards enough you may not be able to install
a Go compiler on your desktop. Anything is possible when the people making the
rules are disconnected enough from the people getting the work done.

~~~
4thaccount
This. If I want anything installed it requires survey from IT and Legal and
can take months.

If it is Java or C# and already in-use, it is pretty simple. If I wanted to
install a Go compiler, it could get complicated. Not having Admin rights
really slows down an organization. Especially if you're someone who likes to
use multiple technologies (right tool for the right job). IT hates that. Note
that I don't write production tools, just things to get my job done quicker
(automation scripts, data analysis...etc).

~~~
gcb0
always assumed all those organizations stayed in the 90s

not figuratively

------
fs111
I remember the days when I was working in a data company and one of the
product check tools was a 2000 line GNU awk script with some korn shell in the
mix. It was both scary and awesome at the same time..

------
nrclark
I wonder if the new namespaces functionality will break compatibility for
users. I guess I always assumed gawk was feature-complete, or at least a
mature enough tool that I wouldn't expect compatibility breaks.

    
    
        11. Namespaces have been implemented! See the manual.  One consequence of this
            is that files included with -i, read with -f, and command line program
            segments must all be self-contained syntactic units. E.g., you can no
            longer do something like this:
        
                gawk -e 'BEGIN {' -e 'print "hello" }'

------
charlesdaniels
It's not entirely clear, but I believe that some of these changes, namely
namespacing, may impact compatibility with POSIX awk[1] (as shipped on BSD,
macOS, etc. al.). Historically, GNU awk has been a strict superset of
"standard" awk. I for one am concerned that this may impact portability of awk
based scripts between platforms using gawk and other implementations.

It could be that I have missed a detail and this isn't really the case; I also
certainly don't want to discourage progress, but there is something to be said
for being able to write an awk program once and be confident it will work on
any POSIX-ish system, rather than only those with a GNU userland.

1 -
[http://pubs.opengroup.org/onlinepubs/9699919799.2018edition/](http://pubs.opengroup.org/onlinepubs/9699919799.2018edition/)

------
microtherion
Amazing how long gawk has been around, and still with the same maintainers.

My port of gawk to MacOS in 1990/91 was my first active involvement in open
source. I was rather crushed when told that my patches would not get accepted,
because RMS at the time had a Fatwa against accepting MacOS code in GNU
projects, and, though the gawk maintainers were quite civil about it, it was
clear that they would not go against RMS' wishes.

Shortly afterward I discovered perl, so I never did all that much awk, and
when a few years ago, I decided a 5 line awk script was the most elegant way
to solve a configuration problem, my coworkers vetoed the plan.

------
dontbenebby
Does anyone know a good awk tutorial or book?

I kind of skipped over it in my journey into the world of Unix... I usually
either (bash shell scripting, tools like cut and grep + pipes and redirection)
or use python.

~~~
brians
[https://news.ycombinator.com/item?id=13451454](https://news.ycombinator.com/item?id=13451454)

The Aho and Kernighan book is amazing.

~~~
noufalibrahim
I have a rule of thumb that I'll buy and read any book which Kernighan is an
author of regardless of subject. He's more or less the gold standard of
technical writing for me.

------
tyingq
Assuming the syntax is $name::spaces it could look like Awk borrowed something
from Perl, which is a funny full circle.

------
aquamo
Congrats! Long live {,g}awk !

------
purplezooey
_Differences from gawk 4.2.1 are not available; they would be too large._

That's my kind of changelog. I, too like to live dangerously.

------
rhabarba
> Bug reports should be sent to address@hidden

Will do.

------
indeyets
Release notes are a bit weird. It's like an author is shy of actual major
changes: NAMESPACES and hides them behind mentions of c99 compliance and test
infrastructure :-/

~~~
fredsanford
Arnold Robbins is a busy dude. He maintains awk, bash, gnu grep and several
other must have packages.

A _little_ slack would be nice.

~~~
BlackFingolfin
Actually, Chet Ramey maintains GNU Bash, and Jim Meyering maintains GNU Grep.
As far as I can tell, Arnold Robbins "just" maintains GNU awk. Don't get me
wrong, I don't want to trivialize this at all, just correct the record.

~~~
geofft
Also, if one person really did maintain all those things and was overworked,
my reaction wouldn't be "Wow, you do so much!" but "Why haven't you found
other people to help out so you're not overworked?" All this software is too
important to be left to people who don't have time for them.

~~~
srean
> "Why haven't you found other people to help out so you're not overworked?"

Sadly it does not rain maintainers everywhere, especially when the role does
not pay.

