diff --git a/Filelist b/Filelist
index ae76c0dbf65d4a8387c19280b8c19ae0a35dd680..0cb092021e263e8190f163f50c773d8acf8676d5 100644
--- a/Filelist
+++ b/Filelist
@@ -646,7 +646,7 @@ EXTRA =		\
 		README_extra.txt \
 		src/VisVim/VisVim.dll \
 		farsi/README.txt \
-		farsi/fonts/*/far* \
+		farsi/fonts/*/far-* \
 		runtime/vimlogo.xpm \
 		src/swis.s \
 		src/tee/Makefile* \
diff --git a/README_bindos.txt b/README_bindos.txt
index 8fde0d4fb5e69ddf8024e2c0187d3bd9a3e19779..a5f7147334a58a6503c0e85cd57e1bc020327d1b 100644
--- a/README_bindos.txt
+++ b/README_bindos.txt
@@ -1,4 +1,4 @@
-README_bindos.txt for version 7.1a of Vim: Vi IMproved.
+README_bindos.txt for version 7.1b of Vim: Vi IMproved.
 
 See "README.txt" for general information about Vim.
 See "README_dos.txt" for installation instructions for MS-DOS and MS-Windows.
diff --git a/README_lang.txt b/README_lang.txt
index 50783fc2b66ba7f3530234b40ea17621d46336c5..4625b7a0cebc443acc65489d3632c9b6bd903924 100644
--- a/README_lang.txt
+++ b/README_lang.txt
@@ -1,4 +1,4 @@
-README_lang.txt for version 7.1a of Vim: Vi IMproved.
+README_lang.txt for version 7.1b of Vim: Vi IMproved.
 
 This file contains files for non-English languages:
 - Translated messages.
diff --git a/README_srcdos.txt b/README_srcdos.txt
index a3f25163b9222c48a74d539976d76cf6bcb39b94..15363a11e909eafb1e5a9a5516b2fa4db17efe04 100644
--- a/README_srcdos.txt
+++ b/README_srcdos.txt
@@ -1,4 +1,4 @@
-README_srcdos.txt for version 7.1a of Vim: Vi IMproved.
+README_srcdos.txt for version 7.1b of Vim: Vi IMproved.
 
 See "README.txt" for general information about Vim.
 See "README_dos.txt" for installation instructions for MS-DOS and MS-Windows.
diff --git a/README_unix.txt b/README_unix.txt
index c63bb27e9738a49e48e9961a62cf72a906961e2d..37838268c972e8d116463edef69b11b2aa3db703 100644
--- a/README_unix.txt
+++ b/README_unix.txt
@@ -1,4 +1,4 @@
-README_unix.txt for version 7.1a of Vim: Vi IMproved.
+README_unix.txt for version 7.1b of Vim: Vi IMproved.
 
 This file explains the installation of Vim on Unix systems.
 See "README.txt" for general information about Vim.
diff --git a/runtime/doc/arabic.txt b/runtime/doc/arabic.txt
index 95ce20fe78c54e543723274cc4dc1760fabaebf5..f2b0f82a9c52cf3447c59e99deac4b78a23db038 100644
--- a/runtime/doc/arabic.txt
+++ b/runtime/doc/arabic.txt
@@ -1,4 +1,4 @@
-*arabic.txt*	For Vim version 7.1a.  Last change: 2005 Mar 29
+*arabic.txt*	For Vim version 7.1b.  Last change: 2005 Mar 29
 
 
 		  VIM REFERENCE MANUAL	  by Nadim Shaikli
diff --git a/runtime/doc/usr_11.txt b/runtime/doc/usr_11.txt
index e3adf4687da0c38b8fc01879f95e2afc5188574e..6d54a408beece5d85c397218e4dd69fe9fa458eb 100644
--- a/runtime/doc/usr_11.txt
+++ b/runtime/doc/usr_11.txt
@@ -1,4 +1,4 @@
-*usr_11.txt*	For Vim version 7.1a.  Last change: 2006 Apr 24
+*usr_11.txt*	For Vim version 7.1b.  Last change: 2006 Apr 24
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
diff --git a/runtime/doc/usr_28.txt b/runtime/doc/usr_28.txt
index bb8da7f6745d43fc1cd5712fc6bb5c5bc7ffdd2b..0ebd8c72d01ed63c90c6e089940146e1cc5af2e0 100644
--- a/runtime/doc/usr_28.txt
+++ b/runtime/doc/usr_28.txt
@@ -1,4 +1,4 @@
-*usr_28.txt*	For Vim version 7.1a.  Last change: 2006 Apr 24
+*usr_28.txt*	For Vim version 7.1b.  Last change: 2006 Apr 24
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
diff --git a/runtime/doc/usr_40.txt b/runtime/doc/usr_40.txt
index 30c86a03720cc582baa0c078a569b3b1a958a720..fe860ddafeae6bd47074285957ba192baf28b15c 100644
--- a/runtime/doc/usr_40.txt
+++ b/runtime/doc/usr_40.txt
@@ -1,4 +1,4 @@
-*usr_40.txt*	For Vim version 7.1a.  Last change: 2006 Jun 21
+*usr_40.txt*	For Vim version 7.1b.  Last change: 2006 Jun 21
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
diff --git a/runtime/doc/windows.txt b/runtime/doc/windows.txt
index 1b18b2e0a6f65d59d36a4ce39225006ad9183b28..d8d9c9f8235799c1714fa80f1bbece44d851524b 100644
--- a/runtime/doc/windows.txt
+++ b/runtime/doc/windows.txt
@@ -1,4 +1,4 @@
-*windows.txt*   For Vim version 7.1a.  Last change: 2007 Mar 17
+*windows.txt*   For Vim version 7.1b.  Last change: 2007 Mar 17
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/ftplugin/mp.vim b/runtime/ftplugin/mp.vim
index 1d709ea7546e3126351bd0b9609a4ae57119500b..3709782167a151f69ffbcdad29a7ad2633180cb0 100644
--- a/runtime/ftplugin/mp.vim
+++ b/runtime/ftplugin/mp.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         MetaPost
 " Maintainer:       Nikolai Weibull <now@bitwi.se>
-" Latest Revision:  2006-04-19
+" Latest Revision:  2006-07-04
 
 if exists("b:did_ftplugin")
   finish
@@ -12,7 +12,7 @@ let b:undo_ftplugin = "setl com< cms< fo<"
 
 setlocal comments=:% commentstring=%\ %s formatoptions-=t formatoptions+=croql
 
-if !exists(":FixBeginfigs") != 2
+if exists(":FixBeginfigs") != 2
   command -nargs=0 FixBeginfigs call s:fix_beginfigs()
 
   function! s:fix_beginfigs()
diff --git a/runtime/spell/pt/main.aap b/runtime/spell/pt/main.aap
index 9256a9b2b2bef59e97c5cef1d566aeaaf7b9965d..78270e96be5306af4fcb49456f8fd60a616634af 100644
--- a/runtime/spell/pt/main.aap
+++ b/runtime/spell/pt/main.aap
@@ -36,8 +36,9 @@ PT_FNAME = myspell.pt-latest.zip
 # Fetching the pt_BR files from BrOffice.org (Brazilian OOo) 2.1. Should be
 # updated really soon.
 #
-BR_DIR = http://www.deso-se.com.br/downloads/download.php?arquivo=pt_BR-2700g
-BR_FNAME = pt_BR-2700g.zip
+BR_BASENAME = pt_BR-2007-04-11
+BR_DIR = http://www.deso-se.com.br/downloads/download.php?arquivo=$BR_BASENAME
+BR_FNAME = $(BR_BASENAME).zip
 
 :attr {fetch = $BR_DIR} $BR_FNAME
 
@@ -94,7 +95,7 @@ pt_BR.aff pt_BR.dic: {buildcheck=}
 
 # Removing /* ... */ header to avoid warnings.  Write it to the README file, it
 # contains the copyright notice.
-        :sys $VIM pt_BR.aff -e -c "set ff=unix" -c "/\/\*/,/\*\//w README_pt_BR.txt" -c "/\/\*/,/\*\//+1d" -c update -c q
+        :sys $VIM pt_BR.aff -e -c "set ff=unix" -c "/\/\*/,/\*\//w! README_pt_BR.txt" -c "/\/\*/,/\*\//+1d" -c update -c q
 
         #:sys $VIM README_pt_BR.txt -e -c "set ff=unix" -c update -c q
         @if not os.path.exists('pt_BR.orig.aff'):
diff --git a/runtime/syntax/plaintex.vim b/runtime/syntax/plaintex.vim
index 2e2bb3171fdc0a6efbfcc6c293fb89d2cae1738d..7020c68e9bd8865f09d606087bfa3094258bd2b4 100644
--- a/runtime/syntax/plaintex.vim
+++ b/runtime/syntax/plaintex.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         TeX (plain.tex format)
 " Maintainer:       Nikolai Weibull <now@bitwi.se>
-" Latest Revision:  2006-04-19
+" Latest Revision:  2006-10-26
 
 if exists("b:current_syntax")
   finish
@@ -14,6 +14,7 @@ syn match   plaintexControlSequence         display contains=@NoSpell
       \ '\\[a-zA-Z@]\+'
 
 runtime! syntax/initex.vim
+unlet b:current_syntax
 
 syn match   plaintexComment                 display
       \ contains=ALLBUT,initexComment,plaintexComment
@@ -30,8 +31,6 @@ syn match   plaintexCommand                 display contains=@NoSpell
       \ '\\\%(plainoutput\|TeX\)\>'
 syn match   plaintexBoxCommand              display contains=@NoSpell
       \ '\\\%(null\|strut\)\>'
-syn match   plaintexCharacterCommand        display contains=@NoSpell
-      \ /\\\%(["#$%&'.=^_`~]\|``\|''\|-\{2,3}\|[?!]`\|^^L\|\~\|\%(a[ae]\|A[AE]\|acute\|[cdHoOPStuvijlL]\|copyright\|d\=dag\|folio\|ldotp\|[lr]q\|oe\|OE\|slash\|ss\|underbar\)\>\)/
 syn match   plaintexDebuggingCommand        display contains=@NoSpell
       \ '\\\%(showhyphens\|tracingall\|wlog\)\>'
 syn match   plaintexFontsCommand            display contains=@NoSpell
@@ -61,13 +60,17 @@ syn match   plaintexTablesCommand           display contains=@NoSpell
 
 if !exists("g:plaintex_no_math")
   syn region  plaintexMath                  matchgroup=plaintexMath
-      \ contains=@plaintexMath
+      \ contains=@plaintexMath,@NoSpell
       \ start='\$' skip='\\\\\|\\\$' end='\$'
   syn region  plaintexMath                  matchgroup=plaintexMath
-      \ contains=@plaintexMath keepend
+      \ contains=@plaintexMath,@NoSpell keepend
       \ start='\$\$' skip='\\\\\|\\\$' end='\$\$'
 endif
 
+" Keep this after plaintexMath, as we don’t want math mode started at a \$.
+syn match   plaintexCharacterCommand        display contains=@NoSpell
+      \ /\\\%(["#$%&'.=^_`~]\|``\|''\|-\{2,3}\|[?!]`\|^^L\|\~\|\%(a[ae]\|A[AE]\|acute\|[cdHoOPStuvijlL]\|copyright\|d\=dag\|folio\|ldotp\|[lr]q\|oe\|OE\|slash\|ss\|underbar\)\>\)/
+
 syn cluster plaintexMath
       \ contains=plaintexMathCommand,plaintexMathBoxCommand,
       \ plaintexMathCharacterCommand,plaintexMathDelimiter,
diff --git a/src/ops.c b/src/ops.c
index cf7bdb1ad47804e48be28d246206cb45ca399292..ddc414b55139eba4ba399010ab6f29d9d122715d 100644
--- a/src/ops.c
+++ b/src/ops.c
@@ -4094,7 +4094,7 @@ do_do_join(count, insert_space)
  * "redraw" is TRUE when the screen should be updated.
  * Caller must have setup for undo.
  *
- * return FAIL for failure, OK ohterwise
+ * return FAIL for failure, OK otherwise
  */
     int
 do_join(insert_space)
diff --git a/src/option.h b/src/option.h
index c322f3a1c49671c73292f19e6d2d4e454789410f..6208a1c2ab18b7216fb667fe6431f119e989635f 100644
--- a/src/option.h
+++ b/src/option.h
@@ -150,7 +150,7 @@
 #define CPO_CW		'w'	/* "cw" only changes one blank */
 #define CPO_FWRITE	'W'	/* "w!" doesn't overwrite readonly files */
 #define CPO_ESC		'x'
-#define CPO_REPLCNT	'X'	/* "R" with a count only delets chars once */
+#define CPO_REPLCNT	'X'	/* "R" with a count only deletes chars once */
 #define CPO_YANK	'y'
 #define CPO_KEEPRO	'Z'	/* don't reset 'readonly' on ":w!" */
 #define CPO_DOLLAR	'$'