[Date Prev] [Date Index] [Date Next]
[Thread Prev] [Thread Index] [Thread Next]

[xyzzy:00866] Re: Shell 選択



こんにちは、亀井さん。
木寅です。

>
>こうかな?(^^

早いですー。:-O
さすが、BuildOnDemandです。

>(defvar *LaTeX-keywords* nil)
>
>(defun LaTeX-completion ()
>  (interactive "*")
>  (or *LaTeX-keywords*
>      (maphash
>       #'(lambda (x y)
>    (push x *LaTeX-keywords*))
>       ed::*LaTeX-keyword-hash-table*))
>  (let ((opoint (point)))
>    (when (skip-syntax-spec-backward "w_")
>      (let ((from (1- (point))))
> (when (prog1
>   (looking-back "\\")
> (goto-char opoint))
>   (do-completion from opoint :list *LaTeX-keywords*))))))

これを、利用しようと、
(set-extended-key-translate-table exkey-S-tab #\F20)
(setq ed::*LaTeX-mode-hook*
          #'(lambda () (define-key *LaTeX-mode-map* #\F20
'LaTeX-completion)))

というコードをsiteinit.l
に書いたのですが、いやー、動きませんでしたね。
ちょっとは分かるようになったと思ったつもりが・・・。
*LaTeX-mode-map*が、見つかりませんと言われてしまいました。
lambda表記は、関数を作って、そのポインタを渡すためのものだと理解したのです
が、
上の場合、*LaTeX-mode-map*というのは、LaTeX-modeのスコープでは
評価されないのでしょうか?
(setq ed::*java-mode-hook* #'(lambda () (setq indent-tabs-mode t)))
のindent-tabs-modeは、java-modeのスコープで呼ばれていますよね。
どうも、このあたりの理解できていないようです。
LISP道場入門までにはまだまだ・・・・

]-----------
   木寅 真直  kitora@xxxxxxxxxxxxxxx
    http://tech.millto.net/~kitora/
 To err is programmer,To forgive is user.
LISP道場: 見習い補佐
                             ------------[

Index Home