emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/rec-mode 2f8aa87 16/98: ob-rec: support for :sort and m


From: Stefan Monnier
Subject: [elpa] externals/rec-mode 2f8aa87 16/98: ob-rec: support for :sort and minor fixes.
Date: Thu, 12 Nov 2020 13:18:31 -0500 (EST)

branch: externals/rec-mode
commit 2f8aa879d7ca4229b454224e6da1f40a01f4c521
Author: Jose E. Marchesi <jemarch@gnu.org>
Commit: Antoine Kalmbach <ane@iki.fi>

    ob-rec: support for :sort and minor fixes.
---
 etc/ob-rec.el | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/etc/ob-rec.el b/etc/ob-rec.el
index 83647ba..8e086ba 100644
--- a/etc/ob-rec.el
+++ b/etc/ob-rec.el
@@ -41,6 +41,7 @@ This function is called by `org-babel-execute-src-block'."
         (cmdline (cdr (assoc :cmdline params)))
         (rec-type (cdr (assoc :type params)))
         (fields (cdr (assoc :fields params)))
+         (sort (cdr (assoc :sort params)))
         (cmd (concat "recsel"
                      (when rec-type (concat " -t " rec-type " "))
                      " " (expand-file-name in-file)
@@ -48,14 +49,19 @@ This function is called by `org-babel-execute-src-block'."
                         (concat " -e " "\""
                                 (replace-regexp-in-string "\"" "\\\\\"" body)
                                 "\""))
-                     (when fields (concat " -p " fields " "))
-                     " | rec2csv")))
+                      (when sort (concat " -S " sort " "))
+                     (when fields (concat " -p " fields " "))))
+         (do-raw (or (member "scalar" result-params)
+                     (member "html" result-params)
+                     (member "code" result-params)
+                     (equal (point-min) (point-max)))))
+    (unless do-raw
+      ;; Get the csv representation, that will be used by
+      ;; org-table-convert-region below.
+      (setq cmd (concat cmd " | rec2csv")))
     (with-temp-buffer
       (shell-command cmd (current-buffer))
-      (if (or (member "scalar" result-params)
-              (member "html" result-params)
-              (member "code" result-params)
-              (equal (point-min) (point-max)))
+      (if do-raw
           (buffer-string)
        (org-table-convert-region (point-min) (point-max) '(4))
         (org-table-to-lisp)))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]