From b1fe5d55172b30474050a4b0bc34058a7b158c2b Mon Sep 17 00:00:00 2001 From: Ali Mohammad Pur Date: Mon, 10 May 2021 11:46:21 +0430 Subject: [PATCH] Shell: Parse '\t' in doublequoted strings as a tab character This not being recognised is surprising. --- Base/usr/share/man/man5/Shell.md | 2 +- Userland/Shell/Parser.cpp | 3 +++ Userland/Shell/Parser.h | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/Base/usr/share/man/man5/Shell.md b/Base/usr/share/man/man5/Shell.md index bb3254d266..b70cd87096 100644 --- a/Base/usr/share/man/man5/Shell.md +++ b/Base/usr/share/man/man5/Shell.md @@ -479,7 +479,7 @@ dquoted_string_inner :: '\' . dquoted_string_inner? {concat} | . dquoted_string_inner? | '\' 'x' xdigit*2 dquoted_string_inner? | '\' 'u' xdigit*8 dquoted_string_inner? - | '\' [abefrn] dquoted_string_inner? + | '\' [abefrnt] dquoted_string_inner? variable :: variable_ref slice? diff --git a/Userland/Shell/Parser.cpp b/Userland/Shell/Parser.cpp index 93d4f3b5fd..a473cf7349 100644 --- a/Userland/Shell/Parser.cpp +++ b/Userland/Shell/Parser.cpp @@ -1345,6 +1345,9 @@ RefPtr Parser::parse_doublequoted_string_inner() case 'n': builder.append('\n'); break; + case 't': + builder.append('\t'); + break; } continue; } diff --git a/Userland/Shell/Parser.h b/Userland/Shell/Parser.h index bb2fb9d794..ab6acd8cd7 100644 --- a/Userland/Shell/Parser.h +++ b/Userland/Shell/Parser.h @@ -267,7 +267,7 @@ dquoted_string_inner :: '\' . dquoted_string_inner? {concat} | . dquoted_string_inner? | '\' 'x' xdigit*2 dquoted_string_inner? | '\' 'u' xdigit*8 dquoted_string_inner? - | '\' [abefrn] dquoted_string_inner? + | '\' [abefrnt] dquoted_string_inner? variable :: variable_ref slice?