spacemacs icon indicating copy to clipboard operation
spacemacs copied to clipboard

`t` doesn't mark TODO in org-mode

Open JuanCaicedo opened this issue 7 years ago • 56 comments

Description :octocat:

t in org-mode (or evil-org-mode) no longer marks header as TODO. Not sure if this is an upstream problem, feel free to close if so.

Reproduction guide :beetle:

  • Start Emacs
  • Open org-mode
  • Make header like
* test
  • Press t

Observed behaviour: :eyes: :broken_heart:

  • in messages buffer

    user-error: Can’t find t

Expected behaviour: :heart: :smile:

  • Line should be marked as TODO

System Info :computer:

  • OS: darwin
  • Emacs: 25.1.1
  • Spacemacs: 0.200.8
  • Spacemacs branch: develop (rev. f79a169)
  • Graphic display: t
  • Distribution: spacemacs
  • Editing style: vim
  • Completion: helm
  • Layers:
(nginx csv helm auto-completion command-log emacs-lisp elm extra-langs git github html javascript ibuffer markdown
       (org :variables org-enable-github-support t)
       osx php python ruby yaml shell-scripts themes-megapack better-defaults spell-checking
       (syntax-checking :variables syntax-checking-enable-by-default nil)
       version-control)
  • System configuration features: JPEG RSVG NOTIFY ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS NS MODULES

Backtrace :paw_prints:

<<BACKTRACE IF RELEVANT>>

JuanCaicedo avatar Apr 05 '17 15:04 JuanCaicedo

I get similar issues. Its as if the org keymap doesn't get loaded when you load an org-file

Biotechjones avatar Apr 05 '17 19:04 Biotechjones

I get similar issues. And I wander if there is any way to fix this issue temporarily.

tshu-w avatar Jun 10 '17 03:06 tshu-w

It seems that this line should be (setq evil-org-key-theme '(textobjects navigation additional insert todo)) now t mark TODO in org-mode.

tshu-w avatar Jun 10 '17 07:06 tshu-w

Thanks for bringing this to my attention. In develop, t no longer marks todo by default. As you say, you can configure that variable or use SPC m TT instead. Since this is a non-issue I'll put this as fixed in develop.

TheBB avatar Jun 10 '17 07:06 TheBB

I think this is a bug since t is documented as org-todo in the latest org layer readme.org.

https://github.com/syl20bnr/spacemacs/blob/develop/layers/%2Bemacs/org/README.org

caikechao avatar Jun 10 '17 10:06 caikechao

Thanks, somehow I didn't expect to find todo bindings under “tree”. So many bindings there that don't belong. Removed it.

TheBB avatar Jun 10 '17 14:06 TheBB

@TheBB as for me, org-todo is nearly the function I call most. So keep this kind of shortcut as default will be nice.

tshu-w avatar Jun 11 '17 02:06 tshu-w

As you said it's easy to customize though. I find it difficult to believe that so many people need to do this so often that we have to have a one key shortcut for it, but I'm open to listening.

TheBB avatar Jun 11 '17 10:06 TheBB

I agree that I use it ~hundreds of times daily~ a lot. I probably do that just since it was included in spacemacs when I started using it, but I find it incredibly useful.

I find it to be one of those things that I didn't know I was missing until I had it. A user new to emacs might not know how to use org-todo as a function, much less how to map it to their own keybinding (I definitely wouldn't have).

What's the value in removing this keybinding? Can we trace back to who added it originally and figure out what value they saw in adding it?

I don't want to bike shed this if you feel it's not important. It's just that to me it's a really useful feature and I think others might like it and not know it's going away 😃

JuanCaicedo avatar Jun 21 '17 09:06 JuanCaicedo

100 times daily corresponds to once every six minutes, assuming you're at the computer for 10 hours. If that is true you are probably far north of the average user, let alone hundreds of times daily.

I can add a layer variable though if you feel so strongly about it.

TheBB avatar Jun 21 '17 10:06 TheBB

https://github.com/syl20bnr/spacemacs/commit/010164ce778098b309fcd1cbd99f42b5c4ba5b5c

TheBB avatar Jun 21 '17 10:06 TheBB

Would it be a good idea to bind C-t to org-todo in Spacemacs?

By the way, each of the following key combinations can also be used to change the TODO status:

  • SPC m L
  • C-c C-t
  • S-right

Somelauw avatar Jun 22 '17 15:06 Somelauw

First of all, I'm trying to be constructive. If anything in this post seams offensive, it wasn't intended (blame my english).

Thanks for layer variable. It solves problem for me because I spent hour and half finding where the problem is and then going through commits and issues, solving it myself, reporting and then finding there is the solution. Unfortunately I think there are many ppl for which this will remain problem because they are not able to find the solution.

I suppose this is not right place to discuss this but main problem is that bindings shouldn't be changed at all if possible. And definitely not as often as in org layer in last months.

It is extremely inconvenient for users. I think I can understand most reasons to change something, but this is ... saying politely... "not smart". I can accept that something breaks - it comes with using develop. But then I realize that somebody break smart shortcut intentionally and that is something I don't think we should accept.

Please suggest where it is best place to discuss/solve this (again, probably not in this issue) but at least think about:

  • shortcuts are often in one's muscle memory. Someone's hurried decision shouldn't complicate life of dozen's or hundreds ppl
  • shortcuts should be decided at start of project. So it is ok to choose whatever shortcuts you want when you are starting new layer
  • shortcuts shouldn't be changed if not absolutely needed. Definitely not because somebody wasn't thinking them enough at start
  • changing shortcuts that people use a lot from one letter to 3 letters is not smart
  • adding new shortcut so people can discover it is smart - but leave original at place if possible

And most importantly please if there is a change:

  1. discuss those changes in advance - but it wouldn't help a lot as most people will not know about discussion (maybe if combined with 4.)
  2. make commits with clear subjects from which we can learn that something changed
  3. describe in commits how we can revert that change
  4. we should have some changes alerts on home spacemacs buffer. It would be much better if we see "Hey, there is shortcut change" after spacemacs update. Even in develop.

It is really totally insane to introduce such change in commit with subject "Use evil-org from MELPA".

btw. C-t doesn't seam good idea to me as I'm evil user. S-right is for cycling through states, it doesn't offer popup with available states.

kepi avatar Jul 29 '17 17:07 kepi

Marking todo DONE with 3-4 keystrokes is insane. This was clearly done by someone who doesn't use org-mode a lot???

turns on option

good day.

jb55 avatar Aug 01 '17 23:08 jb55

Definitely makes it a bit more difficult to use. I just started using emacs just for org-mode and I think there are a lot of others out there like myself, org-mode seems to be the gateway drug.

Tiberriver256 avatar Oct 10 '17 10:10 Tiberriver256

@Tiberriver256 There is the option org-want-todo-bindings to retrieve simplicity ;) https://github.com/syl20bnr/spacemacs/commit/010164ce778098b309fcd1cbd99f42b5c4ba5b5c

prestancedesign avatar Oct 10 '17 10:10 prestancedesign

Bumping this topic. I'm just another 'used-to-be-happy-with-former-t-in-org-mode' guy. If you truly use this mode for organising your agendas you will need marking subtrees with TODO statuses to be as efficient as possible.

adamczykm avatar Dec 24 '17 04:12 adamczykm

@adamczykm Could you tell more about the issue you're facing? This has been fixed in develop and you can enable the old functionality of marking todo states with t with org-want-todo-bindings as mentioned in the comments above.

nixmaniack avatar Dec 24 '17 11:12 nixmaniack

It's not a good user experience since the default behavior was changed! It doesn't make any sense for the user to adjust the config to bring back the old (and useful) behavior.

I spent ~15 minutes to fix my config(set org-want-todo-bindings t) and I think many org users may waste their time doing the same fix...

pangwa avatar Mar 24 '18 03:03 pangwa

For reference, here's how to enable it from liujoey.

dotspacemacs-configuration-layers
   '(
     (org :variables org-want-todo-bindings t)
)

Complete newbie at elisp and Spacemacs, and that comment helped a lot.

cyinwei avatar Sep 05 '18 02:09 cyinwei

@cyinwei This works, thanks!

I just switched to develop branch, and some commonly used keybindings are changed in orgmode, in addition to this one.

For example, to activate a pomodoro, I used to press Spc m p, now you have to press Spc m C p. But this is not as documented as in the org-layer readme, which makes things very inconsistent.

Also, when you cancel a pomodoro, it used to clock out and stop the current one. But now it will cancel the pomorodo and delete the current clock. I think there is a way to make things to work out, but why not keep the most popular package consistent across different branches?

Just my two cents.

gnohz avatar Sep 17 '18 18:09 gnohz

Also, when you cancel a pomodoro, it used to clock out and stop the current one. But now it will cancel the pomorodo and delete the current clock. I think there is a way to make things to work out, but why not keep the most popular package consistent across different branches?

I don't think the master and develop branch are different in this respect. Is it possible you had an older version of the org-pomodoro package installed, and the package got updated when you changed Spacemacs branches?

Anyway, I think you want to following setting:

(setq org-pomodoro-keep-killed-pomodoro-time t)

Miciah avatar Sep 18 '18 00:09 Miciah

@Miciah I installed the develop branch from scratch, so I don't think the package is obsolete. Even though, I deleted "org layer", and put is back, I have the version of org-pomodoro as before: org-pomodoro-20161119.226

If this is not the updated version, could you please let me know how to update it to the newest version?

Thanks.

gnohz avatar Sep 18 '18 01:09 gnohz

I have org-pomodoro-20171108.2114. It does not look like the default has changed since org-pomodoro-20161119.226 though.

If you still want to update the package, you can either use SPC f e U to update all packages, or use Paradox: SPC a k to open Paradox, then C-s org-pomodoro RET to select org-pomodoro, then i to mark the new package for installation (optionally, you can also select the old version and press d to mark it for deletion), and then press x to execute the install/delete actions.

Miciah avatar Sep 18 '18 01:09 Miciah

I used spacelpa, so I have older versions of packages. Now I make the spacelpa nil, and I have the same version of org-pomodoro as yours. However, it does not solve the problem, it still deletes the time stamps.

gnohz avatar Sep 18 '18 02:09 gnohz

Did you try the org-pomodoro-keep-killed-pomodoro-time setting?

Miciah avatar Sep 18 '18 03:09 Miciah

@Miciah Yes, this works! Thank you very much. By the way, do you know how to change the keybinding Spc m C p to Spc m p to start a pomodoro?

gnohz avatar Sep 18 '18 04:09 gnohz

@gnohz, try the following:

(spacemacs/set-leader-keys-for-major-mode 'org-mode "p" 'org-pomodoro)

Miciah avatar Sep 18 '18 04:09 Miciah

The following will remove the old binding:

(spacemacs/set-leader-keys-for-major-mode 'org-mode "Cp" nil)

Miciah avatar Sep 18 '18 04:09 Miciah

@Miciah unfortunately, these don't work...

Update: it works after several times of restarts. Thanks.

2nd Update: it only works in org mode, but I woud like it to work in agenda as well.

gnohz avatar Sep 18 '18 14:09 gnohz