summaryrefslogtreecommitdiffstats
path: root/emacsconf.el
diff options
context:
space:
mode:
authorSacha Chua <sacha@sachachua.com>2022-11-11 19:43:20 -0500
committerSacha Chua <sacha@sachachua.com>2022-11-11 19:43:20 -0500
commit6f2da20a2d783ec4fa92608ffb5e6b471b13f8d6 (patch)
treec200ee23125e284dfcad1ae24ac01782cbe89d0b /emacsconf.el
parent91149bcdf886fb155b042a2dd1234262eab7a8b9 (diff)
downloademacsconf-el-6f2da20a2d783ec4fa92608ffb5e6b471b13f8d6.tar.xz
emacsconf-el-6f2da20a2d783ec4fa92608ffb5e6b471b13f8d6.zip
Updating status
Diffstat (limited to 'emacsconf.el')
-rw-r--r--emacsconf.el9
1 files changed, 8 insertions, 1 deletions
diff --git a/emacsconf.el b/emacsconf.el
index d7a75fe..c16f657 100644
--- a/emacsconf.el
+++ b/emacsconf.el
@@ -1113,6 +1113,12 @@ Filter by TRACK if given. Use INFO as the list of talks."
(recenter)
(undo-boundary)))))
+(defmacro emacsconf-with-todo-hooks (&rest body)
+ "Run BODY with the Emacsconf todo hooks."
+ `(with-current-buffer (find-file-noselect emacsconf-org-file)
+ (let ((org-after-todo-state-change-hook '(emacsconf-org-after-todo-state-change)))
+ ,@body)))
+
(defun emacsconf-add-org-after-todo-state-change-hook ()
"Add FUNC to `org-after-todo-stage-change-hook'."
(interactive)
@@ -1174,7 +1180,8 @@ tracks with the ID in the cdr of that list."
(interactive (list (emacsconf-complete-talk) "." (completing-read "To: " (mapcar 'car emacsconf-status-types))))
(emacsconf-with-talk-heading slug
(when (string-match from-states (org-entry-get (point) "TODO"))
- (org-todo to-state))))
+ (org-todo to-state)
+ (save-buffer))))
;; copied from org-ascii--indent-string
(defun emacsconf-indent-string (s width)