fix UBs found while running tests; fix negation for uint64 underflowing
fix 1<<... style UBs
remove arch-dependent bswap uses on non-aligned addresses, use per-byte reads
more renames and rearrangement
with FL(x) addition, rename some of the builtins/symbols
add FL(x) accessor and disable TLS for now
fix ugly indentation in disassembly output
disassembly: fix off-by-one offset for 1-byte instructions
disassemble: the newline is indeed needed, always
provide instruction pointers in stacktrace; disassemble when dumping exceptions
vm loop: update current frame's instruction pointer before any exceptions may be raised
c: spaces to tabs
move all global context to a single struct in tls
_stacktrace: move declarations inside the loop
stop with the curr_func stuff, leave the proper stack trace construction to system.lsp
meson: add b_ndebug=if-release by default to keep asserts out of release builds
mkfile: fix non-existent file used for builtins generation; remove generated files on errors
do less when recording which function is currently running just to never throw any exceptions
ios: file descriptors are int, not long
LICENSE: mention SpookyHash implementation
replace lookup3 with SpookyHash
plan9: use aux/data2s to include flisp.boot
ios: char → uint8_t; remove a few unused fields
scheme/lisp files: tabs to spaces, remove trailing whitespace
remove unused *whitespace* define
table: import leak fixes from julia (thanks Keno Fischer and Jeff Bezanson)
on exit: call gc(0) and call finalizers on all cvalues
sixel: do not allocate anything in init besides sixel-output type
reduce ios buffer size to 32k
rename io-tostring! → iostream->string
fix plan 9 build
add terminal-{show,hide}-cursor
terminal: set VMIN to 1, clear INPCK and ISTRIP
terminal: reset back to non-raw mode in atexit
io-wait: timeout in seconds
boot2h: make sure there is a newline after (thanks be0ba)
don't use ulong, use uint32_t
add terminal-{enter,leave}-raw-mode and terminal-get-size
add io-wait
length builtin: detect cycles and return infinity if there is any
sixel-output: reset scaling buffer
randomize: don't use seconds but rather milliseconds
sixel: scaling; fix hls → rgb conversion
add "sleep" builtin
fix randomize()
add basic libsixel-powered logic for drawing sixels
cvalue_printdata: print rune arrays correctly, reenable the fallback logic instead of asserting
prefer "λ" over "lambda"
fix two warnings
add unit tests for two previous issues
OP_LT: fall back to non-numeric compare *only* if failed in numeric mode
addof_uint64: fix overflow checks for 0
vector-alloc: same as array-alloc - more FILL values
array-alloc: allow more FILL values to alternate between (if more than one)
add (array-alloc 'TYPE SIZE FILL)
arrays, vectors: catch index < 0 and produce an error
strings: skip backslash+newline
boot2h: slightly smaller boot file - remove most of indentation and newlines
remove remnants of BOEHM
use faster popcount and bit reversal if available
more cleanup; replace all alloc/free with LLT_-prefixed macros
readme: build with tests
run all tests on both posix and plan 9; enable non-broken parts of perf.lsp test
meson: run some of the tests
operators: shorten
fix -nan.0 becoming +nan.0 on musl(?) systems
make → meson; fix a whole bunch of warnings; reorganize some of the platform-specific logic
fix string-trim cutting off too much at the end
rename from [a-z]+.[a-z]+ to [a-z]+-[a-z]+ for consistency; do a few renames to be more in line with other implementations
get rid of string.dec and string.inc
string.char: same, operate on runes rather than bytes
string.sub: make indexes point to runes, doing so with bytes is kinda useless
split main function into plan9 and posix ones to avoid using ifdefs (mostly)
replace old plan 9 is*rune and to*rune with up to date logic from 9front
char.titlecase, char-{lower,upper,title}-case?, char-{numeric,whitespace}? (note: not necessarily correct)
print-stack-trace: fix when boot logic fails
u8_reverse: shorten
whitespace fix
fix build on posix platforms
reduce custom unicode logic, reuse the one in Plan 9 instead
symchar: add } and {
ios: remove unused functions
utf8: remove unused functions
remove banner
make the current function name "λ" as well, instead of "lambda"
mention λ as well
alias λ → lambda
make {} synonyms to (), in addition to []
exit builtin: fix a warning when building on 9front
ios_vprintf: don't use vasprintf
symchar: move the string inside strchr call
fix plan 9 arm build
fix warnings on plan 9 builds
Merge remote-tracking branch 'mag/bignum' into merge
Merge remote-tracking branch 'mag/femtosplit' into merge
fl_add_any: initial overflow handling