[#42454] 多量の正規表現との効率的なマッチのアイデアを、、 — しん <dezawa@...>

出沢です

22 messages 2006/06/22
[#42455] Re: 多量の正規表現との効率的なマッチのアイデアを、、 — rubikitch <rubikitch@...> 2006/06/22

From: しん <dezawa@aliadne.net>

[#42456] Re: 多量の正規表現との効率的なマッチのアイデアを、、 — しん <dezawa@...> 2006/06/23

出沢です

[#42458] Re: 多量の正規表現との効率的なマッチのアイデアを、、 — rubikitch <rubikitch@...> 2006/06/23

From: しん <dezawa@aliadne.net>

[#42459] Re: 多量の正規表現との効率的なマッチのアイデアを、、 — しん <dezawa@...> 2006/06/23

出沢です

[#42460] Re: 多量の正規表現との効率的なマッチのアイデアを、、 — rubikitch <rubikitch@...> 2006/06/23

From: しん <dezawa@aliadne.net>

[#42461] Re: 多量の正規表現との効率的なマッチのアイデアを、、 — しん <dezawa@...> 2006/06/23

出沢です。

[ruby-list:42439] ans: toplevel ウィジェットにイベントがわたらない?

From: Hiroshi Kimura <Hiroshi.Kimura@...>
Date: 2006-06-21 13:28:14 UTC
List: ruby-list #42439
質問者の木村です。みなさまのおかげで状況が好転しましたので、ご報告しま
す(ちょっと長い)。

問題は debian/sarge で kdm からログインさせている PCで、しかも、
/etc/kde3/kdm/Xsession に、

#! /bin/sh
# Xsession - run as user
export LANG=ja_JP.eucJP
if [ -f ~/.xim ]; then
    . ~/.xim
else
   /usr/bin/scim -d 
   XMODIFIERS=@im=SCIM
   export XMODIFIERS
fi
# invoke global X session script
. /etc/X11/Xsession

を書いて、scim を起動しているときに発生する、以下のスクリプトが期待ど
おりに動かないというものでした。pack の順番(#1 と #2)をひっくりかえす
と動くという現象もあります。

#!/usr/bin/ruby
require 'tk'
top=TkToplevel.new {title 'toplevel'}
top.bind("Any-Key") {|e| p e}
entry=TkEntry.new(top)
button=TkButton.new(top) {
  text 'exit'
  command {exit(0)}
}
entry.pack  #1
button.pack #2
Tk.mainloop


[解決策 0]
$ pkill scim

のあと、問題のスクリプトを実行すると問題なく実行できます。

[解決策 1]
/etc/kde3/kdm/Xsession で scim を起動するのをやめ、~/.xssion.d/10scim
を作り、そこから scim を同様に起動すると、問題のスクリプトの結果は期待
するものになりました。

[解決策 2]
しちさんのアドバイスにしたがい、debian/unstable から Tk8.4.12-1 をイン
ストールすると(アドバイスよりも0.0.1ほどバージョンが低いのですが)、
/etc/kde3/kdm/Xsession から scim を起動する場合でも、問題のスクリプト
は期待どおりに動きました。


以上、debian/sarge に同梱されている ruby/tk と scim、kdm の間でなにか
しら不具合がある感じです。

永井さんから ruby/tk のふたつのバージョンが混在しているのでは、という
質問をいただきましたが、PC は debian/sarge をゼロからインストールした
もので、インストール済みパッケージの ruby はパッケージ間の依存性を解決
するためにある dependency package(日本語ではなんと?)であり、ふたつの
バージョンが混在しているわけではないと思います。ちなみに、

TclTkLib::RELEASE_DATE "2005-04-26"
TkUtil::RELEASE_DATE "2005-04-09"
Tk::RELEASE_DATE "2005-04-09"
TclTkLib:COMPILE_INFO "tcltklib 2005-04-26 :: Ruby1.8.2 (2005-04-11)
with pthread :: Tcl8.4.9(without stub)/Tk8.4.9(without stub) with
tcl_threads"

となってます(Tk8.4.12-1 インストール前)。

矢吹さんから xev で問題の切り分けを、とアドバイスいただきましたが、xev
の使いかたがわかりませんでした。ごめんなさい。

ほんとは根本的なところがわかってないんですが、[解決策 1]か[解決策 2]の
方法で今回は問題を回避しようと思います。
ruby-list のみなさま、ありがとうございました。

九工大、木村広

In This Thread