updated for version 7.0073
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 4af8d96..0dce8e0 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.0aa.  Last change: 2005 May 18
+*todo.txt*      For Vim version 7.0aa.  Last change: 2005 May 19
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -88,10 +88,6 @@
 
 setline() should accept a List.
 
-smsg() uses IObuff.  The checks for the result not fitting are complicated,
-find another solution.  Add vsnprintf() and snprintf() functions?
-    http://www.ijs.si/software/snprintf/
-
 Add ":[range]sort" command.  Sort on specified field, using a regexp?  Remove
 duplicates?
 
diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt
index 9322567..1cde470 100644
--- a/runtime/doc/version7.txt
+++ b/runtime/doc/version7.txt
@@ -1,4 +1,4 @@
-*version7.txt*  For Vim version 7.0aa.  Last change: 2005 May 18
+*version7.txt*  For Vim version 7.0aa.  Last change: 2005 May 19
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1068,4 +1068,8 @@
 When "~" is in 'iskeyword' the "gd" doesn't work, it's used for the previous
 substitute pattern.  Put "\V" in the pattern to avoid that.
 
+Use of sprintf() sometimes didn't check properly for buffer overflow.  Also
+when using smsg().  Included code for snprintf() to avoid having to do size
+checks where invoking them
+
  vim:tw=78:ts=8:ft=help:norl:
diff --git a/runtime/indent/lisp.vim b/runtime/indent/lisp.vim
index 444fe10..9f404ae 100644
--- a/runtime/indent/lisp.vim
+++ b/runtime/indent/lisp.vim
@@ -1,7 +1,8 @@
 " Vim indent file
 " Language:	Lisp
-" Maintainer:	noone
-" Last Change:	2005 Mar 28
+" Maintainer:    Sergey Khorev <sergey.khorev@gmail.com>
+" URL:		 http://iamphet.nm.ru/vim
+" Last Change:	2005 May 19
 
 " Only load this indent file when no other was loaded.
 if exists("b:did_indent")
@@ -9,7 +10,6 @@
 endif
 let b:did_indent = 1
 
-" Autoindent is the best we can do.
-setlocal ai
+setlocal ai nosi
 
-let b:undo_indent = "setl ai<"
+let b:undo_indent = "setl ai< si<"
diff --git a/runtime/syntax/mma.vim b/runtime/syntax/mma.vim
index e948b0a..37988ed 100644
--- a/runtime/syntax/mma.vim
+++ b/runtime/syntax/mma.vim
@@ -14,11 +14,7 @@
 " I also recommend setting the default 'Comment' hilighting to something
 " other than the color used for 'Function', since both are plentiful in
 " most mathematica files, and they are often the same color (when using 
-" background=dark).  I use
-"
-"   hi Comment ctermfg=darkcyan
-"   
-" darkgreen also looks good on my terminal.
+" background=dark).
 "
 " Credits:
 " o  Original Mathematica syntax version written by
@@ -45,16 +41,6 @@
 syntax cluster mmaStrings contains=@mmaCommentStrings,mmaString
 syntax cluster mmaTop contains=mmaOperator,mmaGenericFunction,mmaPureFunction,mmaVariable
 
-" Variables:
-"   Dollar sign variables
-syntax match mmaVariable "$\a\+\d*"
-"   Preceding contexts
-syntax match mmaVariable "`\=\a\+\d*`"
-
-" Numbers:
-syntax match mmaNumber "\<\%(\d\+\.\=\d*\|\d*\.\=\d\+\)\>"
-syntax match mmaNumber "`\d\+\>"
-
 " Predefined Constants:
 "   to list all predefined Symbols would be too insane...
 "   it's probably smarter to define a select few, and get the rest from
@@ -89,41 +75,24 @@
 " function attributes
 syntax keyword mmaVariable Protected Listable OneIdentity Orderless Flat Constant NumericFunction Locked ReadProtected HoldFirst HoldRest HoldAll HoldAllComplete SequenceHold NHoldFirst NHoldRest NHoldAll Temporary Stub 
 
-" Strings:
-"   "string"
-"   'string' is not accepted (until literal strings are supported!)
-syntax region mmaString start=+\\\@<!"+ skip=+\\\@<!\\\%(\\\\\)*"+ end=+"+
-syntax region mmaCommentString oneline start=+\\\@<!"+ skip=+\\\@<!\\\%(\\\\\)*"+ end=+"+ contained
+" Comment Sections:
+"   this:
+"   :that:
+syntax match mmaItem "\%(^[( |*\t]*\)\@<=\%(:\+\|\a\)[a-zA-Z0-9 ]\+:" contained contains=@mmaNotes
 
-" Function Usage Messages:
-"   "SymbolName::item"
-syntax match mmaMessage "$\=\a\+\d*::\a\+\d*"
-
-" Pure Functions:
-syntax match mmaPureFunction "#\%(#\|\d\+\)\="
-syntax match mmaPureFunction "&"
-
-" Named Functions:
-" Since everything is pretty much a function, get this straight 
-" from context
-syntax match mmaGenericFunction "[A-Za-z0-9`]\+\s*\%([@[]\|/:\|/\=/@\)\@=" contains=mmaOperator
-syntax match mmaGenericFunction "\~\s*[^~]\+\s*\~"hs=s+1,he=e-1 contains=mmaOperator,mmaBoring
-syntax match mmaGenericFunction "//\s*[A-Za-z0-9`]\+"hs=s+2 contains=mmaOperator
- 
 " Comment Keywords:
 syntax keyword mmaTodo TODO NOTE HEY contained
 syntax match mmaTodo "X\{3,}" contained
 syntax keyword mmaFixme FIX[ME] FIXTHIS BROKEN contained
 " yay pirates...
 syntax match mmaFixme "\%(Y\=A\+R\+G\+\|GRR\+\|CR\+A\+P\+\)\%(!\+\)\=" contained
-syntax match mmaemPHAsis "\(_\+\)[ a-zA-Z0-9]\+\1" contained
 
-" Comment Sections:
-"   this:
-"   :that:
-syntax match mmaItem "\%(^[( |*\t]*\)\@<=\%(:\+\|\a\)[a-zA-Z0-9 ]\+:" contained contains=@mmaNotes
+" EmPHAsis:
+" this unnecessary, but whatever :)
+syntax match mmaemPHAsis "\%(^\|\s\)\([_/]\)[a-zA-Z0-9]\+\%(\s\+[a-zA-Z0-9]\+\)*\1\%(\s\|$\)" contained contains=mmaemPHAsis
+syntax match mmaemPHAsis "\%(^\|\s\)(\@<!\*[a-zA-Z0-9]\+\%(\s\+[a-zA-Z0-9]\+\)*)\@!\*\%(\s\|$\)" contained contains=mmaemPHAsis
 
-" Actual Mathematica Comments:
+" Regular Comments:
 "   (* *)
 "   allow nesting (* (* *) *) even though the frontend
 "   won't always like it.
@@ -141,6 +110,19 @@
 " catch preceding *
 syntax match mmaCommentStar "^\s*\*\+" contained
 
+" Variables:
+"   Dollar sign variables
+syntax match mmaVariable "$\a\+\d*"
+"   Preceding contexts
+syntax match mmaVariable "`\=\a\+\d*`"
+
+" Strings:
+"   "string"
+"   'string' is not accepted (until literal strings are supported!)
+syntax region mmaString start=+\\\@<!"+ skip=+\\\@<!\\\%(\\\\\)*"+ end=+"+
+syntax region mmaCommentString oneline start=+\\\@<!"+ skip=+\\\@<!\\\%(\\\\\)*"+ end=+"+ contained
+
+
 " Patterns:
 "   Each pattern marker below can be Blank[] (_), BlankSequence[] (__)
 "   or BlankNullSequence[] (___).  Most examples below can also be 
@@ -197,7 +179,25 @@
 syntax match mmaOperator "\%(\~\~\=\)"
 syntax match mmaOperator "\%(=\{2,3}\|=\=!=\|||\=\|&&\|!\)" contains=ALLBUT,mmaPureFunction
 
-  
+" Function Usage Messages:
+"   "SymbolName::item"
+syntax match mmaMessage "$\=\a\+\d*::\a\+\d*"
+
+" Pure Functions:
+syntax match mmaPureFunction "#\%(#\|\d\+\)\="
+syntax match mmaPureFunction "&"
+
+" Named Functions:
+" Since everything is pretty much a function, get this straight 
+" from context
+syntax match mmaGenericFunction "[A-Za-z0-9`]\+\s*\%([@[]\|/:\|/\=/@\)\@=" contains=mmaOperator
+syntax match mmaGenericFunction "\~\s*[^~]\+\s*\~"hs=s+1,he=e-1 contains=mmaOperator,mmaBoring
+syntax match mmaGenericFunction "//\s*[A-Za-z0-9`]\+"hs=s+2 contains=mmaOperator
+
+" Numbers:
+syntax match mmaNumber "\<\%(\d\+\.\=\d*\|\d*\.\=\d\+\)\>"
+syntax match mmaNumber "`\d\+\%(\d\@!\.\|\>\)"
+
 " Special Characters:
 "   \[Name]     named character
 "   \ooo        octal
@@ -243,10 +243,10 @@
     HiLink mmaFunctionComment   Comment
     HiLink mmaLooseQuote        Comment
 	HiLink mmaGenericFunction   Function
+	HiLink mmaVariable          Identifier
 	HiLink mmaOperator          Operator
     HiLink mmaPatternOp         Operator
 	HiLink mmaPureFunction      Operator
-	HiLink mmaVariable          Identifier
 	HiLink mmaString            String
     HiLink mmaCommentString     String
 	HiLink mmaUnicode           String