Gaucheのinfo参照について

http://www.soraneko.com/~nel/wiliki.cgi?NelDiary%3A2004-10-20
で紹介されているGaucheのinfoを参照するelispを多少書き直して,エラーを補足するようにしたり初回起動のときの動作がおかしいのとかを改善しました.

(defun gauche-show-info ()
  "Show gauche reference manual. this function assumes gauche-refj.info is located on info path"
  (interactive)
  (let *1
    (with-current-buffer (get-buffer "*gauche-info*")
    (if (or (null key-symbol) (string= key-symbol ""))
	(call-interactively 'Info-index)
	(condition-case err
	    (progn 
	      (Info-index key-symbol)
	      (switch-to-buffer "*gauche-info*"))      
	  (quit (print err)))))))

(add-hook 'scheme-mode-hook
	  '(lambda ()
	     (define-key scheme-mode-map "\C-c\C-d" 'gauche-show-info)))

*1:key-symbol (current-word))) (unless (get-buffer "*gauche-info*") (info "gauche-refj") (rename-buffer "*gauche-info*"