diff --git a/Doc/library/idle.rst b/Doc/library/idle.rst
index d019bf4..384d2bf 100644
--- a/Doc/library/idle.rst
+++ b/Doc/library/idle.rst
@@ -20,7 +20,7 @@
 
 * coded in 100% pure Python, using the :mod:`tkinter` GUI toolkit
 
-* cross-platform: works mostly the same on Windows, Unix, and Mac OS X
+* cross-platform: works mostly the same on Windows, Unix, and macOS
 
 * Python shell window (interactive interpreter) with colorizing
   of code input, output, and error messages
@@ -48,7 +48,7 @@
 window.  They currently have the same top menu but a different
 default title and context menu.
 
-On MacOS, there is one application menu.  It dynamically changes according
+On macOS, there is one application menu.  It dynamically changes according
 to the window currently selected.  It has an IDLE menu, and some entries
 described below are moved around to conform to Apple guidlines.
 
@@ -267,7 +267,7 @@
 Configure IDLE
    Open a configuration dialog and change preferences for the following:
    fonts, indentation, keybindings, text color themes, startup windows and
-   size, additional help sources, and extensions (see below).  On OS X,
+   size, additional help sources, and extensions (see below).  On macOS,
    open the configuration dialog by selecting Preferences in the application
    menu.  To use a new built-in color theme (IDLE Dark) with older IDLEs,
    save it as a new custom theme.
@@ -324,7 +324,7 @@
 Context Menus
 ^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-Open a context menu by right-clicking in a window (Control-click on OS X).
+Open a context menu by right-clicking in a window (Control-click on macOS).
 Context menus have the standard clipboard functions also on the Edit menu.
 
 Cut
@@ -381,7 +381,7 @@
 ^^^^^^^^^^^^
 
 In this section, 'C' refers to the :kbd:`Control` key on Windows and Unix and
-the :kbd:`Command` key on Mac OSX.
+the :kbd:`Command` key on macOS.
 
 * :kbd:`Backspace` deletes to the left; :kbd:`Del` deletes to the right
 
@@ -526,9 +526,9 @@
   Command history
 
   * :kbd:`Alt-p` retrieves previous command matching what you have typed. On
-    OS X use :kbd:`C-p`.
+    macOS use :kbd:`C-p`.
 
-  * :kbd:`Alt-n` retrieves next. On OS X use :kbd:`C-n`.
+  * :kbd:`Alt-n` retrieves next. On macOS use :kbd:`C-n`.
 
   * :kbd:`Return` while on any previous command retrieves that command
 
@@ -796,7 +796,7 @@
 IDLE ships with four built-in key sets. In addition, a user can create a
 custom key set in the Configure IDLE dialog under the keys tab.
 
-IDLE on MacOS
+IDLE on macOS
 ^^^^^^^^^^^^^
 
 Under System Preferences: Dock, one can set "Prefer tabs when opening
diff --git a/Lib/idlelib/config.py b/Lib/idlelib/config.py
index 0eb90fc..79d988f 100644
--- a/Lib/idlelib/config.py
+++ b/Lib/idlelib/config.py
@@ -562,12 +562,11 @@
         result = self.GetKeySet(self.CurrentKeys())
 
         if sys.platform == "darwin":
-            # OS X Tk variants do not support the "Alt" keyboard modifier.
-            # So replace all keybingings that use "Alt" with ones that
-            # use the "Option" keyboard modifier.
-            # TODO (Ned?): the "Option" modifier does not work properly for
-            #        Cocoa Tk and XQuartz Tk so we should not use it
-            #        in default OS X KeySets.
+            # macOS (OS X) Tk variants do not support the "Alt"
+            # keyboard modifier.  Replace it with "Option".
+            # TODO (Ned?): the "Option" modifier does not work properly
+            #     for Cocoa Tk and XQuartz Tk so we should not use it
+            #     in the default 'OSX' keyset.
             for k, v in result.items():
                 v2 = [ x.replace('<Alt-', '<Option-') for x in v ]
                 if v != v2:
diff --git a/Lib/idlelib/help.html b/Lib/idlelib/help.html
index a8afc75..e2bf773 100644
--- a/Lib/idlelib/help.html
+++ b/Lib/idlelib/help.html
@@ -108,7 +108,7 @@
 <p>IDLE has the following features:</p>
 <ul class="simple">
 <li>coded in 100% pure Python, using the <a class="reference internal" href="tkinter.html#module-tkinter" title="tkinter: Interface to Tcl/Tk for graphical user interfaces"><code class="xref py py-mod docutils literal notranslate"><span class="pre">tkinter</span></code></a> GUI toolkit</li>
-<li>cross-platform: works mostly the same on Windows, Unix, and Mac OS X</li>
+<li>cross-platform: works mostly the same on Windows, Unix, and macOS</li>
 <li>Python shell window (interactive interpreter) with colorizing
 of code input, output, and error messages</li>
 <li>multi-window text editor with multiple undo, Python colorizing,
@@ -128,7 +128,7 @@
 <p>Output windows, such as used for Edit =&gt; Find in Files, are a subtype of editor
 window.  They currently have the same top menu but a different
 default title and context menu.</p>
-<p>On MacOS, there is one application menu.  It dynamically changes according
+<p>On macOS, there is one application menu.  It dynamically changes according
 to the window currently selected.  It has an IDLE menu, and some entries
 described below are moved around to conform to Apple guidlines.</p>
 <div class="section" id="file-menu-shell-and-editor">
@@ -304,7 +304,7 @@
 <dt>Configure IDLE</dt>
 <dd><p class="first">Open a configuration dialog and change preferences for the following:
 fonts, indentation, keybindings, text color themes, startup windows and
-size, additional help sources, and extensions (see below).  On OS X,
+size, additional help sources, and extensions (see below).  On macOS,
 open the configuration dialog by selecting Preferences in the application
 menu.  To use a new built-in color theme (IDLE Dark) with older IDLEs,
 save it as a new custom theme.</p>
@@ -349,7 +349,7 @@
 </div>
 <div class="section" id="context-menus">
 <span id="index-4"></span><h3>Context Menus<a class="headerlink" href="#context-menus" title="Permalink to this headline">¶</a></h3>
-<p>Open a context menu by right-clicking in a window (Control-click on OS X).
+<p>Open a context menu by right-clicking in a window (Control-click on macOS).
 Context menus have the standard clipboard functions also on the Edit menu.</p>
 <dl class="docutils">
 <dt>Cut</dt>
@@ -399,7 +399,7 @@
 <div class="section" id="key-bindings">
 <h3>Key bindings<a class="headerlink" href="#key-bindings" title="Permalink to this headline">¶</a></h3>
 <p>In this section, ‘C’ refers to the <kbd class="kbd docutils literal notranslate">Control</kbd> key on Windows and Unix and
-the <kbd class="kbd docutils literal notranslate">Command</kbd> key on Mac OSX.</p>
+the <kbd class="kbd docutils literal notranslate">Command</kbd> key on macOS.</p>
 <ul>
 <li><p class="first"><kbd class="kbd docutils literal notranslate">Backspace</kbd> deletes to the left; <kbd class="kbd docutils literal notranslate">Del</kbd> deletes to the right</p>
 </li>
@@ -521,8 +521,8 @@
 <p>Command history</p>
 <ul class="simple">
 <li><kbd class="kbd docutils literal notranslate">Alt-p</kbd> retrieves previous command matching what you have typed. On
-OS X use <kbd class="kbd docutils literal notranslate">C-p</kbd>.</li>
-<li><kbd class="kbd docutils literal notranslate">Alt-n</kbd> retrieves next. On OS X use <kbd class="kbd docutils literal notranslate">C-n</kbd>.</li>
+macOS use <kbd class="kbd docutils literal notranslate">C-p</kbd>.</li>
+<li><kbd class="kbd docutils literal notranslate">Alt-n</kbd> retrieves next. On macOS use <kbd class="kbd docutils literal notranslate">C-n</kbd>.</li>
 <li><kbd class="kbd docutils literal notranslate">Return</kbd> while on any previous command retrieves that command</li>
 </ul>
 </li>
@@ -757,7 +757,7 @@
 custom key set in the Configure IDLE dialog under the keys tab.</p>
 </div>
 <div class="section" id="idle-on-macos">
-<h3>IDLE on MacOS<a class="headerlink" href="#idle-on-macos" title="Permalink to this headline">¶</a></h3>
+<h3>IDLE on macOS<a class="headerlink" href="#idle-on-macos" title="Permalink to this headline">¶</a></h3>
 <p>Under System Preferences: Dock, one can set “Prefer tabs when opening
 documents” to “Always”.  This setting is not compatible with the tk/tkinter
 GUI framework used by IDLE, and it breaks a few IDLE features.</p>
@@ -817,7 +817,7 @@
 <li><a class="reference internal" href="#help-and-preferences">Help and preferences</a><ul>
 <li><a class="reference internal" href="#help-sources">Help sources</a></li>
 <li><a class="reference internal" href="#setting-preferences">Setting preferences</a></li>
-<li><a class="reference internal" href="#idle-on-macos">IDLE on MacOS</a></li>
+<li><a class="reference internal" href="#idle-on-macos">IDLE on macOS</a></li>
 <li><a class="reference internal" href="#extensions">Extensions</a></li>
 </ul>
 </li>
@@ -899,7 +899,7 @@
 <br />
     <br />
 
-    Last updated on Nov 10, 2018.
+    Last updated on Nov 12, 2018.
     <a href="https://docs.python.org/3/bugs.html">Found a bug</a>?
     <br />
 
diff --git a/Lib/idlelib/iomenu.py b/Lib/idlelib/iomenu.py
index fcd8dcc..f5bced5 100644
--- a/Lib/idlelib/iomenu.py
+++ b/Lib/idlelib/iomenu.py
@@ -41,7 +41,7 @@
             # these problems, falling back to ASCII
             locale_encoding = locale.nl_langinfo(locale.CODESET)
             if locale_encoding is None or locale_encoding == '':
-                # situation occurs on Mac OS X
+                # situation occurs on macOS
                 locale_encoding = 'ascii'
             codecs.lookup(locale_encoding)
         except (NameError, AttributeError, LookupError):
@@ -51,7 +51,7 @@
             try:
                 locale_encoding = locale.getdefaultlocale()[1]
                 if locale_encoding is None or locale_encoding == '':
-                    # situation occurs on Mac OS X
+                    # situation occurs on macOS
                     locale_encoding = 'ascii'
                 codecs.lookup(locale_encoding)
             except (ValueError, LookupError):
diff --git a/Lib/idlelib/macosx.py b/Lib/idlelib/macosx.py
index d3ae224..8f8484a 100644
--- a/Lib/idlelib/macosx.py
+++ b/Lib/idlelib/macosx.py
@@ -1,5 +1,5 @@
 """
-A number of functions that enhance IDLE on Mac OSX.
+A number of functions that enhance IDLE on macOS.
 """
 from sys import platform  # Used in _init_tk_type, changed by test.
 
@@ -192,7 +192,7 @@
         root.bind('<<close-all-windows>>', flist.close_all_callback)
 
         # The binding above doesn't reliably work on all versions of Tk
-        # on MacOSX. Adding command definition below does seem to do the
+        # on macOS. Adding command definition below does seem to do the
         # right thing for now.
         root.createcommand('exit', flist.close_all_callback)
 
diff --git a/Misc/NEWS.d/next/IDLE/2018-11-12-00-20-01.bpo-35213.cqNgzT.rst b/Misc/NEWS.d/next/IDLE/2018-11-12-00-20-01.bpo-35213.cqNgzT.rst
new file mode 100644
index 0000000..9d0e4e1
--- /dev/null
+++ b/Misc/NEWS.d/next/IDLE/2018-11-12-00-20-01.bpo-35213.cqNgzT.rst
@@ -0,0 +1 @@
+Where appropriate, use 'macOS' in idlelib.
