diff --git a/packages/compiler-core/__tests__/__snapshots__/parse.spec.ts.snap b/packages/compiler-core/__tests__/__snapshots__/parse.spec.ts.snap
index d2ec37c611b..f6aa2ece7c5 100644
--- a/packages/compiler-core/__tests__/__snapshots__/parse.spec.ts.snap
+++ b/packages/compiler-core/__tests__/__snapshots__/parse.spec.ts.snap
@@ -6956,75 +6956,6 @@ Object {
}
`;
-exports[`compiler: parse Errors UNKNOWN_NAMED_CHARACTER_REFERENCE &unknown; 1`] = `
-Object {
- "cached": 0,
- "children": Array [
- Object {
- "children": Array [
- Object {
- "content": "&unknown;",
- "loc": Object {
- "end": Object {
- "column": 20,
- "line": 1,
- "offset": 19,
- },
- "source": "&unknown;",
- "start": Object {
- "column": 11,
- "line": 1,
- "offset": 10,
- },
- },
- "type": 2,
- },
- ],
- "codegenNode": undefined,
- "isSelfClosing": false,
- "loc": Object {
- "end": Object {
- "column": 31,
- "line": 1,
- "offset": 30,
- },
- "source": "&unknown;",
- "start": Object {
- "column": 1,
- "line": 1,
- "offset": 0,
- },
- },
- "ns": 0,
- "props": Array [],
- "tag": "template",
- "tagType": 3,
- "type": 1,
- },
- ],
- "codegenNode": undefined,
- "components": Array [],
- "directives": Array [],
- "helpers": Array [],
- "hoists": Array [],
- "imports": Array [],
- "loc": Object {
- "end": Object {
- "column": 31,
- "line": 1,
- "offset": 30,
- },
- "source": "&unknown;",
- "start": Object {
- "column": 1,
- "line": 1,
- "offset": 0,
- },
- },
- "type": 0,
-}
-`;
-
exports[`compiler: parse Errors X_INVALID_END_TAG 1`] = `
Object {
"cached": 0,
diff --git a/packages/compiler-core/__tests__/parse.spec.ts b/packages/compiler-core/__tests__/parse.spec.ts
index 037e9377f81..53263f8d54d 100644
--- a/packages/compiler-core/__tests__/parse.spec.ts
+++ b/packages/compiler-core/__tests__/parse.spec.ts
@@ -2594,17 +2594,6 @@ foo
]
}
],
- UNKNOWN_NAMED_CHARACTER_REFERENCE: [
- {
- code: '&unknown;',
- errors: [
- {
- type: ErrorCodes.UNKNOWN_NAMED_CHARACTER_REFERENCE,
- loc: { offset: 10, line: 1, column: 11 }
- }
- ]
- }
- ],
X_INVALID_END_TAG: [
{
code: '',
diff --git a/packages/compiler-core/src/errors.ts b/packages/compiler-core/src/errors.ts
index c62d12b9f99..e2fe090a050 100644
--- a/packages/compiler-core/src/errors.ts
+++ b/packages/compiler-core/src/errors.ts
@@ -57,7 +57,6 @@ export const enum ErrorCodes {
UNEXPECTED_NULL_CHARACTER,
UNEXPECTED_QUESTION_MARK_INSTEAD_OF_TAG_NAME,
UNEXPECTED_SOLIDUS_IN_TAG,
- UNKNOWN_NAMED_CHARACTER_REFERENCE,
// Vue-specific parse errors
X_INVALID_END_TAG,
@@ -141,7 +140,6 @@ export const errorMessages: { [code: number]: string } = {
[ErrorCodes.UNEXPECTED_QUESTION_MARK_INSTEAD_OF_TAG_NAME]:
"'' is allowed only in XML context.",
[ErrorCodes.UNEXPECTED_SOLIDUS_IN_TAG]: "Illegal '/' in tags.",
- [ErrorCodes.UNKNOWN_NAMED_CHARACTER_REFERENCE]: 'Unknown entity name.',
// Vue-specific parse errors
[ErrorCodes.X_INVALID_END_TAG]: 'Invalid end tag.',
diff --git a/packages/compiler-core/src/parse.ts b/packages/compiler-core/src/parse.ts
index 7d46f8ea353..9b2425c09c8 100644
--- a/packages/compiler-core/src/parse.ts
+++ b/packages/compiler-core/src/parse.ts
@@ -820,8 +820,8 @@ function parseTextData(
if (head[0] === '&') {
// Named character reference.
- let name = '',
- value: string | undefined = undefined
+ let name = ''
+ let value: string | undefined = undefined
if (/[0-9a-z]/i.test(rawText[1])) {
for (
let length = context.options.maxCRNameLength;
@@ -836,7 +836,7 @@ function parseTextData(
if (
mode === TextModes.ATTRIBUTE_VALUE &&
!semi &&
- /[=a-z0-9]/i.test(rawText[1 + name.length] || '')
+ /[=a-z0-9]/i.test(rawText[name.length + 1] || '')
) {
decodedText += '&' + name
advance(1 + name.length)
@@ -851,7 +851,6 @@ function parseTextData(
}
}
} else {
- emitError(context, ErrorCodes.UNKNOWN_NAMED_CHARACTER_REFERENCE)
decodedText += '&' + name
advance(1 + name.length)
}