Hi,
`org-columns-inhibit-recalculation' prevents `org-columns-compute-all'
from running when column view is rebuilt after operations such as
changing a column width or reordering columns.
However, `org-columns--compute-clock-summaries' is still called in these
cases. Consequently, changing only the presentation may invoke
`org-clock-sum' or `org-clock-sum-today', which can be relatively
expensive.
Would it make sense to apply the same inhibition to clock summaries?
diff --git a/lisp/org-colview.el b/lisp/org-colview.el
index bbc9d28f7..c83056c68 100644
--- a/lisp/org-colview.el
+++ b/lisp/org-colview.el
@@ -1007,7 +1007,8 @@ the buffer."
(save-restriction
(when (and (not global) (org-at-heading-p))
(narrow-to-region (point) (org-end-of-subtree t t)))
- (org-columns--compute-clock-summaries)
+ (unless org-columns-inhibit-recalculation
+ (org-columns--compute-clock-summaries))
(org-columns--collect-rows)))
This makes the variable consistently mean “rebuild the display without
recomputing column values”, including the special CLOCKSUM and
CLOCKSUM_T columns.
Are there cases where clock summaries should intentionally be
recomputed while ordinary column summaries remain inhibited?
WDYT?
Best,
--
Slawomir Grochowski