2006年5月8日から2006年5月4日までの日記を表示中

2006年 5月 8日 (月)

uim.elとかSolarisとか

変換候補が出てる間でもメニューなどが選べてしまう問題ですが,実は今までも選べてました.今までは,メニューを選んだ結果生成されるベクトルをuim側に渡してたけど,uimが無視して終わりだったんですね.で,それが最近の変更で,uimに渡してuimが無視した後,変換候補とかプリエディットが一時的に消えてしまうよういなっていた,と・・・orz.昨日の変更でキー入力の読み取りが見通し良くなったので,メニュー操作によって生成されたベクトルは全部ここでまとめて,最後に捨てるようにして対策完了.

で,それとは全然関係無い話なんですが,trunkのr3397を例によってSolaris8でビルドしてみました.-Werrorによりどれだけ引っかかるのか・・・.とりあえずなんでもかんでも入れてあるわけではないので,configureすると以下のように歯抜けにはなりますが.

Configure Result :

   Anthy           : yes
   Canna           : yes
   Mana            : no
   PRIME           : no
   m17n-lib        : no
   SCIM            : no
   Gtk+            : yes
   Gnome           : no
   Gnome Applet    : no
   Qt              : yes
   Qt immodule     : yes
   FEP             : yes
   Emacs           : yes
   XIM             : yes
   DICT            : no
   EB              : no
   libedit         : no
   Default toolkit : gtk

で,makeしてみた結果,以下のような問題に遭遇.

allocaが未定義
alloca.h(とconfig.h)をincludeして解決
bzeroが未定義
strings.h(とconfig.h)をincludeして解決
「warning: subscript has type `char'」とか出る
isdigitとかisalnumの引数にchar型を取るところで出ている.unsigned charにキャストして解決しちゃっていいのかな?
「warning: cast increases required alignment of target type」とか出る
構造体の形を変えるのが抜本的な対策だと思うんですが,ひとまずslib.cで出まくるので「-Wcast-align」を外して逃げるのがいいのかな・・・と思ったらpref-gtk-custom-widgets.cでも出たぞ!?・・・これはgtk2的問題?
pid_t型の変数をpirntfするところで怒られる
ヘッダを見ると,32bit版では「pid_t」の実体は「long」になっているので,intにキャストしてから出力すればいいのかな.
INT64_MIN,INT64_MAX,UINT8_MAX などが二重定義
uim/uim-stdint.hの中でinttypes.hをincludeしていて,その先で定義されているわけですが,なんで生成元となったファイルをincludeしなおしているのだ・・・?uim/uim-stdint.hをいじってdefineする前にundefして逃げ.
FALSEとTRUEが定義済み
fep/uim-fep.hで.curses.hで定義されてしまっている.fep/uim-fep.hでdefineする前にundefして逃げ.
tputsの3つめの引数の型が違う
fep/escseq.cで.LinuxやFreeBSDだと「int (*putc)(int)」だけどSolarisは「int (*putc)(char)」.IRIXも同じ.configureで検出したりできるのか?ひとまず型を直して逃げ.

うーん,上2つはcommitしちゃってよさそうですが,後はどうなのか・・・.とりあえずメールしよう.

CDとか

ハードコアタノシーさんの「TANO*C COREnival」なんですがThinkPadで聴こうと思ったらまったく認識されず,そこら辺のPCに片っ端から突っ込んでみたんですがやっぱり全然認識されませんorz.プレスの2枚組なのに,2枚ともだめとはこれいかに.ググっても同じような症状の人とか見当たらないなぁ.もしかしてタノシーのCDはPCだと読めないトリックが仕掛けてある?・・・ピッチが浅くてPC用のドライブだと出力が足りなくてギリギリ読み取れないとか?後で普通のプレイヤーに入れてみて,それで駄目なら要連絡か・・・.

2006年 5月 7日 (日)

とびつきひめ

ついに遊びましたよ.うむむ,Easyはさすがに超簡単でしたが,Normalからは普通に難しいですな.うまく遊ぶコツを掴むまでが大変そう・・・.

uim.el

色々調べているうちに,prefix argument (C-u 10 a とかのやつ) とかにも問題が色々あることが判明・・・.うおお,もうだめだ.というわけでuim-key.elを大々的にいじってみました.Emacs-21系の挙動でかなりはまりましたが,どうにか諸問題は解決? あー,bugzillaの方にも書かないと・・・.

そういや,helper_send_im_change_whole_desktop (uim_set_im_switch_request_c で設定したcallback関数から呼ばれるやつ)って消しちゃまずかったんですな.戻さなきゃ・・・orz.なんでブリッジが全体にIMの変更依頼しなきゃならないんだと思ってましたが,やっと仕組みがわかった・・・と思います.

2006年 5月 6日 (土)

uim.el

無駄なやりとりを削るようにしたらだいぶましになったようです.ついでにアプリケーション全体でIMが切り替わったときには全バッファのモードラインとかを更新するようにしてみたり.で,この時点でひとまずcommitしてみました.

あ,candwin-gtk.c の警告が無くなっている! ∩( ・ω・)∩ワーイ.emacs以下は手元ではエラーが出ませんが,4系だと出たりするのかな・・・.不安です.というか,-Werror つきでSolarisとかどうなんでしょう・・・.通るのかな・・・.

ちなみに,いじってる途中で新たな問題をいくつか発見.

Emcas-22系でEscapeまわりが思うように動いてなかった
C-[ がちゃんと拾えないのもこの辺りが関連.うーん,キー回りは触りたくない・・・orz
変換候補が出ている間にも,メニューやツールバーが選べてしまう
おかしい.これはとうの昔に解決したはずなのに・・・そして何が悪いのかわからん・・・orz
同梱のReadmeが古い
古いというか,単体で配布してたときのままですな・・・orz

上2つは結構深刻ですね・・・.

[コメントを書く]

tacash ◆cR08PK3l1o 2006/05/07(日) 10:13:11
トラブル発生→Readme嫁→書いてませんが何か?→(゜Д゜)マズ-→深刻

Emacs-multi-tty

やっとちゃんと入れて使ってみました.最初,起動したら

Warning (initialization): Building Emacs overflowed pure space.
See "(elisp)Building Emacs" for more information.

とかメッセージが出てお前は何を言っているんだ状態でしたが,調べたら src/puresize.h いじればよいっぽい.BASE_PURESIZE 内の定数を 「1230000」から「1440000」に増やして作り直したら警告は出なくなりました.しかしこれは何を見ろといっているのか・・・.

で,使ってみましたが,こりゃ便利な予感.

CDとか

紅白 -FC Game music Arrange- (バウハウス)
ファミコンアレンジ.旧作なんですが,今回初めて存在を知りました.最初のトラック,タイトル見たときから絶対吹く・・・と思ってたらやっぱり吹いたので(・∀・)ニヤリ.選曲はFFシリーズ,ボンバーキング,スペランカー,ジョイメカなどなど,王道な感じです.どのアレンジもよかったですが,中でもI-Chu氏のボンバーキングが(・∀・)イイ! あとドーガとウネ.しかし,ライナーノーツ見ると,皆さん,お若いですね・・・.あと,手作り間溢れるブックレットとイラストが(・∀・)イイ!
SI-STYLE/02 (Sound Iemitsu.)
オリジナル作品.多分トランスとかテクノとか呼ばれるジャンルのものがメインなんだと思います.前作(SI-STYLE/01)では「キンタマひゅひゅん★」に相当がっかりしたわけですが(^^;,今回はどれもよかったです.特に最初の2曲とかいいっすね.あー,でも歌はやっぱ難しさを感じます.この内容で,お値段も500円とお手ごろ価格なのも素晴らしいっす.
IA-STYLE/L+K (Sound Iemitsu.)
葉鍵アレンジ.相変わらず原曲知らないわけですが(^^;.瑠璃子アレンジがいいっす.るーるるるーるるはちょっとびびりましたが(^^;.これまた500円でお手ごろ価格でいいですね.
TYPE-R 2ND -Side CHRONO TRIGGER- (RIGHT STUFF)
クロノトリガーアレンジ.数あるクロノアレンジCDの中でも最高峰な予感(と言ってもクロノオンリーは数枚しか持ってないですけど).とりあえずどの曲も良すぎです.ジャケットも超かっこいいし.クロノトリガー好きなら,メロンかとらで是非購入を(笑).

他にも聴いてるんですが,また後日.にしても今回M3で買ったのは全然外れが無い感じです・・・.

2006年 5月 5日 (金)

valgrind

uim-el-agentをvalgrind噛まして動かしてみました.ううう,重い・・・.ひらがなまでならやや遅いマシンって感じですが,Anthyで変換処理が入ると半端じゃないです(;´Д`).あー,そもそもログの取り方,これであってるのかな・・・.しかも結果見てもよくわからん.

uim

trunkのr3368をビルドしようと思ったら,全然通らず.・・・こ,これが-Werrorの威力ですか!?

とりあえずQtまわりでいくつか怒られて止まります.関数の引数を中で使ってないパターンが多いかな.「int x」が未使用だとか言われたら,「x = x;」とか無意味なことを書くと許してもらえますが,これは対処として間違ってるよなきっと・・・.かと言って下手に引数減らすのもまずいだろうし・・・.

あと,candwin-gtk.c でこけました.こっちは,includeしてるglibのヘッダファイル内で怒られてる感じですが・・・.どうすりゃいいんだ.2.8.6なのが悪い? ここだけMakefileから -Werror を消し去って対処(´・ω・)

In file included from candwin-gtk.c:41:
/usr/local/include/glib-2.0/glib/gprintf.h:39: warning: redundant redeclaration of `g_snprintf' in same scope
/usr/local/include/glib-2.0/glib/gutils.h:164: warning: previous declaration of `g_snprintf'
/usr/local/include/glib-2.0/glib/gprintf.h:52: warning: redundant redeclaration of `g_vsnprintf' in same scope
/usr/local/include/glib-2.0/glib/gutils.h:168: warning: previous declaration of `g_vsnprintf'

うーん,上記はgcc-3.3.6での結果なんですが,3.4系とか4系だともっと緩い?

uim-el-helper-agent

focus_inが連続して大量にきたときには,uim-el-agentにまで落とすのを1個だけにするようにしてみました.いくらかマシになった模様.でもダサい実装であることには変わりなく.うーん,まあいいや,早いとこcommitしてしまおう.

しかし,あれですね.やっぱ,他のウィンドウからEmacsにX的にフォーカスが移っても,何かキー操作しないとEmacs自身が自分にフォーカスが移ったことに気づかないんで,一見フォーカスされてるのに文字入力パッドで入力できない状況が発生して大変不自然な感じです.EmacsがX的にフォーカスされたことに気づく方法がありゃいいんですが.まあ,それでもターミナルで上がってる場合は改善しませんけど.

2006年 5月 4日 (木)

uim-el-helper-agent

一応動くようになりました.が,結構微妙です.

何やったかというと,helper-serverからのメッセージにEmacsを反応させたいがために,helper-server担当用のプロセス(uim-el-helper-agent)をフィルタ関数つきでEmacsから起動するようにして,uim-el-agentはhelper-serverとやりとりしないようにしました(両方がやりとりできちゃうと,uim-el-agentが出したメッセージをuim-helper-el-agentが受信して・・・という問題が発生してしまうので).

これにより,何かメッセージがくると uim-el-helper-agent がそれを拾って加工して標準出力に出して,Emacsが反応してコマンドとしてuim-el-agentに渡す・・・というとっても回りくどい形になりました.さらに,uim-el-agentがメッセージを出す必要がある場合は,Emacsを経由してuim-el-agentとuim-el-helper-agentの間でやりとりしちゃったりします.

おかげで,uim-input-pad-jaみたいな外部からのキー操作以外の方法による文字入力が可能になり,外からIM切替えたときに,Emacsに対して何か操作したりしなくてもモードラインが変更されたりするようにはなりました.めでたい.

ただ,何か,すさまじく遅くなることがあって常用するにはちと問題ありです.普通にEmacsだけ使ってる分には問題ないんですが,focus_inが大量に発生するとEmacsがしばらく無反応になります(;´Д`).あー,やっぱEmacs介してやりとりするとか手抜きなことしない方がいいのかなぁ・・・.さっさとカタつけて終わりにしたい・・・.

PHB

KO/Piのusertranslation.txtの中の,英語のままだったところをいくつか日本語に直してみたんですが,「Meeting」とか「Lunch」とかある中に「PHB」なる単語を発見.なんじゃこりゃ・・・と思って調べてみてたら・・・.うは,これが由来か(笑).いい言葉です.そのまま「PHB」でいいや(^^;.って,ディルバートってアニメ化されてたのね・・・.

SerioWare

Distro FreakなるblogでSerioWareが取り上げられていて,なぜかここのWikiのインストールログにリンクが張られてました(^^; ログは途中で止まってますが,その後大きくいじったところはあんま無いですね.カーネル2.6系にあげたくらいかなぁ.あ,あと最近pptpをちゃんと使えるように自前スクリプト拡張したとかそんくらいか.

よく聞かれる話・・・なわけないんですが,SerioWareの良さってなんでしょうね.手軽にビルドし直せるといってもGentooの方が手軽だろうし,一から入れる度はLFSの方が高いだろうし・・・.設定とかいじるときに,ディストリビューション固有の細かいことを全然覚える必要が無いとか,そういうのかなぁ.あれこれ気をつかうことなく手を突っ込める,みたいな? 使ってて辛いなと思うのは,何か動かして不具合が見つかって,バグレポートするときですかね(^^;

2006年5月8日から2006年5月4日までの日記を表示中

中の人情報

名前:
nosuke (のすけ)
メール:
sasugaanijaのgmail.com
「の」は「@」みたいな
関連リンク:

カレンダー

2006年5月
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

<<先月分

翌月分>>

最新の10件のエントリ

最近の10件のコメント

過去ログ