emacs-orgmode
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]