manpagez: man pages & more
info gawk
Home | html | info | man

File: gawk.info,  Node: Bug definition,  Next: Bug address,  Up: Bugs

B.4.1 Defining What Is and What Is Not A Bug
--------------------------------------------

Before talking about reporting bugs, let's define what is a bug, and
what is not.

   A bug is:

   * When 'gawk' behaves differently from what's described in the POSIX
     standard, and that difference is not mentioned in this Info file as
     being done on purpose.

   * When 'gawk' behaves differently from what's described in this Info
     file.

   * When 'gawk' behaves differently from other 'awk' implementations in
     particular circumstances, and that behavior cannot be attributed to
     an additional feature in 'gawk'.

   * Something that is obviously wrong, such as a core dump.

   * When this Info file is unclear or ambiguous about a particular
     feature's behavior.

   The following things are _not_ bugs, and should not be reported to
the bug mailing list.  You can ask about them on the "help" mailing list
(*note Asking for help::), but don't be surprised if you get an answer
of the form "that's how 'gawk' behaves and it isn't going to change."
Here's the list:

   * Missing features, for any definition of "feature".  For example,
     additional built-in arithmetic functions, or additional ways to
     split fields or records, or anything else.

     The number of features that 'gawk' does _not_ have is by definition
     infinite.  It cannot be all things to all people.  In short, just
     because 'gawk' doesn't do what _you_ think it should, it's not
     necessarily a bug.

   * Behaviors that are defined by the POSIX standard and/or for
     historical compatibility with Unix 'awk'.  Even if you happen to
     dislike those behaviors, they're not going to change: changing them
     would break millions of existing 'awk' programs.

   * Behaviors that differ from how it's done in other languages.  'awk'
     and 'gawk' stand on their own and do not have to follow the crowd.
     This is particularly true when the requested behavior change would
     break backwards compatibility.

     This applies also to differences in behavior between 'gawk' and
     other language compilers and interpreters, such as wishes for more
     detailed descriptions of what the problem is when a syntax error is
     encountered.

   * Documentation issues of the form "the manual doesn't tell me how to
     do XYZ." The manual is not a cookbook to solve every little problem
     you may have.  Its purpose is to teach you how to solve your
     problems on your own.

   * General questions and discussion about 'awk' programming or why
     'gawk' behaves the way it does.  For that use the "help" mailing
     list: see *note Asking for help::.

   For more information, see 'Fork My Code, Please!--An Open Letter To
Those of You Who Are Unhappy' (http://www.skeeve.com/fork-my-code.html),
by Arnold Robbins and Chet Ramey.

                         A Note About Fuzzers

   In recent years, people have been running "fuzzers" to generate
invalid 'awk' programs in order to find and report (so-called) bugs in
'gawk'.

   In general, such reports are not of much practical use.  The programs
they create are not realistic and the bugs found are generally from some
kind of memory corruption that is fatal anyway.

   So, if you want to run a fuzzer against 'gawk' and report the
results, you may do so, but be aware that such reports don't carry the
same weight as reports of real bugs do.

© manpagez.com 2000-2025
Individual documents may contain additional copyright information.