#13301: use ast.literal_eval() instead of eval() in Tools/i18n/msgfmt.py.  Patch by Serhiy Storchaka.
diff --git a/Tools/i18n/msgfmt.py b/Tools/i18n/msgfmt.py
index a554442..7b3a81f 100755
--- a/Tools/i18n/msgfmt.py
+++ b/Tools/i18n/msgfmt.py
@@ -24,8 +24,9 @@
         Display version information and exit.
 """
 
-import sys
 import os
+import sys
+import ast
 import getopt
 import struct
 import array
@@ -180,8 +181,7 @@
         l = l.strip()
         if not l:
             continue
-        # XXX: Does this always follow Python escape semantics?
-        l = eval(l)
+        l = ast.literal_eval(l)
         if section == ID:
             msgid += l.encode(encoding)
         elif section == STR: