diff --git a/gash/grammar.scm b/gash/grammar.scm index a83a117..7608ff6 100644 --- a/gash/grammar.scm +++ b/gash/grammar.scm @@ -152,7 +152,7 @@ sq < ['] dq < [\"] singlequotes <- sq (!sq .)* sq# - doublequotes <- dq (substitution / variable / (!dq ('\\\"' / .)))* dq# + doublequotes <- dq (substitution / variable / (!dq (escape '\"' / .)))* dq# case-keyword < 'case' do-keyword < 'do' diff --git a/gash/script.scm b/gash/script.scm index 1530d69..b1f3e6e 100644 --- a/gash/script.scm +++ b/gash/script.scm @@ -376,8 +376,8 @@ ((h ... t) t) (_ o))) -(define (delim o) - o) +(define (delim . o) + (string-join o "")) (define (name o) o)