With the current git head (and 4.3):
$ ./bash -c 'eval() { echo function; }; set -o posix; type eval; eval echo not
function'
eval is a function
eval ()
{
echo function
}
not function
$ ./bash --version
GNU bash, version 4.4.0(1)-alpha (x86_64-unknown-linux-gnu)
[...]
"type eval" should return
eval is a shell builtin
there since the special builtin takes precedence over functions
in POSIX mode.
(actually, having "eval is a special shell builtin" like in
dash/mksh/ksh93/yash would be nice)
--
Stephane