updated for version 7.0d03
diff --git a/runtime/syntax/lifelines.vim b/runtime/syntax/lifelines.vim
index a6a2c8d..d825a17 100644
--- a/runtime/syntax/lifelines.vim
+++ b/runtime/syntax/lifelines.vim
@@ -1,8 +1,15 @@
 " Vim syntax file
-" Language:	Lifelines (v 3.0.7) http://lifelines.sourceforge.net
-" Maintainer:	Patrick Texier <p.texier@orsennes.com>
-" Location:	ftp://216.71.72.236/lifelines.vim
-" Last Change:	2002 Mar 03
+" Language:	LifeLines (v 3.0.50) http://lifelines.sourceforge.net
+" Maintainer:	Patrick Texier <p.texier@genindre.org>
+" Location:	http://www.genindre.org/ftp/lifelines/lifelines.vim
+" Last Change:	2005 Dec 22.
+
+" option to highlight error obsolete statements
+" add the following line to your .vimrc file or here :
+" (level2 is for baptism)
+
+" let lifelines_deprecated=1
+" let lifelines_deprecated_level2=1
 
 " For version 5.x: Clear all syntax items
 " For version 6.x: Quit when a syntax file was already loaded
@@ -13,61 +20,94 @@
   finish
 endif
 
-" A bunch of useful lifelines keywords 3.0.7
+" A bunch of useful lifelines keywords 3.0.50
 
-syn keyword	lifelinesStatement	set
-syn keyword	lifelinesUser		getindi geindiset getfam getint getstr choosechild
-syn keyword	lifelinesUser		chooseindi choosespouse choosesubset menuchoose
-syn keyword	lifelinesUser		choosefam getintmsg getindimsg getstrmsg
-syn keyword	lifelinesProc		proc func return call
-syn keyword	lifelinesInclude	include
-syn keyword	lifelinesDef		global
+syn keyword	lifelinesStatement		set
+syn keyword	lifelinesUser			getindi geindiset getfam getint getstr choosechild
+syn keyword	lifelinesUser			chooseindi choosespouse choosesubset menuchoose
+syn keyword	lifelinesUser			choosefam 
+syn keyword	lifelinesProc			proc func return call
+syn keyword	lifelinesInclude		include
+syn keyword	lifelinesDef			global
 syn keyword	lifelinesConditional	if else elsif switch
-syn keyword	lifelinesRepeat		continue break while
-syn keyword	lifelinesLogical	and or not eq ne lt gt le ge strcmp eqstr nestr
-syn keyword	lifelinesArithm		add sub mul div mod exp neg incr decr
-syn keyword	lifelinesIndi		name fullname surname givens trimname birth
-syn keyword	lifelinesIndi		death baptism burial
-syn keyword	lifelinesIndi		father mother nextsib prevsib sex male female
-syn keyword	lifelinesIndi		pn nspouses nfamilies parents title key
-syn keyword	lifelinesIndi		soundex inode root indi firstindi nextindi
-syn keyword	lifelinesIndi		previndi spouses families forindi indiset
-syn keyword	lifelinesIndi		addtoset deletefromset lengthset union intersect
-syn keyword	lifelinesIndi		difference parentset childset spouseset siblingset
-syn keyword	lifelinesIndi		ancestorset descendentset descendantset uniqueset
-syn keyword	lifelinesIndi		namesort keysort valuesort genindiset getindiset
-syn keyword	lifelinesIndi		forindiset lastindi writeindi
-syn keyword	lifelinesIndi		inset
-syn keyword	lifelinesFam		marriage husband wife nchildren firstchild
-syn keyword     lifelinesFam		lastchild fnode fam firstfam nextfam lastfam
-syn keyword     lifelinesFam		prevfam children forfam writefam
-syn keyword	lifelinesList		list empty length enqueue dequeue requeue
-syn keyword	lifelinesList		push pop setel getel forlist inlist
-syn keyword	lifelinesTable		table insert lookup
-syn keyword	lifelinesGedcom		xref tag value parent child sibling savenode
-syn keyword	lifelinesGedcom		fornodes traverse createnode addnode deletenode
-syn keyword	lifelinesGedcom		reference dereference getrecord
-syn keyword     lifelinesGedcom		gengedcom gengedcomstrong gengedcomweak
-syn keyword	lifelinesFunct		date place year long short gettoday dayformat
-syn keyword	lifelinesFunct		monthformat dateformat extractdate
-syn keyword	lifelinesFunct		complexdate
-syn keyword	lifelinesFunct		extractnames extractplaces extracttokens lower
-syn keyword     lifelinesFunct		upper capitalize trim rjustify save strsave
-syn keyword     lifelinesFunct		concat strconcat strlen substring index
-syn keyword	lifelinesFunct		d card ord alpha roman strsoundex strtoint
-syn keyword	lifelinesFunct		atoi linemode pagemod col row pos pageout nl
-syn keyword	lifelinesFunct		sp qt newfile outfile copyfile print lock unlock
-syn keyword	lifelinesFunct		database version system stddate program
-syn keyword	lifelinesFunct		pvalue pagemode level extractdatestr debug
-syn keyword	lifelinesFunct		f free getcol getproperty heapused
+syn keyword	lifelinesRepeat			continue break while
+syn keyword	lifelinesLogical		and or not eq ne lt gt le ge strcmp eqstr nestr
+syn keyword	lifelinesArithm			add sub mul div mod exp neg incr decr
+syn keyword lifelinesArithm			cos sin tan arccos arcsin arctan
+syn keyword lifelinesArithm			deg2dms dms2deg spdist
+syn keyword	lifelinesIndi			name fullname surname givens trimname birth
+syn keyword	lifelinesIndi			death burial
+syn keyword	lifelinesIndi			father mother nextsib prevsib sex male female
+syn keyword	lifelinesIndi			pn nspouses nfamilies parents title key
+syn keyword	lifelinesIndi			soundex inode root indi firstindi nextindi
+syn keyword	lifelinesIndi			previndi spouses families forindi indiset
+syn keyword	lifelinesIndi			addtoset deletefromset  union intersect
+syn keyword	lifelinesIndi			difference parentset childset spouseset siblingset
+syn keyword	lifelinesIndi			ancestorset descendentset descendantset uniqueset
+syn keyword	lifelinesIndi			namesort keysort valuesort genindiset getindiset
+syn keyword	lifelinesIndi			forindiset lastindi writeindi
+syn keyword	lifelinesIndi			inset
+syn keyword	lifelinesFam			marriage husband wife nchildren firstchild
+syn keyword	lifelinesFam			lastchild fnode fam firstfam nextfam lastfam
+syn keyword	lifelinesFam			prevfam children forfam writefam
+syn keyword lifelinesFam			fathers mothers Parents
+syn keyword	lifelinesList			list empty length enqueue dequeue requeue
+syn keyword	lifelinesList			push pop setel getel forlist inlist dup clear
+syn keyword	lifelinesTable			table insert lookup
+syn keyword	lifelinesGedcom			xref tag value parent child sibling savenode
+syn keyword	lifelinesGedcom			fornodes traverse createnode addnode 
+syn keyword lifelinesGedcom			detachnode foreven fornotes forothr forsour
+syn keyword	lifelinesGedcom			reference dereference getrecord
+syn keyword	lifelinesFunct			date place year long short gettoday dayformat
+syn keyword	lifelinesFunct			monthformat dateformat extractdate eraformat
+syn keyword	lifelinesFunct			complexdate complexformat complexpic datepic
+syn keyword	lifelinesFunct			extractnames extractplaces extracttokens lower
+syn keyword lifelinesFunct			yearformat
+syn keyword	lifelinesFunct			upper capitalize trim rjustify 
+syn keyword lifelinesFunct			concat strconcat strlen substring index
+syn keyword lifelinesFunct			titlecase gettext
+syn keyword	lifelinesFunct			d card ord alpha roman strsoundex strtoint
+syn keyword	lifelinesFunct			atoi linemode pagemod col row pos pageout nl
+syn keyword	lifelinesFunct			sp qt newfile outfile copyfile print lock unlock test
+syn keyword	lifelinesFunct			database version system stddate program
+syn keyword	lifelinesFunct			pvalue pagemode level extractdatestr debug
+syn keyword	lifelinesFunct			f float int free getcol getproperty heapused
+syn keyword lifelinesFunct			sort rsort
+syn keyword lifelinesFunct			deleteel
+syn keyword lifelinesFunct			bytecode convertcode setlocale
+
+" option to highlight error obsolete statements
+" please read ll-reportmanual
+
+if exists("lifelines_deprecated")
+	syn keyword lifelinesError			getintmsg getindimsg getstrmsg
+	syn keyword	lifelinesError			gengedcom gengedcomstrong gengedcomweak deletenode
+	syn keyword lifelinesError			save strsave
+	syn keyword	lifelinesError			lengthset
+else
+	syn keyword lifelinesUser			getintmsg getindimsg getstrmsg
+	syn keyword	lifelinesGedcom			gengedcom gengedcomstrong gengedcomweak deletenode
+	syn keyword lifelinesFunct			save strsave
+	syn keyword	lifelinesIndi			lengthset
+endif
+if exists("lifelines_deprecated_level2")
+	syn keyword	lifelinesError			baptism
+else
+	syn keyword	lifelinesIndi			baptism
+endif
 
 syn region	lifelinesString		start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=lifelinesSpecial
 
-syn region	lifelinesComment	start="/\*"  end="\*/" contains=lifelinesComment
+syn match	lifelinesSpecial		"\\\(\\\|\(n\|t\)\)" contained
 
-" Only integers with lifelines
+syn region	lifelinesComment	start="/\*"  end="\*/" 
 
-syn match	lifelinesNumber		"\<\d\+\>"
+" integers
+syn match	lifelinesNumber		"-\=\<\d\+\>"
+"floats, with dot
+syn match	lifelinesNumber		"-\=\<\d\+\.\d*\>"
+"floats, starting with a dot
+syn match	lifelinesNumber		"-\=\.\d\+\>"
 
 "catch errors caused by wrong parenthesis
 "adapted from original c.vim written by Bram Moolenaar
@@ -90,25 +130,27 @@
   endif
 
   HiLink lifelinesConditional	Conditional
-  HiLink lifelinesArithm	Operator
-  HiLink lifelinesLogical	Conditional
-  HiLink lifelinesInclude	Include
-  HiLink lifelinesComment	Comment
-  HiLink lifelinesStatement	Statement
-  HiLink lifelinesUser		Statement
-  HiLink lifelinesFunct		Statement
-  HiLink lifelinesTable		Statement
-  HiLink lifelinesGedcom	Statement
-  HiLink lifelinesList		Statement
-  HiLink lifelinesRepeat	Repeat
-  HiLink lifelinesFam		Statement
-  HiLink lifelinesIndi		Statement
-  HiLink lifelinesProc		Statement
-  HiLink lifelinesDef		Statement
-  HiLink lifelinesString	String
-  HiLink lifelinesNumber	Number
+  HiLink lifelinesArithm		Operator
+  HiLink lifelinesLogical		Conditional
+  HiLink lifelinesInclude		Include
+  HiLink lifelinesComment		Comment
+  HiLink lifelinesStatement		Statement
+  HiLink lifelinesUser			Statement
+  HiLink lifelinesFunct			Statement
+  HiLink lifelinesTable			Statement
+  HiLink lifelinesGedcom		Statement
+  HiLink lifelinesList			Statement
+  HiLink lifelinesRepeat		Repeat
+  HiLink lifelinesFam			Statement
+  HiLink lifelinesIndi			Statement
+  HiLink lifelinesProc			Statement
+  HiLink lifelinesDef			Statement
+  HiLink lifelinesString		String
+  HiLink lifelinesSpecial		Special
+  HiLink lifelinesNumber		Number
   HiLink lifelinesParenError	Error
   HiLink lifelinesErrInParen	Error
+  HiLink lifelinesError			Error
 
   delcommand HiLink
 endif