branch: externals/org
commit 405e22d10eedf5556eb02f1ba002db8b7536d507
Author: Slawomir Grochowski <[email protected]>
Commit: Slawomir Grochowski <[email protected]>

    ; org-colview: Extract level accumulator extension
    
    * lisp/org-colview.el (org-columns--extend-values-by-level): New
    function.
    (org-columns--compute-spec): Use it.
    
    Refactoring: Extract Function.
    
    No behavior change.
---
 lisp/org-colview.el | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/lisp/org-colview.el b/lisp/org-colview.el
index a59d1d81c27..4b11555ddfc 100644
--- a/lisp/org-colview.el
+++ b/lisp/org-colview.el
@@ -1541,6 +1541,12 @@ they have their own way to be computed."
     (and (not (member property org-special-properties))
         (org-columns--spec-operator spec))))
 
+(defun org-columns--extend-values-by-level (values-by-level level)
+  "Return VALUES-BY-LEVEL large enough to include LEVEL."
+  (if (< level (length values-by-level)) values-by-level
+    (vconcat values-by-level
+             (make-vector (- (1+ level) (length values-by-level)) nil))))
+
 (defun org-columns--clear-values-below-level (values-by-level level)
   "Clear accumulated values below LEVEL in VALUES-BY-LEVEL."
   (cl-loop for deeper-level from (1+ level) below (length values-by-level)
@@ -1568,12 +1574,9 @@ existing ones in properties drawers."
               org-outline-regexp-bol org-columns-top-level-marker t)
         (unless (= current-level 0) (setq previous-level current-level))
         (setq current-level (org-reduced-level (org-outline-level)))
-        (when (>= current-level (length values-by-level))
-          (setq values-by-level
-                (vconcat
-                 values-by-level
-                 (make-vector
-                  (- (1+ current-level) (length values-by-level)) nil))))
+        (setq values-by-level
+              (org-columns--extend-values-by-level
+               values-by-level current-level))
         (let* ((pos (match-beginning 0))
                (current-value (if collect-function
                                   (funcall collect-function property)

Reply via email to