JInja extraction fails silently without error if there's an unrecognized do statement with {a:b} inside
See the following MWE.
[templates/test.html]
{% set a = "foo" %}
{% set b = "bar" %}
{% set d = [1, 2, 3] %}
{% set mydict = {} %}
{% for c in d %}
{% do mydict.update({a: b}) %}
{% endfor %}
{{ _("Hello!") }}
Deleting the entirely nonsense block before _("Hello") makes it able to extract Hello, but in its current state, no messages are extracted.
[babel.cfg]
[jinja2: templates/**.html]
encoding=utf-8
Anyways: Babel 2.17.0 is used.
I think the actual issue is that you're using a {% do %} statement, which is implemented as a Jinja extension.
No extensions are loaded by default unless you tell the Jinja extractor to; as documented in the Jinja docs, you would need
[jinja2: templates/**.html]
encoding = utf-8
extensions = jinja2.ext.do
to have the extension (and thus the do statement, and thus no parsing error from Jinja) loaded for extraction.
But I think we at least an error message, not just stay silent about it.
Something like "unknown statement do"