diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index f3ee1fe..cd3e304 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*      For Vim version 7.0aa.  Last change: 2004 Oct 06
+*eval.txt*      For Vim version 7.0aa.  Last change: 2004 Oct 10
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -670,19 +670,19 @@
 					*v:folddashes* *folddashes-variable*
 v:folddashes	Used for 'foldtext': dashes representing foldlevel of a closed
 		fold.
-		Read-only. |fold-foldtext|
+		Read-only in the |sandbox|. |fold-foldtext|
 
 					*v:foldlevel* *foldlevel-variable*
 v:foldlevel	Used for 'foldtext': foldlevel of closed fold.
-		Read-only. |fold-foldtext|
+		Read-only in the |sandbox|. |fold-foldtext|
 
 					*v:foldend* *foldend-variable*
 v:foldend	Used for 'foldtext': last line of closed fold.
-		Read-only. |fold-foldtext|
+		Read-only in the |sandbox|. |fold-foldtext|
 
 					*v:foldstart* *foldstart-variable*
 v:foldstart	Used for 'foldtext': first line of closed fold.
-		Read-only. |fold-foldtext|
+		Read-only in the |sandbox|. |fold-foldtext|
 
 					*v:insertmode* *insertmode-variable*
 v:insertmode	Used for the |InsertEnter| and |InsertChange| autocommand
@@ -710,9 +710,9 @@
 		command.  See |multi-lang|.
 
 						*v:lnum* *lnum-variable*
-v:lnum		Line number for the 'foldexpr' and 'indentexpr' expressions.
-		Only valid while one of these expressions is being evaluated.
-		Read-only. |fold-expr| 'indentexpr'
+v:lnum		Line number for the 'foldexpr' |fold-expr| and 'indentexpr'
+		expressions.  Only valid while one of these expressions is
+		being evaluated.  Read-only when in the |sandbox|.
 
 					*v:prevcount* *prevcount-variable*
 v:prevcount	The count given for the last but one Normal mode command.
@@ -812,6 +812,7 @@
 argv( {nr})			String	{nr} entry of the argument list
 browse( {save}, {title}, {initdir}, {default})
 				String	put up a file requester
+browsedir( {title}, {initdir})  String	put up a directory requester
 bufexists( {expr})		Number	TRUE if buffer {expr} exists
 buflisted( {expr})		Number  TRUE if buffer {expr} is listed
 bufloaded( {expr})		Number  TRUE if buffer {expr} is loaded
@@ -989,6 +990,19 @@
 		When the "Cancel" button is hit, something went wrong, or
 		browsing is not possible, an empty string is returned.
 
+							*browsedir()*
+browsedir({title}, {initdir})
+		Put up a directory requester.  This only works when
+		"has("browse")" returns non-zero (only in some GUI versions).
+		On systems where a directory browser is not supported a file
+		browser is used.  In that case: select a file in the directory
+		to be used.
+		The input fields are:
+		    {title}	title for the requester
+		    {initdir}	directory to start browsing in
+		When the "Cancel" button is hit, something went wrong, or
+		browsing is not possible, an empty string is returned.
+
 bufexists({expr})					*bufexists()*
 		The result is a Number, which is non-zero if a buffer called
 		{expr} exists.
@@ -1489,6 +1503,16 @@
 		options is removed.
 		{not available when compiled without the |+folding| feature}
 
+foldtextresult({lnum})					*foldtextresult()*
+		Returns the text that is displayed for the closed fold at line
+		{lnum}.  Evaluates 'foldtext' in the appropriate context.
+		When there is no closed fold at {lnum} an empty string is
+		returned.
+		{lnum} is used like with |getline()|.  Thus "." is the current
+		line, "'m" mark m, etc.
+		Useful when exporting folded text, e.g., to HTML.
+		{not available when compiled without the |+folding| feature}
+
 							*foreground()*
 foreground()	Move the Vim window to the foreground.  Useful when sent from
 		a client to a Vim server. |remote_send()|
@@ -4716,7 +4740,7 @@
 these expressions having nasty side effects.  This gives some safety for when
 these options are set from a modeline.  It is also used when the command from
 a tags file is executed.
-This is not guaranteed 100% secure, but it should block most attacks.
+The sandbox is also used for the |:sandbox| command.
 
 These items are not allowed in the sandbox:
 	- changing the buffer text
@@ -4725,5 +4749,12 @@
 	- executing a shell command
 	- reading or writing a file
 	- jumping to another buffer or editing a file
+This is not guaranteed 100% secure, but it should block most attacks.
+
+							*:san* *:sandbox*
+:sandbox {cmd}		Execute {cmd} in the sandbox.  Useful to evaluate an
+			option that may have been set from a modeline, e.g.
+			'foldexpr'.
+
 
  vim:tw=78:ts=8:ft=help:norl:
diff --git a/runtime/doc/intro.txt b/runtime/doc/intro.txt
index 8d3ac6e..03f7315 100644
--- a/runtime/doc/intro.txt
+++ b/runtime/doc/intro.txt
@@ -1,4 +1,4 @@
-*intro.txt*     For Vim version 7.0aa.  Last change: 2004 Jun 12
+*intro.txt*     For Vim version 7.0aa.  Last change: 2004 Oct 08
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -226,12 +226,14 @@
 	Kayhan Demirel		sent me news in Uganda
 	Chris & John Downey	xvi (ideas for multi-windows version)
 	Henk Elbers		first VMS port
+	Daniel Elstner		GTK+ 2 port
 	Eric Fischer		Mac port, 'cindent', and other improvements
 	Benji Fisher		Answering lots of user questions
 	Bill Foster		Athena GUI port
 	Loic Grenie		xvim (ideas for multi windows version)
 	Sven Guckes		Vim promotor and previous WWW page maintainer
 	Darren Hiebert		Exuberant ctags
+	Jason Hildebrand	GTK+ 2 port
 	Bruce Hunsaker		improvements for VMS port
 	Andy Kahn		Cscope support, GTK+ GUI port
 	Oezguer Kesim		Maintainer of Vim Mailing Lists
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 4879a64..6001909 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 7.0aa.  Last change: 2004 Oct 07
+*options.txt*	For Vim version 7.0aa.  Last change: 2004 Oct 08
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -1062,7 +1062,7 @@
 	break if 'linebreak' is on.
 
 						*'browsedir'* *'bsdir'*
-'browsedir' 'bsdir'	string	(default for "last")
+'browsedir' 'bsdir'	string	(default: "last")
 			global
 			{not in Vi} {only for Motif and Win32 GUI}
 	Which directory to use for the file browser:
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index 6fe03f9..a7d6d2b 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt*	For Vim version 7.0aa.  Last change: 2004 Sep 18
+*syntax.txt*	For Vim version 7.0aa.  Last change: 2004 Oct 10
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -393,6 +393,9 @@
 Go back to the default to use 'number' by deleting the variable: >
    :unlet html_number_lines
 
+Closed folds are put in the HTML as they are displayed.  If you don't want
+this, use the "zR" command before invoking 2html.
+
 By default, HTML optimized for old browsers is generated.  If you prefer using
 cascading style sheets (CSS1) for the attributes (resulting in considerably
 shorter and valid HTML 4 file), use: >
diff --git a/runtime/doc/tags b/runtime/doc/tags
index c46eeb6..d54f794 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -2266,6 +2266,8 @@
 :sa	windows.txt	/*:sa*
 :sal	windows.txt	/*:sal*
 :sall	windows.txt	/*:sall*
+:san	eval.txt	/*:san*
+:sandbox	eval.txt	/*:sandbox*
 :sargument	windows.txt	/*:sargument*
 :sav	editing.txt	/*:sav*
 :saveas	editing.txt	/*:saveas*
@@ -4052,6 +4054,7 @@
 boolean	options.txt	/*boolean*
 break-finally	eval.txt	/*break-finally*
 browse()	eval.txt	/*browse()*
+browsedir()	eval.txt	/*browsedir()*
 browsefilter	editing.txt	/*browsefilter*
 bufexists()	eval.txt	/*bufexists()*
 buffer-hidden	windows.txt	/*buffer-hidden*
@@ -4922,6 +4925,7 @@
 hebrew.txt	hebrew.txt	/*hebrew.txt*
 help	various.txt	/*help*
 help-context	help.txt	/*help-context*
+help-tags	tags	1
 help-translated	various.txt	/*help-translated*
 help-xterm-window	various.txt	/*help-xterm-window*
 help.txt	help.txt	/*help.txt*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 7cb6dba..a536f7c 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.0aa.  Last change: 2004 Oct 07
+*todo.txt*      For Vim version 7.0aa.  Last change: 2004 Oct 10
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -30,15 +30,8 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-Add browsedir(): like browse() but for directories.
-    For GTK it already sort-of works when the default name is empty.
-
-When ":file" sets the alternate file name and it's empty this doesn't make
-sense.  Could skip it, but would that break scripts that rely on the buffer to
-exist?
-
 Folding support for 2html. (Carl Osterwisch, Oct 4)
-How to evaluate an expression in the sandbox?
+Now diff output!
 
 Aborting at the ATTENTION prompt causes trouble:
     buffer remains active, nwindows isn't closed (fixed in buffer.c)
@@ -58,13 +51,6 @@
 
 Patch for Win32 textdomain: NAKADAIRA Yukihiro, Sept 17.
 
-GTK 2 error message with this sequence (Namsh Oct 7):
-	- start gvim with French locale
-	- set enc=utf-8
-	- :aunmenu *
-	- :unlet  did_install_default_menus
-	- :source $VIMRUNTIME/menu.vim
-
 Valencia: executable("xxd.exe") returns true while "!xxd" doesn't work.
 Works fine for me.  Only in specific environment?
 
@@ -372,6 +358,8 @@
 file filename" but without setting the alternate file to a buffer without a
 name. (Charles Campbell)
 
+Add gui_mch_browsedir() for Motif, KDE and Mac OS/X.
+
 
 Vi incompatibility:
 9   In Ex mode, "u" undoes all changes, not just the last one. (John Cowan)
diff --git a/runtime/doc/usr_21.txt b/runtime/doc/usr_21.txt
index 39ee4d2..b5484e9 100644
--- a/runtime/doc/usr_21.txt
+++ b/runtime/doc/usr_21.txt
@@ -1,4 +1,4 @@
-*usr_21.txt*	For Vim version 7.0aa.  Last change: 2004 Jun 16
+*usr_21.txt*	For Vim version 7.0aa.  Last change: 2004 Oct 10
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -65,7 +65,7 @@
 	:w !{program}		execute {program} and send text to its input
 	:[range]!{program}	filter text through {program}
 
-Notice that the presense of a range before "!{program}" makes a big
+Notice that the presence of a range before "!{program}" makes a big
 difference.  Without it executes the program normally, with the range a number
 of text lines is filtered through the program.
 
diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt
index 7074532..d947b93 100644
--- a/runtime/doc/version7.txt
+++ b/runtime/doc/version7.txt
@@ -1,4 +1,4 @@
-*version7.txt*  For Vim version 7.0aa.  Last change: 2004 Oct 07
+*version7.txt*  For Vim version 7.0aa.  Last change: 2004 Oct 11
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -48,6 +48,13 @@
 Buffers without a name report "No Name" instead of "No File".  It was
 confusing for buffers with a name and 'buftype' set to "nofile".
 
+When ":file xxx" is used in a buffer without a name, the alternate file name
+isn't set.  This avoids creating buffers without a name that are not useful.
+
+The "2html.vim" script now converts closed folds to HTML.  This means the HTML
+looks like its displayed, with the same folds open and closed.  Use "zR" if no
+folds should appear in the HTML. (partly by Carl Osterwisch)
+
 ==============================================================================
 NEW FEATURES						*new-7*
 
@@ -124,13 +131,18 @@
 
 |:delmarks|		Delete marks.
 
+|:sandbox|		Command modifier: execute the argument in the sandbox.
+
 
 New functions: ~
 
+browsedir(title, init)	|browsedir()|	Dialog to select a directory.
 byteidx(expr, nr)	|byteidx()| 	Index of a character. (Ilya Sher)
 finddir(name)		|finddir()|	Find a directory in 'path'.
 findfile(name)		|findfile()|	Find a file in 'path'. (Johannes
 					Zellner)
+foldtextresult(lnum)	|foldtextresult()|  The text displayed for a closed
+					fold at line "lnum".
 getfperm(fname)		|getfperm()|	Get file permission string. (Nikolai
 					Weibull)
 getftype(fname)		|getftype()|	Get type of file. (Nikolai Weibull)
@@ -396,4 +408,11 @@
 Win32 GUI: latin9 text (iso-8859-15) was not displayed correctly, because
 there is no codepage for latin9.  Do our own conversion from latin9 to UCS2.
 
+When two versions of GTK+ 2 are installed it was possible to use the header
+files from one and the library from the other.  Use GTK_LIBDIR to put the
+directory for the library early in the link flags.
+
+With the GUI find/replace dialog a replace only worked if the pattern was
+literal text.  Now it works for any pattern.
+
  vim:tw=78:ts=8:ft=help:norl:
diff --git a/runtime/syntax/2html.vim b/runtime/syntax/2html.vim
index 2afc09f..25da291 100644
--- a/runtime/syntax/2html.vim
+++ b/runtime/syntax/2html.vim
@@ -1,6 +1,6 @@
 " Vim syntax support file
 " Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last Change: 2004 May 31
+" Last Change: 2004 Oct 10
 "	       (modified by David Ne\v{c}as (Yeti) <yeti@physics.muni.cz>)
 "	       (XHTML support by Panagiotis Issaris <takis@lumumba.luc.ac.be>)
 
@@ -238,40 +238,88 @@
   let s:end = line("$")
 endif
 
+" Closed folds are kept in the HTML.  Prepare the closed fold template text.
+if has('folding')
+  let s:c = &fillchars[matchend(&fillchars, 'fold:')]
+  if s:c == ''
+    let s:c = '-'
+  endif
+  let s:htmlfoldtext = '+' . s:c
+  while strlen(s:htmlfoldtext) < &columns
+      let s:htmlfoldtext = s:htmlfoldtext . s:c
+  endwhile
+  unlet s:c
+endif
+
+
 while s:lnum <= s:end
 
   " Get the current line
   let s:line = getline(s:lnum)
-  let s:len = strlen(s:line)
   let s:new = ""
 
-  if s:numblines
-    let s:new = '<span class="lnr">' . strpart('        ', 0, strlen(line("$")) - strlen(s:lnum)) . s:lnum . '</span>  '
-  endif
+  if has('folding') && foldclosed(s:lnum) > -1
+    "
+    " This is the beginning of a folded block
+    "
+    if s:numblines
+      let s:new = strpart('        ', 0, strlen(line("$")) - strlen(s:lnum)) . s:lnum . ' '
+    endif
+    let s:line = foldtextresult(s:lnum)
 
-  " Loop over each character in the line
-  let s:col = 1
-  while s:col <= s:len
-    let s:startcol = s:col " The start column for processing text
-    let s:id = synID(s:lnum, s:col, 1)
-    let s:col = s:col + 1
-    " Speed loop (it's small - that's the trick)
-    " Go along till we find a change in synID
-    while s:col <= s:len && s:id == synID(s:lnum, s:col, 1) | let s:col = s:col + 1 | endwhile
-
-    " Output the text with the same synID, with class set to {s:id_name}
-    let s:id = synIDtrans(s:id)
-    let s:id_name = synIDattr(s:id, "name", s:whatterm)
-    let s:new = s:new . '<span class="' . s:id_name . '">' . substitute(substitute(substitute(substitute(substitute(strpart(s:line, s:startcol - 1, s:col - s:startcol), '&', '\&amp;', 'g'), '<', '\&lt;', 'g'), '>', '\&gt;', 'g'), '"', '\&quot;', 'g'), "\x0c", '<hr class="PAGE-BREAK">', 'g') . '</span>'
+    let s:new = s:new . s:line
+    if !exists("html_no_pre")
+      let s:new = s:new . strpart(s:htmlfoldtext, strlen(s:new))
+    endif
+    
+    " Replace the reserved html characters
+    let s:new = substitute(substitute(substitute(substitute(substitute(s:new, '&', '\&amp;', 'g'), '<', '\&lt;', 'g'), '>', '\&gt;', 'g'), '"', '\&quot;', 'g'), "\x0c", '<hr class="PAGE-BREAK">', 'g')
+   
+    let s:id_name = "Folded"
+    let s:id = hlID(s:id_name)
+    let s:new = '<span class="' . s:id_name . '">' . s:new . '</span>'
     " Add the class to class list if it's not there yet
     if stridx(s:idlist, "," . s:id . ",") == -1
       let s:idlist = s:idlist . s:id . ","
     endif
 
-    if s:col > s:len
-      break
+    " Skip to the end of the fold  
+    let s:lnum = foldclosedend(s:lnum)
+
+  else
+    "
+    " A line that is not folded.
+    "
+    let s:len = strlen(s:line)
+
+    if s:numblines
+      let s:new = '<span class="lnr">' . strpart('        ', 0, strlen(line("$")) - strlen(s:lnum)) . s:lnum . '</span>  '
     endif
-  endwhile
+
+    " Loop over each character in the line
+    let s:col = 1
+    while s:col <= s:len
+      let s:startcol = s:col " The start column for processing text
+      let s:id = synID(s:lnum, s:col, 1)
+      let s:col = s:col + 1
+      " Speed loop (it's small - that's the trick)
+      " Go along till we find a change in synID
+      while s:col <= s:len && s:id == synID(s:lnum, s:col, 1) | let s:col = s:col + 1 | endwhile
+
+      " Output the text with the same synID, with class set to {s:id_name}
+      let s:id = synIDtrans(s:id)
+      let s:id_name = synIDattr(s:id, "name", s:whatterm)
+      let s:new = s:new . '<span class="' . s:id_name . '">' . substitute(substitute(substitute(substitute(substitute(strpart(s:line, s:startcol - 1, s:col - s:startcol), '&', '\&amp;', 'g'), '<', '\&lt;', 'g'), '>', '\&gt;', 'g'), '"', '\&quot;', 'g'), "\x0c", '<hr class="PAGE-BREAK">', 'g') . '</span>'
+      " Add the class to class list if it's not there yet
+      if stridx(s:idlist, "," . s:id . ",") == -1
+	let s:idlist = s:idlist . s:id . ","
+      endif
+
+      if s:col > s:len
+	break
+      endif
+    endwhile
+  endif
 
   " Expand tabs
   let s:pad=0
diff --git a/runtime/syntax/slrnsc.vim b/runtime/syntax/slrnsc.vim
index 3f653cc..838af6a 100644
--- a/runtime/syntax/slrnsc.vim
+++ b/runtime/syntax/slrnsc.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:	Slrn score file (based on slrn 0.9.8.0)
-" Maintainer:	Preben 'Peppe' Guldberg <peppe-vim@wielders.org>
-" Last Change:	19 May 2004
+" Maintainer:	Preben 'Peppe' Guldberg <peppe@wielders.org>
+" Last Change:	8 Oct 2004
 
 " For version 5.x: Clear all syntax items
 " For version 6.x: Quit when a syntax file was already loaded
@@ -48,7 +48,7 @@
 
 syn keyword slrnscScore		contained Score
 syn match slrnscScoreIdent	contained "%.*"
-syn match slrnScoreLine		"^\s*Score::\=\s\+=\=-\=\d\+\s*\(%.*\)\=$" skipempty nextgroup=slrnscScoreItem contains=slrnscScore,slrnscDelim,slrnscOper,slrnscNumber,slrnscScoreIdent
+syn match slrnScoreLine		"^\s*Score::\=\s\+=\=[-+]\=\d\+\s*\(%.*\)\=$" skipempty nextgroup=slrnscScoreItem contains=slrnscScore,slrnscDelim,slrnscOper,slrnscNumber,slrnscScoreIdent
 
 " Define the default highlighting.
 " For version 5.7 and earlier: only when not done already
