Hello 1) i looked at allopt() and while doing that i noticed that it would not give correct results for some options. notable e.g. monitor and zle. Here i get: % builtin set -o . . monitor on . . zle on but then: % builtin set -o | command grep -E '(\|\)' monitor off zle off >From that I guess that Zsh resets some specific options when used in pipes/command substitutions. The attached allopt() works around that. Additionally: This version makes it possible to throw s.th. like '_H-uP' or 'NO__H-uP' at allopt and does not hardcode length of options when printing. KUDOS for that goes to pws: http://zsh.sourceforge.net/Guide/zshguide05.html 2) While working on the above i noticed that 'builtin set -o' and '${options}' are not equal. The later knows some more. See attached missing_options for a list. This makes me wonder if that is intended. Any comments are welcome. kind regards, Thilo