From f03848adf36172b0d4a682eb683d4836b0dda5a5 Mon Sep 17 00:00:00 2001 From: Kiana Sheibani Date: Mon, 22 Jul 2024 13:32:06 -0400 Subject: [PATCH] refactor(org-checklist): simplify advice code --- config.org | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/config.org b/config.org index 5645b33..b568691 100644 --- a/config.org +++ b/config.org @@ -3054,7 +3054,7 @@ The simple package =org-checklist= from =org-contrib= makes it so that checkboxe #+begin_src emacs-lisp (when (modulep! :lang org) - (use-package org-checklist + (use-package! org-checklist :commands (org-reset-checkbox-state-maybe org-make-checklist-export org-checklist) @@ -3068,11 +3068,7 @@ The simple package =org-checklist= from =org-contrib= makes it so that checkboxe The ~org-checklist~ function will reset the checkboxes on any task, but I only want them reset when the task repeats. #+begin_src emacs-lisp -(defadvice! ~/org-checklist-only-on-repeating (old-fn) - "Only reset checkboxes when marking repeater tasks as DONE." - :around #'org-checklist - (when (org-get-repeat) - (funcall old-fn))) +(advice-add #'org-checklist :before-while #'org-get-repeat) #+end_src I don't want to have to specify the =RESET_CHECK_BOXES= property for every TODO I write, though. I would much prefer if it was on by default, and the system allowed me to turn it off if I wanted to. Luckily, the fine control Org gives you over property inheritance nicely fixes this problem.