emacs-citar / citar-org-roam

citar/org-roam integration
GNU General Public License v3.0
101 stars 9 forks source link

`citar-org-roam-capture-template-key` stopped working after recent Doom Emacs update #48

Closed dschaehi closed 1 year ago

dschaehi commented 1 year ago

Thanks for the useful package @bdarcus! Yesterday, I updated my Doom Emacs (8d99942) and to my surprise citar-org-roam-capture-template-key suddenly stopped working. I put some effort to fix the issue myself (neglecting my main work which often happens when you are using Emacs), but I think figuring this out may take some dedicated debugging effort. If you are also using Doom Emacs @bdarcus, can you confirm that citar-org-roam-capture-template-key is working for you?

bdarcus commented 1 year ago

I've not been using it lately, but I didn't just check with my non-doom config:

Correct me if I'm wrong, if I choose to create a new note for a reference that does not already have one, and it opens the note without error, then that's not what you're seeing?

I don't currently have my Doom setup use that, nor does the biblio module, but I can look into that, hopefully tomorrow.

WDYM by "fix the issue myself"? What change did you make?

Also, what error were you getting?

dschaehi commented 1 year ago

Thanks for quick reply.

Correct me if I'm wrong, if I choose to create a new note for a reference that does not already have one, and it opens the note without error, then that's not what you're seeing?

Yes, I have a customized template, but this template is not showing up.

WDYM by "fix the issue myself"? What change did you make?

I just moved the expression (setq citar-org-roam-capture-template-key ...) around in the Doom Emacs' config.el file just to make sure that this expression is called properly. I can verify that the value is set correctly.

Also, what error were you getting?

Only the standard template gets opened and not my template (my template is below):

  (setq org-roam-capture-templates
        '(("m" "main" plain
           "%?"
           :if-new (file+head "main/${slug}.org"
                              "#+title: ${title}\n")
           :immediate-finish t
           :unnarrowed t)
          ("r" "reference" plain "%?" :if-new
           (file+head
            "%(concat
     (when citar-org-roam-subdir (concat citar-org-roam-subdir \"/\")) \"${citekey}.org\")"
            "#+title: ${title}\n* What did the authors try to accomplish?\n* What are the key elements of the approach?\n* What can you use yourself?\n* What other references do you want to follow?")
           :immediate-finish t
           :unnarrowed t)
          ("a" "article" plain "%?"
           :if-new
           (file+head "articles/${title}.org" "#+title: ${title}\n#+filetags: :article:\n")
           :immediate-finish t
           :unnarrowed t))))
(setq citar-org-roam-capture-template-key "r")
bdarcus commented 1 year ago

The only change I made related to COR is this line, so it will only load if you have the +roam2 flag set in your init.

Is the issue perhaps that?

Otherwise, it seems like a local config issue that I can't explain; why it worked before and doesn't now.

dschaehi commented 1 year ago

The problematic part was the missing :lang org. This solved the problem. Thanks for the clue!

  :when (and (modulep! :lang org +roam2)
             (modulep! :completion vertico))
bdarcus commented 1 year ago

I suppose someone should add a note about it to the biblio module README.