magit / forge

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

After opening issues in one repository, and then switching to another repository forge-list-issues returns an error. #715

Open ouboub opened 1 week ago

ouboub commented 1 week ago

Please explain The repositories

  1. https://github.com/kjambunathan/org-mode-ox-odt/

  2. https://github.com/magit/forge are both registered by forge

  3. I start Emacs

  4. I open the org-mode-ox-odt repository

  5. I list the issues. (forge-list-issues)

  6. I open the forge repository

  7. I list the issues. (forge-list-issues)

  8. I receive the following error

    Debugger entered--Lisp error: (wrong-type-argument (or eieio-object cl-structure-object oclosure) nil)
    signal(wrong-type-argument ((or eieio-object cl-structure-object oclosure) nil))
    #f(compiled-function (obj slot) "Return the value in OBJ at SLOT in the object vector." #<bytecode -0x14cf10ab41d2c5d3>)(nil type)
    eieio-oref@closql-object(#f(compiled-function (obj slot) "Return the value in OBJ at SLOT in the object vector." #<bytecode -0x14cf10ab41d2c5d3>) nil type)
    apply(eieio-oref@closql-object #f(compiled-function (obj slot) "Return the value in OBJ at SLOT in the object vector." #<bytecode -0x14cf10ab41d2c5d3>) (nil type))
    slot-value(nil type)
    (forge-topics-setup-buffer repo nil :type (slot-value object 'type) :global (slot-value object 'global))
    (cl-symbol-macrolet ((type (slot-value object 'type)) (global (slot-value object 'global))) (forge-topics-setup-buffer repo nil :type type :global global))
    (let* ((object (transient-suffix-object))) (cl-symbol-macrolet ((type (slot-value object 'type)) (global (slot-value object 'global))) (forge-topics-setup-buffer repo nil :type type :global global)))
    (with-slots (type global) (transient-suffix-object) (forge-topics-setup-buffer repo nil :type type :global global))
    forge-list-issues()
    funcall-interactively(forge-list-issues)
    apply(funcall-interactively forge-list-issues nil)
    repeat-complex-command(1)
    funcall-interactively(repeat-complex-command 1)
    call-interactively(repeat-complex-command nil nil)
    command-execute(repeat-complex-command)

    After restarting Emacs, I can access the forge repository and lists its issues. Only restarting Emacs helps. What do I miss?

Uwe Brauer

tarsius commented 1 week ago

I list the issues. (forge-list-issues)

How do you invoke this command? There are many ways to do that.

From the backtrace I can tell that you are actually using repeat-complex-command, which is very relevant, because this sort of issue can happen when a command was written without considering the needs of that tool.

However, even when using that, I cannot reproduce the issue.

What ghub and forge versions were you using. Try again after updating to the latest releases.

I open the org-mode-ox-odt repository

I assume that means that you displayed magit's status buffer for the repository (and perform the the step while that buffer was current).

ouboub commented 1 week ago

I am answering by the web-interace, because although forge is emacs, it is a bit overwhelmiing to use, and email has the disadvantage that github filters out the markdown syntaxis.

I list the issues. (forge-list-issues)

How do you invoke this command? There are many ways to do that.

From the backtrace I can tell that you are actually using repeat-complex-command, which is very relevant, because this sort of issue can happen when a command was written without considering the needs of that tool.

that is what I did, that is the source of the problem, so I always should use

M-x forge-list-issues

However, even when using that, I cannot reproduce the issue.

What ghub and forge versions were you using. Try again after updating to the latest releases.

I open the org-mode-ox-odt repository

I meant, I use find-file, open my local directory where the local repository sits (it is registered by forge-add-repository)

I assume that means that you displayed magit's status buffer for the repository (and perform the the step while that buffer was current).

I will continue trying it out, and report back if I am able to find a recipe to reproduce the issue. Restarting Emacs is somehow annoying and a sign that something is not right, I'd say (maybe on my side, a interference of some other package)

ouboub commented 1 week ago

I used ibuffer to display all buffers and killed all magit, forge vc buffers, I entered with find-file again my local repository and now M-x forge-list-issues gives me the error I reported. I will try to make a recipe restarting emacs