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

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

Re: indirect assignement in lisp


From: wenbinye
Subject: Re: indirect assignement in lisp
Date: 29 Aug 2006 03:51:35 -0700
User-agent: G2/0.2

you can get a symbol value from symbol name like this:
(symbol-value (intern-soft (format "marked-point-%d" (- cmd-key 48))))

For a detail documents, see Info elisp 8.3 Creating and Interning
Symbols

help-gnu-emacs@vsbe.com wrote:
> Hello all,
>
> say I want to assign a variable a value.
>
> The name of the variable being assigned should depend on the key pressed by 
> the user. Say, if user hits key "M-1" the variable to assign should be 
> `variable-1', and if the user hits "M-2", the variable to assign should be 
> `variable-2'.
>
> I just don't seem to be able to figure out how to make this indirect 
> assignment (other than using a switch statement, of course!). This is a 
> sample of what I've been trying to do:
>
> ====================================================
> (defvar marked-point-1 nil )
> (defvar marked-point-2 nil )
>
> (defun set-mark-point ()
>     (interactive)
>     ( let ( point-name ( cmd-key last-command-char ) )
>         ( if ( or ( < cmd-key 49 ) ( > cmd-key 50 ) )
>             ( message "the key is %d how did you get here?" cmd-key )
>             ( progn
>               ( setq point-name ( concat "marked-point-" (number-to-string (- 
> cmd-key 48 ))))
> ;              ( set (eval point-name) (list (current-buffer) (point) ) )
>             )
>         )
>     )
> )
> ===============================================================
>
> as one can see, point-name gets assigned to the variable name depending on 
> the key pressed, but how do I get that variable (marked-point-1 or 
> marked-point-2 in this case) assigned a value. I tried many variants of the 
> commented out statement, all to no avail.
> 
> Any help would be greatly appreciated,
> 
> regards,
> Vb



reply via email to

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