help-gnu-emacs
[Top][All Lists]
Advanced

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

Re: parametrized function definition


From: Thien-Thi Nguyen
Subject: Re: parametrized function definition
Date: Wed, 09 Jul 2008 10:12:44 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux)

() "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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]