diff --git a/.hgeol b/.hgeol
new file mode 100644
index 0000000..743fd04
--- /dev/null
+++ b/.hgeol
@@ -0,0 +1,36 @@
+[patterns]
+** = native
+
+**.bat  = CRLF
+**.def  = CRLF
+**.dsp  = CRLF
+**.dsw  = CRLF
+**.mak  = CRLF
+**.mk   = CRLF
+**.rc   = CRLF
+**.sln  = CRLF
+**.vcproj  = CRLF
+**.vsprops = CRLF
+
+**.aif  = BIN
+**.au   = BIN
+**.bmp  = BIN
+**.db   = BIN
+**.exe  = BIN
+**.icns = BIN
+**.gif  = BIN
+**.ico  = BIN
+**.info = BIN
+**.jpg  = BIN
+**.pck  = BIN
+**.png  = BIN
+**.psd  = BIN
+**.tar  = BIN
+**.xar  = BIN
+**.zip  = BIN
+
+Lib/email/test/data/msg_26.txt = BIN
+Lib/test/sndhdrdata/sndhdr.* = BIN
+
+[repository]
+native = LF
\ No newline at end of file
diff --git a/Doc/library/warnings.rst b/Doc/library/warnings.rst
index dbd563e..94cbb56 100644
--- a/Doc/library/warnings.rst
+++ b/Doc/library/warnings.rst
@@ -152,6 +152,25 @@
 are ignored, after printing a message to ``sys.stderr``).
 
 
+Default Warning Filters
+~~~~~~~~~~~~~~~~~~~~~~~
+
+By default, Python installs several warning filters, which can be overridden by
+the command-line options passed to :option:`-W` and calls to
+:func:`filterwarnings`.
+
+* :exc:`DeprecationWarning` and :exc:`PendingDeprecationWarning`, and
+  :exc:`ImportWarning` are ignored.
+
+* :exc:`BytesWarning` is ignored unless the :option:`-b` option is given once or
+  twice; in this case this warning is either printed (``-b``) or turned into an
+  exception (``-bb`).
+
+.. versionchanged:: 3.2
+   :exc:`DeprecationWarning` is now ignored by default in addition to
+   :exc:`PendingDeprecationWarning`.
+
+
 .. _warning-suppress:
 
 Temporarily Suppressing Warnings
diff --git a/Misc/gdbinit b/Misc/gdbinit
index 9483054..5e74b01 100644
--- a/Misc/gdbinit
+++ b/Misc/gdbinit
@@ -61,11 +61,12 @@
       set $__p = $__p + 1
       if ($__ad > $__lasti)
 	set $__continue = 0
+      else
+        set $__li = $__li + *$__p
+        set $__p = $__p + 1
       end
-      set $__li = $__li + *$__p
-      set $__p = $__p + 1
     end
-    printf "%d", $__li
+    printf "%d\n", $__li
 end
 
 # print the current frame - verbose
diff --git a/Modules/_io/fileio.c b/Modules/_io/fileio.c
index a685b13..83921ea 100644
--- a/Modules/_io/fileio.c
+++ b/Modules/_io/fileio.c
@@ -268,7 +268,8 @@
             if (rwa) {
             bad_mode:
                 PyErr_SetString(PyExc_ValueError,
-                                "Must have exactly one of read/write/append mode");
+                                "Must have exactly one of read/write/append "
+                                "mode and at most one plus");
                 goto error;
             }
             rwa = 1;
diff --git a/Tools/freeze/makeconfig.py b/Tools/freeze/makeconfig.py
index b9bfd08..06cbb60 100644
--- a/Tools/freeze/makeconfig.py
+++ b/Tools/freeze/makeconfig.py
@@ -1,5 +1,5 @@
 import re
-
+import sys
 
 # Write the config.c file
 
@@ -38,7 +38,6 @@
 # Test program.
 
 def test():
-    import sys
     if not sys.argv[3:]:
         print 'usage: python makeconfig.py config.c.in outputfile',
         print 'modulename ...'
diff --git a/Tools/freeze/winmakemakefile.py b/Tools/freeze/winmakemakefile.py
index 8570f3d..1950d6b 100644
--- a/Tools/freeze/winmakemakefile.py
+++ b/Tools/freeze/winmakemakefile.py
@@ -134,12 +134,13 @@
     print ; print
 
     print "$(target)$(debug_suffix)%s: $(temp_dir) $(OBJS)" % (target_ext)
-    print "\tlink -out:$(target)$(debug_suffix)%s %s" % (target_ext, target_link_flags),
-    print "\t$(OBJS) \\"
-    print "\t$(LIBS) \\"
-    print "\t$(ADDN_LINK_FILES) \\"
-    print "\t$(pythonlib) $(lcustom) $(l_debug)\\"
+    print "\tlink -out:$(target)$(debug_suffix)%s %s" % (target_ext, target_link_flags), "@<<"
+    print "\t$(OBJS)"
+    print "\t$(LIBS)"
+    print "\t$(ADDN_LINK_FILES)"
+    print "\t$(pythonlib) $(lcustom) $(l_debug)"
     print "\t$(resources)"
+    print "<<"
     print
     print "clean:"
     print "\t-rm -f *.obj"
diff --git a/Tools/scripts/h2py.py b/Tools/scripts/h2py.py
index 63e7336..c681e23 100755
--- a/Tools/scripts/h2py.py
+++ b/Tools/scripts/h2py.py
@@ -95,7 +95,7 @@
     for p in ignores:
         body = p.sub(' ', body)
     # replace char literals by ord(...)
-    body = p_char.sub('ord(\\0)', body)
+    body = p_char.sub("ord('\\1')", body)
     # Compute negative hexadecimal constants
     start = 0
     UMAX = 2*(sys.maxint+1)
