updated for version 7.0074
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 84571bb..159f17f 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1582,7 +1582,7 @@
 setbufvar( {expr}, {varname}, {val})	set {varname} in buffer {expr} to {val}
 setcmdpos( {pos})		Number	set cursor position in command-line
 setline( {lnum}, {line})	Number	set line {lnum} to {line}
-setqflist( {list} )		Number	set list of quickfix items using {list}
+setqflist( {list}[, {action}])	Number	set list of quickfix items using {list}
 setreg( {n}, {v}[, {opt}])	Number	set register to value and type
 setwinvar( {nr}, {varname}, {val})	set {varname} in window {nr} to {val}
 simplify( {filename})		String	simplify filename as much as possible
@@ -3604,7 +3604,7 @@
 <		Note: The '[ and '] marks are not set.
 
 
-setqflist({list})					*setqflist()*
+setqflist({list} [, {action}])				*setqflist()*
 		Creates a quickfix list using the items in {list}.  Each item
 		in {list} is a dictionary.  Non-dictionary items in {list} are
 		ignored.  Each dictionary item can contain the following
@@ -3629,6 +3629,13 @@
 		If both "pattern" and "lnum" are present then "pattern" will
 		be used.
 
+		If {action} is set to 'a', then the items from {list} are
+		added to the existing quickfix list. If there is no existing
+		list, then a new list is created. If {action} is set to 'r',
+		then the items from the current quickfix list are replaced
+		with the items from {list}. If {action} is not present or is
+		set to ' ', then a new list is created.
+
 		Returns zero for success, -1 for failure.
 
 		This function can be used to create a quickfix list
diff --git a/runtime/syntax/esterel.vim b/runtime/syntax/esterel.vim
new file mode 100644
index 0000000..3038355
--- /dev/null
+++ b/runtime/syntax/esterel.vim
@@ -0,0 +1,71 @@
+" Vim syntax file
+" Language:		ESTEREL
+" Maintainer:	Maurizio Tranchero <mtranchero@yahoo.it>
+" Credits:		Luca Necchi	<luca.necchi@polito.it>
+" Last Change:	Tue May 17 23:49:39 CEST 2005
+" Version:		0.2
+
+" For version 5.x: Clear all syntax items
+" For version 6.x: Quit when a syntax file was already loaded
+if version < 600
+  syntax clear
+elseif exists("b:current_syntax")
+  finish
+endif
+
+" case is significant
+syn case ignore
+" Esterel Regions
+syn region esterelModule		start=/module/	end=/end module/	contains=ALLBUT,esterelModule
+syn region esterelLoop			start=/loop/	end=/end loop/		contains=ALLBUT,esterelModule
+syn region esterelAbort			start=/abort/	end=/end abort/		contains=ALLBUT,esterelModule
+syn region esterelEvery			start=/every/	end=/end every/		contains=ALLBUT,esterelModule
+syn region esterelIf			start=/if/		end=/end if/		contains=ALLBUT,esterelModule
+"syn region esterelConcurrent	start=/\[/		end=/\]/			contains=ALLBUT,esterelModule
+syn region esterelConcurrent	transparent start=/\[/		end=/\]/		contains=ALLBUT,esterelModule
+syn region esterelIfThen		start=/if/		end=/then/			oneline
+" and weak abort? how to make vim know that start='weak abort'?
+" Esterel Keywords
+syn keyword esterelStatement	module signal end
+syn keyword esterelIO			input output 
+syn keyword esterelStatement	every do loop abort weak
+syn keyword esterelStatement	emit present await
+syn keyword esterelStatement	if then else
+syn keyword esterelBoolean		and or not xor xnor nor nand
+syn keyword esterelOperator		\[ \] 
+syn keyword esterelPippo		pippo
+" Esterel Types
+syn keyword esterelType integer float bolean
+" Esterel Comment
+syn match esterelComment	"%.*$"
+" Operators and special characters
+syn match esterelSpecial	":"
+syn match esterelSpecial	";"
+syn match esterelOperator	"\["
+syn match esterelOperator	"\]"
+syn match esterelOperator	":="
+syn match esterelStatement	"\<\(if\|else\)\>"
+syn match esterelNone		"\<else\s\+if\>$"
+syn match esterelNone		"\<else\s\+if\>\s"
+
+" Class Linking
+if version >= 508 || !exists("did_esterel_syntax_inits")
+  if version < 508
+    let did_esterel_syntax_inits = 1
+    command -nargs=+ HiLink hi link <args>
+  else
+    command -nargs=+ HiLink hi def link <args>
+  endif
+
+	HiLink esterelStatement	Statement
+	HiLink esterelType		Type
+	HiLink esterelComment	Comment
+	HiLink esterelBoolean	Number
+	HiLink esterelIO		String
+	HiLink esterelOperator	Type
+	HiLink esterelSpecial	Special
+
+  delcommand HiLink
+endif
+
+let b:current_syntax = "esterel"