diff --git a/assets/ecmarkup.css b/assets/ecmarkup.css index 630a302e02..2bd77c0e95 100644 --- a/assets/ecmarkup.css +++ b/assets/ecmarkup.css @@ -894,26 +894,68 @@ tr.del > td { display: block; } +#menu-pins .unpin-all { + border: none; + background: #ccc; + border-radius: 4px; + height: 18px; + font-size: 12px; + margin: 0 5px 0 10px; + font-family: IBM Plex Sans; +} +#menu-pins .unpin-all:hover { + background: #ddd; +} + #menu-pins-list { margin: 0; padding: 0; counter-reset: pins-counter; } +#menu-pins-list > li { + display: flex; + align-items: stretch; + gap: 4px; + margin: 3px 1px; + border-radius: 4px; +} + +#menu-pins-list > li > a { + flex-grow: 1; + align-self: center; +} + +#menu-pins-list > li:before, +#menu-pins-list > li > .unpin { + flex-shrink: 0; + flex-grow: 0; + text-align: center; + padding: 1px 3px; + border-radius: 4px; + background: none; + border: none; +} +#menu-pins-list > li:before, +#menu-pins-list > li > .unpin:hover { + background: #ccc; +} + +#menu-pins-list > li > .unpin, +#menu-pins .unpin-all { + cursor: pointer; +} +#menu-pins-list > li > .unpin:hover, +#menu-pins .unpin-all:hover { + color: #bb1212; +} + #menu-pins-list > li:before { content: counter(pins-counter); counter-increment: pins-counter; - display: inline-block; - width: 25px; - text-align: center; - border: 1px solid #bbb; - padding: 2px; - margin: 4px; - box-sizing: border-box; - line-height: 1em; - background-color: #ccc; - border-radius: 4px; + font-size: 16px; } + #menu-toc > ol { padding: 0; flex-grow: 1; @@ -1010,7 +1052,6 @@ tr.del > td { flex-grow: 0; flex-shrink: 0; font-size: 80%; - cursor: row-resize; user-select: none; } @@ -1285,12 +1326,16 @@ li.menu-search-result-term:before { flex-direction: column; } +#references-pane > .menu-pane-header { + cursor: row-resize; +} + #references-pane-container.active { display: flex; } #references-pane-close:after { - content: '✖'; + content: '\2716'; float: right; cursor: pointer; } diff --git a/assets/ecmarkup.js b/assets/ecmarkup.js index de805c1255..09d2da8838 100644 --- a/assets/ecmarkup.js +++ b/assets/ecmarkup.js @@ -350,6 +350,14 @@ function Menu() { this._pinnedIds = {}; this.loadPinEntries(); + // unpin all button + document + .querySelector('#menu-pins .unpin-all') + .addEventListener('click', this.unpinAll.bind(this)); + + // individual unpinning buttons + this.$pinList.addEventListener('click', this.pinListClick.bind(this)); + // toggle menu this.$toggle.addEventListener('click', this.toggle.bind(this)); @@ -399,8 +407,8 @@ Menu.prototype.documentKeydown = function (e) { e.stopPropagation(); if (e.keyCode === 80) { this.togglePinEntry(); - } else if (e.keyCode > 48 && e.keyCode < 58) { - this.selectPin(e.keyCode - 49); + } else if (e.keyCode >= 48 && e.keyCode < 58) { + this.selectPin((e.keyCode - 9) % 10); } }; @@ -562,6 +570,7 @@ Menu.prototype.addPinEntry = function (id) { return; } + let text; if (entry.type === 'clause') { let prefix; if (entry.number) { @@ -570,11 +579,14 @@ Menu.prototype.addPinEntry = function (id) { prefix = ''; } // prettier-ignore - this.$pinList.innerHTML += `
  • ${prefix}${entry.titleHTML}
  • `; + text = `${prefix}${entry.titleHTML}`; } else { - this.$pinList.innerHTML += `
  • ${getKey(entry)}
  • `; + text = getKey(entry); } + let link = `${text}`; + this.$pinList.innerHTML += `
  • ${link}
  • `; + if (Object.keys(this._pinnedIds).length === 0) { this.showPins(); } @@ -583,7 +595,7 @@ Menu.prototype.addPinEntry = function (id) { }; Menu.prototype.removePinEntry = function (id) { - let item = this.$pinList.querySelector(`a[href="${makeLinkToId(id)}"]`).parentNode; + let item = this.$pinList.querySelector(`li[data-section-id="${id}"]`); this.$pinList.removeChild(item); delete this._pinnedIds[id]; if (Object.keys(this._pinnedIds).length === 0) { @@ -593,6 +605,21 @@ Menu.prototype.removePinEntry = function (id) { this.persistPinEntries(); }; +Menu.prototype.unpinAll = function () { + for (let id of Object.keys(this._pinnedIds)) { + this.removePinEntry(id); + } +}; + +Menu.prototype.pinListClick = function (event) { + if (event?.target?.classList.contains('unpin')) { + let id = event.target.parentNode.dataset.sectionId; + if (id) { + this.removePinEntry(id); + } + } +}; + Menu.prototype.persistPinEntries = function () { try { if (!window.localStorage) return; diff --git a/index.html b/index.html index 2fa5adb48b..d6abb834a6 100644 --- a/index.html +++ b/index.html @@ -50,16 +50,18 @@ } -ECMAScript® 2024 Language Specification
    +ECMAScript® 2024 Language Specification

    Draft ECMA-262 / November 1, 2023

    ECMAScript® 2024 Language Specification

    +

    Draft ECMA-262 / November 3, 2023

    ECMAScript® 2024 Language Specification

    About this Specification

    diff --git a/multipage/abstract-operations.html b/multipage/abstract-operations.html index 4f3c1db9b6..46fe691751 100644 --- a/multipage/abstract-operations.html +++ b/multipage/abstract-operations.html @@ -50,8 +50,8 @@ } -ECMAScript® 2024 Language Specification - +ECMAScript® 2024 Language Specification +

    7 Abstract Operations

    These operations are not a part of the ECMAScript language; they are defined here solely to aid the specification of the semantics of the ECMAScript language. Other, more specialized abstract operations are defined throughout this specification.

    diff --git a/multipage/additional-ecmascript-features-for-web-browsers.html b/multipage/additional-ecmascript-features-for-web-browsers.html index d04a311464..a21ad6b827 100644 --- a/multipage/additional-ecmascript-features-for-web-browsers.html +++ b/multipage/additional-ecmascript-features-for-web-browsers.html @@ -50,8 +50,8 @@ } -ECMAScript® 2024 Language Specification - +ECMAScript® 2024 Language Specification +

    B Additional ECMAScript Features for Web Browsers

    The ECMAScript language syntax and semantics defined in this annex are required when the ECMAScript host is a web browser. The content of this annex is normative but optional if the ECMAScript host is not a web browser.

    diff --git a/multipage/additions-and-changes-that-introduce-incompatibilities-with-prior-editions.html b/multipage/additions-and-changes-that-introduce-incompatibilities-with-prior-editions.html index 778cc69d19..e1f9d7c810 100644 --- a/multipage/additions-and-changes-that-introduce-incompatibilities-with-prior-editions.html +++ b/multipage/additions-and-changes-that-introduce-incompatibilities-with-prior-editions.html @@ -50,8 +50,8 @@ } -ECMAScript® 2024 Language Specification - +ECMAScript® 2024 Language Specification +

    F Additions and Changes That Introduce Incompatibilities with Prior Editions

    6.2.5: In ECMAScript 2015, Function calls are not allowed to return a Reference Record.

    diff --git a/multipage/bibliography.html b/multipage/bibliography.html index 6028510888..746dfd80c2 100644 --- a/multipage/bibliography.html +++ b/multipage/bibliography.html @@ -50,8 +50,8 @@ } -ECMAScript® 2024 Language Specification - +ECMAScript® 2024 Language Specification +

    H Bibliography

      diff --git a/multipage/colophon.html b/multipage/colophon.html index 8e0c16e562..f139ce6a45 100644 --- a/multipage/colophon.html +++ b/multipage/colophon.html @@ -50,8 +50,8 @@ } -ECMAScript® 2024 Language Specification - +ECMAScript® 2024 Language Specification +

      G Colophon

      This specification is authored on GitHub in a plaintext source format called Ecmarkup. Ecmarkup is an HTML and Markdown dialect that provides a framework and toolset for authoring ECMAScript specifications in plaintext and processing the specification into a full-featured HTML rendering that follows the editorial conventions for this document. Ecmarkup builds on and integrates a number of other formats and technologies including Grammarkdown for defining syntax and Ecmarkdown for authoring algorithm steps. PDF renderings of this specification are produced by printing the HTML rendering to a PDF.

      diff --git a/multipage/conformance.html b/multipage/conformance.html index 815b3ff600..7b9dd4fdfc 100644 --- a/multipage/conformance.html +++ b/multipage/conformance.html @@ -50,8 +50,8 @@ } -ECMAScript® 2024 Language Specification - +ECMAScript® 2024 Language Specification +

      2 Conformance

      A conforming implementation of ECMAScript must provide and support all the types, values, objects, properties, functions, and program syntax and semantics described in this specification.

      diff --git a/multipage/control-abstraction-objects.html b/multipage/control-abstraction-objects.html index a1c8c11d97..1ad177ec00 100644 --- a/multipage/control-abstraction-objects.html +++ b/multipage/control-abstraction-objects.html @@ -50,8 +50,8 @@ } -ECMAScript® 2024 Language Specification - +ECMAScript® 2024 Language Specification +

      27 Control Abstraction Objects

      diff --git a/multipage/copyright-and-software-license.html b/multipage/copyright-and-software-license.html index d87362c418..885b2e74c5 100644 --- a/multipage/copyright-and-software-license.html +++ b/multipage/copyright-and-software-license.html @@ -50,8 +50,8 @@ } -ECMAScript® 2024 Language Specification - +ECMAScript® 2024 Language Specification +

      I Copyright & Software License

      Ecma International

      diff --git a/multipage/corrections-and-clarifications-in-ecmascript-2015-with-possible-compatibility-impact.html b/multipage/corrections-and-clarifications-in-ecmascript-2015-with-possible-compatibility-impact.html index ef15059fe7..772d695f05 100644 --- a/multipage/corrections-and-clarifications-in-ecmascript-2015-with-possible-compatibility-impact.html +++ b/multipage/corrections-and-clarifications-in-ecmascript-2015-with-possible-compatibility-impact.html @@ -50,8 +50,8 @@ } -ECMAScript® 2024 Language Specification - +ECMAScript® 2024 Language Specification +

      E Corrections and Clarifications in ECMAScript 2015 with Possible Compatibility Impact

      9.1.1.4.15-9.1.1.4.18 Edition 5 and 5.1 used a property existence test to determine whether a global object property corresponding to a new global declaration already existed. ECMAScript 2015 uses an own property existence test. This corresponds to what has been most commonly implemented by web browsers.

      diff --git a/multipage/ecmascript-data-types-and-values.html b/multipage/ecmascript-data-types-and-values.html index 774c664907..22832c654b 100644 --- a/multipage/ecmascript-data-types-and-values.html +++ b/multipage/ecmascript-data-types-and-values.html @@ -50,8 +50,8 @@ } -ECMAScript® 2024 Language Specification - +ECMAScript® 2024 Language Specification +

      6 ECMAScript Data Types and Values

      Algorithms within this specification manipulate values each of which has an associated type. The possible value types are exactly those defined in this clause. Types are further subclassified into ECMAScript language types and specification types.

      diff --git a/multipage/ecmascript-language-expressions.html b/multipage/ecmascript-language-expressions.html index 2662a74c9a..1d7d74e74e 100644 --- a/multipage/ecmascript-language-expressions.html +++ b/multipage/ecmascript-language-expressions.html @@ -50,8 +50,8 @@ } -ECMAScript® 2024 Language Specification - +ECMAScript® 2024 Language Specification +

      13 ECMAScript Language: Expressions

      diff --git a/multipage/ecmascript-language-functions-and-classes.html b/multipage/ecmascript-language-functions-and-classes.html index d56c2761f1..3f2d116f4a 100644 --- a/multipage/ecmascript-language-functions-and-classes.html +++ b/multipage/ecmascript-language-functions-and-classes.html @@ -50,8 +50,8 @@ } -ECMAScript® 2024 Language Specification - +ECMAScript® 2024 Language Specification +

      15 ECMAScript Language: Functions and Classes

      Note
      diff --git a/multipage/ecmascript-language-lexical-grammar.html b/multipage/ecmascript-language-lexical-grammar.html index dbe4b30626..5a6cd8e9b1 100644 --- a/multipage/ecmascript-language-lexical-grammar.html +++ b/multipage/ecmascript-language-lexical-grammar.html @@ -50,8 +50,8 @@ } -ECMAScript® 2024 Language Specification - +ECMAScript® 2024 Language Specification +

      12 ECMAScript Language: Lexical Grammar

      The source text of an ECMAScript Script or Module is first converted into a sequence of input elements, which are tokens, line terminators, comments, or white space. The source text is scanned from left to right, repeatedly taking the longest possible sequence of code points as the next input element.

      diff --git a/multipage/ecmascript-language-scripts-and-modules.html b/multipage/ecmascript-language-scripts-and-modules.html index ea339313dd..e18eb6c031 100644 --- a/multipage/ecmascript-language-scripts-and-modules.html +++ b/multipage/ecmascript-language-scripts-and-modules.html @@ -50,8 +50,8 @@ } -ECMAScript® 2024 Language Specification - +ECMAScript® 2024 Language Specification +

      16 ECMAScript Language: Scripts and Modules

      diff --git a/multipage/ecmascript-language-source-code.html b/multipage/ecmascript-language-source-code.html index 7ce0476f4a..01603ec1a2 100644 --- a/multipage/ecmascript-language-source-code.html +++ b/multipage/ecmascript-language-source-code.html @@ -50,8 +50,8 @@ } -ECMAScript® 2024 Language Specification - +ECMAScript® 2024 Language Specification +

      11 ECMAScript Language: Source Text

      diff --git a/multipage/ecmascript-language-statements-and-declarations.html b/multipage/ecmascript-language-statements-and-declarations.html index 21389db48d..65e426429f 100644 --- a/multipage/ecmascript-language-statements-and-declarations.html +++ b/multipage/ecmascript-language-statements-and-declarations.html @@ -50,8 +50,8 @@ } -ECMAScript® 2024 Language Specification - +ECMAScript® 2024 Language Specification +

      14 ECMAScript Language: Statements and Declarations

      Syntax

      diff --git a/multipage/ecmascript-standard-built-in-objects.html b/multipage/ecmascript-standard-built-in-objects.html index f74111e9fc..c12e466131 100644 --- a/multipage/ecmascript-standard-built-in-objects.html +++ b/multipage/ecmascript-standard-built-in-objects.html @@ -50,8 +50,8 @@ } -ECMAScript® 2024 Language Specification - +ECMAScript® 2024 Language Specification +

      18 ECMAScript Standard Built-in Objects

      There are certain built-in objects available whenever an ECMAScript Script or Module begins execution. One, the global object, is part of the global environment of the executing program. Others are accessible as initial properties of the global object or indirectly as properties of accessible built-in objects.

      diff --git a/multipage/error-handling-and-language-extensions.html b/multipage/error-handling-and-language-extensions.html index 49af319198..4e7abe309a 100644 --- a/multipage/error-handling-and-language-extensions.html +++ b/multipage/error-handling-and-language-extensions.html @@ -50,8 +50,8 @@ } -ECMAScript® 2024 Language Specification - +ECMAScript® 2024 Language Specification +

      17 Error Handling and Language Extensions

      An implementation must report most errors at the time the relevant ECMAScript language construct is evaluated. An early error is an error that can be detected and reported prior to the evaluation of any construct in the Script containing the error. The presence of an early error prevents the evaluation of the construct. An implementation must report early errors in a Script as part of parsing that Script in ParseScript. Early errors in a Module are reported at the point when the Module would be evaluated and the Module is never initialized. Early errors in eval code are reported at the time eval is called and prevent evaluation of the eval code. All errors that are not early errors are runtime errors.

      diff --git a/multipage/executable-code-and-execution-contexts.html b/multipage/executable-code-and-execution-contexts.html index 79713772bf..4b0e11ca19 100644 --- a/multipage/executable-code-and-execution-contexts.html +++ b/multipage/executable-code-and-execution-contexts.html @@ -50,8 +50,8 @@ } -ECMAScript® 2024 Language Specification - +ECMAScript® 2024 Language Specification +

      9 Executable Code and Execution Contexts

      diff --git a/multipage/fundamental-objects.html b/multipage/fundamental-objects.html index 2d156b3e92..4d565a50c8 100644 --- a/multipage/fundamental-objects.html +++ b/multipage/fundamental-objects.html @@ -50,8 +50,8 @@ } -ECMAScript® 2024 Language Specification - +ECMAScript® 2024 Language Specification +

      20 Fundamental Objects

      diff --git a/multipage/global-object.html b/multipage/global-object.html index 7de8e8a967..626e6c0cdf 100644 --- a/multipage/global-object.html +++ b/multipage/global-object.html @@ -50,8 +50,8 @@ } -ECMAScript® 2024 Language Specification - +ECMAScript® 2024 Language Specification +

      19 The Global Object

      The global object:

      diff --git a/multipage/grammar-summary.html b/multipage/grammar-summary.html index 321d32ceed..71001d07ad 100644 --- a/multipage/grammar-summary.html +++ b/multipage/grammar-summary.html @@ -50,8 +50,8 @@ } -ECMAScript® 2024 Language Specification - +ECMAScript® 2024 Language Specification +

      A Grammar Summary

      diff --git a/multipage/host-layering-points.html b/multipage/host-layering-points.html index 3a82877364..c54cc61153 100644 --- a/multipage/host-layering-points.html +++ b/multipage/host-layering-points.html @@ -50,8 +50,8 @@ } -ECMAScript® 2024 Language Specification - +ECMAScript® 2024 Language Specification +

      D Host Layering Points

      See 4.2 for the definition of host.

      diff --git a/multipage/index.html b/multipage/index.html index 6087078ea7..6f3780e705 100644 --- a/multipage/index.html +++ b/multipage/index.html @@ -50,8 +50,8 @@ } -ECMAScript® 2024 Language Specification - +ECMAScript® 2024 Language Specification +

      Draft ECMA-262 / November 1, 2023

      +
    1. Toggle pinning of the current clausep
    2. +
    3. Jump to nth pin1-9
    4. +

      Draft ECMA-262 / November 3, 2023

      ECMAScript® 2024 Language Specification

      diff --git a/multipage/indexed-collections.html b/multipage/indexed-collections.html index 8ddfcc9caa..fdce393363 100644 --- a/multipage/indexed-collections.html +++ b/multipage/indexed-collections.html @@ -50,8 +50,8 @@ } -ECMAScript® 2024 Language Specification - +ECMAScript® 2024 Language Specification +

      23 Indexed Collections

      diff --git a/multipage/keyed-collections.html b/multipage/keyed-collections.html index 65db015222..3f3596787b 100644 --- a/multipage/keyed-collections.html +++ b/multipage/keyed-collections.html @@ -50,8 +50,8 @@ } -ECMAScript® 2024 Language Specification - +ECMAScript® 2024 Language Specification +

      24 Keyed Collections

      diff --git a/multipage/managing-memory.html b/multipage/managing-memory.html index 17ee77008c..c00936b8c3 100644 --- a/multipage/managing-memory.html +++ b/multipage/managing-memory.html @@ -50,8 +50,8 @@ } -ECMAScript® 2024 Language Specification - +ECMAScript® 2024 Language Specification +

      26 Managing Memory

      diff --git a/multipage/memory-model.html b/multipage/memory-model.html index 1c4d8d0d03..6195271bab 100644 --- a/multipage/memory-model.html +++ b/multipage/memory-model.html @@ -50,8 +50,8 @@ } -ECMAScript® 2024 Language Specification - +ECMAScript® 2024 Language Specification +

      29 Memory Model

      The memory consistency model, or memory model, specifies the possible orderings of Shared Data Block events, arising via accessing TypedArray instances backed by a SharedArrayBuffer and via methods on the Atomics object. When the program has no data races (defined below), the ordering of events appears as sequentially consistent, i.e., as an interleaving of actions from each agent. When the program has data races, shared memory operations may appear sequentially inconsistent. For example, programs may exhibit causality-violating behaviour and other astonishments. These astonishments arise from compiler transforms and the design of CPUs (e.g., out-of-order execution and speculation). The memory model defines both the precise conditions under which a program exhibits sequentially consistent behaviour as well as the possible values read from data races. To wit, there is no undefined behaviour.

      diff --git a/multipage/normative-references.html b/multipage/normative-references.html index 16d03da210..4fe97c6b44 100644 --- a/multipage/normative-references.html +++ b/multipage/normative-references.html @@ -50,8 +50,8 @@ } -ECMAScript® 2024 Language Specification - +ECMAScript® 2024 Language Specification +

      3 Normative References

      The following referenced documents are indispensable for the application of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.

      diff --git a/multipage/notational-conventions.html b/multipage/notational-conventions.html index 0c2a86c33d..84dee35156 100644 --- a/multipage/notational-conventions.html +++ b/multipage/notational-conventions.html @@ -50,8 +50,8 @@ } -ECMAScript® 2024 Language Specification - +ECMAScript® 2024 Language Specification +

      5 Notational Conventions

      diff --git a/multipage/numbers-and-dates.html b/multipage/numbers-and-dates.html index 2c868761ef..1f89f304df 100644 --- a/multipage/numbers-and-dates.html +++ b/multipage/numbers-and-dates.html @@ -50,8 +50,8 @@ } -ECMAScript® 2024 Language Specification - +ECMAScript® 2024 Language Specification +

      21 Numbers and Dates

      diff --git a/multipage/ordinary-and-exotic-objects-behaviours.html b/multipage/ordinary-and-exotic-objects-behaviours.html index 477bebce42..58f382075e 100644 --- a/multipage/ordinary-and-exotic-objects-behaviours.html +++ b/multipage/ordinary-and-exotic-objects-behaviours.html @@ -50,8 +50,8 @@ } -ECMAScript® 2024 Language Specification - +ECMAScript® 2024 Language Specification +

      10 Ordinary and Exotic Objects Behaviours

      diff --git a/multipage/overview.html b/multipage/overview.html index 9e42082266..122d52e1f2 100644 --- a/multipage/overview.html +++ b/multipage/overview.html @@ -50,8 +50,8 @@ } -ECMAScript® 2024 Language Specification - +ECMAScript® 2024 Language Specification +

      4 Overview

      This section contains a non-normative overview of the ECMAScript language.

      diff --git a/multipage/reflection.html b/multipage/reflection.html index 5a08f0cd9e..d2aecdfb4c 100644 --- a/multipage/reflection.html +++ b/multipage/reflection.html @@ -50,8 +50,8 @@ } -ECMAScript® 2024 Language Specification - +ECMAScript® 2024 Language Specification +

      28 Reflection

      diff --git a/multipage/scope.html b/multipage/scope.html index 294a61ce3a..07e80c4b06 100644 --- a/multipage/scope.html +++ b/multipage/scope.html @@ -50,8 +50,8 @@ } -ECMAScript® 2024 Language Specification - +ECMAScript® 2024 Language Specification +

      1 Scope

      This Standard defines the ECMAScript 2024 general-purpose programming language.

      diff --git a/multipage/strict-mode-of-ecmascript.html b/multipage/strict-mode-of-ecmascript.html index 17a1e3cbb5..e03d403b0b 100644 --- a/multipage/strict-mode-of-ecmascript.html +++ b/multipage/strict-mode-of-ecmascript.html @@ -50,8 +50,8 @@ } -ECMAScript® 2024 Language Specification - +ECMAScript® 2024 Language Specification +

      C The Strict Mode of ECMAScript

      The strict mode restriction and exceptions

      diff --git a/multipage/structured-data.html b/multipage/structured-data.html index 5a289e03b4..fdc5c01b2a 100644 --- a/multipage/structured-data.html +++ b/multipage/structured-data.html @@ -50,8 +50,8 @@ } -ECMAScript® 2024 Language Specification - +ECMAScript® 2024 Language Specification +

      25 Structured Data

      diff --git a/multipage/syntax-directed-operations.html b/multipage/syntax-directed-operations.html index 0eaed0752c..51fbe62813 100644 --- a/multipage/syntax-directed-operations.html +++ b/multipage/syntax-directed-operations.html @@ -50,8 +50,8 @@ } -ECMAScript® 2024 Language Specification - +ECMAScript® 2024 Language Specification +

      8 Syntax-Directed Operations

      In addition to those defined in this section, specialized syntax-directed operations are defined throughout this specification.

      diff --git a/multipage/text-processing.html b/multipage/text-processing.html index c06e4668bf..b57031df38 100644 --- a/multipage/text-processing.html +++ b/multipage/text-processing.html @@ -50,8 +50,8 @@ } -ECMAScript® 2024 Language Specification - +ECMAScript® 2024 Language Specification +

      22 Text Processing