Hello, Jorge Morais Neto <jorge13...@gmail.com> writes:
> 1. emacs -q > 2. M-x package-initialize > 3. M-x org-version > - Just to confirm we are running Org 9.0.9. > 4. M-x customize-option RET org-todo-keywords RET > 5. Add "(@)" to DONE and set it for current session (C-c C-c) > 6. C-x C-f /tmp/bug.org > 7. C-S-RET > 8. C-c C-t > - This should change to DONE and prompt for a note. > 9. In the note, type "- " to start a plain list > 10. Hit C-u C-c C-c to add an empty checkbox > > In step 10, the user made a mistake; he wanted to add a checkbox and, > from muscle memory, typed C-u C-c C-c. However, he was composing a > note, so C-c C-c has different behavior. The problem is that in this > situation Org discards the note. When this happened to me, I had spent > at least 15 minutes gathering data and writing it in the note buffer. > This data was lost. Luckily I can gather the same data a second time, > so I just lost some 15 minutes of my time (plus more than an hour to > report this bug), but it could have been worse. > > I am not good at usability design and I do not know precisely how Org > should respond to C-u C-c C-c in this situation, but clearly there are > better options than losing data. A very simple alternative would be to, > when C-c C-c is given any prefix argument, do nothing except warn that > C-c C-c in that situation closes the note and does not accept a prefix > argument. Probably this measure also applies to analogous situations in > which valuable data could be lost. > > While we are at it, there may be other situations in which the user > might discard a note by accident. Perhaps Org should prompt before > discarding, or make it reversible. FWIW, long ago, I added (defun ngz-org-capture-hook-handler () (define-key org-capture-mode-map "\C-x\C-s" 'org-capture-finalize) (define-key org-capture-mode-map "\C-c\C-c" 'org-ctrl-c-ctrl-c)) (add-hook 'org-capture-mode-hook 'ngz-org-capture-hook-handler) to my config file. I'm pretty happy with it. One solution would be to have C-x C-s (or some other binding, I don't really mind) calling `org-finish-function' instead of the very busy C-c C-c. C-x C-s makes sense as Log buffers are not attached to any file, so `save-buffer' is morally equivalent to C-x C-w, aka `write-file'. Fellow Orgers, WDYT? Regards, -- Nicolas Goaziou