Subject: mh no From line

From: [email-masked] (Takahiro Yamamoto2)
Date: 11 Nov 93 06:12:01 GMT

NTTソフト研の山本隆広です。

こちらで、Solaris2.1上に mh をインストールして、
mh-eからメールを送ったりしていますが、
このとき、 /etc/passwdの内容が、

takahiro:x:45:30:& Yamamoto,,,:/home/takahiro:/bin/csh

になっていると、 メールの From:の行が

From: & Yamamoto<...>

となってしまい、"&" が アカウント名で展開されない
まま送られてしまいます。 emacs の mail機能から
送るときちんと展開されるのですが、mh-e のときも、
"&"を展開させる方法はないでしょうか？

--
---     Takahiro YAMAMOTO                               ---
---        NTT Software Laboratories                    ---
---           TEL (03)3740-6058  FAX (03)3740-5524      ---
---              <[email-masked]>    (^_^)      ---

---

From: [email-masked] (Takahiro Yamamoto)
Date: 19 Nov 93 10:04:40 GMT

NTTの山本隆広です。

In article <[email-masked]> [email-masked] (Hisashi MINAMINO) writes:

 ]] >>>>> "takahiro" == Takahiro Yamamoto2 <[email-masked]> writes:
 ]] takahiro> 
 ]] takahiro> になっていると、 メールの From:の行が
 ]] takahiro> 
 ]] takahiro> From: & Yamamoto<...>
 ]] takahiro> 
 ]] takahiro> となってしまい、"&" が アカウント名で展開されない
 ]] 	    :
 ]] 
 ]] .mh_profile で、
 ]] 	    Signature: Hisashi MINAMINO
 ]] では、如何でしょうか？
ありがとうございます。
しかし、これだと、ユーザがいちいち .mh_profileで定義しないといけないので、
結局、以下のpatchを mhの zotnet/mts/mts.c にあてて対処しました。

-------------
*** mts.c	Mon Nov 15 10:04:46 1993
--- mts.c.93.Nov.12	Fri Jul 30 17:34:32 1993
***************
*** 515,547 ****
      if (MMailids == 0 || *np == '¥0')
  	(void) strcpy (username, pw -> pw_name);
  
-     /* Added by [email-masked] 93.Nov.12 For GCOS field */
-     {
-       if (index(fullname, '&')) {
- 	char tmp[BUFSIZ];
- 	int i,j,k;
- 	strcpy (tmp,fullname);
- 	for (i = 0,k = 0;
- 	     ((k < BUFSIZ - strlen(username)) && (tmp[i] != '¥0'));i++,k++) {
- 	  if (tmp[i] == '&') {
- 	    if (username[0] <= 'z' && username[0] >= 'a') {
- 	      fullname[k] = username[0] + ('A' - 'a');
- 	    } else {
- 	      fullname[k] = username[0];
- 	    }
- 	    i++;k++;
- 	    for (j = 1;username[j] != '¥0';j++,k++) {
- 	      fullname[k] = username[j];
- 	    }
- 	    k--;i--;
- 	  } else {
- 	    fullname[k] = tmp[i];
- 	  }
- 	}
- 	fullname[k] = '¥0';
-       }
-     }
-     
      if ((cp = getenv ("SIGNATURE")) && *cp)
  	(void) strcpy (fullname, cp);
      if (index(fullname, '.')) {		/*  quote any .'s */
--- 515,520 ----

--