In the man page for bash that is installed in my Linux sys, it says that the currently set options are kept in
$-
does indeed show me the options which are currently set.
However, even though the bash man page says that the
set command without options displays the shell variables, for me, it shows not only the shell variables, but defined shell functions as well. That's how it's different from the
env command.