- tail = s + 1;
- break;
-
- /* elm compatibility, @ expands alias to user name */
-
- case '@':
- if ((alias = alias_lookup(s + 1))) {
- HEADER h;
- header_init(&h);
- h.env = envelope_new();
- h.env->from = h.env->to = (address_t *)alias;
- mutt_default_save(p, sizeof (p), &h);
- h.env->from = h.env->to = NULL;
- header_wipe(&h);
-
- if (*p != '@') {
- /* recurse iff the result do not starts with '@' */
- m_strcpy(s, slen, p);
- continue;
- }
- }
- break;
+ case '=':
+ case '+':
+ /* if folder = imap[s]://host/: don't append slash */
+ if (imap_is_magic(NONULL(Maildir), NULL) == M_IMAP
+ && Maildir[m_strlen(Maildir) - 1] == '/') {
+ m_strcpy(p, sizeof(p), Maildir);
+ } else {
+ snprintf(p, sizeof(p), "%s/", NONULL(Maildir));
+ }