As we discussed in Folders and Dynamic folders, mu4e recognizes a number of
When you have a headers-buffer with messages that belong to different contexts (say, a few different accounts), it is desirable for each of them to use the specific folders for their own context - so, for instance, if you trash a message, it needs to go to the trash-folder for the account it belongs to, which is not necessarily the current context.
To make this easy to do, whenever mu4e needs to know the value for such a special
folder for a given message, it tries to determine the appropriate context using
mu4e-context-determine (and policy nil; see Context policies). If it finds a matching context,
it let-binds the
vars for that account, and then determines the value for the
folder. It does not, however, call the
we are not really switching context.
In practice, this means that as long as each of the accounts has a good match-func, all message operations automatically find the appropriate folders.