ob-js: Fix passing multiline variables
commitaa65ac35aa4c82cf4db9d5bc6bff55afb3a9089b
authorPeter Moresi <peter.moresi@pnmac.com>
Tue, 18 Nov 2014 23:58:17 +0000 (18 15:58 -0800)
committerNicolas Goaziou <mail@nicolasgoaziou.fr>
Fri, 21 Nov 2014 23:02:00 +0000 (22 00:02 +0100)
tree538fc2fea6ddbb97ba4e27e032438ba042ccac7b
parent4f31b68e8f19848bfe580524119a67ebfd7a6972
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
lisp/ob-js.el