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使うべきなのか、それとも兎に角速いのを使うべきなのかもよく分からない。とりあえず一応動いたから良い事にする。