utils/travis/install_deps.sh - no longer executes anything outside of the osx if block.
utils/travis/exit_wrapper.sh - I honestly don't know why this exists.
utils/travis/test_wrapper.sh - No longer used as of 7ca5a0df6449b4b895842566d33a38872f1f507e.
(cherry-picked from commit 344b5c56b90cffcbc9638bcb7535bb3e0f073da7)
Since these are defined in their MAKE_ENUM enum with N_, we need to manually un-not-translate
them here.
(cherry-picked from commit 2e502334f23447609e2553cbbbae8b251f9796bc)
This removes the -g option from the xcode travis build, since debugging information isn't needed and the increased size was causing the cache to timeout when compressing and uploading it. ccache max cache size is also decreased from 2 GBs to 200 MBs, which matches the linux+cmake builds. Fixes#2670.
(cherry-picked from commit b801140344c7cbf86980ff54ef963f9ec2122897)
This function only ever had an implementation when building the i18n API
to use libintl instead of Boost.Locale was possible, in which case its
implementation would be a std::setlocale() call specific to POSIX
systems.
I'm not backporting this to 1.14 since it's an inconsequential cosmetic
thing, or so I'd like to think. Last time someone tried to remove a
similarly empty "init" function elsewhere, things went south pretty
quickly.
(cherry-picked from commit 94c5f64cc62452f420a9886eefc75d5e4af121fc)
This drops a preprocessor conditional branch that is dead code now that
the file pulls gettext.hpp and the GETTEXT_DOMAIN defaults with it.
See also PR #2711.
(cherry-picked from commit a60239116863ea7592d27f2819017b57a34e0ce5)
There are cases (deprecation.cpp for one) where string_utils.hpp is
included first, which causes the VGETTEXT/VNGETTEXT definition to use
the textdomain-less (a.k.a. forced wesnoth-lib textdomain) overloads of
vgettext() and vngettext(), because GETTEXT_DOMAIN has not yet been
defined by anything. This again results in strings being looked up in
catalogues where xgettext is not adding them.
This is a companion for PR #2711 I should've noticed sooner. Without it,
there were still cases where interpolated strings would not be
translated due to vgettext() using the wrong textdomain for them.
I ran a quick scan on the codebase to make sure there aren't any files
including formula/string_utils.hpp before defining their own
GETTEXT_DOMAIN instead of the gettext.hpp default.
(cherry-picked from commit 5c28dcaab66e34af718c7ceff6ccc9e33b58b039)
The vgettext() function, while declared in src/formula/string_utils.hpp,
actually has its implementation out-of-line in
src/formula/string_utils.cpp where GETTEXT_TEXTDOMAIN is defined to
"wesnoth-lib". Because vgettext() is implemented in terms of the _()
function (an inline wrapper around translation::dsgettext()), it passes
the textdomain defined in the file where it was implemented as a
parameter.
This means that every case of vgettext() being used in other code units
where GETTEXT_TEXTDOMAIN is not defined to "wesnoth-lib", is broken if
the string being looked upon doesn't coincidentally exist in the
wesnoth-lib textdomain.
Ages ago, to work around this limitation, an overload of vgettext() that
takes the textdomain name as a parameter was introduced (see commit
0ba3d05204abff72f7d95cf11a91536dab5aa20a). Since this form of vgettext()
is rather unwieldy to use (and in particular, the xgettext message
extraction tool mistakes the first argument for the msgid, see below), a
VGETTEXT() macro was also added that uses the GETTEXT_TEXTDOMAIN symbol
defined in the file where the call is made, and thus we get the correct
string from the correct textdomain.
Switching all cases of naked vgettext() in mainline to VGETTEXT() fixes
a myriad of situations where an interpolated string that has an extant
translation does not actually get translated in practice because of the
mismatched textdomain reference (see issue #2709 for an example with MP
game titles). I couldn't find any cases of the companion vngettext()
function (which handles plurals) being used in the wild naked, but for
future reference it also has a companion VNGETTEXT() macro to pass the
correct textdomain to its textdomain-parameter overload.
One caveat is that this commit DOES break the string freeze in one
particular case -- src/units/unit.cpp has a case where the
textdomain-parameter version of naked vgettext() was in use with
"wesnoth" as the first parameter, and xgettext misidentified this as a
translation entry for a "wesnoth" string in the file's assigned
textdomain (which is the default textdomain, wesnoth). So this will
result in the next pot-update both removing the spurious "wesnoth"
string AND adding the correct string to the relevant catalogue template
("<span color=\"$color\">$number_or_percent</span> HP").
to that textdomain.
Other than that, I believe this does not break the string freeze in any
other fashion and it shouldn't result in any regressions for i18n.
It might be worth considering in the future renaming vgettext() and
vngettext() to names that make people less likely to misidentify them as
functions they can freely call directly without regard to the textdomain
assignment issue.
(cherry-picked from commit c5b3947e4a837dc98868e3b2c3fa55668fec27a4)
He was changed to female in f4d67031a436 even though he's addressed as "brother" in dialogue. Reported on the forums.
(cherry-picked from commit 3be2ff518781c7a7104e810707be64567cc26e27)
They are no longer just for multiplayer mode (see issue #1475, commit
a09e2bb8583c6125f8c4e3157d6eba8bbd800b62).
[ci skip]
(cherry-picked from commit 39b05dd0dbc1fc14e50e7db19401651ec3eae154)
clang 3.8 is needed for "Money, Time, and hexfloat I/O manipulators (N2071)" (a c++11 feature)
(cherry-picked from commit 439340ce787415d9f8cb48a2ecf1280f28c63db2)
* Switch libeay32 to libcrypto for OpenSSL 1.1.0 update in https://github.com/aquileia/external/
* Added recent source additions not yet present in MSVC projects.
* Miscellaneous minor tidying/sorting in filters and build configurations.
[ci skip]
(cherry-picked from commit 899b4b73b2b1819ffa41b35f7a276959e179c46e)
Note we don't really need to set the other object's renderer ptr to null since
the canvas dtor doesn't destroy it anymore, but still. Good to do.
(cherry-picked from commit 68f4bd14d6eaf546cec3c49d04b14b5d50ac6ebd)
Adds the CXX_STD variable which can be set. Currently defaults to 14. This also now makes cmake honor the CXXSTD env variable set on travis.
(cherry-picked from commit 983045718aa13a2b7b1b45bb37baa76a88a1d47e)
Apparently AppVeyor uses VS2013 tools by default
_even in the VS2015 image_, which makes approximately zero sense.
(cherry-picked from commit 950d4f86e5c4878c9a73bf06bd70aa46c16d84f5)
The reason I added this was so I can refactor some temporary pango_text objects out of the display class.
styled_widget doesn't use this for reasons explained in the comment.
(cherry-picked from commit 770664d1f34a274dd8da70af589719d30b44263b)
This completely removes the wrappers for aliases included in c++14. It also enables
use of the value alias wrappers, since we now have variable templates.
(cherry-picked from commit c1fcba17b75362d1639361fdd4ade7b1a85c0575)