multiple mail boxes (Lou Kamenov)
diff --git a/src/cmd/acme/mail/dat.h b/src/cmd/acme/mail/dat.h
index 4b5c23c..9a6be95 100644
--- a/src/cmd/acme/mail/dat.h
+++ b/src/cmd/acme/mail/dat.h
@@ -170,6 +170,7 @@
 extern	char		*mailboxdir;
 extern	char		*mboxname;
 extern	char		*user;
+extern	char		*srvname;
 extern	char		deleted[];
 extern	int		wctlfd;
 extern	int		shortmenu;
diff --git a/src/cmd/acme/mail/mail.c b/src/cmd/acme/mail/mail.c
index 988c53c..326d7bc 100644
--- a/src/cmd/acme/mail/mail.c
+++ b/src/cmd/acme/mail/mail.c
@@ -42,7 +42,7 @@
 void
 usage(void)
 {
-	fprint(2, "usage: Mail [-sS] [-o outgoing] [mailboxname [directoryname]]\n");
+	fprint(2, "usage: Mail [-sS] [-n srvname] [-o outgoing] [mailboxname [directoryname]]\n");
 	threadexitsall("usage");
 }
 
@@ -88,6 +88,7 @@
 	plumbshowmailfd = plumbopenfid("showmail", OREAD|OCEXEC);
 
 	shortmenu = 0;
+	srvname = "mail";
 	ARGBEGIN{
 	case 's':
 		shortmenu = 1;
@@ -101,6 +102,9 @@
 	case 'm':
 		smprint(maildir, "%s/", EARGF(usage()));
 		break;
+	case 'n':
+		srvname = EARGF(usage());
+		break;
 	default:
 		usage();
 	}ARGEND
@@ -108,9 +112,9 @@
 	acmefs = nsmount("acme",nil);
 	if(acmefs == nil)
 		error("cannot mount acme: %r");
-	mailfs = nsmount("mail", nil);
+	mailfs = nsmount(srvname, nil);
 	if(mailfs == nil)
-		error("cannot mount mail: %r");
+		error("cannot mount %s: %r", srvname);
 
 	name = "mbox";
 
diff --git a/src/cmd/acme/mail/mesg.c b/src/cmd/acme/mail/mesg.c
index 8e8443b..304714c 100644
--- a/src/cmd/acme/mail/mesg.c
+++ b/src/cmd/acme/mail/mesg.c
@@ -1046,8 +1046,8 @@
 			dest = estrdup(m->filename);
 		if(m->filename[0] != '/')
 			dest = egrow(estrdup(home), "/", dest);
-		fsprint(w->body, "\t9p read mail/%s/%sbody > %s\n",
-			mboxname, name, dest);
+		fsprint(w->body, "\t9p read %s/%s/%sbody > %s\n",
+			srvname, mboxname, name, dest);
 		free(dest);
 	}
 }