install -C now dereferences symlink sources when comparing,
rather than always treating as different and performing the copy.
+ kill -l and -t now list signal 0, as it's a valid signal to send.
+
ls's -f option now simply acts like -aU, instead of also ignoring
some earlier options. For example 'ls -fl' and 'ls -lf' are now
equivalent because -f no longer ignores an earlier -l. The new
A @var{signal} may be a signal name like @samp{HUP}, or a signal
number like @samp{1}, or an exit status of a process terminated by the
signal. A signal name can be given in canonical form or prefixed by
-@samp{SIG}@. The case of the letters is ignored. The following signal names
-and numbers are supported on all POSIX compliant systems:
+@samp{SIG}@. The case of the letters is ignored.
+
+@noindent
+The signal @samp{0} pseudo signal is synonymous with the name @samp{EXIT}
+with the GNU @command{kill} command, and @command{bash} at least,
+as @code{trap foo 0} and @code{trap foo EXIT} are equivalent.
+
+@noindent
+The following signal names and numbers are supported
+on all POSIX compliant systems:
@table @samp
@item HUP
num_width++;
/* Compute the maximum width of a signal name. */
- for (signum = 1; signum <= SIGNUM_BOUND; signum++)
+ for (signum = 0; signum <= SIGNUM_BOUND; signum++)
if (sig2str (signum, signame) == 0)
{
idx_t len = strlen (signame);
}
}
else
- for (signum = 1; signum <= SIGNUM_BOUND; signum++)
+ for (signum = 0; signum <= SIGNUM_BOUND; signum++)
if (sig2str (signum, signame) == 0)
print_table_row (num_width, signum, name_width, signame);
}
printf ("%d\n", signum);
}
else
- for (signum = 1; signum <= SIGNUM_BOUND; signum++)
+ for (signum = 0; signum <= SIGNUM_BOUND; signum++)
if (sig2str (signum, signame) == 0)
puts (signame);
}
env kill -l -- $SIG_SEQ || fail=1
env kill -t -- $SIG_SEQ || fail=1
+# Verify first signal number listed is 0
+test $(env kill -l $(env kill -l | head -n1)) = 0 || fail=1
+
Exit $fail