From ff3a5ecf6f6bf9bb87682272f3eb800329572833 Mon Sep 17 00:00:00 2001
From: Laurent Bercot
eltest acts as the generic POSIX -test utility, +test utility, but it diverges from the specification on how it parses ambiguous arguments: see below.
eltest supports all the standard -test +test operands, plus all the extensions from GNU test, plus a few extensions from the test builtin from @@ -64,7 +64,7 @@ valid, always returns the result of the expression no matter how complex it is.
eltest is not suitable as a Single Unix -test +test program, due to the way it disambiguates between arguments and operators, see below. However, if you never use arguments that start with a backslash, or that have the same name as an existing operator, then @@ -108,7 +108,7 @@ in order to match whole strings, you must anchor pattern with
- Unlike test, + Unlike test, which has different fixed syntax trees depending on the number of arguments it receives and has undefined behaviour when called with more than 5 arguments, eltest accepts any number of arguments and builds its syntax trees on the fly. This means that expressions such @@ -122,7 +122,7 @@ when it reads the second -n it exits with a syntax error. Doing otherwise would result in a combinatory explosion of possible syntax trees, making it easy for users to trigger unbounded RAM consumption, and turning a simple utility into a programming nightmare. This is why POSIX -test +test is so restricted. But we don't want the same restrictions.
diff --git a/doc/execline-cd.html b/doc/execline-cd.html index 18759d1..1727407 100644 --- a/doc/execline-cd.html +++ b/doc/execline-cd.html @@ -31,7 +31,7 @@ given directory, then executes a program.execline-cd performs a -chdir() +chdir() system call on dir, then execs into prog....
diff --git a/doc/exitcodes.html b/doc/exitcodes.html index 3759ba7..1858b28 100644 --- a/doc/exitcodes.html +++ b/doc/exitcodes.html @@ -30,7 +30,7 @@ to C, with as much precision as possible?The problem is, there's more information in a wstat (the structure filled in by -waitpid()) +waitpid()) than a process can report by simply exiting. P could exit with the same exit code as C, but then what should it do if C has been killed by a signal? @@ -52,7 +52,7 @@ can report.
Shells have their own -convention +convention for reporting crashes, but since any exit code greater than 127 is reported as is, the information given by the shell is unreliable: "child exited 129" and "child was killed by SIGHUP" are indistinguishable. When shells get diff --git a/doc/getcwd.html b/doc/getcwd.html index 62701c6..0301935 100644 --- a/doc/getcwd.html +++ b/doc/getcwd.html @@ -53,7 +53,7 @@ line instead of putting it into the environment.
posix-cd changes the current working directory to dir according to the -POSIX +POSIX specification for a cd external utility. Then, if prog... is not empty, it execs into it.
@@ -47,7 +47,7 @@ will use posix-cd. When this configuration option has not been given, cd is a symbolic link to execline-cd.posix-umask interprets mask as specified by the -POSIX +POSIX specification for a umask external utility.
@@ -55,7 +55,7 @@ will use posix-umask. When this configuration option has not been given, umask is a symbolic link to execline-umask.