changeset 18186:03b854983b14

Update runtime files. Commit: https://github.com/vim/vim/commit/5be4ceecea5520265066eac972460ebb1cdf05e7 Author: Bram Moolenaar <Bram@vim.org> Date: Fri Sep 27 19:34:08 2019 +0200 Update runtime files.
author Bram Moolenaar <Bram@vim.org>
date Fri, 27 Sep 2019 19:45:06 +0200
parents 75f204e14e28
children 36f791dd9eae
files runtime/autoload/htmlcomplete.vim runtime/doc/change.txt runtime/doc/cmdline.txt runtime/doc/editing.txt runtime/doc/eval.txt runtime/doc/filetype.txt runtime/doc/index.txt runtime/doc/insert.txt runtime/doc/options.txt runtime/doc/quickref.txt runtime/doc/tags runtime/doc/todo.txt runtime/doc/usr_41.txt runtime/doc/vi_diff.txt runtime/filetype.vim runtime/ftplugin/bash.vim runtime/ftplugin/man.vim runtime/ftplugin/matlab.vim runtime/indent/bash.vim runtime/indent/systemverilog.vim runtime/keymap/russian-jcukenwintype.vim runtime/menu.vim runtime/syntax/bash.vim runtime/syntax/bindzone.vim runtime/syntax/gitconfig.vim runtime/syntax/hog.vim runtime/syntax/iss.vim runtime/syntax/jargon.vim runtime/syntax/javascript.vim runtime/syntax/ld.vim runtime/syntax/reva.vim runtime/syntax/spec.vim runtime/tutor/tutor.bg.utf-8 src/po/vim.desktop.in
diffstat 34 files changed, 301 insertions(+), 233 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/autoload/htmlcomplete.vim
+++ b/runtime/autoload/htmlcomplete.vim
@@ -1,7 +1,7 @@
 " Vim completion script
 " Language:	HTML and XHTML
 " Maintainer:	Mikolaj Machowski ( mikmach AT wp DOT pl )
-" Last Change:	2014 Jun 20
+" Last Change:	2019 Sep 27
 
 " Distinguish between HTML versions.
 " To use with other HTML versions add another "elseif" condition to match
@@ -245,7 +245,8 @@ function! htmlcomplete#CompleteTags(find
 	" If context contains white space it is attribute.
 	" It can be also value of attribute.
 	" We have to get first word to offer proper completions
-	if context == ''
+	if context =~ '^\s*$'
+		" empty or whitespace line
 		let tag = ''
 	else
 		let tag = split(context)[0]
--- a/runtime/doc/change.txt
+++ b/runtime/doc/change.txt
@@ -1,4 +1,4 @@
-*change.txt*    For Vim version 8.1.  Last change: 2019 Aug 21
+*change.txt*    For Vim version 8.1.  Last change: 2019 Sep 27
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1172,7 +1172,7 @@ Rationale:	In Vi the "y" command followe
 With a linewise yank command the cursor is put in the first line, but the
 column is unmodified, thus it may not be on the first yanked character.
 
-There are ten types of registers:			*registers* *E354*
+There are ten types of registers:		*registers* *{register}* *E354*
 1. The unnamed register ""
 2. 10 numbered registers "0 to "9
 3. The small delete register "-
@@ -1312,7 +1312,7 @@ When writing to this register, nothing h
 text without affecting the normal registers.  When reading from this register,
 nothing is returned.
 
-10. Last search pattern register	"/			*quote_/* *quote/*
+10. Last search pattern register	"/		*quote_/* *quote/*
 Contains the most recent search-pattern.  This is used for "n" and 'hlsearch'.
 It is writable with `:let`, you can change it to have 'hlsearch' highlight
 other matches without actually searching.  You can't yank or delete into this
--- a/runtime/doc/cmdline.txt
+++ b/runtime/doc/cmdline.txt
@@ -1,4 +1,4 @@
-*cmdline.txt*   For Vim version 8.1.  Last change: 2019 Sep 04
+*cmdline.txt*   For Vim version 8.1.  Last change: 2019 Sep 27
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -129,7 +129,7 @@ CTRL-K {char1} {char2}					*c_CTRL-K*
 		enter digraph (see |digraphs|).  When {char1} is a special
 		key, the code for that key is inserted in <> form.
 
-CTRL-R {0-9a-z"%#:-=.}					*c_CTRL-R* *c_<C-R>*
+CTRL-R {register}					*c_CTRL-R* *c_<C-R>*
 		Insert the contents of a numbered or named register.  Between
 		typing CTRL-R and the second character '"' will be displayed
 		to indicate that you are expected to enter the name of a
@@ -191,8 +191,8 @@ CTRL-R CTRL-L				*c_CTRL-R_CTRL-L* *c_<C
 
 					*c_CTRL-R_CTRL-R* *c_<C-R>_<C-R>*
 					*c_CTRL-R_CTRL-O* *c_<C-R>_<C-O>*
-CTRL-R CTRL-R {0-9a-z"%#:-=. CTRL-F CTRL-P CTRL-W CTRL-A CTRL-L}
-CTRL-R CTRL-O {0-9a-z"%#:-=. CTRL-F CTRL-P CTRL-W CTRL-A CTRL-L}
+CTRL-R CTRL-R {register CTRL-F CTRL-P CTRL-W CTRL-A CTRL-L}
+CTRL-R CTRL-O {register CTRL-F CTRL-P CTRL-W CTRL-A CTRL-L}
 		Insert register or object under the cursor.  Works like
 		|c_CTRL-R| but inserts the text literally.  For example, if
 		register a contains "xy^Hz" (where ^H is a backspace),
--- a/runtime/doc/editing.txt
+++ b/runtime/doc/editing.txt
@@ -1,4 +1,4 @@
-*editing.txt*   For Vim version 8.1.  Last change: 2019 Jun 10
+*editing.txt*   For Vim version 8.1.  Last change: 2019 Sep 27
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1554,7 +1554,7 @@ focus.
 If you want to automatically reload a file when it has been changed outside of
 Vim, set the 'autoread' option.  This doesn't work at the moment you write the
 file though, only when the file wasn't changed inside of Vim.
-
+							*ignore-timestamp*
 If you do not want to be asked or automatically reload the file, you can use
 this: >
 	set buftype=nofile
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 8.1.  Last change: 2019 Sep 26
+*eval.txt*	For Vim version 8.1.  Last change: 2019 Sep 27
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -9634,9 +9634,14 @@ systemlist({expr} [, {input}])				*syste
 		Same as |system()|, but returns a |List| with lines (parts of
 		output separated by NL) with NULs transformed into NLs. Output
 		is the same as |readfile()| will output with {binary} argument
-		set to "b".  Note that on MS-Windows you may get trailing CR
-		characters.
-
+		set to "b", except that there is no extra empty item when the
+		result ends in a NL.
+		Note that on MS-Windows you may get trailing CR characters.
+
+		To see the difference between "echo hello" and "echo -n hello"
+		use |system()| and |split()|: >
+			echo system('echo hello')->split('\n', 1)
+<
 		Returns an empty string on error.
 
 		Can also be used as a |method|: >
--- a/runtime/doc/filetype.txt
+++ b/runtime/doc/filetype.txt
@@ -595,6 +595,10 @@ If you do not like the default folding, 
 folding style instead.  For example: >
         autocmd FileType man setlocal foldmethod=indent foldenable
 
+If you would like :Man {number} {name} to behave like man {number} {name} by
+not running man {name} if no page is found, then use this: >
+	let g:ft_man_no_sect_fallback = 1
+
 You may also want to set 'keywordprg' to make the |K| command open a manual
 page in a Vim window: >
 	set keywordprg=:Man
--- a/runtime/doc/index.txt
+++ b/runtime/doc/index.txt
@@ -1,4 +1,4 @@
-*index.txt*     For Vim version 8.1.  Last change: 2019 Sep 02
+*index.txt*     For Vim version 8.1.  Last change: 2019 Sep 27
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -73,14 +73,14 @@ tag		char		action in Insert mode	~
 				the cursor
 |i_CTRL-Q|	CTRL-Q		same as CTRL-V, unless used for terminal
 				control flow
-|i_CTRL-R|	CTRL-R {0-9a-z"%#*:=}
+|i_CTRL-R|	CTRL-R {register}
 				insert the contents of a register
-|i_CTRL-R_CTRL-R| CTRL-R CTRL-R {0-9a-z"%#*:=}
+|i_CTRL-R_CTRL-R| CTRL-R CTRL-R {register}
 				insert the contents of a register literally
-|i_CTRL-R_CTRL-O| CTRL-R CTRL-O {0-9a-z"%#*:=}
+|i_CTRL-R_CTRL-O| CTRL-R CTRL-O {register}
 				insert the contents of a register literally
 				and don't auto-indent
-|i_CTRL-R_CTRL-P| CTRL-R CTRL-P {0-9a-z"%#*:=}
+|i_CTRL-R_CTRL-P| CTRL-R CTRL-P {register}
 				insert the contents of a register literally
 				and fix indent.
 		CTRL-S		(used for terminal control flow)
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -1,4 +1,4 @@
-*insert.txt*    For Vim version 8.1.  Last change: 2019 Sep 08
+*insert.txt*    For Vim version 8.1.  Last change: 2019 Sep 27
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -106,7 +106,7 @@ CTRL-K {char1} [char2]
 CTRL-N		Find next keyword (see |i_CTRL-N|).
 CTRL-P		Find previous keyword (see |i_CTRL-P|).
 
-CTRL-R {0-9a-z"%#*+:.-=}					*i_CTRL-R*
+CTRL-R {register}				*i_CTRL-R*
 		Insert the contents of a register.  Between typing CTRL-R and
 		the second character, '"' will be displayed to indicate that
 		you are expected to enter the name of a register.
@@ -143,7 +143,7 @@ CTRL-R {0-9a-z"%#*+:.-=}					*i_CTRL-R*
 				sequence will be broken.
 		See |registers| about registers.
 
-CTRL-R CTRL-R {0-9a-z"%#*+/:.-=}			*i_CTRL-R_CTRL-R*
+CTRL-R CTRL-R {register}			*i_CTRL-R_CTRL-R*
 		Insert the contents of a register.  Works like using a single
 		CTRL-R, but the text is inserted literally, not as if typed.
 		This differs when the register contains characters like <BS>.
@@ -155,7 +155,7 @@ CTRL-R CTRL-R {0-9a-z"%#*+/:.-=}			*i_CT
 		The '.' register (last inserted text) is still inserted as
 		typed.
 
-CTRL-R CTRL-O {0-9a-z"%#*+/:.-=}			*i_CTRL-R_CTRL-O*
+CTRL-R CTRL-O {register}			*i_CTRL-R_CTRL-O*
 		Insert the contents of a register literally and don't
 		auto-indent.  Does the same as pasting with the mouse
 		|<MiddleMouse>|. When the register is linewise this will
@@ -164,7 +164,7 @@ CTRL-R CTRL-O {0-9a-z"%#*+/:.-=}			*i_CT
 		The '.' register (last inserted text) is still inserted as
 		typed.
 
-CTRL-R CTRL-P {0-9a-z"%#*+/:.-=}			*i_CTRL-R_CTRL-P*
+CTRL-R CTRL-P {register}			*i_CTRL-R_CTRL-P*
 		Insert the contents of a register literally and fix the
 		indent, like |[<MiddleMouse>|.
 		Does not replace characters!
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 8.1.  Last change: 2019 Sep 18
+*options.txt*	For Vim version 8.1.  Last change: 2019 Sep 26
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -8177,8 +8177,8 @@ A jump table for the options with a shor
 						Win32 and OS/2)
 			global or local to buffer |global-local|
 	Maximum number of changes that can be undone.  Since undo information
-	is kept in memory, higher numbers will cause more memory to be used
-	(nevertheless, a single change can use an unlimited amount of memory).
+	is kept in memory, higher numbers will cause more memory to be used.
+	Nevertheless, a single change can already use a large amount of memory.
 	Set to 0 for Vi compatibility: One level of undo and "u" undoes
 	itself: >
 		set ul=0
--- a/runtime/doc/quickref.txt
+++ b/runtime/doc/quickref.txt
@@ -1,4 +1,4 @@
-*quickref.txt*  For Vim version 8.1.  Last change: 2019 Aug 20
+*quickref.txt*  For Vim version 8.1.  Last change: 2019 Sep 27
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -291,7 +291,7 @@ moving around:
 |i_CTRL-A|	CTRL-A		  insert previously inserted text
 |i_CTRL-@|	CTRL-@		  insert previously inserted text and stop
 				     Insert mode
-|i_CTRL-R|	CTRL-R {0-9a-z%#:.-="}  insert the contents of a register
+|i_CTRL-R|	CTRL-R {register} insert the contents of a register
 
 |i_CTRL-N|	CTRL-N		  insert next match of identifier before the
 				     cursor
@@ -1077,8 +1077,7 @@ Short explanation of each option:		*opti
 				      three digits)
 |c_CTRL-K|	CTRL-K {char1} {char2}
 				   enter digraph (See |Q_di|)
-|c_CTRL-R|	CTRL-R {0-9a-z"%#:-=}
-				   insert the contents of a register
+|c_CTRL-R|	CTRL-R {register}  insert the contents of a register
 
 |c_<Left>|	<Left>/<Right>	   cursor left/right
 |c_<S-Left>|	<S-Left>/<S-Right> cursor one word left/right
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -4041,6 +4041,7 @@ E274	eval.txt	/*E274*
 E275	textprop.txt	/*E275*
 E276	eval.txt	/*E276*
 E277	remote.txt	/*E277*
+E278	popup.txt	/*E278*
 E28	syntax.txt	/*E28*
 E280	if_tcl.txt	/*E280*
 E282	starting.txt	/*E282*
@@ -7293,6 +7294,7 @@ if_ruby.txt	if_ruby.txt	/*if_ruby.txt*
 if_sniff.txt	if_sniff.txt	/*if_sniff.txt*
 if_tcl.txt	if_tcl.txt	/*if_tcl.txt*
 ignore-errors	eval.txt	/*ignore-errors*
+ignore-timestamp	editing.txt	/*ignore-timestamp*
 improved-autocmds-5.4	version5.txt	/*improved-autocmds-5.4*
 improved-quickfix	version5.txt	/*improved-quickfix*
 improved-sessions	version5.txt	/*improved-sessions*
@@ -9342,6 +9344,7 @@ term_list()	terminal.txt	/*term_list()*
 term_scrape()	terminal.txt	/*term_scrape()*
 term_sendkeys()	terminal.txt	/*term_sendkeys()*
 term_setansicolors()	terminal.txt	/*term_setansicolors()*
+term_setapi()	terminal.txt	/*term_setapi()*
 term_setkill()	terminal.txt	/*term_setkill()*
 term_setrestore()	terminal.txt	/*term_setrestore()*
 term_setsize()	terminal.txt	/*term_setsize()*
@@ -10163,6 +10166,7 @@ zz	scroll.txt	/*zz*
 {move-around}	visual.txt	/*{move-around}*
 {offset}	pattern.txt	/*{offset}*
 {pat}	autocmd.txt	/*{pat}*
+{register}	change.txt	/*{register}*
 {rhs}	map.txt	/*{rhs}*
 {subject}	helphelp.txt	/*{subject}*
 {}	intro.txt	/*{}*
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 8.1.  Last change: 2019 Sep 19
+*todo.txt*      For Vim version 8.1.  Last change: 2019 Sep 27
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -38,14 +38,6 @@ browser use: https://github.com/vim/vim/
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-Add test for state().
-Add test for using SafeState and SafeStateAgain autocommand.
-Then plugin can:
-- When callback is invoked and state() returns non-empty, add to work queue
-- When SafeState autocommand event triggers, process work queue
-
-Fix for "x" should be done by fixing "dl" ?  8.1.2052
-
 'completeopt' "popup" variant that uses a callback after the popup has been
 created, so the contents can be changed.  Make it hidden, callback
 or later has to make it visible. #4924  Setting the buffer contents later
@@ -68,6 +60,7 @@ Popup windows:
   incomplete cell.
 
 Text properties: See comment at top of src/textprop.c.
+- Implement prop_find() #4970
 
 'incsearch' with :s: (#3321)
 - Get E20 when using command history to get "'<,'>s/a/b" and no Visual area
@@ -112,7 +105,6 @@ Terminal emulator window:
   be redrawn.
 - GUI: When using ":set go+=!" a system() call causes the hit-enter prompt.
   (#3327)
-- Terminal API: Add more functionality? (Ozaki Kiichi 2018 May 13, #2907)
 - GUI: hang until key typed. (#3530)
 - Allow for specifying the directory, with ++cwd={dir}.
 - With a vertical split only one window is updated. (Linwei, 2018 Jun 2,
@@ -138,10 +130,15 @@ Terminal emulator window:
   conversions.
 
 Error numbers available:
-E278, E279, E290, E292, E362, E366, E450, E451, E452,
+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
 
+Running test_gui and test_gui_init with Motif sometimes kills the window
+manager.  Problem with Motif? Now test_gui crashes in submenu_change().
+Athena is OK.
+Motif: Build on Ubuntu can't enter any text in dialog text fields.
+
 Improve running tests on MS-Windows: #4922
 
 Patch to properly break CJK lines: #3875
@@ -157,6 +154,11 @@ Sound: support on Mac?  Or does libcanbe
 
 Patch for #4733: #4734.  Test needs improvements.
 
+Patch to sort buffers on b_last_used time.  (Andy Massimino, #4722)
+
+Patch to highlight the line number differently below the cursor line. (Shaun
+Brady, #624)
+
 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
@@ -180,19 +182,38 @@ unlisted. (#4478)
 
 Patch to fix using zero sc_sid. (#4877)
 
+Universal solution to detect if t_RS is working, using cursor position.
+Koichi Iwamoto, #2126
+
 Make 'showbreak' global-local.
 
 The :syntax cchar value can only be a single character.  It would be useful to
 support combining characters. (Charles Campbell)  Also #4687
 
+Patch to make gM move to middle of line. (Yasuhiro Matsumoto, Sep 8, #2070)
+
+Patch to add v:argv, arguments that Vim was started with. (Dmitri
+Vereshchagin, #1322)
+
+New value "uselast" for 'switchbuf'. (Lemonboy, 2017 Apr 23, #1652)
+
+Include Haiku port. (Adrien Destugues, Siarzhuk Zharski, 2013 Oct 24)
+It can replace the BeOS code, which is likely not used anymore.
+Now on github: #1856.  Updated Oct 2017
+Got permission to include this under the Vim license.
+
 Problem showing a line if the number column width changes when using "o".
 (Mateusz Morusiewicz, #4245)
 
 When using :packadd for a replacement language plugin, it is loaded after the
 default one.  #4698
 
+Patch to remove FORTIFY_SOURCE also from CPPFLAGS. (Benedikt Morbach, #2786)
+
 Patch from Namsh to allow building with both XIM and hangulin. (2019 Aug 29)
 
+Patch to fix redirect of shell on MS-Windows. (Yasuhiro Matsumoto, #2054)
+
 When using :packadd files under "later" are not used, which is inconsistent
 with packages under "start". (xtal8, #1994)
 
@@ -218,16 +239,30 @@ Does not build with MinGW out of the box
 Crash when mixing matchadd and substitute()? (Max Christian Pohle, 2018 May
 13, #2910)  Can't reproduce?
 
+Patch to configure BUILD_DATE for reproducible builds. (James McCoy, #513)
+
+Patch to add MODIFIED_BY to MSVC build file. (Chen Lei, 2016 Nov 24, #1275)
+
 Check_external_diff() is used too often. (Daniel Hahler, #4800)
 
 Incorrect formatting with autoindent. (Sebastian Gniazdowski, #4909)
 
-Patch to sort buffers on b_last_used time.  (Andy Massimino, #4722)
-Needs a test.
+Patch to add the :bvimgrep command.  (Christian Brabandt, 2014 Nov 12)
+Updated 2016 Jun 10, #858  Update 2017 Mar 28: use <buffer>
 
 Errors found with random data:
     heap-buffer-overflow in alist_add (#2472)
 
+Patch to support CamelCase for spell checking: See a lower-to-upper case
+change as a word boundary. (btucker-MPCData, 2016 Nov 6, #1235)
+patch for 'spellcamelcase' option: spellcheck each CamelCased word.
+(Ben Tucker, 2016 Dec 2)
+
+Patch to add {skip} argument to search(). (Christian Brabandt, 2016 Feb 24)
+Update 2016 Jun 10, #861
+
+Patch to add "cmdline" completion to getcompletion(). (Shougo, Oct 1, #1140)
+
 Improve fallback for menu translations, to avoid having to create lots of
 files that source the actual file.  E.g. menu_da_de -> menu_da
 Include part of #3242?
@@ -235,7 +270,21 @@ Include part of #3242?
 When a terminal exit_cb closes the window, a following typed key is lost, if
 it's in a mapping. (2018 Oct 6, #2302, #3522)
 
-Patch for Inno Setup: #2739
+Patch to have text objects defined by arbitrary single characters. (Daniel
+Thau, 2013 Nov 20, 2014 Jan 29, 2014 Jan 31)
+Added tests (James McCoy, 2016 Aug 3, #958).  Still needs more work.
+
+Patch for multi-byte characters in langmap and applying a mapping on them.
+(Christian Brabandt, 2015 Jun 12, update July 25)
+Is this the right solution?  Need to cleanup langmap behavior:
+- in vgetorpeek() apply langmap to the typeahead buffer and put the result in
+  a copy-buffer, only when langmap is appropriate for the current mode. Then
+  check for mapping and let gotchars() work on the copy-buffer.
+- Remove LANGMAP_ADJUST() in other parts of the code.  Make sure the mode is
+  covered by the above change.
+So that replaying the register doesn't use keymap/langmap and still does the
+same thing.  Remarks on PR #543 (Roland Puntaier).
+Also see #737: langmap not applied to replaying recording.
 
 Would be nice to set tab-local values for 'diffexpr' and 'diffopt'.  Use
 t:diffexpr_option t:diffopt_option? (#4782)
@@ -256,6 +305,11 @@ Give a few examples. (#4288)
 Opening a file with --remote-tab-silent that matches 'wildignore' does not
 work, results in (E479: No match". (#4610)
 
+Patch for this (Tristan Konolige, #1011, only adds the option, no implem.):
+7   Add an option to add one pixel column to the character width?  Lucida
+    Console italic is wider than the normal font ("d" overlaps with next char).
+    Opposite of 'linespace': 'columnspace'.
+
 Bug: script written with "-W scriptout" contains Key codes, while the script
 read with "-s scriptin" expects escape codes.  Probably "scriptout" needs to
 be adjusted. (Daniel Steinberg, 2019 Feb 24, #4041)
@@ -371,11 +425,6 @@ Not existing directory in CDPATH leads t
 Use dict_iterate_start() / dict_iterate_next() instead of relying on the
 internals of the dict structure.
 
-Running test_gui and test_gui_init with Motif sometimes kills the window
-manager.  Problem with Motif? Now test_gui crashes in submenu_change().
-Athena is OK.
-Motif: Build on Ubuntu can't enter any text in dialog text fields.
-
 nvo-mode mapping works on Windows, not on Linux. (#3678)
 
 Missing tests for:
@@ -534,7 +583,7 @@ When the last line wraps, selecting with
 includes the first screen line. (2018 Aug 23, #3368)
 
 Refactored HTML indent file. (Michael Lee, #1821)
-Ask to write a test first.
+Asked to write a test.
 
 MS-Windows: .lnk file not resolved properly when 'encoding' is set.
 (lkintact, 2018 Sep 22, #3473)
@@ -621,9 +670,6 @@ pass an expression to evaluate.  Allow p
 Add an option similar to 'lazyredraw' to skip redrawing while executing a
 script or function.
 
-Universal solution to detect if t_RS is working, using cursor position.
-Koichi Iwamoto, #2126
-
 When using a menu item while the "more" prompt is displayed doesn't work well.
 E.g. after using help->version.  Have a key that ends the "more" prompt and
 does nothing otherwise?
@@ -820,15 +866,8 @@ The ":move" command does not honor close
 Patch to fix increment/decrement not working properly when 'virtualedit' is
 set. (Hirohito Higashi, 2016 Aug 1, #923)
 
-Patch to make gM move to middle of line. (Yasuhiro Matsumoto, Sep 8, #2070)
-
 Cannot copy modeless selection when cursor is inside it. (lkintact, #2300)
 
-Include Haiku port. (Adrien Destugues, Siarzhuk Zharski, 2013 Oct 24)
-It can replace the BeOS code, which is likely not used anymore.
-Now on github: #1856.  Updated Oct 2017
-Got permission to include this under the Vim license.
-
 Test_writefile_fails_conversion failure on Solaris because if different iconv
 behavior.  Skip when "uname" returns "SunOS"? (Pavel Heimlich, #1872)
 
@@ -925,8 +964,6 @@ Memory leak in test97?  The string is ac
 assert_fails() can only check for the first error.  Make it possible to have
 it catch multiple errors and check all of them.
 
-New value "uselast" for 'switchbuf'. (Lemonboy, 2017 Apr 23, #1652)
-
 Add a toolbar in the terminal.  Can be global, above all windows, or specific
 for one window.
 
@@ -1069,10 +1106,6 @@ Patch to make it possible to extend a li
 
 Patch to add Zstandard compressed file support. (Nick Terrell, 2016 Oct 24)
 
-Patch to add MODIFIED_BY to MSVC build file. (Chen Lei, 2016 Nov 24, #1275)
-
-Patch to change argument of :marks. (LemonBoy, 2017 Jan 29, #1426)
-
 On Windows buffer completion sees backslash as escape char instead of path
 separator. (Toffanim, 2016 Nov 24, #1274)
 
@@ -1172,8 +1205,6 @@ Regexp problems:
   Another one: echom matchstr(" sdfsfsf\n sfdsdfsdf",'[^\n]*')
   (2017 May 15, #1252)
 
-Patch to add "cmdline" completion to getcompletion(). (Shougo, Oct 1, #1140)
-
 Feature request: Complete members of a dictionary. (Luc Hermitte, 2017 Jan 4,
 #1350)
 
@@ -1189,11 +1220,6 @@ Include the test.
 When 'keywordprg' starts with ":" the argument is still escaped as a shell
 command argument. (Romain Lafourcade, 2016 Oct 16, #1175)
 
-Patch to support CamelCase for spell checking: See a lower-to-upper case
-change as a word boundary. (btucker-MPCData, 2016 Nov 6, #1235)
-patch for 'spellcamelcase' option: spellcheck each CamelCased word.
-(Ben Tucker, 2016 Dec 2)
-
 Idea from Sven: record sequence of keys.  Useful to show others what they are
 doing (look over the shoulder), and also to see what happened.
 Probably list of keystrokes, with some annotations for mode changes.
@@ -1276,9 +1302,6 @@ Reject the value? #710.
 When doing "vi buf.md" a BufNew autocommand for *.md is not triggered.
 Because of using the initial buffer? (Dun Peal, 2016 May 12)
 
-Patch to add the :bvimgrep command.  (Christian Brabandt, 2014 Nov 12)
-Updated 2016 Jun 10, #858  Update 2017 Mar 28: use <buffer>
-
 Add redrawtabline command. (Naruhiko Nishino, 2016 Jun 11)
 
 Neovim patch for utfc_ptr2char_len() https://github.com/neovim/neovim/pull/4574
@@ -1340,10 +1363,6 @@ Also need to run update-desktop-database
 Test object i{ and it do not behave the same. #1379
 Do not include the linebreak at the start?
 
-Patch to have text objects defined by arbitrary single characters. (Daniel
-Thau, 2013 Nov 20, 2014 Jan 29, 2014 Jan 31)
-Added tests (James McCoy, 2016 Aug 3).  Still needs more work.
-
 Feature request: add the "al" text object, to manipulate a screen line.
 Especially useful when using 'linebreak'
 
@@ -1359,9 +1378,6 @@ 2016 Apr 25, #780)
 Patch to avoid redrawing tabline when the popup menu is visible.
 (Christian Brabandt, 2016 Jan 28)
 
-Patch to add {skip} argument to search(). (Christian Brabandt, 2016 Feb 24)
-Update 2016 Jun 10, #861
-
 Patch to show search statistics. (Christian Brabandt, 2016 Jul 22)
 
 When the CursorMovedI event triggers, and CTRL-X was typed, a script cannot
@@ -1480,18 +1496,6 @@ Patch to fix checking global option valu
 When 'showbreak' is set repeating a Visual operation counts the size of the
 'showbreak' text as part of the operation. (Axel Bender, 2015 Jul 20)
 
-Patch for multi-byte characters in langmap and applying a mapping on them.
-(Christian Brabandt, 2015 Jun 12, update July 25)
-Is this the right solution?  Need to cleanup langmap behavior:
-- in vgetorpeek() apply langmap to the typeahead buffer and put the result in
-  a copy-buffer, only when langmap is appropriate for the current mode. Then
-  check for mapping and let gotchars() work on the copy-buffer.
-- Remove LANGMAP_ADJUST() in other parts of the code.  Make sure the mode is
-  covered by the above change.
-So that replaying the register doesn't use keymap/langmap and still does the
-same thing.  Remarks on issue 543 (Roland Puntaier).
-Also see #737: langmap not applied to replaying recording.
-
 Patch to add grepfile(). (Scott Prager, 2015 May 26)
 Work in progress.
 
@@ -3306,9 +3310,6 @@ 8   When 'grepprg' doesn't execute, the 
 8   When the 'shell' cannot be executed, should give an appropriate error msg.
     Esp. for a filter command, currently it only complains the file could not
     be read.
-7   Add an option to add one pixel column to the character width?  Lucida
-    Console italic is wider than the normal font ("d" overlaps with next char).
-    Opposite of 'linespace': 'columnspace'.
 7   At the hit-enter prompt scrolling now no longer works.  Need to use the
     keyboard to get around this.  Pretend <CR> was hit when the user tries to
     scroll?
--- a/runtime/doc/usr_41.txt
+++ b/runtime/doc/usr_41.txt
@@ -1,4 +1,4 @@
-*usr_41.txt*	For Vim version 8.1.  Last change: 2019 Jul 06
+*usr_41.txt*	For Vim version 8.1.  Last change: 2019 Sep 23
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -856,6 +856,7 @@ Insert mode completion:				*completion-f
 	complete_check()	check if completion should be aborted
 	complete_info()		get current completion information
 	pumvisible()		check if the popup menu is displayed
+	pum_getpos()		position and size of popup menu if visible
 
 Folding:					*folding-functions*
 	foldclosed()		check for a closed fold at a specific line
--- a/runtime/doc/vi_diff.txt
+++ b/runtime/doc/vi_diff.txt
@@ -1,4 +1,4 @@
-*vi_diff.txt*   For Vim version 8.1.  Last change: 2019 May 13
+*vi_diff.txt*   For Vim version 8.1.  Last change: 2019 Sep 27
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -703,7 +703,7 @@ first character).
 
 CTRL-A works like CTRL-@ but does not leave insert mode.
 
-CTRL-R {0-9a-z..} can be used to insert the contents of a register.
+CTRL-R {register} can be used to insert the contents of a register.
 
 When the 'smartindent' option is set, C programs will be better auto-indented.
 With 'cindent' even more.
--- a/runtime/filetype.vim
+++ b/runtime/filetype.vim
@@ -1,7 +1,7 @@
 " Vim support file to detect file types
 "
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2019 Aug 26
+" Last Change:	2019 Sep 27
 
 " Listen very carefully, I will say this only once
 if exists("did_load_filetypes")
--- a/runtime/ftplugin/bash.vim
+++ b/runtime/ftplugin/bash.vim
@@ -11,21 +11,10 @@ if exists("b:did_ftplugin")
   finish
 endif
 
+unlet! b:is_sh
+unlet! b:is_kornshell
 let b:is_bash = 1
-if exists("b:is_sh")
-  unlet b:is_sh
-endif
-if exists("b:is_kornshell")
-  unlet b:is_kornshell
-endif
 
-" Setting 'filetype' here directly won't work, since we are being invoked
-" through an autocommand.  Do it later, on the BufWinEnter event.
-augroup bash_filetype
-  au BufWinEnter * call SetBashFt()
-augroup END
+runtime! ftplugin/sh.vim ftplugin/sh_*.vim ftplugin/sh/*.vim
 
-func SetBashFt()
-  au! bash_filetype
-  set ft=sh
-endfunc
+" vim: ts=8
--- a/runtime/ftplugin/man.vim
+++ b/runtime/ftplugin/man.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:	man
 " Maintainer:	SungHyun Nam <goweol@gmail.com>
-" Last Change: 	2019 Jul 22
+" Last Change: 	2019 Sep 26
 "		(fix by Jason Franklin)
 
 " To make the ":Man" command available before editing a manual page, source
@@ -132,11 +132,17 @@ func <SID>GetPage(cmdmods, ...)
     let page = expand('<cword>')
   endif
 
-  if sect != "" && s:FindPage(sect, page) == 0
-    let sect = ""
+  if !exists('g:ft_man_no_sect_fallback') || (g:ft_man_no_sect_fallback == 0)
+    if sect != "" && s:FindPage(sect, page) == 0
+      let sect = ""
+    endif
   endif
   if s:FindPage(sect, page) == 0
-    echo "\nCannot find a '".page."'."
+    let msg = "\nNo manual entry for ".page
+    if sect != ""
+      let msg .= " in section ".sect
+    endif
+    echo msg
     return
   endif
   exec "let s:man_tag_buf_".s:man_tag_depth." = ".bufnr("%")
--- a/runtime/ftplugin/matlab.vim
+++ b/runtime/ftplugin/matlab.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:	matlab
 " Maintainer:	Jake Wasserman <jwasserman at gmail dot com>
-" Last Changed: 2014 Dec 30
+" Last Change: 	2019 Sep 27
 
 " Contributors:
 " Charles Campbell
@@ -24,8 +24,9 @@ endif
 
 setlocal suffixesadd=.m
 setlocal suffixes+=.asv
+setlocal commentstring=%\ %s
 
-let b:undo_ftplugin = "setlocal suffixesadd< suffixes< "
+let b:undo_ftplugin = "setlocal suffixesadd< suffixes< commentstring< "
 	\ . "| unlet! b:match_words"
 
 let &cpo = s:save_cpo
new file mode 100644
--- /dev/null
+++ b/runtime/indent/bash.vim
@@ -0,0 +1,18 @@
+" Vim indent file
+" Language:	bash
+" Maintainer:	Bram
+" Last Change:	2019 Sep 27
+
+" Only load this indent file when no other was loaded.
+if exists("b:did_indent")
+   finish
+endif
+
+" The actual indenting is in sh.vim and controlled by buffer-local variables.
+unlet! b:is_sh
+unlet! b:is_kornshell
+let b:is_bash = 1
+
+runtime! indent/sh.vim
+
+" vim: ts=8
--- a/runtime/indent/systemverilog.vim
+++ b/runtime/indent/systemverilog.vim
@@ -1,7 +1,7 @@
 " Vim indent file
 " Language:    SystemVerilog
 " Maintainer:  kocha <kocha.lsifrontend@gmail.com>
-" Last Change: 12-Aug-2013. 
+" Last Change: 05-Feb-2017 by Bilal Wasim
 
 " Only load this indent file when no other was loaded.
 if exists("b:did_indent")
@@ -74,7 +74,7 @@ function SystemVerilogIndent()
 
   " Indent after if/else/for/case/always/initial/specify/fork blocks
   elseif last_line =~ '`\@<!\<\(if\|else\)\>' ||
-    \ last_line =~ '^\s*\<\(for\|case\%[[zx]]\|do\|foreach\|randcase\)\>' ||
+    \ last_line =~ '^\s*\<\(for\|case\%[[zx]]\|do\|foreach\|forever\|randcase\)\>' ||
     \ last_line =~ '^\s*\<\(always\|always_comb\|always_ff\|always_latch\)\>' ||
     \ last_line =~ '^\s*\<\(initial\|specify\|fork\|final\)\>'
     if last_line !~ '\(;\|\<end\>\)\s*' . sv_comment . '*$' ||
@@ -129,9 +129,9 @@ function SystemVerilogIndent()
   " De-indent for the end of one-line block
   elseif ( last_line !~ '\<begin\>' ||
     \ last_line =~ '\(//\|/\*\).*\<begin\>' ) &&
-    \ last_line2 =~ '\<\(`\@<!if\|`\@<!else\|for\|always\|initial\|do\|foreach\|final\)\>.*' .
+    \ last_line2 =~ '\<\(`\@<!if\|`\@<!else\|for\|always\|initial\|do\|foreach\|forever\|final\)\>.*' .
       \ sv_comment . '*$' &&
-    \ last_line2 !~ '\(//\|/\*\).*\<\(`\@<!if\|`\@<!else\|for\|always\|initial\|do\|foreach\|final\)\>' &&
+    \ last_line2 !~ '\(//\|/\*\).*\<\(`\@<!if\|`\@<!else\|for\|always\|initial\|do\|foreach\|forever\|final\)\>' &&
     \ last_line2 !~ sv_openstat . '\s*' . sv_comment . '*$' &&
     \ ( last_line2 !~ '\<begin\>' ||
     \ last_line2 =~ '\(//\|/\*\).*\<begin\>' )
@@ -194,7 +194,7 @@ function SystemVerilogIndent()
       \ last_line !~ '^\s*\<\(property\|checker\|program\)\>' &&
       \ last_line !~ '^\s*\()*\s*;\|)\+\)\s*' . sv_comment . '*$' &&
       \ ( last_line =~
-      \ '\<\(`\@<!if\|`\@<!else\|for\|case\%[[zx]]\|always\|initial\|do\|foreach\|randcase\|final\)\>' ||
+      \ '\<\(`\@<!if\|`\@<!else\|for\|case\%[[zx]]\|always\|initial\|do\|foreach\|forever\|randcase\|final\)\>' ||
       \ last_line =~ ')\s*' . sv_comment . '*$' ||
       \ last_line =~ sv_openstat . '\s*' . sv_comment . '*$' )
       let ind = ind - offset
@@ -227,4 +227,4 @@ endfunction
 let &cpo = s:cpo_save
 unlet s:cpo_save
 
-" vim:sw=2
+" vim:sw=2
\ No newline at end of file
--- a/runtime/keymap/russian-jcukenwintype.vim
+++ b/runtime/keymap/russian-jcukenwintype.vim
@@ -1,5 +1,6 @@
-" Vim Keymap file for russian characters, layout 'jcuken', MS Windows variant
-" (slightly incompatible with XFree86 'ru' keymap - makes use of NUMERO SIGN)
+" Vim Keymap file for russian characters, layout 'jcuken', MS Windows
+" Typewriter variant (slightly incompatible with XFree86 'ru' keymap -
+" makes use of NUMERO SIGN)
 " Useful mainly with utf-8 but may work with other encodings
 
 " Derived from russian-jcuken.vim by Artem Chuprina <ran@ran.pp.ru>
@@ -15,14 +16,13 @@ scriptencoding utf-8
 let b:keymap_name = "ru"
 
 loadkeymap
-~	+	CYRILLIC CAPITAL LETTER IO
-`	|	CYRILLIC SMALL LETTER IO	
 F	А	CYRILLIC CAPITAL LETTER A
 <	Б	CYRILLIC CAPITAL LETTER BE
 D	В	CYRILLIC CAPITAL LETTER VE
 U	Г	CYRILLIC CAPITAL LETTER GHE
 L	Д	CYRILLIC CAPITAL LETTER DE
 T	Е	CYRILLIC CAPITAL LETTER IE
+?	Ё	CYRILLIC CAPITAL LETTER IO
 :	Ж	CYRILLIC CAPITAL LETTER ZHE
 P	З	CYRILLIC CAPITAL LETTER ZE
 B	И	CYRILLIC CAPITAL LETTER I
@@ -55,6 +55,7 @@ d	в	CYRILLIC SMALL LETTER VE
 u	г	CYRILLIC SMALL LETTER GHE
 l	д	CYRILLIC SMALL LETTER DE
 t	е	CYRILLIC SMALL LETTER IE
+/	ё	CYRILLIC SMALL LETTER IO
 ;	ж	CYRILLIC SMALL LETTER ZHE
 p	з	CYRILLIC SMALL LETTER ZE
 b	и	CYRILLIC SMALL LETTER I
@@ -81,13 +82,7 @@ m	ь	CYRILLIC SMALL LETTER SOFT SIGN
 '	э	CYRILLIC SMALL LETTER E
 .	ю	CYRILLIC SMALL LETTER YU
 z	я	CYRILLIC SMALL LETTER YA
-@	"
-#	№	NUMERO SIGN
-$	;
-^	:
-&	?
-/	ё
-?	Ё
+`	|
 1	№
 2	-
 3	/
@@ -100,5 +95,18 @@ 9	?
 0	%
 -	!
 =	;
+~	+
+!	1
+@	2
+#	3
+$	4
+%	5
+^	6
+&	7
+*	8
+(	9
+)	0
+_	=
++	\\
 \\	)
 \|	(
--- a/runtime/menu.vim
+++ b/runtime/menu.vim
@@ -2,7 +2,7 @@
 " You can also use this as a start for your own set of menus.
 "
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2019 Jan 27
+" Last Change:	2019 Sep 26
 
 " Note that ":an" (short for ":anoremenu") is often used to make a menu work
 " in all modes and avoid side effects from mappings defined by the user.
@@ -29,7 +29,8 @@ if exists("v:lang") || &langmenu != ""
     let s:lang = v:lang
   endif
   " A language name must be at least two characters, don't accept "C"
-  if strlen(s:lang) > 1
+  " Also skip "en_US" to avoid picking up "en_gb" translations.
+  if strlen(s:lang) > 1 && s:lang !~? '^en_us'
     " When the language does not include the charset add 'encoding'
     if s:lang =~ '^\a\a$\|^\a\a_\a\a$'
       let s:lang = s:lang . '.' . &enc
new file mode 100644
--- /dev/null
+++ b/runtime/syntax/bash.vim
@@ -0,0 +1,20 @@
+" Vim syntax file
+" Language:	bash
+" Maintainer:	Bram
+" Last Change:	2019 Sep 27
+
+" quit when a syntax file was already loaded
+if exists("b:current_syntax")
+  finish
+endif
+
+" The actual syntax is in sh.vim and controlled by buffer-local variables.
+unlet! b:is_sh
+unlet! b:is_kornshell
+let b:is_bash = 1
+
+runtime! syntax/sh.vim
+
+let b:current_syntax = 'bash'
+
+" vim: ts=8
--- a/runtime/syntax/bindzone.vim
+++ b/runtime/syntax/bindzone.vim
@@ -32,8 +32,8 @@ syn match       zoneDomain      containe
 
 syn match       zoneSpecial     contained /^[@*.]\s/
 syn match       zoneTTL         contained /\s\@<=\d[0-9WwDdHhMmSs]*\(\s\|$\)\@=/ nextgroup=zoneClass,zoneRRType skipwhite
-syn keyword     zoneClass       contained IN CHAOS nextgroup=zoneRRType,zoneTTL skipwhite
-syn keyword     zoneRRType      contained A AAAA CNAME DNAME HINFO MX NS PTR SOA SRV TXT SPF nextgroup=zoneRData skipwhite
+syn keyword     zoneClass       contained IN CHAOS CH HS HESIOD nextgroup=zoneRRType,zoneTTL skipwhite
+syn keyword     zoneRRType      contained A AAAA CERT CNAME DNAME DNSKEY DS HINFO LOC MX NAPTR NS NSEC NSEC3 NSEC3PARAM PTR RP RRSIG SSHFP SOA SPF SRV TLSA TXT nextgroup=zoneRData skipwhite
 syn match       zoneRData       contained /[^;]*/ contains=zoneDomain,zoneIPAddr,zoneIP6Addr,zoneText,zoneNumber,zoneParen,zoneUnknown
 
 syn match       zoneIPAddr      contained /\<[0-9]\{1,3}\(\.[0-9]\{1,3}\)\{,3}\>/
--- a/runtime/syntax/gitconfig.vim
+++ b/runtime/syntax/gitconfig.vim
@@ -2,7 +2,7 @@
 " Language:	git config file
 " Maintainer:	Tim Pope <vimNOSPAM@tpope.org>
 " Filenames:	gitconfig, .gitconfig, *.git/config
-" Last Change:	2010 May 21
+" Last Change:	2019 Sep 27
 
 if exists("b:current_syntax")
   finish
@@ -13,7 +13,7 @@ setlocal iskeyword-=_
 syn case ignore
 syn sync minlines=10
 
-syn match   gitconfigComment	"[#;].*"
+syn match   gitconfigComment	"[#;].*" contains=@Spell
 syn match   gitconfigSection	"\%(^\s*\)\@<=\[[a-z0-9.-]\+\]"
 syn match   gitconfigSection	'\%(^\s*\)\@<=\[[a-z0-9.-]\+ \+\"\%([^\\"]\|\\.\)*"\]'
 syn match   gitconfigVariable	 "\%(^\s*\)\@<=\a\k*\%(\s*\%([=#;]\|$\)\)\@=" nextgroup=gitconfigAssignment skipwhite
--- a/runtime/syntax/hog.vim
+++ b/runtime/syntax/hog.vim
@@ -1,8 +1,9 @@
 " Vim syntax file
 " Language: hog (Snort.conf + .rules)
 " Maintainer: Victor Roemer, <vroemer@badsec.org>.
-" Last Change: 2015 Oct 24  -> Rename syntax items from Snort -> Hog
+" Last Change: 2019 Sep 22
 "              2012 Oct 24  -> Originalish release
+"              2019 Sep 22  -> included PR 3069
 
 " quit when a syntax file was already loaded
 if exists("b:current_syntax")
@@ -91,7 +92,7 @@ syn match       HogOpRange    ":" contai
 
 " Rules
 syn keyword     HogRuleAction     activate alert drop block dynamic log pass reject sdrop sblock skipwhite nextgroup=HogRuleProto,HogRuleBlock
-syn keyword     HogRuleProto      ip tcp udp icmp skipwhite contained nextgroup=HogRuleSrcIP
+syn keyword     HogRuleProto      ip tcp tcp-pkt tcp-stream udp icmp http ftp tls smb dns dcerpc ssh smtp imap msn modbus dnp3 enip nfs ikev2 ntp skipwhite contained nextgroup=HogRuleSrcIP
 syn match       HogRuleSrcIP      "\S\+" transparent skipwhite contained contains=HogIPVarList,HogIPAddr,HogVar,HogOpNot nextgroup=HogRuleSrcPort
 syn match       HogRuleSrcPort    "\S\+" transparent skipwhite contained contains=HogPortVarList,HogVar,HogPort,HogOpRange,HogOpNot nextgroup=HogRuleDir
 syn match       HogRuleDir        "->\|<>" skipwhite contained nextgroup=HogRuleDstIP
@@ -100,13 +101,21 @@ syn match       HogRuleDstPort    "\S\+"
 syn region      HogRuleBlock      start="(" end=")" transparent skipwhite contained contains=HogRuleOption,HogComment fold
 ",HogString,HogComment,HogVar,HogOptNot
 "syn region      HogRuleOption     start="\<gid\|sid\|rev\|depth\|offset\|distance\|within\>" end="\ze;" skipwhite contained contains=HogNumber
-syn keyword     HogRuleOption   skipwhite contained nextgroup=HogRuleSROP msg gid sid rev classtype priority metadata content nocase rawbytes
-syn keyword     HogRuleOption   skipwhite contained nextgroup=HogRuleSROP depth offset distance within http_client_body http_cookie http_raw_cookie http_header
-syn keyword     HogRuleOption   skipwhite contained nextgroup=HogRuleSROP http_raw_header http_method http_uri http_raw_uri http_stat_code http_stat_msg
-syn keyword     HogRuleOption   skipwhite contained nextgroup=HogRuleSROP fast_pattern uricontent urilen isdataat pcre pkt_data file_data base64_decode base64_data
-syn keyword     HogRuleOption   skipwhite contained nextgroup=HogRuleSROP byte_test byte_jump byte_extract ftpbounce asn1 cvs dce_iface dce_opnum dce_stub_data
+syn keyword     HogRuleOption   skipwhite contained nextgroup=HogRuleSROP msg gid sid rev classtype priority metadata target content nocase rawbytes
+syn keyword     HogRuleOption   skipwhite contained nextgroup=HogRuleSROP depth startswith offset distance within http_client_body http_cookie http_raw_cookie http_header
+syn keyword     HogRuleOption   skipwhite contained nextgroup=HogRuleSROP http_raw_header http_request_line http_method http_uri http_raw_uri http_protocol http_response_line http_stat_code http_stat_msg
+syn keyword     HogRuleOption   skipwhite contained nextgroup=HogRuleSROP http_user_agent http_accept http_accept_enc http_accept_lang http_connection http_content_type http_content_len
+syn keyword     HogRuleOption   skipwhite contained nextgroup=HogRuleSROP http_referer http_start http_header_names http_server_body http_host http_raw_host
+syn keyword     HogRuleOption   skipwhite contained nextgroup=HogRuleSROP filename fileext filemagic filestore filemd5 filesha1 filesha256 filesize
+syn keyword     HogRuleOption   skipwhite contained nextgroup=HogRuleSROP dns_query tls_cert_subject tls_cert_issuer tls_cert_serial tls_cert_fingerprint
+syn keyword     HogRuleOption   skipwhite contained nextgroup=HogRuleSROP tls_sni tls_cert_notbefore tls_cert_notafter tls_cert_expired tls_cert_valid
+syn keyword     HogRuleOption   skipwhite contained nextgroup=HogRuleSROP tls.version tls.subject tls.issuerdn tls.fingerprint tls.store ja3_hash ja3_string
+syn keyword     HogRuleOption   skipwhite contained nextgroup=HogRuleSROP modbus dnp3_func dnp3_ind dnp3_obj dnp3_data enip_command cip_service
+syn keyword     HogRuleOption   skipwhite contained nextgroup=HogRuleSROP app-layer-protocol app-layer-event xbits iprep lua luajit
+syn keyword     HogRuleOption   skipwhite contained nextgroup=HogRuleSROP fast_pattern prefilter uricontent urilen isdataat pcre pkt_data file_data base64_decode base64_data
+syn keyword     HogRuleOption   skipwhite contained nextgroup=HogRuleSROP byte_test byte_jump byte_extract ftpdata_command ftpbounce asn1 cvs dce_iface dce_opnum dce_stub_data
 syn keyword     HogRuleOption   skipwhite contained nextgroup=HogRuleSROP sip_method sip_stat_code sip_header sip_body gtp_type gtp_info gtp_version ssl_version
-syn keyword     HogRuleOption   skipwhite contained nextgroup=HogRuleSROP ssl_state fragoffset ttl tos id ipopts fragbits dsize flags flow flowbits seq ack window
+syn keyword     HogRuleOption   skipwhite contained nextgroup=HogRuleSROP ssl_state fragoffset ttl tos id ipopts geoip fragbits dsize flags flow flowbits flowint seq ack window
 syn keyword     HogRuleOption   skipwhite contained nextgroup=HogRuleSROP itype icode icmp_id icmp_seq rpc ip_proto sameip stream_reassemble stream_size
 syn keyword     HogRuleOption   skipwhite contained nextgroup=HogRuleSROP logto session resp react tag activates activated_by count replace detection_filter
 syn keyword     HogRuleOption   skipwhite contained nextgroup=HogRuleSROP threshold reference sd_pattern file_type file_group
--- a/runtime/syntax/iss.vim
+++ b/runtime/syntax/iss.vim
@@ -2,7 +2,7 @@
 " Language:             Inno Setup File (iss file) and My InnoSetup extension
 " Maintainer:           Jason Mills (jmills@cs.mun.ca)
 " Previous Maintainer:  Dominique Stphan (dominique@mggen.com)
-" Last Change:          2004 Dec 14
+" Last Change:          2019 Sep 27
 "
 " Todo:
 "  - The paramter String: is matched as flag string (because of case ignore).
@@ -45,13 +45,13 @@ syn match  issParam	"Components:\|Descri
 syn match  issParam	"StatusMsg:\|RunOnceId:\|Tasks:"
 syn match  issParam	"MessagesFile:\|LicenseFile:\|InfoBeforeFile:\|InfoAfterFile:"
 
-syn match  issComment	"^\s*;.*$"
+syn match  issComment	"^\s*;.*$" contains=@Spell
 
 " folder constant
-syn match  issFolder	"{[^{]*}"
+syn match  issFolder	"{[^{]*}" contains=@NoSpell
 
 " string
-syn region issString	start=+"+ end=+"+ contains=issFolder
+syn region issString	start=+"+ end=+"+ contains=issFolder,@Spell
 
 " [Dirs]
 syn keyword issDirsFlags deleteafterinstall uninsalwaysuninstall uninsneveruninstall
--- a/runtime/syntax/jargon.vim
+++ b/runtime/syntax/jargon.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:	Jargon File
-" Maintainer:	<rms@poczta.onet.pl>
-" Last Change:	2001 May 26
+" Maintainer:	Dan Church (https://github.com/h3xx)
+" Last Change:	2019 Sep 27
 "
 " quit when a syntax file was already loaded
 if exists("b:current_syntax")
@@ -11,7 +11,7 @@ endif
 syn match jargonChaptTitle	/:[^:]*:/
 syn match jargonEmailAddr	/[^<@ ^I]*@[^ ^I>]*/
 syn match jargonUrl	 +\(http\|ftp\)://[^\t )"]*+
-syn match jargonMark	/{[^}]*}/
+syn region jargonMark	 start="{"  end="}"
 
 " Define the default highlighting.
 " Only when an item doesn't have highlighting yet
--- a/runtime/syntax/javascript.vim
+++ b/runtime/syntax/javascript.vim
@@ -7,7 +7,7 @@
 "		(ss) repaired several quoting and grouping glitches
 "		(ss) fixed regex parsing issue with multiple qualifiers [gi]
 "		(ss) additional factoring of keywords, globals, and members
-" Last Change:	2018 Jul 28
+" Last Change:	2019 Sep 27
 " 		2013 Jun 12: adjusted javaScriptRegexpString (Kevin Locke)
 " 		2018 Apr 14: adjusted javaScriptRegexpString (LongJohnCoder)
 
@@ -48,7 +48,7 @@ syn keyword javaScriptRepeat		while for 
 syn keyword javaScriptBranch		break continue
 syn keyword javaScriptOperator		new delete instanceof typeof
 syn keyword javaScriptType		Array Boolean Date Function Number Object String RegExp
-syn keyword javaScriptStatement		return with
+syn keyword javaScriptStatement		return with await
 syn keyword javaScriptBoolean		true false
 syn keyword javaScriptNull		null undefined
 syn keyword javaScriptIdentifier	arguments this var let
@@ -58,7 +58,7 @@ syn keyword javaScriptMessage		alert con
 syn keyword javaScriptGlobal		self window top parent
 syn keyword javaScriptMember		document event location 
 syn keyword javaScriptDeprecated	escape unescape
-syn keyword javaScriptReserved		abstract boolean byte char class const debugger double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile 
+syn keyword javaScriptReserved		abstract boolean byte char class const debugger double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile async
 
 syn cluster  javaScriptEmbededExpr	contains=javaScriptBoolean,javaScriptNull,javaScriptIdentifier,javaScriptStringD,javaScriptStringS,javaScriptStringT
 
--- a/runtime/syntax/ld.vim
+++ b/runtime/syntax/ld.vim
@@ -48,7 +48,7 @@ syn match   ldSpecSections  '\.\%(text\|
 
 syn match   ldNumber        display '\<0[xX]\x\+\>'
 syn match   ldNumber        display '\d\+[KM]\>' contains=ldNumberMult
-syn match   ldNumberMult    display '[KM]\>'
+syn match   ldNumberMult    display '\(\d\+\)\@<=[KM]\>'
 syn match   ldOctal         contained display '\<0\o\+\>'
                             \ contains=ldOctalZero
 syn match   ldOctalZero     contained display '\<0'
--- a/runtime/syntax/reva.vim
+++ b/runtime/syntax/reva.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:	Reva Forth
 " Version:	2011.2
-" Last Change:	2012/02/13
+" Last Change:	2019 Sep 27
 " Maintainer:	Ron Aaron <ron@ronware.org>
 " URL:		http://ronware.org/reva/
 " Filetypes:	*.rf *.frt
@@ -150,7 +150,7 @@ syn match revaInclude '\<\(include\|need
 " Define the default highlighting.
 if !exists("did_reva_syntax_inits")
     let did_reva_syntax_inits=1
-    " The default methods for highlighting. Can be overriden later.
+    " The default methods for highlighting. Can be overridden later.
     hi def link revaEOF cIf0
     hi def link revaHelpStuff  special
     hi def link revaHelpDesc Comment
--- a/runtime/syntax/spec.vim
+++ b/runtime/syntax/spec.vim
@@ -3,7 +3,7 @@
 " Language:    SPEC: Build/install scripts for Linux RPM packages
 " Maintainer:  Igor Gnatenko i.gnatenko.brain@gmail.com
 " Former Maintainer:  Donovan Rebbechi elflord@panix.com (until March 2014)
-" Last Change: 2019 May 07
+" Last Change: 2019 Sep 27
 
 " quit when a syntax file was already loaded
 if exists("b:current_syntax")
@@ -71,7 +71,7 @@ syn keyword specMacroNameOther contained
 syn match   specMacroNameOther contained '\<\(PATCH\|SOURCE\)\d*\>'
 
 "valid _macro names from /usr/lib/rpm/macros
-syn keyword specMacroNameLocal contained _arch _binary_payload _bindir _build _build_alias _build_cpu _builddir _build_os _buildshell _buildsubdir _build_vendor _bzip2bin _datadir _dbpath _dbpath_rebuild _defaultdocdir _docdir _excludedocs _exec_prefix _fixgroup _fixowner _fixperms _ftpport _ftpproxy _gpg_path _gzipbin _host _host_alias _host_cpu _host_os _host_vendor _httpport _httpproxy _includedir _infodir _install_langs _install_script_path _instchangelog _langpatt _lib _libdir _libexecdir _localstatedir _mandir _netsharedpath _oldincludedir _os _pgpbin _pgp_path _prefix _preScriptEnvironment _provides _rpmdir _rpmfilename _sbindir _sharedstatedir _signature _sourcedir _source_payload _specdir _srcrpmdir _sysconfdir _target _target_alias _target_cpu _target_os _target_platform _target_vendor _timecheck _tmppath _topdir _usr _usrsrc _var _vendor
+syn keyword specMacroNameLocal contained _arch _binary_payload _bindir _build _build_alias _build_cpu _builddir _build_os _buildshell _buildsubdir _build_vendor _bzip2bin _datadir _dbpath _dbpath_rebuild _defaultdocdir _docdir _excludedocs _exec_prefix _fixgroup _fixowner _fixperms _ftpport _ftpproxy _gpg_path _gzipbin _host _host_alias _host_cpu _host_os _host_vendor _httpport _httpproxy _includedir _infodir _install_langs _install_script_path _instchangelog _langpatt _lib _libdir _libexecdir _localstatedir _mandir _netsharedpath _oldincludedir _os _pgpbin _pgp_path _prefix _preScriptEnvironment _provides _rpmdir _rpmfilename _sbindir _sharedstatedir _signature _sourcedir _source_payload _specdir _srcrpmdir _sysconfdir _target _target_alias _target_cpu _target_os _target_platform _target_vendor _timecheck _tmppath _topdir _usr _unitdir _usrsrc _var _vendor
 
 
 "------------------------------------------------------------------------------
--- a/runtime/tutor/tutor.bg.utf-8
+++ b/runtime/tutor/tutor.bg.utf-8
@@ -2,12 +2,12 @@
 =           Добре дошли в самоучителя на V I M     -     Версия 1.7           =
 ===============================================================================
 
-     Vim е много мощен редактор с много команди, твърде много, за да бъдат
+     Vim е много мощен редактор с много команди - твърде много, за да бъдат
      обяснени в ръководство като това. Този самоучител е създаден, за да обясни
      достатъчно от тях, така че да можете да използвате Vim за всякакви цели.
 
-     Приблизителното време, необходимо, за да направите уроците е 25-30 минути, в
-     зависимост от това колко време използвате за да се упражнявате.  
+     Времето, необходимо за уроците, е около 25-30 минути, в зависимост от
+     това, колко време ви трябва за упражненията.
      
      ВНИМАНИЕ!
      Командите в уроците ще променят текста им. Запишете файла другаде, за да
@@ -19,8 +19,8 @@
      правилно. Ако просто четете текста, ще забравите командите!
 
 
-     Сега, уверете се, че клавишът CapsLock не е натиснат и натиснете клавиша
-     j  няколко пъти, така че Урок 1.1 да да се побере на екрана.
+     И така, уверете се, че клавишът CapsLock не е натиснат, и натиснете клавиша
+     j няколко пъти, така че Урок 1.1 да се побере на екрана.
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 			Урок 1.1:  ПРИДВИЖВАНЕ НА ПОКАЗАЛЕЦА
@@ -34,8 +34,8 @@
 	     v
   1. Движете показалеца насам-натам по екрана, докато свикнете.
 
-  2. Задръжте клавиша за преместване надолу(j), докато започне да повтаря
-     действието си.  Сега знаете как да се придвижите до следващия урок.
+  2. Задръжте клавиша за преместване надолу (j), докато започне да повтаря
+     действието си. Сега знаете как да се придвижите до следващия урок.
 
   3. Използвайте клавиша за движение надолу, за да стигнете до Урок 1.2.
 
@@ -43,7 +43,7 @@
        отидете в нормален режим. След това въведете желаната команда отново.
 
 Важно! Клавишите със стрелки би трябвало също да работят, но ако използвате
-       hjkl ще можете да се придвижвате по-бързо, като свикнете. Наистина!
+       hjkl ще можете да се придвижвате по-бързо, след като свикнете. Наистина!
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 			    Урок 1.2: Излизане от VIM (quit)
@@ -73,20 +73,20 @@
 		     Урок 1.3: ПРОМЯНА НА ТЕКСТ - ИЗТРИВАНЕ (DELETE)
 
 
-	   ** Натиснете  x  , за да изтриете буквата под показалеца. **
+	   ** Натиснете x , за да изтриете буквата под показалеца. **
 
   1. Придвижете показалеца до реда по-долу, означен със --->.
 
   2. За да поправите грешките, придвижете показалеца върху буквата,
      която ще триете.
 
-  3. Натиснете клавиша	x  , за да изтриете нежеланата буква.
+  3. Натиснете клавиша x, за да изтриете нежеланата буква.
 
-  4. Повтаряйте стъпки от 2 до 4 докато поправите изречението.
+  4. Повтаряйте стъпки от 2 до 4, докато поправите изречението.
 
 ---> Кккравата сскоочии връъъъзз ллуннатааа.
 
-  5. След като горния ред е вече поправен, можем да отидем на Урок 1.4.
+  5. След като горният ред е вече поправен, можем да отидем на Урок 1.4.
 
 Важно! Като правите този урок, не се опитвайте да помните, учете се с правене.
 
@@ -104,26 +104,25 @@
 
   Натиснете  <ESC>, за да се уверите, че не сте в режим за въвеждане. 
 
-  Въведете ":setlocal keymap=bulgarian-phonetic" или 
-  ":setlocal keymap=bulgarian-bds", без кавичките, в зависимост от това коя
-  подредба предпочитате.  Забележете, че щом въведете : , те ще се появят в
-  дъното на екрана. Вече можете да въвеждате български букви без да ползвате
-  системната клавиатурна подредба. 
+  Въведете ":set keymap=bulgarian-phonetic" или ":set keymap=bulgarian-bds"
+  (без кавичките!), в зависимост от това коя подредба предпочитате. Забележете,
+  че щом въведете : , те ще се появят в дъното на екрана. Вече можете да
+  въвеждате български букви, без да ползвате системната клавиатурна подредба.
 
-  За да превключвате между двете подредби, докато сте в режим за въвеждане
+  За да превключвате между двете подредби, докато сте в режим за въвеждане,
   натискайте CTRL-^ (дръжте натиснати CTRL и SHIFT и натиснете ^).
 
    
-   			** Натиснете  i  за да въведете текст. **
+            ** Натиснете i, за да въведете текст. **
 
   1. Придвижете показалеца до първия ред долу, означен със --->.
 
   2. За да направите първия ред същия като втория, придвижете показалеца върху
-     първата буква СЛЕД мястото, където трябва да бъде въведен текста.
+     първата буква СЛЕД мястото, където трябва да бъде въведен текстът.
 
-  3. Натиснете  i  и напишете каквото трябва да се добави.
+  3. Натиснете i и напишете каквото трябва да се добави.
 
-  4. След поправяне на всяка грешка, натискайте <ESC>, за да се върнете към
+  4. След поправяне на всяка грешка натискайте <ESC>, за да се върнете към
      Нормален режим. Повтаряйте стъпки от 2 до 4, докато поправите изречението.
 
 ---> Част текс липс н тзи .
@@ -209,38 +208,39 @@
 			Урок 2.1: КОМАНДИ ЗА ИЗТРИВАНЕ
 
 
-		       ** Въведете  dw  , за да изтриете дума. **
+		       ** Въведете dw , за да изтриете дума. **
 
-  1. Натиснете  <ESC>  , за да се уверите, че сте в Нормален режим.
+  1. Натиснете <ESC>, за да се уверите, че сте в Нормален режим.
 
   2. Придвижете показалеца до реда по-долу, означен със --->.
 
   3. Придвижете показалеца до началото на думата, която трябва да бъде изтрита.
 
-  4. Натиснете последователно  dw  и думата ще изчезне.
+  4. Натиснете последователно dw , и думата ще изчезне.
 
-  Забележка! Буквата  d  ще се появи на последния ред от екрана, когато я
-  натиснете. Vim ви чака да натиснете  w . Ако видите друга буква, значи сте
-  натиснали грешен клавиш. Натиснете  <ESC>  и започнете отначало.
+  Забележка! Буквата d ще се появи на последния ред от екрана, когато я
+  натиснете. Vim ви чака да натиснете w. Ако видите друга буква, значи сте
+  натиснали грешен клавиш. Натиснете <ESC> и започнете отначало.
 
 ---> Има някои думи хартия, които забава не са част от това изречение.
 
-  5. Повтаряйте стъпки 3 и 4, докато поправите изречението и преминете към Урок 2.2.
+  5. Повтаряйте стъпки 3 и 4, докато поправите изречението, и преминете към
+     Урок 2.2.
 
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 		      Урок 2.2: ОЩЕ КОМАНДИ ЗА ИЗТРИВАНЕ
 
 
-	   ** Въведете  d$	, за да изтриете всичко до края на реда. **
+	   ** Въведете d$ , за да изтриете всичко до края на реда. **
 
-  1. Натиснете  <ESC>  , за да се уверите, че сте в Нормален режим.
+  1. Натиснете <ESC>, за да се уверите, че сте в Нормален режим.
 
   2. Придвижете показалеца до реда по-долу, означен със --->.
 
   3. Придвижете показалеца до правилния ред (СЛЕД първата .).
 
-  4. Натиснете последователно  d$  , за да изтриете всичко до края на реда.
+  4. Натиснете последователно d$ , за да изтриете всичко до края на реда.
 
 ---> Някой е въвел края на този ред двукратно. края на този ред двукратно.
 
@@ -255,21 +255,21 @@
 		     Урок 2.3: ЗА ОПЕРАТОРИТЕ И ДВИЖЕНИЯТА
 
 
-  Много команди, които променят текст се състоят от оператор и движение.
-  Форматът за командата за изтриване с оператора  d  (delete) е както следва. 
+  Много команди, които променят текст, се състоят от оператор и движение.
+  Форматът за командата за изтриване с оператора d (delete) е както следва.
 
   	d   движение
 
   Където:
-    d  е операторът за изтриване.
+    d е операторът за изтриване.
     движение - върху какво ще се приложи операторът (списъкът долу).
 
   Кратък списък с движения:
-    w - (word) до началото на следващата дума като се ИЗКЛЮЧВА първата ѝ буква.
+    w - (word) до началото на следващата дума, като се ИЗКЛЮЧВА първата ѝ буква.
     e - (end of word) до края на текущата дума, ВКЛЮЧИТЕЛНО последната буква.
     $ - До края на реда, ВКЛЮЧИТЕЛНО последния символ.
 
-  Така, като въведете  de  ще изтриете от мястото на показалеца до края на
+  Така, като въведете  de, ще изтриете от мястото на показалеца до края на
   думата.
 
 Забележка! Като натиснете само клавиша за движение, ще преместите показалеца на
@@ -328,15 +328,15 @@
 			 Урок 2.6: РАБОТА С РЕДОВЕ
 
 
-		   ** Въведете   dd   , за да изтриете цял ред. **
+		   ** Въведете dd , за да изтриете цял ред. **
 
-  Понеже често се налага да се трие цял ред, създателите на Vi са решили, че ще
+  Понеже често се налага да се трие цял ред, създателите на Vim са решили, че ще
   е по-лесно да се натисне два пъти d, за да се изтрие ред.
 
   1. Придвижете показалеца на втория ред в абзаца долу.
-  2. Въведете  dd  , за да изтриете реда.
+  2. Въведете dd , за да изтриете реда.
   3. Сега отидете на четвъртия ред.
-  4. Въведете  2dd  , за да изтриете два реда.
+  4. Въведете 2dd , за да изтриете два реда.
 
 --->  1)  Розите са червени,
 --->  2)  Калта е забавление,
@@ -351,18 +351,18 @@
 			 Урок 2.7: ОТМЯНА
 
 
-   ** Натиснете  u	, за да отмените (undo) последната команда;   U  , за
+   ** Натиснете u , за да отмените (undo) последната команда; U , за
    отмяна на всички команди на текущия ред. **
 
-  1. Придвижете показалеца до началото на реда долу , означен със ---> и го
+  1. Придвижете показалеца до началото на реда долу, означен със --->, и го
   поставете на първата грешка.
-  2. Въведете  x  , за да изтриете първата нежелана буква.
-  3. Сега натиснете  u  , за да отмените последната изпълнена команда.
-  4. Този път поправете всички грешки като използвате командата  x  .
-  5. Сега въведете главно  U  (SHIFT+U), за да върнете реда в първоначалния му вид.
-  6. Сега натиснете  u  няколко пъти, за да отмените предишното  U  и командите
+  2. Въведете x , за да изтриете първата нежелана буква.
+  3. Сега натиснете u , за да отмените последната изпълнена команда.
+  4. Този път поправете всички грешки, като използвате командата x.
+  5. Сега въведете главно U (SHIFT+U), за да върнете реда в първоначалния му вид.
+  6. А сега натиснете u няколко пъти, за да отмените предишното U и командите
      преди него.
-  7. Сега натиснете CTRL-R (redo) (дръжте клавиша CTRL натиснат, докато натискате R),
+  7. Сега натиснете CTRL-R (redo) (дръжте клавиша CTRL натиснат, докато натискате R)
      неколкократно, за да изпълните отново командите (да отмените отмените).
 
 ---> Пооправеете грешшките нна този реди и ги заменете с отмянаа.
@@ -473,18 +473,18 @@
 
      ** Операторът за промяна се използва със същите движения както при триене **
 
-  1. Операторът за промяна работи по същия начин като оператора за триене.
+  1. Операторът за промяна работи по същия начин като операторът за триене.
      Форматът е:
 
-         c    [число]   движение
+         c [число] движение
 
-  2. Движенията са същите, например: w (word) и  $ (край на ред).
+  2. Движенията са същите, например: w (word) и $ (край на ред).
 
-  3. Отидете на първия ред долу, отбелязан с --->.
+  3. Отидете на първия ред долу, отбелязан със --->.
 
   4. Придвижете показалеца до първата грешка.
 
-  5. Въведете  c$  и допишете остатъка от реда така, че да стане същия като
+  5. Въведете c$ и допишете остатъка от реда така, че да стане същият като
      долния ред. След това натиснете <ESC>.
 
 ---> Краят на този ред трябва да изглежда като долния.
@@ -520,21 +520,21 @@
 		  Урок 4.1: МЕСТОПОЛОЖЕНИЕ НА ПОКАЗАЛЕЦА И СЪСТОЯНИЕ НА ФАЙЛА
 
   ** Въведете CTRL-G, за да видите къде се намирате във файла и неговото
-     състояние. Въведете  G  , за да отидете на някой ред. **
+     състояние. Въведете G , за да отидете на някой ред. **
 
 Внимание! Прочетете целия урок, преди да изпълните стъпките в него!
 
-  1. Задръжте натиснат клавиша Ctrl и натиснете  g .  Това действие го наричаме
+  1. Задръжте натиснат клавиша Ctrl и натиснете g. Това действие го наричаме
      CTRL-G. В дъното на екрана ще се появи съобщение с името на файла и
-     мястото, където се намира показалеца. Запомнете номера на реда за стъпка 3.
+     мястото, където се намира показалецът. Запомнете номера на реда за стъпка 3.
 
 Забележка: Може би виждате мястото на показалеца в долния десен ъгъл на екрана.
-Това се случва, когато настройката 'ruler' е зададена (вижте :help 'ruler'  )
+Това се случва, когато настройката 'ruler' е зададена (вижте :help 'ruler' )
 
-  2. Натиснете  G  , за да отидете в края на файла.
-     Въведете  gg  , за да отидете в началото на файла.
+  2. Натиснете G , за да отидете в края на файла.
+     Въведете gg , за да отидете в началото на файла.
 
-  3. Въведете номера на реда, на който бяхте и след това натиснете G . Това ще
+  3. Въведете номера на реда, на който бяхте, и след това натиснете G. Това ще
      ви върне на мястото където бяхте, когато натиснахте CTRL-G.
 
   4. Ако вече се чувствате уверени, изпълнете стъпките от 1 до 3.
@@ -880,7 +880,7 @@
   6. За да изключите нечувствителното към регистъра на буквите търсене, въведете
   :set noic
 
-Забележка! За да премахнете осветяването, въведете   :nohlsearch 
+Забележка! За да премахнете осветяването, въведете :nohlsearch
 Забележка! Ако искате да не се прави разлика между главни и малки букви само
            при едно търсене, въведете  \c (латинско ц) в края на низа, който
            търсите: /разлика\c  <ENTER>
--- a/src/po/vim.desktop.in
+++ b/src/po/vim.desktop.in
@@ -11,6 +11,7 @@ Comment=Edit text files
 # be overwritten by the po file when generating the desktop.file.
 GenericName[da]=Teksteditor
 GenericName[pl]=Edytor tekstu
+GenericName[sr]=Едитор текста
 GenericName[is]=Ritvinnsluforrit
 Comment[af]=Redigeer tekslêers
 Comment[am]=የጽሑፍ ፋይሎች ያስተካክሉ