New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add org-postpone package #6514
Add org-postpone package #6514
Conversation
Copying my comment from https://www.reddit.com/r/emacs/comments/dpjfci/postpone_tasks_esp_habits_till_tomorrow_in_the/. I don't understand the purpose of this package. The readme says:
If the task were rescheduled for the next day, it would also appear in the agenda the next day. AFAIK, the only difference is that, with this package, the task would indicate that its scheduled date had passed x days earlier. Of course, this is Emacs and Org, so you can do whatever you like, whatever fits your needs. But I feel like this package's rationale is based on a common misunderstanding of what
Also, there is already a built-in feature that postpones the display of tasks in the agenda:
That built-in feature seems to have the same effect as this package. But this package, rather than simply implementing a convenient interface to that functionality (e.g. a command that increments a timestamp's delay attribute), seems to reimplement the feature by using a So why not use the built-in feature to accomplish the same effect? Regarding the checklist:
MELPA Stable is, unfortunately, not a viable solution for many cases. You should install
There are no private functions in Emacs Lisp. The The purpose of docstrings is to aid users in understanding how a package works. All docstrings are important. So you should fix them according to the tool's feedback. Upholding these standards upholds the quality of MELPA, which benefits everyone. |
It's not the same effect, the package's purpose is to hide repeating tasks (e.g. habits) from today's view. I don't see how something like
Sure, I know that and I assumed MELPA maintainers know that too so it would be clear what I meant.
Well, okay, I just removed the argument from that function since it currently isn't being used anyway.
Okay, I did it and I got 3 issues, though I'm not sure what would be the best way to proceed here:
This package is based on the code from
Here my idea was to be in line with other |
Of course I use them. I think part of the issue here is that there are several different ways that entries can appear in the agenda:
As well, any of those types may have repeating timestamps, and certain ones may have warning periods or delay periods which affect their display in the agenda, which is what your package seems intended to affect. So it's not clear when this package should be used instead of the aforementioned, built-in features. So it would be good if it were more clearly explained when the package is appropriate to use, and how it interacts with and compares to the similar, built-in features.
Why would that be a roundabout way? For
So maybe your package is more suitable for other types of entries, in which case, again, more documentation is needed to guide users.
Just do what it says:
Emacs 24.1 was released 7 years ago. I doubt your code would be compatible with Emacs versions older than that, and I doubt anyone who's using 23.4 will be attempting to use it. You should always use lexical binding in new packages: https://github.com/alphapapa/emacs-package-dev-handbook#lexical-binding-1
This is a strict MELPA requirement. |
Okay, all pushed.
I'd be glad to add more documentation to the readme, but to be honest I don't understand what exactly isn't clear right now and how I can achieve the same effect with built-in features. Maybe I don't understand how some of them work, and you can clearify how would you use them to achieve the same effect. Consider an example: I have a task that is So, to sum it up, I don't really understand what's wrong with this implementation and it's not immediately obvious to me how it could be made simpler, and also I don't understand how the same effect could be achieved with built-in scheduling tools, and also what exactly is currently confusing about the purpose of this package and how I can clarify it. Of course I'm not saying that you or anyone else have to use it if built-in mechanisms work just fine for your workflow, but at the same time to me it seems like a rather basic feature that is nice to have. |
In your commentary, I wonder if you capitalized one word:
because even the org-mode documents have to strive to clarify what "scheduling" means in org-world. Re: the discussion above, I'm less versed in org mode than both parties. It feels like the @j-cr, this text:
feels like it should be added to your documentation in some form - your README and Commentary do feel a bit sparse. Especially the part where you say: "hide (filter) specific tasks from a specific agenda view". Should |
Closing due to inactivity. |
Brief summary of what the package does
Postpone tasks in agenda buffers
This package allows you to postpone a scheduled entry, hiding it from the
agenda buffer for today. It is especially useful for habits (see chapter
"5.3.3 Tracking your habits" in the org manual).
Direct link to the package repository
https://github.com/j-cr/org-postpone
Your association with the package
Author/maintainer
Relevant communications with the upstream package maintainer
None needed
Checklist
Please confirm with
x
:M-x checkdoc
is happy with my docstrings (it complains about comments in my private functions - screw it! All the public docstring are fine)