diff options
author | Peter Moresi <peter.moresi@pnmac.com> | 2014-11-18 15:58:17 -0800 |
---|---|---|
committer | Nicolas Goaziou <mail@nicolasgoaziou.fr> | 2014-11-22 00:02:00 +0100 |
commit | aa65ac35aa4c82cf4db9d5bc6bff55afb3a9089b (patch) | |
tree | 538fc2fea6ddbb97ba4e27e032438ba042ccac7b | |
parent | 4f31b68e8f19848bfe580524119a67ebfd7a6972 (diff) | |
download | org-mode-aa65ac35aa4c82cf4db9d5bc6bff55afb3a9089b.tar.gz |
ob-js: Fix passing multiline variables
* lisp/ob-js.el (org-babel-js-var-to-js): Replace newline characters
with "\n" in strings.
Let's say I have a multi-line string stored in an example block.
I want to store my CSV in an example block.
ColA,ColB,ColC
1,2,3
4,5,6
I have a JavaScript function that accepts a string named 'csv' and passing in 'my-csv-data'.
console.log(csv);
When I expand the source block I end up with:
var csv="ColA,ColB,ColC
1,2,3
4,5,6";
console.log(csv);
This will not execute correctly because JavaScript does not support newlines in strings.
What I want instead is:
var csv="ColA,ColB,ColC\n 1,2,3\n 4,5,6";
console.log(csv);
TINYCHANGE
-rw-r--r-- | lisp/ob-js.el | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lisp/ob-js.el b/lisp/ob-js.el index 7789449..ea51ed9 100644 --- a/lisp/ob-js.el +++ b/lisp/ob-js.el @@ -113,7 +113,7 @@ Convert an elisp value into a string of js source code specifying a variable of the same value." (if (listp var) (concat "[" (mapconcat #'org-babel-js-var-to-js var ", ") "]") - (format "%S" var))) + (replace-regexp-in-string "\n" "\\\\n" (format "%S" var)))) (defun org-babel-prep-session:js (session params) "Prepare SESSION according to the header arguments specified in PARAMS." |