[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[mhc:02183] today と MhcKconv



笠原@九大です。

いつの頃からか today の出力で1日に複数の予定がある時に改行がちゃんとさ
れなくなりました(だいぶ前から気になっていたが放置していた)。

で、あらためて見てみたのですが、メールを普通に取り込んだ予定の場合ヘッ
ダがエンコードされていて、MhcKconv::todisp される前は ret の中味が

02/09 Thu             =?iso-2022-jp?B?GyRCMkRHMyU0JV8bKEI=?=
          18:00       =?iso-2022-jp?B?GyRCIVYySjNYNTs9UT82Nj1ENBsoQg==?=  =?iso-2022-jp?B?GyRCQDBIcSFXPz1AQUJHOWckOxsoQg==?= [=?iso-2022-jp?B?GyRCJTslcyU/ITxEOTw8GyhC?=]

みたいな文字列になっており、これが MhcKconv::todisp(ret) で処理される時
に連続行として処理されて(中の nkf がそうしている模様)、一行目の改行が消
えてしまうようです。

元々別の文字列なわけなので、例えば formatter_normal の所は

--- /usr/local/bin/today        Thu Feb  9 15:47:01 2006
+++ /home/kasahara/bin/today    Thu Feb  9 16:07:56 2006
@@ -120,15 +120,15 @@
     heading = heading .gsub(/./, ' ') if !first
     ret += heading + format("%-11s %s%s\n",
                            sch .time_as_string,
-                           sch .subject,
+                           MhcKconv::todisp(sch .subject),
                            if sch .location and sch .location != ''
-                             ' [' + sch .location + ']'
+                             ' [' + MhcKconv::todisp(sch .location) + ']'
                            else
                              ''
                            end)
     first = false
   }
-  MhcKconv::todisp(ret)
+  ret
 }

みたいにそれぞれ個別に変換するべきじゃないでしょうか? (他にもあちこちに
同様の処理があります)。

# cvs.quickhack.net にアカウント無くなってしまったので commmit できな
# くなってしまいました(たぶん)。
-- 
九州大学 情報基盤センター 研究部
笠原義晃
kasahara@xxxxxxxxxxxxxxxxx