From 49b12b7c874acd517123622d13765b513aafd87f Mon Sep 17 00:00:00 2001
From: Leo Balter
Date: Mon, 2 Mar 2020 09:39:43 -0800
Subject: [PATCH] Revert changes from calendar and numberingSystem options
This is a temporary revert commit for #175 until a canonicalization for Unicode extensions are
added through ResolveLocale.
Ref https://github.com/tc39/proposal-intl-locale/issues/96
This commit should be reverted along the proposed solution. Changes are simplified in this single commit to avoid reverting all the 7 original commits from #175.
---
spec/datetimeformat.html | 14 --------------
spec/locales-currencies-tz.html | 2 +-
spec/numberformat.html | 9 ---------
3 files changed, 1 insertion(+), 24 deletions(-)
diff --git a/spec/datetimeformat.html b/spec/datetimeformat.html
index e673b954..c31753c0 100644
--- a/spec/datetimeformat.html
+++ b/spec/datetimeformat.html
@@ -73,26 +73,12 @@ InitializeDateTimeFormat ( _dateTimeFormat_, _locales_, _options_ )
The abstract operation InitializeDateTimeFormat accepts the arguments _dateTimeFormat_ (which must be an object), _locales_, and _options_. It initializes _dateTimeFormat_ as a DateTimeFormat object. This abstract operation functions as follows:
-
- The following algorithm refers to the `type` nonterminal from UTS 35's Unicode Locale Identifier grammar.
-
-
1. Let _requestedLocales_ be ? CanonicalizeLocaleList(_locales_).
1. Let _options_ be ? ToDateTimeOptions(_options_, *"any"*, *"date"*).
1. Let _opt_ be a new Record.
1. Let _matcher_ be ? GetOption(_options_, *"localeMatcher"*, *"string"*, « *"lookup"*, *"best fit"* », *"best fit"*).
1. Set _opt_.[[localeMatcher]] to _matcher_.
- 1. Let _calendar_ be ? GetOption(_options_, *"calendar"*, *"string"*, *undefined*, *undefined*).
- 1. If _calendar_ is not *undefined*, then
- 1. If _calendar_ does not match the Unicode Locale Identifier `type` nonterminal, throw a *RangeError* exception.
- 1. Set _calendar_ to the result of mapping _calendar_ to lower case as as specified in .
- 1. Set _opt_.[[ca]] to _calendar_.
- 1. Let _numberingSystem_ be ? GetOption(_options_, *"numberingSystem"*, *"string"*, *undefined*, *undefined*).
- 1. If _numberingSystem_ is not *undefined*, then
- 1. If _numberingSystem_ does not match the Unicode Locale Identifier `type` nonterminal, throw a *RangeError* exception.
- 1. Set _numberingSystem_ to the result of mapping _numberingSystem_ to lower case as as specified in .
- 1. Set _opt_.[[nu]] to _numberingSystem_.
1. Let _hour12_ be ? GetOption(_options_, *"hour12"*, *"boolean"*, *undefined*, *undefined*).
1. Let _hourCycle_ be ? GetOption(_options_, *"hourCycle"*, *"string"*, « *"h11"*, *"h12"*, *"h23"*, *"h24"* », *undefined*).
1. If _hour12_ is not *undefined*, then
diff --git a/spec/locales-currencies-tz.html b/spec/locales-currencies-tz.html
index 810a779c..8c48af7f 100644
--- a/spec/locales-currencies-tz.html
+++ b/spec/locales-currencies-tz.html
@@ -9,7 +9,7 @@ Identification of Locales, Currencies, Time Zones, and Measurement Units
Case Sensitivity and Case Mapping
- The String values used to identify locales, currencies, and time zones are interpreted in a case-insensitive manner, treating the Unicode Basic Latin characters *"A"* to *"Z"* (U+0041 to U+005A) as equivalent to the corresponding Basic Latin characters *"a"* to *"z"* (U+0061 to U+007A). No other case folding equivalences are applied. When mapping to upper case, a mapping shall be used that maps characters in the range *"a"* to *"z"* (U+0061 to U+007A) to the corresponding characters in the range *"A"* to *"Z"* (U+0041 to U+005A) and maps no other characters to the latter range. When mapping to lower case, a mapping shall be used that maps characters in the range *"A"* to *"Z"* (U+0041 to U+005A) to the corresponding characters in the range *"a"* to *"z"* (U+0061 to U+007A) and maps no other characters to the latter range.
+ The String values used to identify locales, currencies, and time zones are interpreted in a case-insensitive manner, treating the Unicode Basic Latin characters *"A"* to *"Z"* (U+0041 to U+005A) as equivalent to the corresponding Basic Latin characters *"a"* to *"z"* (U+0061 to U+007A). No other case folding equivalences are applied. When mapping to upper case, a mapping shall be used that maps characters in the range *"a"* to *"z"* (U+0061 to U+007A) to the corresponding characters in the range *"A"* to *"Z"* (U+0041 to U+005A) and maps no other characters to the latter range.
diff --git a/spec/numberformat.html b/spec/numberformat.html
index b8b6e7b7..0f9e5663 100644
--- a/spec/numberformat.html
+++ b/spec/numberformat.html
@@ -51,10 +51,6 @@
InitializeNumberFormat ( _numberFormat_, _locales_, _options_ )
The abstract operation InitializeNumberFormat accepts the arguments _numberFormat_ (which must be an object), _locales_, and _options_. It initializes _numberFormat_ as a NumberFormat object. The following steps are taken:
-
- The following algorithm refers to the `type` nonterminal from UTS 35's Unicode Locale Identifier grammar.
-
-
1. Let _requestedLocales_ be ? CanonicalizeLocaleList(_locales_).
1. If _options_ is *undefined*, then
@@ -64,11 +60,6 @@ InitializeNumberFormat ( _numberFormat_, _locales_, _options_ )
1. Let _opt_ be a new Record.
1. Let _matcher_ be ? GetOption(_options_, *"localeMatcher"*, *"string"*, « *"lookup"*, *"best fit"* », *"best fit"*).
1. Set _opt_.[[localeMatcher]] to _matcher_.
- 1. Let _numberingSystem_ be ? GetOption(_options_, `"numberingSystem"`, `"string"`, *undefined*, *undefined*).
- 1. If _numberingSystem_ is not *undefined*, then
- 1. If _numberingSystem_ does not match the Unicode Locale Identifier `type` nonterminal, throw a *RangeError* exception.
- 1. Set _numberingSystem_ to the result of mapping _numberingSystem_ to lower case as as specified in .
- 1. Set _opt_.[[nu]] to _numberingSystem_.
1. Let _localeData_ be %NumberFormat%.[[LocaleData]].
1. Let _r_ be ResolveLocale(%NumberFormat%.[[AvailableLocales]], _requestedLocales_, _opt_, %NumberFormat%.[[RelevantExtensionKeys]], _localeData_).
1. Set _numberFormat_.[[Locale]] to _r_.[[locale]].