updated for version 7.0021
diff --git a/runtime/ftplugin/lisp.vim b/runtime/ftplugin/lisp.vim
index 5bc25af..9482833 100644
--- a/runtime/ftplugin/lisp.vim
+++ b/runtime/ftplugin/lisp.vim
@@ -1,8 +1,10 @@
 " Vim filetype plugin
 " Language:      Lisp
-" Maintainer:    Dorai Sitaram <ds26@gte.com>
-" URL:		 http://www.ccs.neu.edu/~dorai/vimplugins/vimplugins.html
-" Last Change:   May 15, 2003
+" Maintainer:    Sergey Khorev <sergey.khorev@gmail.com>
+" URL:		 http://iamphet.nm.ru/vim
+" Original author:    Dorai Sitaram <ds26@gte.com>
+" Original URL:		 http://www.ccs.neu.edu/~dorai/vimplugins/vimplugins.html
+" Last Change:   Nov 8, 2004
 
 " Only do this when not done yet for this buffer
 if exists("b:did_ftplugin")
@@ -18,3 +20,11 @@
 setl formatoptions-=t
 setl iskeyword+=+,-,*,/,%,<,=,>,:,$,?,!,@-@,94
 setl lisp
+
+" make comments behaviour like in c.vim
+" e.g. insertion of ;;; and ;; on normal "O" or "o" when staying in comment
+setl comments^=:;;;,:;;,sr:#\|,mb:\|,ex:\|#
+setl formatoptions+=croql
+" with smartindent # cause left alignment
+setl nosmartindent
+
diff --git a/runtime/ftplugin/perl.vim b/runtime/ftplugin/perl.vim
index 9f714a9..e8c801f 100644
--- a/runtime/ftplugin/perl.vim
+++ b/runtime/ftplugin/perl.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:	Perl
 " Maintainer:	Dan Sharp <dwsharp at hotmail dot com>
-" Last Change:  2004 May 16
+" Last Change:  2004 Dec 06
 " URL:		http://mywebpage.netscape.com/sharppeople/vim/ftplugin
 
 if exists("b:did_ftplugin") | finish | endif
@@ -27,7 +27,7 @@
 
 " Provided by Ned Konz <ned at bike-nomad dot com>
 "---------------------------------------------
-setlocal include=\\<\\(use\|require\\)\\>
+setlocal include=\\<\\(use\\|require\\)\\>
 setlocal includeexpr=substitute(substitute(v:fname,'::','/','g'),'$','.pm','')
 setlocal define=[^A-Za-z_]
 
diff --git a/runtime/ftplugin/scheme.vim b/runtime/ftplugin/scheme.vim
index 7d34f72..021c23a 100644
--- a/runtime/ftplugin/scheme.vim
+++ b/runtime/ftplugin/scheme.vim
@@ -1,7 +1,26 @@
 " Vim filetype plugin
 " Language:      Scheme
-" Maintainer:    Dorai Sitaram <ds26@gte.com>
-" URL:		 http://www.ccs.neu.edu/~dorai/vimplugins/vimplugins.html
-" Last Change:   Apr 2, 2003
+" Maintainer:    Sergey Khorev <sergey.khorev@gmail.com>
+" URL:		 http://iamphet.nm.ru/vim 
+" Original author:    Dorai Sitaram <ds26@gte.com>
+" Original URL:		 http://www.ccs.neu.edu/~dorai/vimplugins/vimplugins.html
+" Last Change:   Nov 22, 2004
 
-run ftplugin/lisp.vim
+runtime! ftplugin/lisp.vim ftplugin/lisp_*.vim ftplugin/lisp/*.vim
+
+if exists("b:is_mzscheme") || exists("is_mzscheme")
+    " improve indenting
+    setl iskeyword+=#,%,^
+    setl lispwords+=module,parameterize,let-values,let*-values,letrec-values
+    setl lispwords+=define-values,opt-lambda,case-lambda,syntax-rules,with-syntax,syntax-case
+    setl lispwords+=define-signature,unit,unit/sig,compund-unit/sig,define-values/invoke-unit/sig
+endif
+
+if exists("b:is_chicken") || exists("is_chicken")
+    " improve indenting
+    setl iskeyword+=#,%,^
+    setl lispwords+=let-optionals,let-optionals*,declare
+    setl lispwords+=let-values,let*-values,letrec-values
+    setl lispwords+=define-values,opt-lambda,case-lambda,syntax-rules,with-syntax,syntax-case
+    setl lispwords+=cond-expand,and-let*,foreign-lambda,foreign-lambda*
+endif