lines. :issue:`175`
- Add ``break_on_hyphens`` parameter to ``|wordwrap`` filter.
:issue:`550`
+- Use :func:`callable` to inject context at runtime for compatibility
+ with Cython compiled functions. :pr:`1108`
Version 2.10.3
from jinja2._compat import izip, with_metaclass, text_type, PY2
-#: the types we support for context functions
-_context_function_types = (types.FunctionType, types.MethodType)
-
-
_binop_to_func = {
'*': operator.mul,
'/': operator.truediv,
from itertools import chain
from types import MethodType
-from jinja2.nodes import EvalContext, _context_function_types
+from jinja2.nodes import EvalContext
from jinja2.utils import Markup, soft_unicode, escape, missing, concat, \
internalcode, object_type_repr, evalcontextfunction, Namespace
from jinja2.exceptions import UndefinedError, TemplateRuntimeError, \
__obj = fn
break
- if isinstance(__obj, _context_function_types):
+ if callable(__obj):
if getattr(__obj, 'contextfunction', 0):
args = (__self,) + args
elif getattr(__obj, 'evalcontextfunction', 0):