listでhelpとか
モード間をまたぐヘルプとかの話が2chで出てて、listに入れてモードを跨いだヘルプを見たいな話で、それは便利かもなぁと思ったので試してみるとか。で、とりあえずグローバルなキーマップに設定すれば個別のモードで設定したキーとかぶっても潰さないかなぁとかで。そういうのを試してみることに。さっきのJavascriptの奴と組み合わせれば良いかと。
で、前に書いてた
javascriptのreferenceをF1でみたい - himadatenodeの日記
http://d.hatena.ne.jp/himadatanode/20071226/p1
コレを改造。register-history-variableは登録されてしまうとアンインストールが面倒なので2chの話のように、listとかで何とかするのが賢いかなぁとかで。そうすることに。前のをアンインストールするには
(unregister-history-variable '*javascript-help-path*)
これをscratchで一回実行。で、変えたのはこっち。
■設定は
*doraemon*にモード名とパスを入れるパスは"c:/xyzzy/etc/jsref.chm"見たいなのでも"C:\\xyzzy\\etc\\jsref.chm"見たいなのでもどちらでもよさげ
(defvar *doraemon* '(("jscript-mode" . "C:\\xyzzy\\etc\\jsref.chm"))) (defun help-me-doraemon() "helpを表示" (interactive) (let ((*html-help-path* (cdr (assoc buffer-mode *doraemon* :test #'string-equal)))) (if *html-help-path* (show-html-help) (message-box "このモードのヘルプが設定されていません\n*doraemon*を設定してください")) )) (global-set-key #\F1 'help-me-doraemon)
ハッシュでやった方がいいのかもしれないというか、xyzzy的にどっちが速いとかどっちが好ましいとかよく分からない。listだからlispじゃlist使うべきなのか、それとも兎に角速いのを使うべきなのかもよく分からない。とりあえず一応動いたから良い事にする。