These weren't merged from 2.1.9 with the rest of the file association
code, which results in the installer trying to reference nonexistent
resources and things breaking.
Updates #1699.
Eliminate the pointless runtime command name -> icon map and just make
commands responsible for their icons. Don't bother predecoding and
caching icons since it wastes some RAM (~10 MB) and decoding icons takes
a trivial amount of time.
Fix a few places where icons were being set for the wrong command names.
Remove the faux-variadic make_unique since 2013 has real variadic
templates.
Switch to the non-deprecated windows version check functions.
Switch to the develop branch of boost since master doesn't fully support
VS 2013 atm.
Fix some assorted compilation errors.
Hardcode the paths to a bunch of Visual Studio things since it's now
expanding the relevant macros to nothing for whatever reason.
Operate on characters rather than bytes in the dialog so that it
actually works with Kanji.
Rewrite the auto-matcher to handle more cases and add unit tests for it.
0.11 has a bug that makes it crash on MoonScript, and 0.12 is much slower.
LPeg isn't packaged as a C library and consists of a whopping two files
so just compile it as part of Aegisub.
API is mostly unchanged other than the addition of a lot more flags.
Should be less buggy since it has an actual test suite, and generally
has a more powerful regex syntax with better support for Unicode.
The bindings are written in MoonScript. For now the compiled form is
store in the repo for convenince.
Do proper unicode case-folding for case-insensitive searching rather
than converting only ascii characters to lowercase. The Turkish 'i' is
still not handled correctly (since it's the only place where
case-folding is locale-dependent), but that's probably not worth caring
about as long as we don't have a Turkish UI translation.
This affects both the find/replace dialog and the select lines dialog.
Closes#1342.