Org-mode toggling checkboxes intermediate state not working

What happened?

I am using org-mode to handle simple todo lists - the checkboxes only toggle between "- [ ]", "- [X]".

What did you expect to happen?

I am expecting to be able to toggle the checkboxes between "- [ ]", "- [-]" and "- [X]" using ctrl-c ctrl-c or RET on the todo item line.

Steps to reproduce

Vanilla install of doom emacs

  1. Open a new org-mode file (eg. ~/test.org)
  2. Add these lines:
- [ ] first item
- [ ] second item

Place cursor on either line and do either “C-c C-c” or and the checkboxes toggle between "- [ ]" and "- [X]" without reaching the intermediate (“partially checked” in the emacs manual) state.

I have tried wrapping the org-toggle-checkbox to always force toggle-prescence to be true which doesn’t alter the behaviour:

(defun my/org-toggle-checkbox (orig-fun &optional toggle-presence)
  "Ensure TOGGLE-PRESENCE is always true when calling ORG-TOGGLE-CHECKBOX."
  (message "Wrapper of org-toggle-checkbox")
  (apply orig-fun (list t)))

(after! org
  (advice-add 'org-toggle-checkbox :around #'my/org-toggle-checkbox))

System information


Loading data dump...

I did some digging in the documentation, it looks like C-c C-c only toggles between and . If you want to toggle it to intermediate [-], you must use the double prefix first: https://orgmode.org/manual/Checkboxes.html https://www.gnu.org/software/emacs/manual/html_node/elisp/Prefix-Command-Arguments.html If you call C-u C-u C-c C-c that will toggle to the intermediate state [-].

Thank you, that’s prompted me to explore a bit more here as well - I’ve now found that using the prefix (or universal-argument) as suggested works in doom with the evil bindings if I do - SPC-u SPC-u C-c C-c