update packages
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
;;; org-collector --- collect properties into tables
|
||||
;;; org-collector --- collect properties into tables -*- lexical-binding: t; -*-
|
||||
|
||||
;; Copyright (C) 2008-2021 Free Software Foundation, Inc.
|
||||
|
||||
@@ -123,7 +123,7 @@ preceding the dblock, then update the contents of the dblock."
|
||||
(colnames (plist-get params :colnames))
|
||||
(defaultval (plist-get params :defaultval))
|
||||
(content-lines (org-split-string (plist-get params :content) "\n"))
|
||||
id table line pos)
|
||||
id table line pos idpos stringformat)
|
||||
(save-excursion
|
||||
(when (setq id (plist-get params :id))
|
||||
(cond ((not id) nil)
|
||||
@@ -177,34 +177,40 @@ variables and values specified in props"
|
||||
(interactive)
|
||||
;; collect the properties from every header
|
||||
(let* ((header-props
|
||||
(let ((org-trust-scanner-tags t) alst)
|
||||
(let ((org-trust-scanner-tags t))
|
||||
(org-map-entries
|
||||
(quote (cons (cons "ITEM" (org-get-heading t))
|
||||
(org-propview-get-with-inherited inherit)))
|
||||
(lambda ()
|
||||
(cons (cons "ITEM" (org-get-heading t))
|
||||
(org-propview-get-with-inherited inherit)))
|
||||
match scope)))
|
||||
;; read property values
|
||||
(header-props
|
||||
(mapcar (lambda (props)
|
||||
(mapcar (lambda (pair)
|
||||
(let ((inhibit-lisp-eval (string= (car pair) "ITEM")))
|
||||
(cons (car pair) (org-babel-read (cdr pair) inhibit-lisp-eval))))
|
||||
(let ((inhibit-lisp-eval (or (string= (car pair) "ITEM")
|
||||
(string-match-p org-ts-regexp-inactive (cdr pair))
|
||||
(string-match-p org-link-bracket-re (cdr pair)))))
|
||||
(condition-case err
|
||||
(cons (car pair) (org-babel-read (cdr pair) inhibit-lisp-eval))
|
||||
(error
|
||||
(error
|
||||
(print (format "Error processing lisp on property: %S, error: %S. Remember anything that starts with a (, ', ` or [ is considered an elisp expression" pair err)))))))
|
||||
props))
|
||||
header-props))
|
||||
;; collect all property names
|
||||
(prop-names
|
||||
(mapcar 'intern (delete-dups
|
||||
(apply 'append (mapcar (lambda (header)
|
||||
(mapcar 'car header))
|
||||
header-props))))))
|
||||
header-props)))
|
||||
;; collect all property names
|
||||
(mapc 'intern (delete-dups
|
||||
(apply 'append (mapcar (lambda (header)
|
||||
(mapcar 'car header))
|
||||
header-props))))
|
||||
(append
|
||||
(list
|
||||
(if colnames colnames (mapcar (lambda (el) (format stringformat el)) cols))
|
||||
'hline) ;; ------------------------------------------------
|
||||
'hline) ;; ------------------------------------------------
|
||||
(mapcar ;; calculate the value of the column for each header
|
||||
(lambda (props) (mapcar (lambda (col)
|
||||
(let ((result (org-propview-eval-w-props props col)))
|
||||
(if result result org-propview-default-value)))
|
||||
cols))
|
||||
(let ((result (org-propview-eval-w-props props col)))
|
||||
(if result result org-propview-default-value)))
|
||||
cols))
|
||||
(if conds
|
||||
;; eliminate the headers which don't satisfy the property
|
||||
(delq nil
|
||||
@@ -216,7 +222,7 @@ variables and values specified in props"
|
||||
conds))
|
||||
props))
|
||||
header-props))
|
||||
header-props)))))
|
||||
header-props)))))
|
||||
|
||||
(defun org-propview-to-table (results stringformat)
|
||||
;; (message (format "cols:%S" cols))
|
||||
|
||||
Reference in New Issue
Block a user