summaryrefslogtreecommitdiff
path: root/runtime
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2019-07-31 21:07:14 +0200
committerBram Moolenaar <Bram@vim.org>2019-07-31 21:07:14 +0200
commit5477506a9f01d40fad2e8f0555bc37adee30478f (patch)
treeafb8271b63c5813ea4f2dee83df994f33791fed5 /runtime
parent0e6bfb9b2eb108d96a49ac4f8dc638c2eefeda2b (diff)
downloadvim-git-5477506a9f01d40fad2e8f0555bc37adee30478f.tar.gz
Update runtime files.
Diffstat (limited to 'runtime')
-rw-r--r--runtime/compiler/cs.vim10
-rw-r--r--runtime/compiler/erlang.vim4
-rw-r--r--runtime/compiler/fortran_cv.vim2
-rw-r--r--runtime/compiler/jikes.vim4
-rw-r--r--runtime/compiler/onsgmls.vim4
-rw-r--r--runtime/compiler/perl.vim4
-rw-r--r--runtime/compiler/rustc.vim2
-rw-r--r--runtime/compiler/splint.vim4
-rw-r--r--runtime/compiler/xmlwf.vim4
-rw-r--r--runtime/doc/channel.txt6
-rw-r--r--runtime/doc/cmdline.txt6
-rw-r--r--runtime/doc/diff.txt4
-rw-r--r--runtime/doc/eval.txt21
-rw-r--r--runtime/doc/if_lua.txt12
-rw-r--r--runtime/doc/if_mzsch.txt11
-rw-r--r--runtime/doc/if_perl.txt11
-rw-r--r--runtime/doc/if_pyth.txt12
-rw-r--r--runtime/doc/if_ruby.txt16
-rw-r--r--runtime/doc/if_tcl.txt12
-rw-r--r--runtime/doc/indent.txt41
-rw-r--r--runtime/doc/options.txt18
-rw-r--r--runtime/doc/popup.txt8
-rw-r--r--runtime/doc/starting.txt4
-rw-r--r--runtime/doc/tags12
-rw-r--r--runtime/doc/testing.txt10
-rw-r--r--runtime/doc/todo.txt93
-rw-r--r--runtime/doc/various.txt3
-rw-r--r--runtime/doc/windows.txt12
-rw-r--r--runtime/indent/php.vim126
-rw-r--r--runtime/indent/sh.vim11
-rw-r--r--runtime/indent/xml.vim31
-rw-r--r--runtime/spell/de/de_20.diff580
-rw-r--r--runtime/spell/de/de_AT.diff573
-rw-r--r--runtime/spell/de/de_CH.diff574
-rw-r--r--runtime/spell/de/de_DE.diff580
-rw-r--r--runtime/spell/de/main.aap92
-rw-r--r--runtime/syntax/valgrind.vim7
37 files changed, 338 insertions, 2586 deletions
diff --git a/runtime/compiler/cs.vim b/runtime/compiler/cs.vim
index 4cc178467..4f6dd3cdf 100644
--- a/runtime/compiler/cs.vim
+++ b/runtime/compiler/cs.vim
@@ -1,8 +1,8 @@
" Vim compiler file
-" Compiler: Microsoft Visual Studio C#
-" Maintainer: Zhou YiChao (broken.zhou@gmail.com)
-" Previous Maintainer: Joseph H. Yao (hyao@sina.com)
-" Last Change: 2012 Apr 30
+" Compiler: Microsoft Visual Studio C#
+" Maintainer: Yichao Zhou (broken.zhou@gmail.com)
+" Previous Maintainer: Joseph H. Yao (hyao@sina.com)
+" Last Change: Jul 22, 2019
if exists("current_compiler")
finish
@@ -20,7 +20,7 @@ CompilerSet errorformat+=%f(%l\\,%v):\ %t%*[^:]:\ %m,
\%trror%*[^:]:\ %m,
\%tarning%*[^:]:\ %m
-CompilerSet makeprg=csc\ %
+CompilerSet makeprg=csc\ %:S
let &cpo = s:keepcpo
unlet s:keepcpo
diff --git a/runtime/compiler/erlang.vim b/runtime/compiler/erlang.vim
index e177a279c..e22887e05 100644
--- a/runtime/compiler/erlang.vim
+++ b/runtime/compiler/erlang.vim
@@ -1,13 +1,13 @@
" Vim compiler file
" Compiler: Erlang
" Maintainer: Dmitry Vasiliev <dima at hlabs dot org>
-" Last Change: 2012-02-13
+" Last Change: 2019 Jul 23
if exists("current_compiler")
finish
endif
let current_compiler = "erlang"
-CompilerSet makeprg=erlc\ -Wall\ %
+CompilerSet makeprg=erlc\ -Wall\ %:S
CompilerSet errorformat=%f:%l:\ %m
diff --git a/runtime/compiler/fortran_cv.vim b/runtime/compiler/fortran_cv.vim
index 089d3b27c..bc217bdc6 100644
--- a/runtime/compiler/fortran_cv.vim
+++ b/runtime/compiler/fortran_cv.vim
@@ -22,7 +22,7 @@ CompilerSet errorformat=
\%-Z%p%^%.%#,
\%-G%.%#,
" Compiler call
-CompilerSet makeprg=df\ /nologo\ /noobj\ /c\ %
+CompilerSet makeprg=df\ /nologo\ /noobj\ /c\ %:S
" Visual fortran defaults to printing output on stderr
" Adjust option shellpipe accordingly
diff --git a/runtime/compiler/jikes.vim b/runtime/compiler/jikes.vim
index 512512853..2d4500e89 100644
--- a/runtime/compiler/jikes.vim
+++ b/runtime/compiler/jikes.vim
@@ -1,7 +1,7 @@
" Vim Compiler File
" Compiler: Jikes
" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
-" Last Change: 20 Jan 2009
+" Last Change: 2019 Jul 23
" URL: http://dwsharp.users.sourceforge.net/vim/compiler
if exists("current_compiler")
@@ -14,5 +14,5 @@ if exists(":CompilerSet") != 2 " older Vim always used :setlocal
endif
" Jikes defaults to printing output on stderr
-CompilerSet makeprg=jikes\ -Xstdout\ +E\ \"%\"
+CompilerSet makeprg=jikes\ -Xstdout\ +E\ \"%:S\"
CompilerSet errorformat=%f:%l:%v:%*\\d:%*\\d:%*\\s%m
diff --git a/runtime/compiler/onsgmls.vim b/runtime/compiler/onsgmls.vim
index 130d3e21b..68925ef45 100644
--- a/runtime/compiler/onsgmls.vim
+++ b/runtime/compiler/onsgmls.vim
@@ -1,7 +1,7 @@
" Vim compiler file
" Compiler: onsgmls
" Maintainer: Robert Rowsome <rowsome@wam.umd.edu>
-" Last Change: 2004 Mar 27
+" Last Change: 2019 Jul 23
if exists("current_compiler")
finish
@@ -15,7 +15,7 @@ endif
let s:cpo_save = &cpo
set cpo-=C
-CompilerSet makeprg=onsgmls\ -s\ %
+CompilerSet makeprg=onsgmls\ -s\ %:S
CompilerSet errorformat=onsgmls:%f:%l:%c:%t:%m,
\onsgmls:%f:%l:%c:%m
diff --git a/runtime/compiler/perl.vim b/runtime/compiler/perl.vim
index 583c6c378..a857caed8 100644
--- a/runtime/compiler/perl.vim
+++ b/runtime/compiler/perl.vim
@@ -1,7 +1,7 @@
" Vim Compiler File
" Compiler: Perl syntax checks (perl -Wc)
" Maintainer: Christian J. Robinson <heptite@gmail.com>
-" Last Change: 2006 Aug 13
+" Last Change: 2019 Jul 22
if exists("current_compiler")
finish
@@ -27,7 +27,7 @@ else
let s:taintopt = ''
endif
-exe 'CompilerSet makeprg=perl\ -' . s:warnopt . s:taintopt . 'c\ %'
+exe 'CompilerSet makeprg=perl\ -' . s:warnopt . s:taintopt . 'c\ %:S'
CompilerSet errorformat=
\%-G%.%#had\ compilation\ errors.,
diff --git a/runtime/compiler/rustc.vim b/runtime/compiler/rustc.vim
index c27bdc9c0..5e5b9a4e0 100644
--- a/runtime/compiler/rustc.vim
+++ b/runtime/compiler/rustc.vim
@@ -19,7 +19,7 @@ endif
if exists("g:rustc_makeprg_no_percent") && g:rustc_makeprg_no_percent != 0
CompilerSet makeprg=rustc
else
- CompilerSet makeprg=rustc\ \%
+ CompilerSet makeprg=rustc\ \%:S
endif
" Old errorformat (before nightly 2016/08/10)
diff --git a/runtime/compiler/splint.vim b/runtime/compiler/splint.vim
index 6239ca713..3d7ada6d1 100644
--- a/runtime/compiler/splint.vim
+++ b/runtime/compiler/splint.vim
@@ -2,7 +2,7 @@
" Compiler: splint/lclint (C source code checker)
" Maintainer: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
" Splint Home: http://www.splint.org/
-" Last Change: 2005 Apr 21
+" Last Change: 2019 Jul 23
" $Revision: 1.3 $
if exists("current_compiler")
@@ -19,7 +19,7 @@ set cpo-=C
" adapt this if you want to check more than one file at a time.
" put command line options in .splintrc or ~/.splintrc
-CompilerSet makeprg=splint\ %
+CompilerSet makeprg=splint\ %:S
" Note: when using the new array bounds checking flags: Each warning
" usually has several lines and several references to source code mostly
diff --git a/runtime/compiler/xmlwf.vim b/runtime/compiler/xmlwf.vim
index cd2e2bb6a..3de9d08d5 100644
--- a/runtime/compiler/xmlwf.vim
+++ b/runtime/compiler/xmlwf.vim
@@ -1,7 +1,7 @@
" Vim Compiler File
" Compiler: xmlwf
" Maintainer: Robert Rowsome <rowsome@wam.umd.edu>
-" Last Change: 2004 Mar 27
+" Last Change: 2019 Jul 23
if exists("current_compiler")
finish
@@ -15,7 +15,7 @@ if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
endif
-CompilerSet makeprg=xmlwf\ %
+CompilerSet makeprg=xmlwf\ %:S
CompilerSet errorformat=%f:%l%c:%m
diff --git a/runtime/doc/channel.txt b/runtime/doc/channel.txt
index a8e585772..1f981a6c9 100644
--- a/runtime/doc/channel.txt
+++ b/runtime/doc/channel.txt
@@ -1,4 +1,4 @@
-*channel.txt* For Vim version 8.1. Last change: 2019 Jul 21
+*channel.txt* For Vim version 8.1. Last change: 2019 Jul 28
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -18,7 +18,7 @@ The Netbeans interface also uses a channel. |netbeans|
5. Channel commands |channel-commands|
6. Using a RAW or NL channel |channel-raw|
7. More channel functions |channel-more|
-8. channel functions details |channel-functions-details|
+8. Channel functions details |channel-functions-details|
9. Starting a job with a channel |job-start|
10. Starting a job without a channel |job-start-nochannel|
11. Job functions |job-functions-details|
@@ -462,7 +462,7 @@ For a JS or JSON channel this returns one decoded message.
This includes any sequence number.
==============================================================================
-8. channel functions details *channel-functions-details*
+8. Channel functions details *channel-functions-details*
ch_canread({handle}) *ch_canread()*
Return non-zero when there is something to read from {handle}.
diff --git a/runtime/doc/cmdline.txt b/runtime/doc/cmdline.txt
index 0a4917a35..a06aa4d75 100644
--- a/runtime/doc/cmdline.txt
+++ b/runtime/doc/cmdline.txt
@@ -1,4 +1,4 @@
-*cmdline.txt* For Vim version 8.1. Last change: 2019 May 07
+*cmdline.txt* For Vim version 8.1. Last change: 2019 Jul 21
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1064,8 +1064,7 @@ Also see |`=|.
In the command-line window the command line can be edited just like editing
text in any window. It is a special kind of window, because you cannot leave
it in a normal way.
-{not available when compiled without the |+cmdline_hist| or |+vertsplit|
-feature}
+{not available when compiled without the |+cmdline_hist| feature}
OPEN *c_CTRL-F* *q:* *q/* *q?*
@@ -1140,7 +1139,6 @@ VARIOUS
The command-line window cannot be used:
- when there already is a command-line window (no nesting)
- for entering an encryption key or when using inputsecret()
-- when Vim was not compiled with the |+vertsplit| feature
Some options are set when the command-line window is opened:
'filetype' "vim", when editing an Ex command-line; this starts Vim syntax
diff --git a/runtime/doc/diff.txt b/runtime/doc/diff.txt
index 452d0acc8..8c1f03aa6 100644
--- a/runtime/doc/diff.txt
+++ b/runtime/doc/diff.txt
@@ -1,4 +1,4 @@
-*diff.txt* For Vim version 8.1. Last change: 2019 Jun 02
+*diff.txt* For Vim version 8.1. Last change: 2019 Jul 27
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -335,7 +335,7 @@ After setting this variable, reload the syntax script: >
FINDING THE DIFFERENCES *diff-diffexpr*
The 'diffexpr' option can be set to use something else than the standard
-"diff" program to compare two files and find the differences.
+"diff" program to compare two files and find the differences. *E959*
When 'diffexpr' is empty, Vim uses this command to find the differences
between file1 and file2: >
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index bd0569138..fdddc22ed 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt* For Vim version 8.1. Last change: 2019 Jul 21
+*eval.txt* For Vim version 8.1. Last change: 2019 Jul 30
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1766,7 +1766,7 @@ v:exception The value of the exception most recently caught and not
:try
: throw "oops"
:catch /.*/
- : echo "caught" v:exception
+ : echo "caught " .. v:exception
:endtry
< Output: "caught oops".
@@ -2956,7 +2956,7 @@ argv([{nr} [, {winid}])
The {winid} argument specifies the window ID, see |argc()|.
-assert_ functions are documented here: |assert-functions|
+assert_ functions are documented here: |assert-functions-details|
asin({expr}) *asin()*
@@ -4423,7 +4423,10 @@ get({blob}, {idx} [, {default}])
get({dict}, {key} [, {default}])
Get item with key {key} from |Dictionary| {dict}. When this
item is not available return {default}. Return zero when
- {default} is omitted.
+ {default} is omitted. Useful example: >
+ let val = get(g:, 'var_name', 'default')
+< This gets the value of g:var_name if it exists, and uses
+ 'default' when it does not exist.
get({func}, {what})
Get an item with from Funcref {func}. Possible values for
{what} are:
@@ -4799,8 +4802,9 @@ getcwd([{winnr} [, {tabnr}]])
getenv({name}) *getenv()*
Return the value of environment variable {name}.
When the variable does not exist |v:null| is returned. That
- is different from a variable set to an empty string.
- See also |expr-env|.
+ is different from a variable set to an empty string, although
+ some systems interpret the empty value as the variable being
+ deleted. See also |expr-env|.
getfontname([{name}]) *getfontname()*
Without an argument returns the name of the normal font being
@@ -7162,7 +7166,8 @@ remove({blob}, {idx} [, {end}])
:call remove(mylist, 0, 9)
remove({dict}, {key})
- Remove the entry from {dict} with key {key}. Example: >
+ Remove the entry from {dict} with key {key} and return it.
+ Example: >
:echo "removed " . remove(dict, "one")
< If there is no {key} in {dict} this is an error.
@@ -8829,7 +8834,7 @@ tempname() *tempname()* *temp-file-name*
term_ functions are documented here: |terminal-function-details|
-test_ functions are documented here: |test-functions|
+test_ functions are documented here: |test-functions-details|
*timer_info()*
diff --git a/runtime/doc/if_lua.txt b/runtime/doc/if_lua.txt
index 24c53fa95..f7f954e20 100644
--- a/runtime/doc/if_lua.txt
+++ b/runtime/doc/if_lua.txt
@@ -1,4 +1,4 @@
-*if_lua.txt* For Vim version 8.1. Last change: 2019 May 05
+*if_lua.txt* For Vim version 8.1. Last change: 2019 Jul 21
VIM REFERENCE MANUAL by Luis Carvalho
@@ -32,7 +32,7 @@ Examples:
:lua local curbuf = vim.buffer() curbuf[7] = "line #7"
<
-:[range]lua << {endmarker}
+:[range]lua << [endmarker]
{script}
{endmarker}
Execute Lua script {script}.
@@ -40,9 +40,11 @@ Examples:
feature wasn't compiled in. To avoid errors, see
|script-here|.
-{endmarker} must NOT be preceded by any white space. If {endmarker} is
-omitted from after the "<<", a dot '.' must be used after {script}, like
-for the |:append| and |:insert| commands.
+The {endmarker} must NOT be preceded by any white space.
+
+If [endmarker] is omitted from after the "<<", a dot '.' must be used after
+{script}, like for the |:append| and |:insert| commands.
+
This form of the |:lua| command is mainly useful for including Lua code
in Vim scripts.
diff --git a/runtime/doc/if_mzsch.txt b/runtime/doc/if_mzsch.txt
index 7b7e6b1a5..c6888a8b6 100644
--- a/runtime/doc/if_mzsch.txt
+++ b/runtime/doc/if_mzsch.txt
@@ -1,4 +1,4 @@
-*if_mzsch.txt* For Vim version 8.1. Last change: 2019 May 05
+*if_mzsch.txt* For Vim version 8.1. Last change: 2019 Jul 21
VIM REFERENCE MANUAL by Sergey Khorev
@@ -39,7 +39,7 @@ To speed up the process, you might also want to use --disable-gracket and
:[range]mz[scheme] {stmt}
Execute MzScheme statement {stmt}.
-:[range]mz[scheme] << {endmarker}
+:[range]mz[scheme] << [endmarker]
{script}
{endmarker}
Execute inlined MzScheme script {script}.
@@ -47,6 +47,13 @@ To speed up the process, you might also want to use --disable-gracket and
feature wasn't compiled in. To avoid errors, see
|script-here|.
+ The {endmarker} below the {script} must NOT be
+ preceded by any white space.
+
+ If [endmarker] is omitted from after the "<<", a dot
+ '.' must be used after {script}, like for the
+ |:append| and |:insert| commands.
+
*:mzfile* *:mzf*
:[range]mzf[ile] {file} Execute the MzScheme script in {file}.
diff --git a/runtime/doc/if_perl.txt b/runtime/doc/if_perl.txt
index 7e33af24a..bee9b88bf 100644
--- a/runtime/doc/if_perl.txt
+++ b/runtime/doc/if_perl.txt
@@ -1,4 +1,4 @@
-*if_perl.txt* For Vim version 8.1. Last change: 2019 May 05
+*if_perl.txt* For Vim version 8.1. Last change: 2019 Jul 21
VIM REFERENCE MANUAL by Sven Verdoolaege
@@ -55,15 +55,18 @@ The ActiveState one should work, Strawberry Perl is a good alternative.
working: >
:perl VIM::Msg("Hello")
-:pe[rl] << {endpattern}
+:pe[rl] << [endpattern]
{script}
{endpattern}
Execute Perl script {script}.
- {endpattern} must NOT be preceded by any white space.
- If {endpattern} is omitted, it defaults to a dot '.'
+ The {endpattern} after {script} must NOT be preceded
+ by any white space.
+
+ If [endpattern] is omitted, it defaults to a dot '.'
like for the |:append| and |:insert| commands. Using
'.' helps when inside a function, because "$i;" looks
like the start of an |:insert| command to Vim.
+
This form of the |:perl| command is mainly useful for
including perl code in vim scripts.
Note: This command doesn't work when the Perl feature
diff --git a/runtime/doc/if_pyth.txt b/runtime/doc/if_pyth.txt
index 9e2d3017c..4f04199d5 100644
--- a/runtime/doc/if_pyth.txt
+++ b/runtime/doc/if_pyth.txt
@@ -1,4 +1,4 @@
-*if_pyth.txt* For Vim version 8.1. Last change: 2019 May 04
+*if_pyth.txt* For Vim version 8.1. Last change: 2019 Jul 21
VIM REFERENCE MANUAL by Paul Moore
@@ -34,7 +34,7 @@ Both can be available at the same time, but read |python-2-and-3|.
the `:python` command is working: >
:python print "Hello"
-:[range]py[thon] << {endmarker}
+:[range]py[thon] << [endmarker]
{script}
{endmarker}
Execute Python script {script}.
@@ -42,9 +42,11 @@ Both can be available at the same time, but read |python-2-and-3|.
feature wasn't compiled in. To avoid errors, see
|script-here|.
-{endmarker} must NOT be preceded by any white space. If {endmarker} is
-omitted from after the "<<", a dot '.' must be used after {script}, like
-for the |:append| and |:insert| commands.
+The {endmarker} below the {script} must NOT be preceded by any white space.
+
+If [endmarker] is omitted from after the "<<", a dot '.' must be used after
+{script}, like for the |:append| and |:insert| commands.
+
This form of the |:python| command is mainly useful for including python code
in Vim scripts.
diff --git a/runtime/doc/if_ruby.txt b/runtime/doc/if_ruby.txt
index de36c0131..0eca0b6b6 100644
--- a/runtime/doc/if_ruby.txt
+++ b/runtime/doc/if_ruby.txt
@@ -1,4 +1,4 @@
-*if_ruby.txt* For Vim version 8.1. Last change: 2019 May 05
+*if_ruby.txt* For Vim version 8.1. Last change: 2019 Jul 21
VIM REFERENCE MANUAL by Shugo Maeda
@@ -28,15 +28,19 @@ downloading Ruby there.
:rub[y] {cmd} Execute Ruby command {cmd}. A command to try it out: >
:ruby print "Hello"
-:rub[y] << {endpattern}
+:rub[y] << [endpattern]
{script}
{endpattern}
Execute Ruby script {script}.
- {endpattern} must NOT be preceded by any white space.
- If {endpattern} is omitted, it defaults to a dot '.'
- like for the |:append| and |:insert| commands. This
- form of the |:ruby| command is mainly useful for
+ The {endpattern} after {script} must NOT be preceded
+ by any white space.
+
+ If [endpattern] is omitted, it defaults to a dot '.'
+ like for the |:append| and |:insert| commands.
+
+ This form of the |:ruby| command is mainly useful for
including ruby code in vim scripts.
+
Note: This command doesn't work when the Ruby feature
wasn't compiled in. To avoid errors, see
|script-here|.
diff --git a/runtime/doc/if_tcl.txt b/runtime/doc/if_tcl.txt
index 4a5379ddb..e37dce909 100644
--- a/runtime/doc/if_tcl.txt
+++ b/runtime/doc/if_tcl.txt
@@ -1,4 +1,4 @@
-*if_tcl.txt* For Vim version 8.1. Last change: 2019 May 05
+*if_tcl.txt* For Vim version 8.1. Last change: 2019 Jul 21
VIM REFERENCE MANUAL by Ingo Wilken
@@ -30,7 +30,7 @@ comments, ideas etc to <Ingo.Wilken@informatik.uni-oldenburg.de>
is working: >
:tcl puts "Hello"
-:[range]tc[l] << {endmarker}
+:[range]tc[l] << [endmarker]
{script}
{endmarker}
Execute Tcl script {script}.
@@ -38,9 +38,11 @@ comments, ideas etc to <Ingo.Wilken@informatik.uni-oldenburg.de>
wasn't compiled in. To avoid errors, see
|script-here|.
-{endmarker} must NOT be preceded by any white space. If {endmarker} is
-omitted from after the "<<", a dot '.' must be used after {script}, like for
-the |:append| and |:insert| commands.
+The {endmarker} after {script} must NOT be preceded by any white space.
+
+If [endmarker] is omitted from after the "<<", a dot '.' must be used after
+{script}, like for the |:append| and |:insert| commands.
+
This form of the |:tcl| command is mainly useful for including tcl code in Vim
scripts.
diff --git a/runtime/doc/indent.txt b/runtime/doc/indent.txt
index 76431089e..6fcf987d8 100644
--- a/runtime/doc/indent.txt
+++ b/runtime/doc/indent.txt
@@ -1,4 +1,4 @@
-*indent.txt* For Vim version 8.1. Last change: 2019 Feb 21
+*indent.txt* For Vim version 8.1. Last change: 2019 Jul 21
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -831,7 +831,7 @@ PHP indenting can be altered in several ways by modifying the values of some
global variables:
*php-comment* *PHP_autoformatcomment*
-To not enable auto-formatting of comments by default (if you want to use your
+To not enable auto-formating of comments by default (if you want to use your
own 'formatoptions'): >
:let g:PHP_autoformatcomment = 0
@@ -901,7 +901,7 @@ NOTE: Indenting will be a bit slower if this option is used because some
optimizations won't be available.
-------------
- *PHP_vintage_case_default_indent*
+ *PHP_vintage_case_default_indent*
To indent 'case:' and 'default:' statements in switch() blocks: >
:let g:PHP_vintage_case_default_indent = 1
@@ -928,6 +928,41 @@ You will obtain the following result: >
->age()
->info();
+-------------
+
+ *PHP_IndentFunctionCallParameters*
+Extra indentation levels to add to parameters in multi-line function calls. >
+ let g:PHP_IndentFunctionCallParameters = 1
+
+Function call arguments will indent 1 extra level. For two-space indentation: >
+
+ function call_the_thing(
+ $with_this,
+ $and_that
+ ) {
+ $this->do_the_thing(
+ $with_this,
+ $and_that
+ );
+ }
+
+-------------
+
+ *PHP_IndentFunctionDeclarationParameters*
+Extra indentation levels to add to arguments in multi-line function definitions. >
+ let g:PHP_IndentFunctionDeclarationParameters = 1
+
+Function arguments in declarations will indent 1 extra level. For two-space indentation: >
+
+ function call_the_thing(
+ $with_this,
+ $and_that
+ ) {
+ $this->do_the_thing(
+ $with_this,
+ $and_that
+ );
+ }
PYTHON *ft-python-indent*
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 0d5586357..5557f636b 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt* For Vim version 8.1. Last change: 2019 Jul 18
+*options.txt* For Vim version 8.1. Last change: 2019 Jul 31
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1131,6 +1131,10 @@ A jump table for the options with a short description can be found at |Q_op|.
v:beval_col column number (byte index)
v:beval_text word under or after the mouse pointer
+ Instead of showing a balloon, which is limited to plain text, consider
+ using a popup window, see |popup_beval_example|. A popup window can
+ use highlighting and show a border.
+
The evaluation of the expression must not have side effects!
Example: >
function MyBalloonExpr()
@@ -1436,8 +1440,6 @@ A jump table for the options with a short description can be found at |Q_op|.
*'cedit'*
'cedit' string (Vi default: "", Vim default: CTRL-F)
global
- {not available when compiled without the |+vertsplit|
- feature}
The key used in Command-line Mode to open the command-line window.
The default is CTRL-F when 'compatible' is off.
Only non-printable keys are allowed.
@@ -1640,8 +1642,6 @@ A jump table for the options with a short description can be found at |Q_op|.
*'cmdwinheight'* *'cwh'*
'cmdwinheight' 'cwh' number (default 7)
global
- {not available when compiled without the |+vertsplit|
- feature}
Number of screen lines to use for the command-line window. |cmdwin|
*'colorcolumn'* *'cc'*
@@ -2720,8 +2720,6 @@ A jump table for the options with a short description can be found at |Q_op|.
*'eadirection'* *'ead'*
'eadirection' 'ead' string (default "both")
global
- {not available when compiled without the |+vertsplit|
- feature}
Tells when the 'equalalways' option applies:
ver vertically, width of windows is not affected
hor horizontally, height of windows is not affected
@@ -7082,8 +7080,6 @@ A jump table for the options with a short description can be found at |Q_op|.
*'splitright'* *'spr'* *'nosplitright'* *'nospr'*
'splitright' 'spr' boolean (default off)
global
- {not available when compiled without the |+vertsplit|
- feature}
When on, splitting a window will put the new window right of the
current one. |:vsplit|
@@ -8792,8 +8788,6 @@ A jump table for the options with a short description can be found at |Q_op|.
*'winminwidth'* *'wmw'*
'winminwidth' 'wmw' number (default 1)
global
- {not available when compiled without the |+vertsplit|
- feature}
The minimal width of a window, when it's not the current window.
This is a hard minimum, windows will never become smaller.
When set to zero, windows may be "squashed" to zero columns (i.e. just
@@ -8821,8 +8815,6 @@ A jump table for the options with a short description can be found at |Q_op|.
*'winwidth'* *'wiw'* *E592*
'winwidth' 'wiw' number (default 20)
global
- {not available when compiled without the |+vertsplit|
- feature}
Minimal number of columns for the current window. This is not a hard
minimum, Vim will use fewer columns if there is not enough room. If
the current window is smaller, its size is increased, at the cost of
diff --git a/runtime/doc/popup.txt b/runtime/doc/popup.txt
index d696e2833..0552951a7 100644
--- a/runtime/doc/popup.txt
+++ b/runtime/doc/popup.txt
@@ -515,10 +515,10 @@ The second argument of |popup_create()| is a dictionary with options:
padding.
minheight Minimum height of the contents, excluding border and
padding.
- maxwidth Maximum width of the contents, excluding border and
- padding.
- minwidth Minimum width of the contents, excluding border and
- padding.
+ maxwidth Maximum width of the contents, excluding border,
+ padding and scrollbar.
+ minwidth Minimum width of the contents, excluding border,
+ padding and scrollbar.
firstline First buffer line to display. When larger than one it
looks like the text scrolled up. When out of range
the last buffer line will at the top of the window.
diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt
index 413aff5c5..7597662e3 100644
--- a/runtime/doc/starting.txt
+++ b/runtime/doc/starting.txt
@@ -1,4 +1,4 @@
-*starting.txt* For Vim version 8.1. Last change: 2019 Jun 02
+*starting.txt* For Vim version 8.1. Last change: 2019 Jul 30
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1189,6 +1189,8 @@ greps in the help files) you might be able to use this: >
VIMRUNTIME=`vim -e -T dumb --cmd 'exe "set t_cm=\<C-M>"|echo $VIMRUNTIME|quit' | tr -d '\015' `
+Don't set $VIMRUNTIME to an empty value, some things may stop working.
+
==============================================================================
6. Suspending *suspend*
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 75071e67c..01948f661 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -149,6 +149,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
'complete' options.txt /*'complete'*
'completefunc' options.txt /*'completefunc'*
'completeopt' options.txt /*'completeopt'*
+'completeslash' options.txt /*'completeslash'*
'concealcursor' options.txt /*'concealcursor'*
'conceallevel' options.txt /*'conceallevel'*
'confirm' options.txt /*'confirm'*
@@ -169,6 +170,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
'cscopetag' options.txt /*'cscopetag'*
'cscopetagorder' options.txt /*'cscopetagorder'*
'cscopeverbose' options.txt /*'cscopeverbose'*
+'csl' options.txt /*'csl'*
'cspc' options.txt /*'cspc'*
'csprg' options.txt /*'csprg'*
'csqf' options.txt /*'csqf'*
@@ -3991,12 +3993,14 @@ E239 sign.txt /*E239*
E24 message.txt /*E24*
E240 remote.txt /*E240*
E241 eval.txt /*E241*
+E242 windows.txt /*E242*
E243 if_ole.txt /*E243*
E244 gui.txt /*E244*
E245 gui.txt /*E245*
E246 autocmd.txt /*E246*
E247 remote.txt /*E247*
E248 remote.txt /*E248*
+E249 windows.txt /*E249*
E25 message.txt /*E25*
E250 options.txt /*E250*
E251 remote.txt /*E251*
@@ -4736,6 +4740,7 @@ E955 terminal.txt /*E955*
E956 pattern.txt /*E956*
E957 eval.txt /*E957*
E958 terminal.txt /*E958*
+E959 diff.txt /*E959*
E96 diff.txt /*E96*
E960 options.txt /*E960*
E961 cmdline.txt /*E961*
@@ -4910,6 +4915,8 @@ P change.txt /*P*
PATHEXT eval.txt /*PATHEXT*
PEP8 filetype.txt /*PEP8*
PHP_BracesAtCodeLevel indent.txt /*PHP_BracesAtCodeLevel*
+PHP_IndentFunctionCallParameters indent.txt /*PHP_IndentFunctionCallParameters*
+PHP_IndentFunctionDeclarationParameters indent.txt /*PHP_IndentFunctionDeclarationParameters*
PHP_autoformatcomment indent.txt /*PHP_autoformatcomment*
PHP_default_indenting indent.txt /*PHP_default_indenting*
PHP_noArrowMatching indent.txt /*PHP_noArrowMatching*
@@ -5293,7 +5300,7 @@ asin() eval.txt /*asin()*
asm.vim syntax.txt /*asm.vim*
asm68k syntax.txt /*asm68k*
asmh8300.vim syntax.txt /*asmh8300.vim*
-assert-functions testing.txt /*assert-functions*
+assert-functions-details testing.txt /*assert-functions-details*
assert-return eval.txt /*assert-return*
assert_beeps() testing.txt /*assert_beeps()*
assert_equal() testing.txt /*assert_equal()*
@@ -8262,6 +8269,7 @@ popup_filter_menu() popup.txt /*popup_filter_menu()*
popup_filter_yesno() popup.txt /*popup_filter_yesno()*
popup_getoptions() popup.txt /*popup_getoptions()*
popup_getpos() popup.txt /*popup_getpos()*
+popup_getpreview() popup.txt /*popup_getpreview()*
popup_hide() popup.txt /*popup_hide()*
popup_locate() popup.txt /*popup_locate()*
popup_menu() popup.txt /*popup_menu()*
@@ -9363,8 +9371,8 @@ terminal-window terminal.txt /*terminal-window*
terminal.txt terminal.txt /*terminal.txt*
terminfo term.txt /*terminfo*
termresponse-variable eval.txt /*termresponse-variable*
-test-functions testing.txt /*test-functions*
test-functions usr_41.txt /*test-functions*
+test-functions-details testing.txt /*test-functions-details*
test_alloc_fail() testing.txt /*test_alloc_fail()*
test_autochdir() testing.txt /*test_autochdir()*
test_feedinput() testing.txt /*test_feedinput()*
diff --git a/runtime/doc/testing.txt b/runtime/doc/testing.txt
index 7692d804c..6fe6b8e5f 100644
--- a/runtime/doc/testing.txt
+++ b/runtime/doc/testing.txt
@@ -1,4 +1,4 @@
-*testing.txt* For Vim version 8.1. Last change: 2019 Jul 21
+*testing.txt* For Vim version 8.1. Last change: 2019 Jul 28
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -11,8 +11,8 @@ about writing tests in Vim script. This can be used for testing Vim itself
and for testing plugins.
1. Testing Vim |testing|
-2. Test functions |test-functions|
-3. Assert funtions |assert-functions|
+2. Test functions |test-functions-details|
+3. Assert functions |assert-functions-details|
==============================================================================
1. Testing Vim *testing*
@@ -36,7 +36,7 @@ without the |+eval| feature.
Find more information in the file src/testdir/README.txt.
==============================================================================
-2. Test functions *test-functions*
+2. Test functions *test-functions-details*
test_alloc_fail({id}, {countdown}, {repeat}) *test_alloc_fail()*
This is for testing: If the memory allocation with {id} is
@@ -198,7 +198,7 @@ test_settime({expr}) *test_settime()*
normal behavior is restored.
==============================================================================
-3. Assert functions *assert-functions*
+3. Assert functions *assert-functions-details*
assert_beeps({cmd}) *assert_beeps()*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 4d937e709..3c3bd029b 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt* For Vim version 8.1. Last change: 2019 Jul 19
+*todo.txt* For Vim version 8.1. Last change: 2019 Jul 30
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -38,24 +38,11 @@ browser use: https://github.com/vim/vim/issues/1234
*known-bugs*
-------------------- Known bugs and current work -----------------------
-Patch to fix session file when using multiple tabs. (Jason Franklin, 2019 May
-20)
-Also put :argadd commands at the start for all buffers, so that their order
-remains equal? Then %argdel to clean it up. Do try this with 'hidden' set.
-
-Refactor: Move common things out of evalfunc.c, it's too big.
-Move function specs out of eval.txt, it's too big.
-
-Convert comments in option.h
-
-Patch to convert encoding of strftime(). (Ken Takata, #4685, fixes #4681)
-
-Patch to Move viminfo related functions to a separate file: #4686
-
Popup windows:
-- avoid preview popup going outside of the screen
-- add popup_getpreview() - get ID of preview window
+- Always show the right border, not only when there is a close button?
- bug: double click in scrollbar starts selection
+- modeless selection fails over ssh and with putty. Mouse dragging not
+ supported? Can we force it on?
- Allow resizing from the bottom-right corner
- Implement flip option
- Have a way to scroll to the bottom, e.g. set 'firstline' to -1? (#4577)
@@ -148,22 +135,29 @@ Terminal emulator window:
- When 'encoding' is not utf-8, or the job is using another encoding, setup
conversions.
-Error numbers available: E172, E221, E242, E249, E260, E274, E275, E276,
-E278, E279, E281, E290, E291, E292, E361, E362, E366, E396, E450, E451, E452,
-E453, E454, E460, E489, E491, E56, E57, E565, E569, E578, E610, E611, E653,
-E654, E693, E706, E856, E857, E860, E861, E863, E889, E900, E959
+Error numbers available: E260, E274, E275, E276,
+E278, E279, E290, E292, E362, E366, E450, E451, E452,
+E453, E454, E460, E489, E491, E565, E578, E610, E611, E653,
+E654, E856, E857, E860, E861, E863, E889, E900
-Problem with German spell file. Hint for solution by Klaus-Peter Schreiner in
-#4314, solves the Rasenmäher problem.
+Patch on issue #4661 to fix resolve(). (Ken Takata)
+https://gist.github.com/k-takata/52d0a677ca9a27bdbaed21d77533244e
-Sound: support on Mac? Or does libcanberra work there?
+Patch to split of map.c from getchar.c (Yegappan, #4740)
-Patch to use forward slash for completion even when 'shellslash' is set.
-Adds 'completepathslash'. (Yasuhiro Matsumoto, 2018 Nov 15, #3612)
+Sound: support on Mac? Or does libcanberra work there?
Patch to add win_splitmove() function. (Andy Massimino, #4561)
-Resolve() works incorrectly under windows. (#4661)
+Patch for #4733: #4734. Test needs improvements.
+
+Patch to fix session file when using multiple tabs. (Jason Franklin, 2019 May
+20)
+Also put :argadd commands at the start for all buffers, so that their order
+remains equal? Then %argdel to clean it up. Do try this with 'hidden' set.
+
+Make heredoc-let a bit more restrictive:
+https://github.com/vim/vim/issues/4705
Completion mixes results from the current buffer with tags and other files.
Happens when typing CTRL-N while still search for results. E.g., type "b_" in
@@ -171,6 +165,8 @@ terminal.c and then CTRL-N twice.
Should do current file first and not split it up when more results are found.
(Also #1890)
+Patch to add :spellrare. (#4291)
+
Patch to use timers in matchparen. (Daniel Hahler, #1338)
Ready to include now?
@@ -180,12 +176,18 @@ Adding "10" to 'spellsuggest' causes spell suggestions to become very slow.
Patch to support 'cursorlineopt' - only highlight the line number of the
cursor line: #4693
+Let plugins know how much space is available in the last line before
+triggering the hit-enter prompt. Internally called "sc_col".
+(Daniel Hahler, #4732)
+
Patch for Template string: #4491 Not ready yet. New pull: #4634
":bnext" in a help buffer is supposed to go to the next help buffer, but it
goes to any buffer, and then :bnext skips help buffers, since they are
unlisted. (#4478)
+Make 'showbreak' global-local.
+
Problem showing a line if the number column width changes when using "o".
(Mateusz Morusiewicz, #4245)
@@ -222,6 +224,9 @@ Patch for Inno Setup: #2739
Internal diff doesn't handle binary file like external diff does. (Mike
Williams, 2018 Oct 30)
+"exepath('bin/cmd')" does not work while ":!bin/cmd" does work.
+(Daniel Hahler, #4710) and executable('bin/cmd') returns 1
+
Problem with :tlmenu: Detach item added with all modes? Issue #3563.
The quoting of the [command] argument of :terminal is not clearly documented.
@@ -308,6 +313,24 @@ added?
Add test for urxvt mouse codes. Also test that mouse coordinates can be
negative. (see #4326)
+All functions are global, which makes functions like get() and len() awkward.
+For the future use the ~get() and ~len() syntax. It also allows for
+chaining: >
+ mylist~get(idx)
+ mylist~uniq()~len()
+ mydict~get(idx)
+ mystring~len()
+Or use -> (like C pointer dereference) >
+ mylist->get(idx)
+ mylist->uniq()->len()
+ mydict->get(idx)
+ mystring->len()
+Alternatives for ~:
+ ^ list^get() could also be used
+ . list.get() already means "member" in Dict
+ $ list$get() harder to read
+ @ list@get() harder to read
+
'cmdheight' has a tab-local value, but it cannot be obtained with
`:echo gettabwinvar(2, 1, '&cmdheight')` returns the value for the _current_
tab page. (Ingo Karkat, #4324)
@@ -522,6 +545,8 @@ when adding a sign for every quickfix entry. (#4557)
Win32 key codes are messy. Mike Williams tried to fix that, but now old
mappings no longer work. Create a new terminal for the better solution?
+Patch to "fix" 'visualbell'. Add option to set delay? (#1789)
+
Script generated by :mksession does not work well if there are windows with
modified buffers
change "silent only" into "silent only!"
@@ -802,18 +827,6 @@ behavior. Skip when "uname" returns "SunOS"? (Pavel Heimlich, #1872)
'tagrelative' is broken in specific situation. (xaizek, 2017 Oct 19, #2221)
-All functions are global, which makes functions like get() and len() awkward.
-For the future use the ~get() and ~len() syntax, e.g.:
- mylist~get(idx)
- mydict~get(idx)
- mystring~len()
-Alternatives for ~:
- ^ list^get() could also be used
- . list.get() already means concatenate
- $ list$get() harder to read
- @ list@get() harder to read
- -> list->get() two characters, used for lambda
-
The ++ options for the :edit command are also useful on the Vim command line.
When recovering a file, put the swap file name in b:recovered_swapfile. Then
@@ -4379,8 +4392,6 @@ Vim script language:
to avoid a performance penalty (esp. for string options)?
8 Add referring to key options with "&t_xx". Both for "echo &t_xx" and
":let &t_xx =". Useful for making portable mappings.
-- Add ":let var ?= value", conditional assignment. Patch by Dave Eggum,
- 2006 Dec 11.
- range for ":exec", pass it on to the executed command. (Webb)
8 ":{range}source": source the lines from the current file.
You can already yank lines and use :@" to execute them.
diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt
index 5f987dc0e..6a6786790 100644
--- a/runtime/doc/various.txt
+++ b/runtime/doc/various.txt
@@ -1,4 +1,4 @@
-*various.txt* For Vim version 8.1. Last change: 2019 Jun 10
+*various.txt* For Vim version 8.1. Last change: 2019 Jul 21
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -457,7 +457,6 @@ B *+vartabs* Variable-width tabstops. |'vartabstop'|
N *+viminfo* |'viminfo'|
*+vertsplit* Vertically split windows |:vsplit|; Always enabled
since 8.0.1118.
- in sync with the |+windows| feature
N *+virtualedit* |'virtualedit'|
T *+visual* Visual mode |Visual-mode| Always enabled since 7.4.200.
T *+visualextra* extra Visual mode commands |blockwise-operators|
diff --git a/runtime/doc/windows.txt b/runtime/doc/windows.txt
index 81b99a019..87a5d6f6d 100644
--- a/runtime/doc/windows.txt
+++ b/runtime/doc/windows.txt
@@ -1,4 +1,4 @@
-*windows.txt* For Vim version 8.1. Last change: 2019 Jul 18
+*windows.txt* For Vim version 8.1. Last change: 2019 Jul 27
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -28,8 +28,6 @@ The basics are explained in chapter 7 and 8 of the user manual |usr_07.txt|
{not able to use multiple windows when the |+windows| feature was disabled at
compile time}
-{not able to use vertically split windows when the |+vertsplit| feature was
-disabled at compile time}
==============================================================================
1. Introduction *windows-intro* *window*
@@ -162,6 +160,10 @@ CTRL-W CTRL-S *CTRL-W_CTRL-S*
Note: CTRL-S does not work on all terminals and might block
further input, use CTRL-Q to get going again.
Also see |++opt| and |+cmd|.
+ *E242*
+ Be careful when splitting a window in an autocommand, it may
+ mess up the window layout if this happens while making other
+ window layout changes.
CTRL-W CTRL-V *CTRL-W_CTRL-V*
CTRL-W v *CTRL-W_v*
@@ -507,7 +509,6 @@ CTRL-W H Move the current window to be at the far left, using the
current window and then creating another one with
":vert topleft split", except that the current window contents
is used for the new window.
- {not available when compiled without the |+vertsplit| feature}
*CTRL-W_L*
CTRL-W L Move the current window to be at the far right, using the full
@@ -515,7 +516,6 @@ CTRL-W L Move the current window to be at the far right, using the full
current window and then creating another one with
":vert botright split", except that the current window
contents is used for the new window.
- {not available when compiled without the |+vertsplit| feature}
*CTRL-W_T*
CTRL-W T Move the current window to a new tab page. This fails if
@@ -667,6 +667,8 @@ can also get to them with the buffer list commands, like ":bnext".
|:vertical| was prepended).
Buf/Win Enter/Leave autocommands are not executed for the new
windows here, that's only done when they are really entered.
+ If autocommands change the window layout while this command is
+ busy an error will be given. *E249*
:[N]sa[rgument][!] [++opt] [+cmd] [N] *:sa* *:sargument*
Short for ":split | argument [N]": split window and go to Nth
diff --git a/runtime/indent/php.vim b/runtime/indent/php.vim
index 5dee6c9f4..67a1327dc 100644
--- a/runtime/indent/php.vim
+++ b/runtime/indent/php.vim
@@ -1,10 +1,10 @@
" Vim indent file
" Language: PHP
-" Author: John Wellesz <John.wellesz (AT) teaser (DOT) fr>
-" URL: http://www.2072productions.com/vim/indent/php.vim
+" Author: John Wellesz <John.wellesz (AT) gmail (DOT) com>
+" URL: https://www.2072productions.com/vim/indent/php.vim
" Home: https://github.com/2072/PHP-Indenting-for-VIm
-" Last Change: 2018 May 18th
-" Version: 1.66
+" Last Change: 2019 Jully 21st
+" Version: 1.70
"
"
" Type :help php-indent for available options
@@ -19,7 +19,7 @@
" NOTE: This script must be used with PHP syntax ON and with the php syntax
" script by Lutz Eymers (http://www.isp.de/data/php.vim ) or with the
-" script by Peter Hodge (http://www.vim.org/scripts/script.php?script_id=1571 )
+" script by Peter Hodge (https://www.vim.org/scripts/script.php?script_id=1571 )
" the later is bunbdled by default with Vim 7.
"
"
@@ -41,7 +41,6 @@
" silently remove them when VIM load this script (at each bufread).
-
if exists("b:did_indent")
finish
endif
@@ -95,7 +94,17 @@ else
let b:PHP_vintage_case_default_indent = 0
endif
+if exists("PHP_IndentFunctionCallParameters")
+ let b:PHP_IndentFunctionCallParameters = PHP_IndentFunctionCallParameters
+else
+ let b:PHP_IndentFunctionCallParameters = 0
+endif
+if exists("PHP_IndentFunctionDeclarationParameters")
+ let b:PHP_IndentFunctionDeclarationParameters = PHP_IndentFunctionDeclarationParameters
+else
+ let b:PHP_IndentFunctionDeclarationParameters = 0
+endif
let b:PHP_lastindented = 0
let b:PHP_indentbeforelast = 0
@@ -129,15 +138,19 @@ endif
if exists("*GetPhpIndent")
call ResetPhpOptions()
- finish
+ finish " XXX -- comment this line for easy dev
endif
-let s:PHP_validVariable = '[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'
-let s:notPhpHereDoc = '\%(break\|return\|continue\|exit\|die\|else\)'
-let s:blockstart = '\%(\%(\%(}\s*\)\=else\%(\s\+\)\=\)\=if\>\|\%(}\s*\)\?else\>\|do\>\|while\>\|switch\>\|case\>\|default\>\|for\%(each\)\=\>\|declare\>\|class\>\|trait\>\|use\>\|interface\>\|abstract\>\|final\>\|try\>\|\%(}\s*\)\=catch\>\|\%(}\s*\)\=finally\>\)'
-let s:functionDecl = '\<function\>\%(\s\+&\='.s:PHP_validVariable.'\)\=\s*(.*'
let s:endline = '\s*\%(//.*\|#.*\|/\*.*\*/\s*\)\=$'
+let s:PHP_validVariable = '[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'
+let s:notPhpHereDoc = '\%(break\|return\|continue\|exit\|die\|else\|end\%(if\|while\|for\|foreach\|switch\)\)'
+let s:blockstart = '\%(\%(\%(}\s*\)\=else\%(\s\+\)\=\)\=if\>\|\%(}\s*\)\?else\>\|do\>\|while\>\|switch\>\|case\>\|default\>\|for\%(each\)\=\>\|declare\>\|class\>\|trait\>\|\%()\s*\)\=use\>\|interface\>\|abstract\>\|final\>\|try\>\|\%(}\s*\)\=catch\>\|\%(}\s*\)\=finally\>\)'
+let s:functionDeclPrefix = '\<function\>\%(\s\+&\='.s:PHP_validVariable.'\)\=\s*('
+let s:functionDecl = s:functionDeclPrefix.'.*'
+let s:multilineFunctionDecl = s:functionDeclPrefix.s:endline
+let s:arrayDecl = '\<array\>\s*(.*'
+let s:multilineFunctionCall = s:PHP_validVariable.'\s*('.s:endline
let s:unstated = '\%(^\s*'.s:blockstart.'.*)\|\%(//.*\)\@<!\<e'.'lse\>\)'.s:endline
@@ -210,7 +223,7 @@ function! GetLastRealCodeLNum(startline) " {{{
while getline(lnum) !~? tofind && lnum > 1
let lnum = lnum - 1
endwhile
- elseif lastline =~ '^[^''"`]*[''"`][;,]'.s:endline
+ elseif lastline =~ '^\s*[''"`][;,]' || (lastline =~ '^[^''"`]*[''"`][;,]'.s:endline && IslinePHP(lnum, "") == "SpecStringEntrails")
let tofind=substitute( lastline, '^.*\([''"`]\)[;,].*$', '^[^\1]\\+[\1]$\\|^[^\1]\\+[=([]\\s*[\1]', '')
let trylnum = lnum
@@ -289,17 +302,23 @@ function! FindOpenBracket(lnum, blockStarter) " {{{
endfun " }}}
let s:blockChars = {'{':1, '[': 1, '(': 1, ')':-1, ']':-1, '}':-1}
+let s:blockCharsLUT = {'{':'{', '}':'{', '[':'[', ']':'[', '(':'(', ')':'('}
function! BalanceDirection (str)
- let balance = 0
+ let balance = {'{':0, '[': 0, '(': 0, 'none':0}
+ let director = 'none'
for c in split(a:str, '\zs')
if has_key(s:blockChars, c)
- let balance += s:blockChars[c]
+ let balance[s:blockCharsLUT[c]] += s:blockChars[c]
+
+ if balance[s:blockCharsLUT[c]]
+ let director = s:blockCharsLUT[c]
+ endif
endif
endfor
- return balance
+ return balance[director]
endfun
function! StripEndlineComments (line)
@@ -308,7 +327,8 @@ endfun
function! FindArrowIndent (lnum) " {{{
- let parrentArrowPos = 0
+ let parrentArrowPos = -1
+ let cursorPos = -1
let lnum = a:lnum
while lnum > 1
let last_line = getline(lnum)
@@ -316,31 +336,46 @@ function! FindArrowIndent (lnum) " {{{
let parrentArrowPos = indent(a:lnum)
break
else
- call cursor(lnum, 1)
- let cleanedLnum = StripEndlineComments(last_line)
- if cleanedLnum =~ '->'
- if ! b:PHP_noArrowMatching
- let parrentArrowPos = searchpos('->', 'W', lnum)[1] - 1
- else
- let parrentArrowPos = indent(lnum) + shiftwidth()
- endif
+
+ if b:PHP_noArrowMatching
break
- elseif cleanedLnum =~ ')'.s:endline && BalanceDirection(last_line) < 0
- call searchpos(')'.s:endline, 'cW', lnum)
- let openedparent = searchpair('(', '', ')', 'bW', 'Skippmatch()')
- if openedparent != lnum
- let lnum = openedparent
+ endif
+
+ let cleanedLnum = StripEndlineComments(last_line)
+
+ if cleanedLnum =~ ')'.s:endline
+ if BalanceDirection(cleanedLnum) <= 0
+ call cursor(lnum, 1)
+ call searchpos(')'.s:endline, 'cW', lnum)
+ let openedparent = searchpair('(', '', ')', 'bW', 'Skippmatch()')
+ let cursorPos = col(".")
+ if openedparent != lnum
+ let lnum = openedparent
+ continue
+ else
+ endif
else
- let openedparent = -1
- endif
+ let parrentArrowPos = -1
+ break
+ end
+ endif
+
+ if cleanedLnum =~ '->'
+ call cursor(lnum, cursorPos == -1 ? strwidth(cleanedLnum) : cursorPos)
+ let parrentArrowPos = searchpos('->', 'cWb', lnum)[1] - 1
+ break
else
- let parrentArrowPos = indent(lnum) + shiftwidth()
+ let parrentArrowPos = -1
break
endif
endif
endwhile
+ if parrentArrowPos == -1
+ let parrentArrowPos = indent(lnum) + shiftwidth()
+ end
+
return parrentArrowPos
endfun "}}}
@@ -432,7 +467,7 @@ function! IslinePHP (lnum, tofind) " {{{
let synname = synIDattr(synID(a:lnum, coltotest, 0), "name")
if synname ==? 'phpStringSingle' || synname ==? 'phpStringDouble' || synname ==? 'phpBacktick'
- if cline !~ '^\s*[''"`]'
+ if cline !~ '^\s*[''"`]' " ??? XXX
return "SpecStringEntrails"
else
return synname
@@ -471,7 +506,7 @@ endfunc
call ResetPhpOptions()
function! GetPhpIndentVersion()
- return "1.66-bundle"
+ return "1.70-bundle"
endfun
function! GetPhpIndent()
@@ -615,7 +650,7 @@ function! GetPhpIndent()
let b:InPHPcode_and_script = 1
endif
- elseif last_line =~ '^[^''"`]\+[''"`]$' " a string identifier with nothing after it and no other string identifier before
+ elseif last_line =~ '^[^''"`]\+[''"`]$' && last_line !~ '^\s*\%(//\|#\|/\*.*\*/\s*$\)' " a string identifier with nothing after it and no other string identifier before
let b:InPHPcode = -1
let b:InPHPcode_tofind = substitute( last_line, '^.*\([''"`]\).*$', '^[^\1]*\1[;,]$', '')
elseif last_line =~? '<<<\s*[''"]\=\a\w*[''"]\=$'
@@ -723,7 +758,7 @@ function! GetPhpIndent()
endif
- if last_line =~ '[;}]'.endline && last_line !~ '^[)\]]' && last_line !~# s:defaultORcase
+ if last_line =~ '[;}]'.endline && last_line !~ '^[)\]]' && last_line !~# s:defaultORcase && last_line !~ '^\s*[''"`][;,]'
if ind==b:PHP_default_indenting
return b:PHP_default_indenting + addSpecial
elseif b:PHP_indentinghuge && ind==b:PHP_CurrentIndentLevel && cline !~# '^\s*\%(else\|\%(case\|default\).*:\|[})];\=\)' && last_line !~# '^\s*\%(\%(}\s*\)\=else\)' && getline(GetLastRealCodeLNum(lnum - 1))=~';'.endline
@@ -869,6 +904,14 @@ function! GetPhpIndent()
let ind = ind + shiftwidth()
endif
+ if b:PHP_IndentFunctionCallParameters && last_line =~ s:multilineFunctionCall && last_line !~ s:structureHead && last_line !~ s:arrayDecl
+ let ind = ind + b:PHP_IndentFunctionCallParameters * shiftwidth()
+ endif
+
+ if b:PHP_IndentFunctionDeclarationParameters && last_line =~ s:multilineFunctionDecl
+ let ind = ind + b:PHP_IndentFunctionDeclarationParameters * shiftwidth()
+ endif
+
if b:PHP_BracesAtCodeLevel || b:PHP_vintage_case_default_indent == 1
let b:PHP_CurrentIndentLevel = ind
@@ -897,10 +940,15 @@ function! GetPhpIndent()
endif
if cline =~ '^\s*[)\]];\='
- let ind = ind - shiftwidth()
- endif
+ call cursor(v:lnum, 1)
+ call searchpos('[)\]]', 'cW')
+ let matchedBlockChar = cline[col('.')-1]
+ let openedparent = searchpair('\M'.s:blockCharsLUT[matchedBlockChar], '', '\M'.matchedBlockChar, 'bW', 'Skippmatch()')
+ if openedparent != v:lnum
+ let ind = indent(openedparent)
+ endif
- if last_line =~ '^\s*->' && last_line !~? s:structureHead && BalanceDirection(last_line) <= 0
+ elseif last_line =~ '^\s*->' && last_line !~? s:structureHead && BalanceDirection(last_line) <= 0
let ind = ind - shiftwidth()
endif
diff --git a/runtime/indent/sh.vim b/runtime/indent/sh.vim
index 148a86ed6..3df6abbf9 100644
--- a/runtime/indent/sh.vim
+++ b/runtime/indent/sh.vim
@@ -3,10 +3,13 @@
" Maintainer: Christian Brabandt <cb@256bit.org>
" Original Author: Nikolai Weibull <now@bitwi.se>
" Previous Maintainer: Peter Aronoff <telemachus@arpinum.org>
-" Latest Revision: 2019-04-27
+" Latest Revision: 2019-07-26
" License: Vim (see :h license)
" Repository: https://github.com/chrisbra/vim-sh-indent
" Changelog:
+" 20190726 - Correctly skip if keywords in syntax comments
+" (issue #17)
+" 20190603 - Do not indent in zsh filetypes with an `if` in comments
" 20190428 - De-indent fi correctly when typing with
" https://github.com/chrisbra/vim-sh-indent/issues/15
" 20190325 - Indent fi; correctly
@@ -80,8 +83,9 @@ function! GetShIndent()
let ind = indent(lnum)
" Check contents of previous lines
+ " should not apply to e.g. commented lines
if line =~ '^\s*\%(if\|then\|do\|else\|elif\|case\|while\|until\|for\|select\|foreach\)\>' ||
- \ (&ft is# 'zsh' && line =~ '\<\%(if\|then\|do\|else\|elif\|case\|while\|until\|for\|select\|foreach\)\>')
+ \ (&ft is# 'zsh' && line =~ '^\s*\<\%(if\|then\|do\|else\|elif\|case\|while\|until\|for\|select\|foreach\)\>')
if !s:is_end_expression(line)
let ind += s:indent_value('default')
endif
@@ -129,7 +133,8 @@ function! GetShIndent()
" Current line is a endif line, so get indent from start of "if condition" line
" TODO: should we do the same for other "end" lines?
if curline =~ '^\s*\%(fi\);\?\s*\%(#.*\)\=$'
- let previous_line = searchpair('\<if\>', '', '\<fi\>\zs', 'bnW')
+ let ind = indent(v:lnum)
+ let previous_line = searchpair('\<if\>', '', '\<fi\>\zs', 'bnW', 'synIDattr(synID(line("."),col("."), 1),"name") =~? "comment"')
if previous_line > 0
let ind = indent(previous_line)
endif
diff --git a/runtime/indent/xml.vim b/runtime/indent/xml.vim
index ad22de1d5..883af9856 100644
--- a/runtime/indent/xml.vim
+++ b/runtime/indent/xml.vim
@@ -1,9 +1,10 @@
" Language: xml
" Repository: https://github.com/chrisbra/vim-xml-ftplugin
-" Last Changed: Feb 04, 2019
+" Last Changed: July 27, 2019
" Maintainer: Christian Brabandt <cb@256bit.org>
" Previous Maintainer: Johannes Zellner <johannes@zellner.org>
" Last Change:
+" 20190726 - Correctly handle non-tagged data
" 20190204 - correctly handle wrap tags
" https://github.com/chrisbra/vim-xml-ftplugin/issues/5
" 20190128 - Make sure to find previous tag
@@ -33,6 +34,8 @@ set cpo&vim
" Attention: Parameter use_syntax_check is used by the docbk.vim indent script
setlocal indentexpr=XmlIndentGet(v:lnum,1)
setlocal indentkeys=o,O,*<Return>,<>>,<<>,/,{,},!^F
+" autoindent: used when the indentexpr returns -1
+setlocal autoindent
if !exists('b:xml_indent_open')
let b:xml_indent_open = '.\{-}<[:A-Z_a-z]'
@@ -103,37 +106,43 @@ fun! XmlIndentGet(lnum, use_syntax_check)
return 0
endif
" Find previous line with a tag (regardless whether open or closed,
- " but always start restrict the match to a line before the current one
+ " but always restrict the match to a line before the current one
" Note: xml declaration: <?xml version="1.0"?>
" won't be found, as it is not a legal tag name
- let ptag_pattern = '\%(.\{-}<[/:A-Z_a-z]\)'. '\%(\&\%<'. line('.').'l\)'
+ let ptag_pattern = '\%(.\{-}<[/:A-Z_a-z]\)'. '\%(\&\%<'. a:lnum .'l\)'
let ptag = search(ptag_pattern, 'bnW')
" no previous tag
if ptag == 0
return 0
endif
- let syn_name = ''
+ let pline = getline(ptag)
+ let pind = indent(ptag)
+
+ let syn_name_start = '' " Syntax element at start of line (excluding whitespace)
+ let syn_name_end = '' " Syntax element at end of line
+ let curline = getline(a:lnum)
if a:use_syntax_check
let check_lnum = <SID>XmlIndentSynCheck(ptag)
let check_alnum = <SID>XmlIndentSynCheck(a:lnum)
if check_lnum == 0 || check_alnum == 0
return indent(a:lnum)
endif
- let syn_name = synIDattr(synID(a:lnum, strlen(getline(a:lnum)) - 1, 1), 'name')
+ let syn_name_end = synIDattr(synID(a:lnum, strlen(curline) - 1, 1), 'name')
+ let syn_name_start = synIDattr(synID(a:lnum, match(curline, '\S') + 1, 1), 'name')
endif
- if syn_name =~ 'Comment'
+ if syn_name_end =~ 'Comment' && syn_name_start =~ 'Comment'
return <SID>XmlIndentComment(a:lnum)
+ elseif empty(syn_name_start) && empty(syn_name_end)
+ " non-xml tag content: use indent from 'autoindent'
+ return pind + shiftwidth()
endif
- let pline = getline(ptag)
- let pind = indent(ptag)
" Get indent from previous tag line
let ind = <SID>XmlIndentSum(pline, -1, pind)
- let t_ind = ind
" Determine indent from current line
- let ind = <SID>XmlIndentSum(getline(a:lnum), 0, ind)
+ let ind = <SID>XmlIndentSum(curline, 0, ind)
return ind
endfun
@@ -148,7 +157,7 @@ func! <SID>HasNoTagEnd(line)
endfunc
" return indent for a commented line,
-" the middle part might be indented on additional level
+" the middle part might be indented one additional level
func! <SID>XmlIndentComment(lnum)
let ptagopen = search(b:xml_indent_open, 'bnW')
let ptagclose = search(b:xml_indent_close, 'bnW')
diff --git a/runtime/spell/de/de_20.diff b/runtime/spell/de/de_20.diff
deleted file mode 100644
index bbac7a0b6..000000000
--- a/runtime/spell/de/de_20.diff
+++ /dev/null
@@ -1,580 +0,0 @@
-*** de_DE.orig.aff 2019-01-19 18:45:26.132522538 +0100
---- de_DE.aff 2019-01-19 19:23:37.233297530 +0100
-***************
-*** 15,16 ****
---- 15,46 ----
-
-+ FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
-+ LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
-+ UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
-+
-+ MIDWORD '
-+
-+ MAP 9
-+ MAP aàáâãäå
-+ MAP eèéêë
-+ MAP iìíîï
-+ MAP oòóôõö
-+ MAP uùúûü
-+ MAP nñ
-+ MAP cç
-+ MAP yÿý
-+ MAP sß
-+
-+ COMPOUNDRULE xy?z
-+ #COMPOUNDBEGIN x
-+ #COMPOUNDMIDDLE y
-+ #COMPOUNDEND z
-+
-+ # Prefixes are allowed at the beginning of compounds,
-+ # suffixes are allowed at the end of compounds by default:
-+ # (prefix)?(root)+(affix)?
-+ # Affixes with COMPOUNDPERMITFLAG may be inside of compounds.
-+ COMPOUNDPERMITFLAG c
-+
-+ ONLYINCOMPOUND o
-+
- PFX U Y 1
-***************
-*** 536,553 ****
- #LANG de_DE
-! CHECKSHARPS
-!
-
-- COMPOUNDBEGIN x
-- COMPOUNDMIDDLE y
-- COMPOUNDEND z
- FORBIDDENWORD d
-
-- # Prefixes are allowed at the beginning of compounds,
-- # suffixes are allowed at the end of compounds by default:
-- # (prefix)?(root)+(affix)?
-- # Affixes with COMPOUNDPERMITFLAG may be inside of compounds.
-- COMPOUNDPERMITFLAG c
--
-- ONLYINCOMPOUND o
--
- # my PSEUDOROOT h(elper) flag
---- 566,571 ----
- #LANG de_DE
-! # CHECKSHARPS
-
- FORBIDDENWORD d
-
- # my PSEUDOROOT h(elper) flag
-***************
-*** 571,573 ****
-
-! WORDCHARS ß-.
-
---- 589,591 ----
-
-! # WORDCHARS ß-.
-
-***************
-*** 725,729 ****
- # So enabling this is the lesser evil. No perfect solution found so far...
-! BREAK 2
-! BREAK -
-! BREAK .
-!
---- 743,1241 ----
- # So enabling this is the lesser evil. No perfect solution found so far...
-! # BREAK 2
-! # BREAK -
-! # BREAK .
-!
-! # German phonetic transformation rules for use with Aspell
-! # Copyright (C) 2000 Björn Jacke
-! #
-! # This library is free software; you can redistribute it and/or
-! # modify it under the terms of the GNU Lesser General Public
-! # License version 2.1 as published by the Free Software Foundation;
-! #
-! # This library is distributed in the hope that it will be useful,
-! # but WITHOUT ANY WARRANTY; without even the implied warranty of
-! # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-! # Lesser General Public License for more details.
-! #
-! # You should have received a copy of the GNU Lesser General Public
-! # License along with this library; if not, write to the Free Software
-! # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-! #
-! # Björn Jacke may be reached by email at bjoern.jacke@gmx.de
-! #
-! # Changelog:
-! #
-! # 2000-01-05 Björn Jacke <bjoern.jacke@gmx.de>
-! # Initial Release
-! # 2000-01-07 Kevin Atkinson <kevinatk@home.com>
-! # Converted from header to data file.
-! SAL followup 1
-! SAL collapse_result 1
-!
-! SAL ÄER- E
-! SAL ÄU< EU
-! SAL Ä< E
-! SAL É E
-! SAL ÖER- Ö
-! SAL Ö Ö
-! SAL ÜBER^^ IPA
-! SAL ÜER- I
-! SAL Ü I
-! SAL ß Z
-! SAL ABELLE$ APL
-! SAL ABELL$ APL
-! SAL ABIENNE$ APIN
-! SAL ACEY$ AZI
-! SAL AEU< EU
-! SAL AE2 E
-! SAL AGNI-^ AKN
-! SAL AGNIE- ANI
-! SAL AGN(AEOU)-$ ANI
-! SAL AIA2 AIA
-! SAL AIE$ E
-! SAL AILL(EOU)- ALI
-! SAL AINE$ EN
-! SAL AIRE$ ER
-! SAL AIR- E
-! SAL AISE$ EZ
-! SAL AISSANCE$ EZANZ
-! SAL AISSE$ EZ
-! SAL AIX$ EX
-! SAL AJ(AÄEIOÖUÜ)-- A
-! SAL AKTIE AXIE
-! SAL ALO(IY)^ ALUI
-! SAL AMATEU(RS)- ANATÖ
-! SAL ANIELLE$ ANIL
-! SAL ANTI^^ ANTI
-! SAL ANVER^^ ANFA
-! SAL ATIA$ ATIA
-! SAL ATIA(NS)-- ATI
-! SAL ATI(AÄOÖUÜ)- AZI
-! SAL AUAU-- _
-! SAL AUER< AUA
-! SAL AUF^^ AUF
-! SAL AULT$ U
-! SAL AUSSE$ UZ
-! SAL AUS(ST)-^ AUZ
-! SAL AUS^^ AUZ
-! SAL AUTO^^ AUTU
-! SAL AUX(IY)- AUX
-! SAL AUX U
-! SAL AU AU
-! SAL AVIER$ AFIE
-! SAL AYER--< EI
-! SAL AY(AÄEIOÖUÜ)-- A
-! SAL A(IJY)< EI
-! SAL A A
-! SAL BEA(BCMNRU)-^ PEA
-! SAL BEAT(AEIMORU)-^ PEAT
-! SAL BEIGE^$ PEZ
-! SAL BE(LMNRST)-^ PE
-! SAL BETTE$ PET
-! SAL BIC$ PIZ
-! SAL BOWL(EI)- PUL
-! SAL BP(AÄEIOÖRUÜY)- P
-! SAL BUDGET7 PIKE
-! SAL BUFFET7 PIFE
-! SAL BYLLE$ PILE
-! SAL BYLL$ PIL
-! SAL BYTE< PEIT
-! SAL B P
-! SAL CÄ- Z
-! SAL CÜ$ ZI
-! SAL CACH(EI)-^ KEZ
-! SAL CAE-- Z
-! SAL CA(IY)$ ZEI
-! SAL CCH Z
-! SAL CCE- X
-! SAL CE(EIJUY)-- Z
-! SAL CENT< ZENT
-! SAL CERST(EI)----^ KE
-! SAL CER$ ZA
-! SAL CE3 ZE
-! SAL CHAO(ST)- KAU
-! SAL CHAMPIO-^ ZENPI
-! SAL CHAR(AI)-^ KAR
-! SAL CHAU(CDFSVWXZ)- ZU
-! SAL CHE(CF)- ZE
-! SAL CHEM-^ KE
-! SAL CHEQUE< ZEK
-! SAL CHI(CFGPVW)- ZI
-! SAL CH(AEUY)-<^ Z
-! SAL CHK- _
-! SAL CH(LOR)-<^ K
-! SAL CHST- X
-! SAL CH(SßXZ)3 X
-! SAL CH K
-! SAL CIER$ ZIE
-! SAL CYB-^ ZEI
-! SAL CY9^ ZI
-! SAL C(IJY)-3 Z
-! SAL CKST XT
-! SAL CK(SßXZ)3 X
-! SAL C(CK)- _
-! SAL CLAUDET--- KLU
-! SAL CLAUDINE^$ KLUTIN
-! SAL COLE$ KUL
-! SAL COUCH KAUZ
-! SAL CQUES$ K
-! SAL CQUE K
-! SAL CREAT-^ KREA
-! SAL CST XT
-! SAL CS<^ Z
-! SAL C(SßX) X
-! SAL CT(SßXZ) X
-! SAL CZ< Z
-! SAL C< K
-! SAL D'H^ T
-! SAL D'S3$ Z
-! SAL DAVO(NR)-^$ TAFU
-! SAL DD(SZ)--< _
-! SAL DEPOT7 TEPU
-! SAL DESIGN TIZEIN
-! SAL DE(LMNRST)-3^ TE
-! SAL DETTE$ TET
-! SAL DIC$ TIZ
-! SAL DJ(AEIOU)-^ I
-! SAL DS(CH)--< T
-! SAL DST ZT
-! SAL DT- _
-! SAL DUIS-^ TI
-! SAL DURCH^^ TURK
-! SAL DZS(CH)-- T
-! SAL D(SßZ) Z
-! SAL D T
-! SAL EAULT$ U
-! SAL EAUX$ U
-! SAL EAU U
-! SAL EAV IF
-! SAL EA(AÄEIOÖÜY)-3 EA
-! SAL EA3$ EA
-! SAL EA3 I
-! SAL EBEN^^ EPN
-! SAL EE9 E
-! SAL EIEI-- _
-! SAL EIH-- E
-! SAL EILLE$ EI
-! SAL EI EI
-! SAL EJ$ EI
-! SAL EL-^ E
-! SAL EL(DKL)--1 E
-! SAL EL(MNT)--1$ E
-! SAL ELYNE$ ELINE
-! SAL ELYN$ ELIN
-! SAL EL(AÄEIOÖUÜY)-1 EL
-! SAL EL-1 L
-! SAL EM-^ E
-! SAL EM(DFKMPQT)--1 E
-! SAL EM(AÄEIOÖUÜY)--1 E
-! SAL EM-1 N
-! SAL EN-^ E
-! SAL EN(CDGKQT)--1 E
-! SAL ENZ(AEIOUY)--1 EN
-! SAL EN(AÄEINOÖUÜY)-1 EN
-! SAL EN-<1 N
-! SAL ERH(AÄEIOÖUÜ)-^ ER
-! SAL ER-^ E
-! SAL ER(AÄEIOÖUÜY)-1 A
-! SAL ER1$ A
-! SAL ER<1 A
-! SAL ETI(AÄOÖÜU)- EZI
-! SAL EUEU-- _
-! SAL EUILLE$ Ö
-! SAL EUR$ ÖR
-! SAL EUX Ö
-! SAL EUYS$ EUZ
-! SAL EU EU
-! SAL EYER< EIA
-! SAL EY< EI
-! SAL E E
-! SAL FANS--^$ FE
-! SAL FAN-^$ FE
-! SAL FAULT- FUL
-! SAL FEE(DL)- FI
-! SAL FEHLER FELA
-! SAL FE(LMNRST)-3^ FE
-! SAL FOND7 FUN
-! SAL FRAIN$ FRA
-! SAL FRISEU(RS)- FRIZÖ # x
-! SAL F F
-! SAL G'S$ X
-! SAL GAGS^$ KEX
-! SAL GAG^$ KEK
-! SAL GD KT
-! SAL GEGEN^^ KEKN
-! SAL GE(LMNRST)-3^ KE
-! SAL GETTE$ KET
-! SAL G(CK)- _
-! SAL GG- _
-! SAL GI(AO)-^ I
-! SAL GION$ KIUN
-! SAL GIUS-^ IU
-! SAL GMBH^$ GMPH
-! SAL GNAC$ NIAK
-! SAL GNON$ NIUN
-! SAL GN$ N
-! SAL GONCAL-^ KUNZA
-! SAL GS(CH)-- K
-! SAL GST XT
-! SAL G(SßXZ) X
-! SAL GUCK- KU
-! SAL GUI-^ K
-! SAL G K
-! SAL HEAD- E
-! SAL HE(LMNRST)-3^ E
-! SAL HE(LMN)-1 E
-! SAL HEUR1$ ÖR
-! SAL H^ _
-! SAL IEC$ IZ
-! SAL IEI-3 _
-! SAL IELL3 IEL
-! SAL IENNE$ IN
-! SAL IERRE$ IER
-! SAL IETTE$ IT
-! SAL IEU IÖ
-! SAL IE<4 I
-! SAL IGHT3$ EIT
-! SAL IGNI(EO)- INI
-! SAL IGN(AEOU)-$ INI
-! SAL IJ(AOU)- I
-! SAL IJ$ I
-! SAL IJ< EI
-! SAL IKOLE$ IKUL
-! SAL ILLAN(STZ)-- ILIA
-! SAL ILLAR(DT)-- ILIA
-! SAL INVER- INFE
-! SAL ITI(AÄOÖUÜ)- IZI
-! SAL IVIER$ IFIE
-! SAL I I
-! SAL JAVIE---<^ ZA
-! SAL JEAN^$ IA
-! SAL JEAN-^ IA
-! SAL JER-^ IE
-! SAL JE(LMNST)- IE
-! SAL JOR(GK)^$ IÖRK
-! SAL J I
-! SAL KC(ÄEIJ)- X
-! SAL KE(LMNRST)-3^ KE
-! SAL KH<^ K
-! SAL KIC$ KIZ
-! SAL KLE(LMNRST)-3^ KLE
-! SAL KOTELE-^ KUTL
-! SAL KREAT-^ KREA
-! SAL KST XT
-! SAL K(SßXZ) X
-! SAL KTI(AIOU)-3 XI
-! SAL KT(SßXZ) X
-! SAL K K
-! SAL LARVE- LARF
-! SAL LEAND-^ LEAN
-! SAL LEL- LE
-! SAL LE(MNRST)-3^ LE
-! SAL LETTE$ LET
-! SAL LFGNAG- LFKAN
-! SAL LIC$ LIZ
-! SAL LIVE^$ LEIF
-! SAL LUI(GS)-- LU
-! SAL L L
-! SAL MASSEU(RS)- NAZÖ
-! SAL MAURICE NURIZ
-! SAL MBH^$ MPH
-! SAL MB(SßZ)- N
-! SAL MC9^ NK
-! SAL MEMOIR-^ NENUA
-! SAL ME(LMNRST)-3^ NE
-! SAL MIGUEL NIKL
-! SAL MIKE^$ NEIK
-! SAL MN N
-! SAL MPJUTE- NPUT
-! SAL MP(SßZ)- N
-! SAL MP(BDJLMNPQRTVW)- NP
-! SAL M N
-! SAL NACH^^ NAK
-! SAL NADINE NATIN
-! SAL NAIV-- NA
-! SAL NAISE$ NEZE
-! SAL NCOISE$ ZUA
-! SAL NCOIS$ ZUA
-! SAL NEBEN^^ NEPN
-! SAL NE(LMNRST)-3^ NE
-! SAL NEN-3 NE
-! SAL NETTE$ NET
-! SAL NG(BDFJLMNPQRTVW)- NK
-! SAL NICHTS^^ NIX
-! SAL NICHT^^ NIKT
-! SAL NINE$ NIN
-! SAL NON^^ NUN
-! SAL NOT^^ NUT
-! SAL NTI(AIOU)-3 NZI
-! SAL NTIEL--3 NZI
-! SAL NYLON NEILUN
-! SAL ND(SßZ)$ NZ
-! SAL NT(SßZ)$ NZ
-! SAL ND'S$ NZ
-! SAL NT'S$ NZ
-! SAL NSTS$ NZ
-! SAL N N
-! SAL OBER^^ UPA
-! SAL OE2 Ö
-! SAL OGNIE- UNI
-! SAL OGN(AEOU)-$ UNI
-! SAL OIE$ Ö
-! SAL OIR$ UAR
-! SAL OIX UA
-! SAL OI<3 EU
-! SAL OJ(AÄEIOÖUÜ)-- U
-! SAL OKAY^$ UKE
-! SAL OLYN$ ULIN
-! SAL OTI(AÄOÖUÜ)- UZI
-! SAL OUI^ FI
-! SAL OUILLE$ ULIE
-! SAL OU(DT)-^ AU
-! SAL OUSE$ AUZ
-! SAL OUT- AU
-! SAL OU U
-! SAL OWS$ UZ
-! SAL OY(AÄEIOÖUÜ)-- U
-! SAL O(JY)< EU
-! SAL O U
-! SAL PATIEN--^ PAZI
-! SAL PENSIO-^ PANZI
-! SAL PE(LMNRST)-3^ PE
-! SAL PFER-^ FE
-! SAL P(FH)< F
-! SAL POLY^^ PULI
-! SAL PORTRAIT7 PURTRE
-! SAL PP(FH)--< P
-! SAL PP- _
-! SAL PRIX^$ PRI
-! SAL P(SßZ)^ Z
-! SAL PTI(AÄOÖUÜ)-3 PZI
-! SAL PIC^$ PIK
-! SAL P P
-! SAL QUE(LMNRST)-3 KFE
-! SAL QUE$ K
-! SAL QUI(NS)$ KI
-! SAL QU KF
-! SAL Q< K
-! SAL RCH RK
-! SAL RECHERCH^ REZAZ
-! SAL RER$ RA
-! SAL RE(MNR)-4 RE
-! SAL RETTE$ RET
-! SAL RH<^ R
-! SAL RJA(MN)-- RI
-! SAL RTI(AÄOÖUÜ)-3 RZI
-! SAL RY(KN)-$ RI
-! SAL R R
-! SAL SAFE^$ ZEIF
-! SAL SAUCE-^ ZUZ
-! SAL SCHSCH---7 _
-! SAL SCHTSCH Z
-! SAL SC(HZ)< Z
-! SAL SC ZK
-! SAL SELBSTST--7^^ ZELP
-! SAL SELBST7^^ ZELPZT
-! SAL SERVICE7^ ZÖRFIZ
-! SAL SE(LMNRST)-3^ ZE
-! SAL SETTE$ ZET
-! SAL SHP-^ Z
-! SAL SHST ZT
-! SAL SHTSH Z
-! SAL SHT Z
-! SAL SH3 Z
-! SAL SIEGLI-^ ZIKL
-! SAL SIGLI-^ ZIKL
-! SAL SIGHT ZEIT
-! SAL SIGN ZEIN
-! SAL SKI(NPZ)- ZKI
-! SAL SKI<^ ZI
-! SAL SOUND- ZAUN
-! SAL STAATS^^ ZTAZ
-! SAL STADT^^ ZTAT
-! SAL START^^ ZTART
-! SAL STAURANT7 ZTURAN
-! SAL STEAK- ZTE
-! SAL STRAF^^ ZTRAF
-! SAL ST'S$ Z
-! SAL STST-- _
-! SAL STS(ACEHIOUÄÜÖ)-- ZT
-! SAL ST(SZ) Z
-! SAL STYN(AE)-$ ZTIN
-! SAL ST ZT
-! SAL SZE(NPT)-^ ZE
-! SAL SZI(ELN)-^ ZI
-! SAL SZCZ< Z
-! SAL SZT< ZT
-! SAL SZ<3 Z
-! SAL S Z
-! SAL T'S3$ Z
-! SAL TCH Z
-! SAL TEAT-^ TEA
-! SAL TE(LMNRST)-3^ TE
-! SAL TH< T
-! SAL TIC$ TIZ
-! SAL TOAS-^ TU
-! SAL TOILET- TULE
-! SAL TOIN- TUA
-! SAL TRAINI- TREN
-! SAL TSCH Z
-! SAL TSH Z
-! SAL TST ZT
-! SAL T(Sß) Z
-! SAL TT(SZ)--< _
-! SAL TT9 T
-! SAL TZ- _
-! SAL T T
-! SAL UEBER^^ IPA
-! SAL UE2 I
-! SAL UIE$ I
-! SAL UM^^ UN
-! SAL UNTERE-- UNTE
-! SAL UNTER^^ UNTA
-! SAL UNVER^^ UNFA
-! SAL UN^^ UN
-! SAL UTI(AÄOÖUÜ)- UZI
-! SAL U U
-! SAL VACL-^ FAZ
-! SAL VAC$ FAZ
-! SAL VEDD-^ FE
-! SAL VEREIN FAEIN
-! SAL VERSEN^ FAZN
-! SAL VER^^ FA
-! SAL VER FA
-! SAL VET(HT)-^ FET
-! SAL VETTE$ FET
-! SAL VIC$ FIZ
-! SAL VIEL FIL
-! SAL VIEW FIU
-! SAL VOR^^ FUR
-! SAL VY9^ FI
-! SAL V< F
-! SAL WE(LMNRST)-3^ FE
-! SAL WIC$ FIZ
-! SAL WIEDER^^ FITA
-! SAL WY9^ FI
-! SAL W F
-! SAL XE(LMNRST)-3^ XE
-! SAL X<^ Z
-! SAL X(CSZ) X
-! SAL XTS(CH)-- XT
-! SAL XT(SZ) Z
-! SAL X X
-! SAL YE(LMNRST)-3^ IE
-! SAL YE-3 I
-! SAL YOR(GK)^$ IÖRK
-! SAL Y(AOU)-<7 I
-! SAL YVES^$ IF
-! SAL YVONNE^$ IFUN
-! SAL Y I
-! SAL ZC(AOU)- ZK
-! SAL ZE(LMNRST)-3^ ZE
-! SAL ZH< Z
-! SAL ZS(CHT)-- _
-! SAL ZS Z
-! SAL ZUERST ZUERZT
-! SAL ZURÜCK^^ ZURIK
-! SAL ZUVER^^ ZUFA # x
-! SAL Z Z
diff --git a/runtime/spell/de/de_AT.diff b/runtime/spell/de/de_AT.diff
deleted file mode 100644
index 42494fe38..000000000
--- a/runtime/spell/de/de_AT.diff
+++ /dev/null
@@ -1,573 +0,0 @@
-*** de_AT.orig.aff 2019-01-19 19:16:46.616026157 +0100
---- de_AT.aff 2019-01-19 19:24:24.524983269 +0100
-***************
-*** 15,16 ****
---- 15,47 ----
-
-+ FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
-+ LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
-+ UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
-+
-+ MIDWORD '
-+
-+ MAP 9
-+ MAP aàáâãäå
-+ MAP eèéêë
-+ MAP iìíîï
-+ MAP oòóôõö
-+ MAP uùúûü
-+ MAP nñ
-+ MAP cç
-+ MAP yÿý
-+ MAP sß
-+
-+ COMPOUNDRULE xy?z
-+ #COMPOUNDBEGIN x
-+ #COMPOUNDMIDDLE y
-+ #COMPOUNDEND z
-+
-+ # Prefixes are allowed at the beginning of compounds,
-+ # suffixes are allowed at the end of compounds by default:
-+ # (prefix)?(root)+(affix)?
-+ # Affixes with COMPOUNDPERMITFLAG may be inside of compounds.
-+ COMPOUNDPERMITFLAG c
-+
-+ ONLYINCOMPOUND o
-+
-+
- PFX U Y 1
-***************
-*** 538,553 ****
-
--
-- COMPOUNDBEGIN x
-- COMPOUNDMIDDLE y
-- COMPOUNDEND z
- FORBIDDENWORD d
-
-- # Prefixes are allowed at the beginning of compounds,
-- # suffixes are allowed at the end of compounds by default:
-- # (prefix)?(root)+(affix)?
-- # Affixes with COMPOUNDPERMITFLAG may be inside of compounds.
-- COMPOUNDPERMITFLAG c
--
-- ONLYINCOMPOUND o
--
- # my PSEUDOROOT h(elper) flag
---- 569,572 ----
-***************
-*** 571,573 ****
-
-! WORDCHARS ß-.
-
---- 590,592 ----
-
-! # WORDCHARS ß-.
-
-***************
-*** 725,729 ****
- # So enabling this is the lesser evil. No perfect solution found so far...
-! BREAK 2
-! BREAK -
-! BREAK .
-!
---- 744,1242 ----
- # So enabling this is the lesser evil. No perfect solution found so far...
-! # BREAK 2
-! # BREAK -
-! # BREAK .
-!
-! # German phonetic transformation rules for use with Aspell
-! # Copyright (C) 2000 Björn Jacke
-! #
-! # This library is free software; you can redistribute it and/or
-! # modify it under the terms of the GNU Lesser General Public
-! # License version 2.1 as published by the Free Software Foundation;
-! #
-! # This library is distributed in the hope that it will be useful,
-! # but WITHOUT ANY WARRANTY; without even the implied warranty of
-! # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-! # Lesser General Public License for more details.
-! #
-! # You should have received a copy of the GNU Lesser General Public
-! # License along with this library; if not, write to the Free Software
-! # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-! #
-! # Björn Jacke may be reached by email at bjoern.jacke@gmx.de
-! #
-! # Changelog:
-! #
-! # 2000-01-05 Björn Jacke <bjoern.jacke@gmx.de>
-! # Initial Release
-! # 2000-01-07 Kevin Atkinson <kevinatk@home.com>
-! # Converted from header to data file.
-! SAL followup 1
-! SAL collapse_result 1
-!
-! SAL ÄER- E
-! SAL ÄU< EU
-! SAL Ä< E
-! SAL É E
-! SAL ÖER- Ö
-! SAL Ö Ö
-! SAL ÜBER^^ IPA
-! SAL ÜER- I
-! SAL Ü I
-! SAL ß Z
-! SAL ABELLE$ APL
-! SAL ABELL$ APL
-! SAL ABIENNE$ APIN
-! SAL ACEY$ AZI
-! SAL AEU< EU
-! SAL AE2 E
-! SAL AGNI-^ AKN
-! SAL AGNIE- ANI
-! SAL AGN(AEOU)-$ ANI
-! SAL AIA2 AIA
-! SAL AIE$ E
-! SAL AILL(EOU)- ALI
-! SAL AINE$ EN
-! SAL AIRE$ ER
-! SAL AIR- E
-! SAL AISE$ EZ
-! SAL AISSANCE$ EZANZ
-! SAL AISSE$ EZ
-! SAL AIX$ EX
-! SAL AJ(AÄEIOÖUÜ)-- A
-! SAL AKTIE AXIE
-! SAL ALO(IY)^ ALUI
-! SAL AMATEU(RS)- ANATÖ
-! SAL ANIELLE$ ANIL
-! SAL ANTI^^ ANTI
-! SAL ANVER^^ ANFA
-! SAL ATIA$ ATIA
-! SAL ATIA(NS)-- ATI
-! SAL ATI(AÄOÖUÜ)- AZI
-! SAL AUAU-- _
-! SAL AUER< AUA
-! SAL AUF^^ AUF
-! SAL AULT$ U
-! SAL AUSSE$ UZ
-! SAL AUS(ST)-^ AUZ
-! SAL AUS^^ AUZ
-! SAL AUTO^^ AUTU
-! SAL AUX(IY)- AUX
-! SAL AUX U
-! SAL AU AU
-! SAL AVIER$ AFIE
-! SAL AYER--< EI
-! SAL AY(AÄEIOÖUÜ)-- A
-! SAL A(IJY)< EI
-! SAL A A
-! SAL BEA(BCMNRU)-^ PEA
-! SAL BEAT(AEIMORU)-^ PEAT
-! SAL BEIGE^$ PEZ
-! SAL BE(LMNRST)-^ PE
-! SAL BETTE$ PET
-! SAL BIC$ PIZ
-! SAL BOWL(EI)- PUL
-! SAL BP(AÄEIOÖRUÜY)- P
-! SAL BUDGET7 PIKE
-! SAL BUFFET7 PIFE
-! SAL BYLLE$ PILE
-! SAL BYLL$ PIL
-! SAL BYTE< PEIT
-! SAL B P
-! SAL CÄ- Z
-! SAL CÜ$ ZI
-! SAL CACH(EI)-^ KEZ
-! SAL CAE-- Z
-! SAL CA(IY)$ ZEI
-! SAL CCH Z
-! SAL CCE- X
-! SAL CE(EIJUY)-- Z
-! SAL CENT< ZENT
-! SAL CERST(EI)----^ KE
-! SAL CER$ ZA
-! SAL CE3 ZE
-! SAL CHAO(ST)- KAU
-! SAL CHAMPIO-^ ZENPI
-! SAL CHAR(AI)-^ KAR
-! SAL CHAU(CDFSVWXZ)- ZU
-! SAL CHE(CF)- ZE
-! SAL CHEM-^ KE
-! SAL CHEQUE< ZEK
-! SAL CHI(CFGPVW)- ZI
-! SAL CH(AEUY)-<^ Z
-! SAL CHK- _
-! SAL CH(LOR)-<^ K
-! SAL CHST- X
-! SAL CH(SßXZ)3 X
-! SAL CH K
-! SAL CIER$ ZIE
-! SAL CYB-^ ZEI
-! SAL CY9^ ZI
-! SAL C(IJY)-3 Z
-! SAL CKST XT
-! SAL CK(SßXZ)3 X
-! SAL C(CK)- _
-! SAL CLAUDET--- KLU
-! SAL CLAUDINE^$ KLUTIN
-! SAL COLE$ KUL
-! SAL COUCH KAUZ
-! SAL CQUES$ K
-! SAL CQUE K
-! SAL CREAT-^ KREA
-! SAL CST XT
-! SAL CS<^ Z
-! SAL C(SßX) X
-! SAL CT(SßXZ) X
-! SAL CZ< Z
-! SAL C< K
-! SAL D'H^ T
-! SAL D'S3$ Z
-! SAL DAVO(NR)-^$ TAFU
-! SAL DD(SZ)--< _
-! SAL DEPOT7 TEPU
-! SAL DESIGN TIZEIN
-! SAL DE(LMNRST)-3^ TE
-! SAL DETTE$ TET
-! SAL DIC$ TIZ
-! SAL DJ(AEIOU)-^ I
-! SAL DS(CH)--< T
-! SAL DST ZT
-! SAL DT- _
-! SAL DUIS-^ TI
-! SAL DURCH^^ TURK
-! SAL DZS(CH)-- T
-! SAL D(SßZ) Z
-! SAL D T
-! SAL EAULT$ U
-! SAL EAUX$ U
-! SAL EAU U
-! SAL EAV IF
-! SAL EA(AÄEIOÖÜY)-3 EA
-! SAL EA3$ EA
-! SAL EA3 I
-! SAL EBEN^^ EPN
-! SAL EE9 E
-! SAL EIEI-- _
-! SAL EIH-- E
-! SAL EILLE$ EI
-! SAL EI EI
-! SAL EJ$ EI
-! SAL EL-^ E
-! SAL EL(DKL)--1 E
-! SAL EL(MNT)--1$ E
-! SAL ELYNE$ ELINE
-! SAL ELYN$ ELIN
-! SAL EL(AÄEIOÖUÜY)-1 EL
-! SAL EL-1 L
-! SAL EM-^ E
-! SAL EM(DFKMPQT)--1 E
-! SAL EM(AÄEIOÖUÜY)--1 E
-! SAL EM-1 N
-! SAL EN-^ E
-! SAL EN(CDGKQT)--1 E
-! SAL ENZ(AEIOUY)--1 EN
-! SAL EN(AÄEINOÖUÜY)-1 EN
-! SAL EN-<1 N
-! SAL ERH(AÄEIOÖUÜ)-^ ER
-! SAL ER-^ E
-! SAL ER(AÄEIOÖUÜY)-1 A
-! SAL ER1$ A
-! SAL ER<1 A
-! SAL ETI(AÄOÖÜU)- EZI
-! SAL EUEU-- _
-! SAL EUILLE$ Ö
-! SAL EUR$ ÖR
-! SAL EUX Ö
-! SAL EUYS$ EUZ
-! SAL EU EU
-! SAL EYER< EIA
-! SAL EY< EI
-! SAL E E
-! SAL FANS--^$ FE
-! SAL FAN-^$ FE
-! SAL FAULT- FUL
-! SAL FEE(DL)- FI
-! SAL FEHLER FELA
-! SAL FE(LMNRST)-3^ FE
-! SAL FOND7 FUN
-! SAL FRAIN$ FRA
-! SAL FRISEU(RS)- FRIZÖ # x
-! SAL F F
-! SAL G'S$ X
-! SAL GAGS^$ KEX
-! SAL GAG^$ KEK
-! SAL GD KT
-! SAL GEGEN^^ KEKN
-! SAL GE(LMNRST)-3^ KE
-! SAL GETTE$ KET
-! SAL G(CK)- _
-! SAL GG- _
-! SAL GI(AO)-^ I
-! SAL GION$ KIUN
-! SAL GIUS-^ IU
-! SAL GMBH^$ GMPH
-! SAL GNAC$ NIAK
-! SAL GNON$ NIUN
-! SAL GN$ N
-! SAL GONCAL-^ KUNZA
-! SAL GS(CH)-- K
-! SAL GST XT
-! SAL G(SßXZ) X
-! SAL GUCK- KU
-! SAL GUI-^ K
-! SAL G K
-! SAL HEAD- E
-! SAL HE(LMNRST)-3^ E
-! SAL HE(LMN)-1 E
-! SAL HEUR1$ ÖR
-! SAL H^ _
-! SAL IEC$ IZ
-! SAL IEI-3 _
-! SAL IELL3 IEL
-! SAL IENNE$ IN
-! SAL IERRE$ IER
-! SAL IETTE$ IT
-! SAL IEU IÖ
-! SAL IE<4 I
-! SAL IGHT3$ EIT
-! SAL IGNI(EO)- INI
-! SAL IGN(AEOU)-$ INI
-! SAL IJ(AOU)- I
-! SAL IJ$ I
-! SAL IJ< EI
-! SAL IKOLE$ IKUL
-! SAL ILLAN(STZ)-- ILIA
-! SAL ILLAR(DT)-- ILIA
-! SAL INVER- INFE
-! SAL ITI(AÄOÖUÜ)- IZI
-! SAL IVIER$ IFIE
-! SAL I I
-! SAL JAVIE---<^ ZA
-! SAL JEAN^$ IA
-! SAL JEAN-^ IA
-! SAL JER-^ IE
-! SAL JE(LMNST)- IE
-! SAL JOR(GK)^$ IÖRK
-! SAL J I
-! SAL KC(ÄEIJ)- X
-! SAL KE(LMNRST)-3^ KE
-! SAL KH<^ K
-! SAL KIC$ KIZ
-! SAL KLE(LMNRST)-3^ KLE
-! SAL KOTELE-^ KUTL
-! SAL KREAT-^ KREA
-! SAL KST XT
-! SAL K(SßXZ) X
-! SAL KTI(AIOU)-3 XI
-! SAL KT(SßXZ) X
-! SAL K K
-! SAL LARVE- LARF
-! SAL LEAND-^ LEAN
-! SAL LEL- LE
-! SAL LE(MNRST)-3^ LE
-! SAL LETTE$ LET
-! SAL LFGNAG- LFKAN
-! SAL LIC$ LIZ
-! SAL LIVE^$ LEIF
-! SAL LUI(GS)-- LU
-! SAL L L
-! SAL MASSEU(RS)- NAZÖ
-! SAL MAURICE NURIZ
-! SAL MBH^$ MPH
-! SAL MB(SßZ)- N
-! SAL MC9^ NK
-! SAL MEMOIR-^ NENUA
-! SAL ME(LMNRST)-3^ NE
-! SAL MIGUEL NIKL
-! SAL MIKE^$ NEIK
-! SAL MN N
-! SAL MPJUTE- NPUT
-! SAL MP(SßZ)- N
-! SAL MP(BDJLMNPQRTVW)- NP
-! SAL M N
-! SAL NACH^^ NAK
-! SAL NADINE NATIN
-! SAL NAIV-- NA
-! SAL NAISE$ NEZE
-! SAL NCOISE$ ZUA
-! SAL NCOIS$ ZUA
-! SAL NEBEN^^ NEPN
-! SAL NE(LMNRST)-3^ NE
-! SAL NEN-3 NE
-! SAL NETTE$ NET
-! SAL NG(BDFJLMNPQRTVW)- NK
-! SAL NICHTS^^ NIX
-! SAL NICHT^^ NIKT
-! SAL NINE$ NIN
-! SAL NON^^ NUN
-! SAL NOT^^ NUT
-! SAL NTI(AIOU)-3 NZI
-! SAL NTIEL--3 NZI
-! SAL NYLON NEILUN
-! SAL ND(SßZ)$ NZ
-! SAL NT(SßZ)$ NZ
-! SAL ND'S$ NZ
-! SAL NT'S$ NZ
-! SAL NSTS$ NZ
-! SAL N N
-! SAL OBER^^ UPA
-! SAL OE2 Ö
-! SAL OGNIE- UNI
-! SAL OGN(AEOU)-$ UNI
-! SAL OIE$ Ö
-! SAL OIR$ UAR
-! SAL OIX UA
-! SAL OI<3 EU
-! SAL OJ(AÄEIOÖUÜ)-- U
-! SAL OKAY^$ UKE
-! SAL OLYN$ ULIN
-! SAL OTI(AÄOÖUÜ)- UZI
-! SAL OUI^ FI
-! SAL OUILLE$ ULIE
-! SAL OU(DT)-^ AU
-! SAL OUSE$ AUZ
-! SAL OUT- AU
-! SAL OU U
-! SAL OWS$ UZ
-! SAL OY(AÄEIOÖUÜ)-- U
-! SAL O(JY)< EU
-! SAL O U
-! SAL PATIEN--^ PAZI
-! SAL PENSIO-^ PANZI
-! SAL PE(LMNRST)-3^ PE
-! SAL PFER-^ FE
-! SAL P(FH)< F
-! SAL POLY^^ PULI
-! SAL PORTRAIT7 PURTRE
-! SAL PP(FH)--< P
-! SAL PP- _
-! SAL PRIX^$ PRI
-! SAL P(SßZ)^ Z
-! SAL PTI(AÄOÖUÜ)-3 PZI
-! SAL PIC^$ PIK
-! SAL P P
-! SAL QUE(LMNRST)-3 KFE
-! SAL QUE$ K
-! SAL QUI(NS)$ KI
-! SAL QU KF
-! SAL Q< K
-! SAL RCH RK
-! SAL RECHERCH^ REZAZ
-! SAL RER$ RA
-! SAL RE(MNR)-4 RE
-! SAL RETTE$ RET
-! SAL RH<^ R
-! SAL RJA(MN)-- RI
-! SAL RTI(AÄOÖUÜ)-3 RZI
-! SAL RY(KN)-$ RI
-! SAL R R
-! SAL SAFE^$ ZEIF
-! SAL SAUCE-^ ZUZ
-! SAL SCHSCH---7 _
-! SAL SCHTSCH Z
-! SAL SC(HZ)< Z
-! SAL SC ZK
-! SAL SELBSTST--7^^ ZELP
-! SAL SELBST7^^ ZELPZT
-! SAL SERVICE7^ ZÖRFIZ
-! SAL SE(LMNRST)-3^ ZE
-! SAL SETTE$ ZET
-! SAL SHP-^ Z
-! SAL SHST ZT
-! SAL SHTSH Z
-! SAL SHT Z
-! SAL SH3 Z
-! SAL SIEGLI-^ ZIKL
-! SAL SIGLI-^ ZIKL
-! SAL SIGHT ZEIT
-! SAL SIGN ZEIN
-! SAL SKI(NPZ)- ZKI
-! SAL SKI<^ ZI
-! SAL SOUND- ZAUN
-! SAL STAATS^^ ZTAZ
-! SAL STADT^^ ZTAT
-! SAL START^^ ZTART
-! SAL STAURANT7 ZTURAN
-! SAL STEAK- ZTE
-! SAL STRAF^^ ZTRAF
-! SAL ST'S$ Z
-! SAL STST-- _
-! SAL STS(ACEHIOUÄÜÖ)-- ZT
-! SAL ST(SZ) Z
-! SAL STYN(AE)-$ ZTIN
-! SAL ST ZT
-! SAL SZE(NPT)-^ ZE
-! SAL SZI(ELN)-^ ZI
-! SAL SZCZ< Z
-! SAL SZT< ZT
-! SAL SZ<3 Z
-! SAL S Z
-! SAL T'S3$ Z
-! SAL TCH Z
-! SAL TEAT-^ TEA
-! SAL TE(LMNRST)-3^ TE
-! SAL TH< T
-! SAL TIC$ TIZ
-! SAL TOAS-^ TU
-! SAL TOILET- TULE
-! SAL TOIN- TUA
-! SAL TRAINI- TREN
-! SAL TSCH Z
-! SAL TSH Z
-! SAL TST ZT
-! SAL T(Sß) Z
-! SAL TT(SZ)--< _
-! SAL TT9 T
-! SAL TZ- _
-! SAL T T
-! SAL UEBER^^ IPA
-! SAL UE2 I
-! SAL UIE$ I
-! SAL UM^^ UN
-! SAL UNTERE-- UNTE
-! SAL UNTER^^ UNTA
-! SAL UNVER^^ UNFA
-! SAL UN^^ UN
-! SAL UTI(AÄOÖUÜ)- UZI
-! SAL U U
-! SAL VACL-^ FAZ
-! SAL VAC$ FAZ
-! SAL VEDD-^ FE
-! SAL VEREIN FAEIN
-! SAL VERSEN^ FAZN
-! SAL VER^^ FA
-! SAL VER FA
-! SAL VET(HT)-^ FET
-! SAL VETTE$ FET
-! SAL VIC$ FIZ
-! SAL VIEL FIL
-! SAL VIEW FIU
-! SAL VOR^^ FUR
-! SAL VY9^ FI
-! SAL V< F
-! SAL WE(LMNRST)-3^ FE
-! SAL WIC$ FIZ
-! SAL WIEDER^^ FITA
-! SAL WY9^ FI
-! SAL W F
-! SAL XE(LMNRST)-3^ XE
-! SAL X<^ Z
-! SAL X(CSZ) X
-! SAL XTS(CH)-- XT
-! SAL XT(SZ) Z
-! SAL X X
-! SAL YE(LMNRST)-3^ IE
-! SAL YE-3 I
-! SAL YOR(GK)^$ IÖRK
-! SAL Y(AOU)-<7 I
-! SAL YVES^$ IF
-! SAL YVONNE^$ IFUN
-! SAL Y I
-! SAL ZC(AOU)- ZK
-! SAL ZE(LMNRST)-3^ ZE
-! SAL ZH< Z
-! SAL ZS(CHT)-- _
-! SAL ZS Z
-! SAL ZUERST ZUERZT
-! SAL ZURÜCK^^ ZURIK
-! SAL ZUVER^^ ZUFA # x
-! SAL Z Z
diff --git a/runtime/spell/de/de_CH.diff b/runtime/spell/de/de_CH.diff
deleted file mode 100644
index 2bf25a2cb..000000000
--- a/runtime/spell/de/de_CH.diff
+++ /dev/null
@@ -1,574 +0,0 @@
-*** de_CH.orig.aff 2019-01-19 18:45:30.400494173 +0100
---- de_CH.aff 2019-01-19 19:24:48.064826847 +0100
-***************
-*** 15,16 ****
---- 15,48 ----
-
-+ FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
-+ LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
-+ UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
-+
-+ MIDWORD '
-+
-+ MAP 9
-+ MAP aàáâãäå
-+ MAP eèéêë
-+ MAP iìíîï
-+ MAP oòóôõö
-+ MAP uùúûü
-+ MAP nñ
-+ MAP cç
-+ MAP yÿý
-+ MAP sß
-+
-+
-+ COMPOUNDRULE xy?z
-+ #COMPOUNDBEGIN x
-+ #COMPOUNDMIDDLE y
-+ #COMPOUNDEND z
-+
-+ # Prefixes are allowed at the beginning of compounds,
-+ # suffixes are allowed at the end of compounds by default:
-+ # (prefix)?(root)+(affix)?
-+ # Affixes with COMPOUNDPERMITFLAG may be inside of compounds.
-+ COMPOUNDPERMITFLAG c
-+
-+ ONLYINCOMPOUND o
-+
-+
- PFX U Y 1
-***************
-*** 538,553 ****
-
--
-- COMPOUNDBEGIN x
-- COMPOUNDMIDDLE y
-- COMPOUNDEND z
- FORBIDDENWORD d
-
-- # Prefixes are allowed at the beginning of compounds,
-- # suffixes are allowed at the end of compounds by default:
-- # (prefix)?(root)+(affix)?
-- # Affixes with COMPOUNDPERMITFLAG may be inside of compounds.
-- COMPOUNDPERMITFLAG c
--
-- ONLYINCOMPOUND o
--
- # my PSEUDOROOT h(elper) flag
---- 570,573 ----
-***************
-*** 571,573 ****
-
-! WORDCHARS ß-.
-
---- 591,593 ----
-
-! # WORDCHARS ß-.
-
-***************
-*** 725,729 ****
- # So enabling this is the lesser evil. No perfect solution found so far...
-! BREAK 2
-! BREAK -
-! BREAK .
-!
---- 745,1243 ----
- # So enabling this is the lesser evil. No perfect solution found so far...
-! # BREAK 2
-! # BREAK -
-! # BREAK .
-!
-! # German phonetic transformation rules for use with Aspell
-! # Copyright (C) 2000 Björn Jacke
-! #
-! # This library is free software; you can redistribute it and/or
-! # modify it under the terms of the GNU Lesser General Public
-! # License version 2.1 as published by the Free Software Foundation;
-! #
-! # This library is distributed in the hope that it will be useful,
-! # but WITHOUT ANY WARRANTY; without even the implied warranty of
-! # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-! # Lesser General Public License for more details.
-! #
-! # You should have received a copy of the GNU Lesser General Public
-! # License along with this library; if not, write to the Free Software
-! # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-! #
-! # Björn Jacke may be reached by email at bjoern.jacke@gmx.de
-! #
-! # Changelog:
-! #
-! # 2000-01-05 Björn Jacke <bjoern.jacke@gmx.de>
-! # Initial Release
-! # 2000-01-07 Kevin Atkinson <kevinatk@home.com>
-! # Converted from header to data file.
-! SAL followup 1
-! SAL collapse_result 1
-!
-! SAL ÄER- E
-! SAL ÄU< EU
-! SAL Ä< E
-! SAL É E
-! SAL ÖER- Ö
-! SAL Ö Ö
-! SAL ÜBER^^ IPA
-! SAL ÜER- I
-! SAL Ü I
-! SAL ß Z
-! SAL ABELLE$ APL
-! SAL ABELL$ APL
-! SAL ABIENNE$ APIN
-! SAL ACEY$ AZI
-! SAL AEU< EU
-! SAL AE2 E
-! SAL AGNI-^ AKN
-! SAL AGNIE- ANI
-! SAL AGN(AEOU)-$ ANI
-! SAL AIA2 AIA
-! SAL AIE$ E
-! SAL AILL(EOU)- ALI
-! SAL AINE$ EN
-! SAL AIRE$ ER
-! SAL AIR- E
-! SAL AISE$ EZ
-! SAL AISSANCE$ EZANZ
-! SAL AISSE$ EZ
-! SAL AIX$ EX
-! SAL AJ(AÄEIOÖUÜ)-- A
-! SAL AKTIE AXIE
-! SAL ALO(IY)^ ALUI
-! SAL AMATEU(RS)- ANATÖ
-! SAL ANIELLE$ ANIL
-! SAL ANTI^^ ANTI
-! SAL ANVER^^ ANFA
-! SAL ATIA$ ATIA
-! SAL ATIA(NS)-- ATI
-! SAL ATI(AÄOÖUÜ)- AZI
-! SAL AUAU-- _
-! SAL AUER< AUA
-! SAL AUF^^ AUF
-! SAL AULT$ U
-! SAL AUSSE$ UZ
-! SAL AUS(ST)-^ AUZ
-! SAL AUS^^ AUZ
-! SAL AUTO^^ AUTU
-! SAL AUX(IY)- AUX
-! SAL AUX U
-! SAL AU AU
-! SAL AVIER$ AFIE
-! SAL AYER--< EI
-! SAL AY(AÄEIOÖUÜ)-- A
-! SAL A(IJY)< EI
-! SAL A A
-! SAL BEA(BCMNRU)-^ PEA
-! SAL BEAT(AEIMORU)-^ PEAT
-! SAL BEIGE^$ PEZ
-! SAL BE(LMNRST)-^ PE
-! SAL BETTE$ PET
-! SAL BIC$ PIZ
-! SAL BOWL(EI)- PUL
-! SAL BP(AÄEIOÖRUÜY)- P
-! SAL BUDGET7 PIKE
-! SAL BUFFET7 PIFE
-! SAL BYLLE$ PILE
-! SAL BYLL$ PIL
-! SAL BYTE< PEIT
-! SAL B P
-! SAL CÄ- Z
-! SAL CÜ$ ZI
-! SAL CACH(EI)-^ KEZ
-! SAL CAE-- Z
-! SAL CA(IY)$ ZEI
-! SAL CCH Z
-! SAL CCE- X
-! SAL CE(EIJUY)-- Z
-! SAL CENT< ZENT
-! SAL CERST(EI)----^ KE
-! SAL CER$ ZA
-! SAL CE3 ZE
-! SAL CHAO(ST)- KAU
-! SAL CHAMPIO-^ ZENPI
-! SAL CHAR(AI)-^ KAR
-! SAL CHAU(CDFSVWXZ)- ZU
-! SAL CHE(CF)- ZE
-! SAL CHEM-^ KE
-! SAL CHEQUE< ZEK
-! SAL CHI(CFGPVW)- ZI
-! SAL CH(AEUY)-<^ Z
-! SAL CHK- _
-! SAL CH(LOR)-<^ K
-! SAL CHST- X
-! SAL CH(SßXZ)3 X
-! SAL CH K
-! SAL CIER$ ZIE
-! SAL CYB-^ ZEI
-! SAL CY9^ ZI
-! SAL C(IJY)-3 Z
-! SAL CKST XT
-! SAL CK(SßXZ)3 X
-! SAL C(CK)- _
-! SAL CLAUDET--- KLU
-! SAL CLAUDINE^$ KLUTIN
-! SAL COLE$ KUL
-! SAL COUCH KAUZ
-! SAL CQUES$ K
-! SAL CQUE K
-! SAL CREAT-^ KREA
-! SAL CST XT
-! SAL CS<^ Z
-! SAL C(SßX) X
-! SAL CT(SßXZ) X
-! SAL CZ< Z
-! SAL C< K
-! SAL D'H^ T
-! SAL D'S3$ Z
-! SAL DAVO(NR)-^$ TAFU
-! SAL DD(SZ)--< _
-! SAL DEPOT7 TEPU
-! SAL DESIGN TIZEIN
-! SAL DE(LMNRST)-3^ TE
-! SAL DETTE$ TET
-! SAL DIC$ TIZ
-! SAL DJ(AEIOU)-^ I
-! SAL DS(CH)--< T
-! SAL DST ZT
-! SAL DT- _
-! SAL DUIS-^ TI
-! SAL DURCH^^ TURK
-! SAL DZS(CH)-- T
-! SAL D(SßZ) Z
-! SAL D T
-! SAL EAULT$ U
-! SAL EAUX$ U
-! SAL EAU U
-! SAL EAV IF
-! SAL EA(AÄEIOÖÜY)-3 EA
-! SAL EA3$ EA
-! SAL EA3 I
-! SAL EBEN^^ EPN
-! SAL EE9 E
-! SAL EIEI-- _
-! SAL EIH-- E
-! SAL EILLE$ EI
-! SAL EI EI
-! SAL EJ$ EI
-! SAL EL-^ E
-! SAL EL(DKL)--1 E
-! SAL EL(MNT)--1$ E
-! SAL ELYNE$ ELINE
-! SAL ELYN$ ELIN
-! SAL EL(AÄEIOÖUÜY)-1 EL
-! SAL EL-1 L
-! SAL EM-^ E
-! SAL EM(DFKMPQT)--1 E
-! SAL EM(AÄEIOÖUÜY)--1 E
-! SAL EM-1 N
-! SAL EN-^ E
-! SAL EN(CDGKQT)--1 E
-! SAL ENZ(AEIOUY)--1 EN
-! SAL EN(AÄEINOÖUÜY)-1 EN
-! SAL EN-<1 N
-! SAL ERH(AÄEIOÖUÜ)-^ ER
-! SAL ER-^ E
-! SAL ER(AÄEIOÖUÜY)-1 A
-! SAL ER1$ A
-! SAL ER<1 A
-! SAL ETI(AÄOÖÜU)- EZI
-! SAL EUEU-- _
-! SAL EUILLE$ Ö
-! SAL EUR$ ÖR
-! SAL EUX Ö
-! SAL EUYS$ EUZ
-! SAL EU EU
-! SAL EYER< EIA
-! SAL EY< EI
-! SAL E E
-! SAL FANS--^$ FE
-! SAL FAN-^$ FE
-! SAL FAULT- FUL
-! SAL FEE(DL)- FI
-! SAL FEHLER FELA
-! SAL FE(LMNRST)-3^ FE
-! SAL FOND7 FUN
-! SAL FRAIN$ FRA
-! SAL FRISEU(RS)- FRIZÖ # x
-! SAL F F
-! SAL G'S$ X
-! SAL GAGS^$ KEX
-! SAL GAG^$ KEK
-! SAL GD KT
-! SAL GEGEN^^ KEKN
-! SAL GE(LMNRST)-3^ KE
-! SAL GETTE$ KET
-! SAL G(CK)- _
-! SAL GG- _
-! SAL GI(AO)-^ I
-! SAL GION$ KIUN
-! SAL GIUS-^ IU
-! SAL GMBH^$ GMPH
-! SAL GNAC$ NIAK
-! SAL GNON$ NIUN
-! SAL GN$ N
-! SAL GONCAL-^ KUNZA
-! SAL GS(CH)-- K
-! SAL GST XT
-! SAL G(SßXZ) X
-! SAL GUCK- KU
-! SAL GUI-^ K
-! SAL G K
-! SAL HEAD- E
-! SAL HE(LMNRST)-3^ E
-! SAL HE(LMN)-1 E
-! SAL HEUR1$ ÖR
-! SAL H^ _
-! SAL IEC$ IZ
-! SAL IEI-3 _
-! SAL IELL3 IEL
-! SAL IENNE$ IN
-! SAL IERRE$ IER
-! SAL IETTE$ IT
-! SAL IEU IÖ
-! SAL IE<4 I
-! SAL IGHT3$ EIT
-! SAL IGNI(EO)- INI
-! SAL IGN(AEOU)-$ INI
-! SAL IJ(AOU)- I
-! SAL IJ$ I
-! SAL IJ< EI
-! SAL IKOLE$ IKUL
-! SAL ILLAN(STZ)-- ILIA
-! SAL ILLAR(DT)-- ILIA
-! SAL INVER- INFE
-! SAL ITI(AÄOÖUÜ)- IZI
-! SAL IVIER$ IFIE
-! SAL I I
-! SAL JAVIE---<^ ZA
-! SAL JEAN^$ IA
-! SAL JEAN-^ IA
-! SAL JER-^ IE
-! SAL JE(LMNST)- IE
-! SAL JOR(GK)^$ IÖRK
-! SAL J I
-! SAL KC(ÄEIJ)- X
-! SAL KE(LMNRST)-3^ KE
-! SAL KH<^ K
-! SAL KIC$ KIZ
-! SAL KLE(LMNRST)-3^ KLE
-! SAL KOTELE-^ KUTL
-! SAL KREAT-^ KREA
-! SAL KST XT
-! SAL K(SßXZ) X
-! SAL KTI(AIOU)-3 XI
-! SAL KT(SßXZ) X
-! SAL K K
-! SAL LARVE- LARF
-! SAL LEAND-^ LEAN
-! SAL LEL- LE
-! SAL LE(MNRST)-3^ LE
-! SAL LETTE$ LET
-! SAL LFGNAG- LFKAN
-! SAL LIC$ LIZ
-! SAL LIVE^$ LEIF
-! SAL LUI(GS)-- LU
-! SAL L L
-! SAL MASSEU(RS)- NAZÖ
-! SAL MAURICE NURIZ
-! SAL MBH^$ MPH
-! SAL MB(SßZ)- N
-! SAL MC9^ NK
-! SAL MEMOIR-^ NENUA
-! SAL ME(LMNRST)-3^ NE
-! SAL MIGUEL NIKL
-! SAL MIKE^$ NEIK
-! SAL MN N
-! SAL MPJUTE- NPUT
-! SAL MP(SßZ)- N
-! SAL MP(BDJLMNPQRTVW)- NP
-! SAL M N
-! SAL NACH^^ NAK
-! SAL NADINE NATIN
-! SAL NAIV-- NA
-! SAL NAISE$ NEZE
-! SAL NCOISE$ ZUA
-! SAL NCOIS$ ZUA
-! SAL NEBEN^^ NEPN
-! SAL NE(LMNRST)-3^ NE
-! SAL NEN-3 NE
-! SAL NETTE$ NET
-! SAL NG(BDFJLMNPQRTVW)- NK
-! SAL NICHTS^^ NIX
-! SAL NICHT^^ NIKT
-! SAL NINE$ NIN
-! SAL NON^^ NUN
-! SAL NOT^^ NUT
-! SAL NTI(AIOU)-3 NZI
-! SAL NTIEL--3 NZI
-! SAL NYLON NEILUN
-! SAL ND(SßZ)$ NZ
-! SAL NT(SßZ)$ NZ
-! SAL ND'S$ NZ
-! SAL NT'S$ NZ
-! SAL NSTS$ NZ
-! SAL N N
-! SAL OBER^^ UPA
-! SAL OE2 Ö
-! SAL OGNIE- UNI
-! SAL OGN(AEOU)-$ UNI
-! SAL OIE$ Ö
-! SAL OIR$ UAR
-! SAL OIX UA
-! SAL OI<3 EU
-! SAL OJ(AÄEIOÖUÜ)-- U
-! SAL OKAY^$ UKE
-! SAL OLYN$ ULIN
-! SAL OTI(AÄOÖUÜ)- UZI
-! SAL OUI^ FI
-! SAL OUILLE$ ULIE
-! SAL OU(DT)-^ AU
-! SAL OUSE$ AUZ
-! SAL OUT- AU
-! SAL OU U
-! SAL OWS$ UZ
-! SAL OY(AÄEIOÖUÜ)-- U
-! SAL O(JY)< EU
-! SAL O U
-! SAL PATIEN--^ PAZI
-! SAL PENSIO-^ PANZI
-! SAL PE(LMNRST)-3^ PE
-! SAL PFER-^ FE
-! SAL P(FH)< F
-! SAL POLY^^ PULI
-! SAL PORTRAIT7 PURTRE
-! SAL PP(FH)--< P
-! SAL PP- _
-! SAL PRIX^$ PRI
-! SAL P(SßZ)^ Z
-! SAL PTI(AÄOÖUÜ)-3 PZI
-! SAL PIC^$ PIK
-! SAL P P
-! SAL QUE(LMNRST)-3 KFE
-! SAL QUE$ K
-! SAL QUI(NS)$ KI
-! SAL QU KF
-! SAL Q< K
-! SAL RCH RK
-! SAL RECHERCH^ REZAZ
-! SAL RER$ RA
-! SAL RE(MNR)-4 RE
-! SAL RETTE$ RET
-! SAL RH<^ R
-! SAL RJA(MN)-- RI
-! SAL RTI(AÄOÖUÜ)-3 RZI
-! SAL RY(KN)-$ RI
-! SAL R R
-! SAL SAFE^$ ZEIF
-! SAL SAUCE-^ ZUZ
-! SAL SCHSCH---7 _
-! SAL SCHTSCH Z
-! SAL SC(HZ)< Z
-! SAL SC ZK
-! SAL SELBSTST--7^^ ZELP
-! SAL SELBST7^^ ZELPZT
-! SAL SERVICE7^ ZÖRFIZ
-! SAL SE(LMNRST)-3^ ZE
-! SAL SETTE$ ZET
-! SAL SHP-^ Z
-! SAL SHST ZT
-! SAL SHTSH Z
-! SAL SHT Z
-! SAL SH3 Z
-! SAL SIEGLI-^ ZIKL
-! SAL SIGLI-^ ZIKL
-! SAL SIGHT ZEIT
-! SAL SIGN ZEIN
-! SAL SKI(NPZ)- ZKI
-! SAL SKI<^ ZI
-! SAL SOUND- ZAUN
-! SAL STAATS^^ ZTAZ
-! SAL STADT^^ ZTAT
-! SAL START^^ ZTART
-! SAL STAURANT7 ZTURAN
-! SAL STEAK- ZTE
-! SAL STRAF^^ ZTRAF
-! SAL ST'S$ Z
-! SAL STST-- _
-! SAL STS(ACEHIOUÄÜÖ)-- ZT
-! SAL ST(SZ) Z
-! SAL STYN(AE)-$ ZTIN
-! SAL ST ZT
-! SAL SZE(NPT)-^ ZE
-! SAL SZI(ELN)-^ ZI
-! SAL SZCZ< Z
-! SAL SZT< ZT
-! SAL SZ<3 Z
-! SAL S Z
-! SAL T'S3$ Z
-! SAL TCH Z
-! SAL TEAT-^ TEA
-! SAL TE(LMNRST)-3^ TE
-! SAL TH< T
-! SAL TIC$ TIZ
-! SAL TOAS-^ TU
-! SAL TOILET- TULE
-! SAL TOIN- TUA
-! SAL TRAINI- TREN
-! SAL TSCH Z
-! SAL TSH Z
-! SAL TST ZT
-! SAL T(Sß) Z
-! SAL TT(SZ)--< _
-! SAL TT9 T
-! SAL TZ- _
-! SAL T T
-! SAL UEBER^^ IPA
-! SAL UE2 I
-! SAL UIE$ I
-! SAL UM^^ UN
-! SAL UNTERE-- UNTE
-! SAL UNTER^^ UNTA
-! SAL UNVER^^ UNFA
-! SAL UN^^ UN
-! SAL UTI(AÄOÖUÜ)- UZI
-! SAL U U
-! SAL VACL-^ FAZ
-! SAL VAC$ FAZ
-! SAL VEDD-^ FE
-! SAL VEREIN FAEIN
-! SAL VERSEN^ FAZN
-! SAL VER^^ FA
-! SAL VER FA
-! SAL VET(HT)-^ FET
-! SAL VETTE$ FET
-! SAL VIC$ FIZ
-! SAL VIEL FIL
-! SAL VIEW FIU
-! SAL VOR^^ FUR
-! SAL VY9^ FI
-! SAL V< F
-! SAL WE(LMNRST)-3^ FE
-! SAL WIC$ FIZ
-! SAL WIEDER^^ FITA
-! SAL WY9^ FI
-! SAL W F
-! SAL XE(LMNRST)-3^ XE
-! SAL X<^ Z
-! SAL X(CSZ) X
-! SAL XTS(CH)-- XT
-! SAL XT(SZ) Z
-! SAL X X
-! SAL YE(LMNRST)-3^ IE
-! SAL YE-3 I
-! SAL YOR(GK)^$ IÖRK
-! SAL Y(AOU)-<7 I
-! SAL YVES^$ IF
-! SAL YVONNE^$ IFUN
-! SAL Y I
-! SAL ZC(AOU)- ZK
-! SAL ZE(LMNRST)-3^ ZE
-! SAL ZH< Z
-! SAL ZS(CHT)-- _
-! SAL ZS Z
-! SAL ZUERST ZUERZT
-! SAL ZURÜCK^^ ZURIK
-! SAL ZUVER^^ ZUFA # x
-! SAL Z Z
diff --git a/runtime/spell/de/de_DE.diff b/runtime/spell/de/de_DE.diff
deleted file mode 100644
index bbac7a0b6..000000000
--- a/runtime/spell/de/de_DE.diff
+++ /dev/null
@@ -1,580 +0,0 @@
-*** de_DE.orig.aff 2019-01-19 18:45:26.132522538 +0100
---- de_DE.aff 2019-01-19 19:23:37.233297530 +0100
-***************
-*** 15,16 ****
---- 15,46 ----
-
-+ FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
-+ LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
-+ UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
-+
-+ MIDWORD '
-+
-+ MAP 9
-+ MAP aàáâãäå
-+ MAP eèéêë
-+ MAP iìíîï
-+ MAP oòóôõö
-+ MAP uùúûü
-+ MAP nñ
-+ MAP cç
-+ MAP yÿý
-+ MAP sß
-+
-+ COMPOUNDRULE xy?z
-+ #COMPOUNDBEGIN x
-+ #COMPOUNDMIDDLE y
-+ #COMPOUNDEND z
-+
-+ # Prefixes are allowed at the beginning of compounds,
-+ # suffixes are allowed at the end of compounds by default:
-+ # (prefix)?(root)+(affix)?
-+ # Affixes with COMPOUNDPERMITFLAG may be inside of compounds.
-+ COMPOUNDPERMITFLAG c
-+
-+ ONLYINCOMPOUND o
-+
- PFX U Y 1
-***************
-*** 536,553 ****
- #LANG de_DE
-! CHECKSHARPS
-!
-
-- COMPOUNDBEGIN x
-- COMPOUNDMIDDLE y
-- COMPOUNDEND z
- FORBIDDENWORD d
-
-- # Prefixes are allowed at the beginning of compounds,
-- # suffixes are allowed at the end of compounds by default:
-- # (prefix)?(root)+(affix)?
-- # Affixes with COMPOUNDPERMITFLAG may be inside of compounds.
-- COMPOUNDPERMITFLAG c
--
-- ONLYINCOMPOUND o
--
- # my PSEUDOROOT h(elper) flag
---- 566,571 ----
- #LANG de_DE
-! # CHECKSHARPS
-
- FORBIDDENWORD d
-
- # my PSEUDOROOT h(elper) flag
-***************
-*** 571,573 ****
-
-! WORDCHARS ß-.
-
---- 589,591 ----
-
-! # WORDCHARS ß-.
-
-***************
-*** 725,729 ****
- # So enabling this is the lesser evil. No perfect solution found so far...
-! BREAK 2
-! BREAK -
-! BREAK .
-!
---- 743,1241 ----
- # So enabling this is the lesser evil. No perfect solution found so far...
-! # BREAK 2
-! # BREAK -
-! # BREAK .
-!
-! # German phonetic transformation rules for use with Aspell
-! # Copyright (C) 2000 Björn Jacke
-! #
-! # This library is free software; you can redistribute it and/or
-! # modify it under the terms of the GNU Lesser General Public
-! # License version 2.1 as published by the Free Software Foundation;
-! #
-! # This library is distributed in the hope that it will be useful,
-! # but WITHOUT ANY WARRANTY; without even the implied warranty of
-! # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-! # Lesser General Public License for more details.
-! #
-! # You should have received a copy of the GNU Lesser General Public
-! # License along with this library; if not, write to the Free Software
-! # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-! #
-! # Björn Jacke may be reached by email at bjoern.jacke@gmx.de
-! #
-! # Changelog:
-! #
-! # 2000-01-05 Björn Jacke <bjoern.jacke@gmx.de>
-! # Initial Release
-! # 2000-01-07 Kevin Atkinson <kevinatk@home.com>
-! # Converted from header to data file.
-! SAL followup 1
-! SAL collapse_result 1
-!
-! SAL ÄER- E
-! SAL ÄU< EU
-! SAL Ä< E
-! SAL É E
-! SAL ÖER- Ö
-! SAL Ö Ö
-! SAL ÜBER^^ IPA
-! SAL ÜER- I
-! SAL Ü I
-! SAL ß Z
-! SAL ABELLE$ APL
-! SAL ABELL$ APL
-! SAL ABIENNE$ APIN
-! SAL ACEY$ AZI
-! SAL AEU< EU
-! SAL AE2 E
-! SAL AGNI-^ AKN
-! SAL AGNIE- ANI
-! SAL AGN(AEOU)-$ ANI
-! SAL AIA2 AIA
-! SAL AIE$ E
-! SAL AILL(EOU)- ALI
-! SAL AINE$ EN
-! SAL AIRE$ ER
-! SAL AIR- E
-! SAL AISE$ EZ
-! SAL AISSANCE$ EZANZ
-! SAL AISSE$ EZ
-! SAL AIX$ EX
-! SAL AJ(AÄEIOÖUÜ)-- A
-! SAL AKTIE AXIE
-! SAL ALO(IY)^ ALUI
-! SAL AMATEU(RS)- ANATÖ
-! SAL ANIELLE$ ANIL
-! SAL ANTI^^ ANTI
-! SAL ANVER^^ ANFA
-! SAL ATIA$ ATIA
-! SAL ATIA(NS)-- ATI
-! SAL ATI(AÄOÖUÜ)- AZI
-! SAL AUAU-- _
-! SAL AUER< AUA
-! SAL AUF^^ AUF
-! SAL AULT$ U
-! SAL AUSSE$ UZ
-! SAL AUS(ST)-^ AUZ
-! SAL AUS^^ AUZ
-! SAL AUTO^^ AUTU
-! SAL AUX(IY)- AUX
-! SAL AUX U
-! SAL AU AU
-! SAL AVIER$ AFIE
-! SAL AYER--< EI
-! SAL AY(AÄEIOÖUÜ)-- A
-! SAL A(IJY)< EI
-! SAL A A
-! SAL BEA(BCMNRU)-^ PEA
-! SAL BEAT(AEIMORU)-^ PEAT
-! SAL BEIGE^$ PEZ
-! SAL BE(LMNRST)-^ PE
-! SAL BETTE$ PET
-! SAL BIC$ PIZ
-! SAL BOWL(EI)- PUL
-! SAL BP(AÄEIOÖRUÜY)- P
-! SAL BUDGET7 PIKE
-! SAL BUFFET7 PIFE
-! SAL BYLLE$ PILE
-! SAL BYLL$ PIL
-! SAL BYTE< PEIT
-! SAL B P
-! SAL CÄ- Z
-! SAL CÜ$ ZI
-! SAL CACH(EI)-^ KEZ
-! SAL CAE-- Z
-! SAL CA(IY)$ ZEI
-! SAL CCH Z
-! SAL CCE- X
-! SAL CE(EIJUY)-- Z
-! SAL CENT< ZENT
-! SAL CERST(EI)----^ KE
-! SAL CER$ ZA
-! SAL CE3 ZE
-! SAL CHAO(ST)- KAU
-! SAL CHAMPIO-^ ZENPI
-! SAL CHAR(AI)-^ KAR
-! SAL CHAU(CDFSVWXZ)- ZU
-! SAL CHE(CF)- ZE
-! SAL CHEM-^ KE
-! SAL CHEQUE< ZEK
-! SAL CHI(CFGPVW)- ZI
-! SAL CH(AEUY)-<^ Z
-! SAL CHK- _
-! SAL CH(LOR)-<^ K
-! SAL CHST- X
-! SAL CH(SßXZ)3 X
-! SAL CH K
-! SAL CIER$ ZIE
-! SAL CYB-^ ZEI
-! SAL CY9^ ZI
-! SAL C(IJY)-3 Z
-! SAL CKST XT
-! SAL CK(SßXZ)3 X
-! SAL C(CK)- _
-! SAL CLAUDET--- KLU
-! SAL CLAUDINE^$ KLUTIN
-! SAL COLE$ KUL
-! SAL COUCH KAUZ
-! SAL CQUES$ K
-! SAL CQUE K
-! SAL CREAT-^ KREA
-! SAL CST XT
-! SAL CS<^ Z
-! SAL C(SßX) X
-! SAL CT(SßXZ) X
-! SAL CZ< Z
-! SAL C< K
-! SAL D'H^ T
-! SAL D'S3$ Z
-! SAL DAVO(NR)-^$ TAFU
-! SAL DD(SZ)--< _
-! SAL DEPOT7 TEPU
-! SAL DESIGN TIZEIN
-! SAL DE(LMNRST)-3^ TE
-! SAL DETTE$ TET
-! SAL DIC$ TIZ
-! SAL DJ(AEIOU)-^ I
-! SAL DS(CH)--< T
-! SAL DST ZT
-! SAL DT- _
-! SAL DUIS-^ TI
-! SAL DURCH^^ TURK
-! SAL DZS(CH)-- T
-! SAL D(SßZ) Z
-! SAL D T
-! SAL EAULT$ U
-! SAL EAUX$ U
-! SAL EAU U
-! SAL EAV IF
-! SAL EA(AÄEIOÖÜY)-3 EA
-! SAL EA3$ EA
-! SAL EA3 I
-! SAL EBEN^^ EPN
-! SAL EE9 E
-! SAL EIEI-- _
-! SAL EIH-- E
-! SAL EILLE$ EI
-! SAL EI EI
-! SAL EJ$ EI
-! SAL EL-^ E
-! SAL EL(DKL)--1 E
-! SAL EL(MNT)--1$ E
-! SAL ELYNE$ ELINE
-! SAL ELYN$ ELIN
-! SAL EL(AÄEIOÖUÜY)-1 EL
-! SAL EL-1 L
-! SAL EM-^ E
-! SAL EM(DFKMPQT)--1 E
-! SAL EM(AÄEIOÖUÜY)--1 E
-! SAL EM-1 N
-! SAL EN-^ E
-! SAL EN(CDGKQT)--1 E
-! SAL ENZ(AEIOUY)--1 EN
-! SAL EN(AÄEINOÖUÜY)-1 EN
-! SAL EN-<1 N
-! SAL ERH(AÄEIOÖUÜ)-^ ER
-! SAL ER-^ E
-! SAL ER(AÄEIOÖUÜY)-1 A
-! SAL ER1$ A
-! SAL ER<1 A
-! SAL ETI(AÄOÖÜU)- EZI
-! SAL EUEU-- _
-! SAL EUILLE$ Ö
-! SAL EUR$ ÖR
-! SAL EUX Ö
-! SAL EUYS$ EUZ
-! SAL EU EU
-! SAL EYER< EIA
-! SAL EY< EI
-! SAL E E
-! SAL FANS--^$ FE
-! SAL FAN-^$ FE
-! SAL FAULT- FUL
-! SAL FEE(DL)- FI
-! SAL FEHLER FELA
-! SAL FE(LMNRST)-3^ FE
-! SAL FOND7 FUN
-! SAL FRAIN$ FRA
-! SAL FRISEU(RS)- FRIZÖ # x
-! SAL F F
-! SAL G'S$ X
-! SAL GAGS^$ KEX
-! SAL GAG^$ KEK
-! SAL GD KT
-! SAL GEGEN^^ KEKN
-! SAL GE(LMNRST)-3^ KE
-! SAL GETTE$ KET
-! SAL G(CK)- _
-! SAL GG- _
-! SAL GI(AO)-^ I
-! SAL GION$ KIUN
-! SAL GIUS-^ IU
-! SAL GMBH^$ GMPH
-! SAL GNAC$ NIAK
-! SAL GNON$ NIUN
-! SAL GN$ N
-! SAL GONCAL-^ KUNZA
-! SAL GS(CH)-- K
-! SAL GST XT
-! SAL G(SßXZ) X
-! SAL GUCK- KU
-! SAL GUI-^ K
-! SAL G K
-! SAL HEAD- E
-! SAL HE(LMNRST)-3^ E
-! SAL HE(LMN)-1 E
-! SAL HEUR1$ ÖR
-! SAL H^ _
-! SAL IEC$ IZ
-! SAL IEI-3 _
-! SAL IELL3 IEL
-! SAL IENNE$ IN
-! SAL IERRE$ IER
-! SAL IETTE$ IT
-! SAL IEU IÖ
-! SAL IE<4 I
-! SAL IGHT3$ EIT
-! SAL IGNI(EO)- INI
-! SAL IGN(AEOU)-$ INI
-! SAL IJ(AOU)- I
-! SAL IJ$ I
-! SAL IJ< EI
-! SAL IKOLE$ IKUL
-! SAL ILLAN(STZ)-- ILIA
-! SAL ILLAR(DT)-- ILIA
-! SAL INVER- INFE
-! SAL ITI(AÄOÖUÜ)- IZI
-! SAL IVIER$ IFIE
-! SAL I I
-! SAL JAVIE---<^ ZA
-! SAL JEAN^$ IA
-! SAL JEAN-^ IA
-! SAL JER-^ IE
-! SAL JE(LMNST)- IE
-! SAL JOR(GK)^$ IÖRK
-! SAL J I
-! SAL KC(ÄEIJ)- X
-! SAL KE(LMNRST)-3^ KE
-! SAL KH<^ K
-! SAL KIC$ KIZ
-! SAL KLE(LMNRST)-3^ KLE
-! SAL KOTELE-^ KUTL
-! SAL KREAT-^ KREA
-! SAL KST XT
-! SAL K(SßXZ) X
-! SAL KTI(AIOU)-3 XI
-! SAL KT(SßXZ) X
-! SAL K K
-! SAL LARVE- LARF
-! SAL LEAND-^ LEAN
-! SAL LEL- LE
-! SAL LE(MNRST)-3^ LE
-! SAL LETTE$ LET
-! SAL LFGNAG- LFKAN
-! SAL LIC$ LIZ
-! SAL LIVE^$ LEIF
-! SAL LUI(GS)-- LU
-! SAL L L
-! SAL MASSEU(RS)- NAZÖ
-! SAL MAURICE NURIZ
-! SAL MBH^$ MPH
-! SAL MB(SßZ)- N
-! SAL MC9^ NK
-! SAL MEMOIR-^ NENUA
-! SAL ME(LMNRST)-3^ NE
-! SAL MIGUEL NIKL
-! SAL MIKE^$ NEIK
-! SAL MN N
-! SAL MPJUTE- NPUT
-! SAL MP(SßZ)- N
-! SAL MP(BDJLMNPQRTVW)- NP
-! SAL M N
-! SAL NACH^^ NAK
-! SAL NADINE NATIN
-! SAL NAIV-- NA
-! SAL NAISE$ NEZE
-! SAL NCOISE$ ZUA
-! SAL NCOIS$ ZUA
-! SAL NEBEN^^ NEPN
-! SAL NE(LMNRST)-3^ NE
-! SAL NEN-3 NE
-! SAL NETTE$ NET
-! SAL NG(BDFJLMNPQRTVW)- NK
-! SAL NICHTS^^ NIX
-! SAL NICHT^^ NIKT
-! SAL NINE$ NIN
-! SAL NON^^ NUN
-! SAL NOT^^ NUT
-! SAL NTI(AIOU)-3 NZI
-! SAL NTIEL--3 NZI
-! SAL NYLON NEILUN
-! SAL ND(SßZ)$ NZ
-! SAL NT(SßZ)$ NZ
-! SAL ND'S$ NZ
-! SAL NT'S$ NZ
-! SAL NSTS$ NZ
-! SAL N N
-! SAL OBER^^ UPA
-! SAL OE2 Ö
-! SAL OGNIE- UNI
-! SAL OGN(AEOU)-$ UNI
-! SAL OIE$ Ö
-! SAL OIR$ UAR
-! SAL OIX UA
-! SAL OI<3 EU
-! SAL OJ(AÄEIOÖUÜ)-- U
-! SAL OKAY^$ UKE
-! SAL OLYN$ ULIN
-! SAL OTI(AÄOÖUÜ)- UZI
-! SAL OUI^ FI
-! SAL OUILLE$ ULIE
-! SAL OU(DT)-^ AU
-! SAL OUSE$ AUZ
-! SAL OUT- AU
-! SAL OU U
-! SAL OWS$ UZ
-! SAL OY(AÄEIOÖUÜ)-- U
-! SAL O(JY)< EU
-! SAL O U
-! SAL PATIEN--^ PAZI
-! SAL PENSIO-^ PANZI
-! SAL PE(LMNRST)-3^ PE
-! SAL PFER-^ FE
-! SAL P(FH)< F
-! SAL POLY^^ PULI
-! SAL PORTRAIT7 PURTRE
-! SAL PP(FH)--< P
-! SAL PP- _
-! SAL PRIX^$ PRI
-! SAL P(SßZ)^ Z
-! SAL PTI(AÄOÖUÜ)-3 PZI
-! SAL PIC^$ PIK
-! SAL P P
-! SAL QUE(LMNRST)-3 KFE
-! SAL QUE$ K
-! SAL QUI(NS)$ KI
-! SAL QU KF
-! SAL Q< K
-! SAL RCH RK
-! SAL RECHERCH^ REZAZ
-! SAL RER$ RA
-! SAL RE(MNR)-4 RE
-! SAL RETTE$ RET
-! SAL RH<^ R
-! SAL RJA(MN)-- RI
-! SAL RTI(AÄOÖUÜ)-3 RZI
-! SAL RY(KN)-$ RI
-! SAL R R
-! SAL SAFE^$ ZEIF
-! SAL SAUCE-^ ZUZ
-! SAL SCHSCH---7 _
-! SAL SCHTSCH Z
-! SAL SC(HZ)< Z
-! SAL SC ZK
-! SAL SELBSTST--7^^ ZELP
-! SAL SELBST7^^ ZELPZT
-! SAL SERVICE7^ ZÖRFIZ
-! SAL SE(LMNRST)-3^ ZE
-! SAL SETTE$ ZET
-! SAL SHP-^ Z
-! SAL SHST ZT
-! SAL SHTSH Z
-! SAL SHT Z
-! SAL SH3 Z
-! SAL SIEGLI-^ ZIKL
-! SAL SIGLI-^ ZIKL
-! SAL SIGHT ZEIT
-! SAL SIGN ZEIN
-! SAL SKI(NPZ)- ZKI
-! SAL SKI<^ ZI
-! SAL SOUND- ZAUN
-! SAL STAATS^^ ZTAZ
-! SAL STADT^^ ZTAT
-! SAL START^^ ZTART
-! SAL STAURANT7 ZTURAN
-! SAL STEAK- ZTE
-! SAL STRAF^^ ZTRAF
-! SAL ST'S$ Z
-! SAL STST-- _
-! SAL STS(ACEHIOUÄÜÖ)-- ZT
-! SAL ST(SZ) Z
-! SAL STYN(AE)-$ ZTIN
-! SAL ST ZT
-! SAL SZE(NPT)-^ ZE
-! SAL SZI(ELN)-^ ZI
-! SAL SZCZ< Z
-! SAL SZT< ZT
-! SAL SZ<3 Z
-! SAL S Z
-! SAL T'S3$ Z
-! SAL TCH Z
-! SAL TEAT-^ TEA
-! SAL TE(LMNRST)-3^ TE
-! SAL TH< T
-! SAL TIC$ TIZ
-! SAL TOAS-^ TU
-! SAL TOILET- TULE
-! SAL TOIN- TUA
-! SAL TRAINI- TREN
-! SAL TSCH Z
-! SAL TSH Z
-! SAL TST ZT
-! SAL T(Sß) Z
-! SAL TT(SZ)--< _
-! SAL TT9 T
-! SAL TZ- _
-! SAL T T
-! SAL UEBER^^ IPA
-! SAL UE2 I
-! SAL UIE$ I
-! SAL UM^^ UN
-! SAL UNTERE-- UNTE
-! SAL UNTER^^ UNTA
-! SAL UNVER^^ UNFA
-! SAL UN^^ UN
-! SAL UTI(AÄOÖUÜ)- UZI
-! SAL U U
-! SAL VACL-^ FAZ
-! SAL VAC$ FAZ
-! SAL VEDD-^ FE
-! SAL VEREIN FAEIN
-! SAL VERSEN^ FAZN
-! SAL VER^^ FA
-! SAL VER FA
-! SAL VET(HT)-^ FET
-! SAL VETTE$ FET
-! SAL VIC$ FIZ
-! SAL VIEL FIL
-! SAL VIEW FIU
-! SAL VOR^^ FUR
-! SAL VY9^ FI
-! SAL V< F
-! SAL WE(LMNRST)-3^ FE
-! SAL WIC$ FIZ
-! SAL WIEDER^^ FITA
-! SAL WY9^ FI
-! SAL W F
-! SAL XE(LMNRST)-3^ XE
-! SAL X<^ Z
-! SAL X(CSZ) X
-! SAL XTS(CH)-- XT
-! SAL XT(SZ) Z
-! SAL X X
-! SAL YE(LMNRST)-3^ IE
-! SAL YE-3 I
-! SAL YOR(GK)^$ IÖRK
-! SAL Y(AOU)-<7 I
-! SAL YVES^$ IF
-! SAL YVONNE^$ IFUN
-! SAL Y I
-! SAL ZC(AOU)- ZK
-! SAL ZE(LMNRST)-3^ ZE
-! SAL ZH< Z
-! SAL ZS(CHT)-- _
-! SAL ZS Z
-! SAL ZUERST ZUERZT
-! SAL ZURÜCK^^ ZURIK
-! SAL ZUVER^^ ZUFA # x
-! SAL Z Z
diff --git a/runtime/spell/de/main.aap b/runtime/spell/de/main.aap
index 49ec2f25b..d0c378cc4 100644
--- a/runtime/spell/de/main.aap
+++ b/runtime/spell/de/main.aap
@@ -35,7 +35,11 @@ FILE_CH_DIC = de_CH_frami.dic
ZIPFILE_19 = de_OLDSPELL.zip # unmaintained
DICT_FILES = $FILE_20_AFF $FILE_20_DIC $FILE_AT_AFF $FILE_AT_DIC $FILE_CH_AFF $FILE_CH_DIC
-READMES = README_de_DE_frami.txt README_extension_owner.txt
+# frami files adjusted for Vim are found here
+YAMAGIDIR = https://raw.githubusercontent.com/Yamagi/vim-german-dictionaries/master
+
+READMES = README.md
+:attr {fetch = $YAMAGIDIR/%file%} $READMES
all: $SPELLDIR/de.latin1.spl $SPELLDIR/de.utf-8.spl ../README_de.txt
@@ -49,36 +53,22 @@ $SPELLDIR/de.utf-8.spl : $FILES
../README_de.txt: $READMES
:fetch $READMES
- :print de_DE_frami.txt >! $target
- :cat README_de_DE_frami.txt >> $target
- :print =================================================== >>$target
- :print extension_owner >> $target
- :cat README_extension_owner.txt >> $target
+ :print README.md >! $target
+ :cat README.md >> $target
#
# Fetching the files from the LibreOffices github repository.
# The OLDSPELL file comes from elsewhere
#
-OODIR = https://github.com/LibreOffice/dictionaries/raw/master/de
DEDIR = http://www.j3e.de/myspell
-:attr {fetch = $OODIR/%file%} $DICT_FILES
-:attr {fetch = $OODIR/%file%} $READMES
+:attr {fetch = $YAMAGIDIR/src/%file%} $DICT_FILES
:attr {fetch = $DEDIR/%file%} $ZIPFILE_19
-# The files don't depend on the .zip file so that we can delete it.
-# Only download the zip file if the targets don't exist.
de_DE.aff de_DE.dic de_20.aff de_20.dic: {buildcheck=}
- :assertpkg patch
:fetch $FILE_DE_AFF
:fetch $FILE_DE_DIC
:move de_DE_frami.aff de_DE.aff
:move de_DE_frami.dic de_DE.dic
- @if not os.path.exists('de_DE.orig.aff'):
- :copy de_DE.aff de_DE.orig.aff
- @if not os.path.exists('de_DE.orig.dic'):
- :copy de_DE.dic de_DE.orig.dic
- @if os.path.exists('de_DE.diff'):
- :sys patch <de_DE.diff
:copy de_DE.aff de_20.aff
:copy de_DE.dic de_20.dic
@@ -97,80 +87,16 @@ de_19.aff de_19.dic: {buildcheck=}
:sys patch <de_19.diff
de_AT.aff de_AT.dic: {buildcheck=}
- :assertpkg patch
:fetch $FILE_AT_AFF
:fetch $FILE_AT_DIC
:move $FILE_AT_AFF de_AT.aff
:move $FILE_AT_DIC de_AT.dic
- @if not os.path.exists('de_AT.orig.aff'):
- :copy de_AT.aff de_AT.orig.aff
- @if not os.path.exists('de_AT.orig.dic'):
- :copy de_AT.dic de_AT.orig.dic
- @if os.path.exists('de_AT.diff'):
- :sys patch <de_AT.diff
de_CH.aff de_CH.dic: {buildcheck=}
- :assertpkg patch
:fetch $FILE_CH_AFF
:fetch $FILE_CH_DIC
:move $FILE_CH_AFF de_CH.aff
:move $FILE_CH_DIC de_CH.dic
- @if not os.path.exists('de_CH.orig.aff'):
- :copy de_CH.aff de_CH.orig.aff
- @if not os.path.exists('de_CH.orig.dic'):
- :copy de_CH.dic de_CH.orig.dic
- @if os.path.exists('de_CH.diff'):
- :sys patch <de_CH.diff
-
-
-# Generate diff files, so that others can get the OpenOffice files and apply
-# the diffs to get the Vim versions.
-diff:
- :assertpkg diff
- :sys {force} diff -a -C 1 de_DE.orig.aff de_DE.aff >de_DE.diff
- :sys {force} diff -a -C 1 de_DE.orig.dic de_DE.dic >>de_DE.diff
- :sys {force} diff -a -C 1 de_19.orig.aff de_19.aff >de_19.diff
- :sys {force} diff -a -C 1 de_19.orig.dic de_19.dic >>de_19.diff
- :sys {force} diff -a -C 1 de_AT.orig.aff de_AT.aff >de_AT.diff
- :sys {force} diff -a -C 1 de_AT.orig.dic de_AT.dic >>de_AT.diff
- :sys {force} diff -a -C 1 de_CH.orig.aff de_CH.aff >de_CH.diff
- :sys {force} diff -a -C 1 de_CH.orig.dic de_CH.dic >>de_CH.diff
- :copy de_DE.diff de_20.diff
-
-
-# Check for updated OpenOffice spell files. When there are changes the
-# ".new.aff" and ".new.dic" files are left behind for manual inspection.
-
-check:
- :assertpkg unzip patch
- :fetch $ZIPFILE_19
- :fetch $DICT_FILES
- @try:
- :mkdir tmp
- :cd tmp
- :sys $UNZIP ../$ZIPFILE_19
- :copy ../*.aff .
- :copy ../*.dic .
- :move de_OLDSPELL.aff de_19.aff
- :move de_OLDSPELL.dic de_19.dic
- :move de_DE_frami.aff de_DE.aff
- :move de_DE_frami.dic de_DE.dic
- :move de_AT_frami.dic de_AT.dic
- :move de_AT_frami.aff de_AT.aff
- :move de_CH_frami.dic de_CH.dic
- :move de_CH_frami.aff de_CH.aff
- :copy de_DE.dic de_20.dic
- :copy de_DE.aff de_20.aff
-
- @import stat
- @for nm in ['de_DE', 'de_19', 'de_20', 'de_AT', 'de_CH']:
- @for ext in ['aff', 'dic']:
- :sys {force} diff ../$(nm).orig.$ext $(nm).$ext >d
- @if os.stat('d')[stat.ST_SIZE] > 0:
- :copy $(nm).$ext ../$(nm).new.$ext
- :sys {force} diff ../README_$(nm).txt README_$(nm).txt >d
- @finally:
- :cd ..
- :delete {r}{f}{q} tmp
+
# vim: set sts=4 sw=4 :
diff --git a/runtime/syntax/valgrind.vim b/runtime/syntax/valgrind.vim
index d09997182..a9b4a8c8e 100644
--- a/runtime/syntax/valgrind.vim
+++ b/runtime/syntax/valgrind.vim
@@ -2,8 +2,7 @@
" Language: Valgrind Memory Debugger Output
" Maintainer: Roger Luethi <rl@hellgate.ch>
" Program URL: http://devel-home.kde.org/~sewardj/
-" Last Change: 2015 Jan 27
-" Included improvement by Dominique Pelle
+" Last Change: 2019 Jul 24
"
" Notes: mostly based on strace.vim and xml.vim
"
@@ -26,7 +25,7 @@ syn match valgrindSpecLine "^[+-]\{2}\d\+[+-]\{2}.*$"
syn region valgrindRegion
\ start=+^==\z(\d\+\)== \w.*$+
- \ skip=+^==\z1==\( \| .*\)$+
+ \ skip=+^==\z1==\( \| .*\| \S.*\)$+
\ end=+^+
\ fold
\ keepend
@@ -70,7 +69,7 @@ syn match valgrindLoc "\s\+\(by\|at\|Address\).*$" contained
syn match valgrindAt "at\s\@=" contained
syn match valgrindAddr "\W\zs0x\x\+" contained
-syn match valgrindFunc ": \zs\h[a-zA-Z0-9_:\[\]()<>&*+\-,=%!|^ ]*\ze([^)]*)$" contained
+syn match valgrindFunc ": \zs\h[a-zA-Z0-9_:\[\]()<>&*+\-,=%!|^ @.]*\ze([^)]*)$" contained
syn match valgrindBin "(\(with\)\=in \zs\S\+)\@=" contained
syn match valgrindSrc "(\zs[^)]*:\d\+)\@=" contained