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

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

Re: parametrized function definition


From: Lennart Borgman (gmail)
Subject: Re: parametrized function definition
Date: Wed, 09 Jul 2008 10:19:42 +0200
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.9) Gecko/20071031 Thunderbird/2.0.0.9 Mnenhy/0.7.5.666

Thien-Thi Nguyen wrote:
() "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

Then maybe this page is helpful:

  http://www.emacswiki.org/cgi-bin/wiki/FakeClosures




reply via email to

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