I just found intern. The problem was using make-symbol, which makes an uninterned symbol.
I'll polish the patch a bit and get back, sorry for using the list as a rubber duck... Cheers, /Torbjörn Den sön 13 apr. 2025 20.00Tor-björn Claesson <tclaes...@gmail.com> skrev: > Hi again! > > I have been making slow progress, but also run into problems with > arbitrary argument lists for the menus - making the > !citation and !prefix things customizable. > > There is clearly something about elisp evaluation that I don't understand. > I have problems in two places: > > The first is in setting up the transient scope, where the code produced by > my macro looks just like the code I have working on my research machine, > but when activating the menu calls (transient-setup 'org-cite-basic-follow > nil nil :scope (list :prefix prefix :citation-object citation-object)), it > complains that Lisp error: (void-variable :prefix) > > If I copy-paste the line the macro expands into: > :scope (list :prefix prefix :citation-object citation-object) > and replaces the code used to generate it in the org-menu-define macro, it > works, but now I have trouble in org-menu--wrap-specification, which gets > stuck after choosing an action. > > From the backtrace: > (let ((!prefix (plist-get (transient-scope) :prefix)) > (!citation-object (plist-get (transient-scope) > :citation-object))) > (org-cite-basic-goto !citation-object !prefix)) > fails where (plist-get (transient-scope) :prefix) complains because > :prefix is a void-variable. > > I feel the two problems point to some lack of understanding on my part, > and I would be very grateful for some pointers on how to proceed. Why is > the literal :prefix different from the :prefix I generate with make-symbol? > > Cheers, > Tor-björn >