diff options
Diffstat (limited to 'lisp/org/ob-haskell.el')
-rw-r--r-- | lisp/org/ob-haskell.el | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/lisp/org/ob-haskell.el b/lisp/org/ob-haskell.el index eca6d829c15..a0127119162 100644 --- a/lisp/org/ob-haskell.el +++ b/lisp/org/ob-haskell.el @@ -40,7 +40,6 @@ ;;; Code: (require 'ob) -(require 'ob-comint) (require 'comint) (eval-when-compile (require 'cl)) @@ -53,7 +52,8 @@ (defvar org-babel-tangle-lang-exts) (add-to-list 'org-babel-tangle-lang-exts '("haskell" . "hs")) -(defvar org-babel-default-header-args:haskell '()) +(defvar org-babel-default-header-args:haskell + '((:padlines . "no"))) (defvar org-babel-haskell-lhs2tex-command "lhs2tex") @@ -79,11 +79,12 @@ (cdr (member org-babel-haskell-eoe (reverse (mapcar #'org-babel-trim raw))))))) (org-babel-reassemble-table - (cond - ((equal result-type 'output) - (mapconcat #'identity (reverse (cdr results)) "\n")) - ((equal result-type 'value) - (org-babel-haskell-table-or-string (car results)))) + ((lambda (result) + (org-babel-result-cond (cdr (assoc :result-params params)) + result (org-babel-haskell-table-or-string result))) + (case result-type + ('output (mapconcat #'identity (reverse (cdr results)) "\n")) + ('value (car results)))) (org-babel-pick-name (cdr (assoc :colname-names params)) (cdr (assoc :colname-names params))) (org-babel-pick-name (cdr (assoc :rowname-names params)) @@ -147,8 +148,9 @@ specifying a variable of the same value." (format "%S" var))) (defvar org-src-preserve-indentation) -(declare-function org-export-as-latex "org-latex" - (arg &optional ext-plist to-buffer body-only pub-dir)) +(declare-function org-export-to-file "ox" + (backend file + &optional async subtreep visible-only body-only ext-plist)) (defun org-babel-haskell-export-to-lhs (&optional arg) "Export to a .lhs file with all haskell code blocks escaped. When called with a prefix argument the resulting @@ -192,7 +194,11 @@ constructs (header arguments, no-web syntax etc...) are ignored." (indent-code-rigidly (match-beginning 0) (match-end 0) indentation))) (save-excursion ;; export to latex w/org and save as .lhs - (find-file tmp-org-file) (funcall 'org-export-as-latex nil) + (require 'ox-latex) + (find-file tmp-org-file) + ;; Ensure we do not clutter kill ring with incomplete results. + (let (org-export-copy-to-kill-ring) + (org-export-to-file 'latex tmp-tex-file)) (kill-buffer nil) (delete-file tmp-org-file) (find-file tmp-tex-file) |