[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] Bug: Org loses data if the user types C-u C-c C-c while composin
From: |
Nicolas Goaziou |
Subject: |
Re: [O] Bug: Org loses data if the user types C-u C-c C-c while composing a state change note [9.0.9 (9.0.9-elpaplus @ /home/jorge/.emacs.d/elpa/org-plus-contrib-20170622/)] |
Date: |
Mon, 26 Jun 2017 22:30:54 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) |
Hello,
Jorge Morais Neto <address@hidden> 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