Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plork's modernization and boost killing, take two #182

Merged
merged 50 commits into from
Dec 3, 2023

Conversation

arch1t3cht
Copy link
Collaborator

This should finally be ready now. Checked through all the changes and tested the parts that went through bigger refactors (i.e. karaoke mode and the kanji timer), and it now compiles and passes tests on all platforms.

CoffeeFlux and others added 30 commits November 24, 2023 15:43
This reverts commit 2e6b26d.
Taking out the BOM handling broke tests, so it'll probably break more
stuff.
This partially reverts 62befa9 .
This function is actually used in charset_conv_win.cpp
The previous logic didn't check if the match was on parts of
decomposed characters, so it also failed the corresponding test.
This was clearly incorrect and probably just unfinished.
On newer mac sdks iconv_t is defined differently, so it's harder to
just have a typedef for it.
wx uses a different string implementation here, and utf8_string()
doesn't exist there.
Since luajit always first tried using dependency(), further calls
of dependency() will also always return system luajit.
meson.override_dependency() won't work.
This makes luabins link system luajit where it's available while aegisub
itself uses the subproject's luajit, which causes all kinds of fun
issues and definitely didn't baffle me four hours...

The added solution for this is horribly ugly (and also has problems when
reconfiguring...) but it's the only one I found that works. Maybe it's
better to always require interal luajit after all, or make the user
choose with a meson option?
Previously this would fail on startup because the automation menu
uses boost::locale::comparator.
... Or maybe the locale init change should just be reverted entirely?
Or it should be something different? I don't really know.
Thinking about it some more, just copying the detection logic is
probably the lesser evil here.
is_end being removed caused it to not output an empty segment at the
end if the input ends with a delimiter, but existing usages relied
on it doing that.
Apparently dependency('iconv') breaks when iconv is overridden??
windows.h was defining the ERROR macro, which shadowed the
DialogueTokenType enum variant, which broke the lexer construction.
Include UBRK_WORD_IDEO and check the entire rules vec. This now matches
the logic of boost::locale.
This was breaking things (libass) and doesn't seem to be
needed any more.
These broke some things, in particular FromUTF8Unchecked seems to not
like empty strings. Probably safer to just revert.
This reverts commit 256cbeb.
@CoffeeFlux CoffeeFlux merged commit 0b40de8 into master Dec 3, 2023
5 checks passed
@arch1t3cht arch1t3cht deleted the more_modernization branch December 3, 2023 23:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants