emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* [PATCH] Update statistic cookies when archiving
@ 2017-09-02 20:09 Jay Kamat
  2017-09-02 20:11 ` Jay Kamat
  0 siblings, 1 reply; 5+ messages in thread
From: Jay Kamat @ 2017-09-02 20:09 UTC (permalink / raw)
  To: emacs-orgmode

Hi,

Currently, statistic cookies do not update when archiving headings. For
example, when archiving the 'Two' header in the below example:

* Top [50%]
** TODO One
** DONE Two

The status cookie on 'Top' does not get set to [100%].

I have attached a draft patch to add support for this. However, I think
it needs a little bit more work.

There are 3 archive methods, org-archive-subtree,
org-archive-to-archive-sibling, and org-archive-set-tag.

For org-archive-set-tag, setting the :ARCHIVE: tag does not seem to
affect the status cookie, so I did not touch that.

For org-archive-to-archive-sibling, I used the
(org-update-parent-todo-statistics) function, which seems to work as
expected.

For org-archive-subtree, the solution I came up with is a little more
complicated, to handle the edge case of archiving the last child
header. In this case, 'parent' refers to the wrong (or non-existent)
header, so I use a small function to call (org-up-heading-safe) on one
header above point, which seems to work even for this edge case. I'm not
entirely sure if it's the proper solution though.

Let me know if you have any feedback!

-Jay

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2017-09-06 12:33 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-09-02 20:09 [PATCH] Update statistic cookies when archiving Jay Kamat
2017-09-02 20:11 ` Jay Kamat
2017-09-03  8:02   ` Nicolas Goaziou
2017-09-03 16:28     ` Jay Kamat
2017-09-06 12:32       ` Nicolas Goaziou

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).