Update runtime files.
diff --git a/runtime/ftplugin/chicken.vim b/runtime/ftplugin/chicken.vim
new file mode 100644
index 0000000..8daa04c
--- /dev/null
+++ b/runtime/ftplugin/chicken.vim
@@ -0,0 +1,51 @@
+" CHICKEN-specific Vim customizations
+" Last Change: 2018-01-06
+" Author: Evan Hanson <evhan@foldling.org>
+" Maintainer: Evan Hanson <evhan@foldling.org>
+" URL: https://foldling.org/vim/ftplugin/chicken.vim
+" Notes: These are supplemental settings, to be loaded after the core
+" Scheme ftplugin file (ftplugin/scheme.vim). Enable it by setting
+" b:is_chicken=1 and filetype=scheme.
+
+if !exists('b:did_scheme_ftplugin')
+  finish
+endif
+
+setl keywordprg=chicken-doc
+
+setl lispwords+=and-let*
+setl lispwords+=begin-for-syntax
+setl lispwords+=compiler-typecase
+setl lispwords+=condition-case
+setl lispwords+=define-compiler-syntax
+setl lispwords+=define-constant
+setl lispwords+=define-external
+setl lispwords+=define-for-syntax
+setl lispwords+=define-inline
+setl lispwords+=define-record
+setl lispwords+=define-record-printer
+setl lispwords+=define-specialization
+setl lispwords+=define-syntax-rule
+setl lispwords+=eval-when
+setl lispwords+=fluid-let
+setl lispwords+=handle-exceptions
+setl lispwords+=let-compiler-syntax
+setl lispwords+=let-optionals
+setl lispwords+=let-optionals*
+setl lispwords+=letrec-values
+setl lispwords+=match
+setl lispwords+=match-lambda
+setl lispwords+=match-lambda*
+setl lispwords+=match-let
+setl lispwords+=match-let*
+setl lispwords+=module
+setl lispwords+=receive
+setl lispwords+=select
+setl lispwords+=set!-values
+
+let b:undo_ftplugin = b:undo_ftplugin . ' keywordprg<'
+
+if exists('g:loaded_matchit') && !exists('b:match_words')
+  let b:match_words = '#>:<#'
+  let b:undo_ftplugin = b:undo_ftplugin . ' | unlet! b:match_words'
+endif
diff --git a/runtime/ftplugin/debchangelog.vim b/runtime/ftplugin/debchangelog.vim
index d2718db..32f6831 100644
--- a/runtime/ftplugin/debchangelog.vim
+++ b/runtime/ftplugin/debchangelog.vim
@@ -1,11 +1,11 @@
 " Vim filetype plugin file (GUI menu, folding and completion)
 " Language:     Debian Changelog
-" Maintainer:   Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
+" Maintainer:   Debian Vim Maintainers
 " Former Maintainers:   Michael Piefel <piefel@informatik.hu-berlin.de>
 "                       Stefano Zacchiroli <zack@debian.org>
-" Last Change:  2014-01-31
+" Last Change:  2018-01-06
 " License:      Vim License
-" URL:          http://hg.debian.org/hg/pkg-vim/vim/file/unstable/runtime/ftplugin/debchangelog.vim
+" URL:          https://salsa.debian.org/vim-team/vim-debian/blob/master/ftplugin/debchangelog.vim
 
 " Bug completion requires apt-listbugs installed for Debian packages or
 " python-launchpadlib installed for Ubuntu packages
diff --git a/runtime/ftplugin/debcontrol.vim b/runtime/ftplugin/debcontrol.vim
index 7871d98..9643d16 100644
--- a/runtime/ftplugin/debcontrol.vim
+++ b/runtime/ftplugin/debcontrol.vim
@@ -1,9 +1,9 @@
 " Vim filetype plugin file (GUI menu and folding)
 " Language:     Debian control files
-" Maintainer:   Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
+" Maintainer:   Debian Vim Maintainers
 " Former Maintainer:    Pierre Habouzit <madcoder@debian.org>
-" Last Change:  2008-03-08
-" URL:          http://hg.debian.org/hg/pkg-vim/vim/raw-file/tip/runtime/ftplugin/debcontrol.vim
+" Last Change:  2018-01-06
+" URL:          https://salsa.debian.org/vim-team/vim-debian/blob/master/ftplugin/debcontrol.vim
 
 " Do these settings once per buffer
 if exists("b:did_ftplugin")
diff --git a/runtime/ftplugin/scheme.vim b/runtime/ftplugin/scheme.vim
index ab1543a..b7f8e8b 100644
--- a/runtime/ftplugin/scheme.vim
+++ b/runtime/ftplugin/scheme.vim
@@ -1,45 +1,62 @@
-" Vim filetype plugin
-" Language:      Scheme
-" Maintainer:    Sergey Khorev <sergey.khorev@gmail.com>
-" URL:		 http://sites.google.com/site/khorser/opensource/vim
-" Original author:    Dorai Sitaram <ds26@gte.com>
-" Original URL:		 http://www.ccs.neu.edu/~dorai/vimplugins/vimplugins.html
-" Last Change:   Oct 23, 2013
+" Vim filetype plugin file
+" Language: Scheme (R7RS)
+" Last Change: 2018-01-20
+" Author: Evan Hanson <evhan@foldling.org>
+" Maintainer: Evan Hanson <evhan@foldling.org>
+" Previous Maintainer: Sergey Khorev <sergey.khorev@gmail.com>
+" URL: https://foldling.org/vim/ftplugin/scheme.vim
 
-" Only do this when not done yet for this buffer
-if exists("b:did_ftplugin")
+if exists('b:did_ftplugin')
   finish
 endif
 
-" Don't load another plugin for this buffer
-let b:did_ftplugin = 1
+let s:cpo = &cpo
+set cpo&vim
 
-" Copy-paste from ftplugin/lisp.vim
-setl comments=:;
-setl define=^\\s*(def\\k*
-setl formatoptions-=t
-setl iskeyword+=+,-,*,/,%,<,=,>,:,$,?,!,@-@,94
 setl lisp
+setl comments=:;;;;,:;;;,:;;,:;,sr:#\|,ex:\|#
 setl commentstring=;%s
+setl define=^\\s*(def\\k*
+setl iskeyword=33,35-39,42-43,45-58,60-90,94,95,97-122,126
 
-setl comments^=:;;;,:;;,sr:#\|,mb:\|,ex:\|#
+let b:undo_ftplugin = 'setl lisp< comments< commentstring< define< iskeyword<'
 
-" Scheme-specific settings
-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
+setl lispwords=begin
+setl lispwords+=case
+setl lispwords+=case-lambda
+setl lispwords+=cond
+setl lispwords+=cond-expand
+setl lispwords+=define
+setl lispwords+=define-record-type
+setl lispwords+=define-syntax
+setl lispwords+=define-values
+setl lispwords+=do
+setl lispwords+=guard
+setl lispwords+=import
+setl lispwords+=lambda
+setl lispwords+=let
+setl lispwords+=let*
+setl lispwords+=let*-values
+setl lispwords+=let-syntax
+setl lispwords+=let-values
+setl lispwords+=letrec
+setl lispwords+=letrec*
+setl lispwords+=letrec-syntax
+setl lispwords+=parameterize
+setl lispwords+=set!
+setl lispwords+=syntax-rules
+setl lispwords+=unless
+setl lispwords+=when
+
+let b:undo_ftplugin = b:undo_ftplugin . ' lispwords<'
+
+let b:did_scheme_ftplugin = 1
+
+if exists('b:is_chicken') || exists('g:is_chicken')
+  exe 'ru! ftplugin/chicken.vim'
 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
-
-let b:undo_ftplugin = "setlocal comments< define< formatoptions< iskeyword< lispwords< lisp< commentstring<"
+unlet b:did_scheme_ftplugin
+let b:did_ftplugin = 1
+let &cpo = s:cpo
+unlet s:cpo