magit / forge

Work with Git forges from the comfort of Magit
GNU General Public License v3.0
1.3k stars 114 forks source link

Problem with forge-dispatch transient #687

Closed prayner closed 1 month ago

prayner commented 1 month ago

When typing "N" in a magit status buffer I expected the forge-dispatch transient to trigger. Instead it ignored the "N", treating the following character as a transient prefix.

The Messages buffer contained:

Error running timer: (wrong-number-of-arguments (2 . 2) 3) [2 times]
Error in post-command-hook (transient--post-command): (wrong-number-of-arguments (2 . 2) 3)

The traceback is:

Debugger entered--Lisp error: (wrong-number-of-arguments (2 . 2) 3)
  #f(compiled-function (cl--cnm group) #<bytecode 0x1c201c3518ed3a0c>)(#f(compiled-function (&rest args) #<bytecode -0x39fdf3db0601d46>) #<transient-column transient-column-159fab8dc134> t)
  apply(#f(compiled-function (cl--cnm group) #<bytecode 0x1c201c3518ed3a0c>) #f(compiled-function (&rest args) #<bytecode -0x39fdf3db0601d46>) (#<transient-column transient-column-159fab8dc134> t))
  #f(compiled-function (group) "Insert GROUP's description, if any." #<bytecode 0x1c077881b71d5076>)(#<transient-column transient-column-159fab8dc134> t)
  apply(#f(compiled-function (group) "Insert GROUP's description, if any." #<bytecode 0x1c077881b71d5076>) #<transient-column transient-column-159fab8dc134> t)
  transient--insert-group(#<transient-column transient-column-159fab8dc134> t)
  #f(compiled-function (group) #<bytecode -0xe791bbc470f647a>)(#<transient-columns transient-columns-159fab520460>)
  apply(#f(compiled-function (group) #<bytecode -0xe791bbc470f647a>) #<transient-columns transient-columns-159fab520460>)
  #f(compiled-function (&rest args) #<bytecode 0x1e8427d032879857>)(#<transient-columns transient-columns-159fab520460>)
  #f(compiled-function (cl--cnm group) #<bytecode 0x1c201c3518ed3a0c>)(#f(compiled-function (&rest args) #<bytecode 0x1e8427d032879857>) #<transient-columns transient-columns-159fab520460>)
  apply(#f(compiled-function (cl--cnm group) #<bytecode 0x1c201c3518ed3a0c>) #f(compiled-function (&rest args) #<bytecode 0x1e8427d032879857>) #<transient-columns transient-columns-159fab520460>)
  #f(compiled-function (group) "Insert GROUP's description, if any." #<bytecode 0x1227a24d68278c05>)(#<transient-columns transient-columns-159fab520460>)
  apply(#f(compiled-function (group) "Insert GROUP's description, if any." #<bytecode 0x1227a24d68278c05>) #<transient-columns transient-columns-159fab520460> nil)
  transient--insert-group(#<transient-columns transient-columns-159fab520460>)
  transient--insert-groups()
  #<subr transient--show>()
  ad-Advice-transient--show(#<subr transient--show>)
  apply(ad-Advice-transient--show #<subr transient--show> nil)
  transient--show()
  #<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_65>()
  apply(#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_65> nil)
  #<subr timer-event-handler>([t 26281 40454 355752 nil #<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_65> nil nil 653000 nil])
  ad-Advice-timer-event-handler(#<subr timer-event-handler> [t 26281 40454 355752 nil #<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_65> nil nil 653000 nil])
  apply(ad-Advice-timer-event-handler #<subr timer-event-handler> [t 26281 40454 355752 nil #<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_65> nil nil 653000 nil])
  timer-event-handler([t 26281 40454 355752 nil #<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_65> nil nil 653000 nil])

This is under emacs 29.3 on ubuntu 24.04. One thing to note is I use the emacspeak eyes-free access package which advises functions pretty freely.

I can reproduce this as:

c-x c-f some local clone of a repo
m-x magit-status
m-x forge-pull
N

note that magit transients like c or b work as expected

tarsius commented 1 month ago

I cannot reproduce that.

What version of forge are you using?

Try the reinstallation dance.

  1. Uninstall forge, magit and transient.
  2. Exit emacs.
  3. Restart emacs.
  4. Reinstall forge.