Age | Commit message (Collapse) | Author |
|
This adds plumbing for the Intl.RelativeTimeFormat object, constructor,
and prototype.
|
|
|
|
|
|
Remove ListFormat's own definition of the Style enum, which was further
duplicated by a generated ListPatternStyle enum with the same values.
|
|
This conversion is duplicated a few times in our Intl implementation, so
let's just define these once and be done with it.
|
|
It is unused.
|
|
This renames the current implementation of current_time_zone to
system_time_zone to more clearly indicate what it is. Then reimplements
current_time_zone to return whatever was set up by tzset, falling back
to UTC if something went awry, for convenience.
|
|
In most applications, we invoke tzset once at startup for now. Most of
these are short lived and don't need to know about time zone changes.
The exception is the ClockWidget in the taskbar. Here, we invoke tzset
each time we update the system time. This way, any time zone changes can
take effect immediately.
|
|
This ensures these tests pass even if the user has changed the system
time zone away from UTC.
|
|
If a program never invokes tzset, the tzname variable should have system
dependent default values.
|
|
Now that tzset actually detects time zones, parties interested in time
zone offsets should invoke tzset.
|
|
From POSIX:
the ctime(), localtime(), mktime(), strftime(), and strftime_l()
functions are required to set timezone information as if by calling
tzset()
ctime is excluded here because it invokes localtime, so there's no need
to invoke tzset twice.
|
|
|
|
POSIX defines this as the "Maximum number of bytes supported for the
name of a timezone (not of the TZ variable)." It must have a minimum
value of _POSIX_TZNAME_MAX (6). The longest time zone name in the TZDB
is about 40 chars, so 64 is chosen here for a little wiggle room, and
to round up to a power of 2.
|
|
|
|
This API will also include the formatted name of the time zone, with
respect for DST (e.g. EST vs EDT for America/New_York).
|
|
This just splits up the method to find the active DST rule for specified
time and time zone. This is to allow re-using the now split-off function
in upcoming commits.
|
|
For example, today, America/New_York has the format string "E%sT" and
uses US DST rules. Those rules indicate the %s should be replaced by a
"D" in daylight time and "S" in standard time.
|
|
|
|
There was a bug while calculating the next index in submit_sync_sqe
function. Use the NVMeQueue's class variable m_qdepth instead of the
hardcoded IO_QUEUE_SIZE.
|
|
Before this commit all consume_until overloads aside from the Predicate
one would consume (and ignore) the stop char/string, while the
Predicate overload would not, in order to keep behaviour consistent,
the other overloads no longer consume the stop char/string as well.
|
|
This allows us to skip a strlen call.
|
|
This was used in `HashMap::try_ensure_capacity`, but was missing from
`HashTable`s implementation. No one had used
`HashMap::try_ensure_capacity` before so it went unnoticed!
|
|
We can't fiddle with GUI widgets off the main thread, so let's use
Core::EventLoop::deferred_invoke() to dispatch the work.
The progress bar doesn't visibly update yet, but at least we're not
crashing anymore.
|
|
We now capture the origin thread's current event loop when setting up
a BackgroundAction and then invoke the on_complete callback on that same
event loop.
|
|
This was accidentally per-TU, as it was declared "static" in the header.
|
|
|
|
0606, 0607, 0609, 060A, 060B, 060C, 060D, 061B, 0621, 0622,
0623, 0624, 0625, 0626, 0627, 0628, 0629, 062A, 062B, 062C,
062D, 062E, 062F, 0630, 0631, 0632, 0633, 0634, 0635, 0636,
0637, 0638, 0639, 063A, 063B, 063C, 0640, 0641, 0642, 0643,
0644, 0645, 0646, 0647, 0648, 0649, 064A, 064B, 064D, 064E,
0650, 0651, 0652, 0653, 0654, 0655, 0656, 0657, 0658, 0659,
065A, 065B, 0660, 0661, 0662, 0663, 0664, 0665, 0666, 0667,
0668, 0669, 066D, 066E, 067A, 067B, 067C, 067D, 067E, 067F,
0680, 068A, 068C, 068D, 068E, 068F, 0690, 0692, 0694, 0696,
0697, 0698, 0699, 069A, 069B, 069C, 069D, 069E, 069F, 06A1,
06A2, 06A3, 06A4, 06A5, 06A6, 06B1, 06B2, 06B5, 06B6, 06B7,
06B8, 06D2, 06D3, 06F0, 06F1, 06F2, 06F3, 06F4, 06F5, 06F6,
06F7, 06F8, 06F9
https://www.unicode.org/charts/PDF/U0600.pdf
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This is an editorial change in the Temporal spec (accidentally marked
normative).
See: https://github.com/tc39/proposal-temporal/commit/3039c98
|
|
|
|
|
|
|
|
This lets us propagate the reason why it failed up to the caller. :^)
|
|
Apologies for the enormous commit, but I don't see a way to split this
up nicely. In the vast majority of cases it's a simple change. A few
extra places can use TRY instead of manual error checking though. :^)
|
|
|
|
This is an editorial change in the ShadowRealm spec.
See: https://github.com/tc39/proposal-shadowrealm/commit/f5013fe
|
|
This is a normative change in the ShadowRealm spec.
See: https://github.com/tc39/proposal-shadowrealm/commit/b73a1dc
|
|
|
|
|
|
Because we now push an execution context when creating the "normal"
interpreter without valid environments we have to check for that case
as well when running the bytecode interpreter.
|
|
We weren't properly iterating the extension blocks and thought we
encountered an unexpected extension map block, when we really should
have just skipped over it.
|
|
The vertical values need to be multiplied with 2 for interlaced modes.
|
|
If there's nobody listening for the crash signal, fall back to the
normal crash path where we get some debug output about what happened.
Thanks to Idan for suggesting the fix.
|
|
|