Reputation: 43967
How can I convert a symbol type into a string in Emacs lisp?
I wasn't able to find a symbol-to-string
function or anything similar.
Upvotes: 88
Views: 14435
Reputation: 435
Given a symbol name (a string), you can get the symbol's value. Using Trey Jackson's solution:
(setq ASymbol 10) => 10
(intern "ASymbol") => 'ASymbol (e.g. the unevaluated symbol with name "ASymbol")
(symbol-value (intern "ASymbol")) => 10
This is useful if you want to get the values of symbols for which you only have names. For instance, you read them from a string.
A few notes: intern
returns the value of the symbol with the given name. If no symbol with such a name exists, it creates a symbol with that name. You can use intern-soft
to avoid introducing a new symbol if one with the given name does not exists.
Upvotes: 7