From 21e473f92a3b96a01a47f346ff552a25ee6f8ed4 Mon Sep 17 00:00:00 2001 From: Xavier L'Heureux <xavier.lheureux@icloud.com> Date: Mon, 8 Apr 2019 18:09:05 -0400 Subject: [PATCH] Allow comments if first char --- src/lib/parser/quotes.rs | 2 +- src/lib/shell/binary/readln.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/parser/quotes.rs b/src/lib/parser/quotes.rs index d494132f..61ddfc91 100644 --- a/src/lib/parser/quotes.rs +++ b/src/lib/parser/quotes.rs @@ -192,7 +192,7 @@ impl<I: Iterator<Item = u8>> Terminator<I> { self.array -= 1; Some(b']') } - b'#' if prev_whitespace => { + b'#' if prev_whitespace || self.inner.prev().is_none() => { self.inner.find(|&c| c == b'\n'); if self.array == 0 && self.subshell == 0 && !self.and_or && !self.empty { self.terminated = true; diff --git a/src/lib/shell/binary/readln.rs b/src/lib/shell/binary/readln.rs index 205366f9..f690a3ed 100644 --- a/src/lib/shell/binary/readln.rs +++ b/src/lib/shell/binary/readln.rs @@ -101,7 +101,7 @@ pub(crate) fn readln(shell: &mut Shell) -> Option<String> { match line { Ok(line) => { - if line.bytes().any(|c| !c.is_ascii_whitespace()) { + if line.bytes().next() != Some(b'#') && line.bytes().any(|c| !c.is_ascii_whitespace()) { shell.flags |= flags::UNTERMINATED; } Some(line) -- GitLab