2005年10月5日から2005年10月1日までの日記を表示中

2005年 10月 5日 (水)

uim.elキー回り

まだ途中ですが,一応どうにかなりました.もうキー処理は最初から自前です.これでキー回りの互換性とかはだいぶすっきりして,融通が効くようになるんじゃないかと期待してるんですが・・・.エコー領域に「ESC-」とか出すのを自前でやるのは正直どうかと思いますけど(^^;.

CDとか

夏にゲットしたCD,聴きたいものに関しては殆どリッピングしてあるんですが,まだタグづけが済んでないのが10タイトルほど・・・.しかもWebからコピペして入力しようと思ったら,既にCDの紹介ページが無くなっているサークルさんとかあったりして(´・ω・`).

で,今日はメロンで大江戸宅急便さんの「月刊ミゾノクチ 10月号」買いました.正直,昨日まで「ミゾグチ ユウマ」と読むんだと思ってましたorz.変なタイトルの曲がありますが(^^;,中は普通の東方アレ・・・ってなんじゃこのシールは(;´Д`).

2005年 10月 4日 (火)

uim.el壊してみた

GNU Emacs21.x,20.x,XEmacsでの場合分けでキーマップ回りが再びカオスになり始めたので,もう一回この辺ばらして組み直し.ようやくEmacsが中で何やってるかなんとなくわかった感じです.さて,どうなることやら・・・.

2005年 10月 3日 (月)

uim.elターミナルで動かしたときの続き

ふと思い付いたんですが,ターミナルでf3とか押したときのキーはどうせ連続して到着するんだから,到着したキーがfunction-key-mapでkeymapを返してくるようだったらそれを覚えておいて,次のキーの処理のときにくっつけて使うとかすりゃいいんじゃないかと・・・.さくっとつけて動かしてみたら超普通に動くし(;´Д`).昨日あんなに悩んだのはなんだったんだーorz.とはいえ,function-key-map引いた結果得られたキーが,help-commandとか2C-commandみたいな,キーマップにバインドされてるキーだったりすると,うまく処理できなかったりすんですが・・・.ぐおー!もういい加減,この辺の本質と関係ないところは終わりにしたいです・・・.

東方紫香花

買いました.CD目当てだったんですが,まんがも読んでみたら大変面白いですなぁ.白詰草,竹の花,月見草の話が特によかったっす.あと,表紙の輝夜ファミリーな絵がヒット.ふーむ,冬は・・・って,い,いかん,これは極めて危険だ・・・.CDの方も,もちろん期待どおりで素晴らしいですね.既に3回くらい聴いちゃいました.あ,何かまりお氏の曲聴くのすごいひさしぶりな気がする・・・(^^;.

2005年 10月 2日 (日)

uim.elターミナルで動かしたとき

fnキーとか矢印キーとか,Emacsを-nwつけて起動したときに使えてなかったことが判明ですよorz.えーと,Emacs的には,この辺のキーは,ターミナル上だとターミナルの種類によって「M-O A」とか「M-[ 1 1 ~」とかの複数ストロークのキーにマップされて到達するようになってて,その辺の定義がfunction-key-mapというマップに設定されるようになってます.

function-key-mapに関しては,キーマップ引いて,外れたらfunction-key-mapを手で引いてフォローってのが多分正しい処理なんですが,見ての通り,「M-O」とか「M-[」という,普通使わないようなプレフィックスキーから始まる複数ストロークのキーバインドなんで,キーマップにあらかじめ「M-[ 1 1 ~」とかのエントリを用意しておかないと,「M-[」が到達した時点でイベント処理関数が呼ばれちゃうため,後に続くキーがなんだかわかりません.続いて到達しているキーを読み出す方法,きっとあると思うんですが,リファレンス見てもよくわかんないんですよね.しょうがないからEmacsのソース読むか・・・(;´Д`).

で,ひとまずこの問題に関しては,キーマップ初期化時にfunction-key-mapを見て,あらかじめファンクションキーとして呼ばれそうなキーバインドを仕掛けておく,というひどい方法で対処します・・・が,やばいっすよこれ.途中でfunction-key-mapに変更あっても追随できないし.function-key-map自体を継承してしまうという方法もあるんですが,そうると今度は,this-command-keys関数で拾えるキー列が「M-[ 1 1 ~ f1」とかになってもう何がどうなってんだか(;´Д`).

花映塚

文とか小町には結構ストレート勝ちできるようになったんですが,9面で3連敗とかして終わっちゃいます.あと,途中の6面あたりの咲夜とか魔理沙が鬼門・・・.

もうすぐ5万

実質飾りのようなトップページについている,同じく飾りのようなアクセスカウンタなんですが,気がつけばもうすぐ5万・・・.こんなとこ検索エンジンでヒットするわけもないことを考えると,トップをブックマークしてる人がいたりするということですか・・・(;´Д`)?

2005年 10月 1日 (土)

10月

もう10月か(;´Д`).

uim.elとuniversal-argument

何か今までバッファがread-onlyでuim-modeがONになってるとカーソル移動等の文字挿入以外のことをしようとしても「Buffer is read-only」とか出てなんもできなかったんで,バッファがread-onlyだったら内部で勝手にuim-modeを切ってたんですが,実はこれ,単にキーにバインドしている関数内で「(interactive "*")」って書いてしまってるからでした(;´Д`).超初期にAnthyの真似してずーっとそのまんまだったのかも,これ・・・.「*」を「P」にしてあっさり解決orz.またひとつ無駄なコードが減った∩( ・ω・)∩ワーイ.

また,バッファのファイルが他のEmacsにロックされてたり,開いた後にファイルの中身が更新されてた場合,普通は文字を挿入しようとすると「ロックを横取りするか」とか色々聞かれるわけですが,「command-execute」で文字挿入をやってると「After 0 kbd macro」なんとかとか出て,上記問い合わせが上書きされて消えちゃって,しかも選択肢が選べないとかいう状況になっちゃうため,やっぱりuim-mode切ってました.が,「command-execute」やめて,「insert-char」使うようにしたらこっちの問題もあっさり解決.あー,今までなんて無駄なことをしていたんだ・・・.

で,ここで色々いじってるうちに,実は一部のuniversal-argumentがちゃんと動いてないことが発覚.「C-u 1 0 X」とか普通のは動くんですが,「C-u 5 C-q C-a」(「^A」を5個挿入)みたいな,最後がself-insert-commandじゃないやつが動きませんでした.いや,0.0.4では動いてたんですが,キーマップにデフォルトルールを追加したことで動かなくなった模様.

試行錯誤すること数時間.悩んだ挙げ句,universal-argumentで数字以外のキーを取り込み始める瞬間(すなわちuniversal-argument-other-keyの直後)にキーマップのデフォルトを一時的に解除して,入力が終わったところでデフォルトを再設定するという方法を思い付き,adviceとpre-command-hookを使って無理矢理付けて無事動くようになりました・・・.が,あまりにも,美しくなさすぎる・・・.

何かもっとスマートな方法は無いのかとソースやリファレンスを眺めている内に,「prefix-arg」変数の存在が目に.これ,今まで読むことしかしてなかったけど,実は値書いたら直後の「command-execute」,値の回数分繰り返してくれるんじゃ・・・ってまさにそれヽ(゜∀゜)ノ!universal-argument等によって前置引数がついてる場合,事前に「prefix-arg」に引数setqして「command-execute」呼ぶだけで万事解決・・・.あああ,もっと早く気づくんだった(;´Д`).というわけで,何か気がつけば問題は一通り解決な予感です.はー.

東方花映塚

今日は霊夢一筋でやってみたんですが,やっぱ全然ダメぽ.しかも,今日は初めて7面で死ぬという屈辱を・・・.下手過ぎです.特に射命丸が苦手なんすよねー,何か.小野塚小町の方がまだ勝てる感じ.多分見るところが悪いんだろうなぁ.

2005年10月5日から2005年10月1日までの日記を表示中

中の人情報

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

カレンダー

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

過去ログ