I am trying to make the choices in my transients dynamic but I cannot figure out how. Right now, the choices are only evaluated when loaded.

Here's a static example:

(define-infix-argument choice-rt ()
 :description "My rt"
 :class 'transient-option
 :shortarg "rt"
 :argument "-rt="
 :choices '("yes" "no"))

This works, but when I try to replace it with:

:choices 'dynamic-method


(defvar my-choices nil "my choices")
(defun dynamic-method ()

I would get:

Wrong number of arguments: (lambda nil dynamic-method), 3

The idea is to pass a lambda that evaluates at runtime, instead of having it get defined only when loading the package. I could then just override the "my-choices" variable to supply a range of choices before running the transient.

Anyone tried something like this?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.