[-- Attachment #1: Type: text/plain, Size: 2330 bytes --] Remember to cover the basics, that is, what you expected to happen and what in fact did happen. You don't know how to make a good report? See http://orgmode.org/manual/Feedback.html#Feedback Your bug report will be posted to the Org-mode mailing list. ------------------------------------------------------------------------ 1. start with emacs -q 2. find file test-sums.org (attached) 3. adjust paths in the source block at the top of the file and evaluate (execute?) it with C-c 4. goto the columnview block and C-c I would expect a table like this to be inserted: | ITEM | Sum | |---------------------------------------------+------| | * Introduction | 5:40 | |---------------------------------------------+------| | ** test sums | 0:30 | |---------------------------------------------+------| | ** Getting warmed up | 5:10 | |---------------------------------------------+------| | *** Nitty gritty | 5:10 | | *************** TODO Do something fantastic | 5:00 | | *************** END | | |---------------------------------------------+------| | **** This is not added | 0:10 | | *************** TODO Do something else | 0:10 | | *************** END | | Hoever, the table looks like this: | ITEM | Sum | |---------------------------------------------+------| | * Introduction | 5:30 | |---------------------------------------------+------| | ** test sums | 0:30 | |---------------------------------------------+------| | ** Getting warmed up | 5:00 | |---------------------------------------------+------| | *** Nitty gritty | 5:00 | | *************** TODO Do something fantastic | 5:00 | | *************** END | | |---------------------------------------------+------| | **** This is not added | 0:10 | | *************** TODO Do something else | 0:10 | | *************** END | | i.e. the 0:10 is not being picked up in the accumulation. [-- Attachment #2: test-sums.org --] [-- Type: text/plain, Size: 1664 bytes --] #+COLUMNS: %50ITEM %5Effort(Sum){:} #+BEGIN_SRC emacs-lisp (setq load-path (cons "~/.emacs.d/plugins/org-mode/lisp" load-path)) (require 'org-install) (require 'org-inlinetask) (require 'org) (load "~/.emacs.d/plugins/org-mode/lisp/org.el") #+END_SRC #+results: : t (emacs-version) = "GNU Emacs 23.4.1 (x86_64-unknown-linux-gnu, GTK+ Version 2.24.9) of 2012-02-01 on shirley.hoetzel.info" (org-version) = "Org-mode version 7.8.03 (release_7.8.03.576.gbeb02)" * Introduction ** test sums :PROPERTIES: :Effort: 0:30 :END: #+BEGIN: columnview :hlines 5 :id global | ITEM | Sum | |---------------------------------------------+------| | * Introduction | 5:30 | |---------------------------------------------+------| | ** test sums | 0:30 | |---------------------------------------------+------| | ** Getting warmed up | 5:00 | |---------------------------------------------+------| | *** Nitty gritty | 5:00 | | *************** TODO Do something fantastic | 5:00 | | *************** END | | |---------------------------------------------+------| | **** This is not added | 0:10 | | *************** TODO Do something else | 0:10 | | *************** END | | #+END: ** Getting warmed up *** Nitty gritty *************** TODO Do something fantastic :PROPERTIES: :Effort: 5:00 :END: *************** END **** This is not added *************** TODO Do something else :PROPERTIES: :Effort: 0:10 :END: *************** END [-- Attachment #3: Type: text/plain, Size: 3766 bytes --] Myles Emacs : GNU Emacs 23.4.1 (x86_64-unknown-linux-gnu, GTK+ Version 2.24.9) of 2012-02-01 on shirley.hoetzel.info Package: Org-mode version 7.8.03 (release_7.8.03.576.gbeb02) current state: ============== (setq org-export-preprocess-before-backend-specifics-hook '(org-inlinetask-export-handler) org-export-latex-after-initial-vars-hook '(org-beamer-after-initial-vars) org-link-frame-setup '((vm . vm-visit-folder-other-frame) (gnus . org-gnus-no-new-news) (file . find-file-other-window) (wl . wl-other-frame)) org-structure-template-alist '(("s" "#+begin_src ?\n\n#+end_src" "<src lang=\"?\">\n\n</src>") ("e" "#+begin_example\n?\n#+end_example" "<example>\n?\n</example>") ("q" "#+begin_quote\n?\n#+end_quote" "<quote>\n?\n</quote>") ("v" "#+begin_verse\n?\n#+end_verse" "<verse>\n?\n/verse>") ("c" "#+begin_center\n?\n#+end_center" "<center>\n?\n/center>") ("l" "#+begin_latex\n?\n#+end_latex" "<literal style=\"latex\">\n?\n</literal>") ("L" "#+latex: " "<literal style=\"latex\">?</literal>") ("h" "#+begin_html\n?\n#+end_html" "<literal style=\"html\">\n?\n</literal>") ("H" "#+html: " "<literal style=\"html\">?</literal>") ("a" "#+begin_ascii\n?\n#+end_ascii") ("A" "#+ascii: ") ("i" "#+index: ?" "#+index: ?") ("I" "#+include %file ?" "<include file=%file markup=\"?\">")) org-speed-command-hook '(org-speed-command-default-hook org-babel-speed-command-hook) org-metaup-hook '(org-babel-load-in-session-maybe) org-after-todo-state-change-hook '(org-clock-out-if-current) org-export-blocks-postblock-hook '(org-exp-res/src-name-cleanup) org-export-latex-format-toc-function 'org-export-latex-format-toc-default org-tab-first-hook '(org-hide-block-toggle-maybe org-src-native-tab-command-maybe org-babel-hide-result-toggle-maybe) org-src-mode-hook '(org-src-babel-configure-edit-buffer org-src-mode-configure-edit-buffer) org-confirm-shell-link-function 'yes-or-no-p org-export-first-hook '(org-beamer-initialize-open-trackers) org-agenda-before-write-hook '(org-agenda-add-entry-text) org-blank-before-new-entry nil org-babel-pre-tangle-hook '(save-buffer) org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-hide-drawers org-cycle-show-empty-lines org-optimize-window-after-visibility-change) org-export-preprocess-before-normalizing-links-hook '(org-remove-file-link-modifiers) org-mode-hook '((lambda nil (org-add-hook (quote change-major-mode-hook) (quote org-show-block-all) (quote append) (quote local)) ) #[nil "\300\301\302\303\304$\207" [org-add-hook change-major-mode-hook org-show-block-all append local] 5] #[nil "\300\301\302\303\304$\207" [org-add-hook change-major-mode-hook org-babel-show-result-all append local] 5] org-babel-result-hide-spec org-babel-hide-all-hashes) org-font-lock-hook '(org-inlinetask-fontify) org-ctrl-c-ctrl-c-hook '(org-babel-hash-at-point org-babel-execute-safely-maybe) org-confirm-elisp-link-function 'yes-or-no-p org-export-interblocks '((lob org-babel-exp-lob-one-liners) (src org-babel-exp-inline-src-blocks)) org-clock-out-hook '(org-clock-remove-empty-clock-drawer) org-occur-hook '(org-first-headline-recenter) org-drawers '("PROPERTIES" "CLOCK" "LOGBOOK") org-export-preprocess-before-selecting-backend-code-hook '(org-beamer-select-beamer-code) org-export-latex-final-hook '(org-beamer-amend-header org-beamer-fix-toc org-beamer-auto-fragile-frames org-beamer-place-default-actions-for-lists) org-metadown-hook '(org-babel-pop-to-session-maybe) org-export-blocks '((src org-babel-exp-src-block nil) (comment org-export-blocks-format-comment t) (ditaa org-export-blocks-format-ditaa nil) (dot org-export-blocks-format-dot nil)) )
[-- Attachment #1: Type: text/plain, Size: 2414 bytes --] >> On Tue, 13 Mar 2012 12:00:07 +0000, Myles English said: > 1. start with emacs -q > 2. find file test-sums.org (attached) > 3. adjust paths in the source block at the top of the file and evaluate > (execute?) it with C-c > 4. goto the columnview block and C-c > I would expect a table like this to be inserted: > | ITEM | Sum | > |---------------------------------------------+------| > | * Introduction | 5:40 | > |---------------------------------------------+------| > | ** test sums | 0:30 | > |---------------------------------------------+------| > | ** Getting warmed up | 5:10 | > |---------------------------------------------+------| > | *** Nitty gritty | 5:10 | > | *************** TODO Do something fantastic | 5:00 | > | *************** END | | > |---------------------------------------------+------| > | **** This is not added | 0:10 | > | *************** TODO Do something else | 0:10 | > | *************** END | | > Hoever, the table looks like this: > | ITEM | Sum | > |---------------------------------------------+------| > | * Introduction | 5:30 | > |---------------------------------------------+------| > | ** test sums | 0:30 | > |---------------------------------------------+------| > | ** Getting warmed up | 5:00 | > |---------------------------------------------+------| > | *** Nitty gritty | 5:00 | > | *************** TODO Do something fantastic | 5:00 | > | *************** END | | > |---------------------------------------------+------| > | **** This is not added | 0:10 | > | *************** TODO Do something else | 0:10 | > | *************** END | | > i.e. the 0:10 is not being picked up in the accumulation. The attached patch produces the expected output, for the same test file: I am an elisp novice so please would someone check this before I tag it as a [PATCH]. In particular, something I am not sure about is the "(require 'org-inlinetask)" which obviously introduces a dependency. [-- Attachment #2: org-inlinetask.el.diff --] [-- Type: text/plain, Size: 2237 bytes --] diff --git a/lisp/org-colview.el b/lisp/org-colview.el index 04d2b62..5645ed3 100644 --- a/lisp/org-colview.el +++ b/lisp/org-colview.el @@ -931,6 +931,7 @@ Don't set this, this is meant for dynamic scoping.") (defun org-columns-compute (property) "Sum the values of property PROPERTY hierarchically, for the entire buffer." (interactive) + (require 'org-inlinetask) (let* ((re org-outline-regexp-bol) (lmax 30) ; Does anyone use deeper levels??? (lvals (make-vector lmax nil)) @@ -942,7 +943,8 @@ Don't set this, this is meant for dynamic scoping.") (fun (nth 6 ass)) (calc (or (nth 7 ass) 'identity)) (beg org-columns-top-level-marker) - last-level val valflag flag end sumpos sum-alist sum str str1 useval) + (last-level org-inlinetask-min-level) + val valflag flag end sumpos sum-alist sum str str1 useval) (save-excursion ;; Find the region to compute (goto-char beg) @@ -951,16 +953,24 @@ Don't set this, this is meant for dynamic scoping.") ;; Walk the tree from the back and do the computations (while (re-search-backward re beg t) (setq sumpos (match-beginning 0) - last-level level + last-level (if (and (not (equal level 0) ) + (not (equal level org-inlinetask-min-level))) + level last-level) level (org-outline-level) val (org-entry-get nil property) valflag (and val (string-match "\\S-" val))) (cond ((< level last-level) ;; put the sum of lower levels here as a property - (setq sum (when (aref lvals last-level) + (setq sum (when (and + (not (equal last-level org-inlinetask-min-level)) + (aref lvals last-level)) (apply fun (aref lvals last-level))) - flag (aref lflag last-level) ; any valid entries from children? + sum2 (when (aref lvals org-inlinetask-min-level) + (apply fun (aref lvals org-inlinetask-min-level))) + sum (+ (or sum 0) (or sum2 0)) + flag (or (aref lflag last-level) ; any valid entries from children? + (aref lflag org-inlinetask-min-level)) ; or inline tasks? str (org-columns-number-to-string sum format printf) str1 (org-add-props (copy-sequence str) nil 'org-computed t 'face 'bold) useval (if flag str1 (if valflag val "")) [-- Attachment #3: Type: text/plain, Size: 17 bytes --] Thanks, Myles
The patch I just sent should be named org-colview.el.diff instead of org-inlinetasks.el.diff Myles
Myles English <mylesenglish@gmail.com> writes: > I am an elisp novice so please would someone check this before I tag it > as a [PATCH]. In particular, something I am not sure about is the > "(require 'org-inlinetask)" which obviously introduces a dependency. What problem were you trying to solve when you added it? It doesn't appear to be needed at runtime (org-inlinetask-min-level is an autoloaded symbol). If you need it during compilation, it should be wrapped into an eval-when-compile at the beginning of the source file. HTH, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ Waldorf MIDI Implementation & additional documentation: http://Synth.Stromeko.net/Downloads.html#WaldorfDocs
Hi Myles,
Myles English <mylesenglish@gmail.com> writes:
>> i.e. the 0:10 is not being picked up in the accumulation.
>
> The attached patch produces the expected output, for the same test
> file:
I applied a slightly modified version of your patch.
Thanks a lot!
--
Bastien