2007年10月20日から2007年10月16日までの日記を表示中
2007年10月20日 (土)
■uim.elのsit-for問題
とりあえず uim-process-input 全体をちゃんと unwind-protect するようにしました.で,その上で sit-for を呼ぶところで inhibit-quit を t に・・・.って,これでうまくいくのはEmacs-22だけか(;´Д`)
Emacs21だと sit-for してる間に C-g が押されて keyboard-quit が実行されると,その間 inhibit-quit していて最後に quit-flag をnilにしたとしても,[7] を拾うことができません.なので,Emacs-21でuim.elをONにしている場合,「C-x」と打ってすぐに「C-g」と打つと『「C-x C-g」が未定義だ』というエラーではなく,『「C-g」で入力がキャンセルされた』という動作をします. uim.el が OFFだと,どっちも 『「C-x C-g」が未定義だ』になるので,これに合わせたいわけですが.
Emacs22のsit-forの実装を見たら,中で read-eventを使ってたので,uim.elでもsit-forを使わずに直接read-eventを呼べば・・・と思ったら入力待ちの秒数指定できるのはEmacs22からでした(´・ω・`)
何か代わりになるものはないかと探したら,with-timeoutなんていうマクロを発見.が,結局 read-event の中で「C-g」を叩くと,[7] を拾えずに中断しちゃいます.どうやったら[7]を拾えるんだー.read-key-sequence-vector では拾えるので,何かあると思うんですが・・・.あ,read-key-sequence-vector 使えばいいんじゃね?
というわけで,FSF Emacsについては,read-key-sequence-vector で拾ったキーを unread-command-events に突っ込むことで sit-for を使うのをやめることに成功しました.(define-key global-map [24 7] 'beginning-of-line) とかやってもちゃんと動きます(笑) ↓こんな感じ
(when (setq key (with-timeout (echo-keystrokes nil) (read-key-sequence-vector nil))) (setq unread-command-events (nconc (listify-key-sequence key) unread-command-events)))
ちなみに,XEmacsでは,「C-x」を叩いてから echo-keystrokes 秒経過する前に「C-g」を叩くと keyboard-quit になるのに,「C-x」を叩いてプロンプトが出てから「C-g」を叩くと「C-x C-g」にバインドされたコマンドを実行しようとします.つまりさっきまでの uim.el と同じ状態.うーんいいのかそれで.というわけでXEmacsの方はsit-forのまま.
[コメントを書く]
2007年10月19日 (金)
■飲み
なんかここんとこ毎週末飲んでますね・・・.今日は憧れのA氏とご一緒させていただきました.色々と貴重(?)なお話を聞けてよかったんですが,つい話に熱中し過ぎて周りを置いていってしまったのは反省.
[コメントを書く]
2007年10月18日 (木)
■uim.el
バグ発見! Emacs22で,「C-x C-g」と打つと,その直後に叩いたキーが「C-x」の続きとして処理されてしまうことがあるみたいです.たとえば,「C-c」を打とうと思って間違えて「C-x」を叩いてしまい,慌てて「C-g」を叩いてキャンセルして,あらためて「C-c」を叩くと,なんと「C-x C-c」として処理されてしまいEmacsが終了してしまうみたいな.
まず出るときと出ないときの違いを探るために何度かやってみたところ,素早く「C-x C-g」と打ったときに発生して,「C-x」を叩いた後,しばらく(エコー領域に「C-x-」と出るまで)待ってから「C-g」を押したときには発生しないことがわかりました.ということは,sit-for があやしい.
試しにsit-for 呼んでるところで inhibit-quit を t にしてやったら問題は出なくなりました.うーん,むしろ uim-process-input の最初から最後まで inhibit-quit を t にしっぱなしでいいような気も.・・・と思ったけどこれだと navi2chの書き込みキャンセル時の y/n の選択で C-g 押しても中断できなくなるなどの不具合があったのでやっぱよくないっすね.いつ keyboard-quit が呼ばれても安全に抜けられるように作るべきだな.何を今更言っているのだという感じですが・・・.
[コメントを書く]
■玄箱
やっぱファンがどうにもうるさいので,ファン交換するまで普段は止めとくことにしました.一応 Webサーバが上がってて,外から微妙にアクセスがあったりもしたんですが,まあ要望が出るまで気にしない方向でw.アレやコレやが完成したら,また稼働して頂きましょう.
[コメントを書く]
2007年10月17日 (水)
■GbE
結局GbEのハブ買いました.BUFFALOのこれ.ACアダプタのあまりのでかさと本体の熱さに辟易してNETGEARのスイッチとお別れして前の前に使ってた100のハブに戻して以来か・・・っていつだそりゃ.別にGbEである必要は特に無かったんですが,PS3が来たことでポートが埋まってしまったので,どうせ買い換えるなら・・・ってな感じで.
あー,耳ついてるんですねこれ.つけることなんか一生なさそうだなぁ.
そういやセットアップしているときに玄箱に衝撃を与えてしまい,ファンが超やかましくなりました.叩いたら多少静かになりましたが,元の状態からするとだいぶうるさい感じです.参るなこりゃ・・・.
で,変なケーブル使ってる割には皆さん1000でリンクしてくださったので,ちょっと測定してみました.めんどくさいので何もパラメータいじらずnetperfで・・・.玄箱とT60の間で測ったらどっちからも140Mbpsくらい出るらしいです.まあ,一応100以上は出るんですなぁ.HTTPでファイル転送してみたらちょうど100Mbpsくらいでした.ちなみに,T60とPS3だと760Mbpsと575Mbps.うーん,やるな.ぬ,PS3->玄箱だと224Mとか出るじゃん.ていうかそもそもnetperfってどうなんだろうな.iperfもそうだけどみんな使ってるから〜で使ってたりするけど・・・.個人的には是非これに流行って頂きたいところですがw
[コメントを書く]
■オトメディウス
今住んでるところの超近くにゲーセンがありまして,アルカナハートとか置いてあったりして,きっと10年前ならうひょひょひょとかいいながら足繁く通っていたことだろうと思うわけですが,残念ながらシューティングについては大往生とピンクスウィーツが置いてあるだけ.大往生の代わりにケツイを,ピンクスウィーツの代わりにムチポを・・・.
で,まあ,まず無いだろうけど一応見とくかということで,オトメディウスが入ってないか久々に見に行ったところ・・・オトメディウスどころかシューティング自体が消えてました(;´Д`) ケツイだムチポだと言ってる場合じゃねーな. まあ,でも,奥の方にクルクルラボが3台もあったんで,きっと月末にアレの一台がオトメディウスに・・・ならないだろうなぁ,きっと.
[コメントを書く]
■トラブル☆ウィッチーズ
というわけでパッチ当てて遊んでみました.バージョンが上がる度に起動時のサークル名読み上げのボイスが変わるのか? 「スタジオシエスタだぜ!」が良かったのぅ.さすがに慣れたか,ユーキでやってドキドキを普通にクリア.最後の残機は2でした.うーむ,デモ見なくてもやっぱ結構長いなこのゲーム・・・.
その後,再び使えるようになったシエスで練習モードでハラハラの4面を・・・.うおー,やっぱいつも死ぬあたりからの敵弾の量が尋常じゃねーな(;´Д`) きっちり覚聖(?)ポイントを考えてさばいていかないと厳しそうね・・・.
[コメントを書く]
■角田さん
2面で地形に当たって死ぬこと多し(´・ω・`).あと後ろからわらわらやってくるほめ子の動きがむかつきますw
[コメントを書く]
■SPAM
最近全然こないわけですが,GMailの迷惑メールフォルダ見たら 15通/h くらいのペースで来てました.がっちりフィルタしてくれるのは大変ありがたいのですが,誤認識されて迷惑メールの方に入っちゃうとあっという間に時空の彼方なのが恐ろしいですね・・・.
[コメントを書く]
2007年10月16日 (火)
■トラブル☆ウィッチーズ
パッチキタ━━━━(゜∀゜)━━━━ッ!! って最近全然遊んでないなぁ.あと人気投票やってたのでシエスに投票してみたw
[コメントを書く]
■crypt
とりあえず初版.まだcryptとしての機能しかなくて,検索もなにもないですし,6個同時に動くとかPPEと協調してなんかするとかそんなことも何もやってません(PPE側のコードはSDKについてたpdfに書いてあるやつそのまんまだし).マッチングどうやろうかなぁ.普通にやると分岐が・・・.
[コメントを書く]
2007年10月20日から2007年10月16日までの日記を表示中
echo -n '\\\\' >/dev/ttyS1
速くしたい場合はこっち echo -n "]]]]" >/dev/ttyS1
って抜き差ししてたら10でリンクするようになってしまった(;´Д`)