[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[SCM] gawk branch, master, updated. gawk-4.1.0-5069-gc31a657a
From: |
Arnold Robbins |
Subject: |
[SCM] gawk branch, master, updated. gawk-4.1.0-5069-gc31a657a |
Date: |
Thu, 1 Dec 2022 04:49:22 -0500 (EST) |
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gawk".
The branch, master has been updated
via c31a657a33c3954e5cd903cb70d45f1ac469e2d5 (commit)
from 4c0d7caaf1b461961deba31dd2051a1a76550fe1 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://git.sv.gnu.org/cgit/gawk.git/commit/?id=c31a657a33c3954e5cd903cb70d45f1ac469e2d5
commit c31a657a33c3954e5cd903cb70d45f1ac469e2d5
Author: Arnold D. Robbins <arnold@skeeve.com>
Date: Thu Dec 1 11:48:51 2022 +0200
Nuke use of libsigsegv.
diff --git a/ChangeLog b/ChangeLog
index f0b38f0b..9c36e30f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2022-12-01 Arnold D. Robbins <arnold@skeeve.com>
+
+ * configure.ac: Removed use of libsigsegv.
+ * main.c: Removed code related to libsigsegv.
+ * NEWS: Updated.
+
2022-11-25 Arnold D. Robbins <arnold@skeeve.com>
* field.c (comma_parse_field): Remove unused variable `field'.
diff --git a/Makefile.in b/Makefile.in
index b534174b..9e0805bc 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.16.5 from Makefile.am.
+# Makefile.in generated by automake 1.16.4 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2021 Free Software Foundation, Inc.
@@ -127,11 +127,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/arch.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
$(top_srcdir)/m4/lcmessage.m4 $(top_srcdir)/m4/lib-ld.m4 \
$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
- $(top_srcdir)/m4/libsigsegv.m4 $(top_srcdir)/m4/longlong.m4 \
- $(top_srcdir)/m4/mpfr.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/noreturn.m4 $(top_srcdir)/m4/pma.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/m4/readline.m4 $(top_srcdir)/m4/socket.m4 \
+ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/mpfr.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/noreturn.m4 \
+ $(top_srcdir)/m4/pma.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/readline.m4 \
+ $(top_srcdir)/m4/socket.m4 \
$(top_srcdir)/m4/triplet-transformation.m4 \
$(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
@@ -161,8 +161,7 @@ gawk_LDADD = $(LDADD)
am__DEPENDENCIES_1 =
gawk_DEPENDENCIES = support/libsupport.a $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
- $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
- $(am__DEPENDENCIES_1)
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
@@ -372,7 +371,6 @@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
-HAVE_LIBSIGSEGV = @HAVE_LIBSIGSEGV@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
@@ -387,13 +385,10 @@ LIBMPFR = @LIBMPFR@
LIBOBJS = @LIBOBJS@
LIBREADLINE = @LIBREADLINE@
LIBS = @LIBS@
-LIBSIGSEGV = @LIBSIGSEGV@
-LIBSIGSEGV_PREFIX = @LIBSIGSEGV_PREFIX@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
-LTLIBSIGSEGV = @LTLIBSIGSEGV@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
MSGFMT = @MSGFMT@
diff --git a/NEWS b/NEWS
index 146d20a3..d6dfb1fb 100644
--- a/NEWS
+++ b/NEWS
@@ -7,12 +7,16 @@
Changes from 5.2.1 to 5.3.0
---------------------------
-1. In keeping with new features in BWK awk, gawk now has built-in
+1. Infrastructure changes: Removed the use of libsigsegv. The
+ value-add was never very much and it causes problems in some
+ environments.
+
+2. In keeping with new features in BWK awk, gawk now has built-in
CSV file parsing. The behavior is intended to be identical to
that of the "One True AWK", when FS = "," is applied. See the
manual for details.
-2. PROCINFO gained two new elements: PROCINFO["mb_cur_max"] and
+3. PROCINFO gained two new elements: PROCINFO["mb_cur_max"] and
PROCINFO["utf8"]. See the manual for details.
Changes from 5.2.0 to 5.2.1
diff --git a/aclocal.m4 b/aclocal.m4
index 986c2a5a..2a55813b 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,4 +1,4 @@
-# generated automatically by aclocal 1.16.5 -*- Autoconf -*-
+# generated automatically by aclocal 1.16.4 -*- Autoconf -*-
# Copyright (C) 1996-2021 Free Software Foundation, Inc.
@@ -35,7 +35,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
[am__api_version='1.16'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.16.5], [],
+m4_if([$1], [1.16.4], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -51,7 +51,7 @@ m4_define([_AM_AUTOCONF_VERSION], [])
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.16.5])dnl
+[AM_AUTOMAKE_VERSION([1.16.4])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
@@ -488,10 +488,6 @@ m4_defn([AC_PROG_CC])
# release and drop the old call support.
AC_DEFUN([AM_INIT_AUTOMAKE],
[AC_PREREQ([2.65])dnl
-m4_ifdef([_$0_ALREADY_INIT],
- [m4_fatal([$0 expanded multiple times
-]m4_defn([_$0_ALREADY_INIT]))],
- [m4_define([_$0_ALREADY_INIT], m4_expansion_stack)])dnl
dnl Autoconf wants to disallow AM_ names. We explicitly allow
dnl the ones we care about.
m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
@@ -1220,7 +1216,6 @@ m4_include([m4/lcmessage.m4])
m4_include([m4/lib-ld.m4])
m4_include([m4/lib-link.m4])
m4_include([m4/lib-prefix.m4])
-m4_include([m4/libsigsegv.m4])
m4_include([m4/longlong.m4])
m4_include([m4/mpfr.m4])
m4_include([m4/nls.m4])
diff --git a/awklib/Makefile.in b/awklib/Makefile.in
index b66748b5..2d3d2673 100644
--- a/awklib/Makefile.in
+++ b/awklib/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.16.5 from Makefile.am.
+# Makefile.in generated by automake 1.16.4 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2021 Free Software Foundation, Inc.
@@ -119,11 +119,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/arch.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
$(top_srcdir)/m4/lcmessage.m4 $(top_srcdir)/m4/lib-ld.m4 \
$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
- $(top_srcdir)/m4/libsigsegv.m4 $(top_srcdir)/m4/longlong.m4 \
- $(top_srcdir)/m4/mpfr.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/noreturn.m4 $(top_srcdir)/m4/pma.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/m4/readline.m4 $(top_srcdir)/m4/socket.m4 \
+ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/mpfr.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/noreturn.m4 \
+ $(top_srcdir)/m4/pma.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/readline.m4 \
+ $(top_srcdir)/m4/socket.m4 \
$(top_srcdir)/m4/triplet-transformation.m4 \
$(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
@@ -228,7 +228,6 @@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
-HAVE_LIBSIGSEGV = @HAVE_LIBSIGSEGV@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
@@ -243,13 +242,10 @@ LIBMPFR = @LIBMPFR@
LIBOBJS = @LIBOBJS@
LIBREADLINE = @LIBREADLINE@
LIBS = @LIBS@
-LIBSIGSEGV = @LIBSIGSEGV@
-LIBSIGSEGV_PREFIX = @LIBSIGSEGV_PREFIX@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
-LTLIBSIGSEGV = @LTLIBSIGSEGV@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
MSGFMT = @MSGFMT@
diff --git a/configh.in b/configh.in
index e82ae154..c7ac128e 100644
--- a/configh.in
+++ b/configh.in
@@ -114,9 +114,6 @@
/* Define to 1 if you have a fully functional readline library. */
#undef HAVE_LIBREADLINE
-/* Define if you have the libsigsegv library. */
-#undef HAVE_LIBSIGSEGV
-
/* Define to 1 if you have the <locale.h> header file. */
#undef HAVE_LOCALE_H
diff --git a/configure b/configure
index 6810bc78..0d28f16a 100755
--- a/configure
+++ b/configure
@@ -663,10 +663,6 @@ ENABLE_EXTENSIONS_FALSE
ENABLE_EXTENSIONS_TRUE
USE_PERSISTENT_MALLOC_FALSE
USE_PERSISTENT_MALLOC_TRUE
-LIBSIGSEGV_PREFIX
-LTLIBSIGSEGV
-LIBSIGSEGV
-HAVE_LIBSIGSEGV
LIBOBJS
TEST_CROSS_COMPILE_FALSE
TEST_CROSS_COMPILE_TRUE
@@ -810,7 +806,6 @@ with_gnu_ld
enable_rpath
with_libiconv_prefix
with_libintl_prefix
-with_libsigsegv_prefix
enable_extensions
with_readline
with_mpfr
@@ -1480,8 +1475,6 @@ Optional Packages:
--without-libiconv-prefix don't search for libiconv in includedir and
libdir
--with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib
--without-libintl-prefix don't search for libintl in includedir and
libdir
- --with-libsigsegv-prefix[=DIR] search for libsigsegv in DIR/include and
DIR/lib
- --without-libsigsegv-prefix don't search for libsigsegv in includedir
and libdir
--with-readline=DIR look for the readline library in DIR
--with-mpfr=DIR look for the mpfr and gmp libraries in DIR
@@ -11577,589 +11570,6 @@ then :
fi
-case $host_os in
-osf1) : ;;
-*)
-
-
-
-
-
-
-
-
-
-
-
-
-
- use_additional=yes
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
-
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
- eval additional_libdir2=\"$exec_prefix/$acl_libdirstem2\"
- eval additional_libdir3=\"$exec_prefix/$acl_libdirstem3\"
-
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
-
-# Check whether --with-libsigsegv-prefix was given.
-if test ${with_libsigsegv_prefix+y}
-then :
- withval=$with_libsigsegv_prefix;
- if test "X$withval" = "Xno"; then
- use_additional=no
- else
- if test "X$withval" = "X"; then
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
-
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
- eval additional_libdir2=\"$exec_prefix/$acl_libdirstem2\"
- eval additional_libdir3=\"$exec_prefix/$acl_libdirstem3\"
-
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- else
- additional_includedir="$withval/include"
- additional_libdir="$withval/$acl_libdirstem"
- additional_libdir2="$withval/$acl_libdirstem2"
- additional_libdir3="$withval/$acl_libdirstem3"
- fi
- fi
-
-fi
-
- if test "X$additional_libdir2" = "X$additional_libdir"; then
- additional_libdir2=
- fi
- if test "X$additional_libdir3" = "X$additional_libdir"; then
- additional_libdir3=
- fi
- LIBSIGSEGV=
- LTLIBSIGSEGV=
- INCSIGSEGV=
- LIBSIGSEGV_PREFIX=
- HAVE_LIBSIGSEGV=
- rpathdirs=
- ltrpathdirs=
- names_already_handled=
- names_next_round='sigsegv '
- while test -n "$names_next_round"; do
- names_this_round="$names_next_round"
- names_next_round=
- for name in $names_this_round; do
- already_handled=
- for n in $names_already_handled; do
- if test "$n" = "$name"; then
- already_handled=yes
- break
- fi
- done
- if test -z "$already_handled"; then
- names_already_handled="$names_already_handled $name"
- uppername=`echo "$name" | sed -e
'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'`
- eval value=\"\$HAVE_LIB$uppername\"
- if test -n "$value"; then
- if test "$value" = yes; then
- eval value=\"\$LIB$uppername\"
- test -z "$value" || LIBSIGSEGV="${LIBSIGSEGV}${LIBSIGSEGV:+
}$value"
- eval value=\"\$LTLIB$uppername\"
- test -z "$value" || LTLIBSIGSEGV="${LTLIBSIGSEGV}${LTLIBSIGSEGV:+
}$value"
- else
- :
- fi
- else
- found_dir=
- found_la=
- found_so=
- found_a=
- eval libname=\"$acl_libname_spec\" # typically: libname=lib$name
- if test -n "$acl_shlibext"; then
- shrext=".$acl_shlibext" # typically: shrext=.so
- else
- shrext=
- fi
- if test $use_additional = yes; then
- for additional_libdir_variable in additional_libdir
additional_libdir2 additional_libdir3; do
- if test "X$found_dir" = "X"; then
- eval dir=\$$additional_libdir_variable
- if test -n "$dir"; then
- if test -n
"$acl_shlibext"; then
- if test -f "$dir/$libname$shrext" &&
acl_is_expected_elfclass < "$dir/$libname$shrext"; then
- found_dir="$dir"
- found_so="$dir/$libname$shrext"
- else
- if test "$acl_library_names_spec" =
'$libname$shrext$versuffix'; then
- ver=`(cd "$dir" && \
- for f in "$libname$shrext".*; do echo "$f"; done
\
- | sed -e "s,^$libname$shrext\\\\.,," \
- | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4
-k5,5 \
- | sed 1q ) 2>/dev/null`
- if test -n "$ver" && test -f
"$dir/$libname$shrext.$ver" && acl_is_expected_elfclass <
"$dir/$libname$shrext.$ver"; then
- found_dir="$dir"
- found_so="$dir/$libname$shrext.$ver"
- fi
- else
- eval library_names=\"$acl_library_names_spec\"
- for f in $library_names; do
- if test -f "$dir/$f" && acl_is_expected_elfclass <
"$dir/$f"; then
- found_dir="$dir"
- found_so="$dir/$f"
- break
- fi
- done
- fi
- fi
- fi
- if test "X$found_dir" = "X"; then
- if test -f "$dir/$libname.$acl_libext" && ${AR-ar} -p
"$dir/$libname.$acl_libext" | acl_is_expected_elfclass; then
- found_dir="$dir"
- found_a="$dir/$libname.$acl_libext"
- fi
- fi
- if test "X$found_dir" != "X"; then
- if test -f "$dir/$libname.la"; then
- found_la="$dir/$libname.la"
- fi
- fi
- fi
- fi
- done
- fi
- if test "X$found_dir" = "X"; then
- for x in $LDFLAGS $LTLIBSIGSEGV; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- case "$x" in
- -L*)
- dir=`echo "X$x" | sed -e 's/^X-L//'`
- if test -n "$acl_shlibext"; then
- if test -f "$dir/$libname$shrext" &&
acl_is_expected_elfclass < "$dir/$libname$shrext"; then
- found_dir="$dir"
- found_so="$dir/$libname$shrext"
- else
- if test "$acl_library_names_spec" =
'$libname$shrext$versuffix'; then
- ver=`(cd "$dir" && \
- for f in "$libname$shrext".*; do echo "$f"; done
\
- | sed -e "s,^$libname$shrext\\\\.,," \
- | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4
-k5,5 \
- | sed 1q ) 2>/dev/null`
- if test -n "$ver" && test -f
"$dir/$libname$shrext.$ver" && acl_is_expected_elfclass <
"$dir/$libname$shrext.$ver"; then
- found_dir="$dir"
- found_so="$dir/$libname$shrext.$ver"
- fi
- else
- eval library_names=\"$acl_library_names_spec\"
- for f in $library_names; do
- if test -f "$dir/$f" && acl_is_expected_elfclass <
"$dir/$f"; then
- found_dir="$dir"
- found_so="$dir/$f"
- break
- fi
- done
- fi
- fi
- fi
- if test "X$found_dir" = "X"; then
- if test -f "$dir/$libname.$acl_libext" && ${AR-ar} -p
"$dir/$libname.$acl_libext" | acl_is_expected_elfclass; then
- found_dir="$dir"
- found_a="$dir/$libname.$acl_libext"
- fi
- fi
- if test "X$found_dir" != "X"; then
- if test -f "$dir/$libname.la"; then
- found_la="$dir/$libname.la"
- fi
- fi
- ;;
- esac
- if test "X$found_dir" != "X"; then
- break
- fi
- done
- fi
- if test "X$found_dir" != "X"; then
- LTLIBSIGSEGV="${LTLIBSIGSEGV}${LTLIBSIGSEGV:+
}-L$found_dir -l$name"
- if test "X$found_so" != "X"; then
- if test
"$enable_rpath" = no \
- || test "X$found_dir" = "X/usr/$acl_libdirstem" \
- || test "X$found_dir" = "X/usr/$acl_libdirstem2" \
- || test "X$found_dir" = "X/usr/$acl_libdirstem3"; then
- LIBSIGSEGV="${LIBSIGSEGV}${LIBSIGSEGV:+
}$found_so"
- else
-
haveit=
- for x in $ltrpathdirs; do
- if test "X$x" = "X$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- ltrpathdirs="$ltrpathdirs $found_dir"
- fi
- if test "$acl_hardcode_direct" = yes; then
-
LIBSIGSEGV="${LIBSIGSEGV}${LIBSIGSEGV:+ }$found_so"
- else
- if test -n "$acl_hardcode_libdir_flag_spec" && test
"$acl_hardcode_minus_L" = no; then
-
LIBSIGSEGV="${LIBSIGSEGV}${LIBSIGSEGV:+ }$found_so"
- haveit=
- for x in $rpathdirs; do
- if test "X$x" = "X$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- rpathdirs="$rpathdirs $found_dir"
- fi
- else
-
haveit=
- for x in $LDFLAGS $LIBSIGSEGV; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- if test "X$x" = "X-L$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- LIBSIGSEGV="${LIBSIGSEGV}${LIBSIGSEGV:+ }-L$found_dir"
- fi
- if test "$acl_hardcode_minus_L" != no; then
-
LIBSIGSEGV="${LIBSIGSEGV}${LIBSIGSEGV:+ }$found_so"
- else
-
LIBSIGSEGV="${LIBSIGSEGV}${LIBSIGSEGV:+ }-l$name"
- fi
- fi
- fi
- fi
- else
- if test "X$found_a" != "X"; then
- LIBSIGSEGV="${LIBSIGSEGV}${LIBSIGSEGV:+
}$found_a"
- else
-
LIBSIGSEGV="${LIBSIGSEGV}${LIBSIGSEGV:+ }-L$found_dir -l$name"
- fi
- fi
- additional_includedir=
- case "$found_dir" in
- */$acl_libdirstem | */$acl_libdirstem/)
- basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e
"s,/$acl_libdirstem/"'*$,,'`
- if test "$name" = 'sigsegv'; then
- LIBSIGSEGV_PREFIX="$basedir"
- fi
- additional_includedir="$basedir/include"
- ;;
- */$acl_libdirstem2 | */$acl_libdirstem2/)
- basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e
"s,/$acl_libdirstem2/"'*$,,'`
- if test "$name" = 'sigsegv'; then
- LIBSIGSEGV_PREFIX="$basedir"
- fi
- additional_includedir="$basedir/include"
- ;;
- */$acl_libdirstem3 | */$acl_libdirstem3/)
- basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e
"s,/$acl_libdirstem3/"'*$,,'`
- if test "$name" = 'sigsegv'; then
- LIBSIGSEGV_PREFIX="$basedir"
- fi
- additional_includedir="$basedir/include"
- ;;
- esac
- if test "X$additional_includedir" != "X"; then
-
if test "X$additional_includedir" !=
"X/usr/include"; then
- haveit=
- if test "X$additional_includedir" = "X/usr/local/include"; then
- if test -n "$GCC"; then
- case $host_os in
- linux* | gnu* | k*bsd*-gnu) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- for x in $CPPFLAGS $INCSIGSEGV; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- if test "X$x" = "X-I$additional_includedir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_includedir"; then
-
INCSIGSEGV="${INCSIGSEGV}${INCSIGSEGV:+ }-I$additional_includedir"
- fi
- fi
- fi
- fi
- fi
- if test -n "$found_la"; then
- save_libdir="$libdir"
- case "$found_la" in
- */* | *\\*) . "$found_la" ;;
- *) . "./$found_la" ;;
- esac
- libdir="$save_libdir"
- for dep in $dependency_libs; do
- case "$dep" in
- -L*)
- dependency_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
-
if test "X$dependency_libdir" != "X/usr/$acl_libdirstem" \
- && test "X$dependency_libdir" !=
"X/usr/$acl_libdirstem2" \
- && test "X$dependency_libdir" !=
"X/usr/$acl_libdirstem3"; then
- haveit=
- if test "X$dependency_libdir" =
"X/usr/local/$acl_libdirstem" \
- || test "X$dependency_libdir" =
"X/usr/local/$acl_libdirstem2" \
- || test "X$dependency_libdir" =
"X/usr/local/$acl_libdirstem3"; then
- if test -n "$GCC"; then
- case $host_os in
- linux* | gnu* | k*bsd*-gnu) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- haveit=
- for x in $LDFLAGS $LIBSIGSEGV; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- if test "X$x" = "X-L$dependency_libdir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$dependency_libdir"; then
-
LIBSIGSEGV="${LIBSIGSEGV}${LIBSIGSEGV:+ }-L$dependency_libdir"
- fi
- fi
- haveit=
- for x in $LDFLAGS $LTLIBSIGSEGV; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- if test "X$x" = "X-L$dependency_libdir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$dependency_libdir"; then
-
LTLIBSIGSEGV="${LTLIBSIGSEGV}${LTLIBSIGSEGV:+ }-L$dependency_libdir"
- fi
- fi
- fi
- fi
- ;;
- -R*)
- dir=`echo "X$dep" | sed -e 's/^X-R//'`
- if test "$enable_rpath" != no; then
- haveit=
- for x in $rpathdirs; do
- if test "X$x" = "X$dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- rpathdirs="$rpathdirs $dir"
- fi
- haveit=
- for x in $ltrpathdirs; do
- if test "X$x" = "X$dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- ltrpathdirs="$ltrpathdirs $dir"
- fi
- fi
- ;;
- -l*)
- names_next_round="$names_next_round
"`echo "X$dep" | sed -e 's/^X-l//'`
- ;;
- *.la)
-
names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e
's,^lib,,' -e 's,\.la$,,'`
- ;;
- *)
-
LIBSIGSEGV="${LIBSIGSEGV}${LIBSIGSEGV:+ }$dep"
- LTLIBSIGSEGV="${LTLIBSIGSEGV}${LTLIBSIGSEGV:+ }$dep"
- ;;
- esac
- done
- fi
- else
-
LIBSIGSEGV="${LIBSIGSEGV}${LIBSIGSEGV:+ }-l$name"
- LTLIBSIGSEGV="${LTLIBSIGSEGV}${LTLIBSIGSEGV:+ }-l$name"
- fi
- fi
- fi
- done
- done
- if test "X$rpathdirs" != "X"; then
- if test -n "$acl_hardcode_libdir_separator"; then
- alldirs=
- for found_dir in $rpathdirs; do
-
alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
- done
- acl_save_libdir="$libdir"
- libdir="$alldirs"
- eval flag=\"$acl_hardcode_libdir_flag_spec\"
- libdir="$acl_save_libdir"
- LIBSIGSEGV="${LIBSIGSEGV}${LIBSIGSEGV:+ }$flag"
- else
- for found_dir in $rpathdirs; do
- acl_save_libdir="$libdir"
- libdir="$found_dir"
- eval flag=\"$acl_hardcode_libdir_flag_spec\"
- libdir="$acl_save_libdir"
- LIBSIGSEGV="${LIBSIGSEGV}${LIBSIGSEGV:+ }$flag"
- done
- fi
- fi
- if test "X$ltrpathdirs" != "X"; then
- for found_dir in $ltrpathdirs; do
- LTLIBSIGSEGV="${LTLIBSIGSEGV}${LTLIBSIGSEGV:+ }-R$found_dir"
- done
- fi
-
-
-
-
-
-
- ac_save_CPPFLAGS="$CPPFLAGS"
-
- for element in $INCSIGSEGV; do
- haveit=
- for x in $CPPFLAGS; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- if test "X$x" = "X$element"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
- fi
- done
-
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libsigsegv" >&5
-printf %s "checking for libsigsegv... " >&6; }
-if test ${ac_cv_libsigsegv+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
-
- ac_save_LIBS="$LIBS"
- case " $LIBSIGSEGV" in
- *" -l"*) LIBS="$LIBS $LIBSIGSEGV" ;;
- *) LIBS="$LIBSIGSEGV $LIBS" ;;
- esac
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sigsegv.h>
-int
-main (void)
-{
-sigsegv_deinstall_handler();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"
-then :
- ac_cv_libsigsegv=yes
-else $as_nop
- ac_cv_libsigsegv='no, consider installing GNU libsigsegv'
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam \
- conftest$ac_exeext conftest.$ac_ext
- LIBS="$ac_save_LIBS"
-
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libsigsegv" >&5
-printf "%s\n" "$ac_cv_libsigsegv" >&6; }
- if test "$ac_cv_libsigsegv" = yes; then
- HAVE_LIBSIGSEGV=yes
-
-printf "%s\n" "#define HAVE_LIBSIGSEGV 1" >>confdefs.h
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to link with
libsigsegv" >&5
-printf %s "checking how to link with libsigsegv... " >&6; }
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LIBSIGSEGV" >&5
-printf "%s\n" "$LIBSIGSEGV" >&6; }
- else
- HAVE_LIBSIGSEGV=no
- CPPFLAGS="$ac_save_CPPFLAGS"
- LIBSIGSEGV=
- LTLIBSIGSEGV=
- LIBSIGSEGV_PREFIX=
- fi
-
-
-
-
-
-
-
- gl_cv_lib_sigsegv="$ac_cv_libsigsegv"
-
- ;;
-esac
# Need the check for mkstemp and tmpfile for missing_d/snprintf.c.
ac_fn_c_check_func "$LINENO" "__etoa_l" "ac_cv_func___etoa_l"
diff --git a/configure.ac b/configure.ac
index bea81be8..f4644f43 100644
--- a/configure.ac
+++ b/configure.ac
@@ -305,13 +305,6 @@ AC_SEARCH_LIBS(fmod, m)
AC_SEARCH_LIBS(isinf, m)
AC_SEARCH_LIBS(ismod, m)
AC_SEARCH_LIBS(isnan, m)
-dnl Don't look for libsigsegv on OSF/1, gives us severe headaches
-case $host_os in
-osf1) : ;;
-*)
- gl_LIBSIGSEGV
- ;;
-esac
# Need the check for mkstemp and tmpfile for missing_d/snprintf.c.
AC_CHECK_FUNCS(__etoa_l atexit btowc fmod fwrite_unlocked gai_strerror \
diff --git a/doc/ChangeLog b/doc/ChangeLog
index ba1ef89e..4e1533be 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,8 @@
+2022-12-01 Arnold D. Robbins <arnold@skeeve.com>
+
+ * gawktexi.in (Feature History): Document removal of use of
+ libsigsegv.
+
2022-11-17 Arnold D. Robbins <arnold@skeeve.com>
* 5.2.1: Release tar ball made.
@@ -24,7 +29,8 @@
2022-11-13 Arnold D. Robbins <arnold@skeeve.com>
* gawktexi.in (Other Versions): Add info on awkcc.
- * gawktexi.in: Document "mb_cur_max" and "utf8" elemens in PROCINFO.
+ * gawktexi.in (Feature History): Document "mb_cur_max" and "utf8"
+ elements in PROCINFO.
2022-11-12 Arnold D. Robbins <arnold@skeeve.com>
diff --git a/doc/Makefile.in b/doc/Makefile.in
index 29a9abb2..739c0f02 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.16.5 from Makefile.am.
+# Makefile.in generated by automake 1.16.4 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2021 Free Software Foundation, Inc.
@@ -121,11 +121,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/arch.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
$(top_srcdir)/m4/lcmessage.m4 $(top_srcdir)/m4/lib-ld.m4 \
$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
- $(top_srcdir)/m4/libsigsegv.m4 $(top_srcdir)/m4/longlong.m4 \
- $(top_srcdir)/m4/mpfr.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/noreturn.m4 $(top_srcdir)/m4/pma.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/m4/readline.m4 $(top_srcdir)/m4/socket.m4 \
+ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/mpfr.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/noreturn.m4 \
+ $(top_srcdir)/m4/pma.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/readline.m4 \
+ $(top_srcdir)/m4/socket.m4 \
$(top_srcdir)/m4/triplet-transformation.m4 \
$(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
@@ -260,7 +260,6 @@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
-HAVE_LIBSIGSEGV = @HAVE_LIBSIGSEGV@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
@@ -275,13 +274,10 @@ LIBMPFR = @LIBMPFR@
LIBOBJS = @LIBOBJS@
LIBREADLINE = @LIBREADLINE@
LIBS = @LIBS@
-LIBSIGSEGV = @LIBSIGSEGV@
-LIBSIGSEGV_PREFIX = @LIBSIGSEGV_PREFIX@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
-LTLIBSIGSEGV = @LTLIBSIGSEGV@
MAKEINFO = @MAKEINFO@ --no-split --force
MKDIR_P = @MKDIR_P@
MSGFMT = @MSGFMT@
diff --git a/doc/gawk.info b/doc/gawk.info
index f7715a17..317fbd23 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -1,4 +1,4 @@
-This is gawk.info, produced by makeinfo version 6.8 from gawk.texi.
+This is gawk.info, produced by makeinfo version 6.7 from gawk.texi.
Copyright (C) 1989, 1991, 1992, 1993, 1996-2005, 2007, 2009-2022
Free Software Foundation, Inc.
@@ -4094,7 +4094,6 @@ a bracket expression. Character classes consist of '[:',
a keyword
denoting the class, and ':]'. *note Table 3.1: table-char-classes.
lists the character classes defined by the POSIX standard.
-
Class Meaning
--------------------------------------------------------------------------
'[:alnum:]' Alphanumeric characters
@@ -5269,7 +5268,6 @@ by beginning and ending it with double quotes. In order
to allow a
double quote inside a double-quoted field, two double quotes are used.
*note Table 4.1: table-csv-examples. shows some examples.
-
Input Field Contents
----------------------------------------------
'abc def' 'abc def'
@@ -6496,7 +6494,6 @@ of 'getline', listing which predefined variables are set
by each one,
and whether the variant is standard or a 'gawk' extension. Note: for
each variant, 'gawk' sets the 'RT' predefined variable.
-
Variant Effect 'awk' / 'gawk'
-------------------------------------------------------------------------
'getline' Sets '$0', 'NF', 'FNR', 'awk'
@@ -7863,7 +7860,6 @@ from the system's 'close()' or 'fclose()' C functions
when closing input
or output files, respectively. This value is zero if the close
succeeds, or -1 if it fails.
-
Situation Return value from 'close()'
--------------------------------------------------------------------------
Normal exit of command Command's exit status
@@ -8680,7 +8676,6 @@ variable, as shown previously.)
the locale's decimal point character is used and when a period is used.
Some of these features have not been described yet.
-
Feature Default '--posix' or
'--use-lc-numeric'
------------------------------------------------------------
@@ -9017,7 +9012,6 @@ The value of 'a[3]' could be either two or four.
operators. In each case, the righthand operand is an expression whose
value is converted to a number.
-
Operator Effect
--------------------------------------------------------------------------
LVALUE '+=' Add INCREMENT to the value of LVALUE.
@@ -9390,7 +9384,6 @@ such as equality. They are written using "relational
operators", which
are a superset of those in C. *note Table 6.3: table-relational-ops.
describes them.
-
Expression Result
--------------------------------------------------------------------------
X '<' Y True if X is less than Y
@@ -11978,7 +11971,6 @@ declared.)
figure-array-elements, conceptually, if the element values are eight,
'"foo"', '""', and 30.
-
[image src="array-elements.png" alt="A Contiguous Array"
text="+---------+---------+--------+---------+
| 8 | \"foo\" | \"\" | 30 | Value
+---------+---------+--------+---------+
@@ -13780,7 +13772,6 @@ generated text with a single '&'. Any other '\' within
the REPLACEMENT
string that did not precede an '&' was passed through unchanged. This
is illustrated in *note Table 9.1: table-sub-escapes.
-
You type 'sub()' sees 'sub()' generates
----- ------- ----------
'\&' '&' The matched text
@@ -13813,7 +13804,6 @@ the original existing practice. The proposed rules
have special cases
that make it possible to produce a '\' preceding the matched text. This
is shown in *note Table 9.2: table-sub-proposed.
-
You type 'sub()' sees 'sub()' generates
----- ------- ----------
'\\\\\\&' '\\\&' A literal '\&'
@@ -13841,7 +13831,6 @@ literal '&', '\\' produces a literal '\', and '\'
followed by anything
else is not special; the '\' is placed straight into the output. These
rules are presented in *note Table 9.3: table-posix-sub.
-
You type 'sub()' sees 'sub()' generates
----- ------- ----------
'\\\\\\&' '\\\&' A literal '\&'
@@ -13872,7 +13861,6 @@ subexpression is placed in the generated output.
Otherwise, no matter
what character follows the '\', it appears in the generated text and the
'\' does not, as shown in *note Table 9.4: table-gensub-escapes.
-
You type 'gensub()' sees 'gensub()' generates
----- --------- ------------
'&' '&' The matched text
@@ -14044,7 +14032,6 @@ is all buffered and sent down the pipe to 'cat' in one
shot.
'gawk' steers a middle ground. The return values are summarized in
*note Table 9.5: table-system-return-values.
-
Situation Return value from 'system()'
--------------------------------------------------------------------------
'--traditional' C 'system()''s value divided by 256
@@ -14444,7 +14431,6 @@ successive pair of bits in the operands. Three common
operations are
bitwise AND, OR, and XOR. The operations are described in *note Table
9.6: table-bitwise-ops.
-
Bit operator
| AND | OR | XOR
|---+---+---+---+---+---
@@ -24737,7 +24723,6 @@ values are always signed. The possible ranges of
values are shown in
*note Table 16.1: table-numeric-ranges. and *note Table 16.2:
table-floating-point-ranges.
-
Representation Minimum value Maximum value
---------------------------------------------------------------------------
32-bit signed integer -2,147,483,648 2,147,483,647
@@ -24749,7 +24734,6 @@ integer
Table 16.1: Value ranges for integer representations
-
Representation Minimum Minimum finite Maximum finite
positive value value
nonzero value
@@ -24846,7 +24830,6 @@ ranges. ('awk' uses only the 64-bit double-precision
format.)
*note Table 16.3: table-ieee-formats. lists the precision and
exponent field values for the basic IEEE 754 binary formats.
-
Name Total bits Precision Minimum Maximum
exponent exponent
---------------------------------------------------------------------------
@@ -25265,7 +25248,6 @@ set the value to one of the predefined case-insensitive
strings shown in
*note Table 16.4: table-predefined-precision-strings, to emulate an IEEE
754 binary format.
-
'PREC' IEEE 754 binary format
---------------------------------------------------
'"half"' 16-bit half-precision
@@ -25318,7 +25300,6 @@ The 'ROUNDMODE' variable provides program-level control
over the
rounding mode. The correspondence between 'ROUNDMODE' and the IEEE
rounding modes is shown in *note Table 16.5: table-gawk-rounding-modes.
-
Rounding mode IEEE name 'ROUNDMODE'
---------------------------------------------------------------------------
Round to nearest, ties to even 'roundTiesToEven' '"N"' or '"n"'
@@ -25784,7 +25765,6 @@ an extension is loaded, 'gawk' passes it a pointer to a
'struct' whose
fields are function pointers. This is shown in *note Figure 17.1:
figure-load-extension.
-
[image src="api-figure1.png" alt="Loading the extension" text="
API
Struct
+---+
@@ -25818,7 +25798,6 @@ symbols. One of these function pointers is to a
function for
"registering" new functions. This is shown in *note Figure 17.2:
figure-register-new-function.
-
[image src="api-figure2.png" alt="Registering a new Function" text="
register_ext_func({ \"chdir\", do_chdir, 1 });
+--------------------------------------------+
@@ -25841,7 +25820,6 @@ function pointer with a name and can then call it,
using a defined
calling convention. This is shown in *note Figure 17.3:
figure-call-new-function.
-
[image src="api-figure3.png" alt="Calling the new function" text=" BEGIN {
chdir(\"/path\") (*fnptr)(1);
}
@@ -25980,7 +25958,6 @@ operations:
The list of macros and related header files is shown in *note Table
17.1: table-api-std-headers.
-
C entity Header file
-------------------------------------------
'EOF' '<stdio.h>'
@@ -27195,7 +27172,6 @@ of the actual value. You may then print an error
message or reissue the
request for the actual value type, as appropriate. This behavior is
summarized in *note Table 17.2: table-value-types-returned.
-
Type of Actual Value
--------------------------------------------------------------------------
String Strnum Number Regex Bool Array
Undefined
@@ -28132,7 +28108,6 @@ versions are available at compile time as C
preprocessor defines to
support conditional compilation, and as enum constants to facilitate
debugging:
-
API Version C Preprocessor Define enum constant
--------------------------------------------------------------------
Major 'gawk_api_major_version' 'GAWK_API_MAJOR_VERSION'
@@ -29411,7 +29386,6 @@ a third field (also separated by a slash), which is a
single letter
indicating the type of the file. The letters and their corresponding
file types are shown in *note Table 17.4: table-readdir-file-types.
-
Letter File type
--------------------------------------------------------------------------
'b' Block device
@@ -30725,6 +30699,10 @@ unfortunately. It added the following features:
* The '"mb_cur_max"' and '"utf8"' elements in the 'PROCINFO' array
(*note Auto-set::).
+ * The need for GNU 'libsigsegv' was removed from 'gawk'. The
+ value-add was never very much and it caused problems in some
+ environments.
+
File: gawk.info, Node: Common Extensions, Next: Ranges and Locales, Prev:
Feature History, Up: Language History
@@ -33534,7 +33512,6 @@ D.1 What a Program Does
At the most basic level, the job of a program is to process some input
data and produce results. See *note Figure D.1: figure-general-flow.
-
[image src="general-program.png" alt="General program flow" text="
_______
+------+ / \\ +---------+
| Data | -----> < Program > -----> | Results |
@@ -33550,7 +33527,6 @@ uses the instructions in your program to process the
data.
When you write a program, it usually consists of the following, very
basic set of steps, as shown in *note Figure D.2: figure-process-flow.:
-
[image src="process-flow.png" alt="Basic Program Stages" text="
______
+----------------+ / More \\ No +----------+
| Initialization | -------> < Data > -------> | Clean Up |
@@ -35679,7 +35655,7 @@ Index
* ! (exclamation point), !~ operator <4>: Comparison Operators.
(line 11)
* ! (exclamation point), !~ operator <5>: Comparison Operators.
- (line 99)
+ (line 98)
* ! (exclamation point), ! operator: Boolean Ops. (line 69)
* ! (exclamation point), ! operator <1>: Precedence. (line 51)
* ! (exclamation point), != operator <1>: Precedence. (line 64)
@@ -35725,7 +35701,7 @@ Index
* * (asterisk), *= operator <1>: Precedence. (line 94)
* * (asterisk), **= operator <1>: Precedence. (line 94)
* * (asterisk), * operator, null strings, matching: String Functions.
- (line 567)
+ (line 569)
* + (plus sign), regexp operator: Regexp Operator Details.
(line 107)
* + (plus sign), += operator: Assignment Ops. (line 81)
@@ -35736,8 +35712,8 @@ Index
* + (plus sign), + operator <1>: Precedence. (line 57)
* + (plus sign), += operator <1>: Precedence. (line 94)
* , (comma), in range patterns: Ranges. (line 6)
-* - (hyphen), file names beginning with: Options. (line 63)
-* - (hyphen), -- end of options marker: Options. (line 354)
+* - (hyphen), file names beginning with: Options. (line 64)
+* - (hyphen), -- end of options marker: Options. (line 355)
* - (hyphen), in bracket expressions: Bracket Expressions. (line 25)
* - (hyphen), -= operator: Assignment Ops. (line 129)
* - (hyphen), -- operator: Increment Ops. (line 48)
@@ -35746,10 +35722,10 @@ Index
* - (hyphen), - operator <1>: Precedence. (line 57)
* - (hyphen), -= operator <1>: Precedence. (line 94)
* --assign option: Options. (line 36)
-* --bignum option: Options. (line 242)
-* --characters-as-bytes option: Options. (line 72)
-* --copyright option: Options. (line 92)
-* --debug option: Options. (line 111)
+* --bignum option: Options. (line 243)
+* --characters-as-bytes option: Options. (line 73)
+* --copyright option: Options. (line 93)
+* --debug option: Options. (line 112)
* --disable-extensions configuration option: Additional Configuration Options.
(line 9)
* --disable-lint configuration option: Additional Configuration Options.
@@ -35758,83 +35734,83 @@ Index
(line 36)
* --disable-nls configuration option: Additional Configuration Options.
(line 41)
-* --dump-variables option: Options. (line 97)
+* --dump-variables option: Options. (line 98)
* --dump-variables option, using for library functions: Library Names.
(line 45)
* --enable-versioned-extension-dir configuration option: Additional
Configuration Options.
(line 46)
-* --exec option: Options. (line 146)
+* --exec option: Options. (line 147)
* --field-separator option: Options. (line 21)
* --file option: Options. (line 25)
-* --gen-pot option: Options. (line 168)
+* --gen-pot option: Options. (line 169)
* --gen-pot option <1>: String Extraction. (line 6)
* --gen-pot option <2>: String Extraction. (line 6)
-* --help option: Options. (line 175)
-* --include option: Options. (line 180)
+* --help option: Options. (line 176)
+* --include option: Options. (line 181)
* --lint option: Command Line. (line 20)
-* --lint option <1>: Options. (line 215)
-* --lint-old option: Options. (line 344)
-* --load option: Options. (line 203)
-* --no-optimize option: Options. (line 329)
-* --non-decimal-data option: Options. (line 255)
+* --lint option <1>: Options. (line 216)
+* --lint-old option: Options. (line 345)
+* --load option: Options. (line 204)
+* --no-optimize option: Options. (line 330)
+* --non-decimal-data option: Options. (line 256)
* --non-decimal-data option <1>: Nondecimal Data. (line 6)
* --non-decimal-data option, strtonum() function and: Nondecimal Data.
(line 35)
-* --optimize option: Options. (line 280)
-* --posix option: Options. (line 302)
-* --posix option, --traditional option and: Options. (line 317)
-* --pretty-print option: Options. (line 269)
-* --profile option: Options. (line 290)
+* --optimize option: Options. (line 281)
+* --posix option: Options. (line 303)
+* --posix option, --traditional option and: Options. (line 318)
+* --pretty-print option: Options. (line 270)
+* --profile option: Options. (line 291)
* --profile option <1>: Profiling. (line 12)
-* --re-interval option: Options. (line 323)
-* --sandbox option: Options. (line 334)
+* --re-interval option: Options. (line 324)
+* --sandbox option: Options. (line 335)
* --sandbox option, input redirection with getline: Getline. (line 19)
* --sandbox option, output redirection with print, printf: Redirection.
(line 6)
* --sandbox option, disabling system() function: I/O Functions.
- (line 127)
-* --source option: Options. (line 120)
-* --trace option: Options. (line 197)
-* --traditional option: Options. (line 85)
-* --traditional option, --posix option and: Options. (line 317)
-* --use-lc-numeric option: Options. (line 264)
-* --version option: Options. (line 349)
-* -b option: Options. (line 72)
-* -c option: Options. (line 85)
-* -C option: Options. (line 92)
-* -d option: Options. (line 97)
-* -D option: Options. (line 111)
-* -e option: Options. (line 120)
-* -E option: Options. (line 146)
-* -e option <1>: Options. (line 390)
+ (line 128)
+* --source option: Options. (line 121)
+* --trace option: Options. (line 198)
+* --traditional option: Options. (line 86)
+* --traditional option, --posix option and: Options. (line 318)
+* --use-lc-numeric option: Options. (line 265)
+* --version option: Options. (line 350)
+* -b option: Options. (line 73)
+* -c option: Options. (line 86)
+* -C option: Options. (line 93)
+* -d option: Options. (line 98)
+* -D option: Options. (line 112)
+* -e option: Options. (line 121)
+* -E option: Options. (line 147)
+* -e option <1>: Options. (line 391)
* -f option: Long. (line 12)
* -F option: Options. (line 21)
* -f option <1>: Options. (line 25)
-* -F option, -Ft sets FS to TAB: Options. (line 362)
-* -f option, multiple uses: Options. (line 367)
+* -F option, -Ft sets FS to TAB: Options. (line 363)
+* -f option, multiple uses: Options. (line 368)
* -F option, command-line: Command Line Field Separator.
(line 6)
-* -g option: Options. (line 168)
-* -h option: Options. (line 175)
-* -i option: Options. (line 180)
-* -I option: Options. (line 197)
-* -l option: Options. (line 203)
-* -l option <1>: Options. (line 215)
-* -L option: Options. (line 344)
-* -M option: Options. (line 242)
-* -n option: Options. (line 255)
-* -N option: Options. (line 264)
-* -o option: Options. (line 269)
-* -O option: Options. (line 280)
-* -p option: Options. (line 290)
-* -P option: Options. (line 302)
-* -r option: Options. (line 323)
-* -s option: Options. (line 329)
-* -S option: Options. (line 334)
+* -g option: Options. (line 169)
+* -h option: Options. (line 176)
+* -i option: Options. (line 181)
+* -I option: Options. (line 198)
+* -l option: Options. (line 204)
+* -l option <1>: Options. (line 216)
+* -L option: Options. (line 345)
+* -M option: Options. (line 243)
+* -n option: Options. (line 256)
+* -N option: Options. (line 265)
+* -o option: Options. (line 270)
+* -O option: Options. (line 281)
+* -p option: Options. (line 291)
+* -P option: Options. (line 303)
+* -r option: Options. (line 324)
+* -s option: Options. (line 330)
+* -S option: Options. (line 335)
* -v option: Options. (line 36)
-* -V option: Options. (line 349)
+* -V option: Options. (line 350)
* -v option <1>: Assignment Options. (line 12)
-* -W option: Options. (line 50)
+* -W option: Options. (line 51)
* . (period), regexp operator: Regexp Operator Details.
(line 40)
* .gmo files: Explaining gettext. (line 42)
@@ -35848,11 +35824,11 @@ Index
* / (forward slash), to enclose regular expressions: Regexp. (line 10)
* / (forward slash), /= operator: Assignment Ops. (line 129)
* / (forward slash), /= operator, vs. /=.../ regexp constant: Assignment Ops.
- (line 150)
+ (line 149)
* / (forward slash), / operator: Precedence. (line 54)
* / (forward slash), /= operator <1>: Precedence. (line 94)
* / (forward slash), patterns and: Expression Patterns. (line 24)
-* /= operator vs. /=.../ regexp constant: Assignment Ops. (line 150)
+* /= operator vs. /=.../ regexp constant: Assignment Ops. (line 149)
* /dev/fd/N special files (gawk): Special FD. (line 48)
* /dev/... special files: Special FD. (line 48)
* /inet/... special files (gawk): TCP/IP Networking. (line 6)
@@ -35891,7 +35867,7 @@ Index
* ? (question mark), regexp operator: Regexp Operator Details.
(line 113)
* ? (question mark), regexp operator <1>: GNU Regexp Operators.
- (line 61)
+ (line 64)
* ? (question mark), ?: operator: Precedence. (line 91)
* @ (at-sign), @include directive: Include Files. (line 8)
* @ (at-sign), @load directive: Loading Shared Libraries.
@@ -35933,23 +35909,23 @@ Index
* \ (backslash), \s operator (gawk): GNU Regexp Operators.
(line 13)
* \ (backslash), \S operator (gawk): GNU Regexp Operators.
- (line 17)
+ (line 18)
* \ (backslash), \w operator (gawk): GNU Regexp Operators.
- (line 21)
+ (line 22)
* \ (backslash), \W operator (gawk): GNU Regexp Operators.
- (line 26)
+ (line 28)
* \ (backslash), \< operator (gawk): GNU Regexp Operators.
- (line 30)
+ (line 33)
* \ (backslash), \> operator (gawk): GNU Regexp Operators.
- (line 34)
+ (line 37)
* \ (backslash), \y operator (gawk): GNU Regexp Operators.
- (line 38)
+ (line 41)
* \ (backslash), \B operator (gawk): GNU Regexp Operators.
- (line 43)
+ (line 46)
* \ (backslash), \` operator (gawk): GNU Regexp Operators.
- (line 56)
+ (line 59)
* \ (backslash), \' operator (gawk): GNU Regexp Operators.
- (line 58)
+ (line 61)
* \ (backslash), as field separator: Command Line Field Separator.
(line 24)
* \ (backslash), gsub()/gensub()/sub() functions and: Gory Details.
@@ -35958,9 +35934,9 @@ Index
(line 18)
* ^ (caret), in bracket expressions: Bracket Expressions. (line 25)
* ^ (caret), regexp operator <1>: GNU Regexp Operators.
- (line 61)
+ (line 64)
* ^ (caret), in FS: Regexp Field Splitting.
- (line 58)
+ (line 59)
* ^ (caret), ^= operator: Assignment Ops. (line 129)
* ^ (caret), ^ operator: Precedence. (line 48)
* ^ (caret), ^= operator <1>: Precedence. (line 94)
@@ -35996,7 +35972,7 @@ Index
* ~ (tilde), ~ operator <4>: Comparison Operators.
(line 11)
* ~ (tilde), ~ operator <5>: Comparison Operators.
- (line 99)
+ (line 98)
* ~ (tilde), ~ operator <6>: Precedence. (line 79)
* ~ (tilde), ~ operator <7>: Expression Patterns. (line 24)
* aaa (amazing awk assembler) program: Glossary. (line 16)
@@ -36005,8 +35981,8 @@ Index
(line 6)
* account information: Passwd Functions. (line 16)
* account information <1>: Group Functions. (line 6)
-* actions, default: Very Simple. (line 34)
-* actions, empty: Very Simple. (line 39)
+* actions, default: Very Simple. (line 35)
+* actions, empty: Very Simple. (line 40)
* actions: Action Overview. (line 6)
* actions, control statements in: Statements. (line 6)
* Ada programming language: Glossary. (line 11)
@@ -36024,21 +36000,21 @@ Index
* Aho, Alfred <1>: Contributors. (line 12)
* alarm clock example program: Alarm Program. (line 11)
* alarm.awk program: Alarm Program. (line 31)
-* algorithms: Basic High Level. (line 59)
+* algorithms: Basic High Level. (line 57)
* all source files, show in debugger: Debugger Info. (line 45)
* allocating memory for extensions: Memory Allocation Functions.
(line 6)
* amazing awk assembler (aaa): Glossary. (line 16)
* amazingly workable formatter (awf): Glossary. (line 23)
* ambiguity, syntactic: /= operator vs. /=.../ regexp constant: Assignment Ops.
- (line 150)
+ (line 149)
* ampersand (&), && operator: Boolean Ops. (line 59)
* ampersand (&), && operator <1>: Precedence. (line 85)
* ampersand (&), gsub()/gensub()/sub() functions and: Gory Details.
(line 6)
* anagram.awk program: Anagram Program. (line 21)
* anagrams, finding: Anagram Program. (line 6)
-* and: Bitwise Functions. (line 41)
+* and: Bitwise Functions. (line 40)
* AND bitwise operation: Bitwise Functions. (line 6)
* and Boolean-logic operator: Boolean Ops. (line 6)
* ANSI: Glossary. (line 32)
@@ -36054,7 +36030,7 @@ Index
* arbitrary precision, integers: Arbitrary Precision Integers.
(line 6)
* archaeologists: Bugs. (line 6)
-* arctangent: Numeric Functions. (line 11)
+* arctangent: Numeric Functions. (line 12)
* ARGC/ARGV variables, portability and: Executable Scripts. (line 55)
* ARGC/ARGV variables, command-line arguments: Other Arguments.
(line 21)
@@ -36068,7 +36044,7 @@ Index
* arguments, command-line <1>: Auto-set. (line 15)
* arguments, command-line <2>: ARGC and ARGV. (line 6)
* arguments, processing: Getopt Function. (line 6)
-* ARGV array: Options. (line 334)
+* ARGV array: Options. (line 335)
* ARGV array, indexing into: Other Arguments. (line 21)
* arithmetic operators: Arithmetic Ops. (line 6)
* array manipulation in extensions: Array Manipulation. (line 6)
@@ -36081,8 +36057,8 @@ Index
* array subscripts, null string as: Uninitialized Subscripts.
(line 43)
* arrays: Arrays. (line 6)
-* arrays, indexing: Array Intro. (line 49)
-* arrays, associative: Array Intro. (line 49)
+* arrays, indexing: Array Intro. (line 48)
+* arrays, associative: Array Intro. (line 48)
* arrays, sparse: Array Intro. (line 76)
* arrays, IGNORECASE variable and: Array Intro. (line 100)
* arrays, referencing elements: Reference to Elements.
@@ -36106,8 +36082,8 @@ Index
* arrays, multidimensional: Multidimensional. (line 10)
* arrays, multidimensional, scanning: Multiscanning. (line 11)
* arrays, arrays of arrays: Arrays of Arrays. (line 6)
-* arrays, elements, retrieving number of: String Functions. (line 41)
-* arrays, number of elements: String Functions. (line 214)
+* arrays, elements, retrieving number of: String Functions. (line 42)
+* arrays, number of elements: String Functions. (line 215)
* arrays, as parameters to functions: Pass By Value/Reference.
(line 44)
* arrays, associative, library functions and: Library Names. (line 58)
@@ -36121,7 +36097,7 @@ Index
* artificial intelligence, gawk and: Distribution contents.
(line 64)
* ASCII: Escape Sequences. (line 31)
-* ASCII <1>: Bracket Expressions. (line 80)
+* ASCII <1>: Bracket Expressions. (line 79)
* ASCII <2>: Scalar Constants. (line 20)
* ASCII <3>: Ordinal Functions. (line 45)
* ASCII <4>: Alarm Program. (line 20)
@@ -36131,14 +36107,14 @@ Index
* ASCII <8>: History summary. (line 20)
* ASCII <9>: Glossary. (line 194)
* ASCII <10>: Glossary. (line 320)
-* asort: String Functions. (line 41)
+* asort: String Functions. (line 42)
* asort <1>: Array Sorting Functions.
(line 6)
* asort() function (gawk), arrays, sorting: Array Sorting Functions.
(line 6)
* asort() function (gawk), side effects: Array Sorting Functions.
(line 6)
-* asorti: String Functions. (line 41)
+* asorti: String Functions. (line 42)
* asorti <1>: Array Sorting Functions.
(line 6)
* asorti() function (gawk), arrays, sorting: Array Sorting Functions.
@@ -36154,7 +36130,7 @@ Index
* assignment operators, lvalues/rvalues: Assignment Ops. (line 31)
* assignment operators, evaluation order: Assignment Ops. (line 110)
* assignments as file names: Ignoring Assigns. (line 6)
-* associative arrays: Array Intro. (line 49)
+* associative arrays: Array Intro. (line 48)
* asterisk (*), * operator, as regexp operator: Regexp Operator Details.
(line 91)
* asterisk (*), ** operator: Arithmetic Ops. (line 85)
@@ -36166,7 +36142,7 @@ Index
* asterisk (*), *= operator <1>: Precedence. (line 94)
* asterisk (*), **= operator <1>: Precedence. (line 94)
* asterisk (*), * operator, null strings, matching: String Functions.
- (line 567)
+ (line 569)
* at-sign (@), @include directive: Include Files. (line 8)
* at-sign (@), @load directive: Loading Shared Libraries.
(line 8)
@@ -36176,7 +36152,7 @@ Index
(line 6)
* at-sign (@), @namespace directive, BEGIN, BEGINFILE, END, ENDFILE and:
Changing The Namespace.
(line 37)
-* atan2: Numeric Functions. (line 11)
+* atan2: Numeric Functions. (line 12)
* automatic displays, in debugger: Debugger Info. (line 24)
* awf (amazingly workable formatter) program: Glossary. (line 23)
* awk: Preface. (line 6)
@@ -36192,13 +36168,13 @@ Index
* awk, uses for <1>: Getting Started. (line 12)
* awk, uses for <2>: When. (line 6)
* awk, invoking: Command Line. (line 6)
-* awk, profiling, enabling: Options. (line 290)
+* awk, profiling, enabling: Options. (line 291)
* awk, implementations, limits: Getline Notes. (line 14)
* awk, implementation issues, pipes: Redirection. (line 129)
* awk, new vs. old, OFMT variable: Strings And Numbers. (line 56)
-* awk, language, POSIX version: Assignment Ops. (line 139)
+* awk, language, POSIX version: Assignment Ops. (line 138)
* awk, regexp constants and: Comparison Operators.
- (line 104)
+ (line 103)
* awk, language, POSIX version <1>: Next Statement. (line 44)
* awk, language, POSIX version <2>: Definition Syntax. (line 99)
* awk, namespace: Default Namespace. (line 6)
@@ -36222,13 +36198,13 @@ Index
* awk programs, lengthy: Long. (line 6)
* awk programs <1>: Executable Scripts. (line 6)
* awk programs, documenting: Comments. (line 6)
-* awk programs, one-line examples: Very Simple. (line 45)
+* awk programs, one-line examples: Very Simple. (line 46)
* awk programs <2>: Two Rules. (line 6)
* awk programs, complex: When. (line 27)
* awk programs, location of: Options. (line 25)
-* awk programs, debugging, enabling: Options. (line 111)
-* awk programs, location of <1>: Options. (line 146)
-* awk programs, location of <2>: Options. (line 180)
+* awk programs, debugging, enabling: Options. (line 112)
+* awk programs, location of <1>: Options. (line 147)
+* awk programs, location of <2>: Options. (line 181)
* awk programs, shell variables in: Using Shell Variables.
(line 6)
* awk programs, execution of: Next Statement. (line 16)
@@ -36243,8 +36219,9 @@ Index
* AWKBUFSIZE environment variable: Other Environment Variables.
(line 41)
* awkcc, awk to C translator: Other Versions. (line 167)
+* awk <1>: Preface. (line 34)
* AWKgo: Other Versions. (line 133)
-* AWKLIBPATH environment variable: Options. (line 203)
+* AWKLIBPATH environment variable: Options. (line 204)
* AWKLIBPATH environment variable <1>: AWKLIBPATH Variable. (line 6)
* AWKLIBPATH environment variable <2>: Loading Shared Libraries.
(line 8)
@@ -36273,7 +36250,7 @@ Index
* AWKREADFUNC environment variable: Other Environment Variables.
(line 57)
* awksed.awk program: Simple Sed. (line 25)
-* awkvars.out file: Options. (line 97)
+* awkvars.out file: Options. (line 98)
* AWK_HASH environment variable: Other Environment Variables.
(line 50)
* b debugger command (alias for break): Breakpoint Control. (line 11)
@@ -36306,30 +36283,30 @@ Index
* backslash (\), \s operator (gawk): GNU Regexp Operators.
(line 13)
* backslash (\), \S operator (gawk): GNU Regexp Operators.
- (line 17)
+ (line 18)
* backslash (\), \w operator (gawk): GNU Regexp Operators.
- (line 21)
+ (line 22)
* backslash (\), \W operator (gawk): GNU Regexp Operators.
- (line 26)
+ (line 28)
* backslash (\), \< operator (gawk): GNU Regexp Operators.
- (line 30)
+ (line 33)
* backslash (\), \> operator (gawk): GNU Regexp Operators.
- (line 34)
+ (line 37)
* backslash (\), \y operator (gawk): GNU Regexp Operators.
- (line 38)
+ (line 41)
* backslash (\), \B operator (gawk): GNU Regexp Operators.
- (line 43)
+ (line 46)
* backslash (\), \` operator (gawk): GNU Regexp Operators.
- (line 56)
+ (line 59)
* backslash (\), \' operator (gawk): GNU Regexp Operators.
- (line 58)
+ (line 61)
* backslash (\), as field separator: Command Line Field Separator.
(line 24)
* backslash (\), gsub()/gensub()/sub() functions and: Gory Details.
(line 6)
* backtrace debugger command: Execution Stack. (line 13)
* Beebe, Nelson H.F.: Acknowledgments. (line 60)
-* Beebe, Nelson H.F. <1>: Numeric Functions. (line 32)
+* Beebe, Nelson H.F. <1>: Numeric Functions. (line 33)
* Beebe, Nelson H.F. <2>: Other Versions. (line 82)
* BEGIN pattern: Field Separators. (line 45)
* BEGIN pattern, getline and: Getline Notes. (line 19)
@@ -36372,16 +36349,16 @@ Index
* bindtextdomain() function (gawk), portability and: I18N Portability.
(line 33)
* BINMODE variable: User-modified. (line 15)
-* BINMODE variable <1>: PC Using. (line 18)
+* BINMODE variable <1>: PC Using. (line 19)
* bit-manipulation functions: Bitwise Functions. (line 6)
-* bits2str() user-defined function: Bitwise Functions. (line 70)
+* bits2str() user-defined function: Bitwise Functions. (line 69)
* bitwise, operations: Bitwise Functions. (line 6)
-* bitwise, complement: Bitwise Functions. (line 26)
-* bitwise, shift: Bitwise Functions. (line 33)
-* bitwise, AND: Bitwise Functions. (line 41)
-* bitwise, complement <1>: Bitwise Functions. (line 45)
-* bitwise, OR: Bitwise Functions. (line 51)
-* bitwise, XOR: Bitwise Functions. (line 58)
+* bitwise, complement: Bitwise Functions. (line 25)
+* bitwise, shift: Bitwise Functions. (line 32)
+* bitwise, AND: Bitwise Functions. (line 40)
+* bitwise, complement <1>: Bitwise Functions. (line 44)
+* bitwise, OR: Bitwise Functions. (line 50)
+* bitwise, XOR: Bitwise Functions. (line 57)
* body, in actions: Statements. (line 10)
* body, in loops: While Statement. (line 14)
* Boolean expressions: Boolean Ops. (line 6)
@@ -36404,12 +36381,12 @@ Index
* bracket expressions, character classes: Bracket Expressions.
(line 40)
* bracket expressions, collating elements: Bracket Expressions.
- (line 91)
-* bracket expressions, non-ASCII: Bracket Expressions. (line 91)
+ (line 90)
+* bracket expressions, non-ASCII: Bracket Expressions. (line 90)
* bracket expressions, collating symbols: Bracket Expressions.
- (line 98)
+ (line 97)
* bracket expressions, equivalence classes: Bracket Expressions.
- (line 104)
+ (line 103)
* break debugger command: Breakpoint Control. (line 11)
* break statement: Break Statement. (line 6)
* breakpoint: Debugging Terms. (line 33)
@@ -36431,10 +36408,10 @@ Index
* Brian Kernighan's awk: When. (line 21)
* Brian Kernighan's awk <1>: Escape Sequences. (line 112)
* Brian Kernighan's awk <2>: GNU Regexp Operators.
- (line 84)
+ (line 87)
* Brian Kernighan's awk <3>: gawk split records. (line 71)
* Brian Kernighan's awk <4>: Regexp Field Splitting.
- (line 66)
+ (line 67)
* Brian Kernighan's awk <5>: Getline/Pipe. (line 62)
* Brian Kernighan's awk <6>: Concatenation. (line 36)
* Brian Kernighan's awk <7>: I/O And BEGIN/END. (line 15)
@@ -36442,7 +36419,7 @@ Index
* Brian Kernighan's awk <9>: Continue Statement. (line 44)
* Brian Kernighan's awk <10>: Nextfile Statement. (line 47)
* Brian Kernighan's awk <11>: Delete. (line 51)
-* Brian Kernighan's awk <12>: String Functions. (line 514)
+* Brian Kernighan's awk <12>: String Functions. (line 516)
* Brian Kernighan's awk <13>: Gory Details. (line 19)
* Brian Kernighan's awk <14>: I/O Functions. (line 43)
* Brian Kernighan's awk, extensions: BTL. (line 6)
@@ -36456,11 +36433,11 @@ Index
* Buening, Andreas: Acknowledgments. (line 60)
* Buening, Andreas <1>: Contributors. (line 95)
* Buening, Andreas <2>: Maintainers. (line 14)
-* buffering, interactive vs. noninteractive: I/O Functions. (line 75)
+* buffering, interactive vs. noninteractive: I/O Functions. (line 76)
* buffering, input/output: I/O Functions. (line 168)
* buffering, input/output <1>: Two-way I/O. (line 53)
* buffers, operators for: GNU Regexp Operators.
- (line 50)
+ (line 53)
* buffers, flushing: I/O Functions. (line 32)
* buffers, flushing <1>: I/O Functions. (line 168)
* bug reports, email address, <bug-gawk@gnu.org>: Bug address.
@@ -36475,16 +36452,16 @@ Index
* C library functions, assert(): Assert Function. (line 6)
* C library functions, getopt(): Getopt Function. (line 15)
* C library functions, getpwent(): Passwd Functions. (line 16)
-* C library functions, getpwnam(): Passwd Functions. (line 174)
-* C library functions, getpwuid(): Passwd Functions. (line 185)
-* C library functions, getpwent() <1>: Passwd Functions. (line 195)
-* C library functions, endpwent(): Passwd Functions. (line 207)
+* C library functions, getpwnam(): Passwd Functions. (line 175)
+* C library functions, getpwuid(): Passwd Functions. (line 186)
+* C library functions, getpwent() <1>: Passwd Functions. (line 196)
+* C library functions, endpwent(): Passwd Functions. (line 208)
* C library functions, getgrent(): Group Functions. (line 6)
-* C library functions, getgrnam(): Group Functions. (line 171)
-* C library functions, getgrgid(): Group Functions. (line 182)
-* C library functions, getgruser(): Group Functions. (line 191)
-* C library functions, getgrent() <1>: Group Functions. (line 200)
-* C library functions, endgrent(): Group Functions. (line 211)
+* C library functions, getgrnam(): Group Functions. (line 173)
+* C library functions, getgrgid(): Group Functions. (line 184)
+* C library functions, getgruser(): Group Functions. (line 193)
+* C library functions, getgrent() <1>: Group Functions. (line 202)
+* C library functions, endgrent(): Group Functions. (line 213)
* C library functions, getaddrinfo(): TCP/IP Networking. (line 39)
* C library functions, textdomain(): Explaining gettext. (line 28)
* C library functions, bindtextdomain(): Explaining gettext. (line 50)
@@ -36499,7 +36476,7 @@ Index
(line 18)
* caret (^), in bracket expressions: Bracket Expressions. (line 25)
* caret (^), regexp operator <1>: GNU Regexp Operators.
- (line 61)
+ (line 64)
* caret (^), ^= operator: Assignment Ops. (line 129)
* caret (^), ^ operator: Precedence. (line 48)
* caret (^), ^= operator <1>: Precedence. (line 94)
@@ -36509,9 +36486,9 @@ Index
* case sensitivity, string comparisons and: User-modified. (line 79)
* case sensitivity, regexps and <1>: User-modified. (line 79)
* case sensitivity, array indices and: Array Intro. (line 100)
-* case sensitivity, converting case: String Functions. (line 544)
+* case sensitivity, converting case: String Functions. (line 546)
* case sensitivity, example programs: Library Functions. (line 50)
-* CGI, awk scripts for: Options. (line 146)
+* CGI, awk scripts for: Options. (line 147)
* character sets (machine character encodings): Ordinal Functions.
(line 45)
* character sets (machine character encodings) <1>: Glossary. (line 194)
@@ -36545,8 +36522,8 @@ Index
* Collado, Manuel: Acknowledgments. (line 60)
* Collado, Manuel <1>: More CSV. (line 6)
* Collado, Manuel <2>: More CSV. (line 52)
-* collating elements: Bracket Expressions. (line 91)
-* collating symbols: Bracket Expressions. (line 98)
+* collating elements: Bracket Expressions. (line 90)
+* collating symbols: Bracket Expressions. (line 97)
* Colombo, Antonio: Acknowledgments. (line 60)
* Colombo, Antonio <1>: Contributors. (line 143)
* colon (:), ?: operator: Precedence. (line 91)
@@ -36565,7 +36542,7 @@ Index
* command line, option -f: Long. (line 12)
* command line, invoking awk from: Command Line. (line 6)
* command line, options: Options. (line 6)
-* command line, options, end of: Options. (line 58)
+* command line, options, end of: Options. (line 59)
* command line, arguments: Other Arguments. (line 6)
* command line, FS on, setting: Command Line Field Separator.
(line 6)
@@ -36592,32 +36569,32 @@ Index
* common extensions, /dev/stdout special file: Special FD. (line 48)
* common extensions, /dev/stderr special file: Special FD. (line 48)
* common extensions, ** operator: Arithmetic Ops. (line 30)
-* common extensions, **= operator: Assignment Ops. (line 139)
+* common extensions, **= operator: Assignment Ops. (line 138)
* common extensions, delete to delete entire arrays: Delete. (line 39)
* common extensions, length() applied to an array: String Functions.
- (line 214)
+ (line 215)
* common extensions, func keyword: Definition Syntax. (line 99)
-* common extensions, BINMODE variable: PC Using. (line 18)
+* common extensions, BINMODE variable: PC Using. (line 19)
* comp.lang.awk newsgroup: Usenet. (line 11)
* comparison expressions: Typing and Comparison.
(line 9)
* comparison expressions, string vs. regexp: Comparison Operators.
- (line 80)
+ (line 79)
* comparison expressions, as patterns: Expression Patterns. (line 14)
-* compatibility mode (gawk), specifying: Options. (line 85)
+* compatibility mode (gawk), specifying: Options. (line 86)
* compatibility mode (gawk), file names: Special Caveats. (line 9)
* compatibility mode (gawk), octal numbers: Nondecimal-numbers.
(line 59)
* compatibility mode (gawk), hexadecimal numbers: Nondecimal-numbers.
(line 59)
* compatibility mode (gawk), extensions: POSIX/GNU. (line 6)
-* compiled programs: Basic High Level. (line 14)
+* compiled programs: Basic High Level. (line 13)
* compiled programs <1>: Glossary. (line 216)
* compiling gawk, for MS-Windows: PC Compiling. (line 11)
* compiling gawk, for Cygwin: Cygwin. (line 6)
* compiling gawk, for OpenVMS: OpenVMS Compilation. (line 6)
-* compl: Bitwise Functions. (line 45)
-* complement, bitwise: Bitwise Functions. (line 26)
+* compl: Bitwise Functions. (line 44)
+* complement, bitwise: Bitwise Functions. (line 25)
* component name: Qualified Names. (line 6)
* component name, naming rules: Naming Rules. (line 6)
* compound statements, control statements and: Statements. (line 10)
@@ -36653,12 +36630,12 @@ Index
* converting, numbers to strings: Strings And Numbers. (line 6)
* converting, integer array subscripts to strings: Numeric Array Subscripts.
(line 31)
-* converting, string to numbers <1>: String Functions. (line 412)
-* converting, string to lower case: String Functions. (line 545)
-* converting, string to upper case: String Functions. (line 551)
-* converting, dates to timestamps: Time Functions. (line 77)
-* converting, string to numbers <2>: Bitwise Functions. (line 110)
-* converting, numbers to strings <1>: Bitwise Functions. (line 110)
+* converting, string to numbers <1>: String Functions. (line 414)
+* converting, string to lower case: String Functions. (line 547)
+* converting, string to upper case: String Functions. (line 553)
+* converting, dates to timestamps: Time Functions. (line 78)
+* converting, string to numbers <2>: Bitwise Functions. (line 109)
+* converting, numbers to strings <1>: Bitwise Functions. (line 109)
* CONVFMT variable: Strings And Numbers. (line 29)
* CONVFMT variable <1>: User-modified. (line 30)
* CONVFMT variable, array subscripts and: Numeric Array Subscripts.
@@ -36669,11 +36646,11 @@ Index
* coprocesses, closing: Close Files And Pipes.
(line 6)
* coprocesses <1>: Two-way I/O. (line 27)
-* cos: Numeric Functions. (line 15)
-* cosine: Numeric Functions. (line 15)
+* cos: Numeric Functions. (line 16)
+* cosine: Numeric Functions. (line 16)
* counting words, lines, characters, and bytes: Wc Program. (line 6)
* csh utility: Statements/Lines. (line 45)
-* csh utility, POSIXLY_CORRECT environment variable: Options. (line 411)
+* csh utility, POSIXLY_CORRECT environment variable: Options. (line 412)
* csh utility, |& operator, comparison with: Two-way I/O. (line 27)
* CSV (comma separated values) data, parsing with FS: Comma Separated Fields.
(line 6)
@@ -36688,7 +36665,7 @@ Index
* current namespace, pushing and popping: Changing The Namespace.
(line 29)
* current source file, show in debugger: Debugger Info. (line 37)
-* current system time: Time Functions. (line 67)
+* current system time: Time Functions. (line 68)
* custom.h file: Configuration Philosophy.
(line 30)
* customized input parser: Input Parsers. (line 6)
@@ -36704,12 +36681,12 @@ Index
* dark corner, empty programs: Command Line. (line 20)
* dark corner, escape sequences: Other Arguments. (line 46)
* dark corner, escape sequences, for metacharacters: Escape Sequences.
- (line 143)
+ (line 144)
* dark corner, input files: awk split records. (line 104)
* dark corner, strings, storing: gawk split records. (line 94)
* dark corner, NF variable, decrementing: Changing Fields. (line 107)
* dark corner, ^, in FS: Regexp Field Splitting.
- (line 58)
+ (line 59)
* dark corner, FS as null string: Single Character Fields.
(line 20)
* dark corner, field separators: Full Line Fields. (line 22)
@@ -36731,9 +36708,9 @@ Index
* dark corner, locale's decimal point character: Locale influences conversions.
(line 17)
* dark corner, regexp constants, /= operator and: Assignment Ops.
- (line 150)
+ (line 149)
* dark corner, /= operator vs. /=.../ regexp constant: Assignment Ops.
- (line 150)
+ (line 149)
* dark corner, "0" is actually true: Truth Values. (line 24)
* dark corner, range patterns, line continuation and: Ranges. (line 64)
* dark corner, break statement: Break Statement. (line 51)
@@ -36745,19 +36722,19 @@ Index
* dark corner, array subscripts: Uninitialized Subscripts.
(line 43)
* dark corner, regexp as second argument to index(): String Functions.
- (line 178)
-* dark corner, length() function: String Functions. (line 200)
-* dark corner, split() function: String Functions. (line 383)
+ (line 179)
+* dark corner, length() function: String Functions. (line 201)
+* dark corner, split() function: String Functions. (line 384)
* dark corner, parameter name restrictions: Definition Syntax.
(line 44)
* dark corner <1>: Glossary. (line 266)
* data, fixed-width: Constant Size. (line 6)
-* data-driven languages: Basic High Level. (line 76)
+* data-driven languages: Basic High Level. (line 74)
* database, users, reading: Passwd Functions. (line 6)
* database, group, reading: Group Functions. (line 6)
* date utility, GNU: Time Functions. (line 17)
-* date utility, POSIX: Time Functions. (line 254)
-* dates, converting to timestamps: Time Functions. (line 77)
+* date utility, POSIX: Time Functions. (line 255)
+* dates, converting to timestamps: Time Functions. (line 78)
* dates, information related to, localization: Explaining gettext.
(line 112)
* Davies, Stephen: Acknowledgments. (line 60)
@@ -36907,7 +36884,7 @@ Index
* debugging, example session: Sample Debugging Session.
(line 6)
* debugging gawk, bug reports: Bugs. (line 9)
-* decimal point character, locale specific: Options. (line 314)
+* decimal point character, locale specific: Options. (line 315)
* decrement operators: Increment Ops. (line 35)
* default keyword: Switch Statement. (line 6)
* Deifik, Scott: Acknowledgments. (line 60)
@@ -36940,7 +36917,7 @@ Index
* differences in awk and gawk, single-character fields: Single Character
Fields.
(line 6)
* differences in awk and gawk, RS/RT variables <2>: Multiple Line.
- (line 138)
+ (line 139)
* differences in awk and gawk, getline command: Getline. (line 19)
* differences in awk and gawk, input/output operators: Getline/Coprocess.
(line 6)
@@ -36983,7 +36960,7 @@ Index
(line 79)
* differences in awk and gawk, LINT variable: User-modified. (line 90)
* differences in awk and gawk, TEXTDOMAIN variable: User-modified.
- (line 154)
+ (line 155)
* differences in awk and gawk, ARGIND variable: Auto-set. (line 44)
* differences in awk and gawk, ERRNO variable: Auto-set. (line 87)
* differences in awk and gawk, FUNCTAB variable: Auto-set. (line 134)
@@ -36997,15 +36974,15 @@ Index
* differences in awk and gawk, function arguments: Calling Built-in.
(line 16)
* differences in awk and gawk, length() function: String Functions.
- (line 214)
+ (line 215)
* differences in awk and gawk, match() function: String Functions.
- (line 276)
+ (line 277)
* differences in awk and gawk, split() function: String Functions.
- (line 368)
+ (line 369)
* differences in awk and gawk, indirect function calls: Indirect Calls.
(line 6)
* differences in awk and gawk, BINMODE variable <1>: PC Using.
- (line 18)
+ (line 19)
* directories, searching, for source files: AWKPATH Variable. (line 6)
* directories, searching, for loadable extensions: AWKLIBPATH Variable.
(line 6)
@@ -37042,7 +37019,7 @@ Index
* down debugger command: Execution Stack. (line 23)
* Drepper, Ulrich: Acknowledgments. (line 52)
* Duman, Patrice: Acknowledgments. (line 75)
-* dump all variables of a program: Options. (line 97)
+* dump all variables of a program: Options. (line 98)
* dump debugger command: Miscellaneous Debugger Commands.
(line 9)
* dupword.awk program: Dupword Program. (line 31)
@@ -37098,14 +37075,14 @@ Index
* ENDFILE pattern, @namespace directive and: Changing The Namespace.
(line 37)
* endfile() user-defined function: Filetrans Function. (line 62)
-* endgrent() function (C library): Group Functions. (line 211)
-* endgrent() user-defined function: Group Functions. (line 214)
-* endpwent() function (C library): Passwd Functions. (line 207)
-* endpwent() user-defined function: Passwd Functions. (line 210)
+* endgrent() function (C library): Group Functions. (line 213)
+* endgrent() user-defined function: Group Functions. (line 216)
+* endpwent() function (C library): Passwd Functions. (line 208)
+* endpwent() user-defined function: Passwd Functions. (line 211)
* English, Steve: Advanced Features. (line 6)
* ENVIRON array: Auto-set. (line 59)
-* environment variables, AWKLIBPATH: Options. (line 203)
-* environment variables, POSIXLY_CORRECT: Options. (line 396)
+* environment variables, AWKLIBPATH: Options. (line 204)
+* environment variables, POSIXLY_CORRECT: Options. (line 397)
* environment variables, used by gawk: Environment Variables.
(line 6)
* environment variables, AWKPATH: AWKPATH Variable. (line 6)
@@ -37228,7 +37205,7 @@ Index
* exclamation point (!), !~ operator <4>: Comparison Operators.
(line 11)
* exclamation point (!), !~ operator <5>: Comparison Operators.
- (line 99)
+ (line 98)
* exclamation point (!), ! operator: Boolean Ops. (line 69)
* exclamation point (!), ! operator <1>: Precedence. (line 51)
* exclamation point (!), != operator <1>: Precedence. (line 64)
@@ -37245,10 +37222,10 @@ Index
(line 64)
* exit the debugger <1>: Miscellaneous Debugger Commands.
(line 100)
-* exp: Numeric Functions. (line 18)
-* expand utility: Very Simple. (line 96)
+* exp: Numeric Functions. (line 19)
+* expand utility: Very Simple. (line 97)
* Expat XML parser library: gawkextlib. (line 40)
-* exponent: Numeric Functions. (line 18)
+* exponent: Numeric Functions. (line 19)
* expressions: Expressions. (line 6)
* expressions, assignment: Assignment Ops. (line 6)
* expressions, comparison: Typing and Comparison.
@@ -37277,10 +37254,10 @@ Index
* extensions, common, /dev/stdout special file: Special FD. (line 48)
* extensions, common, /dev/stderr special file: Special FD. (line 48)
* extensions, common, ** operator: Arithmetic Ops. (line 30)
-* extensions, common, **= operator: Assignment Ops. (line 139)
+* extensions, common, **= operator: Assignment Ops. (line 138)
* extensions, common, delete to delete entire arrays: Delete. (line 39)
* extensions, common, length() applied to an array: String Functions.
- (line 214)
+ (line 215)
* extensions, common, fflush() function: I/O Functions. (line 43)
* extensions, common, func keyword: Definition Syntax. (line 99)
* extensions, loadable, allocating memory: Memory Allocation Functions.
@@ -37298,7 +37275,7 @@ Index
* extensions, in gawk, not in POSIX awk: POSIX/GNU. (line 6)
* extensions, Brian Kernighan's awk <1>: Common Extensions. (line 6)
* extensions, mawk: Common Extensions. (line 6)
-* extensions, common, BINMODE variable: PC Using. (line 18)
+* extensions, common, BINMODE variable: PC Using. (line 19)
* extract.awk program: Extract Program. (line 79)
* extraction, of marked strings (internationalization): String Extraction.
(line 6)
@@ -37335,6 +37312,7 @@ Index
* field separator <1>: User-modified. (line 53)
* field separator <2>: User-modified. (line 116)
* field separator, spaces as: Cut Program. (line 107)
+* field separator <3>: Changing Fields. (line 64)
* fields: Reading Files. (line 14)
* fields <1>: Fields. (line 6)
* fields, examining: Fields. (line 6)
@@ -37348,7 +37326,7 @@ Index
(line 6)
* fields, printing: Print Examples. (line 20)
* fields, cutting: Cut Program. (line 6)
-* fields <2>: Basic High Level. (line 64)
+* fields <2>: Basic High Level. (line 62)
* FIELDWIDTHS variable: Fixed width data. (line 17)
* FIELDWIDTHS variable <1>: User-modified. (line 37)
* file descriptors: Special FD. (line 6)
@@ -37362,8 +37340,8 @@ Index
* FILENAME variable <1>: Auto-set. (line 108)
* files, input: Read Terminal. (line 16)
* files, awk programs in: Long. (line 6)
-* files, awkvars.out: Options. (line 97)
-* files, portable object, generating: Options. (line 168)
+* files, awkvars.out: Options. (line 98)
+* files, portable object, generating: Options. (line 169)
* files, multiple passes over: Other Arguments. (line 64)
* files, reading, multiline records: Multiple Line. (line 6)
* files, descriptors: Special FD. (line 6)
@@ -37411,7 +37389,7 @@ Index
(line 80)
* files, message object, converting from portable object files: I18N Example.
(line 80)
-* find substring in string: String Functions. (line 169)
+* find substring in string: String Functions. (line 170)
* finding extensions: Finding Extensions. (line 6)
* finish debugger command: Debugger Execution Control.
(line 39)
@@ -37441,17 +37419,17 @@ Index
* format specifiers: Basic Printf. (line 15)
* format specifiers, printf statement: Control Letters. (line 6)
* format specifiers, strftime() function (gawk): Time Functions.
- (line 90)
+ (line 91)
* format specifiers, mixing regular with positional specifiers: Printf
Ordering.
(line 57)
* format time string: Time Functions. (line 50)
* formats, numeric output: OFMT. (line 6)
* formatting, output: Printf. (line 6)
-* formatting, strings: String Functions. (line 405)
+* formatting, strings: String Functions. (line 407)
* forward slash (/), to enclose regular expressions: Regexp. (line 10)
* forward slash (/), /= operator: Assignment Ops. (line 129)
* forward slash (/), /= operator, vs. /=.../ regexp constant: Assignment Ops.
- (line 150)
+ (line 149)
* forward slash (/), / operator: Precedence. (line 54)
* forward slash (/), /= operator <1>: Precedence. (line 94)
* forward slash (/), patterns and: Expression Patterns. (line 24)
@@ -37468,11 +37446,11 @@ Index
* Free Software Foundation (FSF) <3>: Glossary. (line 403)
* FreeBSD: Glossary. (line 747)
* FS variable, --field-separator option and: Options. (line 21)
-* FS variable, TAB character as: Options. (line 311)
+* FS variable, TAB character as: Options. (line 312)
* FS variable: Field Separators. (line 16)
* FS variable, changing value of: Field Separators. (line 35)
* FS variable, containing ^: Regexp Field Splitting.
- (line 58)
+ (line 59)
* FS variable, null string as: Single Character Fields.
(line 20)
* FS variable, character "," as: Comma Separated Fields.
@@ -37547,23 +37525,23 @@ Index
* gawk, uses for: Preface. (line 34)
* gawk, awk and <1>: This Manual. (line 14)
* gawk, newlines in: Statements/Lines. (line 12)
-* gawk, extensions, disabling: Options. (line 302)
-* gawk, version of, printing information about: Options. (line 349)
+* gawk, extensions, disabling: Options. (line 303)
+* gawk, version of, printing information about: Options. (line 350)
* gawk, ARGIND variable in: Other Arguments. (line 21)
* gawk, PROCINFO array in: Other Arguments. (line 21)
-* gawk, escape sequences: Escape Sequences. (line 120)
-* gawk, escape sequences <1>: Escape Sequences. (line 120)
+* gawk, escape sequences: Escape Sequences. (line 121)
+* gawk, escape sequences <1>: Escape Sequences. (line 121)
* gawk, regular expressions, precedence: Regexp Operator Details.
(line 142)
* gawk, interval expressions and: Interval Expressions.
(line 10)
-* gawk, character classes and: Bracket Expressions. (line 113)
+* gawk, character classes and: Bracket Expressions. (line 112)
* gawk, regular expressions, operators: GNU Regexp Operators.
(line 6)
* gawk, word-boundary operator: GNU Regexp Operators.
- (line 65)
+ (line 68)
* gawk, command-line options, regular expressions and: GNU Regexp Operators.
- (line 72)
+ (line 75)
* gawk, regular expressions, case sensitivity: Case-sensitivity.
(line 26)
* gawk, IGNORECASE variable in: Case-sensitivity. (line 26)
@@ -37574,7 +37552,7 @@ Index
(line 30)
* gawk, splitting fields and: Testing field creation.
(line 6)
-* gawk, RT variable in <2>: Multiple Line. (line 138)
+* gawk, RT variable in <2>: Multiple Line. (line 139)
* gawk, ERRNO variable in: Getline. (line 19)
* gawk, implementation issues, limits: Getline Notes. (line 14)
* gawk, format-control characters: Control Letters. (line 33)
@@ -37597,7 +37575,7 @@ Index
* gawk, field separators and: User-modified. (line 74)
* gawk, IGNORECASE variable in <1>: User-modified. (line 79)
* gawk, LINT variable in: User-modified. (line 90)
-* gawk, TEXTDOMAIN variable in: User-modified. (line 154)
+* gawk, TEXTDOMAIN variable in: User-modified. (line 155)
* gawk, ERRNO variable in <3>: Auto-set. (line 87)
* gawk, FUNCTAB array in: Auto-set. (line 134)
* gawk, PROCINFO array in <1>: Auto-set. (line 148)
@@ -37606,10 +37584,10 @@ Index
* gawk, SYMTAB array in: Auto-set. (line 355)
* gawk, IGNORECASE variable in <2>: Array Intro. (line 100)
* gawk, function arguments and: Calling Built-in. (line 16)
-* gawk, IGNORECASE variable in <3>: String Functions. (line 57)
+* gawk, IGNORECASE variable in <3>: String Functions. (line 58)
* gawk, timestamps: Time Functions. (line 6)
* gawk, PROCINFO array in <2>: Time Functions. (line 49)
-* gawk, bitwise operations in: Bitwise Functions. (line 41)
+* gawk, bitwise operations in: Bitwise Functions. (line 40)
* gawk, string-translation functions: I18N Functions. (line 6)
* gawk, features, advanced: Advanced Features. (line 6)
* gawk, IGNORECASE variable in <4>: Array Sorting Functions.
@@ -37640,6 +37618,7 @@ Index
* gawk, implementation issues, debugging: Compatibility Mode. (line 6)
* gawk, features, adding: Adding Code. (line 6)
* gawk, coding style in: Adding Code. (line 42)
+* gawk <1>: Preface. (line 34)
* gawkbug utility: Bug address. (line 31)
* gawkextlib project: gawkextlib. (line 6)
* gawklibpath_append shell function: Shell Startup Files. (line 29)
@@ -37673,19 +37652,19 @@ Index
* generate time values: Time Functions. (line 25)
* gensub: Standard Regexp Constants.
(line 43)
-* gensub <1>: String Functions. (line 98)
+* gensub <1>: String Functions. (line 99)
* gensub() function (gawk), escape processing: Gory Details. (line 6)
* getaddrinfo() function (C library): TCP/IP Networking. (line 39)
* getgrent() function (C library): Group Functions. (line 6)
-* getgrent() function (C library) <1>: Group Functions. (line 200)
+* getgrent() function (C library) <1>: Group Functions. (line 202)
* getgrent() user-defined function: Group Functions. (line 6)
-* getgrent() user-defined function <1>: Group Functions. (line 203)
-* getgrgid() function (C library): Group Functions. (line 182)
-* getgrgid() user-defined function: Group Functions. (line 185)
-* getgrnam() function (C library): Group Functions. (line 171)
-* getgrnam() user-defined function: Group Functions. (line 176)
-* getgruser() function (C library): Group Functions. (line 191)
-* getgruser() user-defined function: Group Functions. (line 194)
+* getgrent() user-defined function <1>: Group Functions. (line 205)
+* getgrgid() function (C library): Group Functions. (line 184)
+* getgrgid() user-defined function: Group Functions. (line 187)
+* getgrnam() function (C library): Group Functions. (line 173)
+* getgrnam() user-defined function: Group Functions. (line 178)
+* getgruser() function (C library): Group Functions. (line 193)
+* getgruser() user-defined function: Group Functions. (line 196)
* getline command: Reading Files. (line 20)
* getline command, explicit input with: Getline. (line 6)
* getline command, return values: Getline. (line 19)
@@ -37709,13 +37688,13 @@ Index
* getopt() user-defined function: Getopt Function. (line 117)
* getopt() user-defined function <1>: Getopt Function. (line 144)
* getpwent() function (C library): Passwd Functions. (line 16)
-* getpwent() function (C library) <1>: Passwd Functions. (line 195)
+* getpwent() function (C library) <1>: Passwd Functions. (line 196)
* getpwent() user-defined function: Passwd Functions. (line 16)
-* getpwent() user-defined function <1>: Passwd Functions. (line 199)
-* getpwnam() function (C library): Passwd Functions. (line 174)
-* getpwnam() user-defined function: Passwd Functions. (line 179)
-* getpwuid() function (C library): Passwd Functions. (line 185)
-* getpwuid() user-defined function: Passwd Functions. (line 189)
+* getpwent() user-defined function <1>: Passwd Functions. (line 200)
+* getpwnam() function (C library): Passwd Functions. (line 175)
+* getpwnam() user-defined function: Passwd Functions. (line 180)
+* getpwuid() function (C library): Passwd Functions. (line 186)
+* getpwuid() user-defined function: Passwd Functions. (line 190)
* gettext library: Explaining gettext. (line 6)
* gettext library, locale categories: Explaining gettext. (line 81)
* gettext() function (C library): Explaining gettext. (line 63)
@@ -37731,12 +37710,13 @@ Index
* GMP values, API ownership of: API Ownership of MPFR and GMP Values.
(line 6)
* GNITS mailing list: Acknowledgments. (line 52)
+* GNU awk: Preface. (line 51)
* GNU Free Documentation License: GNU Free Documentation License.
(line 8)
* GNU Lesser General Public License: Glossary. (line 489)
* GNU long options: Command Line. (line 13)
* GNU long options <1>: Options. (line 6)
-* GNU long options, printing list of: Options. (line 175)
+* GNU long options, printing list of: Options. (line 176)
* GNU Project: Manual History. (line 11)
* GNU Project <1>: Glossary. (line 403)
* GNU/Linux: Manual History. (line 28)
@@ -37746,7 +37726,7 @@ Index
* goawk: Other Versions. (line 125)
* Gordon, Assaf: Contributors. (line 108)
* GPL (General Public License): Manual History. (line 11)
-* GPL (General Public License), printing: Options. (line 92)
+* GPL (General Public License), printing: Options. (line 93)
* GPL (General Public License) <1>: Glossary. (line 394)
* grcat program: Group Functions. (line 16)
* Grigera, Juan: Contributors. (line 58)
@@ -37756,8 +37736,8 @@ Index
* groups, information about: Group Functions. (line 6)
* gsub: Standard Regexp Constants.
(line 43)
-* gsub <1>: String Functions. (line 153)
-* gsub() function, arguments of: String Functions. (line 484)
+* gsub <1>: String Functions. (line 154)
+* gsub() function, arguments of: String Functions. (line 486)
* gsub() function, escape processing: Gory Details. (line 6)
* Guerrero, Juan Manuel: Acknowledgments. (line 60)
* Guerrero, Juan Manuel <1>: Contributors. (line 150)
@@ -37772,13 +37752,13 @@ Index
* help debugger command: Miscellaneous Debugger Commands.
(line 67)
* hexadecimal numbers: Nondecimal-numbers. (line 6)
-* hexadecimal values, enabling interpretation of: Options. (line 255)
+* hexadecimal values, enabling interpretation of: Options. (line 256)
* history expansion, in debugger: Readline Support. (line 6)
* histsort.awk program: History Sorting. (line 25)
* Hughes, Phil: Acknowledgments. (line 43)
* HUP signal, for dynamic profiling: Profiling. (line 217)
-* hyphen (-), file names beginning with: Options. (line 63)
-* hyphen (-), -- end of options marker: Options. (line 354)
+* hyphen (-), file names beginning with: Options. (line 64)
+* hyphen (-), -- end of options marker: Options. (line 355)
* hyphen (-), in bracket expressions: Bracket Expressions. (line 25)
* hyphen (-), -= operator: Assignment Ops. (line 129)
* hyphen (-), -- operator: Increment Ops. (line 48)
@@ -37823,8 +37803,8 @@ Index
* @include directive: Include Files. (line 8)
* including files, @include directive: Include Files. (line 8)
* increment operators: Increment Ops. (line 6)
-* index: String Functions. (line 169)
-* indexing arrays: Array Intro. (line 49)
+* index: String Functions. (line 170)
+* indexing arrays: Array Intro. (line 48)
* indirect function calls: Indirect Calls. (line 6)
* indirect function calls, @-notation: Indirect Calls. (line 47)
* infinite precision: Arbitrary Precision Arithmetic.
@@ -37849,7 +37829,7 @@ Index
(line 6)
* input files, counting elements in: Wc Program. (line 6)
* input pipeline: Getline/Pipe. (line 10)
-* input record, length of: String Functions. (line 191)
+* input record, length of: String Functions. (line 192)
* input redirection: Getline/File. (line 6)
* input/output, from BEGIN and END: I/O And BEGIN/END. (line 6)
* input/output, binary: User-modified. (line 15)
@@ -37863,18 +37843,18 @@ Index
* installing gawk, OpenVMS: OpenVMS Installation.
(line 6)
* instruction tracing, in debugger: Debugger Info. (line 90)
-* instructions, trace of internal: Options. (line 197)
-* int: Numeric Functions. (line 23)
+* instructions, trace of internal: Options. (line 198)
+* int: Numeric Functions. (line 24)
* INT signal (MS-Windows): Profiling. (line 220)
* integer array indices: Numeric Array Subscripts.
(line 31)
* integers, unsigned: Computer Arithmetic. (line 41)
* integers, arbitrary precision: Arbitrary Precision Integers.
(line 6)
-* interacting with other programs: I/O Functions. (line 105)
+* interacting with other programs: I/O Functions. (line 106)
* internationalization, localization, character classes: Bracket Expressions.
- (line 113)
-* internationalization, localization: User-modified. (line 154)
+ (line 112)
+* internationalization, localization: User-modified. (line 155)
* internationalization: I18N Functions. (line 6)
* internationalization, localization <1>: Internationalization.
(line 19)
@@ -37893,17 +37873,17 @@ Index
* internationalization, localization, portability and: I18N Portability.
(line 6)
* internationalizing a program: Explaining gettext. (line 6)
-* interpreted programs: Basic High Level. (line 14)
+* interpreted programs: Basic High Level. (line 13)
* interpreted programs <1>: Glossary. (line 443)
* interval expressions, regexp operator: Regexp Operator Details.
(line 118)
* INT_CHAIN_MAX environment variable: Other Environment Variables.
(line 87)
* inventory-shipped file: Sample Data Files. (line 32)
-* invoke shell command: I/O Functions. (line 105)
+* invoke shell command: I/O Functions. (line 106)
* isarray: Type Functions. (line 11)
* isnumeric() user-defined function: Isnumeric Function. (line 11)
-* ISO, ISO 8601 date and time standard: Time Functions. (line 185)
+* ISO, ISO 8601 date and time standard: Time Functions. (line 186)
* ISO, ISO 8859-1 character set: Glossary. (line 194)
* ISO, ISO Latin-1 character set: Glossary. (line 194)
* ISO: Glossary. (line 454)
@@ -37946,7 +37926,7 @@ Index
* Langston, Peter: Advanced Features. (line 6)
* LANGUAGE environment variable: Explaining gettext. (line 120)
* LANGUAGE environment variable <1>: I18N Example. (line 68)
-* languages, data-driven: Basic High Level. (line 76)
+* languages, data-driven: Basic High Level. (line 74)
* LC_ALL environment variable: Split Program. (line 39)
* LC_ALL environment variable <1>: I18N Example. (line 68)
* LC_ALL environment variable <2>: Bug address. (line 18)
@@ -37967,11 +37947,11 @@ Index
(line 11)
* left angle bracket (<), < operator <1>: Precedence. (line 64)
* left angle bracket (<), <= operator <1>: Precedence. (line 64)
-* left shift, bitwise: Bitwise Functions. (line 33)
+* left shift, bitwise: Bitwise Functions. (line 32)
* leftmost longest match: Multiple Line. (line 26)
-* length: String Functions. (line 184)
-* length of input record: String Functions. (line 191)
-* length of string: String Functions. (line 184)
+* length: String Functions. (line 185)
+* length of input record: String Functions. (line 192)
+* length of string: String Functions. (line 185)
* Lesser General Public License (LGPL): Glossary. (line 489)
* LGPL (Lesser General Public License): Glossary. (line 489)
* libmawk: Other Versions. (line 153)
@@ -38008,9 +37988,9 @@ Index
* lines, counting: Wc Program. (line 6)
* lines, duplicate, removing: History Sorting. (line 6)
* lint checking, empty programs: Command Line. (line 16)
-* lint checking, issuing warnings: Options. (line 215)
+* lint checking, issuing warnings: Options. (line 216)
* lint checking, POSIXLY_CORRECT environment variable: Options.
- (line 396)
+ (line 397)
* lint checking: User-modified. (line 90)
* lint checking, array subscripts: Uninitialized Subscripts.
(line 43)
@@ -38023,17 +38003,17 @@ Index
* list function definitions, in debugger: Debugger Info. (line 30)
* @load directive: Loading Shared Libraries.
(line 8)
-* loading extensions: Options. (line 203)
+* loading extensions: Options. (line 204)
* loading extensions, @load directive: Loading Shared Libraries.
(line 8)
* local variables, in a function: Variable Scope. (line 6)
* local variables, show in debugger: Debugger Info. (line 34)
* locale categories: Explaining gettext. (line 81)
-* locale decimal point character: Options. (line 314)
+* locale decimal point character: Options. (line 315)
* locale, definition of: Locales. (line 6)
-* log: Numeric Functions. (line 28)
+* log: Numeric Functions. (line 29)
* log files, timestamps in: Time Functions. (line 6)
-* logarithm: Numeric Functions. (line 28)
+* logarithm: Numeric Functions. (line 29)
* logical false/true: Truth Values. (line 6)
* login information: Passwd Functions. (line 16)
* long options: Command Line. (line 13)
@@ -38046,9 +38026,10 @@ Index
* loops, break statement and: Break Statement. (line 6)
* loops, for, array scanning: Scanning an Array. (line 6)
* loops, count for header, in a profile: Profiling. (line 131)
-* ls utility: Very Simple. (line 54)
+* loops <1>: While Statement. (line 6)
+* ls utility: Very Simple. (line 55)
* ls utility <1>: More Complex. (line 15)
-* lshift: Bitwise Functions. (line 48)
+* lshift: Bitwise Functions. (line 47)
* lvalues/rvalues: Assignment Ops. (line 31)
* mail-list file: Sample Data Files. (line 6)
* mailing labels, printing: Labels Program. (line 6)
@@ -38060,16 +38041,16 @@ Index
* marked string extraction (internationalization): String Extraction.
(line 6)
* Marx, Groucho: Increment Ops. (line 60)
-* match: String Functions. (line 224)
-* match regexp in string: String Functions. (line 224)
+* match: String Functions. (line 225)
+* match regexp in string: String Functions. (line 225)
* match() function, RSTART/RLENGTH variables: String Functions.
- (line 241)
-* match() function, side effects: String Functions. (line 241)
+ (line 242)
+* match() function, side effects: String Functions. (line 242)
* matching, leftmost longest: Multiple Line. (line 26)
* matching, expressions: Typing and Comparison.
(line 9)
-* matching, null strings: String Functions. (line 567)
-* mawk utility: Escape Sequences. (line 120)
+* matching, null strings: String Functions. (line 569)
+* mawk utility: Escape Sequences. (line 121)
* mawk utility <1>: Getline/Pipe. (line 62)
* mawk utility <2>: Concatenation. (line 36)
* mawk utility <3>: Nextfile Statement. (line 47)
@@ -38087,7 +38068,7 @@ Index
* message object files, converting from portable object files: I18N Example.
(line 80)
* messages from extensions: Printing Messages. (line 6)
-* metacharacters, escape sequences for: Escape Sequences. (line 139)
+* metacharacters, escape sequences for: Escape Sequences. (line 140)
* metacharacters, in regular expressions: Regexp Operators. (line 6)
* minimum precision required by MPFR library: Auto-set. (line 282)
* Minshall, Greg: Getopt Function. (line 105)
@@ -38148,7 +38129,7 @@ Index
* networks, support for: Special Network. (line 6)
* networks, programming: TCP/IP Networking. (line 6)
* newlines: Statements/Lines. (line 6)
-* newlines <1>: Options. (line 308)
+* newlines <1>: Options. (line 309)
* newlines, in dynamic regexps: Computed Regexps. (line 60)
* newlines, in regexp constants: Computed Regexps. (line 70)
* newlines, as record separators: awk split records. (line 12)
@@ -38192,16 +38173,16 @@ Index
(line 73)
* null strings: awk split records. (line 108)
* null strings <1>: Regexp Field Splitting.
- (line 42)
+ (line 43)
* null strings, converting numbers to strings: Strings And Numbers.
(line 21)
* null strings <2>: Truth Values. (line 6)
* null strings, as array subscripts: Uninitialized Subscripts.
(line 43)
* null strings, deleting array elements and: Delete. (line 27)
-* null strings, matching: String Functions. (line 567)
+* null strings, matching: String Functions. (line 569)
* null strings <3>: Basic Data Typing. (line 26)
-* number of array elements: String Functions. (line 214)
+* number of array elements: String Functions. (line 215)
* number sign (#), #! (executable scripts): Executable Scripts.
(line 6)
* number sign (#), commenting: Comments. (line 6)
@@ -38212,8 +38193,8 @@ Index
* numbers, converting, to strings <1>: User-modified. (line 107)
* numbers, as array subscripts: Numeric Array Subscripts.
(line 6)
-* numbers, converting <1>: Bitwise Functions. (line 110)
-* numbers, as string of bits: Bitwise Functions. (line 110)
+* numbers, converting <1>: Bitwise Functions. (line 109)
+* numbers, as string of bits: Bitwise Functions. (line 109)
* numbers, rounding: Round Function. (line 6)
* numbers, Cliff random: Cliff Random Function.
(line 6)
@@ -38225,7 +38206,7 @@ Index
* o debugger command (alias for option): Debugger Info. (line 57)
* obsolete features: Obsolete. (line 6)
* octal numbers: Nondecimal-numbers. (line 6)
-* octal values, enabling interpretation of: Options. (line 255)
+* octal values, enabling interpretation of: Options. (line 256)
* OFMT variable: OFMT. (line 15)
* OFMT variable, POSIX awk and: OFMT. (line 27)
* OFMT variable <1>: Strings And Numbers. (line 56)
@@ -38233,7 +38214,7 @@ Index
* OFS variable: Changing Fields. (line 64)
* OFS variable <1>: Output Separators. (line 6)
* OFS variable <2>: User-modified. (line 116)
-* op-codes, trace of internal: Options. (line 197)
+* op-codes, trace of internal: Options. (line 198)
* OpenBSD: Glossary. (line 747)
* OpenSolaris: Other Versions. (line 100)
* operating systems, BSD-based: Manual History. (line 28)
@@ -38247,9 +38228,9 @@ Index
* operators, GNU-specific: GNU Regexp Operators.
(line 6)
* operators, string-matching, for buffers: GNU Regexp Operators.
- (line 50)
+ (line 53)
* operators, word-boundary (gawk): GNU Regexp Operators.
- (line 65)
+ (line 68)
* operators, input/output: Getline/File. (line 6)
* operators, input/output <1>: Getline/Pipe. (line 10)
* operators, input/output <2>: Getline/Coprocess. (line 6)
@@ -38274,11 +38255,11 @@ Index
* options, long: Command Line. (line 13)
* options, command-line: Options. (line 6)
* options, long <1>: Options. (line 6)
-* options, command-line, end of: Options. (line 58)
-* options, printing list of: Options. (line 175)
+* options, command-line, end of: Options. (line 59)
+* options, printing list of: Options. (line 176)
* options, deprecated: Obsolete. (line 6)
* options, command-line, processing: Getopt Function. (line 6)
-* or: Bitwise Functions. (line 51)
+* or: Bitwise Functions. (line 50)
* OR bitwise operation: Bitwise Functions. (line 6)
* or Boolean-logic operator: Boolean Ops. (line 6)
* ord() extension function: Extension Sample Ord.
@@ -38286,7 +38267,7 @@ Index
* ord() user-defined function: Ordinal Functions. (line 16)
* order of evaluation, concatenation: Concatenation. (line 41)
* ORS variable: Output Separators. (line 20)
-* ORS variable <1>: User-modified. (line 121)
+* ORS variable <1>: User-modified. (line 122)
* output, records: Output Separators. (line 20)
* output, format specifier, OFMT: OFMT. (line 15)
* output, formatted: Printf. (line 6)
@@ -38297,6 +38278,8 @@ Index
* output, buffering: I/O Functions. (line 32)
* output, buffering <1>: I/O Functions. (line 168)
* output, duplicating into files: Tee Program. (line 6)
+* output field separator: Changing Fields. (line 64)
+* output record separator: Output Separators. (line 20)
* output redirection: Redirection. (line 6)
* output wrapper: Output Wrappers. (line 6)
* p debugger command (alias for print): Viewing And Changing Data.
@@ -38311,8 +38294,8 @@ Index
* Path environment variable: PC Binary Installation.
(line 6)
* PATH environment variable: Derived Files. (line 94)
-* patsplit: String Functions. (line 310)
-* patterns, default: Very Simple. (line 34)
+* patsplit: String Functions. (line 311)
+* patterns, default: Very Simple. (line 35)
* patterns, regexp constants as: Regexp Usage. (line 6)
* patterns: Patterns and Actions.
(line 6)
@@ -38362,7 +38345,7 @@ Index
* portability, #! (executable scripts): Executable Scripts. (line 29)
* portability, ARGV variable: Executable Scripts. (line 55)
* portability, backslash continuation and: Statements/Lines. (line 30)
-* portability, POSIXLY_CORRECT environment variable: Options. (line 416)
+* portability, POSIXLY_CORRECT environment variable: Options. (line 417)
* portability: Escape Sequences. (line 103)
* portability, backslash in escape sequences: Escape Sequences.
(line 108)
@@ -38373,12 +38356,12 @@ Index
(line 81)
* portability, new awk vs. old awk: Strings And Numbers. (line 56)
* portability, ** operator and: Arithmetic Ops. (line 85)
-* portability, **= operator and: Assignment Ops. (line 145)
+* portability, **= operator and: Assignment Ops. (line 144)
* portability, operators: Increment Ops. (line 60)
* portability, operators, not in POSIX awk: Precedence. (line 97)
* portability, deleting array elements: Delete. (line 56)
-* portability, length() function: String Functions. (line 193)
-* portability, substr() function: String Functions. (line 534)
+* portability, length() function: String Functions. (line 194)
+* portability, substr() function: String Functions. (line 536)
* portability, functions, defining: Definition Syntax. (line 114)
* portability, next statement in user-defined functions: Function Caveats.
(line 26)
@@ -38386,7 +38369,7 @@ Index
* portability, gettext library and: Explaining gettext. (line 11)
* portability, internationalization and: I18N Portability. (line 6)
* portability, gawk: New Ports. (line 6)
-* portable object, files, generating: Options. (line 168)
+* portable object, files, generating: Options. (line 169)
* portable object, template files: Explaining gettext. (line 31)
* portable object, files: Explaining gettext. (line 37)
* portable object, files <1>: Translator i18n. (line 6)
@@ -38415,7 +38398,7 @@ Index
* POSIX awk, bracket expressions and, character classes: Bracket Expressions.
(line 40)
* POSIX awk, bracket expressions and, character classes <1>: Bracket
Expressions.
- (line 113)
+ (line 112)
* POSIX awk, field separators and: Full Line Fields. (line 16)
* POSIX awk, < operator and: Getline/File. (line 26)
* POSIX awk, | I/O operator and: Getline/Pipe. (line 56)
@@ -38423,8 +38406,8 @@ Index
* POSIX awk, printf format strings and: Format Modifiers. (line 157)
* POSIX awk, OFMT variable and <1>: Strings And Numbers. (line 56)
* POSIX awk, arithmetic operators and: Arithmetic Ops. (line 30)
-* POSIX awk <1>: Assignment Ops. (line 139)
-* POSIX awk, **= operator and: Assignment Ops. (line 145)
+* POSIX awk <1>: Assignment Ops. (line 138)
+* POSIX awk, **= operator and: Assignment Ops. (line 144)
* POSIX awk, numeric strings and: Variable Typing. (line 67)
* POSIX awk, ** operator and: Precedence. (line 97)
* POSIX awk, BEGIN/END patterns: I/O And BEGIN/END. (line 15)
@@ -38432,20 +38415,20 @@ Index
* POSIX awk, continue statement and: Continue Statement. (line 44)
* POSIX awk, next/nextfile statements and: Next Statement. (line 44)
* POSIX awk, CONVFMT variable and: User-modified. (line 30)
-* POSIX awk, functions and, length(): String Functions. (line 193)
-* POSIX awk, functions and, gsub()/sub(): Gory Details. (line 92)
+* POSIX awk, functions and, length(): String Functions. (line 194)
+* POSIX awk, functions and, gsub()/sub(): Gory Details. (line 90)
* POSIX awk, timestamps and: Time Functions. (line 6)
-* POSIX awk, date utility and: Time Functions. (line 254)
+* POSIX awk, date utility and: Time Functions. (line 255)
* POSIX awk, function keyword in: Definition Syntax. (line 99)
* POSIX awk, changes in awk versions: POSIX. (line 6)
-* POSIX mode: Options. (line 302)
-* POSIX mode <1>: Options. (line 396)
+* POSIX mode: Options. (line 303)
+* POSIX mode <1>: Options. (line 397)
* POSIX mode <2>: Regexp Operator Details.
(line 47)
* POSIX mode <3>: Input Summary. (line 69)
* POSIX mode <4>: Special Caveats. (line 9)
* POSIX mode <5>: Close Files And Pipes.
- (line 165)
+ (line 164)
* POSIX mode <6>: Scalar Constants. (line 63)
* POSIX mode <7>: Locale influences conversions.
(line 41)
@@ -38453,30 +38436,30 @@ Index
(line 12)
* POSIX mode <9>: POSIX String Comparison.
(line 34)
-* POSIX mode <10>: String Functions. (line 401)
+* POSIX mode <10>: String Functions. (line 403)
* POSIX mode <11>: Controlling Array Traversal.
(line 226)
* POSIX mode <12>: POSIX Floating Point Problems.
(line 83)
* POSIX mode <13>: Feature History. (line 315)
-* POSIXLY_CORRECT environment variable: Options. (line 396)
+* POSIXLY_CORRECT environment variable: Options. (line 397)
* POSIXLY_CORRECT environment variable <1>: Other Environment Variables.
(line 33)
* POSIXLY_CORRECT environment variable <2>: Invoking Summary. (line 49)
* POSIXLY_CORRECT environment variable <3>: Locale influences conversions.
(line 41)
-* PREC variable: User-modified. (line 126)
+* PREC variable: User-modified. (line 127)
* precedence, regexp operators: Regexp Operator Details.
(line 137)
* precedence: Increment Ops. (line 60)
* precedence <1>: Precedence. (line 6)
-* predefined variables, -v option, setting with: Options. (line 44)
+* predefined variables, -v option, setting with: Options. (line 45)
* predefined variables: Built-in Variables. (line 6)
* predefined variables, user-modifiable: User-modified. (line 6)
* predefined variables, conveying information: Auto-set. (line 6)
* pretty printer, interaction with namespaces: Namespace And Features.
(line 9)
-* pretty printing: Options. (line 267)
+* pretty printing: Options. (line 268)
* pretty printing <1>: Profiling. (line 228)
* pretty printing, profiling, difference with: Profiling. (line 235)
* print debugger command: Viewing And Changing Data.
@@ -38506,7 +38489,7 @@ Index
(line 6)
* printf statement, positional specifiers, mixing with regular formats: Printf
Ordering.
(line 57)
-* printing, list of options: Options. (line 175)
+* printing, list of options: Options. (line 176)
* printing: Printing. (line 6)
* printing, user information: Id Program. (line 6)
* printing, unduplicated lines of text: Uniq Program. (line 6)
@@ -38538,7 +38521,7 @@ Index
* program, definition of: Getting Started. (line 21)
* programming, concepts: Basic Concepts. (line 6)
* programming, concepts <1>: Basic Concepts. (line 6)
-* programming, basic steps: Basic High Level. (line 19)
+* programming, basic steps: Basic High Level. (line 18)
* programming conventions, exit statement: Exit Statement. (line 38)
* programming conventions, ARGC/ARGV variables: Auto-set. (line 35)
* programming conventions, functions, calling: Calling Built-in.
@@ -38571,7 +38554,7 @@ Index
* question mark (?), regexp operator: Regexp Operator Details.
(line 113)
* question mark (?), regexp operator <1>: GNU Regexp Operators.
- (line 61)
+ (line 64)
* question mark (?), ?: operator: Precedence. (line 91)
* QuikTrim Awk: Other Versions. (line 178)
* quit debugger command: Miscellaneous Debugger Commands.
@@ -38587,10 +38570,10 @@ Index
* Ramey, Chet: Acknowledgments. (line 60)
* Ramey, Chet <1>: General Data Types. (line 6)
* Ramming, J. Christopher: Other Versions. (line 167)
-* rand: Numeric Functions. (line 33)
+* rand: Numeric Functions. (line 34)
* random numbers, rand()/srand() functions: Numeric Functions.
- (line 33)
-* random numbers, seed of: Numeric Functions. (line 63)
+ (line 34)
+* random numbers, seed of: Numeric Functions. (line 64)
* random numbers, Cliff: Cliff Random Function.
(line 6)
* range expressions (regexps): Bracket Expressions. (line 6)
@@ -38621,14 +38604,14 @@ Index
* record separators, regular expressions as: awk split records.
(line 118)
* record separators, with multiline records: Multiple Line. (line 10)
-* record separators <1>: User-modified. (line 135)
+* record separators <1>: User-modified. (line 136)
* records: Reading Files. (line 14)
* records, splitting input into: Records. (line 6)
* records, terminating: awk split records. (line 118)
* records, treating files as: gawk split records. (line 104)
* records, multiline: Multiple Line. (line 6)
* records, printing: Print. (line 22)
-* records <1>: Basic High Level. (line 64)
+* records <1>: Basic High Level. (line 62)
* recursive functions: Definition Syntax. (line 89)
* redirect gawk output, in debugger: Debugger Info. (line 73)
* redirection, of input: Getline/File. (line 6)
@@ -38643,15 +38626,15 @@ Index
* regexp constants <1>: Regexp Constants. (line 6)
* regexp constants, in gawk: Standard Regexp Constants.
(line 28)
-* regexp constants, /=.../, /= operator and: Assignment Ops. (line 150)
+* regexp constants, /=.../, /= operator and: Assignment Ops. (line 149)
* regexp constants <2>: Comparison Operators.
- (line 104)
+ (line 103)
* regexp constants, as patterns: Expression Patterns. (line 34)
* regexps, empty: Regexp Operator Details.
(line 149)
* register loadable extension: Registration Functions.
(line 6)
-* regular expressions, interval expressions and: Options. (line 323)
+* regular expressions, interval expressions and: Options. (line 324)
* regular expressions: Regexp. (line 6)
* regular expressions, as patterns: Regexp Usage. (line 6)
* regular expressions, operators: Regexp Usage. (line 19)
@@ -38671,9 +38654,9 @@ Index
* regular expressions, operators, for words: GNU Regexp Operators.
(line 6)
* regular expressions, operators, for buffers: GNU Regexp Operators.
- (line 50)
+ (line 53)
* regular expressions, gawk, command-line options: GNU Regexp Operators.
- (line 72)
+ (line 75)
* regular expressions, case sensitivity: Case-sensitivity. (line 6)
* regular expressions, as record separators: awk split records.
(line 118)
@@ -38683,7 +38666,7 @@ Index
* regular expressions, as patterns <1>: Regexp Patterns. (line 6)
* regular expressions, case sensitivity <1>: User-modified. (line 79)
* regular expressions, searching for: Egrep Program. (line 6)
-* replace in string: String Functions. (line 430)
+* replace in string: String Functions. (line 432)
* retrying input: Retrying Input. (line 6)
* return debugger command: Debugger Execution Control.
(line 54)
@@ -38705,10 +38688,10 @@ Index
* right angle bracket (>), >= operator <1>: Precedence. (line 64)
* right angle bracket (>), > operator <1>: Precedence. (line 64)
* right angle bracket (>), >> operator (I/O) <1>: Precedence. (line 64)
-* right shift, bitwise: Bitwise Functions. (line 33)
+* right shift, bitwise: Bitwise Functions. (line 32)
* Ritchie, Dennis: Basic Data Typing. (line 54)
* RLENGTH variable: Auto-set. (line 338)
-* RLENGTH variable, match() function and: String Functions. (line 241)
+* RLENGTH variable, match() function and: String Functions. (line 242)
* Robbins, Miriam: Acknowledgments. (line 94)
* Robbins, Jean: Acknowledgments. (line 94)
* Robbins, Harry: Acknowledgments. (line 94)
@@ -38727,21 +38710,21 @@ Index
* Robbins, Arnold <6>: Maintainers. (line 14)
* Robbins, Arnold <7>: Future Extensions. (line 6)
* Rommel, Kai Uwe: Contributors. (line 43)
-* round to nearest integer: Numeric Functions. (line 23)
+* round to nearest integer: Numeric Functions. (line 24)
* round() user-defined function: Round Function. (line 16)
* rounding numbers: Round Function. (line 6)
-* ROUNDMODE variable: User-modified. (line 130)
+* ROUNDMODE variable: User-modified. (line 131)
* ROUNDMODE variable <1>: Setting the rounding mode.
(line 6)
* RS variable: awk split records. (line 12)
* RS variable, multiline records and: Multiple Line. (line 17)
-* RS variable <1>: User-modified. (line 135)
-* rshift: Bitwise Functions. (line 55)
+* RS variable <1>: User-modified. (line 136)
+* rshift: Bitwise Functions. (line 54)
* RSTART variable: Auto-set. (line 344)
-* RSTART variable, match() function and: String Functions. (line 241)
+* RSTART variable, match() function and: String Functions. (line 242)
* RT variable: awk split records. (line 118)
* RT variable <1>: gawk split records. (line 66)
-* RT variable <2>: Multiple Line. (line 138)
+* RT variable <2>: Multiple Line. (line 139)
* RT variable <3>: Auto-set. (line 351)
* Rubin, Paul: History. (line 30)
* Rubin, Paul <1>: Contributors. (line 16)
@@ -38753,7 +38736,7 @@ Index
(line 68)
* sample debugging session: Sample Debugging Session.
(line 6)
-* sandbox mode: Options. (line 334)
+* sandbox mode: Options. (line 335)
* save debugger options: Debugger Info. (line 85)
* scalar or array: Type Functions. (line 11)
* scalar values: Basic Data Typing. (line 13)
@@ -38764,8 +38747,8 @@ Index
* Schorr, Andrew <2>: Contributors. (line 136)
* Schreiber, Bert: Acknowledgments. (line 38)
* Schreiber, Rita: Acknowledgments. (line 38)
-* search and replace in strings: String Functions. (line 98)
-* search for substring: String Functions. (line 169)
+* search and replace in strings: String Functions. (line 99)
+* search for substring: String Functions. (line 170)
* search paths, for source files: AWKPATH Variable. (line 6)
* search paths, for loadable extensions: AWKLIBPATH Variable. (line 6)
* search paths: Programs Exercises. (line 70)
@@ -38779,7 +38762,7 @@ Index
* sed utility: Full Line Fields. (line 22)
* sed utility <1>: Simple Sed. (line 6)
* sed utility <2>: Glossary. (line 16)
-* seeding random number generator: Numeric Functions. (line 63)
+* seeding random number generator: Numeric Functions. (line 64)
* semicolon (;), separating statements in actions: Statements/Lines.
(line 98)
* semicolon (;), separating rules: Statements/Lines. (line 98)
@@ -38799,8 +38782,8 @@ Index
* separators, field, FPAT variable and: User-modified. (line 46)
* separators, field: User-modified. (line 53)
* separators, field <1>: User-modified. (line 116)
-* separators, for records <2>: User-modified. (line 135)
-* separators, subscript: User-modified. (line 148)
+* separators, for records <2>: User-modified. (line 136)
+* separators, subscript: User-modified. (line 149)
* set breakpoint: Breakpoint Control. (line 11)
* set debugger command: Viewing And Changing Data.
(line 62)
@@ -38824,7 +38807,7 @@ Index
(line 6)
* shells, quoting: Using Shell Variables.
(line 12)
-* shift, bitwise: Bitwise Functions. (line 33)
+* shift, bitwise: Bitwise Functions. (line 32)
* short-circuit operators: Boolean Ops. (line 59)
* show in debugger, function arguments: Debugger Info. (line 18)
* show in debugger, breakpoints: Debugger Info. (line 21)
@@ -38847,9 +38830,9 @@ Index
* side effects, statements: Action Overview. (line 32)
* side effects, array indexing: Reference to Elements.
(line 43)
-* side effects, match() function: String Functions. (line 241)
-* side effects, sub() function: String Functions. (line 484)
-* side effects, gsub() function: String Functions. (line 484)
+* side effects, match() function: String Functions. (line 242)
+* side effects, sub() function: String Functions. (line 486)
+* side effects, gsub() function: String Functions. (line 486)
* side effects, asort() function: Array Sorting Functions.
(line 24)
* side effects, asorti() function: Array Sorting Functions.
@@ -38861,7 +38844,7 @@ Index
* sidebar, Backslash Before Regular Characters: Escape Sequences.
(line 106)
* sidebar, Escape Sequences for Metacharacters: Escape Sequences.
- (line 137)
+ (line 138)
* sidebar, What About The Empty Regexp?: Regexp Operator Details.
(line 147)
* sidebar, Using \n in Bracket Expressions of Dynamic Regexps: Computed
Regexps.
@@ -38882,19 +38865,19 @@ Index
* sidebar, Pre-POSIX awk Used OFMT for String Conversion: Strings And Numbers.
(line 54)
* sidebar, Syntactic Ambiguities Between /= and Regular Expressions:
Assignment Ops.
- (line 148)
+ (line 147)
* sidebar, Operator Evaluation Order: Increment Ops. (line 58)
* sidebar, Changing NR and FNR: Auto-set. (line 410)
-* sidebar, Matching the Null String: String Functions. (line 565)
+* sidebar, Matching the Null String: String Functions. (line 567)
* sidebar, Interactive Versus Noninteractive Buffering: I/O Functions.
- (line 73)
+ (line 74)
* sidebar, Controlling Output Buffering with system(): I/O Functions.
(line 166)
-* sidebar, Beware The Smoke and Mirrors!: Bitwise Functions. (line 128)
+* sidebar, Beware The Smoke and Mirrors!: Bitwise Functions. (line 127)
* sidebar, So Why Does gawk Have BEGINFILE and ENDFILE?: Filetrans Function.
(line 83)
* sidebar, Rounding Modes and Conversion: Setting the rounding mode.
- (line 66)
+ (line 65)
* sidebar, A Note About Fuzzers: Bug definition. (line 70)
* SIGHUP signal, for dynamic profiling: Profiling. (line 217)
* SIGINT signal (MS-Windows): Profiling. (line 220)
@@ -38907,8 +38890,8 @@ Index
* SIGUSR1 signal, for dynamic profiling: Profiling. (line 194)
* silent debugger command: Debugger Execution Control.
(line 10)
-* sin: Numeric Functions. (line 74)
-* sine: Numeric Functions. (line 74)
+* sin: Numeric Functions. (line 75)
+* sine: Numeric Functions. (line 75)
* single quote ('): One-shot. (line 15)
* single quote ('), in gawk command lines: Long. (line 35)
* single quote ('), vs. apostrophe: Comments. (line 27)
@@ -38926,15 +38909,15 @@ Index
(line 31)
* Smith, Gavin: Acknowledgments. (line 75)
* Solaris, POSIX-compliant awk: Other Versions. (line 100)
-* sort array: String Functions. (line 41)
-* sort array indices: String Functions. (line 41)
+* sort array: String Functions. (line 42)
+* sort array indices: String Functions. (line 42)
* sort function, arrays, sorting: Array Sorting Functions.
(line 6)
* sort utility: Word Sorting. (line 50)
* sort utility, coprocesses and: Two-way I/O. (line 66)
* sorting characters in different languages: Explaining gettext.
(line 94)
-* source code, mixing: Options. (line 120)
+* source code, mixing: Options. (line 121)
* source code, gawk: Gawk Distribution. (line 6)
* source code, Brian Kernighan's awk: Other Versions. (line 13)
* source code, mawk: Other Versions. (line 39)
@@ -38958,20 +38941,20 @@ Index
* source files, search path for: Programs Exercises. (line 70)
* sparse arrays: Array Intro. (line 76)
* Spencer, Henry: Glossary. (line 16)
-* split: String Functions. (line 331)
-* split string into array: String Functions. (line 310)
+* split: String Functions. (line 332)
+* split string into array: String Functions. (line 311)
* split utility: Split Program. (line 6)
* split() function, array elements, deleting: Delete. (line 61)
* split.awk program: Split Program. (line 51)
* sprintf: OFMT. (line 15)
-* sprintf <1>: String Functions. (line 405)
+* sprintf <1>: String Functions. (line 407)
* sprintf() function, print/printf statements and: Round Function.
(line 6)
-* sqrt: Numeric Functions. (line 77)
+* sqrt: Numeric Functions. (line 78)
* square brackets ([]), regexp operator: Regexp Operator Details.
(line 52)
-* square root: Numeric Functions. (line 77)
-* srand: Numeric Functions. (line 81)
+* square root: Numeric Functions. (line 78)
+* srand: Numeric Functions. (line 82)
* stack frame (debugger): Debugging Terms. (line 10)
* Stallman, Richard: Manual History. (line 6)
* Stallman, Richard <1>: Acknowledgments. (line 18)
@@ -38999,8 +38982,8 @@ Index
* string, constants, vs. regexp constants: Computed Regexps. (line 40)
* string, constants: Scalar Constants. (line 15)
* string, operators: Concatenation. (line 9)
-* string, length: String Functions. (line 184)
-* string, regular expression match of: String Functions. (line 224)
+* string, length: String Functions. (line 185)
+* string, regular expression match of: String Functions. (line 225)
* string, extraction (internationalization): String Extraction.
(line 6)
* string-manipulation functions: String Functions. (line 6)
@@ -39008,30 +38991,30 @@ Index
* string-translation functions: I18N Functions. (line 6)
* strings, empty: awk split records. (line 108)
* strings, null: Regexp Field Splitting.
- (line 42)
+ (line 43)
* strings, length limitations: Scalar Constants. (line 20)
* strings, continuation across lines: Scalar Constants. (line 53)
* strings, converting: Strings And Numbers. (line 6)
* strings, numeric: Variable Typing. (line 67)
* strings, converting, numbers to: User-modified. (line 30)
* strings, converting, numbers to <1>: User-modified. (line 107)
-* strings, splitting, example: String Functions. (line 354)
-* strings, converting letter case: String Functions. (line 544)
-* strings, converting <1>: Bitwise Functions. (line 110)
+* strings, splitting, example: String Functions. (line 355)
+* strings, converting letter case: String Functions. (line 546)
+* strings, converting <1>: Bitwise Functions. (line 109)
* strings, merging arrays into: Join Function. (line 6)
* strings, for localization: Programmer i18n. (line 13)
* strings, extracting: String Extraction. (line 6)
-* strtonum: String Functions. (line 412)
+* strtonum: String Functions. (line 414)
* strtonum() function (gawk), --non-decimal-data option and: Nondecimal Data.
(line 35)
* STR_CHAIN_MAX environment variable: Other Environment Variables.
(line 91)
* sub: Standard Regexp Constants.
(line 43)
-* sub <1>: String Functions. (line 430)
-* sub() function, arguments of: String Functions. (line 484)
+* sub <1>: String Functions. (line 432)
+* sub() function, arguments of: String Functions. (line 486)
* sub() function, escape processing: Gory Details. (line 6)
-* subscript separators: User-modified. (line 148)
+* subscript separators: User-modified. (line 149)
* subscripts in arrays, numbers as: Numeric Array Subscripts.
(line 6)
* subscripts in arrays, uninitialized variables as: Uninitialized Subscripts.
@@ -39039,20 +39022,20 @@ Index
* subscripts in arrays, multidimensional: Multidimensional. (line 10)
* subscripts in arrays, multidimensional, scanning: Multiscanning.
(line 11)
-* SUBSEP variable: User-modified. (line 148)
+* SUBSEP variable: User-modified. (line 149)
* SUBSEP variable, multidimensional arrays and: Multidimensional.
(line 16)
-* substitute in string: String Functions. (line 98)
-* substr: String Functions. (line 503)
-* substring: String Functions. (line 503)
+* substitute in string: String Functions. (line 99)
+* substr: String Functions. (line 505)
+* substring: String Functions. (line 505)
* Sumner, Andrew: Other Versions. (line 64)
* supplementary groups of gawk process: Auto-set. (line 295)
* switch statement: Switch Statement. (line 6)
* SYMTAB array: Auto-set. (line 355)
* syntactic ambiguity: /= operator vs. /=.../ regexp constant: Assignment Ops.
- (line 150)
-* system: I/O Functions. (line 105)
-* systime: Time Functions. (line 67)
+ (line 149)
+* system: I/O Functions. (line 106)
+* systime: Time Functions. (line 68)
* t debugger command (alias for tbreak): Breakpoint Control. (line 90)
* tbreak debugger command: Breakpoint Control. (line 90)
* Tcl: Library Names. (line 58)
@@ -39062,7 +39045,7 @@ Index
* tee.awk program: Tee Program. (line 26)
* temporary breakpoint: Breakpoint Control. (line 90)
* terminating records: awk split records. (line 118)
-* testbits.awk program: Bitwise Functions. (line 70)
+* testbits.awk program: Bitwise Functions. (line 69)
* testext extension: Extension Sample API Tests.
(line 6)
* Texinfo: Conventions. (line 6)
@@ -39078,7 +39061,7 @@ Index
* Texinfo <5>: Adding Code. (line 113)
* text, printing: Print. (line 22)
* text, printing, unduplicated lines of: Uniq Program. (line 6)
-* TEXTDOMAIN variable: User-modified. (line 154)
+* TEXTDOMAIN variable: User-modified. (line 155)
* TEXTDOMAIN variable <1>: Programmer i18n. (line 8)
* TEXTDOMAIN variable, BEGIN pattern and: Programmer i18n. (line 60)
* TEXTDOMAIN variable, portability and: I18N Portability. (line 20)
@@ -39092,7 +39075,7 @@ Index
* tilde (~), ~ operator <4>: Comparison Operators.
(line 11)
* tilde (~), ~ operator <5>: Comparison Operators.
- (line 99)
+ (line 98)
* tilde (~), ~ operator <6>: Precedence. (line 79)
* tilde (~), ~ operator <7>: Expression Patterns. (line 24)
* time, retrieving: Time Functions. (line 17)
@@ -39103,23 +39086,23 @@ Index
* time functions: Time Functions. (line 6)
* timeout, reading input: Read Timeout. (line 6)
* timestamps: Time Functions. (line 6)
-* timestamps <1>: Time Functions. (line 67)
-* timestamps, converting dates to: Time Functions. (line 77)
+* timestamps <1>: Time Functions. (line 68)
+* timestamps, converting dates to: Time Functions. (line 78)
* timestamps, formatted: Getlocaltime Function.
(line 6)
-* tolower: String Functions. (line 545)
-* toupper: String Functions. (line 551)
+* tolower: String Functions. (line 547)
+* toupper: String Functions. (line 553)
* tr utility: Translate Program. (line 6)
* trace debugger command: Miscellaneous Debugger Commands.
(line 108)
-* trace, internal instructions: Options. (line 197)
+* trace, internal instructions: Options. (line 198)
* traceback, display in debugger: Execution Stack. (line 13)
* translate string: I18N Functions. (line 21)
* translate.awk program: Translate Program. (line 55)
* treating files, as single records: gawk split records. (line 104)
* troubleshooting, typographical errors, global variables: Options.
- (line 102)
-* troubleshooting, --non-decimal-data option: Options. (line 255)
+ (line 103)
+* troubleshooting, --non-decimal-data option: Options. (line 256)
* troubleshooting, backslash before nonspecial character: Escape Sequences.
(line 108)
* troubleshooting, regexp constants vs. string constants: Computed Regexps.
@@ -39136,15 +39119,15 @@ Index
* troubleshooting, division: Arithmetic Ops. (line 44)
* troubleshooting, string concatenation: Concatenation. (line 27)
* troubleshooting, == operator: Comparison Operators.
- (line 38)
+ (line 37)
* troubleshooting, function call syntax: Function Calls. (line 30)
* troubleshooting, gawk, fatal errors, function arguments: Calling Built-in.
(line 16)
-* troubleshooting, match() function: String Functions. (line 305)
-* troubleshooting, gsub()/sub() functions: String Functions. (line 494)
-* troubleshooting, substr() function: String Functions. (line 521)
-* troubleshooting, fflush() function: I/O Functions. (line 62)
-* troubleshooting, system() function: I/O Functions. (line 127)
+* troubleshooting, match() function: String Functions. (line 306)
+* troubleshooting, gsub()/sub() functions: String Functions. (line 496)
+* troubleshooting, substr() function: String Functions. (line 523)
+* troubleshooting, fflush() function: I/O Functions. (line 63)
+* troubleshooting, system() function: I/O Functions. (line 128)
* troubleshooting, readable data files: File Checking. (line 6)
* troubleshooting, getline command: File Checking. (line 25)
* troubleshooting, gawk, bug reports: Bugs. (line 9)
@@ -39182,7 +39165,7 @@ Index
* Unix, awk scripts and: Executable Scripts. (line 6)
* Unix: Glossary. (line 747)
* Unix awk, backslashes in escape sequences: Escape Sequences.
- (line 120)
+ (line 121)
* Unix awk, password files, field separators and: Command Line Field Separator.
(line 62)
* Unix awk, close() function and: Close Files And Pipes.
@@ -39196,7 +39179,7 @@ Index
* uppercase names, namespace for: Default Namespace. (line 10)
* user database, reading: Passwd Functions. (line 6)
* user-defined, variables: Variables. (line 6)
-* user-defined, function, bits2str(): Bitwise Functions. (line 70)
+* user-defined, function, bits2str(): Bitwise Functions. (line 69)
* user-defined, functions: User-defined. (line 6)
* user-defined, function, rev(): Function Example. (line 54)
* user-defined, function, ctime(): Function Example. (line 74)
@@ -39219,17 +39202,17 @@ Index
* user-defined, function, getopt() <1>: Getopt Function. (line 144)
* user-defined, function, getpwent(): Passwd Functions. (line 16)
* user-defined, function, _pw_init(): Passwd Functions. (line 105)
-* user-defined, function, getpwnam(): Passwd Functions. (line 179)
-* user-defined, function, getpwuid(): Passwd Functions. (line 189)
-* user-defined, function, getpwent() <1>: Passwd Functions. (line 199)
-* user-defined, function, endpwent(): Passwd Functions. (line 210)
+* user-defined, function, getpwnam(): Passwd Functions. (line 180)
+* user-defined, function, getpwuid(): Passwd Functions. (line 190)
+* user-defined, function, getpwent() <1>: Passwd Functions. (line 200)
+* user-defined, function, endpwent(): Passwd Functions. (line 211)
* user-defined, function, getgrent(): Group Functions. (line 6)
* user-defined, function, _gr_init(): Group Functions. (line 83)
-* user-defined, function, getgrnam(): Group Functions. (line 176)
-* user-defined, function, getgrgid(): Group Functions. (line 185)
-* user-defined, function, getgruser(): Group Functions. (line 194)
-* user-defined, function, getgrent() <1>: Group Functions. (line 203)
-* user-defined, function, endgrent(): Group Functions. (line 214)
+* user-defined, function, getgrnam(): Group Functions. (line 178)
+* user-defined, function, getgrgid(): Group Functions. (line 187)
+* user-defined, function, getgruser(): Group Functions. (line 196)
+* user-defined, function, getgrent() <1>: Group Functions. (line 205)
+* user-defined, function, endgrent(): Group Functions. (line 216)
* user-defined, function, walk_array(): Walking Arrays. (line 14)
* user-defined, functions, counts, in a profile: Profiling. (line 137)
* user-modifiable variables: User-modified. (line 6)
@@ -39244,8 +39227,8 @@ Index
* variable type, typeof() function (gawk): Type Functions. (line 14)
* variables: Other Features. (line 6)
* variables, setting: Options. (line 36)
-* variables, predefined, -v option, setting with: Options. (line 44)
-* variables, global, printing list of: Options. (line 97)
+* variables, predefined, -v option, setting with: Options. (line 45)
+* variables, global, printing list of: Options. (line 98)
* variables, getline command into, using: Getline/Variable. (line 6)
* variables, getline command into, using <1>: Getline/Variable/File.
(line 6)
@@ -39295,7 +39278,7 @@ Index
* Wall, Larry: Array Intro. (line 6)
* Wall, Larry <1>: Future Extensions. (line 6)
* Wallin, Anders: Contributors. (line 106)
-* warnings, issuing: Options. (line 215)
+* warnings, issuing: Options. (line 216)
* watch debugger command: Viewing And Changing Data.
(line 70)
* watchpoint (debugger): Debugging Terms. (line 42)
@@ -39308,7 +39291,7 @@ Index
(line 13)
* while statement, use of regexps in: Regexp Usage. (line 19)
* while statement: While Statement. (line 6)
-* whitespace, newlines as: Options. (line 308)
+* whitespace, newlines as: Options. (line 309)
* whitespace, definition of: Fields. (line 6)
* whitespace, as field separators: Default Field Splitting.
(line 6)
@@ -39317,11 +39300,11 @@ Index
* Woehlke, Matthew: Contributors. (line 82)
* Woods, John: Contributors. (line 28)
* word boundaries, matching: GNU Regexp Operators.
- (line 38)
+ (line 41)
* word, regexp definition of: GNU Regexp Operators.
(line 6)
* word-boundary operator (gawk): GNU Regexp Operators.
- (line 65)
+ (line 68)
* wordfreq.awk program: Word Sorting. (line 56)
* words, counting: Wc Program. (line 6)
* words, duplicate, searching for: Dupword Program. (line 6)
@@ -39331,7 +39314,7 @@ Index
* writeall() extension function: Extension Sample Read write array.
(line 24)
* xgettext utility: String Extraction. (line 13)
-* xor: Bitwise Functions. (line 58)
+* xor: Bitwise Functions. (line 57)
* XOR bitwise operation: Bitwise Functions. (line 6)
* Yawitz, Efraim: Contributors. (line 134)
* Zaretskii, Eli: Acknowledgments. (line 60)
@@ -39411,553 +39394,553 @@ Node: Interval Expressions183762
Ref: Interval Expressions-Footnote-1185937
Node: Bracket Expressions186035
Ref: table-char-classes188511
-Node: Leftmost Longest191838
-Node: Computed Regexps193141
-Node: GNU Regexp Operators196568
-Node: Case-sensitivity200364
-Ref: Case-sensitivity-Footnote-1203230
-Ref: Case-sensitivity-Footnote-2203465
-Node: Regexp Summary203573
-Node: Reading Files205039
-Node: Records207308
-Node: awk split records208383
-Node: gawk split records213083
-Ref: gawk split records-Footnote-1218157
-Node: Fields218194
-Node: Nonconstant Fields220935
-Ref: Nonconstant Fields-Footnote-1223171
-Node: Changing Fields223375
-Node: Field Separators229406
-Node: Default Field Splitting232161
-Node: Regexp Field Splitting233279
-Node: Single Character Fields236956
-Node: Comma Separated Fields238010
-Ref: table-csv-examples239274
-Node: Command Line Field Separator240170
-Node: Full Line Fields243387
-Ref: Full Line Fields-Footnote-1244909
-Ref: Full Line Fields-Footnote-2244955
-Node: Field Splitting Summary245056
-Node: Constant Size247236
-Node: Fixed width data247968
-Node: Skipping intervening251435
-Node: Allowing trailing data252233
-Node: Fields with fixed data253270
-Node: Splitting By Content254788
-Ref: Splitting By Content-Footnote-1258862
-Node: More CSV259025
-Node: FS versus FPAT260640
-Node: Testing field creation261800
-Node: Multiple Line263425
-Node: Getline269702
-Node: Plain Getline272171
-Node: Getline/Variable274744
-Node: Getline/File275895
-Node: Getline/Variable/File277283
-Ref: Getline/Variable/File-Footnote-1278888
-Node: Getline/Pipe278976
-Node: Getline/Variable/Pipe281680
-Node: Getline/Coprocess282815
-Node: Getline/Variable/Coprocess284082
-Node: Getline Notes284824
-Node: Getline Summary287621
-Ref: table-getline-variants288045
-Node: Read Timeout288794
-Ref: Read Timeout-Footnote-1292710
-Node: Retrying Input292768
-Node: Command-line directories293967
-Node: Input Summary294873
-Node: Input Exercises298045
-Node: Printing298479
-Node: Print300313
-Node: Print Examples301770
-Node: Output Separators304550
-Node: OFMT306567
-Node: Printf307923
-Node: Basic Printf308708
-Node: Control Letters310282
-Node: Format Modifiers315444
-Node: Printf Examples321459
-Node: Redirection323945
-Node: Special FD330786
-Ref: Special FD-Footnote-1333954
-Node: Special Files334028
-Node: Other Inherited Files334645
-Node: Special Network335646
-Node: Special Caveats336506
-Node: Close Files And Pipes337455
-Ref: table-close-pipe-return-values344362
-Ref: Close Files And Pipes-Footnote-1345176
-Ref: Close Files And Pipes-Footnote-2345324
-Node: Nonfatal345476
-Node: Output Summary347814
-Node: Output Exercises349036
-Node: Expressions349715
-Node: Values350903
-Node: Constants351581
-Node: Scalar Constants352272
-Ref: Scalar Constants-Footnote-1354782
-Node: Nondecimal-numbers355032
-Node: Regexp Constants358033
-Node: Using Constant Regexps358559
-Node: Standard Regexp Constants359181
-Node: Strong Regexp Constants362369
-Node: Variables366084
-Node: Using Variables366741
-Node: Assignment Options368651
-Node: Conversion371122
-Node: Strings And Numbers371646
-Ref: Strings And Numbers-Footnote-1374709
-Node: Locale influences conversions374818
-Ref: table-locale-affects377576
-Node: All Operators378195
-Node: Arithmetic Ops378824
-Node: Concatenation381540
-Ref: Concatenation-Footnote-1384387
-Node: Assignment Ops384494
-Ref: table-assign-ops389485
-Node: Increment Ops390799
-Node: Truth Values and Conditions394259
-Node: Truth Values395333
-Node: Typing and Comparison396381
-Node: Variable Typing397201
-Ref: Variable Typing-Footnote-1403664
-Ref: Variable Typing-Footnote-2403736
-Node: Comparison Operators403813
-Ref: table-relational-ops404232
-Node: POSIX String Comparison407728
-Ref: POSIX String Comparison-Footnote-1409423
-Ref: POSIX String Comparison-Footnote-2409562
-Node: Boolean Ops409646
-Ref: Boolean Ops-Footnote-1414128
-Node: Conditional Exp414220
-Node: Function Calls415956
-Node: Precedence419833
-Node: Locales423492
-Node: Expressions Summary425124
-Node: Patterns and Actions427697
-Node: Pattern Overview428817
-Node: Regexp Patterns430494
-Node: Expression Patterns431036
-Node: Ranges434817
-Node: BEGIN/END437925
-Node: Using BEGIN/END438686
-Ref: Using BEGIN/END-Footnote-1441440
-Node: I/O And BEGIN/END441546
-Node: BEGINFILE/ENDFILE443859
-Node: Empty447090
-Node: Using Shell Variables447407
-Node: Action Overview449681
-Node: Statements452006
-Node: If Statement453854
-Node: While Statement455349
-Node: Do Statement457377
-Node: For Statement458525
-Node: Switch Statement461780
-Node: Break Statement464221
-Node: Continue Statement466313
-Node: Next Statement468140
-Node: Nextfile Statement470523
-Node: Exit Statement473212
-Node: Built-in Variables475615
-Node: User-modified476748
-Node: Auto-set484515
-Ref: Auto-set-Footnote-1501515
-Ref: Auto-set-Footnote-2501721
-Node: ARGC and ARGV501777
-Node: Pattern Action Summary505990
-Node: Arrays508420
-Node: Array Basics509749
-Node: Array Intro510593
-Ref: figure-array-elements512568
-Ref: Array Intro-Footnote-1515273
-Node: Reference to Elements515401
-Node: Assigning Elements517865
-Node: Array Example518356
-Node: Scanning an Array520310
-Node: Controlling Scanning523332
-Ref: Controlling Scanning-Footnote-1529788
-Node: Numeric Array Subscripts530104
-Node: Uninitialized Subscripts532288
-Node: Delete533907
-Ref: Delete-Footnote-1536659
-Node: Multidimensional536716
-Node: Multiscanning539811
-Node: Arrays of Arrays541402
-Node: Arrays Summary546170
-Node: Functions548263
-Node: Built-in549301
-Node: Calling Built-in550454
-Node: Boolean Functions552450
-Node: Numeric Functions553004
-Ref: Numeric Functions-Footnote-1557031
-Ref: Numeric Functions-Footnote-2557679
-Ref: Numeric Functions-Footnote-3557727
-Node: String Functions557999
-Ref: String Functions-Footnote-1583139
-Ref: String Functions-Footnote-2583267
-Ref: String Functions-Footnote-3583515
-Node: Gory Details583602
-Ref: table-sub-escapes585393
-Ref: table-sub-proposed586913
-Ref: table-posix-sub588277
-Ref: table-gensub-escapes589819
-Ref: Gory Details-Footnote-1590643
-Node: I/O Functions590797
-Ref: table-system-return-values597251
-Ref: I/O Functions-Footnote-1599332
-Ref: I/O Functions-Footnote-2599480
-Node: Time Functions599600
-Ref: Time Functions-Footnote-1610271
-Ref: Time Functions-Footnote-2610339
-Ref: Time Functions-Footnote-3610497
-Ref: Time Functions-Footnote-4610608
-Ref: Time Functions-Footnote-5610720
-Ref: Time Functions-Footnote-6610947
-Node: Bitwise Functions611213
-Ref: table-bitwise-ops611807
-Ref: Bitwise Functions-Footnote-1617871
-Ref: Bitwise Functions-Footnote-2618044
-Node: Type Functions618235
-Node: I18N Functions621756
-Node: User-defined623407
-Node: Definition Syntax624219
-Ref: Definition Syntax-Footnote-1629913
-Node: Function Example629984
-Ref: Function Example-Footnote-1632906
-Node: Function Calling632928
-Node: Calling A Function633516
-Node: Variable Scope634474
-Node: Pass By Value/Reference637468
-Node: Function Caveats640112
-Ref: Function Caveats-Footnote-1642159
-Node: Return Statement642279
-Node: Dynamic Typing645258
-Node: Indirect Calls646188
-Node: Functions Summary657115
-Node: Library Functions659820
-Ref: Library Functions-Footnote-1663304
-Ref: Library Functions-Footnote-2663447
-Node: Library Names663618
-Ref: Library Names-Footnote-1667285
-Ref: Library Names-Footnote-2667508
-Node: General Functions667594
-Node: Strtonum Function668776
-Node: Assert Function671798
-Node: Round Function675124
-Node: Cliff Random Function676664
-Node: Ordinal Functions677680
-Ref: Ordinal Functions-Footnote-1680743
-Ref: Ordinal Functions-Footnote-2680995
-Node: Join Function681205
-Ref: Join Function-Footnote-1682975
-Node: Getlocaltime Function683175
-Node: Readfile Function686917
-Node: Shell Quoting688894
-Node: Isnumeric Function690322
-Node: Data File Management691710
-Node: Filetrans Function692342
-Node: Rewind Function696438
-Node: File Checking698347
-Ref: File Checking-Footnote-1699681
-Node: Empty Files699882
-Node: Ignoring Assigns701861
-Node: Getopt Function703411
-Ref: Getopt Function-Footnote-1718708
-Node: Passwd Functions718908
-Ref: Passwd Functions-Footnote-1727747
-Node: Group Functions727835
-Ref: Group Functions-Footnote-1735733
-Node: Walking Arrays735940
-Node: Library Functions Summary738948
-Node: Library Exercises740354
-Node: Sample Programs740819
-Node: Running Examples741589
-Node: Clones742317
-Node: Cut Program743541
-Node: Egrep Program753681
-Node: Id Program762682
-Node: Split Program772617
-Ref: Split Program-Footnote-1782510
-Node: Tee Program782683
-Node: Uniq Program785473
-Node: Wc Program793061
-Node: Bytes vs. Characters793448
-Node: Using extensions794996
-Node: wc program795750
-Node: Miscellaneous Programs800615
-Node: Dupword Program801828
-Node: Alarm Program803858
-Node: Translate Program808713
-Ref: Translate Program-Footnote-1813278
-Node: Labels Program813548
-Ref: Labels Program-Footnote-1816899
-Node: Word Sorting816983
-Node: History Sorting821055
-Node: Extract Program823280
-Node: Simple Sed831293
-Node: Igawk Program834367
-Ref: Igawk Program-Footnote-1848996
-Ref: Igawk Program-Footnote-2849198
-Ref: Igawk Program-Footnote-3849320
-Node: Anagram Program849435
-Node: Signature Program852497
-Node: Programs Summary853744
-Node: Programs Exercises854958
-Ref: Programs Exercises-Footnote-1859088
-Node: Advanced Features859174
-Node: Nondecimal Data861571
-Node: Boolean Typed Values863169
-Node: Array Sorting865050
-Node: Controlling Array Traversal865755
-Ref: Controlling Array Traversal-Footnote-1874123
-Node: Array Sorting Functions874241
-Ref: Array Sorting Functions-Footnote-1880152
-Node: Two-way I/O880348
-Ref: Two-way I/O-Footnote-1888074
-Ref: Two-way I/O-Footnote-2888261
-Node: TCP/IP Networking888343
-Node: Profiling891419
-Node: Persistent Memory900725
-Ref: Persistent Memory-Footnote-1909031
-Ref: Persistent Memory-Footnote-2909170
-Node: Extension Philosophy909297
-Node: Advanced Features Summary910784
-Node: Internationalization912956
-Node: I18N and L10N914630
-Node: Explaining gettext915317
-Ref: Explaining gettext-Footnote-1921209
-Ref: Explaining gettext-Footnote-2921394
-Node: Programmer i18n921559
-Ref: Programmer i18n-Footnote-1926508
-Node: Translator i18n926557
-Node: String Extraction927351
-Ref: String Extraction-Footnote-1928483
-Node: Printf Ordering928569
-Ref: Printf Ordering-Footnote-1931355
-Node: I18N Portability931419
-Ref: I18N Portability-Footnote-1933875
-Node: I18N Example933938
-Ref: I18N Example-Footnote-1937213
-Ref: I18N Example-Footnote-2937286
-Node: Gawk I18N937395
-Node: I18N Summary938017
-Node: Debugger939358
-Node: Debugging940358
-Node: Debugging Concepts940799
-Node: Debugging Terms942608
-Node: Awk Debugging945183
-Ref: Awk Debugging-Footnote-1946128
-Node: Sample Debugging Session946260
-Node: Debugger Invocation946794
-Node: Finding The Bug948180
-Node: List of Debugger Commands954654
-Node: Breakpoint Control955987
-Node: Debugger Execution Control959681
-Node: Viewing And Changing Data963043
-Node: Execution Stack966584
-Node: Debugger Info968221
-Node: Miscellaneous Debugger Commands972292
-Node: Readline Support977354
-Node: Limitations978250
-Node: Debugging Summary980804
-Node: Namespaces982083
-Node: Global Namespace983194
-Node: Qualified Names984592
-Node: Default Namespace985591
-Node: Changing The Namespace986332
-Node: Naming Rules987946
-Node: Internal Name Management989794
-Node: Namespace Example990836
-Node: Namespace And Features993398
-Node: Namespace Summary994833
-Node: Arbitrary Precision Arithmetic996310
-Node: Computer Arithmetic997797
-Ref: table-numeric-ranges1001563
-Ref: table-floating-point-ranges1002057
-Ref: Computer Arithmetic-Footnote-11002716
-Node: Math Definitions1002773
-Ref: table-ieee-formats1005749
-Node: MPFR features1006317
-Node: MPFR On Parole1006762
-Ref: MPFR On Parole-Footnote-11007591
-Node: MPFR Intro1007746
-Node: FP Math Caution1009397
-Ref: FP Math Caution-Footnote-11010469
-Node: Inexactness of computations1010838
-Node: Inexact representation1011869
-Node: Comparing FP Values1013229
-Node: Errors accumulate1014470
-Node: Strange values1015926
-Ref: Strange values-Footnote-11018514
-Node: Getting Accuracy1018619
-Node: Try To Round1021329
-Node: Setting precision1022228
-Ref: table-predefined-precision-strings1022925
-Node: Setting the rounding mode1024756
-Ref: table-gawk-rounding-modes1025130
-Ref: Setting the rounding mode-Footnote-11029062
-Node: Arbitrary Precision Integers1029241
-Ref: Arbitrary Precision Integers-Footnote-11032416
-Node: Checking for MPFR1032565
-Node: POSIX Floating Point Problems1034039
-Ref: POSIX Floating Point Problems-Footnote-11038692
-Node: Floating point summary1038730
-Node: Dynamic Extensions1040920
-Node: Extension Intro1042473
-Node: Plugin License1043739
-Node: Extension Mechanism Outline1044536
-Ref: figure-load-extension1044975
-Ref: figure-register-new-function1046541
-Ref: figure-call-new-function1047634
-Node: Extension API Description1049697
-Node: Extension API Functions Introduction1051410
-Ref: table-api-std-headers1053246
-Node: General Data Types1057496
-Ref: General Data Types-Footnote-11066202
-Node: Memory Allocation Functions1066501
-Ref: Memory Allocation Functions-Footnote-11071002
-Node: Constructor Functions1071101
-Node: API Ownership of MPFR and GMP Values1074754
-Node: Registration Functions1076287
-Node: Extension Functions1076987
-Node: Exit Callback Functions1082309
-Node: Extension Version String1083559
-Node: Input Parsers1084222
-Node: Output Wrappers1096943
-Node: Two-way processors1101455
-Node: Printing Messages1103720
-Ref: Printing Messages-Footnote-11104891
-Node: Updating ERRNO1105044
-Node: Requesting Values1105783
-Ref: table-value-types-returned1106520
-Node: Accessing Parameters1107629
-Node: Symbol Table Access1108866
-Node: Symbol table by name1109378
-Ref: Symbol table by name-Footnote-11112403
-Node: Symbol table by cookie1112531
-Ref: Symbol table by cookie-Footnote-11116716
-Node: Cached values1116780
-Ref: Cached values-Footnote-11120316
-Node: Array Manipulation1120469
-Ref: Array Manipulation-Footnote-11121560
-Node: Array Data Types1121597
-Ref: Array Data Types-Footnote-11124255
-Node: Array Functions1124347
-Node: Flattening Arrays1129132
-Node: Creating Arrays1136108
-Node: Redirection API1140875
-Node: Extension API Variables1143708
-Node: Extension Versioning1144419
-Ref: gawk-api-version1144848
-Node: Extension GMP/MPFR Versioning1146580
-Node: Extension API Informational Variables1148208
-Node: Extension API Boilerplate1149281
-Node: Changes from API V11153255
-Node: Finding Extensions1154827
-Node: Extension Example1155386
-Node: Internal File Description1156184
-Node: Internal File Ops1160264
-Ref: Internal File Ops-Footnote-11171614
-Node: Using Internal File Ops1171754
-Ref: Using Internal File Ops-Footnote-11174137
-Node: Extension Samples1174411
-Node: Extension Sample File Functions1175940
-Node: Extension Sample Fnmatch1183589
-Node: Extension Sample Fork1185076
-Node: Extension Sample Inplace1186294
-Node: Extension Sample Ord1189920
-Node: Extension Sample Readdir1190756
-Ref: table-readdir-file-types1191645
-Node: Extension Sample Revout1192713
-Node: Extension Sample Rev2way1193302
-Node: Extension Sample Read write array1194042
-Node: Extension Sample Readfile1197228
-Node: Extension Sample Time1198323
-Node: Extension Sample API Tests1200075
-Node: gawkextlib1200567
-Node: Extension summary1203485
-Node: Extension Exercises1207187
-Node: Language History1208429
-Node: V7/SVR3.11210085
-Node: SVR41212237
-Node: POSIX1213671
-Node: BTL1215052
-Node: POSIX/GNU1215781
-Node: Feature History1221698
-Node: Common Extensions1239668
-Node: Ranges and Locales1240951
-Ref: Ranges and Locales-Footnote-11245567
-Ref: Ranges and Locales-Footnote-21245594
-Ref: Ranges and Locales-Footnote-31245829
-Node: Contributors1246052
-Node: History summary1252049
-Node: Installation1253429
-Node: Gawk Distribution1254373
-Node: Getting1254857
-Node: Extracting1255820
-Node: Distribution contents1257458
-Node: Unix Installation1264956
-Node: Quick Installation1265760
-Node: Compiling with MPFR1268180
-Node: Shell Startup Files1268870
-Node: Additional Configuration Options1269959
-Node: Configuration Philosophy1272274
-Node: Compiling from Git1274670
-Node: Building the Documentation1275225
-Node: Non-Unix Installation1276609
-Node: PC Installation1277073
-Node: PC Binary Installation1277918
-Node: PC Compiling1278791
-Node: PC Using1279897
-Node: Cygwin1283393
-Node: MSYS1284617
-Node: OpenVMS Installation1285219
-Node: OpenVMS Compilation1285880
-Ref: OpenVMS Compilation-Footnote-11287303
-Node: OpenVMS Dynamic Extensions1287361
-Node: OpenVMS Installation Details1288973
-Node: OpenVMS Running1291268
-Node: OpenVMS GNV1295269
-Node: Bugs1296012
-Node: Bug definition1296924
-Node: Bug address1300426
-Node: Usenet1303945
-Node: Performance bugs1305134
-Node: Asking for help1308055
-Node: Maintainers1310022
-Node: Other Versions1311029
-Node: Installation summary1319608
-Node: Notes1320948
-Node: Compatibility Mode1321742
-Node: Additions1322524
-Node: Accessing The Source1323449
-Node: Adding Code1324886
-Node: New Ports1331701
-Node: Derived Files1336076
-Ref: Derived Files-Footnote-11341735
-Ref: Derived Files-Footnote-21341770
-Ref: Derived Files-Footnote-31342365
-Node: Future Extensions1342479
-Node: Implementation Limitations1343137
-Node: Extension Design1344347
-Node: Old Extension Problems1345491
-Ref: Old Extension Problems-Footnote-11347009
-Node: Extension New Mechanism Goals1347066
-Ref: Extension New Mechanism Goals-Footnote-11350430
-Node: Extension Other Design Decisions1350619
-Node: Extension Future Growth1352732
-Node: Notes summary1353338
-Node: Basic Concepts1354496
-Node: Basic High Level1355177
-Ref: figure-general-flow1355459
-Ref: figure-process-flow1356145
-Ref: Basic High Level-Footnote-11359447
-Node: Basic Data Typing1359632
-Node: Glossary1362960
-Node: Copying1394847
-Node: GNU Free Documentation License1432390
-Node: Index1457510
+Node: Leftmost Longest191837
+Node: Computed Regexps193140
+Node: GNU Regexp Operators196567
+Node: Case-sensitivity200363
+Ref: Case-sensitivity-Footnote-1203229
+Ref: Case-sensitivity-Footnote-2203464
+Node: Regexp Summary203572
+Node: Reading Files205038
+Node: Records207307
+Node: awk split records208382
+Node: gawk split records213082
+Ref: gawk split records-Footnote-1218156
+Node: Fields218193
+Node: Nonconstant Fields220934
+Ref: Nonconstant Fields-Footnote-1223170
+Node: Changing Fields223374
+Node: Field Separators229405
+Node: Default Field Splitting232160
+Node: Regexp Field Splitting233278
+Node: Single Character Fields236955
+Node: Comma Separated Fields238009
+Ref: table-csv-examples239273
+Node: Command Line Field Separator240168
+Node: Full Line Fields243385
+Ref: Full Line Fields-Footnote-1244907
+Ref: Full Line Fields-Footnote-2244953
+Node: Field Splitting Summary245054
+Node: Constant Size247234
+Node: Fixed width data247966
+Node: Skipping intervening251433
+Node: Allowing trailing data252231
+Node: Fields with fixed data253268
+Node: Splitting By Content254786
+Ref: Splitting By Content-Footnote-1258860
+Node: More CSV259023
+Node: FS versus FPAT260638
+Node: Testing field creation261798
+Node: Multiple Line263423
+Node: Getline269700
+Node: Plain Getline272169
+Node: Getline/Variable274742
+Node: Getline/File275893
+Node: Getline/Variable/File277281
+Ref: Getline/Variable/File-Footnote-1278886
+Node: Getline/Pipe278974
+Node: Getline/Variable/Pipe281678
+Node: Getline/Coprocess282813
+Node: Getline/Variable/Coprocess284080
+Node: Getline Notes284822
+Node: Getline Summary287619
+Ref: table-getline-variants288043
+Node: Read Timeout288791
+Ref: Read Timeout-Footnote-1292707
+Node: Retrying Input292765
+Node: Command-line directories293964
+Node: Input Summary294870
+Node: Input Exercises298042
+Node: Printing298476
+Node: Print300310
+Node: Print Examples301767
+Node: Output Separators304547
+Node: OFMT306564
+Node: Printf307920
+Node: Basic Printf308705
+Node: Control Letters310279
+Node: Format Modifiers315441
+Node: Printf Examples321456
+Node: Redirection323942
+Node: Special FD330783
+Ref: Special FD-Footnote-1333951
+Node: Special Files334025
+Node: Other Inherited Files334642
+Node: Special Network335643
+Node: Special Caveats336503
+Node: Close Files And Pipes337452
+Ref: table-close-pipe-return-values344359
+Ref: Close Files And Pipes-Footnote-1345172
+Ref: Close Files And Pipes-Footnote-2345320
+Node: Nonfatal345472
+Node: Output Summary347810
+Node: Output Exercises349032
+Node: Expressions349711
+Node: Values350899
+Node: Constants351577
+Node: Scalar Constants352268
+Ref: Scalar Constants-Footnote-1354778
+Node: Nondecimal-numbers355028
+Node: Regexp Constants358029
+Node: Using Constant Regexps358555
+Node: Standard Regexp Constants359177
+Node: Strong Regexp Constants362365
+Node: Variables366080
+Node: Using Variables366737
+Node: Assignment Options368647
+Node: Conversion371118
+Node: Strings And Numbers371642
+Ref: Strings And Numbers-Footnote-1374705
+Node: Locale influences conversions374814
+Ref: table-locale-affects377572
+Node: All Operators378190
+Node: Arithmetic Ops378819
+Node: Concatenation381535
+Ref: Concatenation-Footnote-1384382
+Node: Assignment Ops384489
+Ref: table-assign-ops389480
+Node: Increment Ops390793
+Node: Truth Values and Conditions394253
+Node: Truth Values395327
+Node: Typing and Comparison396375
+Node: Variable Typing397195
+Ref: Variable Typing-Footnote-1403658
+Ref: Variable Typing-Footnote-2403730
+Node: Comparison Operators403807
+Ref: table-relational-ops404226
+Node: POSIX String Comparison407721
+Ref: POSIX String Comparison-Footnote-1409416
+Ref: POSIX String Comparison-Footnote-2409555
+Node: Boolean Ops409639
+Ref: Boolean Ops-Footnote-1414121
+Node: Conditional Exp414213
+Node: Function Calls415949
+Node: Precedence419826
+Node: Locales423485
+Node: Expressions Summary425117
+Node: Patterns and Actions427690
+Node: Pattern Overview428810
+Node: Regexp Patterns430487
+Node: Expression Patterns431029
+Node: Ranges434810
+Node: BEGIN/END437918
+Node: Using BEGIN/END438679
+Ref: Using BEGIN/END-Footnote-1441433
+Node: I/O And BEGIN/END441539
+Node: BEGINFILE/ENDFILE443852
+Node: Empty447083
+Node: Using Shell Variables447400
+Node: Action Overview449674
+Node: Statements451999
+Node: If Statement453847
+Node: While Statement455342
+Node: Do Statement457370
+Node: For Statement458518
+Node: Switch Statement461773
+Node: Break Statement464214
+Node: Continue Statement466306
+Node: Next Statement468133
+Node: Nextfile Statement470516
+Node: Exit Statement473205
+Node: Built-in Variables475608
+Node: User-modified476741
+Node: Auto-set484508
+Ref: Auto-set-Footnote-1501508
+Ref: Auto-set-Footnote-2501714
+Node: ARGC and ARGV501770
+Node: Pattern Action Summary505983
+Node: Arrays508413
+Node: Array Basics509742
+Node: Array Intro510586
+Ref: figure-array-elements512561
+Ref: Array Intro-Footnote-1515265
+Node: Reference to Elements515393
+Node: Assigning Elements517857
+Node: Array Example518348
+Node: Scanning an Array520302
+Node: Controlling Scanning523324
+Ref: Controlling Scanning-Footnote-1529780
+Node: Numeric Array Subscripts530096
+Node: Uninitialized Subscripts532280
+Node: Delete533899
+Ref: Delete-Footnote-1536651
+Node: Multidimensional536708
+Node: Multiscanning539803
+Node: Arrays of Arrays541394
+Node: Arrays Summary546162
+Node: Functions548255
+Node: Built-in549293
+Node: Calling Built-in550446
+Node: Boolean Functions552442
+Node: Numeric Functions552996
+Ref: Numeric Functions-Footnote-1557023
+Ref: Numeric Functions-Footnote-2557671
+Ref: Numeric Functions-Footnote-3557719
+Node: String Functions557991
+Ref: String Functions-Footnote-1583131
+Ref: String Functions-Footnote-2583259
+Ref: String Functions-Footnote-3583507
+Node: Gory Details583594
+Ref: table-sub-escapes585385
+Ref: table-sub-proposed586904
+Ref: table-posix-sub588267
+Ref: table-gensub-escapes589808
+Ref: Gory Details-Footnote-1590631
+Node: I/O Functions590785
+Ref: table-system-return-values597239
+Ref: I/O Functions-Footnote-1599319
+Ref: I/O Functions-Footnote-2599467
+Node: Time Functions599587
+Ref: Time Functions-Footnote-1610258
+Ref: Time Functions-Footnote-2610326
+Ref: Time Functions-Footnote-3610484
+Ref: Time Functions-Footnote-4610595
+Ref: Time Functions-Footnote-5610707
+Ref: Time Functions-Footnote-6610934
+Node: Bitwise Functions611200
+Ref: table-bitwise-ops611794
+Ref: Bitwise Functions-Footnote-1617857
+Ref: Bitwise Functions-Footnote-2618030
+Node: Type Functions618221
+Node: I18N Functions621742
+Node: User-defined623393
+Node: Definition Syntax624205
+Ref: Definition Syntax-Footnote-1629899
+Node: Function Example629970
+Ref: Function Example-Footnote-1632892
+Node: Function Calling632914
+Node: Calling A Function633502
+Node: Variable Scope634460
+Node: Pass By Value/Reference637454
+Node: Function Caveats640098
+Ref: Function Caveats-Footnote-1642145
+Node: Return Statement642265
+Node: Dynamic Typing645244
+Node: Indirect Calls646174
+Node: Functions Summary657101
+Node: Library Functions659806
+Ref: Library Functions-Footnote-1663290
+Ref: Library Functions-Footnote-2663433
+Node: Library Names663604
+Ref: Library Names-Footnote-1667271
+Ref: Library Names-Footnote-2667494
+Node: General Functions667580
+Node: Strtonum Function668762
+Node: Assert Function671784
+Node: Round Function675110
+Node: Cliff Random Function676650
+Node: Ordinal Functions677666
+Ref: Ordinal Functions-Footnote-1680729
+Ref: Ordinal Functions-Footnote-2680981
+Node: Join Function681191
+Ref: Join Function-Footnote-1682961
+Node: Getlocaltime Function683161
+Node: Readfile Function686903
+Node: Shell Quoting688880
+Node: Isnumeric Function690308
+Node: Data File Management691696
+Node: Filetrans Function692328
+Node: Rewind Function696424
+Node: File Checking698333
+Ref: File Checking-Footnote-1699667
+Node: Empty Files699868
+Node: Ignoring Assigns701847
+Node: Getopt Function703397
+Ref: Getopt Function-Footnote-1718694
+Node: Passwd Functions718894
+Ref: Passwd Functions-Footnote-1727733
+Node: Group Functions727821
+Ref: Group Functions-Footnote-1735719
+Node: Walking Arrays735926
+Node: Library Functions Summary738934
+Node: Library Exercises740340
+Node: Sample Programs740805
+Node: Running Examples741575
+Node: Clones742303
+Node: Cut Program743527
+Node: Egrep Program753667
+Node: Id Program762668
+Node: Split Program772603
+Ref: Split Program-Footnote-1782496
+Node: Tee Program782669
+Node: Uniq Program785459
+Node: Wc Program793047
+Node: Bytes vs. Characters793434
+Node: Using extensions794982
+Node: wc program795736
+Node: Miscellaneous Programs800601
+Node: Dupword Program801814
+Node: Alarm Program803844
+Node: Translate Program808699
+Ref: Translate Program-Footnote-1813264
+Node: Labels Program813534
+Ref: Labels Program-Footnote-1816885
+Node: Word Sorting816969
+Node: History Sorting821041
+Node: Extract Program823266
+Node: Simple Sed831279
+Node: Igawk Program834353
+Ref: Igawk Program-Footnote-1848982
+Ref: Igawk Program-Footnote-2849184
+Ref: Igawk Program-Footnote-3849306
+Node: Anagram Program849421
+Node: Signature Program852483
+Node: Programs Summary853730
+Node: Programs Exercises854944
+Ref: Programs Exercises-Footnote-1859074
+Node: Advanced Features859160
+Node: Nondecimal Data861557
+Node: Boolean Typed Values863155
+Node: Array Sorting865036
+Node: Controlling Array Traversal865741
+Ref: Controlling Array Traversal-Footnote-1874109
+Node: Array Sorting Functions874227
+Ref: Array Sorting Functions-Footnote-1880138
+Node: Two-way I/O880334
+Ref: Two-way I/O-Footnote-1888060
+Ref: Two-way I/O-Footnote-2888247
+Node: TCP/IP Networking888329
+Node: Profiling891405
+Node: Persistent Memory900711
+Ref: Persistent Memory-Footnote-1909017
+Ref: Persistent Memory-Footnote-2909156
+Node: Extension Philosophy909283
+Node: Advanced Features Summary910770
+Node: Internationalization912942
+Node: I18N and L10N914616
+Node: Explaining gettext915303
+Ref: Explaining gettext-Footnote-1921195
+Ref: Explaining gettext-Footnote-2921380
+Node: Programmer i18n921545
+Ref: Programmer i18n-Footnote-1926494
+Node: Translator i18n926543
+Node: String Extraction927337
+Ref: String Extraction-Footnote-1928469
+Node: Printf Ordering928555
+Ref: Printf Ordering-Footnote-1931341
+Node: I18N Portability931405
+Ref: I18N Portability-Footnote-1933861
+Node: I18N Example933924
+Ref: I18N Example-Footnote-1937199
+Ref: I18N Example-Footnote-2937272
+Node: Gawk I18N937381
+Node: I18N Summary938003
+Node: Debugger939344
+Node: Debugging940344
+Node: Debugging Concepts940785
+Node: Debugging Terms942594
+Node: Awk Debugging945169
+Ref: Awk Debugging-Footnote-1946114
+Node: Sample Debugging Session946246
+Node: Debugger Invocation946780
+Node: Finding The Bug948166
+Node: List of Debugger Commands954640
+Node: Breakpoint Control955973
+Node: Debugger Execution Control959667
+Node: Viewing And Changing Data963029
+Node: Execution Stack966570
+Node: Debugger Info968207
+Node: Miscellaneous Debugger Commands972278
+Node: Readline Support977340
+Node: Limitations978236
+Node: Debugging Summary980790
+Node: Namespaces982069
+Node: Global Namespace983180
+Node: Qualified Names984578
+Node: Default Namespace985577
+Node: Changing The Namespace986318
+Node: Naming Rules987932
+Node: Internal Name Management989780
+Node: Namespace Example990822
+Node: Namespace And Features993384
+Node: Namespace Summary994819
+Node: Arbitrary Precision Arithmetic996296
+Node: Computer Arithmetic997783
+Ref: table-numeric-ranges1001549
+Ref: table-floating-point-ranges1002042
+Ref: Computer Arithmetic-Footnote-11002700
+Node: Math Definitions1002757
+Ref: table-ieee-formats1005733
+Node: MPFR features1006300
+Node: MPFR On Parole1006745
+Ref: MPFR On Parole-Footnote-11007574
+Node: MPFR Intro1007729
+Node: FP Math Caution1009380
+Ref: FP Math Caution-Footnote-11010452
+Node: Inexactness of computations1010821
+Node: Inexact representation1011852
+Node: Comparing FP Values1013212
+Node: Errors accumulate1014453
+Node: Strange values1015909
+Ref: Strange values-Footnote-11018497
+Node: Getting Accuracy1018602
+Node: Try To Round1021312
+Node: Setting precision1022211
+Ref: table-predefined-precision-strings1022908
+Node: Setting the rounding mode1024738
+Ref: table-gawk-rounding-modes1025112
+Ref: Setting the rounding mode-Footnote-11029043
+Node: Arbitrary Precision Integers1029222
+Ref: Arbitrary Precision Integers-Footnote-11032397
+Node: Checking for MPFR1032546
+Node: POSIX Floating Point Problems1034020
+Ref: POSIX Floating Point Problems-Footnote-11038673
+Node: Floating point summary1038711
+Node: Dynamic Extensions1040901
+Node: Extension Intro1042454
+Node: Plugin License1043720
+Node: Extension Mechanism Outline1044517
+Ref: figure-load-extension1044956
+Ref: figure-register-new-function1046521
+Ref: figure-call-new-function1047613
+Node: Extension API Description1049675
+Node: Extension API Functions Introduction1051388
+Ref: table-api-std-headers1053224
+Node: General Data Types1057473
+Ref: General Data Types-Footnote-11066179
+Node: Memory Allocation Functions1066478
+Ref: Memory Allocation Functions-Footnote-11070979
+Node: Constructor Functions1071078
+Node: API Ownership of MPFR and GMP Values1074731
+Node: Registration Functions1076264
+Node: Extension Functions1076964
+Node: Exit Callback Functions1082286
+Node: Extension Version String1083536
+Node: Input Parsers1084199
+Node: Output Wrappers1096920
+Node: Two-way processors1101432
+Node: Printing Messages1103697
+Ref: Printing Messages-Footnote-11104868
+Node: Updating ERRNO1105021
+Node: Requesting Values1105760
+Ref: table-value-types-returned1106497
+Node: Accessing Parameters1107605
+Node: Symbol Table Access1108842
+Node: Symbol table by name1109354
+Ref: Symbol table by name-Footnote-11112379
+Node: Symbol table by cookie1112507
+Ref: Symbol table by cookie-Footnote-11116692
+Node: Cached values1116756
+Ref: Cached values-Footnote-11120292
+Node: Array Manipulation1120445
+Ref: Array Manipulation-Footnote-11121536
+Node: Array Data Types1121573
+Ref: Array Data Types-Footnote-11124231
+Node: Array Functions1124323
+Node: Flattening Arrays1129108
+Node: Creating Arrays1136084
+Node: Redirection API1140851
+Node: Extension API Variables1143684
+Node: Extension Versioning1144395
+Ref: gawk-api-version1144824
+Node: Extension GMP/MPFR Versioning1146555
+Node: Extension API Informational Variables1148183
+Node: Extension API Boilerplate1149256
+Node: Changes from API V11153230
+Node: Finding Extensions1154802
+Node: Extension Example1155361
+Node: Internal File Description1156159
+Node: Internal File Ops1160239
+Ref: Internal File Ops-Footnote-11171589
+Node: Using Internal File Ops1171729
+Ref: Using Internal File Ops-Footnote-11174112
+Node: Extension Samples1174386
+Node: Extension Sample File Functions1175915
+Node: Extension Sample Fnmatch1183564
+Node: Extension Sample Fork1185051
+Node: Extension Sample Inplace1186269
+Node: Extension Sample Ord1189895
+Node: Extension Sample Readdir1190731
+Ref: table-readdir-file-types1191620
+Node: Extension Sample Revout1192687
+Node: Extension Sample Rev2way1193276
+Node: Extension Sample Read write array1194016
+Node: Extension Sample Readfile1197202
+Node: Extension Sample Time1198297
+Node: Extension Sample API Tests1200049
+Node: gawkextlib1200541
+Node: Extension summary1203459
+Node: Extension Exercises1207161
+Node: Language History1208403
+Node: V7/SVR3.11210059
+Node: SVR41212211
+Node: POSIX1213645
+Node: BTL1215026
+Node: POSIX/GNU1215755
+Node: Feature History1221672
+Node: Common Extensions1239793
+Node: Ranges and Locales1241076
+Ref: Ranges and Locales-Footnote-11245692
+Ref: Ranges and Locales-Footnote-21245719
+Ref: Ranges and Locales-Footnote-31245954
+Node: Contributors1246177
+Node: History summary1252174
+Node: Installation1253554
+Node: Gawk Distribution1254498
+Node: Getting1254982
+Node: Extracting1255945
+Node: Distribution contents1257583
+Node: Unix Installation1265081
+Node: Quick Installation1265885
+Node: Compiling with MPFR1268305
+Node: Shell Startup Files1268995
+Node: Additional Configuration Options1270084
+Node: Configuration Philosophy1272399
+Node: Compiling from Git1274795
+Node: Building the Documentation1275350
+Node: Non-Unix Installation1276734
+Node: PC Installation1277198
+Node: PC Binary Installation1278043
+Node: PC Compiling1278916
+Node: PC Using1280022
+Node: Cygwin1283518
+Node: MSYS1284742
+Node: OpenVMS Installation1285344
+Node: OpenVMS Compilation1286005
+Ref: OpenVMS Compilation-Footnote-11287428
+Node: OpenVMS Dynamic Extensions1287486
+Node: OpenVMS Installation Details1289098
+Node: OpenVMS Running1291393
+Node: OpenVMS GNV1295394
+Node: Bugs1296137
+Node: Bug definition1297049
+Node: Bug address1300551
+Node: Usenet1304070
+Node: Performance bugs1305259
+Node: Asking for help1308180
+Node: Maintainers1310147
+Node: Other Versions1311154
+Node: Installation summary1319733
+Node: Notes1321073
+Node: Compatibility Mode1321867
+Node: Additions1322649
+Node: Accessing The Source1323574
+Node: Adding Code1325011
+Node: New Ports1331826
+Node: Derived Files1336201
+Ref: Derived Files-Footnote-11341860
+Ref: Derived Files-Footnote-21341895
+Ref: Derived Files-Footnote-31342490
+Node: Future Extensions1342604
+Node: Implementation Limitations1343262
+Node: Extension Design1344472
+Node: Old Extension Problems1345616
+Ref: Old Extension Problems-Footnote-11347134
+Node: Extension New Mechanism Goals1347191
+Ref: Extension New Mechanism Goals-Footnote-11350555
+Node: Extension Other Design Decisions1350744
+Node: Extension Future Growth1352857
+Node: Notes summary1353463
+Node: Basic Concepts1354621
+Node: Basic High Level1355302
+Ref: figure-general-flow1355584
+Ref: figure-process-flow1356269
+Ref: Basic High Level-Footnote-11359570
+Node: Basic Data Typing1359755
+Node: Glossary1363083
+Node: Copying1394970
+Node: GNU Free Documentation License1432513
+Node: Index1457633
End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 4dba3da3..db524abc 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -42162,6 +42162,11 @@ Comma separated value (CSV) field splitting
The @code{"mb_cur_max"} and @code{"utf8"} elements in the
@code{PROCINFO} array (@pxref{Auto-set}).
+@item
+The need for GNU @code{libsigsegv} was removed from @command{gawk}.
+The value-add was never very much and it caused problems in some
+environments.
+
@end itemize
@c XXX ADD MORE STUFF HERE
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index bf51690f..45489d2f 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -41005,6 +41005,11 @@ Comma separated value (CSV) field splitting
The @code{"mb_cur_max"} and @code{"utf8"} elements in the
@code{PROCINFO} array (@pxref{Auto-set}).
+@item
+The need for GNU @code{libsigsegv} was removed from @command{gawk}.
+The value-add was never very much and it caused problems in some
+environments.
+
@end itemize
@c XXX ADD MORE STUFF HERE
diff --git a/extras/Makefile.in b/extras/Makefile.in
index 9686adce..74404d75 100644
--- a/extras/Makefile.in
+++ b/extras/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.16.5 from Makefile.am.
+# Makefile.in generated by automake 1.16.4 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2021 Free Software Foundation, Inc.
@@ -120,11 +120,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/arch.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
$(top_srcdir)/m4/lcmessage.m4 $(top_srcdir)/m4/lib-ld.m4 \
$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
- $(top_srcdir)/m4/libsigsegv.m4 $(top_srcdir)/m4/longlong.m4 \
- $(top_srcdir)/m4/mpfr.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/noreturn.m4 $(top_srcdir)/m4/pma.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/m4/readline.m4 $(top_srcdir)/m4/socket.m4 \
+ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/mpfr.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/noreturn.m4 \
+ $(top_srcdir)/m4/pma.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/readline.m4 \
+ $(top_srcdir)/m4/socket.m4 \
$(top_srcdir)/m4/triplet-transformation.m4 \
$(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
@@ -214,7 +214,6 @@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
-HAVE_LIBSIGSEGV = @HAVE_LIBSIGSEGV@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
@@ -229,13 +228,10 @@ LIBMPFR = @LIBMPFR@
LIBOBJS = @LIBOBJS@
LIBREADLINE = @LIBREADLINE@
LIBS = @LIBS@
-LIBSIGSEGV = @LIBSIGSEGV@
-LIBSIGSEGV_PREFIX = @LIBSIGSEGV_PREFIX@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
-LTLIBSIGSEGV = @LTLIBSIGSEGV@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
MSGFMT = @MSGFMT@
diff --git a/m4/ChangeLog b/m4/ChangeLog
index fb13cf09..1292cfd0 100644
--- a/m4/ChangeLog
+++ b/m4/ChangeLog
@@ -1,3 +1,7 @@
+2022-12-01 Arnold D. Robbins <arnold@skeeve.com>
+
+ * libsigsegv.m4: Removed.
+
2022-11-27 Arnold D. Robbins <arnold@skeeve.com>
* pma.m4: Don't build an x86 binary on non-x86 macOS systems.
diff --git a/m4/libsigsegv.m4 b/m4/libsigsegv.m4
deleted file mode 100644
index 9d255d3b..00000000
--- a/m4/libsigsegv.m4
+++ /dev/null
@@ -1,16 +0,0 @@
-# libsigsegv.m4 serial 4
-dnl Copyright (C) 2002-2003, 2008-2010 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible, Sam Steingold.
-
-AC_DEFUN([gl_LIBSIGSEGV],
-[
- AC_LIB_HAVE_LINKFLAGS([sigsegv], [],
- [#include <sigsegv.h>], [sigsegv_deinstall_handler();],
- [no, consider installing GNU libsigsegv])
- dnl Some other autoconf macros and clisp's configure use this variable.
- gl_cv_lib_sigsegv="$ac_cv_libsigsegv"
-])
diff --git a/main.c b/main.c
index 78a6b708..7669daf4 100644
--- a/main.c
+++ b/main.c
@@ -34,16 +34,6 @@
#include <mcheck.h>
#endif
-#ifdef HAVE_LIBSIGSEGV
-#include <sigsegv.h>
-#else
-typedef void *stackoverflow_context_t;
-/* the argument to this macro is purposely not used */
-#define sigsegv_install_handler(catchsegv) signal(SIGSEGV, catchsig)
-/* define as 0 rather than empty so that (void) cast on it works */
-#define stackoverflow_install_handler(catchstackoverflow, extra_stack,
STACK_SIZE) 0
-#endif
-
#define DEFAULT_PROFILE "awkprof.out" /* where to put profile
*/
#define DEFAULT_VARFILE "awkvars.out" /* where to put vars */
#define DEFAULT_PREC 53
@@ -60,10 +50,6 @@ static void init_vars(void);
static NODE *load_environ(void);
static NODE *load_procinfo(void);
static void catchsig(int sig);
-#ifdef HAVE_LIBSIGSEGV
-static int catchsegv(void *fault_address, int serious);
-static void catchstackoverflow(int emergency, stackoverflow_context_t scp);
-#endif
static void nostalgia(void) ATTRIBUTE_NORETURN;
static void version(void) ATTRIBUTE_NORETURN;
static void init_fds(void);
@@ -285,6 +271,7 @@ main(int argc, char **argv)
#endif
set_locale_stuff();
+ (void) signal(SIGSEGV, catchsig);
(void) signal(SIGFPE, catchsig);
#ifdef SIGBUS
(void) signal(SIGBUS, catchsig);
@@ -305,12 +292,6 @@ main(int argc, char **argv)
*/
ignore_sigpipe();
- (void) sigsegv_install_handler(catchsegv);
-#define STACK_SIZE (16*1024)
- emalloc(extra_stack, char *, STACK_SIZE, "main");
- (void) stackoverflow_install_handler(catchstackoverflow, extra_stack,
STACK_SIZE);
-#undef STACK_SIZE
-
/* initialize the null string */
Nnull_string = make_string("", 0);
@@ -1329,37 +1310,6 @@ catchsig(int sig)
/* NOTREACHED */
}
-#ifdef HAVE_LIBSIGSEGV
-/* catchsegv --- for use with libsigsegv */
-
-static int
-catchsegv(void *fault_address, int serious)
-{
- if (errcount > 0) // assume a syntax error corrupted our data
structures
- exit(EXIT_FATAL);
-
- set_loc(__FILE__, __LINE__);
- msg(_("fatal error: internal error: segfault"));
- fflush(NULL);
- abort();
- /*NOTREACHED*/
- return 0;
-}
-
-/* catchstackoverflow --- for use with libsigsegv */
-
-static void
-catchstackoverflow(int emergency, stackoverflow_context_t scp)
-{
- set_loc(__FILE__, __LINE__);
- msg(_("fatal error: internal error: stack overflow"));
- fflush(NULL);
- abort();
- /*NOTREACHED*/
- return;
-}
-#endif /* HAVE_LIBSIGSEGV */
-
/* nostalgia --- print the famous error message and die */
static void
diff --git a/support/Makefile.in b/support/Makefile.in
index 1f5b209f..db5f6a22 100644
--- a/support/Makefile.in
+++ b/support/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.16.5 from Makefile.am.
+# Makefile.in generated by automake 1.16.4 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2021 Free Software Foundation, Inc.
@@ -124,11 +124,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/arch.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
$(top_srcdir)/m4/lcmessage.m4 $(top_srcdir)/m4/lib-ld.m4 \
$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
- $(top_srcdir)/m4/libsigsegv.m4 $(top_srcdir)/m4/longlong.m4 \
- $(top_srcdir)/m4/mpfr.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/noreturn.m4 $(top_srcdir)/m4/pma.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/m4/readline.m4 $(top_srcdir)/m4/socket.m4 \
+ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/mpfr.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/noreturn.m4 \
+ $(top_srcdir)/m4/pma.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/readline.m4 \
+ $(top_srcdir)/m4/socket.m4 \
$(top_srcdir)/m4/triplet-transformation.m4 \
$(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
@@ -256,7 +256,6 @@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
-HAVE_LIBSIGSEGV = @HAVE_LIBSIGSEGV@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
@@ -271,13 +270,10 @@ LIBMPFR = @LIBMPFR@
LIBOBJS = @LIBOBJS@
LIBREADLINE = @LIBREADLINE@
LIBS = @LIBS@
-LIBSIGSEGV = @LIBSIGSEGV@
-LIBSIGSEGV_PREFIX = @LIBSIGSEGV_PREFIX@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
-LTLIBSIGSEGV = @LTLIBSIGSEGV@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
MSGFMT = @MSGFMT@
diff --git a/test/Makefile.in b/test/Makefile.in
index ffefaad6..c9b068c3 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.16.5 from Makefile.am.
+# Makefile.in generated by automake 1.16.4 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2021 Free Software Foundation, Inc.
@@ -119,11 +119,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/arch.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
$(top_srcdir)/m4/lcmessage.m4 $(top_srcdir)/m4/lib-ld.m4 \
$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
- $(top_srcdir)/m4/libsigsegv.m4 $(top_srcdir)/m4/longlong.m4 \
- $(top_srcdir)/m4/mpfr.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/noreturn.m4 $(top_srcdir)/m4/pma.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/m4/readline.m4 $(top_srcdir)/m4/socket.m4 \
+ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/mpfr.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/noreturn.m4 \
+ $(top_srcdir)/m4/pma.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/readline.m4 \
+ $(top_srcdir)/m4/socket.m4 \
$(top_srcdir)/m4/triplet-transformation.m4 \
$(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
@@ -185,7 +185,6 @@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
-HAVE_LIBSIGSEGV = @HAVE_LIBSIGSEGV@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
@@ -200,13 +199,10 @@ LIBMPFR = @LIBMPFR@
LIBOBJS = @LIBOBJS@
LIBREADLINE = @LIBREADLINE@
LIBS = @LIBS@
-LIBSIGSEGV = @LIBSIGSEGV@
-LIBSIGSEGV_PREFIX = @LIBSIGSEGV_PREFIX@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
-LTLIBSIGSEGV = @LTLIBSIGSEGV@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
MSGFMT = @MSGFMT@
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 6 +
Makefile.in | 19 +-
NEWS | 8 +-
aclocal.m4 | 11 +-
awklib/Makefile.in | 16 +-
configh.in | 3 -
configure | 590 ----------------
configure.ac | 7 -
doc/ChangeLog | 8 +-
doc/Makefile.in | 16 +-
doc/gawk.info | 1937 +++++++++++++++++++++++++--------------------------
doc/gawk.texi | 5 +
doc/gawktexi.in | 5 +
extras/Makefile.in | 16 +-
m4/ChangeLog | 4 +
m4/libsigsegv.m4 | 16 -
main.c | 52 +-
support/Makefile.in | 16 +-
test/Makefile.in | 16 +-
19 files changed, 1034 insertions(+), 1717 deletions(-)
delete mode 100644 m4/libsigsegv.m4
hooks/post-receive
--
gawk
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [SCM] gawk branch, master, updated. gawk-4.1.0-5069-gc31a657a,
Arnold Robbins <=