#! /bin/sh
# Generated from wstest.at by GNU Autoconf 2.69.
#
# Copyright (C) 2009-2012 Free Software Foundation, Inc.
#
# This test suite is free software; the Free Software Foundation gives
# unlimited permission to copy, distribute and modify it.
## -------------------- ##
## M4sh Initialization. ##
## -------------------- ##

# Be more Bourne compatible
DUALCASE=1; export DUALCASE # for MKS sh
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
  emulate sh
  NULLCMD=:
  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in #(
  *posix*) :
    set -o posix ;; #(
  *) :
     ;;
esac
fi


as_nl='
'
export as_nl
# Printing a long string crashes Solaris 7 /usr/bin/printf.
as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
# Prefer a ksh shell builtin over an external printf program on Solaris,
# but without wasting forks for bash or zsh.
if test -z "$BASH_VERSION$ZSH_VERSION" \
    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
  as_echo='print -r --'
  as_echo_n='print -rn --'
elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
  as_echo='printf %s\n'
  as_echo_n='printf %s'
else
  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
    as_echo_n='/usr/ucb/echo -n'
  else
    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
    as_echo_n_body='eval
      arg=$1;
      case $arg in #(
      *"$as_nl"*)
	expr "X$arg" : "X\\(.*\\)$as_nl";
	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
      esac;
      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
    '
    export as_echo_n_body
    as_echo_n='sh -c $as_echo_n_body as_echo'
  fi
  export as_echo_body
  as_echo='sh -c $as_echo_body as_echo'
fi

# The user is always right.
if test "${PATH_SEPARATOR+set}" != set; then
  PATH_SEPARATOR=:
  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
      PATH_SEPARATOR=';'
  }
fi


# IFS
# We need space, tab and new line, in precisely that order.  Quoting is
# there to prevent editors from complaining about space-tab.
# (If _AS_PATH_WALK were called with IFS unset, it would disable word
# splitting by setting IFS to empty value.)
IFS=" ""	$as_nl"

# Find who we are.  Look in the path if we contain no directory separator.
as_myself=
case $0 in #((
  *[\\/]* ) as_myself=$0 ;;
  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
  done
IFS=$as_save_IFS

     ;;
esac
# We did not find ourselves, most probably we were run as `sh COMMAND'
# in which case we are not to be found in the path.
if test "x$as_myself" = x; then
  as_myself=$0
fi
if test ! -f "$as_myself"; then
  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
  exit 1
fi

# Unset variables that we do not need and which cause bugs (e.g. in
# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
# suppresses any "Segmentation fault" message there.  '((' could
# trigger a bug in pdksh 5.2.14.
for as_var in BASH_ENV ENV MAIL MAILPATH
do eval test x\${$as_var+set} = xset \
  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
done
PS1='$ '
PS2='> '
PS4='+ '

# NLS nuisances.
LC_ALL=C
export LC_ALL
LANGUAGE=C
export LANGUAGE

# CDPATH.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH

if test "x$CONFIG_SHELL" = x; then
  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
  emulate sh
  NULLCMD=:
  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '\${1+\"\$@\"}'='\"\$@\"'
  setopt NO_GLOB_SUBST
else
  case \`(set -o) 2>/dev/null\` in #(
  *posix*) :
    set -o posix ;; #(
  *) :
     ;;
esac
fi
"
  as_required="as_fn_return () { (exit \$1); }
as_fn_success () { as_fn_return 0; }
as_fn_failure () { as_fn_return 1; }
as_fn_ret_success () { return 0; }
as_fn_ret_failure () { return 1; }

exitcode=0
as_fn_success || { exitcode=1; echo as_fn_success failed.; }
as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :

else
  exitcode=1; echo positional parameters were not saved.
fi
test x\$exitcode = x0 || exit 1
test -x / || exit 1"
  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
test \$(( 1 + 1 )) = 2 || exit 1"
  if (eval "$as_required") 2>/dev/null; then :
  as_have_required=yes
else
  as_have_required=no
fi
  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :

else
  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
as_found=false
for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
  as_found=:
  case $as_dir in #(
	 /*)
	   for as_base in sh bash ksh sh5; do
	     # Try only shells that exist, to save several forks.
	     as_shell=$as_dir/$as_base
	     if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
		    { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
  CONFIG_SHELL=$as_shell as_have_required=yes
		   if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
  break 2
fi
fi
	   done;;
       esac
  as_found=false
done
$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
	      { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
  CONFIG_SHELL=$SHELL as_have_required=yes
fi; }
IFS=$as_save_IFS


      if test "x$CONFIG_SHELL" != x; then :
  export CONFIG_SHELL
             # We cannot yet assume a decent shell, so we have to provide a
# neutralization value for shells without unset; and this also
# works around shells that cannot unset nonexistent variables.
# Preserve -v and -x to the replacement shell.
BASH_ENV=/dev/null
ENV=/dev/null
(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
case $- in # ((((
  *v*x* | *x*v* ) as_opts=-vx ;;
  *v* ) as_opts=-v ;;
  *x* ) as_opts=-x ;;
  * ) as_opts= ;;
esac
exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
# Admittedly, this is quite paranoid, since all the known shells bail
# out after a failed `exec'.
$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
exit 255
fi

    if test x$as_have_required = xno; then :
  $as_echo "$0: This script requires a shell more modern than all"
  $as_echo "$0: the shells that I found on your system."
  if test x${ZSH_VERSION+set} = xset ; then
    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
  else
    $as_echo "$0: Please tell bug-autoconf@gnu.org about your system,
$0: including any error possibly output before this
$0: message. Then install a modern shell, or manually run
$0: the script under such a shell if you do have one."
  fi
  exit 1
fi
fi
fi
SHELL=${CONFIG_SHELL-/bin/sh}
export SHELL
# Unset more variables known to interfere with behavior of common tools.
CLICOLOR_FORCE= GREP_OPTIONS=
unset CLICOLOR_FORCE GREP_OPTIONS

## --------------------- ##
## M4sh Shell Functions. ##
## --------------------- ##
# as_fn_unset VAR
# ---------------
# Portably unset VAR.
as_fn_unset ()
{
  { eval $1=; unset $1;}
}
as_unset=as_fn_unset

# as_fn_set_status STATUS
# -----------------------
# Set $? to STATUS, without forking.
as_fn_set_status ()
{
  return $1
} # as_fn_set_status

# as_fn_exit STATUS
# -----------------
# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
as_fn_exit ()
{
  set +e
  as_fn_set_status $1
  exit $1
} # as_fn_exit

# as_fn_mkdir_p
# -------------
# Create "$as_dir" as a directory, including parents if necessary.
as_fn_mkdir_p ()
{

  case $as_dir in #(
  -*) as_dir=./$as_dir;;
  esac
  test -d "$as_dir" || eval $as_mkdir_p || {
    as_dirs=
    while :; do
      case $as_dir in #(
      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
      *) as_qdir=$as_dir;;
      esac
      as_dirs="'$as_qdir' $as_dirs"
      as_dir=`$as_dirname -- "$as_dir" ||
$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
	 X"$as_dir" : 'X\(//\)[^/]' \| \
	 X"$as_dir" : 'X\(//\)$' \| \
	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X"$as_dir" |
    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)[^/].*/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\).*/{
	    s//\1/
	    q
	  }
	  s/.*/./; q'`
      test -d "$as_dir" && break
    done
    test -z "$as_dirs" || eval "mkdir $as_dirs"
  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"


} # as_fn_mkdir_p

# as_fn_executable_p FILE
# -----------------------
# Test if FILE is an executable regular file.
as_fn_executable_p ()
{
  test -f "$1" && test -x "$1"
} # as_fn_executable_p
# as_fn_append VAR VALUE
# ----------------------
# Append the text in VALUE to the end of the definition contained in VAR. Take
# advantage of any shell optimizations that allow amortized linear growth over
# repeated appends, instead of the typical quadratic growth present in naive
# implementations.
if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
  eval 'as_fn_append ()
  {
    eval $1+=\$2
  }'
else
  as_fn_append ()
  {
    eval $1=\$$1\$2
  }
fi # as_fn_append

# as_fn_arith ARG...
# ------------------
# Perform arithmetic evaluation on the ARGs, and store the result in the
# global $as_val. Take advantage of shells that can avoid forks. The arguments
# must be portable across $(()) and expr.
if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
  eval 'as_fn_arith ()
  {
    as_val=$(( $* ))
  }'
else
  as_fn_arith ()
  {
    as_val=`expr "$@" || test $? -eq 1`
  }
fi # as_fn_arith


# as_fn_error STATUS ERROR [LINENO LOG_FD]
# ----------------------------------------
# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
# script with STATUS, using 1 if that was 0.
as_fn_error ()
{
  as_status=$1; test $as_status -eq 0 && as_status=1
  if test "$4"; then
    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
  fi
  $as_echo "$as_me: error: $2" >&2
  as_fn_exit $as_status
} # as_fn_error

if expr a : '\(a\)' >/dev/null 2>&1 &&
   test "X`expr 00001 : '.*\(...\)'`" = X001; then
  as_expr=expr
else
  as_expr=false
fi

if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
  as_basename=basename
else
  as_basename=false
fi

as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
	 X"$0" : 'X\(//\)$' \| \
	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X/"$0" |
    sed '/^.*\/\([^/][^/]*\)\/*$/{
	    s//\1/
	    q
	  }
	  /^X\/\(\/\/\)$/{
	    s//\1/
	    q
	  }
	  /^X\/\(\/\).*/{
	    s//\1/
	    q
	  }
	  s/.*/./; q'`

if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
  as_dirname=dirname
else
  as_dirname=false
fi

# Avoid depending upon Character Ranges.
as_cr_letters='abcdefghijklmnopqrstuvwxyz'
as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
as_cr_Letters=$as_cr_letters$as_cr_LETTERS
as_cr_digits='0123456789'
as_cr_alnum=$as_cr_Letters$as_cr_digits


  as_lineno_1=$LINENO as_lineno_1a=$LINENO
  as_lineno_2=$LINENO as_lineno_2a=$LINENO
  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
  sed -n '
    p
    /[$]LINENO/=
  ' <$as_myself |
    sed '
      s/[$]LINENO.*/&-/
      t lineno
      b
      :lineno
      N
      :loop
      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
      t loop
      s/-\n.*//
    ' >$as_me.lineno &&
  chmod +x "$as_me.lineno" ||
    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }

  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
  # already done that, so ensure we don't try to do so again and fall
  # in an infinite loop.  This has already happened in practice.
  _as_can_reexec=no; export _as_can_reexec
  # Don't try to exec as it changes $[0], causing all sort of problems
  # (the dirname of $[0] is not the place where we might find the
  # original and so on.  Autoconf is especially sensitive to this).
  . "./$as_me.lineno"
  # Exit status is that of the last command.
  exit
}

ECHO_C= ECHO_N= ECHO_T=
case `echo -n x` in #(((((
-n*)
  case `echo 'xy\c'` in
  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
  xy)  ECHO_C='\c';;
  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
       ECHO_T='	';;
  esac;;
*)
  ECHO_N='-n';;
esac

rm -f conf$$ conf$$.exe conf$$.file
if test -d conf$$.dir; then
  rm -f conf$$.dir/conf$$.file
else
  rm -f conf$$.dir
  mkdir conf$$.dir 2>/dev/null
fi
if (echo >conf$$.file) 2>/dev/null; then
  if ln -s conf$$.file conf$$ 2>/dev/null; then
    as_ln_s='ln -s'
    # ... but there are two gotchas:
    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
    # In both cases, we have to default to `cp -pR'.
    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
      as_ln_s='cp -pR'
  elif ln conf$$.file conf$$ 2>/dev/null; then
    as_ln_s=ln
  else
    as_ln_s='cp -pR'
  fi
else
  as_ln_s='cp -pR'
fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null

if mkdir -p . 2>/dev/null; then
  as_mkdir_p='mkdir -p "$as_dir"'
else
  test -d ./-p && rmdir ./-p
  as_mkdir_p=false
fi

as_test_x='test -x'
as_executable_p=as_fn_executable_p

# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"

# Sed expression to map a string onto a valid variable name.
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"





SHELL=${CONFIG_SHELL-/bin/sh}

# How were we run?
at_cli_args="$@"


# Not all shells have the 'times' builtin; the subshell is needed to make
# sure we discard the 'times: not found' message from the shell.
at_times_p=false
(times) >/dev/null 2>&1 && at_times_p=:

# CLI Arguments to pass to the debugging scripts.
at_debug_args=
# -e sets to true
at_errexit_p=false
# Shall we be verbose?  ':' means no, empty means yes.
at_verbose=:
at_quiet=
# Running several jobs in parallel, 0 means as many as test groups.
at_jobs=1
at_traceon=:
at_trace_echo=:
at_check_filter_trace=:

# Shall we keep the debug scripts?  Must be `:' when the suite is
# run by a debug script, so that the script doesn't remove itself.
at_debug_p=false
# Display help message?
at_help_p=false
# Display the version message?
at_version_p=false
# List test groups?
at_list_p=false
# --clean
at_clean=false
# Test groups to run
at_groups=
# Whether to rerun failed tests.
at_recheck=
# Whether a write failure occurred
at_write_fail=0

# The directory we run the suite in.  Default to . if no -C option.
at_dir=`pwd`
# An absolute reference to this testsuite script.
case $as_myself in
  [\\/]* | ?:[\\/]* ) at_myself=$as_myself ;;
  * ) at_myself=$at_dir/$as_myself ;;
esac
# Whether -C is in effect.
at_change_dir=false

# Whether to enable colored test results.
at_color=no
# List of the tested programs.
at_tested='wsp'
# As many question marks as there are digits in the last test group number.
# Used to normalize the test group numbers so that `ls' lists them in
# numerical order.
at_format='???'
# Description of all the test groups.
at_help_all="1;wordsplit.at:58;simple input;wordsplit wsp wordsplit000 wsp000 wsp-simple;
2;wordsplit.at:67;quoted space;wordsplit wsp wordsplit001 wsp000 wsp-quoted;
3;wordsplit.at:74;tab character;wordsplit wsp wordsplit002 wsp000 wsp-tab;
4;wordsplit.at:83;octal and hex escapes;wordsplit wsp wordsplit003 wsp000 wsp-escape wsp-escape000;
5;wordsplit.at:90;octal and hex escapes 2;wordsplit wsp wordsplit004 wsp000 wsp-escape wsp-escape001;
6;wordsplit.at:99;escape representation;wordsplit wsp wordsplit005 wsp000 wsp-escape wsp-escape002;
7;wordsplit.at:111;append;wordsplit wsp wordsplit006 wsp000 wsp-append;
8;wordsplit.at:136;dooffs;wordsplit wsp wordsplit007 wsp000 wsp-doofs;
9;wordsplit.at:149;variable substitutions: single var;wordsplit wsp wordsplit008 wsp000 wsp-var wsp-var000;
10;wordsplit.at:160;variable substitutions: concatenated vars;wordsplit wsp wordsplit009 wsp000 wsp-var wsp-var001;
11;wordsplit.at:172;variable substitutions: field splitting;wordsplit wsp wordsplit010 wsp000 wsp-var wsp-var002;
12;wordsplit.at:184;variable substitutions: double-quoted variable;wordsplit wsp wordsplit011 wsp000 wsp-var wsp-var003;
13;wordsplit.at:195;variable substitutions: single-quoted variable;wordsplit wsp wordsplit012 wsp000 wsp-var wsp-var004;
14;wordsplit.at:206;undefined variables 1;wordsplit wsp wordsplit013 wsp000 wsp-var wsp-var005;
15;wordsplit.at:217;undefined variables 2;wordsplit wsp wordsplit014 wsp000 wsp-var wsp-var006;
16;wordsplit.at:229;warn about undefined variables;wordsplit wsp wordsplit015 wsp000 wsp-var wsp-var007;
17;wordsplit.at:238;bail out on undefined variables;wordsplit wsp wordsplit016 wsp000 wsp-var wsp-var008;
18;wordsplit.at:245;disable variable expansion;wordsplit wsp wordsplit017 wsp000 wsp-var wsp-var009;
19;wordsplit.at:254;K/V environment;wordsplit wsp wordsplit018 wsp000 wsp-var wsp-var010 wsp-env-kv wsp-env_kv;
20;wordsplit.at:265;nosplit with variable expansion;wordsplit wsp wordsplit019 wsp000 wsp-var wsp-var011 wsp-var-nosplit;
21;wordsplit.at:274;nosplit without variable expansion;wordsplit wsp wordsplit020 wsp000 wsp-var wsp-var012;
22;wordsplit.at:283;nosplit: empty expansion;wordsplit wsp wordsplit021 wsp000 wsp-var wsp-var013;
23;wordsplit.at:292;default value;wordsplit wsp wordsplit022 wsp000 wsp-var wsp-var014;
24;wordsplit.at:299;default value (defined);wordsplit wsp wordsplit023 wsp000 wsp-var wsp-var015;
25;wordsplit.at:308;default value (:- null);wordsplit wsp wordsplit024 wsp000 wsp-var wsp-var016;
26;wordsplit.at:317;default value (- null);wordsplit wsp wordsplit025 wsp000 wsp-var wsp-var017;
27;wordsplit.at:325;default value (- null, unset);wordsplit wsp wordsplit026 wsp000 wsp-var wsp-var018;
28;wordsplit.at:332;assign default values;wordsplit wsp wordsplit027 wsp000 wsp-var wsp-var019;
29;wordsplit.at:343;default error message (var defined);wordsplit wsp wordsplit028 wsp000 wsp-var wsp-var020;
30;wordsplit.at:354;default error message;wordsplit wsp wordsplit029 wsp000 wsp-var wsp-var021;
31;wordsplit.at:362;custom error message (defined);wordsplit wsp wordsplit030 wsp000 wsp-var wsp-var022 wsp-custom-err wsp-custom-err00;
32;wordsplit.at:373;custom error message;wordsplit wsp wordsplit031 wsp000 wsp-var wsp-var023 wsp-custom-err wsp-custom-err01;
33;wordsplit.at:383;alternate value (defined);wordsplit wsp wordsplit032 wsp000 wsp-var wsp-var024 wsp-alt wsp-alt00;
34;wordsplit.at:394;alternate value;wordsplit wsp wordsplit033 wsp000 wsp-var wsp-var025 wsp-alt wsp-alt01;
35;wordsplit.at:404;getvar;wordsplit wsp wordsplit034 wsp000 wsp-var wsp-var026 wsp-getvar;
36;wordsplit.at:418;getvar and env;wordsplit wsp wordsplit035 wsp000 wsp-var wsp-var027 wsp-getvar;
37;wordsplit.at:434;getvar, alternate value;wordsplit wsp wordsplit036 wsp000 wsp-var wsp-var028 wsp-getvar;
38;wordsplit.at:445;ignore quotes;wordsplit wsp wordsplit037 wsp000 wsp-ignore-quotes;
39;wordsplit.at:455;custom delimiters (squeeze);wordsplit wsp wordsplit038 wsp000 wsp-delim wsp-delim000;
40;wordsplit.at:467;custom delimiters (no squeeze);wordsplit wsp wordsplit039 wsp000 wsp-delim wsp-delim001;
41;wordsplit.at:480;custom, with returned delimiters;wordsplit wsp wordsplit040 wsp000 wsp-delim wsp-delim002;
42;wordsplit.at:496;custom, with returned & squeezed delimiters;wordsplit wsp wordsplit041 wsp000 wsp-delim wsp-delim003;
43;wordsplit.at:515;sed expressions;wordsplit wsp wordsplit042 wsp000 wsp-sed wsp-sed000;
44;wordsplit.at:526;C escapes on;wordsplit wsp wordsplit043 wsp000 wcp-c-escape;
45;wordsplit.at:536;C escapes off;wordsplit wsp wordsplit044 wsp000 wcp-c-escape-off;
46;wordsplit.at:546;ws elimination;wordsplit wsp wordsplit045 wsp000 wsp-ws-elim;
47;wordsplit.at:556;ws elimination + return delim;wordsplit wsp wordsplit046 wsp000 wsp-ws-elim-ret;
48;wordsplit.at:570;empty quotes;wordsplit wsp wordsplit047 wsp000 wsp-empty-quotes;
49;wordsplit.at:577;delimiter following empty quotes;wordsplit wsp wordsplit048 wsp000;
50;wordsplit.at:587;suppress ws trimming within quotes;wordsplit wsp wordsplit049 wsp000;
51;wordsplit.at:600;unescape;wordsplit wsp wordsplit050 wsp000 wsp-unescape wsp-unescape-simple;
52;wordsplit.at:611;unescape: word/quote;wordsplit wsp wordsplit051 wsp000 wsp-unescape wsp-unescape-word;
53;wordsplit.at:625;dquote;wordsplit wsp wordsplit052 wsp000;
54;wordsplit.at:635;squote;wordsplit wsp wordsplit053 wsp000;
55;wordsplit.at:647;incremental;wordsplit wsp wordsplit054 wsp000 wsp-incr wsp-incr000;
56;wordsplit.at:665;incremental append;wordsplit wsp wordsplit055 wsp000 wsp-incr wsp-incr001;
57;wordsplit.at:686;incremental ws;wordsplit wsp wordsplit056 wsp000 wsp-incr wsp-incr002;
58;wordsplit.at:705;incremental nosplit;wordsplit wsp wordsplit057 wsp000 wsp-incr wsp-incr003;
59;wordsplit.at:715;simple command substitution;wordsplit wsp wordsplit058 wsp000 wsp-incr wsp-incr004;
60;wordsplit.at:725;quoted command substitution;wordsplit wsp wordsplit059 wsp000 wsp-incr wsp-incr005;
61;wordsplit.at:734;coalesced command substitution;wordsplit wsp wordsplit060 wsp000 wsp-incr wsp-incr006;
62;wordsplit.at:742;quoted coalesced command substitution;wordsplit wsp wordsplit061 wsp000 wsp-incr wsp-incr007;
63;wordsplit.at:749;variable and command substitution;wordsplit wsp wordsplit062 wsp000 wsp-incr wsp-incr008;
64;wordsplit.at:760;variable expansion and command substitution in quotes;wordsplit wsp wordsplit063 wsp000 wsp-incr wsp-incr009;
65;wordsplit.at:767;nested commands;wordsplit wsp wordsplit064 wsp000 wsp-incr wsp-incr010;
66;wordsplit.at:778;pathname expansion;wordsplit wsp wsp-path wsp-path-1;
67;wordsplit.at:800;pathname expansion: no match;wordsplit wsp wsp-path wsp-path-2;
68;wordsplit.at:820;pathname expansion: nullglob;wordsplit wsp wsp-path wsp-path-3;
69;wordsplit.at:839;pathname expansion: failglob;wordsplit wsp wsp-path wsp-path-4;
70;wordsplit.at:856;append;wordsplit wsp wordsplit065 wsp000 wsp-incr wsp-incr011;
71;wordsplit.at:868;append + dooffs + env;wordsplit wsp wordsplit066 wsp000 wsp-incr wsp-incr012;
72;wordsplit.at:885;maxwords;wordsplit wsp wordsplit067 wsp000 wsp-incr wsp-incr013;
73;wordsplit.at:895;maxwords return_delims;wordsplit wsp wordsplit068 wsp000 wsp-incr wsp-incr014;
74;wordsplit.at:910;maxwords return_delims -squeeze_delims;wordsplit wsp wordsplit069 wsp000 wsp-incr wsp-incr015;
75;wordsplit.at:925;maxwords incremental;wordsplit wsp wordsplit070 wsp000 wsp-incr wsp-incr016;
76;wordsplit.at:944;variable nosplit;wordsplit wsp wordsplit071 wsp000 wsp-incr wsp-incr017;
77;wordsplit.at:953;command nosplit;wordsplit wsp wordsplit072 wsp000 wsp-incr wsp-incr018;
78;wordsplit.at:962;positional parameters;wordsplit wsp wordsplit073 wsp000 wsp-incr wsp-incr019;
79;wordsplit.at:975;\$* and \$@;wordsplit wsp wordsplit074 wsp000 wsp-incr wsp-incr020;
80;wordsplit.at:1000;\$* and \$@ in nosplit mode;wordsplit wsp wordsplit075 wsp000 wsp-incr wsp-incr021;
81;wordsplit.at:1012;\$* and \$@ in nosplit mode with delimiter;wordsplit wsp wordsplit076 wsp000 wsp-incr wsp-incr022;
82;wordsplit.at:1026;namechar modification;wordsplit wsp wordsplit077 wsp000 wsp-incr wsp-incr023;
83;wordsplit.at:1040;default value;wordsplit wsp wordsplit078 wsp000 wsp-incr wsp-incr024;
84;wordsplit.at:1048;default value (defined);wordsplit wsp wordsplit079 wsp000 wsp-incr wsp-incr025;
85;wordsplit.at:1057;default value (:- null);wordsplit wsp wordsplit080 wsp000 wsp-incr wsp-incr026;
86;wordsplit.at:1066;default value (- null);wordsplit wsp wordsplit081 wsp000 wsp-incr wsp-incr027;
87;wordsplit.at:1074;default value (- null, unset);wordsplit wsp wordsplit082 wsp000 wsp-incr wsp-incr028;
88;wordsplit.at:1082;assign default values;wordsplit wsp wordsplit083 wsp000 wsp-incr wsp-incr029;
89;wordsplit.at:1094;default error message (var defined);wordsplit wsp wordsplit084 wsp000 wsp-incr wsp-incr030;
90;wordsplit.at:1104;default error message;wordsplit wsp wordsplit085 wsp000 wsp-incr wsp-incr031;
91;wordsplit.at:1113;custom error message (defined);wordsplit wsp wordsplit086 wsp000 wsp-incr wsp-incr032 wsp-custom-err wsp-custom-err03;
92;wordsplit.at:1123;custom error message;wordsplit wsp wordsplit087 wsp000 wsp-incr wsp-incr033 wsp-custom-err wsp-custom-err04;
93;wordsplit.at:1134;alternate value (defined);wordsplit wsp wordsplit088 wsp000 wsp-incr wsp-incr034 wsp-alt wsp-alt02;
94;wordsplit.at:1146;alternate value;wordsplit wsp wordsplit089 wsp000 wsp-incr wsp-incr035 wsp-alt wsp-alt03;
95;wordsplit.at:58;simple input;wordsplit wsp wordsplit000 wsp000 wsp-simple;
96;wordsplit.at:67;quoted space;wordsplit wsp wordsplit001 wsp000 wsp-quoted;
97;wordsplit.at:74;tab character;wordsplit wsp wordsplit002 wsp000 wsp-tab;
98;wordsplit.at:83;octal and hex escapes;wordsplit wsp wordsplit003 wsp000 wsp-escape wsp-escape000;
99;wordsplit.at:90;octal and hex escapes 2;wordsplit wsp wordsplit004 wsp000 wsp-escape wsp-escape001;
100;wordsplit.at:99;escape representation;wordsplit wsp wordsplit005 wsp000 wsp-escape wsp-escape002;
101;wordsplit.at:111;append;wordsplit wsp wordsplit006 wsp000 wsp-append;
102;wordsplit.at:136;dooffs;wordsplit wsp wordsplit007 wsp000 wsp-doofs;
103;wordsplit.at:149;variable substitutions: single var;wordsplit wsp wordsplit008 wsp000 wsp-var wsp-var000;
104;wordsplit.at:160;variable substitutions: concatenated vars;wordsplit wsp wordsplit009 wsp000 wsp-var wsp-var001;
105;wordsplit.at:172;variable substitutions: field splitting;wordsplit wsp wordsplit010 wsp000 wsp-var wsp-var002;
106;wordsplit.at:184;variable substitutions: double-quoted variable;wordsplit wsp wordsplit011 wsp000 wsp-var wsp-var003;
107;wordsplit.at:195;variable substitutions: single-quoted variable;wordsplit wsp wordsplit012 wsp000 wsp-var wsp-var004;
108;wordsplit.at:206;undefined variables 1;wordsplit wsp wordsplit013 wsp000 wsp-var wsp-var005;
109;wordsplit.at:217;undefined variables 2;wordsplit wsp wordsplit014 wsp000 wsp-var wsp-var006;
110;wordsplit.at:229;warn about undefined variables;wordsplit wsp wordsplit015 wsp000 wsp-var wsp-var007;
111;wordsplit.at:238;bail out on undefined variables;wordsplit wsp wordsplit016 wsp000 wsp-var wsp-var008;
112;wordsplit.at:245;disable variable expansion;wordsplit wsp wordsplit017 wsp000 wsp-var wsp-var009;
113;wordsplit.at:254;K/V environment;wordsplit wsp wordsplit018 wsp000 wsp-var wsp-var010 wsp-env-kv wsp-env_kv;
114;wordsplit.at:265;nosplit with variable expansion;wordsplit wsp wordsplit019 wsp000 wsp-var wsp-var011 wsp-var-nosplit;
115;wordsplit.at:274;nosplit without variable expansion;wordsplit wsp wordsplit020 wsp000 wsp-var wsp-var012;
116;wordsplit.at:283;nosplit: empty expansion;wordsplit wsp wordsplit021 wsp000 wsp-var wsp-var013;
117;wordsplit.at:292;default value;wordsplit wsp wordsplit022 wsp000 wsp-var wsp-var014;
118;wordsplit.at:299;default value (defined);wordsplit wsp wordsplit023 wsp000 wsp-var wsp-var015;
119;wordsplit.at:308;default value (:- null);wordsplit wsp wordsplit024 wsp000 wsp-var wsp-var016;
120;wordsplit.at:317;default value (- null);wordsplit wsp wordsplit025 wsp000 wsp-var wsp-var017;
121;wordsplit.at:325;default value (- null, unset);wordsplit wsp wordsplit026 wsp000 wsp-var wsp-var018;
122;wordsplit.at:332;assign default values;wordsplit wsp wordsplit027 wsp000 wsp-var wsp-var019;
123;wordsplit.at:343;default error message (var defined);wordsplit wsp wordsplit028 wsp000 wsp-var wsp-var020;
124;wordsplit.at:354;default error message;wordsplit wsp wordsplit029 wsp000 wsp-var wsp-var021;
125;wordsplit.at:362;custom error message (defined);wordsplit wsp wordsplit030 wsp000 wsp-var wsp-var022 wsp-custom-err wsp-custom-err00;
126;wordsplit.at:373;custom error message;wordsplit wsp wordsplit031 wsp000 wsp-var wsp-var023 wsp-custom-err wsp-custom-err01;
127;wordsplit.at:383;alternate value (defined);wordsplit wsp wordsplit032 wsp000 wsp-var wsp-var024 wsp-alt wsp-alt00;
128;wordsplit.at:394;alternate value;wordsplit wsp wordsplit033 wsp000 wsp-var wsp-var025 wsp-alt wsp-alt01;
129;wordsplit.at:404;getvar;wordsplit wsp wordsplit034 wsp000 wsp-var wsp-var026 wsp-getvar;
130;wordsplit.at:418;getvar and env;wordsplit wsp wordsplit035 wsp000 wsp-var wsp-var027 wsp-getvar;
131;wordsplit.at:434;getvar, alternate value;wordsplit wsp wordsplit036 wsp000 wsp-var wsp-var028 wsp-getvar;
132;wordsplit.at:445;ignore quotes;wordsplit wsp wordsplit037 wsp000 wsp-ignore-quotes;
133;wordsplit.at:455;custom delimiters (squeeze);wordsplit wsp wordsplit038 wsp000 wsp-delim wsp-delim000;
134;wordsplit.at:467;custom delimiters (no squeeze);wordsplit wsp wordsplit039 wsp000 wsp-delim wsp-delim001;
135;wordsplit.at:480;custom, with returned delimiters;wordsplit wsp wordsplit040 wsp000 wsp-delim wsp-delim002;
136;wordsplit.at:496;custom, with returned & squeezed delimiters;wordsplit wsp wordsplit041 wsp000 wsp-delim wsp-delim003;
137;wordsplit.at:515;sed expressions;wordsplit wsp wordsplit042 wsp000 wsp-sed wsp-sed000;
138;wordsplit.at:526;C escapes on;wordsplit wsp wordsplit043 wsp000 wcp-c-escape;
139;wordsplit.at:536;C escapes off;wordsplit wsp wordsplit044 wsp000 wcp-c-escape-off;
140;wordsplit.at:546;ws elimination;wordsplit wsp wordsplit045 wsp000 wsp-ws-elim;
141;wordsplit.at:556;ws elimination + return delim;wordsplit wsp wordsplit046 wsp000 wsp-ws-elim-ret;
142;wordsplit.at:570;empty quotes;wordsplit wsp wordsplit047 wsp000 wsp-empty-quotes;
143;wordsplit.at:577;delimiter following empty quotes;wordsplit wsp wordsplit048 wsp000;
144;wordsplit.at:587;suppress ws trimming within quotes;wordsplit wsp wordsplit049 wsp000;
145;wordsplit.at:600;unescape;wordsplit wsp wordsplit050 wsp000 wsp-unescape wsp-unescape-simple;
146;wordsplit.at:611;unescape: word/quote;wordsplit wsp wordsplit051 wsp000 wsp-unescape wsp-unescape-word;
147;wordsplit.at:625;dquote;wordsplit wsp wordsplit052 wsp000;
148;wordsplit.at:635;squote;wordsplit wsp wordsplit053 wsp000;
149;wordsplit.at:647;incremental;wordsplit wsp wordsplit054 wsp000 wsp-incr wsp-incr000;
150;wordsplit.at:665;incremental append;wordsplit wsp wordsplit055 wsp000 wsp-incr wsp-incr001;
151;wordsplit.at:686;incremental ws;wordsplit wsp wordsplit056 wsp000 wsp-incr wsp-incr002;
152;wordsplit.at:705;incremental nosplit;wordsplit wsp wordsplit057 wsp000 wsp-incr wsp-incr003;
153;wordsplit.at:715;simple command substitution;wordsplit wsp wordsplit058 wsp000 wsp-incr wsp-incr004;
154;wordsplit.at:725;quoted command substitution;wordsplit wsp wordsplit059 wsp000 wsp-incr wsp-incr005;
155;wordsplit.at:734;coalesced command substitution;wordsplit wsp wordsplit060 wsp000 wsp-incr wsp-incr006;
156;wordsplit.at:742;quoted coalesced command substitution;wordsplit wsp wordsplit061 wsp000 wsp-incr wsp-incr007;
157;wordsplit.at:749;variable and command substitution;wordsplit wsp wordsplit062 wsp000 wsp-incr wsp-incr008;
158;wordsplit.at:760;variable expansion and command substitution in quotes;wordsplit wsp wordsplit063 wsp000 wsp-incr wsp-incr009;
159;wordsplit.at:767;nested commands;wordsplit wsp wordsplit064 wsp000 wsp-incr wsp-incr010;
160;wordsplit.at:778;pathname expansion;wordsplit wsp wsp-path wsp-path-1;
161;wordsplit.at:800;pathname expansion: no match;wordsplit wsp wsp-path wsp-path-2;
162;wordsplit.at:820;pathname expansion: nullglob;wordsplit wsp wsp-path wsp-path-3;
163;wordsplit.at:839;pathname expansion: failglob;wordsplit wsp wsp-path wsp-path-4;
164;wordsplit.at:856;append;wordsplit wsp wordsplit065 wsp000 wsp-incr wsp-incr011;
165;wordsplit.at:868;append + dooffs + env;wordsplit wsp wordsplit066 wsp000 wsp-incr wsp-incr012;
166;wordsplit.at:885;maxwords;wordsplit wsp wordsplit067 wsp000 wsp-incr wsp-incr013;
167;wordsplit.at:895;maxwords return_delims;wordsplit wsp wordsplit068 wsp000 wsp-incr wsp-incr014;
168;wordsplit.at:910;maxwords return_delims -squeeze_delims;wordsplit wsp wordsplit069 wsp000 wsp-incr wsp-incr015;
169;wordsplit.at:925;maxwords incremental;wordsplit wsp wordsplit070 wsp000 wsp-incr wsp-incr016;
170;wordsplit.at:944;variable nosplit;wordsplit wsp wordsplit071 wsp000 wsp-incr wsp-incr017;
171;wordsplit.at:953;command nosplit;wordsplit wsp wordsplit072 wsp000 wsp-incr wsp-incr018;
172;wordsplit.at:962;positional parameters;wordsplit wsp wordsplit073 wsp000 wsp-incr wsp-incr019;
173;wordsplit.at:975;\$* and \$@;wordsplit wsp wordsplit074 wsp000 wsp-incr wsp-incr020;
174;wordsplit.at:1000;\$* and \$@ in nosplit mode;wordsplit wsp wordsplit075 wsp000 wsp-incr wsp-incr021;
175;wordsplit.at:1012;\$* and \$@ in nosplit mode with delimiter;wordsplit wsp wordsplit076 wsp000 wsp-incr wsp-incr022;
176;wordsplit.at:1026;namechar modification;wordsplit wsp wordsplit077 wsp000 wsp-incr wsp-incr023;
177;wordsplit.at:1040;default value;wordsplit wsp wordsplit078 wsp000 wsp-incr wsp-incr024;
178;wordsplit.at:1048;default value (defined);wordsplit wsp wordsplit079 wsp000 wsp-incr wsp-incr025;
179;wordsplit.at:1057;default value (:- null);wordsplit wsp wordsplit080 wsp000 wsp-incr wsp-incr026;
180;wordsplit.at:1066;default value (- null);wordsplit wsp wordsplit081 wsp000 wsp-incr wsp-incr027;
181;wordsplit.at:1074;default value (- null, unset);wordsplit wsp wordsplit082 wsp000 wsp-incr wsp-incr028;
182;wordsplit.at:1082;assign default values;wordsplit wsp wordsplit083 wsp000 wsp-incr wsp-incr029;
183;wordsplit.at:1094;default error message (var defined);wordsplit wsp wordsplit084 wsp000 wsp-incr wsp-incr030;
184;wordsplit.at:1104;default error message;wordsplit wsp wordsplit085 wsp000 wsp-incr wsp-incr031;
185;wordsplit.at:1113;custom error message (defined);wordsplit wsp wordsplit086 wsp000 wsp-incr wsp-incr032 wsp-custom-err wsp-custom-err03;
186;wordsplit.at:1123;custom error message;wordsplit wsp wordsplit087 wsp000 wsp-incr wsp-incr033 wsp-custom-err wsp-custom-err04;
187;wordsplit.at:1134;alternate value (defined);wordsplit wsp wordsplit088 wsp000 wsp-incr wsp-incr034 wsp-alt wsp-alt02;
188;wordsplit.at:1146;alternate value;wordsplit wsp wordsplit089 wsp000 wsp-incr wsp-incr035 wsp-alt wsp-alt03;
"
# List of the all the test groups.
at_groups_all=`$as_echo "$at_help_all" | sed 's/;.*//'`

# at_fn_validate_ranges NAME...
# -----------------------------
# Validate and normalize the test group number contained in each variable
# NAME. Leading zeroes are treated as decimal.
at_fn_validate_ranges ()
{
  for at_grp
  do
    eval at_value=\$$at_grp
    if test $at_value -lt 1 || test $at_value -gt 188; then
      $as_echo "invalid test group: $at_value" >&2
      exit 1
    fi
    case $at_value in
      0*) # We want to treat leading 0 as decimal, like expr and test, but
	  # AS_VAR_ARITH treats it as octal if it uses $(( )).
	  # With XSI shells, ${at_value#${at_value%%[1-9]*}} avoids the
	  # expr fork, but it is not worth the effort to determine if the
	  # shell supports XSI when the user can just avoid leading 0.
	  eval $at_grp='`expr $at_value + 0`' ;;
    esac
  done
}

at_prev=
for at_option
do
  # If the previous option needs an argument, assign it.
  if test -n "$at_prev"; then
    at_option=$at_prev=$at_option
    at_prev=
  fi

  case $at_option in
  *=?*) at_optarg=`expr "X$at_option" : '[^=]*=\(.*\)'` ;;
  *)    at_optarg= ;;
  esac

  # Accept the important Cygnus configure options, so we can diagnose typos.

  case $at_option in
    --help | -h )
	at_help_p=:
	;;

    --list | -l )
	at_list_p=:
	;;

    --version | -V )
	at_version_p=:
	;;

    --clean | -c )
	at_clean=:
	;;

    --color )
	at_color=always
	;;
    --color=* )
	case $at_optarg in
	no | never | none) at_color=never ;;
	auto | tty | if-tty) at_color=auto ;;
	always | yes | force) at_color=always ;;
	*) at_optname=`echo " $at_option" | sed 's/^ //; s/=.*//'`
	   as_fn_error $? "unrecognized argument to $at_optname: $at_optarg" ;;
	esac
	;;

    --debug | -d )
	at_debug_p=:
	;;

    --errexit | -e )
	at_debug_p=:
	at_errexit_p=:
	;;

    --verbose | -v )
	at_verbose=; at_quiet=:
	;;

    --trace | -x )
	at_traceon='set -x'
	at_trace_echo=echo
	at_check_filter_trace=at_fn_filter_trace
	;;

    [0-9] | [0-9][0-9] | [0-9][0-9][0-9] | [0-9][0-9][0-9][0-9])
	at_fn_validate_ranges at_option
	as_fn_append at_groups "$at_option$as_nl"
	;;

    # Ranges
    [0-9]- | [0-9][0-9]- | [0-9][0-9][0-9]- | [0-9][0-9][0-9][0-9]-)
	at_range_start=`echo $at_option |tr -d X-`
	at_fn_validate_ranges at_range_start
	at_range=`$as_echo "$at_groups_all" | \
	  sed -ne '/^'$at_range_start'$/,$p'`
	as_fn_append at_groups "$at_range$as_nl"
	;;

    -[0-9] | -[0-9][0-9] | -[0-9][0-9][0-9] | -[0-9][0-9][0-9][0-9])
	at_range_end=`echo $at_option |tr -d X-`
	at_fn_validate_ranges at_range_end
	at_range=`$as_echo "$at_groups_all" | \
	  sed -ne '1,/^'$at_range_end'$/p'`
	as_fn_append at_groups "$at_range$as_nl"
	;;

    [0-9]-[0-9] | [0-9]-[0-9][0-9] | [0-9]-[0-9][0-9][0-9] | \
    [0-9]-[0-9][0-9][0-9][0-9] | [0-9][0-9]-[0-9][0-9] | \
    [0-9][0-9]-[0-9][0-9][0-9] | [0-9][0-9]-[0-9][0-9][0-9][0-9] | \
    [0-9][0-9][0-9]-[0-9][0-9][0-9] | \
    [0-9][0-9][0-9]-[0-9][0-9][0-9][0-9] | \
    [0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9] )
	at_range_start=`expr $at_option : '\(.*\)-'`
	at_range_end=`expr $at_option : '.*-\(.*\)'`
	if test $at_range_start -gt $at_range_end; then
	  at_tmp=$at_range_end
	  at_range_end=$at_range_start
	  at_range_start=$at_tmp
	fi
	at_fn_validate_ranges at_range_start at_range_end
	at_range=`$as_echo "$at_groups_all" | \
	  sed -ne '/^'$at_range_start'$/,/^'$at_range_end'$/p'`
	as_fn_append at_groups "$at_range$as_nl"
	;;

    # Directory selection.
    --directory | -C )
	at_prev=--directory
	;;
    --directory=* )
	at_change_dir=:
	at_dir=$at_optarg
	if test x- = "x$at_dir" ; then
	  at_dir=./-
	fi
	;;

    # Parallel execution.
    --jobs | -j )
	at_jobs=0
	;;
    --jobs=* | -j[0-9]* )
	if test -n "$at_optarg"; then
	  at_jobs=$at_optarg
	else
	  at_jobs=`expr X$at_option : 'X-j\(.*\)'`
	fi
	case $at_jobs in *[!0-9]*)
	  at_optname=`echo " $at_option" | sed 's/^ //; s/[0-9=].*//'`
	  as_fn_error $? "non-numeric argument to $at_optname: $at_jobs" ;;
	esac
	;;

    # Keywords.
    --keywords | -k )
	at_prev=--keywords
	;;
    --keywords=* )
	at_groups_selected=$at_help_all
	at_save_IFS=$IFS
	IFS=,
	set X $at_optarg
	shift
	IFS=$at_save_IFS
	for at_keyword
	do
	  at_invert=
	  case $at_keyword in
	  '!'*)
	    at_invert="-v"
	    at_keyword=`expr "X$at_keyword" : 'X!\(.*\)'`
	    ;;
	  esac
	  # It is on purpose that we match the test group titles too.
	  at_groups_selected=`$as_echo "$at_groups_selected" |
	      grep -i $at_invert "^[1-9][^;]*;.*[; ]$at_keyword[ ;]"`
	done
	# Smash the keywords.
	at_groups_selected=`$as_echo "$at_groups_selected" | sed 's/;.*//'`
	as_fn_append at_groups "$at_groups_selected$as_nl"
	;;
    --recheck)
	at_recheck=:
	;;

    *=*)
	at_envvar=`expr "x$at_option" : 'x\([^=]*\)='`
	# Reject names that are not valid shell variable names.
	case $at_envvar in
	  '' | [0-9]* | *[!_$as_cr_alnum]* )
	    as_fn_error $? "invalid variable name: \`$at_envvar'" ;;
	esac
	at_value=`$as_echo "$at_optarg" | sed "s/'/'\\\\\\\\''/g"`
	# Export now, but save eval for later and for debug scripts.
	export $at_envvar
	as_fn_append at_debug_args " $at_envvar='$at_value'"
	;;

     *) $as_echo "$as_me: invalid option: $at_option" >&2
	$as_echo "Try \`$0 --help' for more information." >&2
	exit 1
	;;
  esac
done

# Verify our last option didn't require an argument
if test -n "$at_prev"; then :
  as_fn_error $? "\`$at_prev' requires an argument"
fi

# The file containing the suite.
at_suite_log=$at_dir/$as_me.log

# Selected test groups.
if test -z "$at_groups$at_recheck"; then
  at_groups=$at_groups_all
else
  if test -n "$at_recheck" && test -r "$at_suite_log"; then
    at_oldfails=`sed -n '
      /^Failed tests:$/,/^Skipped tests:$/{
	s/^[ ]*\([1-9][0-9]*\):.*/\1/p
      }
      /^Unexpected passes:$/,/^## Detailed failed tests/{
	s/^[ ]*\([1-9][0-9]*\):.*/\1/p
      }
      /^## Detailed failed tests/q
      ' "$at_suite_log"`
    as_fn_append at_groups "$at_oldfails$as_nl"
  fi
  # Sort the tests, removing duplicates.
  at_groups=`$as_echo "$at_groups" | sort -nu | sed '/^$/d'`
fi

if test x"$at_color" = xalways \
   || { test x"$at_color" = xauto && test -t 1; }; then
  at_red=`printf '\033[0;31m'`
  at_grn=`printf '\033[0;32m'`
  at_lgn=`printf '\033[1;32m'`
  at_blu=`printf '\033[1;34m'`
  at_std=`printf '\033[m'`
else
  at_red= at_grn= at_lgn= at_blu= at_std=
fi

# Help message.
if $at_help_p; then
  cat <<_ATEOF || at_write_fail=1
Usage: $0 [OPTION]... [VARIABLE=VALUE]... [TESTS]

Run all the tests, or the selected TESTS, given by numeric ranges, and
save a detailed log file.  Upon failure, create debugging scripts.

Do not change environment variables directly.  Instead, set them via
command line arguments.  Set \`AUTOTEST_PATH' to select the executables
to exercise.  Each relative directory is expanded as build and source
directories relative to the top level of this distribution.
E.g., from within the build directory /tmp/foo-1.0, invoking this:

  $ $0 AUTOTEST_PATH=bin

is equivalent to the following, assuming the source directory is /src/foo-1.0:

  PATH=/tmp/foo-1.0/bin:/src/foo-1.0/bin:\$PATH $0
_ATEOF
cat <<_ATEOF || at_write_fail=1

Operation modes:
  -h, --help     print the help message, then exit
  -V, --version  print version number, then exit
  -c, --clean    remove all the files this test suite might create and exit
  -l, --list     describes all the tests, or the selected TESTS
_ATEOF
cat <<_ATEOF || at_write_fail=1

Execution tuning:
  -C, --directory=DIR
                 change to directory DIR before starting
      --color[=never|auto|always]
                 enable colored test results on terminal, or always
  -j, --jobs[=N]
                 Allow N jobs at once; infinite jobs with no arg (default 1)
  -k, --keywords=KEYWORDS
                 select the tests matching all the comma-separated KEYWORDS
                 multiple \`-k' accumulate; prefixed \`!' negates a KEYWORD
      --recheck  select all tests that failed or passed unexpectedly last time
  -e, --errexit  abort as soon as a test fails; implies --debug
  -v, --verbose  force more detailed output
                 default for debugging scripts
  -d, --debug    inhibit clean up and top-level logging
                 default for debugging scripts
  -x, --trace    enable tests shell tracing
_ATEOF
cat <<_ATEOF || at_write_fail=1

Report bugs to <bug-direvent@gnu.org.ua>.
_ATEOF
  exit $at_write_fail
fi

# List of tests.
if $at_list_p; then
  cat <<_ATEOF || at_write_fail=1
wordsplit v1.1 test suite test groups:

 NUM: FILE-NAME:LINE     TEST-GROUP-NAME
      KEYWORDS

_ATEOF
  # Pass an empty line as separator between selected groups and help.
  $as_echo "$at_groups$as_nl$as_nl$at_help_all" |
    awk 'NF == 1 && FS != ";" {
	   selected[$ 1] = 1
	   next
	 }
	 /^$/ { FS = ";" }
	 NF > 0 {
	   if (selected[$ 1]) {
	     printf " %3d: %-18s %s\n", $ 1, $ 2, $ 3
	     if ($ 4) {
	       lmax = 79
	       indent = "     "
	       line = indent
	       len = length (line)
	       n = split ($ 4, a, " ")
	       for (i = 1; i <= n; i++) {
		 l = length (a[i]) + 1
		 if (i > 1 && len + l > lmax) {
		   print line
		   line = indent " " a[i]
		   len = length (line)
		 } else {
		   line = line " " a[i]
		   len += l
		 }
	       }
	       if (n)
		 print line
	     }
	   }
	 }' || at_write_fail=1
  exit $at_write_fail
fi
if $at_version_p; then
  $as_echo "$as_me (wordsplit v1.1)" &&
  cat <<\_ATEOF || at_write_fail=1

Copyright (C) 2012 Free Software Foundation, Inc.
This test suite is free software; the Free Software Foundation gives
unlimited permission to copy, distribute and modify it.
_ATEOF
  exit $at_write_fail
fi

# Should we print banners?  Yes if more than one test is run.
case $at_groups in #(
  *$as_nl* )
      at_print_banners=: ;; #(
  * ) at_print_banners=false ;;
esac
# Text for banner N, set to a single space once printed.
# Banner 1. wordsplit.at:1039
# Category starts at test group 83.
at_banner_text_1="namechar modification"
# Banner 2. wordsplit.at:1039
# Category starts at test group 177.
at_banner_text_2="namechar modification"

# Take any -C into account.
if $at_change_dir ; then
  test x != "x$at_dir" && cd "$at_dir" \
    || as_fn_error $? "unable to change directory"
  at_dir=`pwd`
fi

# Load the config files for any default variable assignments.
for at_file in atconfig atlocal
do
  test -r $at_file || continue
  . ./$at_file || as_fn_error $? "invalid content: $at_file"
done

# Autoconf <=2.59b set at_top_builddir instead of at_top_build_prefix:
: "${at_top_build_prefix=$at_top_builddir}"

# Perform any assignments requested during argument parsing.
eval "$at_debug_args"

# atconfig delivers names relative to the directory the test suite is
# in, but the groups themselves are run in testsuite-dir/group-dir.
if test -n "$at_top_srcdir"; then
  builddir=../..
  for at_dir_var in srcdir top_srcdir top_build_prefix
  do
    eval at_val=\$at_$at_dir_var
    case $at_val in
      [\\/$]* | ?:[\\/]* ) at_prefix= ;;
      *) at_prefix=../../ ;;
    esac
    eval "$at_dir_var=\$at_prefix\$at_val"
  done
fi

## -------------------- ##
## Directory structure. ##
## -------------------- ##

# This is the set of directories and files used by this script
# (non-literals are capitalized):
#
# TESTSUITE         - the testsuite
# TESTSUITE.log     - summarizes the complete testsuite run
# TESTSUITE.dir/    - created during a run, remains after -d or failed test
# + at-groups/      - during a run: status of all groups in run
# | + NNN/          - during a run: meta-data about test group NNN
# | | + check-line  - location (source file and line) of current AT_CHECK
# | | + status      - exit status of current AT_CHECK
# | | + stdout      - stdout of current AT_CHECK
# | | + stder1      - stderr, including trace
# | | + stderr      - stderr, with trace filtered out
# | | + test-source - portion of testsuite that defines group
# | | + times       - timestamps for computing duration
# | | + pass        - created if group passed
# | | + xpass       - created if group xpassed
# | | + fail        - created if group failed
# | | + xfail       - created if group xfailed
# | | + skip        - created if group skipped
# + at-stop         - during a run: end the run if this file exists
# + at-source-lines - during a run: cache of TESTSUITE line numbers for extraction
# + 0..NNN/         - created for each group NNN, remains after -d or failed test
# | + TESTSUITE.log - summarizes the group results
# | + ...           - files created during the group

# The directory the whole suite works in.
# Should be absolute to let the user `cd' at will.
at_suite_dir=$at_dir/$as_me.dir
# The file containing the suite ($at_dir might have changed since earlier).
at_suite_log=$at_dir/$as_me.log
# The directory containing helper files per test group.
at_helper_dir=$at_suite_dir/at-groups
# Stop file: if it exists, do not start new jobs.
at_stop_file=$at_suite_dir/at-stop
# The fifo used for the job dispatcher.
at_job_fifo=$at_suite_dir/at-job-fifo

if $at_clean; then
  test -d "$at_suite_dir" &&
    find "$at_suite_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \;
  rm -f -r "$at_suite_dir" "$at_suite_log"
  exit $?
fi

# Don't take risks: use only absolute directories in PATH.
#
# For stand-alone test suites (ie. atconfig was not found),
# AUTOTEST_PATH is relative to `.'.
#
# For embedded test suites, AUTOTEST_PATH is relative to the top level
# of the package.  Then expand it into build/src parts, since users
# may create executables in both places.
AUTOTEST_PATH=`$as_echo "$AUTOTEST_PATH" | sed "s|:|$PATH_SEPARATOR|g"`
at_path=
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $AUTOTEST_PATH $PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
    test -n "$at_path" && as_fn_append at_path $PATH_SEPARATOR
case $as_dir in
  [\\/]* | ?:[\\/]* )
    as_fn_append at_path "$as_dir"
    ;;
  * )
    if test -z "$at_top_build_prefix"; then
      # Stand-alone test suite.
      as_fn_append at_path "$as_dir"
    else
      # Embedded test suite.
      as_fn_append at_path "$at_top_build_prefix$as_dir$PATH_SEPARATOR"
      as_fn_append at_path "$at_top_srcdir/$as_dir"
    fi
    ;;
esac
  done
IFS=$as_save_IFS


# Now build and simplify PATH.
#
# There might be directories that don't exist, but don't redirect
# builtins' (eg., cd) stderr directly: Ultrix's sh hates that.
at_new_path=
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $at_path
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
    test -d "$as_dir" || continue
case $as_dir in
  [\\/]* | ?:[\\/]* ) ;;
  * ) as_dir=`(cd "$as_dir" && pwd) 2>/dev/null` ;;
esac
case $PATH_SEPARATOR$at_new_path$PATH_SEPARATOR in
  *$PATH_SEPARATOR$as_dir$PATH_SEPARATOR*) ;;
  $PATH_SEPARATOR$PATH_SEPARATOR) at_new_path=$as_dir ;;
  *) as_fn_append at_new_path "$PATH_SEPARATOR$as_dir" ;;
esac
  done
IFS=$as_save_IFS

PATH=$at_new_path
export PATH

# Setting up the FDs.



# 5 is the log file.  Not to be overwritten if `-d'.
if $at_debug_p; then
  at_suite_log=/dev/null
else
  : >"$at_suite_log"
fi
exec 5>>"$at_suite_log"

# Banners and logs.
$as_echo "## -------------------------- ##
## wordsplit v1.1 test suite. ##
## -------------------------- ##"
{
  $as_echo "## -------------------------- ##
## wordsplit v1.1 test suite. ##
## -------------------------- ##"
  echo

  $as_echo "$as_me: command line was:"
  $as_echo "  \$ $0 $at_cli_args"
  echo

  # If ChangeLog exists, list a few lines in case it might help determining
  # the exact version.
  if test -n "$at_top_srcdir" && test -f "$at_top_srcdir/ChangeLog"; then
    $as_echo "## ---------- ##
## ChangeLog. ##
## ---------- ##"
    echo
    sed 's/^/| /;10q' "$at_top_srcdir/ChangeLog"
    echo
  fi

  {
cat <<_ASUNAME
## --------- ##
## Platform. ##
## --------- ##

hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
uname -m = `(uname -m) 2>/dev/null || echo unknown`
uname -r = `(uname -r) 2>/dev/null || echo unknown`
uname -s = `(uname -s) 2>/dev/null || echo unknown`
uname -v = `(uname -v) 2>/dev/null || echo unknown`

/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`

/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`

_ASUNAME

as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
    $as_echo "PATH: $as_dir"
  done
IFS=$as_save_IFS

}
  echo

  # Contents of the config files.
  for at_file in atconfig atlocal
  do
    test -r $at_file || continue
    $as_echo "$as_me: $at_file:"
    sed 's/^/| /' $at_file
    echo
  done
} >&5


## ------------------------- ##
## Autotest shell functions. ##
## ------------------------- ##

# at_fn_banner NUMBER
# -------------------
# Output banner NUMBER, provided the testsuite is running multiple groups and
# this particular banner has not yet been printed.
at_fn_banner ()
{
  $at_print_banners || return 0
  eval at_banner_text=\$at_banner_text_$1
  test "x$at_banner_text" = "x " && return 0
  eval "at_banner_text_$1=\" \""
  if test -z "$at_banner_text"; then
    $at_first || echo
  else
    $as_echo "$as_nl$at_banner_text$as_nl"
  fi
} # at_fn_banner

# at_fn_check_prepare_notrace REASON LINE
# ---------------------------------------
# Perform AT_CHECK preparations for the command at LINE for an untraceable
# command; REASON is the reason for disabling tracing.
at_fn_check_prepare_notrace ()
{
  $at_trace_echo "Not enabling shell tracing (command contains $1)"
  $as_echo "$2" >"$at_check_line_file"
  at_check_trace=: at_check_filter=:
  : >"$at_stdout"; : >"$at_stderr"
}

# at_fn_check_prepare_trace LINE
# ------------------------------
# Perform AT_CHECK preparations for the command at LINE for a traceable
# command.
at_fn_check_prepare_trace ()
{
  $as_echo "$1" >"$at_check_line_file"
  at_check_trace=$at_traceon at_check_filter=$at_check_filter_trace
  : >"$at_stdout"; : >"$at_stderr"
}

# at_fn_check_prepare_dynamic COMMAND LINE
# ----------------------------------------
# Decide if COMMAND at LINE is traceable at runtime, and call the appropriate
# preparation function.
at_fn_check_prepare_dynamic ()
{
  case $1 in
    *$as_nl*)
      at_fn_check_prepare_notrace 'an embedded newline' "$2" ;;
    *)
      at_fn_check_prepare_trace "$2" ;;
  esac
}

# at_fn_filter_trace
# ------------------
# Remove the lines in the file "$at_stderr" generated by "set -x" and print
# them to stderr.
at_fn_filter_trace ()
{
  mv "$at_stderr" "$at_stder1"
  grep '^ *+' "$at_stder1" >&2
  grep -v '^ *+' "$at_stder1" >"$at_stderr"
}

# at_fn_log_failure FILE-LIST
# ---------------------------
# Copy the files in the list on stdout with a "> " prefix, and exit the shell
# with a failure exit code.
at_fn_log_failure ()
{
  for file
    do $as_echo "$file:"; sed 's/^/> /' "$file"; done
  echo 1 > "$at_status_file"
  exit 1
}

# at_fn_check_skip EXIT-CODE LINE
# -------------------------------
# Check whether EXIT-CODE is a special exit code (77 or 99), and if so exit
# the test group subshell with that same exit code. Use LINE in any report
# about test failure.
at_fn_check_skip ()
{
  case $1 in
    99) echo 99 > "$at_status_file"; at_failed=:
	$as_echo "$2: hard failure"; exit 99;;
    77) echo 77 > "$at_status_file"; exit 77;;
  esac
}

# at_fn_check_status EXPECTED EXIT-CODE LINE
# ------------------------------------------
# Check whether EXIT-CODE is the EXPECTED exit code, and if so do nothing.
# Otherwise, if it is 77 or 99, exit the test group subshell with that same
# exit code; if it is anything else print an error message referring to LINE,
# and fail the test.
at_fn_check_status ()
{
  case $2 in
    $1 ) ;;
    77) echo 77 > "$at_status_file"; exit 77;;
    99) echo 99 > "$at_status_file"; at_failed=:
	$as_echo "$3: hard failure"; exit 99;;
    *) $as_echo "$3: exit code was $2, expected $1"
      at_failed=:;;
  esac
}

# at_fn_diff_devnull FILE
# -----------------------
# Emit a diff between /dev/null and FILE. Uses "test -s" to avoid useless diff
# invocations.
at_fn_diff_devnull ()
{
  test -s "$1" || return 0
  $at_diff "$at_devnull" "$1"
}

# at_fn_test NUMBER
# -----------------
# Parse out test NUMBER from the tail of this file.
at_fn_test ()
{
  eval at_sed=\$at_sed$1
  sed "$at_sed" "$at_myself" > "$at_test_source"
}

# at_fn_create_debugging_script
# -----------------------------
# Create the debugging script $at_group_dir/run which will reproduce the
# current test group.
at_fn_create_debugging_script ()
{
  {
    echo "#! /bin/sh" &&
    echo 'test "${ZSH_VERSION+set}" = set && alias -g '\''${1+"$@"}'\''='\''"$@"'\''' &&
    $as_echo "cd '$at_dir'" &&
    $as_echo "exec \${CONFIG_SHELL-$SHELL} \"$at_myself\" -v -d $at_debug_args $at_group \${1+\"\$@\"}" &&
    echo 'exit 1'
  } >"$at_group_dir/run" &&
  chmod +x "$at_group_dir/run"
}

## -------------------------------- ##
## End of autotest shell functions. ##
## -------------------------------- ##
{
  $as_echo "## ---------------- ##
## Tested programs. ##
## ---------------- ##"
  echo
} >&5

# Report what programs are being tested.
for at_program in : $at_tested
do
  test "$at_program" = : && continue
  case $at_program in
    [\\/]* | ?:[\\/]* ) $at_program_=$at_program ;;
    * )
    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
    test -f "$as_dir/$at_program" && break
  done
IFS=$as_save_IFS

    at_program_=$as_dir/$at_program ;;
  esac
  if test -f "$at_program_"; then
    {
      $as_echo "$at_srcdir/wstest.at:6: $at_program_ --version"
      "$at_program_" --version </dev/null
      echo
    } >&5 2>&1
  else
    as_fn_error $? "cannot find $at_program" "$LINENO" 5
  fi
done

{
  $as_echo "## ------------------ ##
## Running the tests. ##
## ------------------ ##"
} >&5

at_start_date=`date`
at_start_time=`date +%s 2>/dev/null`
$as_echo "$as_me: starting at: $at_start_date" >&5

# Create the master directory if it doesn't already exist.
as_dir="$at_suite_dir"; as_fn_mkdir_p ||
  as_fn_error $? "cannot create \`$at_suite_dir'" "$LINENO" 5

# Can we diff with `/dev/null'?  DU 5.0 refuses.
if diff /dev/null /dev/null >/dev/null 2>&1; then
  at_devnull=/dev/null
else
  at_devnull=$at_suite_dir/devnull
  >"$at_devnull"
fi

# Use `diff -u' when possible.
if at_diff=`diff -u "$at_devnull" "$at_devnull" 2>&1` && test -z "$at_diff"
then
  at_diff='diff -u'
else
  at_diff=diff
fi

# Get the last needed group.
for at_group in : $at_groups; do :; done

# Extract the start and end lines of each test group at the tail
# of this file
awk '
BEGIN { FS="" }
/^#AT_START_/ {
  start = NR
}
/^#AT_STOP_/ {
  test = substr ($ 0, 10)
  print "at_sed" test "=\"1," start "d;" (NR-1) "q\""
  if (test == "'"$at_group"'") exit
}' "$at_myself" > "$at_suite_dir/at-source-lines" &&
. "$at_suite_dir/at-source-lines" ||
  as_fn_error $? "cannot create test line number cache" "$LINENO" 5
rm -f "$at_suite_dir/at-source-lines"

# Set number of jobs for `-j'; avoid more jobs than test groups.
set X $at_groups; shift; at_max_jobs=$#
if test $at_max_jobs -eq 0; then
  at_jobs=1
fi
if test $at_jobs -ne 1 &&
   { test $at_jobs -eq 0 || test $at_jobs -gt $at_max_jobs; }; then
  at_jobs=$at_max_jobs
fi

# If parallel mode, don't output banners, don't split summary lines.
if test $at_jobs -ne 1; then
  at_print_banners=false
  at_quiet=:
fi

# Set up helper dirs.
rm -rf "$at_helper_dir" &&
mkdir "$at_helper_dir" &&
cd "$at_helper_dir" &&
{ test -z "$at_groups" || mkdir $at_groups; } ||
as_fn_error $? "testsuite directory setup failed" "$LINENO" 5

# Functions for running a test group.  We leave the actual
# test group execution outside of a shell function in order
# to avoid hitting zsh 4.x exit status bugs.

# at_fn_group_prepare
# -------------------
# Prepare for running a test group.
at_fn_group_prepare ()
{
  # The directory for additional per-group helper files.
  at_job_dir=$at_helper_dir/$at_group
  # The file containing the location of the last AT_CHECK.
  at_check_line_file=$at_job_dir/check-line
  # The file containing the exit status of the last command.
  at_status_file=$at_job_dir/status
  # The files containing the output of the tested commands.
  at_stdout=$at_job_dir/stdout
  at_stder1=$at_job_dir/stder1
  at_stderr=$at_job_dir/stderr
  # The file containing the code for a test group.
  at_test_source=$at_job_dir/test-source
  # The file containing dates.
  at_times_file=$at_job_dir/times

  # Be sure to come back to the top test directory.
  cd "$at_suite_dir"

  # Clearly separate the test groups when verbose.
  $at_first || $at_verbose echo

  at_group_normalized=$at_group

  eval 'while :; do
    case $at_group_normalized in #(
    '"$at_format"'*) break;;
    esac
    at_group_normalized=0$at_group_normalized
  done'


  # Create a fresh directory for the next test group, and enter.
  # If one already exists, the user may have invoked ./run from
  # within that directory; we remove the contents, but not the
  # directory itself, so that we aren't pulling the rug out from
  # under the shell's notion of the current directory.
  at_group_dir=$at_suite_dir/$at_group_normalized
  at_group_log=$at_group_dir/$as_me.log
  if test -d "$at_group_dir"; then
  find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx {} \;
  rm -fr "$at_group_dir"/* "$at_group_dir"/.[!.] "$at_group_dir"/.??*
fi ||
    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: test directory for $at_group_normalized could not be cleaned" >&5
$as_echo "$as_me: WARNING: test directory for $at_group_normalized could not be cleaned" >&2;}
  # Be tolerant if the above `rm' was not able to remove the directory.
  as_dir="$at_group_dir"; as_fn_mkdir_p

  echo 0 > "$at_status_file"

  # In verbose mode, append to the log file *and* show on
  # the standard output; in quiet mode only write to the log.
  if test -z "$at_verbose"; then
    at_tee_pipe='tee -a "$at_group_log"'
  else
    at_tee_pipe='cat >> "$at_group_log"'
  fi
}

# at_fn_group_banner ORDINAL LINE DESC PAD [BANNER]
# -------------------------------------------------
# Declare the test group ORDINAL, located at LINE with group description DESC,
# and residing under BANNER. Use PAD to align the status column.
at_fn_group_banner ()
{
  at_setup_line="$2"
  test -n "$5" && at_fn_banner $5
  at_desc="$3"
  case $1 in
    [0-9])      at_desc_line="  $1: ";;
    [0-9][0-9]) at_desc_line=" $1: " ;;
    *)          at_desc_line="$1: "  ;;
  esac
  as_fn_append at_desc_line "$3$4"
  $at_quiet $as_echo_n "$at_desc_line"
  echo "#                             -*- compilation -*-" >> "$at_group_log"
}

# at_fn_group_postprocess
# -----------------------
# Perform cleanup after running a test group.
at_fn_group_postprocess ()
{
  # Be sure to come back to the suite directory, in particular
  # since below we might `rm' the group directory we are in currently.
  cd "$at_suite_dir"

  if test ! -f "$at_check_line_file"; then
    sed "s/^ */$as_me: WARNING: /" <<_ATEOF
      A failure happened in a test group before any test could be
      run. This means that test suite is improperly designed.  Please
      report this failure to <bug-direvent@gnu.org.ua>.
_ATEOF
    $as_echo "$at_setup_line" >"$at_check_line_file"
    at_status=99
  fi
  $at_verbose $as_echo_n "$at_group. $at_setup_line: "
  $as_echo_n "$at_group. $at_setup_line: " >> "$at_group_log"
  case $at_xfail:$at_status in
    yes:0)
	at_msg="UNEXPECTED PASS"
	at_res=xpass
	at_errexit=$at_errexit_p
	at_color=$at_red
	;;
    no:0)
	at_msg="ok"
	at_res=pass
	at_errexit=false
	at_color=$at_grn
	;;
    *:77)
	at_msg='skipped ('`cat "$at_check_line_file"`')'
	at_res=skip
	at_errexit=false
	at_color=$at_blu
	;;
    no:* | *:99)
	at_msg='FAILED ('`cat "$at_check_line_file"`')'
	at_res=fail
	at_errexit=$at_errexit_p
	at_color=$at_red
	;;
    yes:*)
	at_msg='expected failure ('`cat "$at_check_line_file"`')'
	at_res=xfail
	at_errexit=false
	at_color=$at_lgn
	;;
  esac
  echo "$at_res" > "$at_job_dir/$at_res"
  # In parallel mode, output the summary line only afterwards.
  if test $at_jobs -ne 1 && test -n "$at_verbose"; then
    $as_echo "$at_desc_line $at_color$at_msg$at_std"
  else
    # Make sure there is a separator even with long titles.
    $as_echo " $at_color$at_msg$at_std"
  fi
  at_log_msg="$at_group. $at_desc ($at_setup_line): $at_msg"
  case $at_status in
    0|77)
      # $at_times_file is only available if the group succeeded.
      # We're not including the group log, so the success message
      # is written in the global log separately.  But we also
      # write to the group log in case they're using -d.
      if test -f "$at_times_file"; then
	at_log_msg="$at_log_msg     ("`sed 1d "$at_times_file"`')'
	rm -f "$at_times_file"
      fi
      $as_echo "$at_log_msg" >> "$at_group_log"
      $as_echo "$at_log_msg" >&5

      # Cleanup the group directory, unless the user wants the files
      # or the success was unexpected.
      if $at_debug_p || test $at_res = xpass; then
	at_fn_create_debugging_script
	if test $at_res = xpass && $at_errexit; then
	  echo stop > "$at_stop_file"
	fi
      else
	if test -d "$at_group_dir"; then
	  find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \;
	  rm -fr "$at_group_dir"
	fi
	rm -f "$at_test_source"
      fi
      ;;
    *)
      # Upon failure, include the log into the testsuite's global
      # log.  The failure message is written in the group log.  It
      # is later included in the global log.
      $as_echo "$at_log_msg" >> "$at_group_log"

      # Upon failure, keep the group directory for autopsy, and create
      # the debugging script.  With -e, do not start any further tests.
      at_fn_create_debugging_script
      if $at_errexit; then
	echo stop > "$at_stop_file"
      fi
      ;;
  esac
}


## ------------ ##
## Driver loop. ##
## ------------ ##


if (set -m && set +m && set +b) >/dev/null 2>&1; then
  set +b
  at_job_control_on='set -m' at_job_control_off='set +m' at_job_group=-
else
  at_job_control_on=: at_job_control_off=: at_job_group=
fi

for at_signal in 1 2 15; do
  trap 'set +x; set +e
	$at_job_control_off
	at_signal='"$at_signal"'
	echo stop > "$at_stop_file"
	trap "" $at_signal
	at_pgids=
	for at_pgid in `jobs -p 2>/dev/null`; do
	  at_pgids="$at_pgids $at_job_group$at_pgid"
	done
	test -z "$at_pgids" || kill -$at_signal $at_pgids 2>/dev/null
	wait
	if test "$at_jobs" -eq 1 || test -z "$at_verbose"; then
	  echo >&2
	fi
	at_signame=`kill -l $at_signal 2>&1 || echo $at_signal`
	set x $at_signame
	test 0 -gt 2 && at_signame=$at_signal
	{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: caught signal $at_signame, bailing out" >&5
$as_echo "$as_me: WARNING: caught signal $at_signame, bailing out" >&2;}
	as_fn_arith 128 + $at_signal && exit_status=$as_val
	as_fn_exit $exit_status' $at_signal
done

rm -f "$at_stop_file"
at_first=:

if test $at_jobs -ne 1 &&
     rm -f "$at_job_fifo" &&
     test -n "$at_job_group" &&
     ( mkfifo "$at_job_fifo" && trap 'exit 1' PIPE STOP TSTP ) 2>/dev/null
then
  # FIFO job dispatcher.

  trap 'at_pids=
	for at_pid in `jobs -p`; do
	  at_pids="$at_pids $at_job_group$at_pid"
	done
	if test -n "$at_pids"; then
	  at_sig=TSTP
	  test "${TMOUT+set}" = set && at_sig=STOP
	  kill -$at_sig $at_pids 2>/dev/null
	fi
	kill -STOP $$
	test -z "$at_pids" || kill -CONT $at_pids 2>/dev/null' TSTP

  echo
  # Turn jobs into a list of numbers, starting from 1.
  at_joblist=`$as_echo "$at_groups" | sed -n 1,${at_jobs}p`

  set X $at_joblist
  shift
  for at_group in $at_groups; do
    $at_job_control_on 2>/dev/null
    (
      # Start one test group.
      $at_job_control_off
      if $at_first; then
	exec 7>"$at_job_fifo"
      else
	exec 6<&-
      fi
      trap 'set +x; set +e
	    trap "" PIPE
	    echo stop > "$at_stop_file"
	    echo >&7
	    as_fn_exit 141' PIPE
      at_fn_group_prepare
      if cd "$at_group_dir" &&
	 at_fn_test $at_group &&
	 . "$at_test_source"
      then :; else
	{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unable to parse test group: $at_group" >&5
$as_echo "$as_me: WARNING: unable to parse test group: $at_group" >&2;}
	at_failed=:
      fi
      at_fn_group_postprocess
      echo >&7
    ) &
    $at_job_control_off
    if $at_first; then
      at_first=false
      exec 6<"$at_job_fifo" 7>"$at_job_fifo"
    fi
    shift # Consume one token.
    if test $# -gt 0; then :; else
      read at_token <&6 || break
      set x $*
    fi
    test -f "$at_stop_file" && break
  done
  exec 7>&-
  # Read back the remaining ($at_jobs - 1) tokens.
  set X $at_joblist
  shift
  if test $# -gt 0; then
    shift
    for at_job
    do
      read at_token
    done <&6
  fi
  exec 6<&-
  wait
else
  # Run serially, avoid forks and other potential surprises.
  for at_group in $at_groups; do
    at_fn_group_prepare
    if cd "$at_group_dir" &&
       at_fn_test $at_group &&
       . "$at_test_source"; then :; else
      { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unable to parse test group: $at_group" >&5
$as_echo "$as_me: WARNING: unable to parse test group: $at_group" >&2;}
      at_failed=:
    fi
    at_fn_group_postprocess
    test -f "$at_stop_file" && break
    at_first=false
  done
fi

# Wrap up the test suite with summary statistics.
cd "$at_helper_dir"

# Use ?..???? when the list must remain sorted, the faster * otherwise.
at_pass_list=`for f in */pass; do echo $f; done | sed '/\*/d; s,/pass,,'`
at_skip_list=`for f in */skip; do echo $f; done | sed '/\*/d; s,/skip,,'`
at_xfail_list=`for f in */xfail; do echo $f; done | sed '/\*/d; s,/xfail,,'`
at_xpass_list=`for f in ?/xpass ??/xpass ???/xpass ????/xpass; do
		 echo $f; done | sed '/?/d; s,/xpass,,'`
at_fail_list=`for f in ?/fail ??/fail ???/fail ????/fail; do
		echo $f; done | sed '/?/d; s,/fail,,'`

set X $at_pass_list $at_xpass_list $at_xfail_list $at_fail_list $at_skip_list
shift; at_group_count=$#
set X $at_xpass_list; shift; at_xpass_count=$#; at_xpass_list=$*
set X $at_xfail_list; shift; at_xfail_count=$#
set X $at_fail_list; shift; at_fail_count=$#; at_fail_list=$*
set X $at_skip_list; shift; at_skip_count=$#

as_fn_arith $at_group_count - $at_skip_count && at_run_count=$as_val
as_fn_arith $at_xpass_count + $at_fail_count && at_unexpected_count=$as_val
as_fn_arith $at_xfail_count + $at_fail_count && at_total_fail_count=$as_val

# Back to the top directory.
cd "$at_dir"
rm -rf "$at_helper_dir"

# Compute the duration of the suite.
at_stop_date=`date`
at_stop_time=`date +%s 2>/dev/null`
$as_echo "$as_me: ending at: $at_stop_date" >&5
case $at_start_time,$at_stop_time in
  [0-9]*,[0-9]*)
    as_fn_arith $at_stop_time - $at_start_time && at_duration_s=$as_val
    as_fn_arith $at_duration_s / 60 && at_duration_m=$as_val
    as_fn_arith $at_duration_m / 60 && at_duration_h=$as_val
    as_fn_arith $at_duration_s % 60 && at_duration_s=$as_val
    as_fn_arith $at_duration_m % 60 && at_duration_m=$as_val
    at_duration="${at_duration_h}h ${at_duration_m}m ${at_duration_s}s"
    $as_echo "$as_me: test suite duration: $at_duration" >&5
    ;;
esac

echo
$as_echo "## ------------- ##
## Test results. ##
## ------------- ##"
echo
{
  echo
  $as_echo "## ------------- ##
## Test results. ##
## ------------- ##"
  echo
} >&5

if test $at_run_count = 1; then
  at_result="1 test"
  at_were=was
else
  at_result="$at_run_count tests"
  at_were=were
fi
if $at_errexit_p && test $at_unexpected_count != 0; then
  if test $at_xpass_count = 1; then
    at_result="$at_result $at_were run, one passed"
  else
    at_result="$at_result $at_were run, one failed"
  fi
  at_result="$at_result unexpectedly and inhibited subsequent tests."
  at_color=$at_red
else
  # Don't you just love exponential explosion of the number of cases?
  at_color=$at_red
  case $at_xpass_count:$at_fail_count:$at_xfail_count in
    # So far, so good.
    0:0:0) at_result="$at_result $at_were successful." at_color=$at_grn ;;
    0:0:*) at_result="$at_result behaved as expected." at_color=$at_lgn ;;

    # Some unexpected failures
    0:*:0) at_result="$at_result $at_were run,
$at_fail_count failed unexpectedly." ;;

    # Some failures, both expected and unexpected
    0:*:1) at_result="$at_result $at_were run,
$at_total_fail_count failed ($at_xfail_count expected failure)." ;;
    0:*:*) at_result="$at_result $at_were run,
$at_total_fail_count failed ($at_xfail_count expected failures)." ;;

    # No unexpected failures, but some xpasses
    *:0:*) at_result="$at_result $at_were run,
$at_xpass_count passed unexpectedly." ;;

    # No expected failures, but failures and xpasses
    *:1:0) at_result="$at_result $at_were run,
$at_unexpected_count did not behave as expected ($at_fail_count unexpected failure)." ;;
    *:*:0) at_result="$at_result $at_were run,
$at_unexpected_count did not behave as expected ($at_fail_count unexpected failures)." ;;

    # All of them.
    *:*:1) at_result="$at_result $at_were run,
$at_xpass_count passed unexpectedly,
$at_total_fail_count failed ($at_xfail_count expected failure)." ;;
    *:*:*) at_result="$at_result $at_were run,
$at_xpass_count passed unexpectedly,
$at_total_fail_count failed ($at_xfail_count expected failures)." ;;
  esac

  if test $at_skip_count = 0 && test $at_run_count -gt 1; then
    at_result="All $at_result"
  fi
fi

# Now put skips in the mix.
case $at_skip_count in
  0) ;;
  1) at_result="$at_result
1 test was skipped." ;;
  *) at_result="$at_result
$at_skip_count tests were skipped." ;;
esac

if test $at_unexpected_count = 0; then
  echo "$at_color$at_result$at_std"
  echo "$at_result" >&5
else
  echo "${at_color}ERROR: $at_result$at_std" >&2
  echo "ERROR: $at_result" >&5
  {
    echo
    $as_echo "## ------------------------ ##
## Summary of the failures. ##
## ------------------------ ##"

    # Summary of failed and skipped tests.
    if test $at_fail_count != 0; then
      echo "Failed tests:"
      $SHELL "$at_myself" $at_fail_list --list
      echo
    fi
    if test $at_skip_count != 0; then
      echo "Skipped tests:"
      $SHELL "$at_myself" $at_skip_list --list
      echo
    fi
    if test $at_xpass_count != 0; then
      echo "Unexpected passes:"
      $SHELL "$at_myself" $at_xpass_list --list
      echo
    fi
    if test $at_fail_count != 0; then
      $as_echo "## ---------------------- ##
## Detailed failed tests. ##
## ---------------------- ##"
      echo
      for at_group in $at_fail_list
      do
	at_group_normalized=$at_group

  eval 'while :; do
    case $at_group_normalized in #(
    '"$at_format"'*) break;;
    esac
    at_group_normalized=0$at_group_normalized
  done'

	cat "$at_suite_dir/$at_group_normalized/$as_me.log"
	echo
      done
      echo
    fi
    if test -n "$at_top_srcdir"; then
      sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
## ${at_top_build_prefix}config.log ##
_ASBOX
      sed 's/^/| /' ${at_top_build_prefix}config.log
      echo
    fi
  } >&5

  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
## $as_me.log was created. ##
_ASBOX

  echo
  if $at_debug_p; then
    at_msg='per-test log files'
  else
    at_msg="\`${at_testdir+${at_testdir}/}$as_me.log'"
  fi
  $as_echo "Please send $at_msg and all information you think might help:

   To: <bug-direvent@gnu.org.ua>
   Subject: [wordsplit v1.1] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly}

You may investigate any problem if you feel able to do so, in which
case the test suite provides a good starting point.  Its output may
be found below \`${at_testdir+${at_testdir}/}$as_me.dir'.
"
  exit 1
fi

exit 0

## ------------- ##
## Actual tests. ##
## ------------- ##
#AT_START_1
at_fn_group_banner 1 'wordsplit.at:58' \
  "simple input" "                                   "
at_xfail=no
(
  $as_echo "1. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:58:
 wsp  <<'EOT'
1 2 3
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:58"
( $at_check_trace;
 wsp  <<'EOT'
1 2 3
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 3
0: 1
1: 2
2: 3
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:58"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1
#AT_START_2
at_fn_group_banner 2 'wordsplit.at:67' \
  "quoted space" "                                   "
at_xfail=no
(
  $as_echo "2. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:67:
 wsp  <<'EOT'
quoted\\ space
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:67"
( $at_check_trace;
 wsp  <<'EOT'
quoted\ space
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: \"quoted space\"
TOTAL: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:67"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_2
#AT_START_3
at_fn_group_banner 3 'wordsplit.at:74' \
  "tab character" "                                  "
at_xfail=no
(
  $as_echo "3. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:74:
 wsp  <<'EOT'
a \"tab	character\"
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:74"
( $at_check_trace;
 wsp  <<'EOT'
a "tab	character"
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 2
0: a
1: tab\\tcharacter
TOTAL: 2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:74"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_3
#AT_START_4
at_fn_group_banner 4 'wordsplit.at:83' \
  "octal and hex escapes" "                          "
at_xfail=no
(
  $as_echo "4. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:83:
 wsp  <<'EOT'
\\157\\143\\164\\141\\154\\40and\\x20\\x68\\x65\\x78
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:83"
( $at_check_trace;
 wsp  <<'EOT'
\157\143\164\141\154\40and\x20\x68\x65\x78
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: \"octal and hex\"
TOTAL: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:83"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_4
#AT_START_5
at_fn_group_banner 5 'wordsplit.at:90' \
  "octal and hex escapes 2" "                        "
at_xfail=no
(
  $as_echo "5. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:90:
 wsp  <<'EOT'
\\157\\143\\164\\141\\154\\40 and \\x20\\x68\\x65\\x78
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:90"
( $at_check_trace;
 wsp  <<'EOT'
\157\143\164\141\154\40 and \x20\x68\x65\x78
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 3
0: \"octal \"
1: and
2: \" hex\"
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:90"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_5
#AT_START_6
at_fn_group_banner 6 'wordsplit.at:99' \
  "escape representation" "                          "
at_xfail=no
(
  $as_echo "6. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:99:
 wsp  <<'EOT'
A\\x3-\\48\\39
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:99"
( $at_check_trace;
 wsp  <<'EOT'
A\x3-\48\39
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: A\\003-\\0048\\0039
TOTAL: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:99"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_6
#AT_START_7
at_fn_group_banner 7 'wordsplit.at:111' \
  "append" "                                         "
at_xfail=no
(
  $as_echo "7. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:111:
 wsp -append <<'EOT'
jeden dwa trzy
cztery
piec szesc
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:111"
( $at_check_trace;
 wsp -append <<'EOT'
jeden dwa trzy
cztery
piec szesc
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 3
0: jeden
1: dwa
2: trzy
TOTAL: 3
NF: 4
0: jeden
1: dwa
2: trzy
3: cztery
TOTAL: 1
NF: 6
0: jeden
1: dwa
2: trzy
3: cztery
4: piec
5: szesc
TOTAL: 2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:111"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_7
#AT_START_8
at_fn_group_banner 8 'wordsplit.at:136' \
  "dooffs" "                                         "
at_xfail=no
(
  $as_echo "8. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:136:
 wsp -dooffs jeden dwa trzy <<'EOT'
cztery piec
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:136"
( $at_check_trace;
 wsp -dooffs jeden dwa trzy <<'EOT'
cztery piec
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 2 (3)
(0): jeden
(1): dwa
(2): trzy
3: cztery
4: piec
TOTAL: 2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:136"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_8
#AT_START_9
at_fn_group_banner 9 'wordsplit.at:149' \
  "variable substitutions: single var" "             "
at_xfail=no
(
  $as_echo "9. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:149:
FOO=bar wsp  <<'EOT'
a \$FOO test
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:149"
( $at_check_trace;
FOO=bar wsp  <<'EOT'
a $FOO test
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 3
0: a
1: bar
2: test
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:149"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_9
#AT_START_10
at_fn_group_banner 10 'wordsplit.at:160' \
  "variable substitutions: concatenated vars" "      "
at_xfail=no
(
  $as_echo "10. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:160:
FOO=str BAR=ing wsp  <<'EOT'
a \$FOO\${BAR}ent test
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:160"
( $at_check_trace;
FOO=str BAR=ing wsp  <<'EOT'
a $FOO${BAR}ent test
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 3
0: a
1: stringent
2: test
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:160"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_10
#AT_START_11
at_fn_group_banner 11 'wordsplit.at:172' \
  "variable substitutions: field splitting" "        "
at_xfail=no
(
  $as_echo "11. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:172:
FOO=\"variable substitution\" wsp  <<'EOT'
a \$FOO test
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:172"
( $at_check_trace;
FOO="variable substitution" wsp  <<'EOT'
a $FOO test
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 4
0: a
1: variable
2: substitution
3: test
TOTAL: 4
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:172"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_11
#AT_START_12
at_fn_group_banner 12 'wordsplit.at:184' \
  "variable substitutions: double-quoted variable" " "
at_xfail=no
(
  $as_echo "12. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:184:
FOO=\"variable substitution\" wsp  <<'EOT'
a \"\$FOO\" test
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:184"
( $at_check_trace;
FOO="variable substitution" wsp  <<'EOT'
a "$FOO" test
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 3
0: a
1: \"variable substitution\"
2: test
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:184"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_12
#AT_START_13
at_fn_group_banner 13 'wordsplit.at:195' \
  "variable substitutions: single-quoted variable" " "
at_xfail=no
(
  $as_echo "13. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:195:
FOO=\"variable substitution\" wsp  <<'EOT'
a '\$FOO' test
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:195"
( $at_check_trace;
FOO="variable substitution" wsp  <<'EOT'
a '$FOO' test
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 3
0: a
1: \$FOO
2: test
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:195"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_13
#AT_START_14
at_fn_group_banner 14 'wordsplit.at:206' \
  "undefined variables 1" "                          "
at_xfail=no
(
  $as_echo "14. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:206:
unset FOO; wsp  <<'EOT'
a \$FOO test a\${FOO}b
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:206"
( $at_check_trace;
unset FOO; wsp  <<'EOT'
a $FOO test a${FOO}b
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 3
0: a
1: test
2: ab
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:206"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_14
#AT_START_15
at_fn_group_banner 15 'wordsplit.at:217' \
  "undefined variables 2" "                          "
at_xfail=no
(
  $as_echo "15. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:217:
unset FOO; wsp -keepundef <<'EOT'
a \$FOO test a\${FOO}b
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:217"
( $at_check_trace;
unset FOO; wsp -keepundef <<'EOT'
a $FOO test a${FOO}b
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 4
0: a
1: \$FOO
2: test
3: a\${FOO}b
TOTAL: 4
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:217"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_15
#AT_START_16
at_fn_group_banner 16 'wordsplit.at:229' \
  "warn about undefined variables" "                 "
at_xfail=no
(
  $as_echo "16. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:229:
unset FOO; wsp -warnundef <<'EOT'
\$FOO
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:229"
( $at_check_trace;
unset FOO; wsp -warnundef <<'EOT'
$FOO
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "warning: undefined variable \`FOO'
" | \
  $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 0
TOTAL: 0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:229"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_16
#AT_START_17
at_fn_group_banner 17 'wordsplit.at:238' \
  "bail out on undefined variables" "                "
at_xfail=no
(
  $as_echo "17. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:238:
unset FOO; wsp -undef <<'EOT'
\$FOO
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:238"
( $at_check_trace;
unset FOO; wsp -undef <<'EOT'
$FOO
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "undefined variable: FOO
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:238"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_17
#AT_START_18
at_fn_group_banner 18 'wordsplit.at:245' \
  "disable variable expansion" "                     "
at_xfail=no
(
  $as_echo "18. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:245:
FOO=bar wsp -novar <<'EOT'
\$FOO
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:245"
( $at_check_trace;
FOO=bar wsp -novar <<'EOT'
$FOO
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: \$FOO
TOTAL: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:245"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_18
#AT_START_19
at_fn_group_banner 19 'wordsplit.at:254' \
  "K/V environment" "                                "
at_xfail=no
(
  $as_echo "19. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:254:
FOO=bar BAZ=qux wsp -env_kv <<'EOT'
\$FOO a\$BAZ
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:254"
( $at_check_trace;
FOO=bar BAZ=qux wsp -env_kv <<'EOT'
$FOO a$BAZ
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 2
0: bar
1: aqux
TOTAL: 2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:254"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_19
#AT_START_20
at_fn_group_banner 20 'wordsplit.at:265' \
  "nosplit with variable expansion" "                "
at_xfail=no
(
  $as_echo "20. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:265:
FOO=\"variable expansion\" wsp -nosplit <<'EOT'
a \$FOO test
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:265"
( $at_check_trace;
FOO="variable expansion" wsp -nosplit <<'EOT'
a $FOO test
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: \"a variable expansion test\\n\"
TOTAL: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:265"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_20
#AT_START_21
at_fn_group_banner 21 'wordsplit.at:274' \
  "nosplit without variable expansion" "             "
at_xfail=no
(
  $as_echo "21. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:274:
FOO=\"variable expansion\" wsp -nosplit -novar <<'EOT'
a \$FOO test
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:274"
( $at_check_trace;
FOO="variable expansion" wsp -nosplit -novar <<'EOT'
a $FOO test
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: \"a \$FOO test\\n\"
TOTAL: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:274"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_21
#AT_START_22
at_fn_group_banner 22 'wordsplit.at:283' \
  "nosplit: empty expansion" "                       "
at_xfail=no
(
  $as_echo "22. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:283:
FOO=\"\" wsp -nosplit -trimnl <<'EOT'
\$FOO
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:283"
( $at_check_trace;
FOO="" wsp -nosplit -trimnl <<'EOT'
$FOO
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: \"\"
TOTAL: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:283"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_22
#AT_START_23
at_fn_group_banner 23 'wordsplit.at:292' \
  "default value" "                                  "
at_xfail=no
(
  $as_echo "23. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:292:
 wsp  <<'EOT'
\${FOO:-bar}
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:292"
( $at_check_trace;
 wsp  <<'EOT'
${FOO:-bar}
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: bar
TOTAL: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:292"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_23
#AT_START_24
at_fn_group_banner 24 'wordsplit.at:299' \
  "default value (defined)" "                        "
at_xfail=no
(
  $as_echo "24. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:299:
FOO=qux wsp  <<'EOT'
\${FOO:-bar}
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:299"
( $at_check_trace;
FOO=qux wsp  <<'EOT'
${FOO:-bar}
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: qux
TOTAL: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:299"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_24
#AT_START_25
at_fn_group_banner 25 'wordsplit.at:308' \
  "default value (:- null)" "                        "
at_xfail=no
(
  $as_echo "25. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:308:
FOO= wsp  <<'EOT'
\${FOO:-bar}
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:308"
( $at_check_trace;
FOO= wsp  <<'EOT'
${FOO:-bar}
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: bar
TOTAL: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:308"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_25
#AT_START_26
at_fn_group_banner 26 'wordsplit.at:317' \
  "default value (- null)" "                         "
at_xfail=no
(
  $as_echo "26. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:317:
FOO= wsp  <<'EOT'
\${FOO-bar}
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:317"
( $at_check_trace;
FOO= wsp  <<'EOT'
${FOO-bar}
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 0
TOTAL: 0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:317"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_26
#AT_START_27
at_fn_group_banner 27 'wordsplit.at:325' \
  "default value (- null, unset)" "                  "
at_xfail=no
(
  $as_echo "27. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:325:
 wsp  <<'EOT'
\${FOO-bar}
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:325"
( $at_check_trace;
 wsp  <<'EOT'
${FOO-bar}
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: bar
TOTAL: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:325"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_27
#AT_START_28
at_fn_group_banner 28 'wordsplit.at:332' \
  "assign default values" "                          "
at_xfail=no
(
  $as_echo "28. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:332:
 wsp  <<'EOT'
\${FOO=bar}
\$FOO
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:332"
( $at_check_trace;
 wsp  <<'EOT'
${FOO=bar}
$FOO
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: bar
TOTAL: 1
NF: 1
0: bar
TOTAL: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:332"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_28
#AT_START_29
at_fn_group_banner 29 'wordsplit.at:343' \
  "default error message (var defined)" "            "
at_xfail=no
(
  $as_echo "29. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:343:
FOO=bar wsp  <<'EOT'
a \${FOO:?} test
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:343"
( $at_check_trace;
FOO=bar wsp  <<'EOT'
a ${FOO:?} test
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 3
0: a
1: bar
2: test
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:343"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_29
#AT_START_30
at_fn_group_banner 30 'wordsplit.at:354' \
  "default error message" "                          "
at_xfail=no
(
  $as_echo "30. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:354:
 wsp  <<'EOT'
\${FOO:?}
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:354"
( $at_check_trace;
 wsp  <<'EOT'
${FOO:?}
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "FOO: variable null or not set
" | \
  $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 0
TOTAL: 0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:354"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_30
#AT_START_31
at_fn_group_banner 31 'wordsplit.at:362' \
  "custom error message (defined)" "                 "
at_xfail=no
(
  $as_echo "31. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:362:
FOO=bar wsp  <<'EOT'
a \${FOO:?please define it} test
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:362"
( $at_check_trace;
FOO=bar wsp  <<'EOT'
a ${FOO:?please define it} test
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 3
0: a
1: bar
2: test
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:362"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_31
#AT_START_32
at_fn_group_banner 32 'wordsplit.at:373' \
  "custom error message" "                           "
at_xfail=no
(
  $as_echo "32. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:373:
 wsp  <<'EOT'
a \${FOO:?please define it} test
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:373"
( $at_check_trace;
 wsp  <<'EOT'
a ${FOO:?please define it} test
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "FOO: please define it
" | \
  $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 2
0: a
1: test
TOTAL: 2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:373"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_32
#AT_START_33
at_fn_group_banner 33 'wordsplit.at:383' \
  "alternate value (defined)" "                      "
at_xfail=no
(
  $as_echo "33. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:383:
FOO=bar wsp  <<'EOT'
a \${FOO:+isset} test
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:383"
( $at_check_trace;
FOO=bar wsp  <<'EOT'
a ${FOO:+isset} test
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 3
0: a
1: isset
2: test
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:383"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_33
#AT_START_34
at_fn_group_banner 34 'wordsplit.at:394' \
  "alternate value" "                                "
at_xfail=no
(
  $as_echo "34. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:394:
unset FOO; wsp  <<'EOT'
a \${FOO:+isset} test
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:394"
( $at_check_trace;
unset FOO; wsp  <<'EOT'
a ${FOO:+isset} test
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 2
0: a
1: test
TOTAL: 2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:394"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_34
#AT_START_35
at_fn_group_banner 35 'wordsplit.at:404' \
  "getvar" "                                         "
at_xfail=no
(
  $as_echo "35. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:404: unset foo; unset x
 wsp foo=bar x=quux <<'EOT'
begin \$foo \$x end
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:404"
( $at_check_trace; unset foo; unset x
 wsp foo=bar x=quux <<'EOT'
begin $foo $x end
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 4
0: begin
1: bar
2: quux
3: end
TOTAL: 4
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:404"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_35
#AT_START_36
at_fn_group_banner 36 'wordsplit.at:418' \
  "getvar and env" "                                 "
at_xfail=no
(
  $as_echo "36. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:418: unset foo; unset x
TVAR=12 y=zwar wsp foo=bar x=quux y=xur <<'EOT'
begin \$foo \$TVAR \$x \$y end
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:418"
( $at_check_trace; unset foo; unset x
TVAR=12 y=zwar wsp foo=bar x=quux y=xur <<'EOT'
begin $foo $TVAR $x $y end
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 6
0: begin
1: bar
2: 12
3: quux
4: zwar
5: end
TOTAL: 6
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:418"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_36
#AT_START_37
at_fn_group_banner 37 'wordsplit.at:434' \
  "getvar, alternate value" "                        "
at_xfail=no
(
  $as_echo "37. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:434:
 wsp foo=bar <<'EOT'
a \${foo:+isset}
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:434"
( $at_check_trace;
 wsp foo=bar <<'EOT'
a ${foo:+isset}
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 2
0: a
1: isset
TOTAL: 2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:434"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_37
#AT_START_38
at_fn_group_banner 38 'wordsplit.at:445' \
  "ignore quotes" "                                  "
at_xfail=no
(
  $as_echo "38. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:445:
 wsp -noquote <<'EOT'
\"a text\"
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:445"
( $at_check_trace;
 wsp -noquote <<'EOT'
"a text"
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 2
0: \"\\\"a\"
1: \"text\\\"\"
TOTAL: 2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:445"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_38
#AT_START_39
at_fn_group_banner 39 'wordsplit.at:455' \
  "custom delimiters (squeeze)" "                    "
at_xfail=no
(
  $as_echo "39. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:455:
 wsp -delim : -nows -trimnl <<'EOT'
semicolon: separated::list: of :words
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:455"
( $at_check_trace;
 wsp -delim : -nows -trimnl <<'EOT'
semicolon: separated::list: of :words
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 5
0: semicolon
1: \" separated\"
2: list
3: \" of \"
4: words
TOTAL: 5
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:455"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_39
#AT_START_40
at_fn_group_banner 40 'wordsplit.at:467' \
  "custom delimiters (no squeeze)" "                 "
at_xfail=no
(
  $as_echo "40. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:467:
 wsp -delim : -nows -nosqueeze_delims -trimnl <<'EOT'
semicolon: separated::list: of :words
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:467"
( $at_check_trace;
 wsp -delim : -nows -nosqueeze_delims -trimnl <<'EOT'
semicolon: separated::list: of :words
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 6
0: semicolon
1: \" separated\"
2: \"\"
3: list
4: \" of \"
5: words
TOTAL: 6
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:467"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_40
#AT_START_41
at_fn_group_banner 41 'wordsplit.at:480' \
  "custom, with returned delimiters" "               "
at_xfail=no
(
  $as_echo "41. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:480:
 wsp -delim : -nows -trimnl -return_delims <<'EOT'
semicolon: separated::list: of :words
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:480"
( $at_check_trace;
 wsp -delim : -nows -trimnl -return_delims <<'EOT'
semicolon: separated::list: of :words
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 9
0: semicolon
1: :
2: \" separated\"
3: :
4: list
5: :
6: \" of \"
7: :
8: words
TOTAL: 9
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:480"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_41
#AT_START_42
at_fn_group_banner 42 'wordsplit.at:496' \
  "custom, with returned & squeezed delimiters" "    "
at_xfail=no
(
  $as_echo "42. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:496:
 wsp -delim : -nows -trimnl -return_delims -nosqueeze_delims <<'EOT'
semicolon: separated::list: of :words
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:496"
( $at_check_trace;
 wsp -delim : -nows -trimnl -return_delims -nosqueeze_delims <<'EOT'
semicolon: separated::list: of :words
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 10
0: semicolon
1: :
2: \" separated\"
3: :
4: :
5: list
6: :
7: \" of \"
8: :
9: words
TOTAL: 10
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:496"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_42
#AT_START_43
at_fn_group_banner 43 'wordsplit.at:515' \
  "sed expressions" "                                "
at_xfail=no
(
  $as_echo "43. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:515:
 wsp -sed <<'EOT'
arg1 s/foo/bar/g;s/bar baz/quz quux/ arg2
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:515"
( $at_check_trace;
 wsp -sed <<'EOT'
arg1 s/foo/bar/g;s/bar baz/quz quux/ arg2
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 3
0: arg1
1: \"s/foo/bar/g;s/bar baz/quz quux/\"
2: arg2
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:515"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_43
#AT_START_44
at_fn_group_banner 44 'wordsplit.at:526' \
  "C escapes on" "                                   "
at_xfail=no
(
  $as_echo "44. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:526:
 wsp -cescapes <<'EOT'
a\\ttab form\\ffeed and new\\nline
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:526"
( $at_check_trace;
 wsp -cescapes <<'EOT'
a\ttab form\ffeed and new\nline
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 4
0: a\\ttab
1: form\\ffeed
2: and
3: new\\nline
TOTAL: 4
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:526"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_44
#AT_START_45
at_fn_group_banner 45 'wordsplit.at:536' \
  "C escapes off" "                                  "
at_xfail=no
(
  $as_echo "45. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:536:
 wsp -nocescapes <<'EOT'
a\\ttab form\\ffeed and new\\nline
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:536"
( $at_check_trace;
 wsp -nocescapes <<'EOT'
a\ttab form\ffeed and new\nline
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 4
0: attab
1: formffeed
2: and
3: newnline
TOTAL: 4
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:536"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_45
#AT_START_46
at_fn_group_banner 46 'wordsplit.at:546' \
  "ws elimination" "                                 "
at_xfail=no
(
  $as_echo "46. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:546:
 wsp -delim ' ()' -ws -return_delims <<'EOT'
( list  items  )
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:546"
( $at_check_trace;
 wsp -delim ' ()' -ws -return_delims <<'EOT'
( list  items  )
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 4
0: (
1: list
2: items
3: )
TOTAL: 4
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:546"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_46
#AT_START_47
at_fn_group_banner 47 'wordsplit.at:556' \
  "ws elimination + return delim" "                  "
at_xfail=no
(
  $as_echo "47. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:556:
 wsp -nodefault -novar -nocmd -delim \":,\" -return_delims -ws -dquote <<'EOT'
\"foo\" : \"bar\", \"quux\" : \"baaz\"
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:556"
( $at_check_trace;
 wsp -nodefault -novar -nocmd -delim ":," -return_delims -ws -dquote <<'EOT'
"foo" : "bar", "quux" : "baaz"
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 7
0: foo
1: :
2: bar
3: ,
4: quux
5: :
6: baaz
TOTAL: 7
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:556"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_47
#AT_START_48
at_fn_group_banner 48 'wordsplit.at:570' \
  "empty quotes" "                                   "
at_xfail=no
(
  $as_echo "48. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:570:
 wsp -delim : -ws -return_delims <<'EOT'
t=\"\"
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:570"
( $at_check_trace;
 wsp -delim : -ws -return_delims <<'EOT'
t=""
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: t=
TOTAL: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:570"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_48
#AT_START_49
at_fn_group_banner 49 'wordsplit.at:577' \
  "delimiter following empty quotes" "               "
at_xfail=no
(
  $as_echo "49. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:577:
 wsp -delim : -ws -return_delims <<'EOT'
t=\"\":r
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:577"
( $at_check_trace;
 wsp -delim : -ws -return_delims <<'EOT'
t="":r
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 3
0: t=
1: :
2: r
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:577"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_49
#AT_START_50
at_fn_group_banner 50 'wordsplit.at:587' \
  "suppress ws trimming within quotes" "             "
at_xfail=no
(
  $as_echo "50. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:587:
 wsp -default -delim , -ws -return_delims <<'EOT'
nocomponent,nonewline, formatfield=\"In message %{text}, \"
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:587"
( $at_check_trace;
 wsp -default -delim , -ws -return_delims <<'EOT'
nocomponent,nonewline, formatfield="In message %{text}, "
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 5
0: nocomponent
1: ,
2: nonewline
3: ,
4: \"formatfield=In message %{text}, \"
TOTAL: 5
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:587"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_50
#AT_START_51
at_fn_group_banner 51 'wordsplit.at:600' \
  "unescape" "                                       "
at_xfail=no
(
  $as_echo "51. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:600:
 wsp -nodefault -novar -nocmd -quote -escape ':+:\\\\\"\"' <<'EOT'
\\Seen \"quote \\\"\" \"bs \\\\\"
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:600"
( $at_check_trace;
 wsp -nodefault -novar -nocmd -quote -escape ':+:\\""' <<'EOT'
\Seen "quote \"" "bs \\"
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 3
0: \\\\Seen
1: \"quote \\\"\"
2: \"bs \\\\\"
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:600"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_51
#AT_START_52
at_fn_group_banner 52 'wordsplit.at:611' \
  "unescape: word/quote" "                           "
at_xfail=no
(
  $as_echo "52. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:611:
 wsp -nodefault -novar -nocmd -quote -escape-word '\\\\\"\"' -escape-quote ':+0x:\\\\\"\"' <<'EOT'
\\Seen \"quote \\\"\" \"bs \\\\\" \"3\\x31 \\101\" 3\\x31 \\101
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:611"
( $at_check_trace;
 wsp -nodefault -novar -nocmd -quote -escape-word '\\""' -escape-quote ':+0x:\\""' <<'EOT'
\Seen "quote \"" "bs \\" "3\x31 \101" 3\x31 \101
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 6
0: Seen
1: \"quote \\\"\"
2: \"bs \\\\\"
3: \"31 A\"
4: 3x31
5: 101
TOTAL: 6
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:611"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_52
#AT_START_53
at_fn_group_banner 53 'wordsplit.at:625' \
  "dquote" "                                         "
at_xfail=no
(
  $as_echo "53. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:625:
 wsp -nodefault -novar -nocmd -dquote <<'EOT'
a \"quoted example\" isn't it
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:625"
( $at_check_trace;
 wsp -nodefault -novar -nocmd -dquote <<'EOT'
a "quoted example" isn't it
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 4
0: a
1: \"quoted example\"
2: isn't
3: it
TOTAL: 4
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:625"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_53
#AT_START_54
at_fn_group_banner 54 'wordsplit.at:635' \
  "squote" "                                         "
at_xfail=no
(
  $as_echo "54. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:635:
 wsp -nodefault -novar -nocmd -squote <<'EOT'
a 'quoted example' isn\"t it
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:635"
( $at_check_trace;
 wsp -nodefault -novar -nocmd -squote <<'EOT'
a 'quoted example' isn"t it
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 4
0: a
1: \"quoted example\"
2: \"isn\\\"t\"
3: it
TOTAL: 4
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:635"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_54
#AT_START_55
at_fn_group_banner 55 'wordsplit.at:647' \
  "incremental" "                                    "
at_xfail=no
(
  $as_echo "55. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:647:
 wsp -incremental <<'EOT'
incremental \"input test\" line



EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:647"
( $at_check_trace;
 wsp -incremental <<'EOT'
incremental "input test" line



EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "input exhausted
" | \
  $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: incremental
TOTAL: 1
NF: 1
0: \"input test\"
TOTAL: 2
NF: 1
0: line
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:647"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_55
#AT_START_56
at_fn_group_banner 56 'wordsplit.at:665' \
  "incremental append" "                             "
at_xfail=no
(
  $as_echo "56. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:665:
 wsp -incremental -append <<'EOT'
incremental \"input test\" line



EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:665"
( $at_check_trace;
 wsp -incremental -append <<'EOT'
incremental "input test" line



EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "input exhausted
" | \
  $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: incremental
TOTAL: 1
NF: 2
0: incremental
1: \"input test\"
TOTAL: 2
NF: 3
0: incremental
1: \"input test\"
2: line
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:665"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_56
#AT_START_57
at_fn_group_banner 57 'wordsplit.at:686' \
  "incremental ws" "                                 "
at_xfail=no
(
  $as_echo "57. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:686:
 wsp -return_delims -nosqueeze_delims -incremental -ws <<'EOT'
a   list  test



EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:686"
( $at_check_trace;
 wsp -return_delims -nosqueeze_delims -incremental -ws <<'EOT'
a   list  test



EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "input exhausted
" | \
  $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: a
TOTAL: 1
NF: 1
0: list
TOTAL: 2
NF: 1
0: test
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:686"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_57
#AT_START_58
at_fn_group_banner 58 'wordsplit.at:705' \
  "incremental nosplit" "                            "
at_xfail=no
(
  $as_echo "58. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:705:
 wsp -incremental -nosplit <<'EOT'
incremental \"input test\" line

EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:705"
( $at_check_trace;
 wsp -incremental -nosplit <<'EOT'
incremental "input test" line

EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "input exhausted
" | \
  $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: \"incremental input test line\"
TOTAL: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:705"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_58
#AT_START_59
at_fn_group_banner 59 'wordsplit.at:715' \
  "simple command substitution" "                    "
at_xfail=no
(
  $as_echo "59. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:715:
 wsp -cmd <<'EOT'
begin \$(words a b) end
EOT
"
at_fn_check_prepare_notrace 'a $(...) command substitution' "wordsplit.at:715"
( $at_check_trace;
 wsp -cmd <<'EOT'
begin $(words a b) end
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 4
0: begin
1: a
2: b
3: end
TOTAL: 4
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:715"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_59
#AT_START_60
at_fn_group_banner 60 'wordsplit.at:725' \
  "quoted command substitution" "                    "
at_xfail=no
(
  $as_echo "60. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:725:
 wsp -cmd <<'EOT'
begin \"\$(words a b)\" end
EOT
"
at_fn_check_prepare_notrace 'a $(...) command substitution' "wordsplit.at:725"
( $at_check_trace;
 wsp -cmd <<'EOT'
begin "$(words a b)" end
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 3
0: begin
1: \"a b\"
2: end
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:725"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_60
#AT_START_61
at_fn_group_banner 61 'wordsplit.at:734' \
  "coalesced command substitution" "                 "
at_xfail=no
(
  $as_echo "61. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:734:
 wsp -cmd <<'EOT'
begin(\$(words a b))end
EOT
"
at_fn_check_prepare_notrace 'a $(...) command substitution' "wordsplit.at:734"
( $at_check_trace;
 wsp -cmd <<'EOT'
begin($(words a b))end
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 2
0: begin(a
1: b)end
TOTAL: 2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:734"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_61
#AT_START_62
at_fn_group_banner 62 'wordsplit.at:742' \
  "quoted coalesced command substitution" "          "
at_xfail=no
(
  $as_echo "62. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:742:
 wsp -cmd <<'EOT'
\"begin(\$(words a b))end\"
EOT
"
at_fn_check_prepare_notrace 'a $(...) command substitution' "wordsplit.at:742"
( $at_check_trace;
 wsp -cmd <<'EOT'
"begin($(words a b))end"
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: \"begin(a b)end\"
TOTAL: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:742"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_62
#AT_START_63
at_fn_group_banner 63 'wordsplit.at:749' \
  "variable and command substitution" "              "
at_xfail=no
(
  $as_echo "63. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:749:
X=a Y=b wsp -cmd -var <<'EOT'
begin \$X \$(words \$X \$Y) end
EOT
"
at_fn_check_prepare_notrace 'a $(...) command substitution' "wordsplit.at:749"
( $at_check_trace;
X=a Y=b wsp -cmd -var <<'EOT'
begin $X $(words $X $Y) end
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 5
0: begin
1: a
2: a
3: b
4: end
TOTAL: 5
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:749"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_63
#AT_START_64
at_fn_group_banner 64 'wordsplit.at:760' \
  "variable expansion and command substitution in quotes" ""
at_xfail=no
(
  $as_echo "64. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:760:
X=a Y=b BEGIN=begin wsp -cmd -var <<'EOT'
\"\${BEGIN}(\$(words \$X \$Y))end\"
EOT
"
at_fn_check_prepare_notrace 'a $(...) command substitution' "wordsplit.at:760"
( $at_check_trace;
X=a Y=b BEGIN=begin wsp -cmd -var <<'EOT'
"${BEGIN}($(words $X $Y))end"
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: \"begin(a b)end\"
TOTAL: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:760"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_64
#AT_START_65
at_fn_group_banner 65 'wordsplit.at:767' \
  "nested commands" "                                "
at_xfail=no
(
  $as_echo "65. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:767:
SUFFIX=put wsp -cmd -var <<'EOT'
\$(words output \$(words in\$SUFFIX text) end)
EOT
"
at_fn_check_prepare_notrace 'a $(...) command substitution' "wordsplit.at:767"
( $at_check_trace;
SUFFIX=put wsp -cmd -var <<'EOT'
$(words output $(words in$SUFFIX text) end)
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 4
0: output
1: input
2: text
3: end
TOTAL: 4
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:767"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_65
#AT_START_66
at_fn_group_banner 66 'wordsplit.at:778' \
  "pathname expansion" "                             "
at_xfail=no
(
  $as_echo "66. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:780:
mkdir dir
> dir/1.c
> dir/2.c
> dir/3.b

wsp -pathexpand<<'EOT'
begin dir/*.c end
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:780"
( $at_check_trace;
mkdir dir
> dir/1.c
> dir/2.c
> dir/3.b

wsp -pathexpand<<'EOT'
begin dir/*.c end
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 4
0: begin
1: dir/1.c
2: dir/2.c
3: end
TOTAL: 4
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:780"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_66
#AT_START_67
at_fn_group_banner 67 'wordsplit.at:800' \
  "pathname expansion: no match" "                   "
at_xfail=no
(
  $as_echo "67. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:802:
mkdir dir
> dir/1.c
> dir/2.b

wsp -pathexpand<<'EOT'
begin dir/*.d end
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:802"
( $at_check_trace;
mkdir dir
> dir/1.c
> dir/2.b

wsp -pathexpand<<'EOT'
begin dir/*.d end
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 3
0: begin
1: dir/*.d
2: end
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:802"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_67
#AT_START_68
at_fn_group_banner 68 'wordsplit.at:820' \
  "pathname expansion: nullglob" "                   "
at_xfail=no
(
  $as_echo "68. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:822:
mkdir dir
> dir/1.c
> dir/2.b

wsp -pathexpand -nullglob<<'EOT'
begin dir/*.d end
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:822"
( $at_check_trace;
mkdir dir
> dir/1.c
> dir/2.b

wsp -pathexpand -nullglob<<'EOT'
begin dir/*.d end
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 2
0: begin
1: end
TOTAL: 2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:822"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_68
#AT_START_69
at_fn_group_banner 69 'wordsplit.at:839' \
  "pathname expansion: failglob" "                   "
at_xfail=no
(
  $as_echo "69. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:841:
mkdir dir
> dir/1.c
> dir/2.b

wsp -pathexpand -failglob<<'EOT'
begin dir/*.d end
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:841"
( $at_check_trace;
mkdir dir
> dir/1.c
> dir/2.b

wsp -pathexpand -failglob<<'EOT'
begin dir/*.d end
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "no files match pattern dir/*.d
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:841"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_69
#AT_START_70
at_fn_group_banner 70 'wordsplit.at:856' \
  "append" "                                         "
at_xfail=no
(
  $as_echo "70. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:856:
 wsp -append-args extra arguments follow <<'EOT'
some words and
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:856"
( $at_check_trace;
 wsp -append-args extra arguments follow <<'EOT'
some words and
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 6
0: some
1: words
2: and
3: extra
4: arguments
5: follow
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:856"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_70
#AT_START_71
at_fn_group_banner 71 'wordsplit.at:868' \
  "append + dooffs + env" "                          "
at_xfail=no
(
  $as_echo "71. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:868:
 wsp -env none -dooffs preface words -- V=2 -append-args extra arguments follow <<'EOT'
some words and var=\$V
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:868"
( $at_check_trace;
 wsp -env none -dooffs preface words -- V=2 -append-args extra arguments follow <<'EOT'
some words and var=$V
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 7 (2)
(0): preface
(1): words
2: some
3: words
4: and
5: var=2
6: extra
7: arguments
8: follow
TOTAL: 4
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:868"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_71
#AT_START_72
at_fn_group_banner 72 'wordsplit.at:885' \
  "maxwords" "                                       "
at_xfail=no
(
  $as_echo "72. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:885:
 wsp -trimnl -maxwords 3 <<'EOT'
ws_maxwords  limits the   number of returned words
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:885"
( $at_check_trace;
 wsp -trimnl -maxwords 3 <<'EOT'
ws_maxwords  limits the   number of returned words
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 3
0: ws_maxwords
1: limits
2: \"the   number of returned words\"
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:885"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_72
#AT_START_73
at_fn_group_banner 73 'wordsplit.at:895' \
  "maxwords return_delims" "                         "
at_xfail=no
(
  $as_echo "73. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:895:
 wsp -trimnl -maxwords 8 -return_delims -delim :- <<'EOT'
foo:::bar-:baz-quux:ux:zu
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:895"
( $at_check_trace;
 wsp -trimnl -maxwords 8 -return_delims -delim :- <<'EOT'
foo:::bar-:baz-quux:ux:zu
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 8
0: foo
1: :
2: bar
3: -
4: :
5: baz
6: -
7: quux:ux:zu
TOTAL: 8
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:895"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_73
#AT_START_74
at_fn_group_banner 74 'wordsplit.at:910' \
  "maxwords return_delims -squeeze_delims" "         "
at_xfail=no
(
  $as_echo "74. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:910:
 wsp -trimnl -maxwords 8 -return_delims -nosqueeze_delims -delim :- <<'EOT'
foo:::bar-:baz:qux-
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:910"
( $at_check_trace;
 wsp -trimnl -maxwords 8 -return_delims -nosqueeze_delims -delim :- <<'EOT'
foo:::bar-:baz:qux-
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 8
0: foo
1: :
2: :
3: :
4: bar
5: -
6: :
7: baz:qux-
TOTAL: 8
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:910"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_74
#AT_START_75
at_fn_group_banner 75 'wordsplit.at:925' \
  "maxwords incremental" "                           "
at_xfail=no
(
  $as_echo "75. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:925:
 wsp -trimnl -maxwords 3 -incremental <<'EOT'
foo  bar	baz qux  uz



EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:925"
( $at_check_trace;
 wsp -trimnl -maxwords 3 -incremental <<'EOT'
foo  bar	baz qux  uz



EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "input exhausted
" | \
  $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: foo
TOTAL: 1
NF: 1
0: bar
TOTAL: 2
NF: 1
0: \"baz qux  uz\"
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:925"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_75
#AT_START_76
at_fn_group_banner 76 'wordsplit.at:944' \
  "variable nosplit" "                               "
at_xfail=no
(
  $as_echo "76. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:944:
 wsp -novar -novarsplit <<'EOT'
begin \${VAR:- a b} end
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:944"
( $at_check_trace;
 wsp -novar -novarsplit <<'EOT'
begin ${VAR:- a b} end
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 3
0: begin
1: \"\${VAR:- a b}\"
2: end
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:944"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_76
#AT_START_77
at_fn_group_banner 77 'wordsplit.at:953' \
  "command nosplit" "                                "
at_xfail=no
(
  $as_echo "77. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:953:
 wsp -nocmd -nocmdsplit <<'EOT'
begin \$(words a b) end
EOT
"
at_fn_check_prepare_notrace 'a $(...) command substitution' "wordsplit.at:953"
( $at_check_trace;
 wsp -nocmd -nocmdsplit <<'EOT'
begin $(words a b) end
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 3
0: begin
1: \"\$(words a b)\"
2: end
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:953"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_77
#AT_START_78
at_fn_group_banner 78 'wordsplit.at:962' \
  "positional parameters" "                          "
at_xfail=no
(
  $as_echo "78. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:962:
 wsp one two three four five six seven eight nine ten eleven twelve <<'EOT'
\$0 \$5 \${10}
\$#
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:962"
( $at_check_trace;
 wsp one two three four five six seven eight nine ten eleven twelve <<'EOT'
$0 $5 ${10}
$#
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 3
0: one
1: six
2: eleven
TOTAL: 3
NF: 1
0: 12
TOTAL: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:962"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_78
#AT_START_79
at_fn_group_banner 79 'wordsplit.at:975' \
  "\$* and \$@" "                                      "
at_xfail=no
(
  $as_echo "79. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:975:
 wsp 'one two' three 'four five' <<'EOT'
\$*
\$@
\"\$*\"
\"\$@\"
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:975"
( $at_check_trace;
 wsp 'one two' three 'four five' <<'EOT'
$*
$@
"$*"
"$@"
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 5
0: one
1: two
2: three
3: four
4: five
TOTAL: 5
NF: 3
0: \"one two\"
1: three
2: \"four five\"
TOTAL: 3
NF: 1
0: \"one two three four five\"
TOTAL: 1
NF: 1
0: \"one two three four five\"
TOTAL: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:975"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_79
#AT_START_80
at_fn_group_banner 80 'wordsplit.at:1000' \
  "\$* and \$@ in nosplit mode" "                      "
at_xfail=no
(
  $as_echo "80. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:1000:
 wsp -trimnl -nosplit 'one two' three 'four five' <<'EOT'
\$*
\$@
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:1000"
( $at_check_trace;
 wsp -trimnl -nosplit 'one two' three 'four five' <<'EOT'
$*
$@
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: \"one two three four five\"
TOTAL: 1
NF: 1
0: \"one two three four five\"
TOTAL: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1000"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_80
#AT_START_81
at_fn_group_banner 81 'wordsplit.at:1012' \
  "\$* and \$@ in nosplit mode with delimiter" "       "
at_xfail=no
(
  $as_echo "81. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:1012:
 wsp -trimnl -nosplit -delim : 'one two' three 'four five' <<'EOT'
\$*
\$@
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:1012"
( $at_check_trace;
 wsp -trimnl -nosplit -delim : 'one two' three 'four five' <<'EOT'
$*
$@
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: \"one two:three:four five\"
TOTAL: 1
NF: 1
0: \"one two:three:four five\"
TOTAL: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1012"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_81
#AT_START_82
at_fn_group_banner 82 'wordsplit.at:1026' \
  "namechar modification" "                          "
at_xfail=no
(
  $as_echo "82. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:1026:
 wsp -namechar \".:\" -Dx.y=one -Dx:foo=bar <<'EOT'
one is \$x.y, foo is \$x:foo
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:1026"
( $at_check_trace;
 wsp -namechar ".:" -Dx.y=one -Dx:foo=bar <<'EOT'
one is $x.y, foo is $x:foo
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 6
0: one
1: is
2: one,
3: foo
4: is
5: bar
TOTAL: 6
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1026"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_82
#AT_START_83
at_fn_group_banner 83 'wordsplit.at:1040' \
  "default value" "                                  " 1
at_xfail=no
(
  $as_echo "83. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:1040:
 wsp -namechar \":.\" <<'EOT'
\${x:foo:-bar}
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:1040"
( $at_check_trace;
 wsp -namechar ":." <<'EOT'
${x:foo:-bar}
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: bar
TOTAL: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1040"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_83
#AT_START_84
at_fn_group_banner 84 'wordsplit.at:1048' \
  "default value (defined)" "                        " 1
at_xfail=no
(
  $as_echo "84. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:1048:
 wsp -namechar \":.\" -Dx:foo=qux <<'EOT'
\${x:foo:-bar}
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:1048"
( $at_check_trace;
 wsp -namechar ":." -Dx:foo=qux <<'EOT'
${x:foo:-bar}
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: qux
TOTAL: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1048"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_84
#AT_START_85
at_fn_group_banner 85 'wordsplit.at:1057' \
  "default value (:- null)" "                        " 1
at_xfail=no
(
  $as_echo "85. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:1057:
 wsp -namechar \":.\" -Dx:foo= <<'EOT'
\${x:foo:-bar}
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:1057"
( $at_check_trace;
 wsp -namechar ":." -Dx:foo= <<'EOT'
${x:foo:-bar}
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: bar
TOTAL: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1057"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_85
#AT_START_86
at_fn_group_banner 86 'wordsplit.at:1066' \
  "default value (- null)" "                         " 1
at_xfail=no
(
  $as_echo "86. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:1066:
 wsp -namechar \":.\" -Dx:foo= <<'EOT'
\${x:foo-bar}
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:1066"
( $at_check_trace;
 wsp -namechar ":." -Dx:foo= <<'EOT'
${x:foo-bar}
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 0
TOTAL: 0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1066"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_86
#AT_START_87
at_fn_group_banner 87 'wordsplit.at:1074' \
  "default value (- null, unset)" "                  " 1
at_xfail=no
(
  $as_echo "87. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:1074:
 wsp -namechar \":.\" <<'EOT'
\${x:foo-bar}
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:1074"
( $at_check_trace;
 wsp -namechar ":." <<'EOT'
${x:foo-bar}
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: bar
TOTAL: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1074"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_87
#AT_START_88
at_fn_group_banner 88 'wordsplit.at:1082' \
  "assign default values" "                          " 1
at_xfail=no
(
  $as_echo "88. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:1082:
 wsp -namechar \":.\" <<'EOT'
\${x:foo=bar}
\$x:foo
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:1082"
( $at_check_trace;
 wsp -namechar ":." <<'EOT'
${x:foo=bar}
$x:foo
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: bar
TOTAL: 1
NF: 1
0: bar
TOTAL: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1082"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_88
#AT_START_89
at_fn_group_banner 89 'wordsplit.at:1094' \
  "default error message (var defined)" "            " 1
at_xfail=no
(
  $as_echo "89. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:1094:
 wsp -namechar \":.\" -Dx:foo=bar <<'EOT'
a \${x:foo:?} test
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:1094"
( $at_check_trace;
 wsp -namechar ":." -Dx:foo=bar <<'EOT'
a ${x:foo:?} test
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 3
0: a
1: bar
2: test
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1094"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_89
#AT_START_90
at_fn_group_banner 90 'wordsplit.at:1104' \
  "default error message" "                          " 1
at_xfail=no
(
  $as_echo "90. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:1104:
 wsp -namechar \":.\" <<'EOT'
\${x:foo:?}
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:1104"
( $at_check_trace;
 wsp -namechar ":." <<'EOT'
${x:foo:?}
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "x:foo: variable null or not set
" | \
  $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 0
TOTAL: 0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1104"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_90
#AT_START_91
at_fn_group_banner 91 'wordsplit.at:1113' \
  "custom error message (defined)" "                 " 1
at_xfail=no
(
  $as_echo "91. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:1113:
 wsp -namechar \":.\" -Dx:foo=bar <<'EOT'
a \${x:foo:?please define it} test
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:1113"
( $at_check_trace;
 wsp -namechar ":." -Dx:foo=bar <<'EOT'
a ${x:foo:?please define it} test
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 3
0: a
1: bar
2: test
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1113"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_91
#AT_START_92
at_fn_group_banner 92 'wordsplit.at:1123' \
  "custom error message" "                           " 1
at_xfail=no
(
  $as_echo "92. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:1123:
 wsp -namechar \":.\" <<'EOT'
a \${x:foo:?please define it} test
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:1123"
( $at_check_trace;
 wsp -namechar ":." <<'EOT'
a ${x:foo:?please define it} test
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "x:foo: please define it
" | \
  $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 2
0: a
1: test
TOTAL: 2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1123"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_92
#AT_START_93
at_fn_group_banner 93 'wordsplit.at:1134' \
  "alternate value (defined)" "                      " 1
at_xfail=no
(
  $as_echo "93. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:1134:
FOO=bar wsp -namechar \":.\" -Dx:foo=bar <<'EOT'
a \${x:foo:+isset} test
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:1134"
( $at_check_trace;
FOO=bar wsp -namechar ":." -Dx:foo=bar <<'EOT'
a ${x:foo:+isset} test
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 3
0: a
1: isset
2: test
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1134"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_93
#AT_START_94
at_fn_group_banner 94 'wordsplit.at:1146' \
  "alternate value" "                                " 1
at_xfail=no
(
  $as_echo "94. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:1146:
 wsp -namechar \":.\" <<'EOT'
a \${x:foo:+isset} test
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:1146"
( $at_check_trace;
 wsp -namechar ":." <<'EOT'
a ${x:foo:+isset} test
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 2
0: a
1: test
TOTAL: 2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1146"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_94
#AT_START_95
at_fn_group_banner 95 'wordsplit.at:58' \
  "simple input" "                                   " 1
at_xfail=no
(
  $as_echo "95. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:58:
 wsp  <<'EOT'
1 2 3
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:58"
( $at_check_trace;
 wsp  <<'EOT'
1 2 3
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 3
0: 1
1: 2
2: 3
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:58"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_95
#AT_START_96
at_fn_group_banner 96 'wordsplit.at:67' \
  "quoted space" "                                   " 1
at_xfail=no
(
  $as_echo "96. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:67:
 wsp  <<'EOT'
quoted\\ space
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:67"
( $at_check_trace;
 wsp  <<'EOT'
quoted\ space
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: \"quoted space\"
TOTAL: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:67"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_96
#AT_START_97
at_fn_group_banner 97 'wordsplit.at:74' \
  "tab character" "                                  " 1
at_xfail=no
(
  $as_echo "97. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:74:
 wsp  <<'EOT'
a \"tab	character\"
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:74"
( $at_check_trace;
 wsp  <<'EOT'
a "tab	character"
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 2
0: a
1: tab\\tcharacter
TOTAL: 2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:74"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_97
#AT_START_98
at_fn_group_banner 98 'wordsplit.at:83' \
  "octal and hex escapes" "                          " 1
at_xfail=no
(
  $as_echo "98. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:83:
 wsp  <<'EOT'
\\157\\143\\164\\141\\154\\40and\\x20\\x68\\x65\\x78
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:83"
( $at_check_trace;
 wsp  <<'EOT'
\157\143\164\141\154\40and\x20\x68\x65\x78
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: \"octal and hex\"
TOTAL: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:83"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_98
#AT_START_99
at_fn_group_banner 99 'wordsplit.at:90' \
  "octal and hex escapes 2" "                        " 1
at_xfail=no
(
  $as_echo "99. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:90:
 wsp  <<'EOT'
\\157\\143\\164\\141\\154\\40 and \\x20\\x68\\x65\\x78
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:90"
( $at_check_trace;
 wsp  <<'EOT'
\157\143\164\141\154\40 and \x20\x68\x65\x78
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 3
0: \"octal \"
1: and
2: \" hex\"
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:90"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_99
#AT_START_100
at_fn_group_banner 100 'wordsplit.at:99' \
  "escape representation" "                          " 1
at_xfail=no
(
  $as_echo "100. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:99:
 wsp  <<'EOT'
A\\x3-\\48\\39
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:99"
( $at_check_trace;
 wsp  <<'EOT'
A\x3-\48\39
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: A\\003-\\0048\\0039
TOTAL: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:99"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_100
#AT_START_101
at_fn_group_banner 101 'wordsplit.at:111' \
  "append" "                                         " 1
at_xfail=no
(
  $as_echo "101. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:111:
 wsp -append <<'EOT'
jeden dwa trzy
cztery
piec szesc
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:111"
( $at_check_trace;
 wsp -append <<'EOT'
jeden dwa trzy
cztery
piec szesc
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 3
0: jeden
1: dwa
2: trzy
TOTAL: 3
NF: 4
0: jeden
1: dwa
2: trzy
3: cztery
TOTAL: 1
NF: 6
0: jeden
1: dwa
2: trzy
3: cztery
4: piec
5: szesc
TOTAL: 2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:111"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_101
#AT_START_102
at_fn_group_banner 102 'wordsplit.at:136' \
  "dooffs" "                                         " 1
at_xfail=no
(
  $as_echo "102. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:136:
 wsp -dooffs jeden dwa trzy <<'EOT'
cztery piec
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:136"
( $at_check_trace;
 wsp -dooffs jeden dwa trzy <<'EOT'
cztery piec
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 2 (3)
(0): jeden
(1): dwa
(2): trzy
3: cztery
4: piec
TOTAL: 2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:136"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_102
#AT_START_103
at_fn_group_banner 103 'wordsplit.at:149' \
  "variable substitutions: single var" "             " 1
at_xfail=no
(
  $as_echo "103. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:149:
FOO=bar wsp  <<'EOT'
a \$FOO test
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:149"
( $at_check_trace;
FOO=bar wsp  <<'EOT'
a $FOO test
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 3
0: a
1: bar
2: test
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:149"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_103
#AT_START_104
at_fn_group_banner 104 'wordsplit.at:160' \
  "variable substitutions: concatenated vars" "      " 1
at_xfail=no
(
  $as_echo "104. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:160:
FOO=str BAR=ing wsp  <<'EOT'
a \$FOO\${BAR}ent test
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:160"
( $at_check_trace;
FOO=str BAR=ing wsp  <<'EOT'
a $FOO${BAR}ent test
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 3
0: a
1: stringent
2: test
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:160"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_104
#AT_START_105
at_fn_group_banner 105 'wordsplit.at:172' \
  "variable substitutions: field splitting" "        " 1
at_xfail=no
(
  $as_echo "105. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:172:
FOO=\"variable substitution\" wsp  <<'EOT'
a \$FOO test
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:172"
( $at_check_trace;
FOO="variable substitution" wsp  <<'EOT'
a $FOO test
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 4
0: a
1: variable
2: substitution
3: test
TOTAL: 4
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:172"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_105
#AT_START_106
at_fn_group_banner 106 'wordsplit.at:184' \
  "variable substitutions: double-quoted variable" " " 1
at_xfail=no
(
  $as_echo "106. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:184:
FOO=\"variable substitution\" wsp  <<'EOT'
a \"\$FOO\" test
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:184"
( $at_check_trace;
FOO="variable substitution" wsp  <<'EOT'
a "$FOO" test
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 3
0: a
1: \"variable substitution\"
2: test
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:184"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_106
#AT_START_107
at_fn_group_banner 107 'wordsplit.at:195' \
  "variable substitutions: single-quoted variable" " " 1
at_xfail=no
(
  $as_echo "107. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:195:
FOO=\"variable substitution\" wsp  <<'EOT'
a '\$FOO' test
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:195"
( $at_check_trace;
FOO="variable substitution" wsp  <<'EOT'
a '$FOO' test
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 3
0: a
1: \$FOO
2: test
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:195"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_107
#AT_START_108
at_fn_group_banner 108 'wordsplit.at:206' \
  "undefined variables 1" "                          " 1
at_xfail=no
(
  $as_echo "108. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:206:
unset FOO; wsp  <<'EOT'
a \$FOO test a\${FOO}b
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:206"
( $at_check_trace;
unset FOO; wsp  <<'EOT'
a $FOO test a${FOO}b
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 3
0: a
1: test
2: ab
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:206"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_108
#AT_START_109
at_fn_group_banner 109 'wordsplit.at:217' \
  "undefined variables 2" "                          " 1
at_xfail=no
(
  $as_echo "109. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:217:
unset FOO; wsp -keepundef <<'EOT'
a \$FOO test a\${FOO}b
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:217"
( $at_check_trace;
unset FOO; wsp -keepundef <<'EOT'
a $FOO test a${FOO}b
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 4
0: a
1: \$FOO
2: test
3: a\${FOO}b
TOTAL: 4
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:217"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_109
#AT_START_110
at_fn_group_banner 110 'wordsplit.at:229' \
  "warn about undefined variables" "                 " 1
at_xfail=no
(
  $as_echo "110. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:229:
unset FOO; wsp -warnundef <<'EOT'
\$FOO
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:229"
( $at_check_trace;
unset FOO; wsp -warnundef <<'EOT'
$FOO
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "warning: undefined variable \`FOO'
" | \
  $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 0
TOTAL: 0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:229"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_110
#AT_START_111
at_fn_group_banner 111 'wordsplit.at:238' \
  "bail out on undefined variables" "                " 1
at_xfail=no
(
  $as_echo "111. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:238:
unset FOO; wsp -undef <<'EOT'
\$FOO
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:238"
( $at_check_trace;
unset FOO; wsp -undef <<'EOT'
$FOO
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "undefined variable: FOO
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:238"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_111
#AT_START_112
at_fn_group_banner 112 'wordsplit.at:245' \
  "disable variable expansion" "                     " 1
at_xfail=no
(
  $as_echo "112. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:245:
FOO=bar wsp -novar <<'EOT'
\$FOO
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:245"
( $at_check_trace;
FOO=bar wsp -novar <<'EOT'
$FOO
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: \$FOO
TOTAL: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:245"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_112
#AT_START_113
at_fn_group_banner 113 'wordsplit.at:254' \
  "K/V environment" "                                " 1
at_xfail=no
(
  $as_echo "113. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:254:
FOO=bar BAZ=qux wsp -env_kv <<'EOT'
\$FOO a\$BAZ
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:254"
( $at_check_trace;
FOO=bar BAZ=qux wsp -env_kv <<'EOT'
$FOO a$BAZ
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 2
0: bar
1: aqux
TOTAL: 2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:254"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_113
#AT_START_114
at_fn_group_banner 114 'wordsplit.at:265' \
  "nosplit with variable expansion" "                " 1
at_xfail=no
(
  $as_echo "114. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:265:
FOO=\"variable expansion\" wsp -nosplit <<'EOT'
a \$FOO test
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:265"
( $at_check_trace;
FOO="variable expansion" wsp -nosplit <<'EOT'
a $FOO test
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: \"a variable expansion test\\n\"
TOTAL: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:265"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_114
#AT_START_115
at_fn_group_banner 115 'wordsplit.at:274' \
  "nosplit without variable expansion" "             " 1
at_xfail=no
(
  $as_echo "115. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:274:
FOO=\"variable expansion\" wsp -nosplit -novar <<'EOT'
a \$FOO test
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:274"
( $at_check_trace;
FOO="variable expansion" wsp -nosplit -novar <<'EOT'
a $FOO test
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: \"a \$FOO test\\n\"
TOTAL: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:274"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_115
#AT_START_116
at_fn_group_banner 116 'wordsplit.at:283' \
  "nosplit: empty expansion" "                       " 1
at_xfail=no
(
  $as_echo "116. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:283:
FOO=\"\" wsp -nosplit -trimnl <<'EOT'
\$FOO
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:283"
( $at_check_trace;
FOO="" wsp -nosplit -trimnl <<'EOT'
$FOO
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: \"\"
TOTAL: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:283"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_116
#AT_START_117
at_fn_group_banner 117 'wordsplit.at:292' \
  "default value" "                                  " 1
at_xfail=no
(
  $as_echo "117. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:292:
 wsp  <<'EOT'
\${FOO:-bar}
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:292"
( $at_check_trace;
 wsp  <<'EOT'
${FOO:-bar}
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: bar
TOTAL: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:292"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_117
#AT_START_118
at_fn_group_banner 118 'wordsplit.at:299' \
  "default value (defined)" "                        " 1
at_xfail=no
(
  $as_echo "118. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:299:
FOO=qux wsp  <<'EOT'
\${FOO:-bar}
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:299"
( $at_check_trace;
FOO=qux wsp  <<'EOT'
${FOO:-bar}
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: qux
TOTAL: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:299"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_118
#AT_START_119
at_fn_group_banner 119 'wordsplit.at:308' \
  "default value (:- null)" "                        " 1
at_xfail=no
(
  $as_echo "119. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:308:
FOO= wsp  <<'EOT'
\${FOO:-bar}
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:308"
( $at_check_trace;
FOO= wsp  <<'EOT'
${FOO:-bar}
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: bar
TOTAL: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:308"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_119
#AT_START_120
at_fn_group_banner 120 'wordsplit.at:317' \
  "default value (- null)" "                         " 1
at_xfail=no
(
  $as_echo "120. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:317:
FOO= wsp  <<'EOT'
\${FOO-bar}
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:317"
( $at_check_trace;
FOO= wsp  <<'EOT'
${FOO-bar}
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 0
TOTAL: 0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:317"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_120
#AT_START_121
at_fn_group_banner 121 'wordsplit.at:325' \
  "default value (- null, unset)" "                  " 1
at_xfail=no
(
  $as_echo "121. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:325:
 wsp  <<'EOT'
\${FOO-bar}
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:325"
( $at_check_trace;
 wsp  <<'EOT'
${FOO-bar}
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: bar
TOTAL: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:325"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_121
#AT_START_122
at_fn_group_banner 122 'wordsplit.at:332' \
  "assign default values" "                          " 1
at_xfail=no
(
  $as_echo "122. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:332:
 wsp  <<'EOT'
\${FOO=bar}
\$FOO
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:332"
( $at_check_trace;
 wsp  <<'EOT'
${FOO=bar}
$FOO
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: bar
TOTAL: 1
NF: 1
0: bar
TOTAL: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:332"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_122
#AT_START_123
at_fn_group_banner 123 'wordsplit.at:343' \
  "default error message (var defined)" "            " 1
at_xfail=no
(
  $as_echo "123. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:343:
FOO=bar wsp  <<'EOT'
a \${FOO:?} test
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:343"
( $at_check_trace;
FOO=bar wsp  <<'EOT'
a ${FOO:?} test
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 3
0: a
1: bar
2: test
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:343"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_123
#AT_START_124
at_fn_group_banner 124 'wordsplit.at:354' \
  "default error message" "                          " 1
at_xfail=no
(
  $as_echo "124. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:354:
 wsp  <<'EOT'
\${FOO:?}
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:354"
( $at_check_trace;
 wsp  <<'EOT'
${FOO:?}
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "FOO: variable null or not set
" | \
  $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 0
TOTAL: 0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:354"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_124
#AT_START_125
at_fn_group_banner 125 'wordsplit.at:362' \
  "custom error message (defined)" "                 " 1
at_xfail=no
(
  $as_echo "125. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:362:
FOO=bar wsp  <<'EOT'
a \${FOO:?please define it} test
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:362"
( $at_check_trace;
FOO=bar wsp  <<'EOT'
a ${FOO:?please define it} test
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 3
0: a
1: bar
2: test
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:362"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_125
#AT_START_126
at_fn_group_banner 126 'wordsplit.at:373' \
  "custom error message" "                           " 1
at_xfail=no
(
  $as_echo "126. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:373:
 wsp  <<'EOT'
a \${FOO:?please define it} test
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:373"
( $at_check_trace;
 wsp  <<'EOT'
a ${FOO:?please define it} test
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "FOO: please define it
" | \
  $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 2
0: a
1: test
TOTAL: 2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:373"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_126
#AT_START_127
at_fn_group_banner 127 'wordsplit.at:383' \
  "alternate value (defined)" "                      " 1
at_xfail=no
(
  $as_echo "127. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:383:
FOO=bar wsp  <<'EOT'
a \${FOO:+isset} test
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:383"
( $at_check_trace;
FOO=bar wsp  <<'EOT'
a ${FOO:+isset} test
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 3
0: a
1: isset
2: test
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:383"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_127
#AT_START_128
at_fn_group_banner 128 'wordsplit.at:394' \
  "alternate value" "                                " 1
at_xfail=no
(
  $as_echo "128. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:394:
unset FOO; wsp  <<'EOT'
a \${FOO:+isset} test
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:394"
( $at_check_trace;
unset FOO; wsp  <<'EOT'
a ${FOO:+isset} test
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 2
0: a
1: test
TOTAL: 2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:394"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_128
#AT_START_129
at_fn_group_banner 129 'wordsplit.at:404' \
  "getvar" "                                         " 1
at_xfail=no
(
  $as_echo "129. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:404: unset foo; unset x
 wsp foo=bar x=quux <<'EOT'
begin \$foo \$x end
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:404"
( $at_check_trace; unset foo; unset x
 wsp foo=bar x=quux <<'EOT'
begin $foo $x end
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 4
0: begin
1: bar
2: quux
3: end
TOTAL: 4
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:404"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_129
#AT_START_130
at_fn_group_banner 130 'wordsplit.at:418' \
  "getvar and env" "                                 " 1
at_xfail=no
(
  $as_echo "130. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:418: unset foo; unset x
TVAR=12 y=zwar wsp foo=bar x=quux y=xur <<'EOT'
begin \$foo \$TVAR \$x \$y end
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:418"
( $at_check_trace; unset foo; unset x
TVAR=12 y=zwar wsp foo=bar x=quux y=xur <<'EOT'
begin $foo $TVAR $x $y end
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 6
0: begin
1: bar
2: 12
3: quux
4: zwar
5: end
TOTAL: 6
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:418"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_130
#AT_START_131
at_fn_group_banner 131 'wordsplit.at:434' \
  "getvar, alternate value" "                        " 1
at_xfail=no
(
  $as_echo "131. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:434:
 wsp foo=bar <<'EOT'
a \${foo:+isset}
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:434"
( $at_check_trace;
 wsp foo=bar <<'EOT'
a ${foo:+isset}
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 2
0: a
1: isset
TOTAL: 2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:434"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_131
#AT_START_132
at_fn_group_banner 132 'wordsplit.at:445' \
  "ignore quotes" "                                  " 1
at_xfail=no
(
  $as_echo "132. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:445:
 wsp -noquote <<'EOT'
\"a text\"
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:445"
( $at_check_trace;
 wsp -noquote <<'EOT'
"a text"
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 2
0: \"\\\"a\"
1: \"text\\\"\"
TOTAL: 2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:445"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_132
#AT_START_133
at_fn_group_banner 133 'wordsplit.at:455' \
  "custom delimiters (squeeze)" "                    " 1
at_xfail=no
(
  $as_echo "133. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:455:
 wsp -delim : -nows -trimnl <<'EOT'
semicolon: separated::list: of :words
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:455"
( $at_check_trace;
 wsp -delim : -nows -trimnl <<'EOT'
semicolon: separated::list: of :words
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 5
0: semicolon
1: \" separated\"
2: list
3: \" of \"
4: words
TOTAL: 5
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:455"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_133
#AT_START_134
at_fn_group_banner 134 'wordsplit.at:467' \
  "custom delimiters (no squeeze)" "                 " 1
at_xfail=no
(
  $as_echo "134. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:467:
 wsp -delim : -nows -nosqueeze_delims -trimnl <<'EOT'
semicolon: separated::list: of :words
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:467"
( $at_check_trace;
 wsp -delim : -nows -nosqueeze_delims -trimnl <<'EOT'
semicolon: separated::list: of :words
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 6
0: semicolon
1: \" separated\"
2: \"\"
3: list
4: \" of \"
5: words
TOTAL: 6
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:467"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_134
#AT_START_135
at_fn_group_banner 135 'wordsplit.at:480' \
  "custom, with returned delimiters" "               " 1
at_xfail=no
(
  $as_echo "135. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:480:
 wsp -delim : -nows -trimnl -return_delims <<'EOT'
semicolon: separated::list: of :words
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:480"
( $at_check_trace;
 wsp -delim : -nows -trimnl -return_delims <<'EOT'
semicolon: separated::list: of :words
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 9
0: semicolon
1: :
2: \" separated\"
3: :
4: list
5: :
6: \" of \"
7: :
8: words
TOTAL: 9
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:480"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_135
#AT_START_136
at_fn_group_banner 136 'wordsplit.at:496' \
  "custom, with returned & squeezed delimiters" "    " 1
at_xfail=no
(
  $as_echo "136. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:496:
 wsp -delim : -nows -trimnl -return_delims -nosqueeze_delims <<'EOT'
semicolon: separated::list: of :words
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:496"
( $at_check_trace;
 wsp -delim : -nows -trimnl -return_delims -nosqueeze_delims <<'EOT'
semicolon: separated::list: of :words
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 10
0: semicolon
1: :
2: \" separated\"
3: :
4: :
5: list
6: :
7: \" of \"
8: :
9: words
TOTAL: 10
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:496"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_136
#AT_START_137
at_fn_group_banner 137 'wordsplit.at:515' \
  "sed expressions" "                                " 1
at_xfail=no
(
  $as_echo "137. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:515:
 wsp -sed <<'EOT'
arg1 s/foo/bar/g;s/bar baz/quz quux/ arg2
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:515"
( $at_check_trace;
 wsp -sed <<'EOT'
arg1 s/foo/bar/g;s/bar baz/quz quux/ arg2
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 3
0: arg1
1: \"s/foo/bar/g;s/bar baz/quz quux/\"
2: arg2
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:515"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_137
#AT_START_138
at_fn_group_banner 138 'wordsplit.at:526' \
  "C escapes on" "                                   " 1
at_xfail=no
(
  $as_echo "138. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:526:
 wsp -cescapes <<'EOT'
a\\ttab form\\ffeed and new\\nline
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:526"
( $at_check_trace;
 wsp -cescapes <<'EOT'
a\ttab form\ffeed and new\nline
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 4
0: a\\ttab
1: form\\ffeed
2: and
3: new\\nline
TOTAL: 4
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:526"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_138
#AT_START_139
at_fn_group_banner 139 'wordsplit.at:536' \
  "C escapes off" "                                  " 1
at_xfail=no
(
  $as_echo "139. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:536:
 wsp -nocescapes <<'EOT'
a\\ttab form\\ffeed and new\\nline
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:536"
( $at_check_trace;
 wsp -nocescapes <<'EOT'
a\ttab form\ffeed and new\nline
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 4
0: attab
1: formffeed
2: and
3: newnline
TOTAL: 4
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:536"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_139
#AT_START_140
at_fn_group_banner 140 'wordsplit.at:546' \
  "ws elimination" "                                 " 1
at_xfail=no
(
  $as_echo "140. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:546:
 wsp -delim ' ()' -ws -return_delims <<'EOT'
( list  items  )
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:546"
( $at_check_trace;
 wsp -delim ' ()' -ws -return_delims <<'EOT'
( list  items  )
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 4
0: (
1: list
2: items
3: )
TOTAL: 4
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:546"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_140
#AT_START_141
at_fn_group_banner 141 'wordsplit.at:556' \
  "ws elimination + return delim" "                  " 1
at_xfail=no
(
  $as_echo "141. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:556:
 wsp -nodefault -novar -nocmd -delim \":,\" -return_delims -ws -dquote <<'EOT'
\"foo\" : \"bar\", \"quux\" : \"baaz\"
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:556"
( $at_check_trace;
 wsp -nodefault -novar -nocmd -delim ":," -return_delims -ws -dquote <<'EOT'
"foo" : "bar", "quux" : "baaz"
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 7
0: foo
1: :
2: bar
3: ,
4: quux
5: :
6: baaz
TOTAL: 7
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:556"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_141
#AT_START_142
at_fn_group_banner 142 'wordsplit.at:570' \
  "empty quotes" "                                   " 1
at_xfail=no
(
  $as_echo "142. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:570:
 wsp -delim : -ws -return_delims <<'EOT'
t=\"\"
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:570"
( $at_check_trace;
 wsp -delim : -ws -return_delims <<'EOT'
t=""
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: t=
TOTAL: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:570"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_142
#AT_START_143
at_fn_group_banner 143 'wordsplit.at:577' \
  "delimiter following empty quotes" "               " 1
at_xfail=no
(
  $as_echo "143. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:577:
 wsp -delim : -ws -return_delims <<'EOT'
t=\"\":r
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:577"
( $at_check_trace;
 wsp -delim : -ws -return_delims <<'EOT'
t="":r
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 3
0: t=
1: :
2: r
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:577"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_143
#AT_START_144
at_fn_group_banner 144 'wordsplit.at:587' \
  "suppress ws trimming within quotes" "             " 1
at_xfail=no
(
  $as_echo "144. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:587:
 wsp -default -delim , -ws -return_delims <<'EOT'
nocomponent,nonewline, formatfield=\"In message %{text}, \"
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:587"
( $at_check_trace;
 wsp -default -delim , -ws -return_delims <<'EOT'
nocomponent,nonewline, formatfield="In message %{text}, "
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 5
0: nocomponent
1: ,
2: nonewline
3: ,
4: \"formatfield=In message %{text}, \"
TOTAL: 5
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:587"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_144
#AT_START_145
at_fn_group_banner 145 'wordsplit.at:600' \
  "unescape" "                                       " 1
at_xfail=no
(
  $as_echo "145. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:600:
 wsp -nodefault -novar -nocmd -quote -escape ':+:\\\\\"\"' <<'EOT'
\\Seen \"quote \\\"\" \"bs \\\\\"
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:600"
( $at_check_trace;
 wsp -nodefault -novar -nocmd -quote -escape ':+:\\""' <<'EOT'
\Seen "quote \"" "bs \\"
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 3
0: \\\\Seen
1: \"quote \\\"\"
2: \"bs \\\\\"
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:600"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_145
#AT_START_146
at_fn_group_banner 146 'wordsplit.at:611' \
  "unescape: word/quote" "                           " 1
at_xfail=no
(
  $as_echo "146. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:611:
 wsp -nodefault -novar -nocmd -quote -escape-word '\\\\\"\"' -escape-quote ':+0x:\\\\\"\"' <<'EOT'
\\Seen \"quote \\\"\" \"bs \\\\\" \"3\\x31 \\101\" 3\\x31 \\101
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:611"
( $at_check_trace;
 wsp -nodefault -novar -nocmd -quote -escape-word '\\""' -escape-quote ':+0x:\\""' <<'EOT'
\Seen "quote \"" "bs \\" "3\x31 \101" 3\x31 \101
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 6
0: Seen
1: \"quote \\\"\"
2: \"bs \\\\\"
3: \"31 A\"
4: 3x31
5: 101
TOTAL: 6
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:611"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_146
#AT_START_147
at_fn_group_banner 147 'wordsplit.at:625' \
  "dquote" "                                         " 1
at_xfail=no
(
  $as_echo "147. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:625:
 wsp -nodefault -novar -nocmd -dquote <<'EOT'
a \"quoted example\" isn't it
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:625"
( $at_check_trace;
 wsp -nodefault -novar -nocmd -dquote <<'EOT'
a "quoted example" isn't it
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 4
0: a
1: \"quoted example\"
2: isn't
3: it
TOTAL: 4
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:625"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_147
#AT_START_148
at_fn_group_banner 148 'wordsplit.at:635' \
  "squote" "                                         " 1
at_xfail=no
(
  $as_echo "148. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:635:
 wsp -nodefault -novar -nocmd -squote <<'EOT'
a 'quoted example' isn\"t it
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:635"
( $at_check_trace;
 wsp -nodefault -novar -nocmd -squote <<'EOT'
a 'quoted example' isn"t it
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 4
0: a
1: \"quoted example\"
2: \"isn\\\"t\"
3: it
TOTAL: 4
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:635"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_148
#AT_START_149
at_fn_group_banner 149 'wordsplit.at:647' \
  "incremental" "                                    " 1
at_xfail=no
(
  $as_echo "149. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:647:
 wsp -incremental <<'EOT'
incremental \"input test\" line



EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:647"
( $at_check_trace;
 wsp -incremental <<'EOT'
incremental "input test" line



EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "input exhausted
" | \
  $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: incremental
TOTAL: 1
NF: 1
0: \"input test\"
TOTAL: 2
NF: 1
0: line
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:647"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_149
#AT_START_150
at_fn_group_banner 150 'wordsplit.at:665' \
  "incremental append" "                             " 1
at_xfail=no
(
  $as_echo "150. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:665:
 wsp -incremental -append <<'EOT'
incremental \"input test\" line



EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:665"
( $at_check_trace;
 wsp -incremental -append <<'EOT'
incremental "input test" line



EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "input exhausted
" | \
  $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: incremental
TOTAL: 1
NF: 2
0: incremental
1: \"input test\"
TOTAL: 2
NF: 3
0: incremental
1: \"input test\"
2: line
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:665"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_150
#AT_START_151
at_fn_group_banner 151 'wordsplit.at:686' \
  "incremental ws" "                                 " 1
at_xfail=no
(
  $as_echo "151. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:686:
 wsp -return_delims -nosqueeze_delims -incremental -ws <<'EOT'
a   list  test



EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:686"
( $at_check_trace;
 wsp -return_delims -nosqueeze_delims -incremental -ws <<'EOT'
a   list  test



EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "input exhausted
" | \
  $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: a
TOTAL: 1
NF: 1
0: list
TOTAL: 2
NF: 1
0: test
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:686"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_151
#AT_START_152
at_fn_group_banner 152 'wordsplit.at:705' \
  "incremental nosplit" "                            " 1
at_xfail=no
(
  $as_echo "152. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:705:
 wsp -incremental -nosplit <<'EOT'
incremental \"input test\" line

EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:705"
( $at_check_trace;
 wsp -incremental -nosplit <<'EOT'
incremental "input test" line

EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "input exhausted
" | \
  $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: \"incremental input test line\"
TOTAL: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:705"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_152
#AT_START_153
at_fn_group_banner 153 'wordsplit.at:715' \
  "simple command substitution" "                    " 1
at_xfail=no
(
  $as_echo "153. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:715:
 wsp -cmd <<'EOT'
begin \$(words a b) end
EOT
"
at_fn_check_prepare_notrace 'a $(...) command substitution' "wordsplit.at:715"
( $at_check_trace;
 wsp -cmd <<'EOT'
begin $(words a b) end
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 4
0: begin
1: a
2: b
3: end
TOTAL: 4
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:715"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_153
#AT_START_154
at_fn_group_banner 154 'wordsplit.at:725' \
  "quoted command substitution" "                    " 1
at_xfail=no
(
  $as_echo "154. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:725:
 wsp -cmd <<'EOT'
begin \"\$(words a b)\" end
EOT
"
at_fn_check_prepare_notrace 'a $(...) command substitution' "wordsplit.at:725"
( $at_check_trace;
 wsp -cmd <<'EOT'
begin "$(words a b)" end
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 3
0: begin
1: \"a b\"
2: end
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:725"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_154
#AT_START_155
at_fn_group_banner 155 'wordsplit.at:734' \
  "coalesced command substitution" "                 " 1
at_xfail=no
(
  $as_echo "155. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:734:
 wsp -cmd <<'EOT'
begin(\$(words a b))end
EOT
"
at_fn_check_prepare_notrace 'a $(...) command substitution' "wordsplit.at:734"
( $at_check_trace;
 wsp -cmd <<'EOT'
begin($(words a b))end
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 2
0: begin(a
1: b)end
TOTAL: 2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:734"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_155
#AT_START_156
at_fn_group_banner 156 'wordsplit.at:742' \
  "quoted coalesced command substitution" "          " 1
at_xfail=no
(
  $as_echo "156. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:742:
 wsp -cmd <<'EOT'
\"begin(\$(words a b))end\"
EOT
"
at_fn_check_prepare_notrace 'a $(...) command substitution' "wordsplit.at:742"
( $at_check_trace;
 wsp -cmd <<'EOT'
"begin($(words a b))end"
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: \"begin(a b)end\"
TOTAL: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:742"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_156
#AT_START_157
at_fn_group_banner 157 'wordsplit.at:749' \
  "variable and command substitution" "              " 1
at_xfail=no
(
  $as_echo "157. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:749:
X=a Y=b wsp -cmd -var <<'EOT'
begin \$X \$(words \$X \$Y) end
EOT
"
at_fn_check_prepare_notrace 'a $(...) command substitution' "wordsplit.at:749"
( $at_check_trace;
X=a Y=b wsp -cmd -var <<'EOT'
begin $X $(words $X $Y) end
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 5
0: begin
1: a
2: a
3: b
4: end
TOTAL: 5
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:749"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_157
#AT_START_158
at_fn_group_banner 158 'wordsplit.at:760' \
  "variable expansion and command substitution in quotes" "" 1
at_xfail=no
(
  $as_echo "158. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:760:
X=a Y=b BEGIN=begin wsp -cmd -var <<'EOT'
\"\${BEGIN}(\$(words \$X \$Y))end\"
EOT
"
at_fn_check_prepare_notrace 'a $(...) command substitution' "wordsplit.at:760"
( $at_check_trace;
X=a Y=b BEGIN=begin wsp -cmd -var <<'EOT'
"${BEGIN}($(words $X $Y))end"
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: \"begin(a b)end\"
TOTAL: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:760"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_158
#AT_START_159
at_fn_group_banner 159 'wordsplit.at:767' \
  "nested commands" "                                " 1
at_xfail=no
(
  $as_echo "159. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:767:
SUFFIX=put wsp -cmd -var <<'EOT'
\$(words output \$(words in\$SUFFIX text) end)
EOT
"
at_fn_check_prepare_notrace 'a $(...) command substitution' "wordsplit.at:767"
( $at_check_trace;
SUFFIX=put wsp -cmd -var <<'EOT'
$(words output $(words in$SUFFIX text) end)
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 4
0: output
1: input
2: text
3: end
TOTAL: 4
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:767"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_159
#AT_START_160
at_fn_group_banner 160 'wordsplit.at:778' \
  "pathname expansion" "                             " 1
at_xfail=no
(
  $as_echo "160. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:780:
mkdir dir
> dir/1.c
> dir/2.c
> dir/3.b

wsp -pathexpand<<'EOT'
begin dir/*.c end
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:780"
( $at_check_trace;
mkdir dir
> dir/1.c
> dir/2.c
> dir/3.b

wsp -pathexpand<<'EOT'
begin dir/*.c end
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 4
0: begin
1: dir/1.c
2: dir/2.c
3: end
TOTAL: 4
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:780"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_160
#AT_START_161
at_fn_group_banner 161 'wordsplit.at:800' \
  "pathname expansion: no match" "                   " 1
at_xfail=no
(
  $as_echo "161. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:802:
mkdir dir
> dir/1.c
> dir/2.b

wsp -pathexpand<<'EOT'
begin dir/*.d end
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:802"
( $at_check_trace;
mkdir dir
> dir/1.c
> dir/2.b

wsp -pathexpand<<'EOT'
begin dir/*.d end
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 3
0: begin
1: dir/*.d
2: end
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:802"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_161
#AT_START_162
at_fn_group_banner 162 'wordsplit.at:820' \
  "pathname expansion: nullglob" "                   " 1
at_xfail=no
(
  $as_echo "162. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:822:
mkdir dir
> dir/1.c
> dir/2.b

wsp -pathexpand -nullglob<<'EOT'
begin dir/*.d end
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:822"
( $at_check_trace;
mkdir dir
> dir/1.c
> dir/2.b

wsp -pathexpand -nullglob<<'EOT'
begin dir/*.d end
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 2
0: begin
1: end
TOTAL: 2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:822"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_162
#AT_START_163
at_fn_group_banner 163 'wordsplit.at:839' \
  "pathname expansion: failglob" "                   " 1
at_xfail=no
(
  $as_echo "163. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:841:
mkdir dir
> dir/1.c
> dir/2.b

wsp -pathexpand -failglob<<'EOT'
begin dir/*.d end
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:841"
( $at_check_trace;
mkdir dir
> dir/1.c
> dir/2.b

wsp -pathexpand -failglob<<'EOT'
begin dir/*.d end
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "no files match pattern dir/*.d
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:841"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_163
#AT_START_164
at_fn_group_banner 164 'wordsplit.at:856' \
  "append" "                                         " 1
at_xfail=no
(
  $as_echo "164. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:856:
 wsp -append-args extra arguments follow <<'EOT'
some words and
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:856"
( $at_check_trace;
 wsp -append-args extra arguments follow <<'EOT'
some words and
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 6
0: some
1: words
2: and
3: extra
4: arguments
5: follow
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:856"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_164
#AT_START_165
at_fn_group_banner 165 'wordsplit.at:868' \
  "append + dooffs + env" "                          " 1
at_xfail=no
(
  $as_echo "165. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:868:
 wsp -env none -dooffs preface words -- V=2 -append-args extra arguments follow <<'EOT'
some words and var=\$V
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:868"
( $at_check_trace;
 wsp -env none -dooffs preface words -- V=2 -append-args extra arguments follow <<'EOT'
some words and var=$V
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 7 (2)
(0): preface
(1): words
2: some
3: words
4: and
5: var=2
6: extra
7: arguments
8: follow
TOTAL: 4
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:868"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_165
#AT_START_166
at_fn_group_banner 166 'wordsplit.at:885' \
  "maxwords" "                                       " 1
at_xfail=no
(
  $as_echo "166. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:885:
 wsp -trimnl -maxwords 3 <<'EOT'
ws_maxwords  limits the   number of returned words
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:885"
( $at_check_trace;
 wsp -trimnl -maxwords 3 <<'EOT'
ws_maxwords  limits the   number of returned words
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 3
0: ws_maxwords
1: limits
2: \"the   number of returned words\"
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:885"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_166
#AT_START_167
at_fn_group_banner 167 'wordsplit.at:895' \
  "maxwords return_delims" "                         " 1
at_xfail=no
(
  $as_echo "167. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:895:
 wsp -trimnl -maxwords 8 -return_delims -delim :- <<'EOT'
foo:::bar-:baz-quux:ux:zu
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:895"
( $at_check_trace;
 wsp -trimnl -maxwords 8 -return_delims -delim :- <<'EOT'
foo:::bar-:baz-quux:ux:zu
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 8
0: foo
1: :
2: bar
3: -
4: :
5: baz
6: -
7: quux:ux:zu
TOTAL: 8
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:895"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_167
#AT_START_168
at_fn_group_banner 168 'wordsplit.at:910' \
  "maxwords return_delims -squeeze_delims" "         " 1
at_xfail=no
(
  $as_echo "168. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:910:
 wsp -trimnl -maxwords 8 -return_delims -nosqueeze_delims -delim :- <<'EOT'
foo:::bar-:baz:qux-
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:910"
( $at_check_trace;
 wsp -trimnl -maxwords 8 -return_delims -nosqueeze_delims -delim :- <<'EOT'
foo:::bar-:baz:qux-
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 8
0: foo
1: :
2: :
3: :
4: bar
5: -
6: :
7: baz:qux-
TOTAL: 8
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:910"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_168
#AT_START_169
at_fn_group_banner 169 'wordsplit.at:925' \
  "maxwords incremental" "                           " 1
at_xfail=no
(
  $as_echo "169. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:925:
 wsp -trimnl -maxwords 3 -incremental <<'EOT'
foo  bar	baz qux  uz



EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:925"
( $at_check_trace;
 wsp -trimnl -maxwords 3 -incremental <<'EOT'
foo  bar	baz qux  uz



EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "input exhausted
" | \
  $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: foo
TOTAL: 1
NF: 1
0: bar
TOTAL: 2
NF: 1
0: \"baz qux  uz\"
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:925"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_169
#AT_START_170
at_fn_group_banner 170 'wordsplit.at:944' \
  "variable nosplit" "                               " 1
at_xfail=no
(
  $as_echo "170. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:944:
 wsp -novar -novarsplit <<'EOT'
begin \${VAR:- a b} end
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:944"
( $at_check_trace;
 wsp -novar -novarsplit <<'EOT'
begin ${VAR:- a b} end
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 3
0: begin
1: \"\${VAR:- a b}\"
2: end
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:944"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_170
#AT_START_171
at_fn_group_banner 171 'wordsplit.at:953' \
  "command nosplit" "                                " 1
at_xfail=no
(
  $as_echo "171. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:953:
 wsp -nocmd -nocmdsplit <<'EOT'
begin \$(words a b) end
EOT
"
at_fn_check_prepare_notrace 'a $(...) command substitution' "wordsplit.at:953"
( $at_check_trace;
 wsp -nocmd -nocmdsplit <<'EOT'
begin $(words a b) end
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 3
0: begin
1: \"\$(words a b)\"
2: end
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:953"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_171
#AT_START_172
at_fn_group_banner 172 'wordsplit.at:962' \
  "positional parameters" "                          " 1
at_xfail=no
(
  $as_echo "172. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:962:
 wsp one two three four five six seven eight nine ten eleven twelve <<'EOT'
\$0 \$5 \${10}
\$#
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:962"
( $at_check_trace;
 wsp one two three four five six seven eight nine ten eleven twelve <<'EOT'
$0 $5 ${10}
$#
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 3
0: one
1: six
2: eleven
TOTAL: 3
NF: 1
0: 12
TOTAL: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:962"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_172
#AT_START_173
at_fn_group_banner 173 'wordsplit.at:975' \
  "\$* and \$@" "                                      " 1
at_xfail=no
(
  $as_echo "173. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:975:
 wsp 'one two' three 'four five' <<'EOT'
\$*
\$@
\"\$*\"
\"\$@\"
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:975"
( $at_check_trace;
 wsp 'one two' three 'four five' <<'EOT'
$*
$@
"$*"
"$@"
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 5
0: one
1: two
2: three
3: four
4: five
TOTAL: 5
NF: 3
0: \"one two\"
1: three
2: \"four five\"
TOTAL: 3
NF: 1
0: \"one two three four five\"
TOTAL: 1
NF: 1
0: \"one two three four five\"
TOTAL: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:975"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_173
#AT_START_174
at_fn_group_banner 174 'wordsplit.at:1000' \
  "\$* and \$@ in nosplit mode" "                      " 1
at_xfail=no
(
  $as_echo "174. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:1000:
 wsp -trimnl -nosplit 'one two' three 'four five' <<'EOT'
\$*
\$@
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:1000"
( $at_check_trace;
 wsp -trimnl -nosplit 'one two' three 'four five' <<'EOT'
$*
$@
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: \"one two three four five\"
TOTAL: 1
NF: 1
0: \"one two three four five\"
TOTAL: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1000"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_174
#AT_START_175
at_fn_group_banner 175 'wordsplit.at:1012' \
  "\$* and \$@ in nosplit mode with delimiter" "       " 1
at_xfail=no
(
  $as_echo "175. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:1012:
 wsp -trimnl -nosplit -delim : 'one two' three 'four five' <<'EOT'
\$*
\$@
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:1012"
( $at_check_trace;
 wsp -trimnl -nosplit -delim : 'one two' three 'four five' <<'EOT'
$*
$@
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: \"one two:three:four five\"
TOTAL: 1
NF: 1
0: \"one two:three:four five\"
TOTAL: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1012"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_175
#AT_START_176
at_fn_group_banner 176 'wordsplit.at:1026' \
  "namechar modification" "                          " 1
at_xfail=no
(
  $as_echo "176. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:1026:
 wsp -namechar \".:\" -Dx.y=one -Dx:foo=bar <<'EOT'
one is \$x.y, foo is \$x:foo
EOT
"
at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:1026"
( $at_check_trace;
 wsp -namechar ".:" -Dx.y=one -Dx:foo=bar <<'EOT'
one is $x.y, foo is $x:foo
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 6
0: one
1: is
2: one,
3: foo
4: is
5: bar
TOTAL: 6
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1026"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_176
#AT_START_177
at_fn_group_banner 177 'wordsplit.at:1040' \
  "default value" "                                  " 2
at_xfail=no
(
  $as_echo "177. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:1040:
 wsp -namechar \":.\" <<'EOT'
\${x:foo:-bar}
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:1040"
( $at_check_trace;
 wsp -namechar ":." <<'EOT'
${x:foo:-bar}
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: bar
TOTAL: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1040"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_177
#AT_START_178
at_fn_group_banner 178 'wordsplit.at:1048' \
  "default value (defined)" "                        " 2
at_xfail=no
(
  $as_echo "178. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:1048:
 wsp -namechar \":.\" -Dx:foo=qux <<'EOT'
\${x:foo:-bar}
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:1048"
( $at_check_trace;
 wsp -namechar ":." -Dx:foo=qux <<'EOT'
${x:foo:-bar}
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: qux
TOTAL: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1048"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_178
#AT_START_179
at_fn_group_banner 179 'wordsplit.at:1057' \
  "default value (:- null)" "                        " 2
at_xfail=no
(
  $as_echo "179. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:1057:
 wsp -namechar \":.\" -Dx:foo= <<'EOT'
\${x:foo:-bar}
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:1057"
( $at_check_trace;
 wsp -namechar ":." -Dx:foo= <<'EOT'
${x:foo:-bar}
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: bar
TOTAL: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1057"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_179
#AT_START_180
at_fn_group_banner 180 'wordsplit.at:1066' \
  "default value (- null)" "                         " 2
at_xfail=no
(
  $as_echo "180. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:1066:
 wsp -namechar \":.\" -Dx:foo= <<'EOT'
\${x:foo-bar}
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:1066"
( $at_check_trace;
 wsp -namechar ":." -Dx:foo= <<'EOT'
${x:foo-bar}
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 0
TOTAL: 0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1066"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_180
#AT_START_181
at_fn_group_banner 181 'wordsplit.at:1074' \
  "default value (- null, unset)" "                  " 2
at_xfail=no
(
  $as_echo "181. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:1074:
 wsp -namechar \":.\" <<'EOT'
\${x:foo-bar}
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:1074"
( $at_check_trace;
 wsp -namechar ":." <<'EOT'
${x:foo-bar}
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: bar
TOTAL: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1074"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_181
#AT_START_182
at_fn_group_banner 182 'wordsplit.at:1082' \
  "assign default values" "                          " 2
at_xfail=no
(
  $as_echo "182. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:1082:
 wsp -namechar \":.\" <<'EOT'
\${x:foo=bar}
\$x:foo
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:1082"
( $at_check_trace;
 wsp -namechar ":." <<'EOT'
${x:foo=bar}
$x:foo
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 1
0: bar
TOTAL: 1
NF: 1
0: bar
TOTAL: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1082"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_182
#AT_START_183
at_fn_group_banner 183 'wordsplit.at:1094' \
  "default error message (var defined)" "            " 2
at_xfail=no
(
  $as_echo "183. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:1094:
 wsp -namechar \":.\" -Dx:foo=bar <<'EOT'
a \${x:foo:?} test
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:1094"
( $at_check_trace;
 wsp -namechar ":." -Dx:foo=bar <<'EOT'
a ${x:foo:?} test
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 3
0: a
1: bar
2: test
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1094"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_183
#AT_START_184
at_fn_group_banner 184 'wordsplit.at:1104' \
  "default error message" "                          " 2
at_xfail=no
(
  $as_echo "184. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:1104:
 wsp -namechar \":.\" <<'EOT'
\${x:foo:?}
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:1104"
( $at_check_trace;
 wsp -namechar ":." <<'EOT'
${x:foo:?}
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "x:foo: variable null or not set
" | \
  $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 0
TOTAL: 0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1104"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_184
#AT_START_185
at_fn_group_banner 185 'wordsplit.at:1113' \
  "custom error message (defined)" "                 " 2
at_xfail=no
(
  $as_echo "185. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:1113:
 wsp -namechar \":.\" -Dx:foo=bar <<'EOT'
a \${x:foo:?please define it} test
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:1113"
( $at_check_trace;
 wsp -namechar ":." -Dx:foo=bar <<'EOT'
a ${x:foo:?please define it} test
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 3
0: a
1: bar
2: test
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1113"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_185
#AT_START_186
at_fn_group_banner 186 'wordsplit.at:1123' \
  "custom error message" "                           " 2
at_xfail=no
(
  $as_echo "186. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:1123:
 wsp -namechar \":.\" <<'EOT'
a \${x:foo:?please define it} test
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:1123"
( $at_check_trace;
 wsp -namechar ":." <<'EOT'
a ${x:foo:?please define it} test
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "x:foo: please define it
" | \
  $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 2
0: a
1: test
TOTAL: 2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1123"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_186
#AT_START_187
at_fn_group_banner 187 'wordsplit.at:1134' \
  "alternate value (defined)" "                      " 2
at_xfail=no
(
  $as_echo "187. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:1134:
FOO=bar wsp -namechar \":.\" -Dx:foo=bar <<'EOT'
a \${x:foo:+isset} test
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:1134"
( $at_check_trace;
FOO=bar wsp -namechar ":." -Dx:foo=bar <<'EOT'
a ${x:foo:+isset} test
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 3
0: a
1: isset
2: test
TOTAL: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1134"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_187
#AT_START_188
at_fn_group_banner 188 'wordsplit.at:1146' \
  "alternate value" "                                " 2
at_xfail=no
(
  $as_echo "188. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/wordsplit.at:1146:
 wsp -namechar \":.\" <<'EOT'
a \${x:foo:+isset} test
EOT
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:1146"
( $at_check_trace;
 wsp -namechar ":." <<'EOT'
a ${x:foo:+isset} test
EOT

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NF: 2
0: a
1: test
TOTAL: 2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1146"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_188
