[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[mhc:00569] Re: mhc-snap20000427.tar.gz
乃村です。
On Fri, 28 Apr 2000 13:56:11 +0900,
Hideyuki SHIRAI (白井秀行) <shirai@xxxxxxxxxxxxxxxxxxx> said:
> もしかして、(確か)Windows って open していると mv 出来ないって
> 奴かもしれない。
>
> # ためそうと思ったんですが、close の書き方がわからない奴 ^^;
なるほど。それなら心当りあります。ruby って FD が足りなくなった
ら unref になったやつを自動的に close してくれると聞いていたので、
そのまま放ってる箇所が何箇所かありそうです。
# ちなみに file の close は file .close で閉じられます。
> 私、UNIX も Win も tcsh なんです :-) jis のままでもいいから
> stdout がいいな。
失礼。|& ですしたか。(もういいって?) to_sjis するようにします。
close と漢字コードの修正パッチを後ろに付けます。
> 完全 local な network (例えば社内 only) で使う人もいるであろうこ
> とを考えると、暗号化しないで sync する手段があってもかまわないと
> 思います。(暗号化したい人は暗号化する、ということで)
ふむ。無法地帯の大学で暮らしているので、認識不足でした。
これをやるとすれば、通信の手段は何がいいのでしょう。telnet なら、
ruby の TCPsocket クラス使ってやれば、外部コマンドは不要になるか
もしれません。elisp だと open-network-stream で何とかなるかしら。
# expect みたいなことやってくれるのがあれば楽なのですが。。
--
nom
Index: mhc-sync
===================================================================
RCS file: /u/nom/prj/cvsroot/mhc/mhc-sync,v
retrieving revision 1.5
retrieving revision 1.7
diff -u -r1.5 -r1.7
--- mhc-sync 2000/04/26 11:47:03 1.5
+++ mhc-sync 2000/04/28 06:27:43 1.7
@@ -3,6 +3,17 @@
STDOUT .sync = true
STDIN .sync = true
+require 'kconv'
+
+case $KCODE
+when 'JIS'
+ $KANJI_CODE = Kconv::JIS
+when 'SJIS'
+ $KANJI_CODE = Kconv::SJIS
+else
+ $KANJI_CODE = Kconv::EUC
+end
+
$LOG_FILE = ENV["HOME"] + '/Mail/schedule/.mhc-db-log'
$SSH = 'ssh'
$COMMAND = 'mhc-sync'
@@ -34,11 +45,11 @@
class MhcScheduleItem
def info
- return format("%s (first occurred %s)", subject, occur_min .to_s1('-'))
+ ret = format("%s (first occurred %s)", subject, occur_min .to_s1('-'))
+ return Kconv::kconv(ret, $KANJI_CODE, true)
end
end
-
class MhcScheduleDB
def modify_sch(sch)
@@ -259,9 +270,11 @@
inout .print $DELIMITOR, "\n"
when '-D' # delete local
- STDERR .print "---------------------------------------------------\n"
- STDERR .print "Delete local #{l_sch .info}\n"
- db .del_sch(l_sch) if !$DRY_RUN
+ if l_sch
+ STDERR .print "---------------------------------------------------\n"
+ STDERR .print "Delete local #{l_sch .info}\n"
+ db .del_sch(l_sch) if !$DRY_RUN
+ end
when '-M' # transfer remote to local
STDERR .print "---------------------------------------------------\n"
Index: ruby-ext/lib/mhc-schedule.rb
===================================================================
RCS file: /u/nom/prj/cvsroot/mhc/ruby-ext/lib/mhc-schedule.rb,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- mhc-schedule.rb 2000/04/26 10:47:51 1.17
+++ mhc-schedule.rb 2000/04/28 06:19:40 1.18
@@ -3,7 +3,7 @@
## Author: Yoshinari Nomura <nom@xxxxxxx>
##
## Created: 1999/07/16
-## Revised: $Date: 2000/04/26 10:47:51 $
+## Revised: $Date: 2000/04/28 06:19:40 $
##
################################################################
@@ -825,7 +825,9 @@
## 3. set @description
clear
- all_headers = File .open(path, "r") .gets("\n\n")
+ file = File .open(path, "r")
+ all_headers = file .gets("\n\n")
+ file .close
@non_xsc_header, xsc_header_hash = select_headers(all_headers)
parse_xsc_headers(xsc_header_hash)
@path = path
@@ -1233,6 +1235,7 @@
header += line
end
end
+ file .close
if header != ''
regist(slot, MhcScheduleItem .new(header, false))
end