* Use `io::Error` for OS error handling
(This results in some added bloat, but is more convenient for now.)
* Add an `icu` error type
* Move `apperr` from the library into the binary
This also sneaks in a minor improvement to sorting.
The only two places we need to sort, don't need stable sorting.
(Unstable sorting is a lot faster and simpler.)
The main change is adding multithreading support in order to make JSON
unit tests work properly. The TLS overhead is not _that bad.
Other changes:
* Switch to `io::Result`, because `AllocError` doesn't
transmit error codes (meh!)
* Reduce x86 commit chunk size to 32KiB
* Improved performance slightly by inlining harder (`alloc_uninit`)
and outlining the result unwrap (`alloc_raw_bump`)
edit will now display specific error messages when the console fails to
support `ENABLE_VIRTUAL_TERMINAL_INPUT`. The user will be gently
reprimanded for not using the modern console host.
It is technically possible to run edit on OpenConsole (or another third-
party console host!)--even on Windows 8.1--where it will work properly.
Since `srgb_to_linear` is non-linear we can't use it for premultiplied
colors. Instead of unpremultiplying them, I changed the rest of the app
to straight alpha and introduced types to ensure we don't mess it up.
I hope I got all the names right as I had to pull them out manually.
The majority of PRs required changes to make them work.
Closes#108Closes#114Closes#125Closes#130Closes#144Closes#148Closes#314Closes#358Closes#373Closes#402Closes#437Closes#465Closes#497Closes#502Closes#514Closes#585
Co-authored-by: Ebrahim Byagowi <ebrahim@gnu.org>
Co-authored-by: Mads Ohm Larsen <mads.ohm@gmail.com>
Co-authored-by: william.beino <william.beino@gamifiera.com>
Co-authored-by: marinac-dev <github@regex-sh.com>
Co-authored-by: marginal23326 <58261815+marginal23326@users.noreply.github.com>
Co-authored-by: NandeMD <celikumutcan2001@gmail.com>
Co-authored-by: Mekan Soltanov <mknsltnw@gmail.com>
Co-authored-by: Þór Sigurðsson <thor@ttk.is>
Co-authored-by: Skryta Istota <48822204+hidden-being@users.noreply.github.com>
Co-authored-by: Piotr Błażejewicz <peterblazejewicz@users.noreply.github.com>
Co-authored-by: schilive <schilive100@gmail.com>
Co-authored-by: Jakub Kolčář <j.kolcar@raynet.cz>
Co-authored-by: Michael Avagianos <hello@maikkun.dev>
Co-authored-by: Ruzsinszki Gábor <ruzsinszki.gabor@gmail.com>
Co-authored-by: erithax <erithax@proton.me>
Co-authored-by: spinualexandru <spinualexandru@outlook.com>
Co-authored-by: Ronja Koistinen <ronja.koistinen@helsinki.fi>
Co-authored-by: ykarpenko <ykarpenko@netfully.com>