fix several compile() issues by translating newlines in the tokenizer
diff --git a/Doc/library/functions.rst b/Doc/library/functions.rst
index ff7c4b6..ddece5a 100644
--- a/Doc/library/functions.rst
+++ b/Doc/library/functions.rst
@@ -173,11 +173,10 @@
 
    .. note::
 
-      When compiling a string with multi-line statements, line endings must be
-      represented by a single newline character (``'\n'``), and the input must
-      be terminated by at least one newline character.  If line endings are
-      represented by ``'\r\n'``, use :meth:`str.replace` to change them into
-      ``'\n'``.
+      When compiling a string with multi-line statements in ``'single'`` or
+      ``'eval'`` mode, input must be terminated by at least one newline
+      character.  This is to facilitate detection of incomplete and complete
+      statements in the :mod:`code` module.
 
    .. versionchanged:: 2.3
       The *flags* and *dont_inherit* arguments were added.
@@ -185,6 +184,10 @@
    .. versionchanged:: 2.6
       Support for compiling AST objects.
 
+   .. versionchanged:: 2.7
+      Allowed use of Windows and Mac newlines.  Also input in ``'exec'`` mode
+      does not have to end in a newline anymore.
+
 
 .. function:: complex([real[, imag]])