() "Lennart Borgman (gmail)" <lennart.borgman@gmail.com>
() Wed, 09 Jul 2008 09:06:30 +0200
> (defun set-local-key-insert ()
> "set a local key to insert some text"
> (interactive)
> (let (keystring textinsert)
> (setq keystring (read-key-sequence "Key combination to bind: "))
> (setq textinsert (read-string "Text to insert: "))
> (local-set-key (read-kbd-macro keystring)
> (lambda () (interactive)
> (insert textinsert)))))
You can remove textinsert from let and make it a defvar instead.
(defvar textinsert nil)
Yes, but that would defeat the presumed intention of using `textinsert'
as a local variable. Practically, this means `set-local-key-insert'
invocations clobber previous invocations' state (last invocation wins).
Probably OP wants `lexical-let'.
thi