Merge branch 'master' of git+ssh://repo.or.cz/srv/git/org-mode

This commit is contained in:
Carsten Dominik 2010-08-11 09:43:26 +02:00
commit 931373bd2c
1 changed files with 23 additions and 10 deletions

View File

@ -111,18 +111,31 @@ a column, or through the generation of an error.")
(defun org-read-prop (prop)
"Convert the string property PROP to a number if appropriate.
Otherwise if prop looks like a list (meaning it starts with a
'(') then read it as lisp, otherwise return it unmodified as a
string."
If prop looks like a list (meaning it starts with a '(') then
read it as lisp expression, otherwise return it unmodified as a
string.
Results of calling:
\(org-read-prop \"12\") -> 12
\(org-read-prop \"(1 2 3)\") -> (1 2 3)
\(org-read-prop \"+0\") -> 0
\(org-read-prop \"aaa\") -> \"aaa\""
(if (and (stringp prop) (not (equal prop "")))
(let ((out (string-to-number prop)))
(if (equal out 0)
(if (or (equal "(" (substring prop 0 1)) (equal "'" (substring prop 0 1)))
(read prop)
(if (string-match "^\\(+0\\|-0\\|0\\)$" prop)
0
(progn (set-text-properties 0 (length prop) nil prop)
prop)))
(cond
((or
(equal "(" (substring prop 0 1))
(equal "'" (substring prop 0 1)))
(condition-case nil
(read prop)
(error prop)))
((string-match "^\\(+0\\|-0\\|0\\)$" prop)
0)
(t
(set-text-properties 0 (length prop) nil prop)
prop))
out))
prop))
@ -219,4 +232,4 @@ variables and values specified in props"
(delq nil results)) '()))
(provide 'org-collector)
;;; org-collector ends here
;;; org-collector ends here