summaryrefslogtreecommitdiff
path: root/jinja2/_compat.py
diff options
context:
space:
mode:
Diffstat (limited to 'jinja2/_compat.py')
-rw-r--r--jinja2/_compat.py15
1 files changed, 9 insertions, 6 deletions
diff --git a/jinja2/_compat.py b/jinja2/_compat.py
index 8fa8a49..7f10316 100644
--- a/jinja2/_compat.py
+++ b/jinja2/_compat.py
@@ -127,13 +127,16 @@ function_type = type(_func)
generator_type = type(_func())
method_type = type(_C().method)
code_type = type(_C.method.__code__)
-try:
- raise TypeError()
-except TypeError:
- _tb = sys.exc_info()[2]
- traceback_type = type(_tb)
- frame_type = type(_tb.tb_frame)
+def _get_tbtype():
+ try:
+ raise TypeError()
+ except TypeError:
+ _tb = sys.exc_info()[2]
+ return type(_tb), type(_tb.tb_frame)
+
+traceback_type, frame_type = _get_tbtype()
+del _get_tbtype()
try:
from urllib.parse import quote_from_bytes as url_quote