[Mew-dist 1266] Re: mew virtual mode

Yoshiaki Kasahara kasahara at example.com
1997年 7月 18日 (金) 12:01:44 JST


笠原@九大です。imgrep 係。

On Fri, 18 Jul 1997 03:13:01 +0900,
	Akihiro Motoki <motoki at example.com> said:

> (2) virtual-mode に入るときの検索パターンですが、
>     例えば、自分が出したメール(From: motoki at example.com)を検索するとき、
>     from=motoki と指定するとマッチするのですが、
>     from=motoki at example.com などと指定するとうまくいかず、motoki\@hal としないと
>     ダメです。 @ マークが Perl の予約語(って言うのかな?)になっているためと
>     思いますが、バックスラッシュをつけないといけないのは不便だと思います。

うう、まったく意識してませんでした。

えーと、quote するのは @ だけでいいんですっけ。$ とかも?
-- 
九州大学大型計算機センター 総合情報伝達システム運用センター 
笠原義晃                                                   & ~ __-^-_/~ 
kasahara at example.com                                  ~   \___/

-------------- next part --------------
--- imgrep.in.o	Fri Jul 18 11:36:40 1997
+++ imgrep.in	Fri Jul 18 11:49:30 1997
@@ -213,7 +213,7 @@
 		 );
 
     my $EXPR_SPECIAL = '\&\&?|\|\|?|\!|\(|\)';
-
+    my $CHAR_SPECIAL = '\@';		# need to be quoted
     my $SP_FLAG = "\037";		# temporary delimiter
 
     # $field is derived from $1, $pattern is derived from $2
@@ -239,6 +239,7 @@
 
     $expr = "" unless defined($expr);
     $expr =~ s/([^\\]|^)($EXPR_SPECIAL)/$1$SP_FLAG$2$SP_FLAG/g;
+    $expr =~ s/($CHAR_SPECIAL)/\\$1/g;
 
     im_warn("substituted to $expr\n") if $debug;
 


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