Updated runtime files.
diff --git a/runtime/doc/mbyte.txt b/runtime/doc/mbyte.txt
index a72d0f6..2b53ce3 100644
--- a/runtime/doc/mbyte.txt
+++ b/runtime/doc/mbyte.txt
@@ -1,4 +1,4 @@
-*mbyte.txt*     For Vim version 7.3c.  Last change: 2010 Jul 20
+*mbyte.txt*     For Vim version 7.3c.  Last change: 2010 Jul 26
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar et al.
@@ -928,7 +928,7 @@
 
 {only works Windows GUI and compiled with the |+multi_byte_ime| feature}
 
-To input multibyte characters on Windows, you have to use Input Method Editor
+To input multibyte characters on Windows, you can use an Input Method Editor
 (IME).  In process of your editing text, you must switch status (on/off) of
 IME many many many times.  Because IME with status on is hooking all of your
 key inputs, you cannot input 'j', 'k', or almost all of keys to Vim directly.
diff --git a/runtime/doc/message.txt b/runtime/doc/message.txt
index c4ed18b..d534cab 100644
--- a/runtime/doc/message.txt
+++ b/runtime/doc/message.txt
@@ -1,4 +1,4 @@
-*message.txt*   For Vim version 7.3c.  Last change: 2010 Jul 20
+*message.txt*   For Vim version 7.3c.  Last change: 2010 Jul 26
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -467,7 +467,16 @@
 is consuming your memory.  Be careful!  Vim is not completely prepared for an
 out-of-memory situation.  First make sure that any changes are saved.  Then
 try to solve the memory shortage.  To stay on the safe side, exit Vim and
-start again.  Also see |msdos-limitations|.
+start again.
+
+Buffers are only partly kept in memory, thus editing a very large file is
+unlikely to cause an out-of-memory situation.  Undo information is completely
+in memory, you can reduce that with these options:
+- 'undolevels'  Set to a low value, or to -1 to disable undo completely.  This
+  helps for a change that affects all lines.
+- 'undoreload' Set to zero to disable.
+
+Also see |msdos-limitations|.
 
 							*E339*  >
   Pattern too long
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index e6f5883..849fc89 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.3c.  Last change: 2010 Jul 25
+*todo.txt*      For Vim version 7.3c.  Last change: 2010 Jul 26
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -31,6 +31,7 @@
 -------------------- Known bugs and current work -----------------------
 
 Access to free memory with :redir command. (Dominique Pelle, 2010 Jul 25)
+Easier way to reproduce in later message.
 
 Patch for :find completion. (Nazri Ramliy)
 But I prefer to keep term.h and include/term.h  Nazri will work on it.
diff --git a/runtime/filetype.vim b/runtime/filetype.vim
index 92dfda2..369cabc 100644
--- a/runtime/filetype.vim
+++ b/runtime/filetype.vim
@@ -1,7 +1,7 @@
 " Vim support file to detect file types
 "
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2010 May 14
+" Last Change:	2010 Jul 26
 
 " Listen very carefully, I will say this only once
 if exists("did_load_filetypes")
@@ -1633,6 +1633,9 @@
 " Scilab
 au BufNewFile,BufRead *.sci,*.sce		setf scilab
 
+" SCSS
+au BufNewFile,BufRead *.scss 			setf scss
+
 " SD: Streaming Descriptors
 au BufNewFile,BufRead *.sd			setf sd
 
diff --git a/runtime/ftplugin/sass.vim b/runtime/ftplugin/sass.vim
index 9a99931..64232a0 100644
--- a/runtime/ftplugin/sass.vim
+++ b/runtime/ftplugin/sass.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin
-" Language:		Sass
-" Maintainer:		Tim Pope <vimNOSPAM@tpope.org>
-" Last Change:		2010 May 21
+" Language:	Sass
+" Maintainer:	Tim Pope <vimNOSPAM@tpope.org>
+" Last Change:	2010 Jul 26
 
 " Only do this when not done yet for this buffer
 if exists("b:did_ftplugin")
@@ -9,11 +9,14 @@
 endif
 let b:did_ftplugin = 1
 
-let b:undo_ftplugin = "setl cms< inc< ofu<"
+let b:undo_ftplugin = "setl cms< def< inc< inex< ofu< sua<"
 
 setlocal commentstring=//\ %s
+setlocal define=^\\s*\\%(@mixin\\\|=\\)
+setlocal includeexpr=substitute(v:fname,'\\%(.*/\\\|^\\)\\zs','_','')
 setlocal omnifunc=csscomplete#CompleteCSS
+setlocal suffixesadd=.sass,.scss,.css
 
-let &l:include = '^\s*@import\s\+\%(url(\)\='
+let &l:include = '^\s*@import\s\+\%(url(\)\=["'']\='
 
 " vim:set sw=2:
diff --git a/runtime/ftplugin/scss.vim b/runtime/ftplugin/scss.vim
new file mode 100644
index 0000000..981fb1b
--- /dev/null
+++ b/runtime/ftplugin/scss.vim
@@ -0,0 +1,12 @@
+" Vim filetype plugin
+" Language:	SCSS
+" Maintainer:	Tim Pope <vimNOSPAM@tpope.org>
+" Last Change:	2010 Jul 26
+
+if exists("b:did_ftplugin")
+  finish
+endif
+
+runtime! ftplugin/sass.vim
+
+" vim:set sw=2:
diff --git a/runtime/indent/scss.vim b/runtime/indent/scss.vim
new file mode 100644
index 0000000..82bba49
--- /dev/null
+++ b/runtime/indent/scss.vim
@@ -0,0 +1,12 @@
+" Vim indent file
+" Language:	SCSS
+" Maintainer:	Tim Pope <vimNOSPAM@tpope.org>
+" Last Change:	2010 Jul 26
+
+if exists("b:did_indent")
+  finish
+endif
+
+runtime! indent/css.vim
+
+" vim:set sw=2:
diff --git a/runtime/makemenu.vim b/runtime/makemenu.vim
index d728f77..5b6f6d3 100644
--- a/runtime/makemenu.vim
+++ b/runtime/makemenu.vim
@@ -1,6 +1,6 @@
 " Script to define the syntax menu in synmenu.vim
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2008 Jul 13
+" Last Change:	2010 Jul 26
 
 " This is used by "make menu" in the src directory.
 edit <sfile>:p:h/synmenu.vim
@@ -443,6 +443,7 @@
 SynMenu S-Sm.Scheme:scheme
 SynMenu S-Sm.Scilab:scilab
 SynMenu S-Sm.Screen\ RC:screen
+SynMenu S-Sm.SCSS:scss
 SynMenu S-Sm.SDC\ Synopsys\ Design\ Constraints:sdc
 SynMenu S-Sm.SDL:sdl
 SynMenu S-Sm.Sed:sed
diff --git a/runtime/synmenu.vim b/runtime/synmenu.vim
index cebac66..e1b0e00 100644
--- a/runtime/synmenu.vim
+++ b/runtime/synmenu.vim
@@ -2,7 +2,7 @@
 " This file is normally sourced from menu.vim.
 "
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2006 Apr 27
+" Last Change:	2010 Jul 26
 
 " Define the SetSyn function, used for the Syntax menu entries.
 " Set 'filetype' and also 'syntax' if it is manually selected.
diff --git a/runtime/syntax/haml.vim b/runtime/syntax/haml.vim
index bb144ba..f49eaca 100644
--- a/runtime/syntax/haml.vim
+++ b/runtime/syntax/haml.vim
@@ -1,8 +1,8 @@
 " Vim syntax file
-" Language:     Haml
-" Maintainer:   Tim Pope <vimNOSPAM@tpope.org>
-" Filenames:    *.haml
-" Last Change:	2010 May 21
+" Language:	Haml
+" Maintainer:	Tim Pope <vimNOSPAM@tpope.org>
+" Filenames:	*.haml
+" Last Change:	2010 Jul 26
 
 if exists("b:current_syntax")
   finish
@@ -30,7 +30,7 @@
 
 syn match   hamlBegin "^\s*\%([<>]\|&[^=~ ]\)\@!" nextgroup=hamlTag,hamlClassChar,hamlIdChar,hamlRuby,hamlPlainChar,hamlInterpolatable
 
-syn match   hamlTag        "%\w\+" contained contains=htmlTagName,htmlSpecialTagName nextgroup=@hamlComponent
+syn match   hamlTag        "%\w\+\%(:\w\+\)\=" contained contains=htmlTagName,htmlSpecialTagName nextgroup=@hamlComponent
 syn region  hamlAttributes     matchgroup=hamlAttributesDelimiter start="(" end=")" contained contains=htmlArg,hamlAttributeString,hamlAttributeVariable,htmlEvent,htmlCssDefinition nextgroup=@hamlComponent
 syn region  hamlAttributesHash matchgroup=hamlAttributesDelimiter start="{" end="}" contained contains=@hamlRubyTop nextgroup=@hamlComponent
 syn region  hamlObject         matchgroup=hamlObjectDelimiter     start="\[" end="\]" contained contains=@hamlRubyTop nextgroup=@hamlComponent
diff --git a/runtime/syntax/sass.vim b/runtime/syntax/sass.vim
index 5bee495..082ae71 100644
--- a/runtime/syntax/sass.vim
+++ b/runtime/syntax/sass.vim
@@ -1,8 +1,8 @@
 " Vim syntax file
-" Language:     Sass
-" Maintainer:   Tim Pope <vimNOSPAM@tpope.org>
-" Filenames:    *.sass
-" Last Change:	2010 May 21
+" Language:	Sass
+" Maintainer:	Tim Pope <vimNOSPAM@tpope.org>
+" Filenames:	*.sass
+" Last Change:	2010 Jul 26
 
 if exists("b:current_syntax")
   finish
@@ -13,16 +13,36 @@
 syn case ignore
 
 syn cluster sassCssProperties contains=cssFontProp,cssFontDescriptorProp,cssColorProp,cssTextProp,cssBoxProp,cssGeneratedContentProp,cssPagingProp,cssUIProp,cssRenderProp,cssAuralProp,cssTableProp
-syn cluster sassCssAttributes contains=css.*Attr,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssRenderProp
+syn cluster sassCssAttributes contains=css.*Attr,scssComment,cssValue.*,cssColor,cssURL,sassDefault,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssRenderProp
 
+syn region sassDefinition matchgroup=cssBraces start="{" end="}" contains=TOP
+
+syn match sassProperty "\%([{};]\s*\|^\)\@<=[[:alnum:]-]\+:" contains=css.*Prop skipwhite nextgroup=sassCssAttribute contained containedin=sassDefinition
 syn match sassProperty "^\s*\zs\s\%([[:alnum:]-]\+:\|:[[:alnum:]-]\+\)"hs=s+1 contains=css.*Prop skipwhite nextgroup=sassCssAttribute
-syn match sassProperty "^\s*\zs\s\%(:\=[[:alnum:]-]\+\s*=\)"hs=s+1 contains=css.*Prop skipwhite nextgroup=sassScript
-syn match sassCssAttribute ".*$" contained contains=@sassCssAttributes,sassConstant
-syn match sassScript ".*$" contained contains=@sassCssAttributes,sassConstant
-syn match sassConstant "![[:alnum:]_-]\+"
-syn match sassConstantAssignment "\%(![[:alnum:]_]\+\s*\)\@<=\%(||\)\==" nextgroup=sassScript skipwhite
-syn match sassMixin  "^=.*"
-syn match sassMixing "^\s\+\zs+.*"
+syn match sassProperty "^\s*\zs\s\%(:\=[[:alnum:]-]\+\s*=\)"hs=s+1 contains=css.*Prop skipwhite nextgroup=sassCssAttribute
+syn match sassCssAttribute +\%("\%([^"]\|\\"\)*"\|'\%([^']\|\\'\)*'\|[^{};]\)*+ contained contains=@sassCssAttributes,sassVariable,sassFunction
+syn match sassDefault "!default\>" contained
+syn match sassVariable "!\%(important\>\|default\>\)\@![[:alnum:]_-]\+"
+syn match sassVariable "$[[:alnum:]_-]\+"
+syn match sassVariableAssignment "\%([!$][[:alnum:]_-]\+\s*\)\@<=\%(||\)\==" nextgroup=sassCssAttribute skipwhite
+syn match sassVariableAssignment "\%([!$][[:alnum:]_-]\+\s*\)\@<=:" nextgroup=sassCssAttribute skipwhite
+
+syn match sassFunction "\<\%(rgb\|rgba\|red\|green\|blue\|mix\)\>(\@=" contained
+syn match sassFunction "\<\%(hsl\|hsla\|hue\|saturation\|lightness\|adjust-hue\|lighten\|darken\|saturate\|desaturate\|grayscale\|complement\)\>(\@=" contained
+syn match sassFunction "\<\%(alpha\|opacity\|rgba\|opacify\|fade-in\|transparentize\|fade-out\)\>(\@=" contained
+syn match sassFunction "\<\%(unquote\|quote\)\>(\@=" contained
+syn match sassFunction "\<\%(percentage\|round\|ceil\|floor\|abs\)\>(\@=" contained
+syn match sassFunction "\<\%(type-of\|unit\|unitless\|comparable\)\>(\@=" contained
+
+syn region sassInterpolation matchgroup=sassInterpolationDelimiter start="#{" end="}" contains=@sassCssAttributes,sassVariable,sassFunction containedin=cssStringQ,cssStringQQ
+
+syn match sassMixinName "[[:alnum:]_-]\+" contained nextgroup=sassCssAttribute
+syn match sassMixin  "^="               nextgroup=sassMixinName
+syn match sassMixin  "^\s*\zs@mixin"    nextgroup=sassMixinName skipwhite
+syn match sassMixing "^\s\+\zs+"        nextgroup=sassMixinName
+syn match sassMixing "^\s\+\zs@include" nextgroup=sassMixinName skipwhite
+syn match sassMixing "\%([{};]\s*\|^\)\@<=@include" nextgroup=sassMixinName skipwhite contained containedin=sassDefinition
+syn match sassExtend "^\s\+\zs@extend"
 
 syn match sassEscape     "^\s*\zs\\"
 syn match sassIdChar     "#[[:alnum:]_-]\@=" nextgroup=sassId
@@ -34,28 +54,34 @@
 " TODO: Attribute namespaces
 " TODO: Arithmetic (including strings and concatenation)
 
-syn region sassInclude start="@import" end=";\|$" contains=cssComment,cssURL,cssUnicodeEscape,cssMediaType
-syn region sassDebugLine matchgroup=sassDebug start="@debug\>" end="$" contains=@sassCssAttributes,sassConstant
-syn region sassControlLine matchgroup=sassControl start="@\%(if\|else\%(\s\+if\)\=\|while\|for\)\>" end="$" contains=sassFor,@sassCssAttributes,sassConstant
+syn region sassInclude start="@import" end=";\|$" contains=scssComment,cssURL,cssUnicodeEscape,cssMediaType
+syn region sassDebugLine end=";\|$" matchgroup=sassDebug start="@debug\>" contains=@sassCssAttributes,sassVariable,sassFunction
+syn region sassWarnLine end=";\|$" matchgroup=sassWarn start="@warn\>" contains=@sassCssAttributes,sassVariable,sassFunction
+syn region sassControlLine matchgroup=sassControl start="@\%(if\|else\%(\s\+if\)\=\|while\|for\)\>" end="[{};]\@=\|$" contains=sassFor,@sassCssAttributes,sassVariable,sassFunction
 syn keyword sassFor from to through contained
 
 syn keyword sassTodo        FIXME NOTE TODO OPTIMIZE XXX contained
-syn region  sassComment     start="^\z(\s*\)//"  end="^\%(\z1 \)\@!" contains=sassTodo
-syn region  sassCssComment  start="^\z(\s*\)/\*" end="^\%(\z1 \)\@!" contains=sassTodo
+syn region  sassComment     start="^\z(\s*\)//"  end="^\%(\z1 \)\@!" contains=sassTodo,@Spell
+syn region  sassCssComment  start="^\z(\s*\)/\*" end="^\%(\z1 \)\@!" contains=sassTodo,@Spell
 
 hi def link sassCssComment              sassComment
 hi def link sassComment                 Comment
-hi def link sassConstant                Identifier
+hi def link sassDefault                 cssImportant
+hi def link sassVariable                Identifier
+hi def link sassFunction                Function
 hi def link sassMixing                  PreProc
 hi def link sassMixin                   PreProc
+hi def link sassExtend                  PreProc
 hi def link sassTodo                    Todo
 hi def link sassInclude                 Include
-hi def link sassDebug                   Debug
+hi def link sassDebug                   sassControl
+hi def link sassWarn                    sassControl
 hi def link sassControl                 PreProc
 hi def link sassFor                     PreProc
 hi def link sassEscape                  Special
 hi def link sassIdChar                  Special
 hi def link sassClassChar               Special
+hi def link sassInterpolationDelimiter  Delimiter
 hi def link sassAmpersand               Character
 hi def link sassId                      Identifier
 hi def link sassClass                   Type
diff --git a/runtime/syntax/scss.vim b/runtime/syntax/scss.vim
new file mode 100644
index 0000000..6fb9691
--- /dev/null
+++ b/runtime/syntax/scss.vim
@@ -0,0 +1,20 @@
+" Vim syntax file
+" Language:	SCSS
+" Maintainer:	Tim Pope <vimNOSPAM@tpope.org>
+" Filenames:	*.scss
+" Last Change:	2010 Jul 26
+
+if exists("b:current_syntax")
+  finish
+endif
+
+runtime! syntax/sass.vim
+
+syn match scssComment "//.*" contains=sassTodo,@Spell
+syn region scssComment start="/\*" end="\*/" contains=sassTodo,@Spell
+
+hi def link scssComment sassComment
+
+let b:current_syntax = "scss"
+
+" vim:set sw=2: