マルチフレーム版へ移行したどー
タイトルの通りマルチフレーム版こと0.2.3系に移行した。その時の産物をぶちまける。
multiple-frames-fix.l
私は他人の作ったスクリプトは可能な限り弄りたくなかったので関数の上書きやラップで対応した。
私の使ってるsite-lispで干渉する物が大体これくらいだった。
厳密にはまだあるけど、使用頻度少ないし起動できるので後回し。
簡単なラップ化
やってる事は滅茶苦茶だけどね
hashで保存されてる*app-menu*を別の所に残して、(get-app-menu)したのを*app-menu*入れて(funcall)して戻ってきたらhashに戻す。
意外とこんなんで行けた( ;谷)
browserex, buf2html, csv-mode, ggrep, multiple-replace, outline-tree2, py-mode, tterm, reference.chm, xtal-mode が該当。
条件付きラップ
si::*fset, guidgen-setup-menuとguidgen-remove-menu を弄った。
si::*fsetとか弄りたくなかったが…まぁ、ifが混じっただけなんで大丈夫でしょう。多分。
katex, guidgen が該当。
関数上書き
save-session-info を弄った。
session-ext が該当。
流用時の注意点
(when (consp (member :multiple-frames *features*)) (require "multiple-frames-fix"))
という感じで出来るだけ早く読み込む。
(ni-autoload)使ってる人はmultiple-frames-fix.lのreference.chmの部分は切り取って(ni-autoload)の後でやる事。
(provide)されてないから再度上書きされちゃいますねん…
browserexとoutline-tree2のメニューが(make-frame)したフレームには出ないのを修正
outline-tree2をメインのフレームしかツリー表示はないが何となく動くように修正
以降は昔作ったものも含めてごっちゃり
siteinit.l
でか過ぎて困るw
app-menu2.l
メニューバーを英語にしたかった。それだけ。
実害がないのでまだ直してないがマルチフレーム版ではうまく動作してない('A
修正した
ctags2.l
メニュー対応
(setq *ctags-read-tags-alist* ; ("Project directory" . "Tags directory") '(("~/work/" . "~/work") ("~/work2/" . "~/work2") ))
.xyzzyとかで上記のような感じに定義すると配下のフォルダでは使用場所を読むようにした。
meadow-func.l
適当にmeadowでキーバインドされてる関数を拾ってみた。
○○-mode-hookで
(make-local-variable 'ed::local-help-variable) (setf ed::local-help-variable *ahk-html-help-file*)
とか
(make-local-variable 'ed::local-help-variable) (setf ed::local-help-variable 'gauche-find-ref-asap))
って感じでchmのパス文字列か関数にするとF1 .でとかやってる。
siteinit.lも並べて見た方が良いかな。
tterm2.l, cygterm.l
http://git.io/MH8rHg
utf-8対応とかメニュー登録とかその辺
tterm.lに修正を加えNAXELに登録した(マルチフレーム版以外でも動作可)
hideif2.l
ctags2同様プロジェクトごとに規定設定を作りたかった
(setq *hide-ifdef-parameter-alist* ; ("Project directory" ("Include directory list") ("Define list") ("Undefine list")) '(("~/work" ("~/work/include" "~/work/include/xxlib") ("WIN32" "_WINDOWS") ("~/work" ("~/work/headers") ))
こんな感じ。
outline-tree-ctags.l
outline-treeに表示されるctags属性をcやfじゃなくclassやfunctionと表記されるようにしたかった。それだけ。
2012.04.03バージョンのlist-kindsが5.7J1から取ってきたからか私のと随分違ったので無理やり修正した
module-definition-mode.l
dll作る時の.def用。色付けしたかっただけ。
colordiff-mode.l
.diffとか.patch用。
便利だがcontext形式だけはregexp-keyword-listで対応できないので辛い。
まぁ、unified形式の方がそもそも好きなんで。