Commit Graph

1029 Commits

Author SHA1 Message Date
K. Lange
7e96bdeec1 Fix critical issue when trying to compare strings to themselves 2021-08-30 19:57:53 +09:00
HarJIT
f5f314a42d
One fix and one improvement to GB18030: (#15)
— The codec had been failing to decode 0x81308130 to U+0080, even though
it successfully encoded it. Since U+0080 is not used for anything in most
contexts (it's allocated as a control code in the ECMA-35 sense, but
ECMA-48 does not use it) this is unlikely to have hurt anything, but I
have fixed it anyway (it arose from 0 and None being conflated in a
conditional).

— The encoding and decoding of GB18030 four-byte codes now uses binary
search rather than linear search. This significantly improves performance
on four-byte codes, though performance on two-byte codes is unaffected.
2021-08-12 19:17:59 +09:00
K. Lange
9435cbf442 Add initial 'random' module 2021-08-10 20:28:25 +09:00
K. Lange
d1d815b295 Implement listiterators as C objects 2021-07-28 19:32:49 +09:00
K. Lange
fba00902d4 Emit bright colors so 1;30 doesn't produce black in Terminal.app on macOS 2021-07-26 09:04:28 +09:00
K. Lange
f979321141 Allow configurable recursion depth and raise exception when exceeded 2021-07-22 21:42:39 +09:00
K. Lange
194b45c25d v1.1.2 2021-07-15 10:00:01 +09:00
K. Lange
8a5214c6e8 Support keyword arguments to lambdas 2021-07-07 21:46:33 +09:00
K. Lange
cdb721b674 Update rline with r-search 2021-06-15 15:51:40 +09:00
K. Lange
7a946bd84a Add str.__rmul__ 2021-06-09 16:54:57 +09:00
K. Lange
edf8b26834 Fix fgetc return value in traceback printing, esp. on unsigned-char targets 2021-06-03 21:54:26 +09:00
K. Lange
d859ac5092 Visibility is not available on PE32+, turn it off for EFI in general 2021-05-12 17:37:12 +09:00
K. Lange
aefdbb936a zero size files are, surprisingly, a thing... 2021-05-07 17:00:04 +09:00
K. Lange
1f91c99abb Actually put a NULL at the end of lists passed to exec* 2021-05-06 19:33:57 +09:00
K. Lange
bd7102a2f0 Actually check that PATH is set before trying to use it 2021-05-06 19:33:39 +09:00
K Lange
0c0b8c98e7 Don't check fread size against ftell size because of Windows linefeed conversion 2021-05-03 21:12:00 +09:00
K. Lange
f6a8170d38 v1.1.1
This is a bugfix release.
2021-04-29 09:31:39 +09:00
K. Lange
07e04b001c Scan new src/modules/ directory for Doxygen stuff 2021-04-28 21:26:44 +09:00
K. Lange
3e13cdf428 Only define those in tcc 2021-04-28 21:23:26 +09:00
K. Lange
52511aee78 Provide some __builtin's when building under tcc. 2021-04-28 13:10:50 +09:00
K. Lange
2a2cb3962e Bundle 'timeit' when bundling 2021-04-28 13:10:35 +09:00
K. Lange
100a953d8e dict.capacity does not, in fact, take 1 argument 2021-04-28 13:10:21 +09:00
K. Lange
567a003731 Upstream a toaru-related workaround temporarily 2021-04-27 21:42:00 +09:00
K. Lange
300d64495f Relocate modules to resolve a build annoyance. 2021-04-27 21:41:43 +09:00
K. Lange
0917abe2fd Fix bad scrollback behavior for temporary buffer in rline 2021-04-27 16:17:59 +09:00
K. Lange
5f3effed53 Allow trailing comma in function call argument list 2021-04-27 16:08:44 +09:00
K. Lange
b233ba47c7 Add set.__eq__ 2021-04-27 16:06:44 +09:00
K. Lange
39527f49b0 Fix bad stack when returning from any, all on iterators. 2021-04-27 16:06:40 +09:00
K. Lange
cbac67fc7b Fix bad sign for bytes in rline scrollback 2021-04-26 11:26:51 +09:00
K Lange
5d9df1ca25 Let's not pull in tcmalloc any more
It seems whatever was causing the ridiculous malloc times previously
is resolved and was something on our end. Let's stop linking with
tcmalloc so we can also get rid of psapi and libstdc++.
2021-04-25 11:32:53 +09:00
K. Lange
3733c996bc Fix assignments to single complex assignment targets (trailing commas) 2021-04-23 14:15:14 +09:00
K. Lange
b51704f96e More fixes from the fuzzer 2021-04-19 18:25:41 +09:00
K. Lange
5ce595e01a Clean up some error handling issues fuzzing picked up 2021-04-19 17:34:03 +09:00
K. Lange
ceb8c59988 Write some docs on binding C functions 2021-04-19 08:45:02 +09:00
K. Lange
06a00b4f0d Fix missing pop in debugger 2021-04-17 19:39:27 +09:00
K. Lange
391ee73d48 Try to make the benchmark suite more fair on instance variables 2021-04-17 19:32:02 +09:00
K. Lange
444cb28d06 Drop krk_callSimple
Replace it with two functions that won't run into issues with
trying to call bound objects, instances, etc. that weren't on
the stack. In general, if you have a callable value of unknown
type you should call `krk_callStack` with it on the stack followed
by all of its args; to make this abundantly clear, `krk_callStack`
only takes the argument count. For calling things we know to be
safe (closures and natives), there is `krk_callDirect`, which should
be used, for example, when calling core methods like __repr__.
2021-04-17 19:29:52 +09:00
K. Lange
bc27feca69 Sporadic doc improvements 2021-04-17 17:33:45 +09:00
K. Lange
a87a1a40f5 Finish up stage 2 of the compiler cleanup 2021-04-17 12:11:11 +09:00
K. Lange
8fddcb9a8f Part one of my big compiler cleanup... 2021-04-17 09:27:08 +09:00
K. Lange
e4db90d392 Update benchmark suite with fair timing and micropython support 2021-04-16 19:58:05 +09:00
K. Lange
de76ba5394 Do not disable GC in timeit module 2021-04-16 19:57:16 +09:00
K. Lange
96fa1c1f79 Fix completing members of builtins in the repl 2021-04-16 17:58:52 +09:00
K Lange
34b74eae57 See if we can make Github run the benchmark suite or if I need to install CPython... 2021-04-15 20:00:05 +09:00
K Lange
31ddabfdce Free thread state data when threads complete and when we freeVM 2021-04-15 19:37:58 +09:00
K. Lange
84765c1f4d Update test for change in dict ordering 2021-04-14 22:32:51 +09:00
K. Lange
5f766a5726 Add benchmark suite 2021-04-14 22:25:22 +09:00
K. Lange
37c3101578 Commit to power-of-two table capacities 2021-04-14 21:47:23 +09:00
K. Lange
3e165a5e11 Cleanup valueGetProperty and fix native class method binding 2021-04-14 18:31:59 +09:00
K. Lange
477a0978c0 Add a quick timeit.timeit implementation as a C module 2021-04-14 18:02:30 +09:00