diff --git a/syntax/filetests_test.go b/syntax/filetests_test.go index bb71086b5..454dca8e0 100644 --- a/syntax/filetests_test.go +++ b/syntax/filetests_test.go @@ -3088,7 +3088,7 @@ var fileTests = []fileTestCase{ langFile(arithmExp(&UnaryArithm{Op: Dec, X: litWord("i")})), ), fileTest( - []string{`$((!i))`}, + []string{`$((! i))`}, langFile(arithmExp(&UnaryArithm{Op: Not, X: litWord("i")})), ), fileTest( @@ -3096,7 +3096,7 @@ var fileTests = []fileTestCase{ langFile(arithmExp(&UnaryArithm{Op: BitNegation, X: litWord("i")})), ), fileTest( - []string{`$((-!+i))`}, + []string{`$((-! +i))`}, langFile(arithmExp(&UnaryArithm{ Op: Minus, X: &UnaryArithm{ @@ -3106,7 +3106,7 @@ var fileTests = []fileTestCase{ })), ), fileTest( - []string{`$((!!i))`}, + []string{`$((! ! i))`}, langFile(arithmExp(&UnaryArithm{ Op: Not, X: &UnaryArithm{Op: Not, X: litWord("i")}, diff --git a/syntax/printer.go b/syntax/printer.go index dc54c67dc..b644cb417 100644 --- a/syntax/printer.go +++ b/syntax/printer.go @@ -886,6 +886,9 @@ func (p *Printer) arithmExprRecurse(expr ArithmExpr, compact, spacePlusMinus boo } } p.w.WriteString(expr.Op.String()) + if expr.Op == Not { + p.space() + } p.arithmExprRecurse(expr.X, compact, false) } case *ParenArithm: