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.
Use boost::filesystem::path for all paths, and std::string for all other
strings, converting to/from wxString as close to the actual uses of wx
as possible.
Where possible, replace the uses of non-UI wxWidgets functionality with
the additions to the standard library in C++11, or the equivalents in
boost.
Move the path token management logic to libaegisub (and rewrite it in
the process).
Add a basic thread pool based on asio and std::thread to libaegisub.
This touches nearly every file in the project and a nontrivial amount of
code had to be rewritten entirely, so there's probably a lot of broken
stuff.
1.6.0 removed support for 'make install' as the maintainers are
apparently unaware that their library is not actually a unique snowflake
and that having to use identical compilation settings for every library
is in fact a completely normal thing for C++ libraries that people
somehow manage to deal with.
Building the tests now requires passing the root directory of a copy of
the googletest source to make, via 'make GTEST_ROOT=~/path/to/gtest'.
Fixes a pile of unicode-related issues, such as dictionaries in a path
which does not fit into the system's local charset, and significantly
cuts down on the amount of code.
Originally committed to SVN as r6250.