Merge branch 'maint'

This commit is contained in:
Nicolas Goaziou 2017-04-17 10:03:10 +02:00
commit fc369b6fae
1 changed files with 54 additions and 49 deletions

View File

@ -2736,7 +2736,7 @@ file time (in minutes) as 1st and 2nd elements. The third element
of this list will be a list of headline entries. Each entry has the
following structure:
(LEVEL HEADLINE TIMESTAMP TIME)
(LEVEL HEADLINE TIMESTAMP TIME PROPERTIES)
LEVEL: The level of the headline, as an integer. This will be
the reduced level, so 1,2,3,... even if only odd levels
@ -2748,7 +2748,10 @@ TIMESTAMP: If PARAMS require it, this will be a time stamp found in the
in this sequence.
TIME: The sum of all time spend in this tree, in minutes. This time
will of cause be restricted to the time block and tags match
specified in PARAMS."
specified in PARAMS.
PROPERTIES: The list properties specified in the `:properties' parameter
along with their value, as an alist following the pattern
(NAME . VALUE)."
(let* ((maxlevel (or (plist-get params :maxlevel) 3))
(timestamp (plist-get params :timestamp))
(ts (plist-get params :tstart))
@ -2761,7 +2764,7 @@ TIME: The sum of all time spend in this tree, in minutes. This time
(properties (plist-get params :properties))
(inherit-property-p (plist-get params :inherit-props))
(matcher (and tags (cdr (org-make-tags-matcher tags))))
cc st p time level hdl props tsp tbl)
cc st p time level tbl)
(setq org-clock-file-total-minutes nil)
(when block
@ -2793,42 +2796,44 @@ TIME: The sum of all time spend in this tree, in minutes. This time
(setq p (next-single-property-change
(point) :org-clock-minutes)))
(goto-char p)
(when (setq time (get-text-property p :org-clock-minutes))
(save-excursion
(beginning-of-line 1)
(when (and (looking-at "\\(\\*+\\)[ \t]+\\(.*?\\)\\([ \t]+:[[:alnum:]_@#%:]+:\\)?[ \t]*$")
(setq level (org-reduced-level
(- (match-end 1) (match-beginning 1))))
(<= level maxlevel))
(setq hdl (if (not link)
(match-string 2)
(let ((time (get-text-property p :org-clock-minutes)))
(when (and time (> time 0) (org-at-heading-p))
(let ((level (org-reduced-level (org-current-level))))
(when (<= level maxlevel)
(let* ((headline (org-get-heading t t t t))
(hdl
(if (not link) headline
(let ((search
(org-make-org-heading-search-string headline)))
(org-make-link-string
(format "file:%s::%s"
(buffer-file-name)
(save-match-data
(match-string 2)))
(org-make-org-heading-search-string
(if (not (buffer-file-name)) search
(format "file:%s::%s" (buffer-file-name) search))
;; Prune statistics cookies. Replace
;; links with their description, or
;; a plain link if there is none.
(org-trim
(org-link-display-format
(replace-regexp-in-string
org-bracket-link-regexp
(lambda (m) (or (match-string 3 m)
(match-string 1 m)))
(match-string 2)))))
tsp (when timestamp
(setq props (org-entry-properties (point)))
(or (cdr (assoc "SCHEDULED" props))
(cdr (assoc "DEADLINE" props))
(cdr (assoc "TIMESTAMP" props))
(cdr (assoc "TIMESTAMP_IA" props))))
props (when properties
(remove nil
"\\[[0-9]+%\\]\\|\\[[0-9]+/[0-9]+\\]" ""
headline)))))))
(tsp
(and timestamp
(let ((p (org-entry-properties (point) 'special)))
(or (cdr (assoc "SCHEDULED" p))
(cdr (assoc "DEADLINE" p))
(cdr (assoc "TIMESTAMP" p))
(cdr (assoc "TIMESTAMP_IA" p))))))
(props
(and properties
(delq nil
(mapcar
(lambda (p)
(when (org-entry-get (point) p inherit-property-p)
(cons p (org-entry-get (point) p inherit-property-p))))
properties))))
(when (> time 0) (push (list level hdl tsp time props) tbl))))))
(setq tbl (nreverse tbl))
(list file org-clock-file-total-minutes tbl))))
(let ((v (org-entry-get
(point) p inherit-property-p)))
(and v (cons p v))))
properties)))))
(push (list level hdl tsp time props) tbl)))))))
(list file org-clock-file-total-minutes (nreverse tbl)))))
;; Saving and loading the clock