knpatel401 / filetree

filetree is an emacs package for displaying and operating on a file list as a file tree, and for maintaining individual notes for files.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

When trying to hit 'h' or 'm'(etc) I get : transient-setup: Wrong type argument: number-or-marker-p, list

skeezix opened this issue · comments

Emacs version is 30.0.50 (on Mac, using a build I pulled off live a few weeks back.)

turning on debug on error:

image

Hi @skeezix, thanks for reporting the issue. It looks like it's an issue introduced with a newer version of transient. I don't see the issue with transient version 20210228.1207 but was able to reproduce it with 20230602.2121. I'm guessing some interface has changed--l'll try to take a closer look next weekend, but in the meantime, I think you should be able to work-around the issue by using an older version of transient.

Seems related to the below change

Transient Pull Request: "Add in an option subclass to determine choices slot dynamically #212"
[lisp/transient.el](https://github.com/magit/transient/pull/212/files/2a40b82671b61cef179cdcad479f64a548c4f641#diff-9bf5da9f8d198cfd71b9015366227c09be569aedeaf25b84cc2b729bdf9bba74)
"Populate object choices dynamically."
(with-slots (choices-function) obj
(let ((choices (funcall choices-function)))
(setf (oref obj choices) choices)

Sorry this has languished for a bit. I traced the issue and it started happening with the following transient commit:
Turn suffix specifications into code instead of data from Oct 20, 2022
so all versions after that will have this issue.

It looks like I probably need to tweak the way I specify the various transient menus used by filetree, but I still need to better understand this transient change and exactly what I need to fix on my side to handle this.