bpo-30722: Make redemo work with Python 3.6+ (GH-2311)

diff --git a/Misc/NEWS.d/next/Tools-Demos/2017-10-23-19-45-52.bpo-30722.ioRlAu.rst b/Misc/NEWS.d/next/Tools-Demos/2017-10-23-19-45-52.bpo-30722.ioRlAu.rst
new file mode 100644
index 0000000..2d20c4b
--- /dev/null
+++ b/Misc/NEWS.d/next/Tools-Demos/2017-10-23-19-45-52.bpo-30722.ioRlAu.rst
@@ -0,0 +1,9 @@
+Make redemo work with Python 3.6 and newer versions.
+
+In Python 3.6, flags like re.DOTALL became members of an enum.IntFlag so
+usages like ``getattr(re, 'DOTALL')`` are invalid.
+
+Also, remove the ``LOCALE`` option since it doesn't work with string
+patterns in Python 3.
+
+Patch by Christoph Sarnowski.
diff --git a/Tools/demo/redemo.py b/Tools/demo/redemo.py
index 8335d4c..256a63e 100755
--- a/Tools/demo/redemo.py
+++ b/Tools/demo/redemo.py
@@ -75,7 +75,6 @@
         self.boxes = []
         self.vars = []
         for name in ('IGNORECASE',
-                     'LOCALE',
                      'MULTILINE',
                      'DOTALL',
                      'VERBOSE'):
@@ -83,7 +82,7 @@
                 frame = Frame(self.master)
                 frame.pack(fill=X)
                 self.frames.append(frame)
-            val = getattr(re, name)
+            val = getattr(re, name).value
             var = IntVar()
             box = Checkbutton(frame,
                     variable=var, text=name,