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 https://orgmode.org/manual/Feedback.html#Feedback Your bug report will be posted to the Org mailing list. ------------------------------------------------------------------------ Consider the following table, and try to execute the PLOT line #+PLOT: ind:1 deps:(3) type:2d with:lp | Sede | Max cites | H-index | |-----------+-----------+---------| | Chile | 257.72 | 21.39 | | Leeds | 165.77 | 19.68 | | Sao Paolo | 71.00 | 11.50 | | Stockholm | 134.19 | 14.33 | | Morelia | 257.56 | 17.67 | and watch it fail (see the error message in the *gnuplot* buffer). Although the 2d option in org-plot/preset-plot-types has :check-ind-type set to a non-nil value, org-plot/gnuplot does not check the value of :check-ind-type assigned in the 2d type given in the user-option. Unless I misunderstood the code, the line ;; Check type of ind column (timestamp? text?) (when (plist-get params :check-ind-type) should be ;; Check type of ind column (timestamp? text?) (when (plist-get (cdr type) :check-ind-type) because (1) org-plot/collect-options only adds a select number of keywords to the plist and :check-ind-type is not a part of the select members, and (2) org-plot/gnuplot is never called with a non-nil value for the optional argument PARAMS in tree. BTW, the earlier check in the function for :data-dump should also fail because (plist-get (assoc 'grid org-plot/preset-plot-types) :data-dump) ;; => nil but (plist-get (cdr (assoc 'grid org-plot/preset-plot-types)) :data-dump) ;; => non-nil where type ≡ (assoc 'grid org-plot/preset-plot-types) in org-plot/gnuplot. [ I cannot reproduce the grid example in worg's org-plot.org file, but even with the fix, I cannot reproduce it; more below. ] The other code smell I see is that the function checks for the PLOT line twice. Once near the beginning of the function, and once just after the cleaning up of hline. Is this simply an oversight? Coming to the grid example, the doc-string of org-plot/preset-plot-types options says: - :data-dump - Function to dump the table to a datafile for ease of use. Accepts lambda function. Default lambda body: (org-plot/gnuplot-to-data table data-file params) but in fact, org-plot/gnuplot passes one more argument to the :data-dump function: ;; Dump table to datafile (let ((dump-func (plist-get type :data-dump))) (if dump-func (funcall dump-func table data-file num-cols params) (org-plot/gnuplot-to-data table data-file params))) but here's the catch: the :data-dump function in the grid option expects the order (lambda (table data-file params _num-cols) which breaks things down the line. What should be the actual order here? I looked at the history of those lines briefly using C-x v h but I don't have the time to look into it properly to decide on the actual argument order. For now, I have attached a patch that fixes all the issues. With the patch, i can run the example covered in the bug report. The grid example given in worg passes but it doesn't look as expected. I am not sure what to blame here.