2005年 7月 31日 (日)

PukiWikiのtrackerの続き

頑張った成果(?)です.自分で必要なところしか作りこんでませんが,一応できてます.ていうか,ここ見る限りだと全然やられてない感じなんですが,ほとんど特殊なことせずに,元からある関数組み合わせるだけでできちゃうってことは,実はもうすぐオフィシャルに対応する予定だったり・・・?あるいは最新版だと対応しているのか?もはやそこらじゅうほじくり返してるので,アップデート不可能ですが・・・.

んー,しかしPukiWiki,柔軟性が高いんだかなんなんだか,正直よくわかりません・・・.他の使ったことあるいくつかのWikiよりはずっといいと思うんですが,ほんと色々なところで自分のやりたいことがパッとできなかったりするのがもどいっす.んー・・・.自分用のちっこいの作る・・・か?

orz

2005年 7月 30日 (土)

PukiWikiのtracker

登録時のインタフェースと同じインタフェースで更新とかできないものかと懲りずにいじってます.ソースが読み難いとかそういうことはないと思うんですが,なぜかPHPは読んでてすごい疲れます・・・.で,まあ,かなり使い方が限定されますが,何とかできそうな感じにはなりました.

とりあえず,これやる場合,trackerのformatはすこぶる邪魔なので使わないことにします.formatって,保持しているデータをそのまま表示しなきゃいけないPukiWikiの制約みたいなところから出てきた機能なんじゃないかと勝手に妄想してるんですが,そんなことせずに,trackerのlistみたいな感じで個別のデータを表示するときのテンプレートも作れるようにしておいて,データを個別に見る場合はそっちを通すとかにした方が良かったんじゃないのかなーと思ったりするわけですが,何言ってるかわからんね.

2005年 7月 29日 (金)

uim-el-0.0.3.1

肉だよ,肉! (;゜∀゜)o彡肉!肉!! ・・・_|‾|○ハァハァ・・・というわけで,昨日見付かったFreeBSDとSolarisでちゃんと動かない問題に対処したuim-el-0.0.3.1を出しました.コメントとかが中途半端に一部分だけ英語に直されてます.

Solaris8でuim-agentが死ぬのは方は,printfのところで手を抜いてNULLチェックしてないのが原因でした.初歩的な・・・.

FreeBSDの方はタイミングの問題かもしれませんが,正直謎です.ひとまずuim-agentの出力バッファにゴミが混ざってエラーになるので,バッファから読み出してごみっぽかったら捨てるようにして動くようにしときました.

というか,ついにtkngさんによってfreedesktop.orgの方のMLで紹介されてしまいました.というかお願いしたんだけど.英語の暫定ページまで作って頂いてしまい,まじ申し訳ないです.ちなみに,このメールがくるわずか数十分前に,DynDNSの更新忘れててgarakuta.homelinux.orgが一瞬引けなくなってました.いやー,危ないところでした(^^;.

ティンクルスタースプライツ

結局こっちもまだ買ってないっす.あー,なんかもうめんどくさいから,虫姫さまとあわせてとりあえず買っとこうかなぁ.

2005年 7月 28日 (木)

swsusp2

T42でサスペンド復帰後しばらくして固まる問題が発生するようになってから,移動時には,渋々電源を切るか,電源入れたまま鞄に突っ込んで移動するかのどっちかだったんですが,やっぱり不便なので,もう一度swsusp2に挑戦してみました.

インストールし直して,丁寧に調べてみた結果,カーネルのswsuspのコンフィギュレーションがちょっと足りなかった(多分),hibernateスクリプトの設定ファイルが古いままだった,新しく入れたhibernateコマンドが/usr/localにインストールされていた(ここにはrootのパスを通していない)といったどうしようもないミスを連発していたことが判明.そりゃー,動かんですな.この辺りなおしたら,無事にハイバネーションできるようになりました.いやー,これでfetchmail上げ忘れを防げます(;´∀`)=3.

mlterm+screen+emacsで下線

Emacsを-nwつけて起動した際に,uim-elのプリエディットにどうにも下線が付かないので不思議に思って調べてみたら,font-lock切った状態で適当なところで (put-text-property 1 2 'face 'underline) とか呼んでもつかないことが判明.なんだuim-elが悪いんじゃないのか.

んじゃ誰が悪いんだろうと順番に調べてみることに.xterm上で起動するとちゃんと下線が出ます(TERM=xterm).mlterm上でも出ますね(TERM=mlterm).が,mlterm上でscreenを上げて,その上でEmacsを上げると下線がでません(TERM=screen).じゃあ,screenが悪いのか?と思ったんですが,xterm上でscreenを上げて,その上でEmacsを上げるとこれが下線が出るんですなぁ.うーん,termcapとかそのへんか?

/etc/termcapにあるscreenのエントリを見ると,どうも大変古い気配です.terminfoの方はよくわかりません.とりあえずscreen-4.0.2付属のをtermcapに書き足し,ticでterminfoの方を追加してやったら直りました.なんだ,それだけか・・・(;´Д`).あ,別に $HOME/.termcap にscreeninfo.srcをコピーして,tic screeninfo.src とかやって TERMINFO_DIRS=$HOME/.terminfo とかやるのもありか.

明日は肉の日

ていうかuim-el-0.0.3,手元のFreeBSD(4.9,5.3)とSolaris8だと全然まともに動かないことが判明・・・.コンパイル通ることしか確認してなかったよ(つД`).というわけで,明日までに直せれば,肉の日に0.0.3.1を出します・・・.

2005年 7月 27日 (水)

何も書くことが無い

というわけでもないんですが,まあ,何か最後に落し穴があって,無駄なことして過ごした一日となってしまいましたみたいな感じです.あー,もうなにやってんだ・・・.まあ,得るものは少しはありましたけど.

2005年 7月 26日 (火)

台風

何か凄いとか噂になってましたが,なんかそうでもなかったっすね・・・.

ThinkPad T42とACPIの話

前に,T42でACPI有効にしてサスペンドさせたらすごい勢いでバッテリが減るという話を書いたような気がするんですが,yazさんの日記によると,何かRadeonが電気食ってるらしいです.なんだそりゃー.

蒼天航路

唯一単行本を買っている蒼天航路ですが,ようやく34巻買いました.ほとんどモーニングで立ち読みしてるんですが,通して二度三度と読み返してやっと「あぁ」となるところがすげー漫画だと思います.

2005年 7月 25日 (月)

CDとか

リフ色マスタースパークの人のCD!ってことで,とらでSound Paradiseさんの「Power Of The Music」買いました.2枚目が全体的に( *´Д`)ハァハァ.中でも遠野黒猫物語良かったっす.

あとメロンでC68カタログ(CD-ROM版)買ったっす.あー,なんつーか,もうすぐなんじゃん(;´Д`).今回は何か近場に拠点を設けて云々とかいう恐ろしい話が出ているんですが・・・.まあ,雨が降らないといいなぁ.

uim.el

MLにuim.elの紹介メールを投げようとして途中まで書いたら寝てしまいました.そしてその後だらだら過ごして今にいたり,まだ書き上がっていませんorz.

2005年 7月 24日 (日)

uim-el-0.0.3

いやー,ほんと言語の切替えではまりました.間にleimが入ってくるとほんと混乱します.加えてUimのAPIに対する誤解とかあって,本当に欲しい値が取れてなかったりとかで,まあ色々アレでした.で,まだWebは更新してませんが,uim-el-0.0.3,ファイル置きました.Web更新が待てない方,こちらをどうぞ.主だった変更点は,昨日ここに書いた通りです.まあ,手元ではまだ何もバグ見付かってないですが,なんか肉の日あたりに0.0.3.1が出たりするんですかねー(;´Д`)ハァハァ.

2005年 7月 23日 (土)

塊魂

牛熊ステージ(・∀・)イイ! いや,まだ超でかいのは取れてないんですけど,この緊張感がいいです.一方,雪だるまステージは,何やればいいのかよくわからなくてあんま面白くないです.頭でっかちの雪だるま作ったらだめとか,そういうことなのかな?なんかすぐ復活するへんなのとかあるし,あのステージだけやっててキモチワルイ.

虫姫さま

いや,まだ買ってません.とりあえず塊魂終わらせて,他も一段落したら買おうかなー.って,その前にまだグラディウスVとエスプガルーダ・・・.ていうか,もうすぐスプライツも出ちゃうんだっけ.うへー.

アレ

で,アレですが,まだっす・・・.決して転がしてばかりいたから進んでいないなんてことはありません(多分・・・).もうバグ取りしかしてないんですが,まだ取りきれていないというか,leimに対応させたせいでim-switcherと組み合わせた時の挙動がえらいことになってヽ(゜∀。)ノって感じ.

一応,0.0.3ではこうなるというのの予告だけしときます.

  • XEmacsに対応
  • Emacs-20.7に対応
  • leimに対応
  • uim-scimに一応対応
  • 中国語や韓国語等の,Emacsがサポートする言語(多そうで実は結構少ない)のエンジンに対応
  • ライセンスを修正BSDライセンスに変更
  • その他細かいところ色々修正

まー,やりたいことはほとんど全部詰め込んだって感じです.多分明日には出せるかなー.出したいなー.出せるかも?出せたりし(ry

2005年 7月 22日 (金)

uim-el-0.0.3

何と待ってる方が結構いらっしゃるようで,大変ありがたいことです.何かgentooのページにも出てるし(実はよくわかってないんですが(^^; ).小町さんどうもです.

で,昨日書いたことの前半は実はUim側の仕様じゃ無かったらしく,trunkで直ってしまいました.asprintfとか使おうかと思ってたんですが,めんどくさいのと,無い環境用に自前関数用意する必要があるから(といってもuim-ximのと同じのを使えばいいとは思いますが)これはまたの機会に(^^;.

一方,昨日書いたことの後半の方は,どうにか実現できました.今まで一部の中国語の文字が表示できなかったりハングルが表示できなかったりしたのは,単にuim-agentとEmacsの間でeuc-jpでやりとりしてたからでした.今はこんな感じ

まだ細かいバグがまだいくつか残ってるんで,そのあたりが取りきれたら今度こそ出します.キー回りが不安・・・.

2005年 7月 21日 (木)

uim-el-0.0.3

uim-el-0.0.3 マダァ〜(・∀・ )っ/凵 ⌒☆チンチン.・・・なんて誰も言ってないとは思いますが,まだです_|‾|○.まー,欲張りすぎてはまってるってだけなんですけど.

とりあえずscim-anthyとか入れてみたら,uim-scimが標準エラー出力じゃなくて標準出力にメッセージをどかどか吐くことが判明し,これだとuim-agentとuim.elの間のメッセージに割り込んじゃって(゜д゜)マズーということがわかったので,ひとまずこれをなんとかしないとだめなのが一つ(まあどうにでもなるとは思いますが).

それから,コードの設定をなんとかしたいのがもう一つ.UimとUTF-8ベースでやりとりできれば何も難しいことないと思うんですが,確かEmacs-21のUTF-8はアジア系の言語をサポートしていなかったと思うんで,日本語ならeuc-jp,韓国語ならeuc-krとか,いちいちコード切替えてEmacsとuim-agentの間でやりとりしないとならんと思うのですよ.

そうなると,uim-agent側ではエンジンの言語が切り替わる度にコンテキストを一旦破棄して作りなおすようにしないと多分ダメ(コンテキストを捨てずにエンコードを変えるAPI用意されてないですよね?)で,Emacs側でもそれに合わせてset-process-coding-systemとか呼んで入力コードをちょくちょく切替えないといけなさそうなわけで・・・って,何か書いてみると,あんま大変そうじゃないかもなぁ.さっきあんなに悩んだのは何だったんだ・・・.

マンモスラーメン

なんか毎日一人ぐらい,「マンモスラーメン」をキーワードにここに来られるようです.ちゃんとした感想がなくてすいません.気に入った方はmixiのコミュに入りましょう.人が少なくてさびしいです(^^;.で,今日も行ってきたわけですよ.やはり少しずつ味が変化している気が.今日は肉の味がなんかいつもより濃い感じがしたようなしなかったような.で,まあ普通にいい具合に完食.食べ終わる頃にカウンターの向こうを見るとすげー器にすげー山が・・・.あ,あれがマンモスラーメン大盛りかっ!ありゃ絶対無理ですわ・・・.

2005年 7月 20日 (水)

塊は魂

帰ったら「塊は魂」(みんな大好き塊魂のサントラ)が届いてました.うむ,すばらしい.つーか転がしてぇ.

uim-el-0.0.3に向けて

昨日のCannaの問題はuim側の問題だったようでtkngさんが対処してくださいました.お蔭でCannaでも微妙な変換がバリバリできることを確認(^^;.まあ,Cannaも設定と育て方と使い方次第でそれなりになると思うんですが,大概の人はそういうところに興味を持たないか気ならないようで・・・.

って,書いてて何の話しかマジで忘れてしまいましたが,SCIMの方は単にエンジンひとつも有効にしてなかったのがまずかっただけでしたorz.ただ,SCIM有効にしてuimビルドするとuim-pref-gtkが終了時にセグるのはまた別の問題みたいで,こっちは相変わらずセグります(uim-pref-qtはちゃんと終了する).んで,uim-scimは動かしてると標準エラー出力にばらばらログを出すんで,今までのuim.elだと動かないということがわかりました.試してみたかいがあったというもの.

で,今は,r913で入れ換えられたprime.scmとか使うとuim.elからprimeがうまく利用できなくなる問題ではまってます.これが片付いたら0.0.3で一段落かなーと思ってんですが・・・.主な症状としては

  • uim_press_keyを呼んでプリエディットが伸びてもcandidate系のコールバックが呼ばれない
  • プリエディットがある状態でuim_press_keyでスペースを渡してもcandidate系のコールバックが呼ばれない
  • プリエディットがある状態でuim_press_keyでreturnを渡すと,コミットされるけど,preedit_clearコールバックが呼ばれない
    • ただし,何度もスペースを押して,一度単語登録状態に移し,そこでC-gを押してキャンセルしてやると,preedit_clearが呼ばれるようになる

という具合なんですが,r913の差し替えでこの症状が出るのがuim.el(のuim-agent)だけだったりします(mltermとかでは超普通に動く).つまり,uim-agentがUimを正しく利用できていない,すなわち自分が悪い・・・.なんですが,mltermのim_uim.cとかuimのgtk-im-uim.cとかのソースと見比べても何がまずいんだかよくわからんのですよ・・・.困ったなぁ.探り方を変えてみるか・・・.

動イター

uim_press_keyの後にuim_release_keyを呼ぶようにしたらちゃんとprimeも動くようになりました∩( ・ω・)∩ワーイ.そういえば前にどっかでそんな話題があったようななかったような・・・.

2005年 7月 19日 (火)

CDとか

UI-70さんの「幻視の夜」が委託始まったそうなんでひさびさにとらのあな行って買ってきました.うほ,たまらん.なんかギターの音が声みたいな.あとメロンよったら棚のはじっこに見慣れぬCDを発見.手に取ってみてみるとバウハウスさんの「Le Cercueil Du Reve」なるクロノトリガーアレンジの模様.誰がやってんのかなーと裏見た瞬間購入決定(;´Д`)ハァハァ.後で調べたら,結構前のCDみたいっすね.というか,バウハウスさんのWeb,IE以外だと見えませんな・・・.サーバがContent-TypeをText/Plainで返してきてるのか・・・.次のIEではきちんと表示されなくなるのかなぁ.

で,話変わりまして,こっちはよみさんからの情報なんですが,夜空的輝煌なるサークル(?)が「蒼月的碎片 〜 Thousands of Sapphire Crescent」なんていうCDを出す模様.中見ると東方とかクロノとか色々入ってて試聴した感じよさげです.が,このCD,なんと「fancy frontier」なる台湾の即売会で頒布なんすよねー(台湾のサークルだから当り前ですが(^^;).去年,さざなみ壊変さんのところにリポートが出ててへーとか日記に書いた気がしますが,あのイベントです.いやー,こりゃ無理だな(^^;.

ちなみに,こちらのサークルの方の日記を見ると,

修羅場持續中………

とかあったりして,やっぱどこも直前は同じなのかという感じです(笑).というか,やっぱUnicodeって偉大だなぁ.向こうの方はどうやって日本語入力してるんでしょう・・・.普通にローマ字変換なのかな?

UimとCannaとSCIM

ちゃんとuim.elから使えるのか実験してみようと思い,Canna-3.7p1とSCIM-1.2.3を入れてみたんですが・・・残念ながらどっちもうまく動いてくれませんでした(´・ω・`).Cannaの方は,uim-pref-gtkでサーバのアドレス指定したり,デフォルトのIMに設定できたりするんですが,いざ各種アプリから使おうとすると選択候補に出てきません.んー,libcannaのビルドに失敗しているのか・・・?

SCIMの方も,scim-m17nとかがuim-pref-gtkから見えるんですが,やっぱりCannaと同じような感じで使用することができないっす.んー.しかも--with-scimでビルドしているとuim-pref-gtkを終了させた時にセグるし・・・.さて,どっから問題を探ればいいんだろうか・・・.

あああ,r977だとprimeがちゃんと動かないし・・・ってmltermからだとちゃんと使えるってことはuim-agentが悪いのか_|‾|○.0.0.3は遠い・・・.

2005年 7月 18日 (月)

uim.elとleim

表さんからleimへの対応のリクエスト(?)がありました.なるほど,マイナーモードだけだと他のIMとの共存が面倒な場合があるのね.内部実装にばかり頭が行っていて,運用面でどうかという発想が欠けてました.というか,機能そのものに対する希望が出たのは初めてな予感.

まあ,そんなわけで,今度はまじめに対応を検討してみました.なるほど,上からどう見えるかが重要だから,内側に関してはleimが活性化したらマイナーモードをONにして,不活性化したらOFFにするだけ十分なのか.問題は,上にどう見せるかですね.

(おそらく)通常,IMをleimに対応させる場合,register-input-methodなる関数を呼んでやる必要があります.この関数,1個目の引数に「japanese-anthy」とか「japanese-prime」みたいなIMの名前を取り,2個目の引数に対応する言語(?)を取って,呼ぶと各言語に対してIMが関連づけられるみたいな感じになります.で,ここで(;´-`).。oO(そういえばUimは何語のIMなんだ?) という問題が.

おんなじUimでも名前を変えて「Japanese」には「japanese-uim」,「Korean」には「korean-uim」,「Chinese-GB」には・・・みたいにやろうか,それともせっかく多言語対応なんだから「multilingual-uim」という名前で各種言語に登録した方がいいのか(後でわかったけど言語間で名前がかぶっちゃいけないのでこれは実は使えない)・・・とかぼやいてたらtkngさんから「japanese-anthy-uimみたいな感じで複数のIMとして登録しては?」との提案が・・・Σ(゜д゜lll)

つまり,同じUimでも,後ろでうごいてるエンジンによって名前を「japanese-anthy-uim」とか「japanese-skk-uim」とか切替えるという感じです.なるほど,その手があったかーという感じであり,何かせっかくUimなのにもったいねーなという感じでもあるのですが,上から見る分にはこれが一番わかりやすそうなので,これで実装してみることにしました.

まあ,そんなんで,ひとまず対応できました.他言語のIMに切替える場合は,(set-language-environment 'Chinese-GB)とやって言語を切替えて,(set-input-method "chinese-gb-py-uim")とかやってUimの下のIMを切替えるみたいな感じになりました.「japanese-anthy-uim」な感じの部分は,いったんuim-agentを呼んで,使えるIMの全リストをごっそり持ってきて,そのうちEmacsが対応している言語についてのみ登録するみたいな具合でやってます.leimの初期化の段階でuim-agentとお話をしなければならないので,結局最初からuim.el本体を読み込む必要があり,全然スマートじゃなかったりします.autoloadとか使ってみたいもんですが・・・.

・・・あ,0.0.3ですが,もうちっとお待ちを・・・.

gaimのYahoo文字化け

最近ついに50人を突破したmixiのgaimコミュニティですが,何かYahooで「〜」が文字化けするという話題が出てたので,実験してみたところ,Win版gaimだと確かにおかしくなることが判明.ソース見て,ちょっとデバッグメッセージ出してみたらすぐ原因わかったんで対処してみました.yazさんパッチの関数呼んでるだけですが・・・.ひとまずWindows版に関しては自分の環境ではこれでよさそうです.Yahooって,回りで使ってる人ほとんどいないからよくわかんないんですよね・・・.

高橋名人

塊魂買いに行ったt○c氏から横浜ヨドバシに高橋名人っぽい人がいるぞとの報告が入ったので,すかさずmixiで見てみると,確かに日記に「横浜のヨドバシにいる」と書いてあります.ていうかイベント会場からも書いているのか(^^;.すごいよ,名人!

2005年 7月 17日 (日)

uim.el on Emacs-20.x

uim.elがEmacs-20.7入れて動くか試してみました.特に何も直したりすることなく,あっさり動いてくれました.あー,font-lock有効にしてると確定のたびに一瞬待たされるようになっちゃうのがちょっとまずいかも.どうしよう・・・.

Mule-2.3-19.34

ついでにuim.elがどこまで古いのでも動くのか試してみたくなりMule-2.3を入れてみることに.が,手元のT42の環境だとビルドの途中でできるバイナリがセグって落ちるため,ビルドが完了しません.何かgamlloc云々でこけてます.試しに別の環境でビルドしてみたところ,そっちでは無事通ったので,そっちで作ったのをコピーして使うことに.

で,早速uim.elをロードしてみたところ,unlessとwhenがないと言われていきなり失敗.そんな,Emacs19だと使えないんですか・・・?ついでにsave-current-bufferもダメだそうで.まあ,この辺はちょっと書き直すだけでどうにかなりそうですが,致命的なことにソースgrepしてみた感じだと,truncate-string-to-widthも使えないっぽいです.これがないと,変換候補のインライン表示できないよー(まあ裏を返せばインライン表示を切っておけばこの関数なくても平気ということなんですけど).

と,まあこのあたりで虚しくなったので調べるのやめにしました.uim.elはEmacs-20.7.1以降/XEmacs-21.4.17以降をサポートということで・・・.しかし,いまだにMule使ってる人がいるってのが恐ろしい話です(知ってる範囲では一人だけど).まあ,そんな人がuim使ってくれるわけねーか(´∀`)'`,、'`,、.

みんな大好き塊魂

やばいっす.変わらぬ面白さでした.午後はずっと転がしてました.右手の親指に水膨れができました.よく考えたら,本腰入れてゲームすんのすごいひさしぶりかも.最近,ワンゲームちょっとやって終わりなパターンが多かったし.

2005年 7月 16日 (土)

Emacsの行の幅

連日Emacsの話題ばかりですいません.誰に謝ってんだかよくわかりませんけど.で,Emacsの1行の幅なんですが,今までずっとwindow-widthの値を盲信してたんですけど,良く考えたらターミナルであげたときとか,21.xより古い奴とかは,一行にwindow-width入らないんでした.window-width文字目までいくと勝手に「\」が補われて折り返しが発生してしまいます.昔は当り前だったわけですが,21.xではXであげた場合,フリンジとかいう領域に折り返しマークが出るため,「\」は挿入されないんですよね.マジですっかり忘れてました.道理でXEmacsで1文字ずれるわけです.

XEmacsのtruncate-string-to-width

XEmacsでuim.elの動きがおかしくなる理由のひとつに,truncate-string-to-widthの動きがGNU Emacsと違うというのがありました.GNU Emacsではちゃんと表示幅通りに刈り込んでくれるため,「あいうえお」を幅4で刈り込むと「あい」になるんですが,XEmacsだと,意味わからんことに律義に文字数分刈り込んでくれて「あいうえ」を返してきます.

何か対策ないのかとググってみたら,Mewの偉い人の発言を発見.

しかし、Emacs と XEmacs で動作が違うようなので、利用をあきらめます

・・・_|‾|○.

さすがに代わりになるものを自前で用意するのはしんどいんで,GNU EmacsのをXEmacsで使いまわせないかと GNU Emacsのソースの中見てみたら,なんか普通にこの関数,international/mule-util.elなるファイルに普通にlispで書いてありました.ためしにその定義の部分をXEmacsで読み込んでみたら・・・お普通にXEmacsでも動くじゃん.

ということは,単にXEmacs側のtruncate-string-to-widthがおかしいってことか?grepして探してみると,何か定義が2箇所あります.一つは,mule-packages/lisp/mule-base/mule-util.elってファイルの中にあって,GNU Emacsのinternational/mule-util.elとまったく同じ.もう一つは,obsolete.elとかいうファイルにあって,substring使ってる超短い記述です.

#### This function is not compatible with FSF in some cases.

とか書いてあるし(;´Д`).で,XEmacs普通に起動して(featurep 'obsolete)とかしてみると,tがかえってくるわけですよ.

というわけで,uim.elの中で(load "mule-util")してmule-util.elの方を読み込むようにしてやったところ,見事問題解決.ああ,やっとXEmacsでまともに動くようになった・・・.しかし,なぜ,obsoleteなんていうのを最初から読み込んでいるのか・・・.互換性のため?sumoの入れ方悪い?もう全然わかりません.

2005年 7月 15日 (金)

leim

XEmacsに飽きたのでleim対応の方をちょこっといじってみました.Anthyのを参考に・・・って,これ,activateした後マイナーモードをONにしているだけなのか?prime-elの方も,どうも同じような雰囲気な気が・・・.うー,「Library of Emacs Input Method」というくらいだから,

  • あらゆるキー入力を渡す関数を,指定したIM用の関数に渡してくれる
  • IM用の関数が入力をスルーしてnilを返したら,本来のキーに割り当てられた処理を普通にEmacsがやってくれる

という感じで,手で書くとすげーめんどくさいような仕組が用意されているに違いない!と期待してたんですが,何かそれとは違うみたいですね・・・.( ´_ゝ`)フーン,translationにconversionねぇ・・・.ひとまず C-\ でuimがactivateするようになりましたが,意味なさそうなので消しちゃいました.誰かleimに対応することのうれしさ・素晴らしさをご存知の方,教えてくださいませ.

XEmacsとuim.el

で,insert-in-front-hooksですが,ソース見返してみたら,使わないでもoverlay-endを見ればどうにかなりそうなことがわかったので,一ヶ所をのぞいて使わないようにしてみました.どうしてもだめなところは,とりあえずXEmacsだとオーバレイずれるけど我慢するってことで後回し.ここ直したら,無事XEmacsでもAnthyで入力できるようになりました.が,インラインで変換候補を表示すると驚く程ずれます.

ずれるところから少しずつ戻しながら追ってみたところ,(format "%-7s" 文字列) みたいにしてるところでずれが始まってることがわかりました.整形する文字列に全角文字が入っている場合,Emacsだと,画面に表示したときの文字幅が半角文字7文字分になるようにスペースを補ってくれるのに対し,XEmacsだと,単に文字数の合計が7文字になるように半角スペースを補ってくれます.なので文字列に「あ」を渡すと,Emacsではスペースが5個補われるのに対し,XEmacsでは半角スペースが6個補われちゃうと.

そんなわけで,整形にformat使うのやめて,string-widthの値から必要なスペースの幅計算してmake-stringでスペース並べるように書き直してやったところ,ようやくずれがなくなりました.ふぅー.しかしまだまだ不安定.この日記も途中までXEmacsで書いてたんですが,途中で変換候補出したら操作不能に陥ったし_|‾|○.とりあえず,残ってるisert-in-front-hooksなんとかしないと・・・.

2005年 7月 14日 (木)

XEmacs

今日はあんまりいじってないんですが,ひとまずmetaキー絡みは大体どうにかなりました.で,まあ,M-spaceが使えるようになったので,早速AnthyをONにして入力してみたところ,一文字うったところで固まっちゃいますorz.・・・げ,(require 'overlay)してもinsert-in-front-hooksが使えないのかぁ・・・.プリエディット中のカーソル位置とか変換候補表示位置とかの追跡に使ってるんですが,これ使うのやめるとなるとかなりしんどそう・・・.

CDとか

別に買ったりしたわけではないんですが,続々と発表されてますなぁ,みたいな話.もう1ヶ月切ったんすね.・・・あ,カタログ予約しなきゃ・・・.

マンモスラーメン

今日は一人で行ってきたっす.だいたい2週に1回ペースになっている・・・.

2005年 7月 13日 (水)

uim.el

tkngさんに色々アドバイス頂きました.しかも致命的ではないですが,表示回りのバグも見付けていただいたし.超助かります.

んで,まあ,現在XEmacs対応に向けて細々といじっております.キー回りがやっぱりはまりで,uim-agentも合わせて結構手を入れることに・・・.まあ,お蔭で今までよりかなりスッキリしましたが,metaキー回りの初期化がまだうまくいきません.うーん,XEmacsのキーマップよくわからん・・・.

2005年 7月 12日 (火)

uim-el-0.0.2.1

uim-el-0.0.2に初歩的なバグ キタ━━━(゜∀゜)━( ゜∀)━(  ゜)━(  )━(  )━(`  )━(A` )━('A`)━━━…・・・_|‾|○.こんな感じです.0.0.2前まで何度もテストしてたパターンのはずなんですが,最後に候補回りいじった後,テストしなかったのかな・・・.と,とにかくこの状態で候補ぱかぱか切替えると下の文章がぶっこわれるので,ここだけ直した0.0.2.1を急遽出しました.はまった方,いらしたらほんとすいませんorz.

XEmacs

とりあえずXEmacs入れてみました.あんまいじらずに動いてくれたらうれしいなーと思って試してみたんですが,やっぱ全然ダメですな(;´Д`).とりあえず,キーマップ回りが大変厳しいのと,this-command-keys-vector関数が無いということがわかりました.対応できるんかこれ?とりあえずバックエンドのめちゃ長いmain関数を整理しないと・・・.

2005年 7月 11日 (月)

添付ファイル

添付ファイルがくっついた大量のメールをさばく必要があったんで,昔perlで書いた,メール本体と添付ファイルを切り分けるスクリプトを引っ張り出してきて処理してみました.うむ,自分で言うのもなんですが,超便利.出力をawk挟んでmewdecodeに渡してハイおしまいって感じです.今ならawkで書きそうなもんですが,当時はperlだったんですなぁ・・・.

2005年 7月 10日 (日)

uim-el-0.0.2

何か最近毎日明け方近くに日記書いている気が・・・.ぐだぐだですが,uim-el-0.0.2をリリースしました.そのまま出すつもりが,ついカッとなってautoconf化してしまったり,途中羽蟻による妨害が入ったりして,数時間遅れました(^^;.外見はあんまり変わりませんが,中は前より結構改善されているかと思います.興味がある方は,どうぞお試し下さい.

そーいや,玄箱のDebian 3.1でも普通に動きました.あんま遅くないし.これならありかと.

Gmail

アカウントゲットした(させられた)んですが,何に使えばいいのやら.csc.ne.jpやめて,Gmailから転送させてみようかなぁ.でもsasugaanijaじゃちょっと恥ずかしくてあちこちに書けないな・・・.

2005年 7月 9日 (土)

体調悪し

今日はヒタヒタさんとかと鮪がどうこうという約束をしていたんですが,体調悪くてキャンセルしちゃいました.すいません.というか,単なる睡眠不足+二日酔いという話も・・・.

uim.el

はやく0.0.2出したいよー.でも,まだ色々とやばい・・・.表示回りは,相当マシになったと思うんですが,キー回りが・・・.

そういえば,uim.elは日本語以外で使えるんだろうかということで,uim-pref-gtkからピンイン足して動かしてみました.Emacs側の設定とかいじらずにやってみた結果,こんな感じになりました.すごい・・・のかな?まあ,すごいとしても,すごいのはEmacsですが.欠けてるところはコードに対応するグリフがないところなんですかね(と,適当に聞いたことある用語を並べてみる).ちなみに,候補を切替えて欠けてるところまでもってくと,現状のuim.elだと固まっちゃいます(´・ω・`).

2005年 7月 8日 (金)

uim.el

毎日この話ですいません.今日はIM切替えるところではまりました.いやー,よくわからんですわ.結局,なんかUimが返してくる情報はあんまりアテにせずに,IM名をコンテキスといっしょに外で管理してやることにして逃げましたが,やっぱよくないよなぁ.

2005年 7月 7日 (木)

PuTTYで256色表示

PuTTYβ0.58ごった煮版って256色表示に対応してるんですね.全然知らなかったっす.というか,そもそも256色表示端末自体初めてな気が.で,まあ,PuTTYからEmacs-22.0.50を-nwつきで起動してM-x list-colors-displayしたら色がいっぱいなわけですよ.超感動です.いつの日かmltermも・・・対応するといいなぁ.

uim.el

昨日あんなこと書いたからか,今日はuimの方に悩まされました(^^;.primeで「まつりきたー」と一気に打ち込んでスペース何回か押してC-c押すとuim-agentがセグって死ぬという問題なんですが,これより短い単語で同じ現象が再現できるパターンが見つからなかったため,ずっとこれでテストすることに・・・(というか何でこんな普段打たないような文章打ったのか超謎です(;´Д`) ).で,原因ですが,これはuim_get_candidateを変なところで何度も呼び出してたのがまずかったようです.Anthyだと問題ないみたいなんですが,primeでぱかぱか変換候補が切り替わるところで問題がでるみたいな.まだまだ理解が足りないですわ・・・.

みんな大好き塊魂

なんか家にありました.うおー,やってみてー.

2005年 7月 6日 (水)

uim.el

何かほんと色々な方が取り上げてくださって驚いてます.で,昨日の段階では,なんか概ね問題解決じゃん?とか思ってたんですが,今日使ってみて,まだまだ考えが足りてないことがわかりましたorz.ほんとEmacsはややこしいっす・・・.Emacs回りの実装とUim回りの実装で,悩んだ時間を比べると9:1くらいの比率なんじゃないかという気が.いや,もっとEmacsの方が長いかも・・・.

xmms-scrobblerのパッチ

ちょっと前に書いたxmms-scrobblerのマルチバイトパッチですが,何とキリル文字な言語のユーザの方が使ってくださってるみたいです.ロシアの方なんでしょうか.「cp1251」でタグを付けたりしてるようです.ちょっと感激です.

2005年 7月 5日 (火)

uim.el

2chにURL出たーとか思ってたらdaiさんヤマケンさん足永さんと,すごいところからリンクが(;´Д`)ハァハァハァハァ.使ってみてくださった皆様,本当にありがとうございます.現在,インライン候補表示のズレ問題とfont-lockが一気に解決できそうな雰囲気です.昨日苦しんだのはなんだったんだって感じですが.そこら辺が済んだら0.0.2かなぁ・・・.

2005年 7月 4日 (月)

WindowMaker-0.92.0

ひさびさに入れてみました.あいかわらず初期状態では文字化けがひどいですが,WPrefsから設定して,更にGNUstep/Defaults/WMGLOBALを手で書き直して,その上でWindowMaker上げ直すときれいに直ってくれました.

で,ちょっと動かしてみたところ・・・.軽い!こんなに軽かったのか,WindowMakerは・・・.というわけで,しばらくWindowMakerに戻ってみることにします.あー,でもタイトルバーが太いのがちょっとなぁ(^^;.

uim.el

全然本質的ではないんですが,あいかわらずタブとvertical-motionに泣かされてます.もうだめぽ.

2005年 7月 3日 (日)

AIRRADE -AIR-

初めて自分のPCで動かしてみたんですが,スクロールがぎこちないのはなんでかなー,んー? スペック足りないとは思えんのですが,何が悪いんじゃろう・・・.

Gunroar-0.11

Gunroarが0.11に上がってました.まー,きっとT42のXじゃ描画回りおかしいんだろうなーと思いつつビルドして動かしてみたところ,何と今回は普通に描画されるようになっているじゃないですか!やべー,すげー,パッドつないで遊びたい.

uim-el-0.0.1

とりあえず,昨日いじった結果,変換候補をバッファ上にインライン表示(?)する処理が使いものにならないほど異常に重くなってしまったんですが,ソース見直してみたら,単に変換候補にかぶせたオーバレイを消すのを忘れていて,オーバレイを管理するリストがひたすらでかくなりつづけていたからでしたorz.この部分直したら死ぬ程遅くなることは無くなりました(それでも軽くないけど).

で,その後,ちまちまバグっぽいのを直している内に,今度はタブ混じりの行で変換候補の表示がずれるバグが・・・.ううう,タブがtab-width未満の幅で表示されてるとずれる・・・.何とかタブ対策したstring-widthを用意してみたものの,今度はtruncate-string-to-widthの方でずれるし.truncate-string-to-widthもタブ対策版を作ったんですが,行の途中からというのが難しく,結局面倒になってタブを一時的に同じ表示幅の半角スペースに置き換えることにして誤魔化し.うー(;´Д`).

そんなわけで,誰も待ってないよという声が聞こえそうですが,いつまでも手元でいじってるのもなんなんで,ソース公開します.こちらからどうぞ.と言っても,今の時点ではconfigureもなく,uim-agentが落ちた時はEmacs上げ直し必須だったりと極めて勇者専用ですが・・・.しかもElispの方はコメント山盛りだし.まーそこら辺は追ってやってきます.

2005年 7月 2日 (土)

uim.el

モードにあわせて対応する括弧を点滅させるのはすぐできました.で,次に「ソースを表に出す前に汚いところ直さなきゃー」と変換候補表示部分をもうちっと汎用的に使えそうな感じに書き直してみたんですが,書き直してエンバグしてデバッグして新たに不具合が見付かってそれを直したら一日が終わってしまいましたorz.しかもバグ直していく内にやっぱり汎用的に使えなさそうな感じになっちゃったし遅くなった気も・・・_|‾|○.

2005年 7月 1日 (金)

uim.el

そういや肉の日までに形にできなかったんだなぁと今頃になって気付いたわけですが.何とか今週末にはソースだけでも出せたらいいなぁ,なんて思ってます.とりあえず,現状,Emacs-21.3でのそのそ動いてるわけなんですが,やりたかったことに対する既知の問題点は以下の感じかなぁ(以下メモ書きからそのままなんで何かアレですが・・・).

  • どうすればよいのか不明・未調査
    • 変換候補が既存のテキストにかぶった際に,既存のテキストの色が変わってしまったりする
      • 各種モードの色づけを一時的に止めればいいのかもしれないが方法が不明
      • 候補再描画するたびに再計算するので遅くなっちゃうし
    • UTF-8関連(どうすりゃいいんだか)
    • UIMが有効になってると,括弧を閉じた時に対応する開き括弧に反応してくれない(そういうもの?まだ他で実験してない)
  • やったはいいけど結構微妙
    • 書き込みできないバッファへの対処(最初は書き込めたのにある時点でリードオンリーになってしまう場合)
    • UIMが処理せずそのまま返してきたキーの扱いが場当たり的
    • プロセスの出力はフィルタで受け取った方がよい?
  • 後回し
    • ミニバッファでの変換候補の表示
    • 現在のモードをカーソル付近に表示する
    • よくわかんないけどleimに対応する(現状マイナーモードのみ)
    • XEmacs,Emacs20くらいには対応したい(あわよくばMuleも?需要あんのか?)
  • その他
    • とにかくテスト不足
      • バグいっぱいの予感(特にバッファが消えるところとか,バッファの切り替わりとか)
      • エラー対策が不十分(C-g対策・uim-agentが死んだ時対策が全然無い)
      • 日本語以外のエンジンを使ったことがないのでどうなるか謎
    • 非力なマシンだときっと遅い

・・・( ゜Д゜).まー,とりあえず機能追加はせずに,ひとまずソース整理してバグつぶすか・・・.ぐゎにもソース渡したんで,きっとバグを色々見付けてくれることでしょう.

マンモスラーメン

443氏とよみさんと行ってきました.二度目なわけですが,今日は前回よりも体調がよかったのと,ニンニクを入れてもらったのが効を奏してか,大変おいしくいただけました.時間帯が変だったからなのかもしれませんが,何かお店,すいててちょっと心配(^^;.

中の人情報

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

カレンダー

2005年7月
          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件のコメント

過去ログ