Using the shell tool, I've found that after switching to certain modes that change separator values, the original separator settings are not restored when I switch back to the previous mode, or only one of them is. This has the effect that after switching back to the original mode it does not appear to work correctly. The problem is most evident when switching to mode ascii and back out, when both separators stay set, but it occurs for others such as switching to csv and back out, as the row separator stays set. I think someone should revisit whether some modes really expect or imply a separator value (or both) and can't work well without it (them), and check what happens when the user has either switched to another mode and come back, or even set a separator or both manually and come back, and check this for all the combinations of -to- and -from-, and make sure the settings he ends up with are always going to be 'clean' and workable. I think possibly this is not something we're normally exposed to, as we normally start with a clean shell or use only one switch in a session, but when we use multiple switches things can get messy. Otherwise the onus is on the user who wants to program defensively to issue a separator command in a script always after issuing a mode switch command, to make sure they're right.