set x $my_list; shift
@end example
-Some shells have the "opposite" problem of not recognizing all options
+Avoid @samp{set -}, e.g., @samp{set - $my_list}. POSIX 1003.1-2001 no
+longer requires support for this command, and in traditional shells
+@samp{set - $my_list} resets the @samp{-v} and @samp{-x} options, which
+makes scripts harder to debug.
+
+Some nonstandard shells do not recognize more than one option
(e.g., @samp{set -e -x} assigns @samp{-x} to the command line). It is
-better to elide these:
+better to combine them:
@example
set -ex