Open NathanNeff opened 5 years ago
Nathan Neff notifications@github.com writes:
Hmm, after looking a bit further, the old emacs versions also called "org-set-tags-command" when pressing C-c C-q.
org-set-tags-command calls org-set-tags. So, why does this fix work?
(org-set-tags-command . helm-org-completing-read-tags)
I don't know enough about the magic of Helm to know why this fix works (being that org versions 9.1.x and 9.2.x both call org-set-tags-command which calls org-set-tags.
Because helm is checking the caller which in your case is org-set-tags-command, the helm-buffer in your case should be called "helm-mode-org-set-tags-command" and not "helm-mode-org-set-tags".
-- Thierry
Get my Gnupg key: gpg --keyserver pgp.mit.edu --recv-keys 59F29997
@NathanNeff Your solution works well. Thanks for your work.
You're welcome! It took me a long time to detect what was wrong but I found out a lot more about the inner workings of Emacs Lisp / Helm and Org-mode.
On Tue, Aug 13, 2019 at 5:29 PM Jonathan Gregory notifications@github.com wrote:
@NathanNeff Your solution works well. Thanks for your work.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/emacs-helm/helm-org/issues/3?email_source=notifications&email_token=AAADY6HTWMJMWD5PS7TMM5DQEMYUJA5CNFSM4IK4AQJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD4HFLPA#issuecomment-521033148, or mute the thread https://github.com/notifications/unsubscribe-auth/AAADY6FGLMCLDAD45KNBDPLQEMYUJANCNFSM4IK4AQJQ .
Also, I think the README.md needs to be fixed as well.
org-capture: Capture abort: Symbol’s value as variable is void: helm-completing-read-handlers-alist
II was still having this issue with org mode. Because Org uses (completing-read-multiple)
, helm doesn't read helm-completing-read-handlers-alist
for completions. I have written a workaround instead. It's an advice that wraps helm--completion-in-region
and checks what commands/modes we're using and changes the separator accordingly.
https://gist.github.com/granitrocky/af86037dcd239a928c10c7fa974f54a3
I copied this issue from the helm project [0] to the helm-org project:
When using org-mode 9.2 and higher, set-tags was broken. It was displaying the set of tags correctly when a heading had no tags. However, if a heading had 1+ tags already, then Helm was not displaying the list of available tags.
I think I found the issue (it's quite simple). The
org-set-tags
function is not called by org-mode when pressing C-c C-q. The function is calledorg-set-tags-command
.Adding the entry
(org-set-tags-command . helm-org-completing-read-tags)
tohelm-completing-read-handlers-alist
fixed the problem.https://github.com/emacs-helm/helm-org/blob/bc27669fdc699e65d5162b6e0a0d1bc1d87250a3/helm-org.el#L38
However, after looking a bit further, the old emacs versions also called "org-set-tags-command" when pressing C-c C-q.
org-set-tags-command
callsorg-set-tags
. So, why does this fix work? Any more insight is appreciated.I don't know enough about the magic of Helm to know why this fix works (being that org versions 9.1.x and 9.2.x both call org-set-tags-command which calls org-set-tags.
The definitions of org-set-tags-command and org-set-tags changed quite a bit from org 9.1.x to Org 9.2.x. One difference that I notice is that the old version of org-set-tags [1] was an (interactive) function and the new version of org-set-tags is not [2].
Any ideas?
[1] 9.1.14 https://code.orgmode.org/bzg/org-mode/src/release_9.1.14/lisp/org.el#L14883 [2] 9.2.5 https://code.orgmode.org/bzg/org-mode/src/master/lisp/org.el#L12334
Possibly related issues: https://github.com/emacs-helm/helm/issues/2063
Spacemacs issue: syl20bnr/spacemacs#3738
[0] https://github.com/emacs-helm/helm/issues/2183