org-plot: Handle explicit date/time index

* lisp/org-plot.el (org-plot-quote-tsv-field): Dump data as is when
  `timeind' is set.

* lisp/org-plot.el (org-plot/gnuplot): By-pass type checking when
  either `textind' or `timeind' is set.

The current org-plot relies on `org-table-number-regexp' and
`org-ts-regexp3' to check the index type.  However, we already have
`timeind' to indicate that the index is the datatype of date/time.

By-pass the type checking in `org-plot/gnuplot' when either `textind'
or `timeind' is set.  The whole point of the check is to determine the
type. We do not need that when we already know.

Also dump the date/time data with `org-plot-quote-tsv-field' as is,
without double quotes, when `timeind' is set.  So that we can use
`timefmt' to read what we have.  Currently we do not have a good way
to specify `timefmt' with the double quotes.

TINYCHANGE
This commit is contained in:
Yasushi SHOJI 2014-03-11 02:26:47 +09:00 committed by Bastien Guerry
parent bca8a49363
commit e2b6c506c2

View file

@ -109,7 +109,8 @@ will be added. Returns the resulting property list."
(defun org-plot-quote-tsv-field (s)
"Quote field S for export to gnuplot."
(if (string-match org-table-number-regexp s) s
(if (or (string-match org-table-number-regexp s)
(plist-get params :timeind)) s
(if (string-match org-ts-regexp3 s)
(org-plot-quote-timestamp-field s)
(concat "\"" (mapconcat 'identity (split-string s "\"") "\"\"") "\""))))
@ -312,7 +313,9 @@ line directly before or after the table."
(when y-labels (plist-put params :ylabels y-labels)))))
;; check for timestamp ind column
(let ((ind (- (plist-get params :ind) 1)))
(when (and (>= ind 0) (equal '2d (plist-get params :plot-type)))
(when (and (>= ind 0) (equal '2d (plist-get params :plot-type))
(not (or (plist-get params :timeind)
(plist-get params :textind))))
(if (= (length
(delq 0 (mapcar
(lambda (el)