[Mew-dist 05994] Re: several uuencoded file in a e-mail

Kurosawa Terunobu kurosawa at example.com
1998年 8月 19日 (水) 20:55:48 JST


黒沢@メインゲートです。

Tue, 18 Aug 1998 15:01:17 +0900 頃に
p-katohさん<p-katoh at example.com>が書いた
「[Mew-dist 05959] Re: several uuencoded file in a e-mail」によると...
p-katoh> mew-vars.el:(defvar mew-prog-uumerge     "uumerge")
p-katoh> とあるので、uumerge の仕様だと思います。

uumerge の中を覗いてみたら確かにそうですね。

p-katoh> 試してませんが、(setq mew-prog-uumerge "uudx") とかで上手く
p-katoh> いきませんかね?
p-katoh> # もちろん uudx がインストオルされていれば、の話ですが。

悲しい事に Solaris2 で動かせる uudx の存在を知らないので、試す事が出来ま
せんでした。

どうも納得がいかなかったので、uumerge を改造してみようといろいろやってみ
たのですが、なんか最終的には似ても似つかないうえに、なんか危険そうなのが
出来上がってしまいました。うーん、誰かもっとましなものをお願い致します。

         =-=-=-=-=-=-=-=-=-=-=-=-=
 ))  )) )  くろさわ@めいんげーと
C  o  o    kurosawa at example.com
   " ◇")  

-------------- next part --------------
#!/usr/local/bin/perl

### pumerge --- poor merging split uu files for Mew

require 'getopt.pl';
&Getopt('d:');

if ($opt_d) {
	chdir($opt_d) || die "$opt_d: $!\n";
}

while (<>) {
    if (/^begin/.../^end/){
	if(($mode,$file) = /^begin\s*(\d*)\s*(\S*)/){
	    print "$file: ";
	    open(OUT,"> $file") if $file ne "";
	}
	elsif (/^end/){
	    close(OUT);
	    chmod oct($mode), $file;
	    print "\n";
	}
	else{
	    s/[a-z]+$//; # handle stupid trailing lowercase letters
	    next if /[a-z]/;
	    next unless int((((ord() - 32) & 077) + 2) / 3) == int(length() / 4);
	    print OUT unpack("u", $_);
#	    print "#";
	    next;
	}
    }
}
exit 0;


Mew-dist メーリングリストの案内