diff --git a/CHANGELOG.md b/CHANGELOG.md index 352a916..b561da7 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ ## CHANGELOG +### v0.4.2 (2020-06-05) + +* Fixed parsing issue for commands evaluated by other commands (for example if conditions) + ### v0.4.1 (2020-06-04) * New Enable to error an exec command via new --fail-on-error flag #108 diff --git a/docs/api/duckscript_sdk/src/duckscriptsdk/utils/eval.rs.html b/docs/api/duckscript_sdk/src/duckscriptsdk/utils/eval.rs.html index fc5c418..f1949e1 100644 --- a/docs/api/duckscript_sdk/src/duckscriptsdk/utils/eval.rs.html +++ b/docs/api/duckscript_sdk/src/duckscriptsdk/utils/eval.rs.html @@ -63,6 +63,9 @@ 63 64 65 +66 +67 +68
 use duckscript::parser;
 use duckscript::runner;
@@ -95,7 +98,10 @@
             line_buffer.push(' ');
         }
 
-        let line_str = line_buffer.replace("\r", "").replace("\n", "");
+        let line_str = line_buffer
+            .replace("\r", "")
+            .replace("\n", "")
+            .replace("\\", "\\\\");
 
         match parser::parse_text(&line_str) {
             Ok(instructions) => {
diff --git a/duckscript_cli/Cargo.toml b/duckscript_cli/Cargo.toml
index b6fc4f4..f417d5f 100644
--- a/duckscript_cli/Cargo.toml
+++ b/duckscript_cli/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "duckscript_cli"
-version = "0.4.1"
+version = "0.4.2"
 authors = ["Sagie Gur-Ari "]
 description = "The duckscript command line executable."
 license = "Apache-2.0"
@@ -28,7 +28,7 @@ path = "src/main.rs"
 
 [dependencies]
 duckscript = { version = "^0.4.0", path = "../duckscript" }
-duckscriptsdk = { version = "^0.4.1", path = "../duckscript_sdk" }
+duckscriptsdk = { version = "^0.4.2", path = "../duckscript_sdk" }
 
 [badges.codecov]
 branch = "master"
diff --git a/duckscript_sdk/Cargo.toml b/duckscript_sdk/Cargo.toml
index 60155e3..45e396a 100644
--- a/duckscript_sdk/Cargo.toml
+++ b/duckscript_sdk/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "duckscriptsdk"
-version = "0.4.1"
+version = "0.4.2"
 authors = ["Sagie Gur-Ari "]
 description = "The duckscript SDK."
 license = "Apache-2.0"
diff --git a/duckscript_sdk/src/utils/eval.rs b/duckscript_sdk/src/utils/eval.rs
index d668ab3..625f8e1 100644
--- a/duckscript_sdk/src/utils/eval.rs
+++ b/duckscript_sdk/src/utils/eval.rs
@@ -29,7 +29,10 @@ pub(crate) fn eval(
             line_buffer.push(' ');
         }
 
-        let line_str = line_buffer.replace("\r", "").replace("\n", "");
+        let line_str = line_buffer
+            .replace("\r", "")
+            .replace("\n", "")
+            .replace("\\", "\\\\");
 
         match parser::parse_text(&line_str) {
             Ok(instructions) => {