2006年1月4日の日記を表示中

2006年 1月 4日 (水)

X11R7.0

というわけで,XOrgを6.8.2から7.0に上げてみました.ここを読んでいる人は,知っている人は最初から知ってるでしょうし,知らない人は知る必要も無いとは思うんですが,一応説明しておくと,7.0は同時にリリースされた6.9と中身的にはいっしょなんですが,ビルドの方式が違います.6.9は今までと同じで,でっかいソースアーカイブを展開してhost.def書いたりして,make Wolrdして祈りつつひたすら待つ感じ.imakeとか使っちゃってます.これに対し,7.0ではソースアーカイブが細かく分かれていて,個々をconfigureしてmakeして入れます.

ビルドする場合,7.0の方がめんどくさそうですが(実際めんどくさいですが),余計なもんを入れずに済むし,きちんとビルドできてるかちょっとずつ順を追って確認できるので,きっとクロスビルドするときもこっちの方が何かとうれしいに違いない・・・多分・・・.というわけで,依存を確認しつつT42のXを上げてみたわけなんですねー.

依存を確認といっても,Mesa以外はpkg-configで依存を見るようになってるんで,configure.ac見れば何が必要かすぐにわかります.そこで,ひとまずインストール済みのソフト類が使ってるライブラリを一通りビルド.で,Mesaビルドしたりフォント入れたりして最後にXorgビルドして終わり,という感じです.まー,Mesaで結構はまりましたが(glx関係とか),ふて寝する程やばい問題には直面せず,割りと無事に今まで通りXが上がるようになりました.

で,インストール項目ですが,twmとかxeditとか切ってますが,それでも160個くらいになりました(;´Д`).なかなか熱いですが「あれ?外したはずなのにビルドされてるYo!!」とか「host.defの記述がワカンネ」等の苦しみから解放されるんでこっちの方が断然いいです.コアなの除けばスクリプト回してまとめてできますし.さて,次はこれをザウルスに・・・入れられるのかな?

uim.el

とりあえずsvnアクセス権キタ━━━━(゜∀゜)━━━━ッ!! ひと月ですか.中の人相当多忙なんですなぁ・・・.とりあえずtrunkがcheckoutできました.(゜Д゜)ウマー.ていうか今commitしていいのかな?

そいや,DebianのMLでuim.elに関して質問が出ているようなのですが,自分DebianのMLに入ってないんでどうしよう・・・うはw,とりあえずこのキモい長文にリンク張られとる・・・.この文章は参考にしない方がよいかと・・・.翌日には仕様変わってますし(^^;;;

で,ぐだぐだ実験してみたら,たまたまわかりました.おそらく「(require 'uim)」より後に「(global-set-key "\C-h" 'delete-backward-char)」とか書いているのが直接の原因な気がします.

えーと,uim.elは基本的にあらゆるキー入力を横取りします.が,一部横取りしてしまうとまずい(uim.elがあたかもキー横取りしなかったかのようにコマンドを後から実行できない)コマンドに関しては,最初から横取りしないようにキーマップに穴を空けます.で,そういうコマンドのひとつに「help-command」があります(厳密にはこれコマンドじゃないんですが).

で,問題は穴を空けるところにありまして,実際には穴を空けるのではなく,下地をコピーして穴が空いたように見せかけてます(要するにuim.elのキーマップに,その時点でのglobal-mapとかのキーバインドをコピーしている).だもんで,uim.elのキーマップ初期化時に「help-commandが割り当てられてるキーバインド」を全部拾い出して穴を空けると,その後uim.elのキーマップを直接いじらないかぎりそのuim.elは初期化時の下地を覚えたままになります.

なので,"uim.elが初期化される時点でC-hにhelp-commandがバインドされたままの状態"だと,uim.elが「C-hはhelp-command」と覚えたままの状態となり,その後で「(global-set-key "\C-h" 'delete-backward-char)」とやってもuim.elの覚えているhelp-commandが優先されてしまい・・・というわけなんですねー.

というわけで,どう見てもuim.elの問題です.本当にありがとうございました.・・・ってどうやって直せばいいんだこれー.global-set-keyにadviceですか?やだなぁ(;´Д`).あ・・・下地をコピーせずに単に穴空けりゃいいのか?その場合,プリエディットが無いときにC-hがuimに渡せなくなるけど・・・現状よりはマシか・・・.あーでもこれXEmacsだとできないんだよなー確か.うー.

[コメントを書く]

nosuke 2006/01/05(木) 07:51:45
あ,そういえばこれをどうにかするためにuim-reset-keymapを用意したんだった
ような気も・・・
denson 2006/01/06(金) 07:44:01
Debian-ML 投稿者です。御教示ありがとうございました。が、別信にてご報告したとおり、小生の ~/.emacs では
(global-set-key "\C-h" 'delete-backward-char)

(require 'uim)
よりも先に設定されてるんですよね...
とおりすがり 2006/01/06(金) 18:06:19
Emacsに詳しくありませんけど、Debianならemacsen-startupで
(require 'uim-leim)
されているので、通常では
(require 'uim) ;; /etc/emacs/site-start.d/50uim-el.el

(global-set-key "\C-h" 'delete-backward-char) ;; ~/.emacs
の順番になるんじゃないでしょうか?
nosuke 2006/01/07(土) 00:19:34
どもです.不慣れなDebianですが,apt-getでuim-1.0.0入れてみたところ,
.emacs内で最初にglobal-set-keyでC-hをつぶしても現象が発生することが
確認できました.

とおりすがりさんのおっしゃる通りで,.emacsに何も書かなくても
uim-leim が読み込まれているようです.
Debianスゴス.
そしてそこにuim-elを突っ込んでくださったomoteさんスゴス(*´Д`)

・・・んで,対処法なんですが,ひとまず.emacsに
(uim-reset-keymap)
と書いておくと,その時点でのglobal-mapを元にしてキーマップに
穴を開け直してくれるので,C-hがdelete-backward-charになって
くれます.
#何かかっこわるい方法ですが・・・
ひとまずこちらを試してみていただけますでしょうか.
denson 2006/01/07(土) 07:37:02
御教示ありがとうございました。
おかげさまで C-h が効くようになりました!!
ヤマケン 2006/01/07(土) 12:01:54
new コミッタソ (;´Д`)ハァハァ
uim/とかscm/以下で派手にちゃぶ台ひっくり返したりしない限り大丈夫っす。
ガンガンcommitしちゃってください。
nosuke 2006/01/08(日) 05:32:55
>densonさん
おおよかったよかった
>ヤマケンさん
>>new コミッタソ
響きにワロタw
了解です.ありがとうございます.

CDとか

RESIST (XL Project)
いろんな人が色々アレンジなスクウェアアレンジ.茶太さんが歌っているティナのテーマアレンジに感動し,烈○さんが歌っているとの噂の「戦え!アルカイザー」に笑いました.あと「ブラックジャック号によろしく」もよかったっす.ていうかどの曲もクオリティ高いっす.
東方ミッドナイト MAXIMUM TUNE (Golden City Factory)
東方アレンジ.3曲目のフラワリングナイトのギターがたまらん(*´Д`)ハァハァ.8曲目の東方裁判もいいっすねー.

全然関係ないですが,5/4TAKEPODさんの新譜,完全にノーマークでした.不覚.虎で買わないと・・・.

2006年1月4日の日記を表示中

中の人情報

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

カレンダー

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

過去ログ