emacs-devel
[Top][All Lists]
Advanced

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

Help making setq work on dynamic symbol


From: Ship Mints
Subject: Help making setq work on dynamic symbol
Date: Fri, 18 Oct 2024 10:40:47 -0400

Probably something silly but this seems esoteric enough to ask.

On Emacs 29.4:

(defmacro my/setq (name value)
  (let ((sym (intern name)))
    `(setq ,sym ,value)))
(defvar foo nil)
(my/setq "foo" t) ; this works
(intern (concat "f" "oo")) ; this works
(my/setq (concat "f" "oo") t) ; this fails with...

Debugger entered--Lisp error: (wrong-type-argument stringp (concat "f" "oo"))
  intern((concat "f" "oo"))
  (let ((sym (intern name))) (list 'setq sym value))
  (closure (t) (name value) (let ((sym (intern name))) (list 'setq sym value)))((concat "f" "oo") t)
  macroexpand((my/setq (concat "f" "oo") t))
  elisp--eval-last-sexp(nil)


TIA,

-Stephane

reply via email to

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