about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
* client: only accept "press" input type for scroll wheelbptato2024-03-111-2/+6
|
* term: fix alt-screen = true without ti/tebptato2024-03-081-10/+11
| | | | | | in this case just write smcup/rmcup also move down +1 line and reset formatting if alt screen is off
* cgi: do not eat first word of the error messagebptato2024-03-071-1/+1
| | | | whoops
* cgi: pass system error message after execl failurebptato2024-03-071-1/+2
|
* man: use /usr/bin/env perl shebangbptato2024-03-071-1/+1
| | | * Improve Date.parseCharlie Gordon2024-03-021-224/+305
| | | | | | | | - rewrite Date.parse() with separate parsers - return `NaN` for out of bounds field values as specified - accept up to 9 decimals for millisecond fraction but truncate at 3 - accept many more alternative date/time formats - add test cases in tests/test_builtin.js
* Fix Map hash bugCharlie Gordon2024-03-021-2/+2
| | | | | | - `map_hash_key` must generate the same key for JS_INT and JS_FLOAT64 with the same value - add test cases in tests/test_builtin.js
* Rewrite `set_date_fields` to match the ECMA specificationCharlie Gordon2024-03-021-28/+52
| | | | | | | | | | | | - use `double` arithmetic where necessary to match the spec - use `volatile` to ensure correct order of evaluation and prevent FMA code generation - reject some border cases. - avoid undefined behavior in `double` -> `int64_t` conversions - improved tests/test_builtin.js `assert` function to compare values more reliably. - added some tests in `test_date()` - disable some of these tests on win32 and cygwin targets
* Add C API function JS_GetClassID()Tyler Rockwood2024-03-022-0/+12
| | | | | | | | | If you want to extend a built-in class you need it's class ID and there is no robust way to get that without this accessor. * add JS_INVALID_CLASS_ID constant for invalid class ID. Signed-off-by: Tyler Rockwood <rockwood@redpanda.com>
* Improve surrogate handling readabilityCharlie Gordon2024-03-023-124/+150
| | | | | | | | | - add inline function to test and convert surrogates is_surrogate(c), is_hi_surrogate(c), is_lo_surrogate(c), get_hi_surrogate(c), get_lo_surrogate(c), from_surrogate(hi, lo) - use names for BC header offsets and lengths in libregexp.c - remove strict aliasing violations in `lre_exec_backtrack()` - pass all context variables to XXX_CHAR macros in `lre_exec_backtrack()`
* Rename regex flag and field utf16 -> unicodeCharlie Gordon2024-03-023-61/+62
| | | | | - rename is_utf16 structure member to is_unicode - rename flag LRE_FLAG_UTF16 as LRE_FLAG_UNICODE
* Fix big endian serializationCharlie Gordon2024-03-022-61/+58
| | | | | | | | | | | | | | | | Big endian serialization was broken because: - it partially relied on `WORDS_ENDIAN` (unconditionally undef'd in cutils.h) - endianness was not handled at all in the bc reader. Modifications: - remove `WORDS_ENDIAN` - use `bc_put_u32()` / `bc_put_u64()` in `JS_WriteBigInt()` - use `bc_get_u32()` / `bc_get_u64()` in `JS_ReadBigInt()` - handle host endianness in `bc_get_u16()`, `bc_get_u32()`, `bc_get_u64()` and `JS_ReadFunctionBytecode()` - handle optional littleEndian argument as specified in `js_dataview_getValue()` and `js_dataview_setValue()`
* Fix UB signed integer overflow in js_math_imulCharlie Gordon2024-03-021-5/+7
| | | | | | | - Use uint32_t arithmetics and Standard conformant conversion to avoid UB in js_math_imul. - add builtin tests - use specific object directories for SAN targets
* Fix UB left shift of negative numberBen Noordhuis2024-03-021-1/+1
|
* Remove unnecessary ssize_t posix-ismBen Noordhuis2024-03-021-1/+1
| | | | | | | | ssize_t is not always available and the cast it was used in wasn't necessary in the first place, the value already has the right type. Note that the field malloc_limit is an int64_t in JSMemoryUsage whereas it is a size_t in JSMallocState.
* Improve string concatenation hackCharlie Gordon2024-03-022-78/+96
| | | | | | - add more cases of in place string concatenation this temporary hack improves the microbench timing by 30% but has little impact on the test262 timings.
* Reverse e140122202cc24728b394f8f90fa2f4a2d7c397eCharlie Gordon2024-03-021-2/+0
| | | | | | | - remove temporary fix for MemorySanitizer: setting p->u.array.count to 0 silenced a warning in JS_GetPropertyValue on a hacky test agains the length of fast_array object. This hack was removed by commit c3635861f63931255c7a953bccbb0e2e90cc75aa.
* Fix test262 errorCharlie Gordon2024-03-021-2/+8
| | | | | | - force evaluation order in `set_date_fields` - fix evaluation error in test262/test/built-ins/Date/UTC/fp-evaluation-order.js:19: unexpected error: Test262Error: precision in MakeDate Expected SameValue(«34448384», «34447360») to be true
* Fix sloppy mode arguments uninitialized value useBen Noordhuis2024-03-021-0/+2
| | | | | | MemorySanitizer complained about uninitialized reads in the indexed property code path in JS_GetPropertyValue() with JS_CLASS_MAPPED_ARGUMENTS objects.
* Remove unsafe sprintf() and strcat() callsBen Noordhuis2024-03-021-22/+24
| | | | | Prep work for enabling the sanitizers on macos CI since they are marked as deprecated and cause the build to fail when -Werror is enabled.
* Fix undefined behavior (UBSAN)Charlie Gordon2024-03-021-2/+4
|
* Fix UB in js_dtoa1Saúl Ibarra Corretgé2024-03-021-1/+3
|
* Fix runtime bugsCharlie Gordon2024-03-021-13/+9
| | | | | - fix string leak in `js_printf_internal` on errors - read `errno` before potential side effects in `js_os_stat`
* Strip trailing spacesCharlie Gordon2024-03-0214-760/+760
|
* avoid using INT64_MAX in double comparisons because it cannot be exactly ↵Fabrice Bellard2024-03-021-2/+3
| | | | represented as a double (bnoordhuis)
* fixed Promise return in the REPL by using a wrapper object in async ↵Fabrice Bellard2024-03-021-2/+14
| | | | std.evalScript() (github issue #231)
* export JS_GetModuleNamespace (github issue #34)Fabrice Bellard2024-03-022-7/+6
|
* simplified and fixed arrow function parsing (github issue #226)Fabrice Bellard2024-03-021-46/+57
|
* new releaseFabrice Bellard2024-03-021-1/+1
|
* fixed JS_GetScriptOrModuleName() in direct or indirect eval codeFabrice Bellard2024-03-021-11/+24
|
* quickjs: reduce diff with upstreambptato2024-03-027-81/+36
| | | | | | * the uint8array thing is probably from txiki.js, but we never used it * upstream now has JS_GetClassID, importing that instead... (so this commit won't build :/)
* cssparser: fix another anb parsing bugbptato2024-03-021-2/+2
| | | | obviously for ident tokens we must check value, not unit
* container: fix off-by-one error in scrollDownbptato2024-03-021-1/+1
|
* env: add window.screenbptato2024-03-022-1/+25
|
* cssparser: fix anb parser whitespace handling bugsbptato2024-03-021-4/+7
| | | | | * skip whitespace in some places where we didn't but should * fix crash in get_tok when eof comes after whitespace