Skip to content

Commit

Permalink
Revert "Disallow escaped characters in variable expansion"
Browse files Browse the repository at this point in the history
This reverts commit 555af37.
  • Loading branch information
faho committed Jun 10, 2021
1 parent d2b210e commit 7059eaa
Show file tree
Hide file tree
Showing 3 changed files with 0 additions and 18 deletions.
1 change: 0 additions & 1 deletion CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ Notable improvements and fixes
Syntax changes and new commands
-------------------------------
- Empty variable names are no longer allowed.
- Escaped characters like ``\x41`` are no longer valid in a variable name (:issue:`7969`).

Deprecations and removed features
---------------------------------
Expand Down
3 changes: 0 additions & 3 deletions src/common.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1244,9 +1244,6 @@ maybe_t<size_t> read_unquoted_escape(const wchar_t *input, wcstring *result, boo
}

if (res <= max_val) {
// Prepend internal sep so this does not get treated as part of a variable.
// See #7969.
if (unescape_special) result->push_back(INTERNAL_SEPARATOR);
result_char_or_none =
static_cast<wchar_t>((byte_literal ? ENCODE_DIRECT_BASE : 0) + res);
} else {
Expand Down
14 changes: 0 additions & 14 deletions tests/checks/slices.fish
Original file line number Diff line number Diff line change
Expand Up @@ -78,17 +78,3 @@ echo $list # CHECK: 2 1 3
set -l list 1 2 3
set list[2..] $list[-1..2]
echo $list # CHECK: 1 3 2

# Regression test for #7969.
set fo shorty
set foo A B C
echo $foo[1]
# CHECK: A
echo $foo\1331\135
# CHECK: A[1] B[1] C[1]
echo $foo\x5b1\x5d
# CHECK: A[1] B[1] C[1]
echo $foo\1331\135
# CHECK: A[1] B[1] C[1]
echo $fo\157
# CHECK: shortyo

0 comments on commit 7059eaa

Please sign in to comment.