diff --git a/7.3.962 b/7.3.962
new file mode 100644
index 0000000..ee39d5e
--- /dev/null
+++ b/7.3.962
@@ -0,0 +1,230 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.3.962
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.3.962
+Problem:    Python tests are not portable.
+Solution:   Use shiftwidth instead of iminsert. (ZyX)
+Files:	    src/testdir/test86.in, src/testdir/test86.ok,
+	    src/testdir/test87.in, src/testdir/test87.ok
+
+
+*** ../vim-7.3.961/src/testdir/test86.in	2013-05-16 20:47:51.000000000 +0200
+--- src/testdir/test86.in	2013-05-17 13:34:56.000000000 +0200
+***************
+*** 354,360 ****
+  :" colorcolumn:    string,  window-local
+  :" statusline:     string,  window-local/global
+  :" autoindent:     boolean, buffer-local
+! :" iminsert:       number,  buffer-local
+  :" omnifunc:       string,  buffer-local
+  :" preserveindent: boolean, buffer-local/global
+  :" path:           string,  buffer-local/global
+--- 354,360 ----
+  :" colorcolumn:    string,  window-local
+  :" statusline:     string,  window-local/global
+  :" autoindent:     boolean, buffer-local
+! :" shiftwidth:     number,  buffer-local
+  :" omnifunc:       string,  buffer-local
+  :" preserveindent: boolean, buffer-local/global
+  :" path:           string,  buffer-local/global
+***************
+*** 411,417 ****
+  :let lst+=[['colorcolumn',    '+1',  '+2',  '+3',  'abc',  0,    0,      1    ]]
+  :let lst+=[['statusline',     '1',   '2',   '4',   0,      0,    1,      1    ]]
+  :let lst+=[['autoindent',     0,     1,     1,     2,      1,    0,      2    ]]
+! :let lst+=[['iminsert',       0,     2,     1,     3,      0,    0,      2    ]]
+  :let lst+=[['omnifunc',       'A',   'B',   'C',   1,      0,    0,      2    ]]
+  :let lst+=[['preserveindent', 0,     1,     1,     2,      1,    1,      2    ]]
+  :let lst+=[['path',           '.,,', ',,',  '.',   0,      0,    1,      2    ]]
+--- 411,417 ----
+  :let lst+=[['colorcolumn',    '+1',  '+2',  '+3',  'abc',  0,    0,      1    ]]
+  :let lst+=[['statusline',     '1',   '2',   '4',   0,      0,    1,      1    ]]
+  :let lst+=[['autoindent',     0,     1,     1,     2,      1,    0,      2    ]]
+! :let lst+=[['shiftwidth',     0,     2,     1,     3,      0,    0,      2    ]]
+  :let lst+=[['omnifunc',       'A',   'B',   'C',   1,      0,    0,      2    ]]
+  :let lst+=[['preserveindent', 0,     1,     1,     2,      1,    1,      2    ]]
+  :let lst+=[['path',           '.,,', ',,',  '.',   0,      0,    1,      2    ]]
+*** ../vim-7.3.961/src/testdir/test86.ok	2013-05-15 16:27:33.000000000 +0200
+--- src/testdir/test86.ok	2013-05-17 13:34:56.000000000 +0200
+***************
+*** 232,238 ****
+    G: 0
+    W: 1:0 2:1 3:0 4:1
+    B: 1:0 2:1 3:0 4:1
+! >>> iminsert
+    p/gopts1! KeyError
+    inv: 3! KeyError
+    gopts1! KeyError
+--- 232,238 ----
+    G: 0
+    W: 1:0 2:1 3:0 4:1
+    B: 1:0 2:1 3:0 4:1
+! >>> shiftwidth
+    p/gopts1! KeyError
+    inv: 3! KeyError
+    gopts1! KeyError
+***************
+*** 241,255 ****
+    wopts1! KeyError
+    wopts2! KeyError
+    wopts3! KeyError
+!   p/bopts1: 2
+!   G: 1
+!   W: 1:0 2:2 3:2 4:1
+!   B: 1:0 2:2 3:2 4:1
+    del wopts3! KeyError
+    del bopts3! ValueError
+!   G: 1
+!   W: 1:0 2:2 3:2 4:1
+!   B: 1:0 2:2 3:2 4:1
+  >>> omnifunc
+    p/gopts1! KeyError
+    inv: 1! KeyError
+--- 241,255 ----
+    wopts1! KeyError
+    wopts2! KeyError
+    wopts3! KeyError
+!   p/bopts1: 8
+!   G: 8
+!   W: 1:0 2:2 3:8 4:1
+!   B: 1:0 2:2 3:8 4:1
+    del wopts3! KeyError
+    del bopts3! ValueError
+!   G: 8
+!   W: 1:0 2:2 3:8 4:1
+!   B: 1:0 2:2 3:8 4:1
+  >>> omnifunc
+    p/gopts1! KeyError
+    inv: 1! KeyError
+***************
+*** 333,339 ****
+  Current tab pages:
+    <tabpage 0>(1): 1 windows, current is <window object (unknown)>
+    Windows:
+!     <window object (unknown)>(0): displays buffer <buffer test86.in>; cursor is at (954, 0)
+    <tabpage 1>(2): 1 windows, current is <window object (unknown)>
+    Windows:
+      <window object (unknown)>(0): displays buffer <buffer 0>; cursor is at (1, 0)
+--- 333,339 ----
+  Current tab pages:
+    <tabpage 0>(1): 1 windows, current is <window object (unknown)>
+    Windows:
+!     <window object (unknown)>(0): displays buffer <buffer test86.in>; cursor is at (955, 0)
+    <tabpage 1>(2): 1 windows, current is <window object (unknown)>
+    Windows:
+      <window object (unknown)>(0): displays buffer <buffer 0>; cursor is at (1, 0)
+*** ../vim-7.3.961/src/testdir/test87.in	2013-05-16 20:47:51.000000000 +0200
+--- src/testdir/test87.in	2013-05-17 13:34:56.000000000 +0200
+***************
+*** 341,347 ****
+  :" colorcolumn:    string,  window-local
+  :" statusline:     string,  window-local/global
+  :" autoindent:     boolean, buffer-local
+! :" iminsert:       number,  buffer-local
+  :" omnifunc:       string,  buffer-local
+  :" preserveindent: boolean, buffer-local/global
+  :" path:           string,  buffer-local/global
+--- 341,347 ----
+  :" colorcolumn:    string,  window-local
+  :" statusline:     string,  window-local/global
+  :" autoindent:     boolean, buffer-local
+! :" shiftwidth:     number,  buffer-local
+  :" omnifunc:       string,  buffer-local
+  :" preserveindent: boolean, buffer-local/global
+  :" path:           string,  buffer-local/global
+***************
+*** 398,404 ****
+  :let lst+=[['colorcolumn',    '+1',  '+2',  '+3',  'abc',  0,    0,      1    ]]
+  :let lst+=[['statusline',     '1',   '2',   '4',   0,      0,    1,      1    ]]
+  :let lst+=[['autoindent',     0,     1,     1,     2,      1,    0,      2    ]]
+! :let lst+=[['iminsert',       0,     2,     1,     3,      0,    0,      2    ]]
+  :let lst+=[['omnifunc',       'A',   'B',   'C',   1,      0,    0,      2    ]]
+  :let lst+=[['preserveindent', 0,     1,     1,     2,      1,    1,      2    ]]
+  :let lst+=[['path',           '.,,', ',,',  '.',   0,      0,    1,      2    ]]
+--- 398,404 ----
+  :let lst+=[['colorcolumn',    '+1',  '+2',  '+3',  'abc',  0,    0,      1    ]]
+  :let lst+=[['statusline',     '1',   '2',   '4',   0,      0,    1,      1    ]]
+  :let lst+=[['autoindent',     0,     1,     1,     2,      1,    0,      2    ]]
+! :let lst+=[['shiftwidth',     0,     2,     1,     3,      0,    0,      2    ]]
+  :let lst+=[['omnifunc',       'A',   'B',   'C',   1,      0,    0,      2    ]]
+  :let lst+=[['preserveindent', 0,     1,     1,     2,      1,    1,      2    ]]
+  :let lst+=[['path',           '.,,', ',,',  '.',   0,      0,    1,      2    ]]
+*** ../vim-7.3.961/src/testdir/test87.ok	2013-05-16 20:47:51.000000000 +0200
+--- src/testdir/test87.ok	2013-05-17 13:34:56.000000000 +0200
+***************
+*** 221,227 ****
+    G: 0
+    W: 1:0 2:1 3:0 4:1
+    B: 1:0 2:1 3:0 4:1
+! >>> iminsert
+    p/gopts1! KeyError
+    inv: 3! KeyError
+    gopts1! KeyError
+--- 221,227 ----
+    G: 0
+    W: 1:0 2:1 3:0 4:1
+    B: 1:0 2:1 3:0 4:1
+! >>> shiftwidth
+    p/gopts1! KeyError
+    inv: 3! KeyError
+    gopts1! KeyError
+***************
+*** 230,244 ****
+    wopts1! KeyError
+    wopts2! KeyError
+    wopts3! KeyError
+!   p/bopts1: 2
+!   G: 1
+!   W: 1:0 2:2 3:2 4:1
+!   B: 1:0 2:2 3:2 4:1
+    del wopts3! KeyError
+    del bopts3! ValueError
+!   G: 1
+!   W: 1:0 2:2 3:2 4:1
+!   B: 1:0 2:2 3:2 4:1
+  >>> omnifunc
+    p/gopts1! KeyError
+    inv: 1! KeyError
+--- 230,244 ----
+    wopts1! KeyError
+    wopts2! KeyError
+    wopts3! KeyError
+!   p/bopts1: 8
+!   G: 8
+!   W: 1:0 2:2 3:8 4:1
+!   B: 1:0 2:2 3:8 4:1
+    del wopts3! KeyError
+    del bopts3! ValueError
+!   G: 8
+!   W: 1:0 2:2 3:8 4:1
+!   B: 1:0 2:2 3:8 4:1
+  >>> omnifunc
+    p/gopts1! KeyError
+    inv: 1! KeyError
+*** ../vim-7.3.961/src/version.c	2013-05-16 20:47:51.000000000 +0200
+--- src/version.c	2013-05-17 13:36:36.000000000 +0200
+***************
+*** 730,731 ****
+--- 730,733 ----
+  {   /* Add new patch number below this line */
++ /**/
++     962,
+  /**/
+
+-- 
+TIM: To the north there lies a cave,  the cave of Caerbannog, wherein, carved
+     in mystic runes, upon the very living rock, the last words of Olfin
+     Bedwere of Rheged make plain the last resting place of the most Holy
+     Grail.
+                 "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\  an exciting new programming language -- http://www.Zimbu.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///