diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index ca34f7c..cf37387 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -4919,7 +4919,7 @@
 	respectively; see |CTRL-A| for more info on these commands.
 	alpha	If included, single alphabetical characters will be
 		incremented or decremented.  This is useful for a list with a
-		letter index a), b), etc.			*octal*
+		letter index a), b), etc.			*octal-number*
 	octal	If included, numbers that start with a zero will be considered
 		to be octal.  Example: Using CTRL-A on "007" results in "010".
 	hex	If included, numbers starting with "0x" or "0X" will be
diff --git a/runtime/doc/tags b/runtime/doc/tags
index fe515e2..c105b96 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -4193,6 +4193,7 @@
 E830	undo.txt	/*E830*
 E831	editing.txt	/*E831*
 E832	undo.txt	/*E832*
+E833	editing.txt	/*E833*
 E84	windows.txt	/*E84*
 E85	options.txt	/*E85*
 E86	windows.txt	/*E86*
@@ -4651,6 +4652,7 @@
 arabic.txt	arabic.txt	/*arabic.txt*
 arabicfonts	arabic.txt	/*arabicfonts*
 arabickeymap	arabic.txt	/*arabickeymap*
+arg-functions	usr_41.txt	/*arg-functions*
 argc()	eval.txt	/*argc()*
 argidx()	eval.txt	/*argidx()*
 arglist	editing.txt	/*arglist*
@@ -4758,6 +4760,7 @@
 browsedir()	eval.txt	/*browsedir()*
 browsefilter	editing.txt	/*browsefilter*
 bufexists()	eval.txt	/*bufexists()*
+buffer-functions	usr_41.txt	/*buffer-functions*
 buffer-hidden	windows.txt	/*buffer-hidden*
 buffer-list	windows.txt	/*buffer-list*
 buffer-variable	eval.txt	/*buffer-variable*
@@ -4935,6 +4938,7 @@
 color-xterm	syntax.txt	/*color-xterm*
 coloring	syntax.txt	/*coloring*
 colortest.vim	syntax.txt	/*colortest.vim*
+command-line-functions	usr_41.txt	/*command-line-functions*
 command-line-window	cmdline.txt	/*command-line-window*
 command-mode	intro.txt	/*command-mode*
 compatible-default	starting.txt	/*compatible-default*
@@ -4972,6 +4976,7 @@
 complete_CTRL-Y	insert.txt	/*complete_CTRL-Y*
 complete_add()	eval.txt	/*complete_add()*
 complete_check()	eval.txt	/*complete_check()*
+completion-functions	usr_41.txt	/*completion-functions*
 complex-change	change.txt	/*complex-change*
 complex-repeat	repeat.txt	/*complex-repeat*
 compress	pi_gzip.txt	/*compress*
@@ -5100,6 +5105,7 @@
 cursor()	eval.txt	/*cursor()*
 cursor-blinking	options.txt	/*cursor-blinking*
 cursor-down	intro.txt	/*cursor-down*
+cursor-functions	usr_41.txt	/*cursor-functions*
 cursor-left	intro.txt	/*cursor-left*
 cursor-motions	motion.txt	/*cursor-motions*
 cursor-position	pattern.txt	/*cursor-position*
@@ -5118,6 +5124,7 @@
 dab	motion.txt	/*dab*
 dap	motion.txt	/*dap*
 das	motion.txt	/*das*
+date-functions	usr_41.txt	/*date-functions*
 dav	pi_netrw.txt	/*dav*
 davs	pi_netrw.txt	/*davs*
 daw	motion.txt	/*daw*
@@ -5170,6 +5177,7 @@
 dialog	gui_w32.txt	/*dialog*
 dialogs-added	version5.txt	/*dialogs-added*
 dib	motion.txt	/*dib*
+dict-functions	usr_41.txt	/*dict-functions*
 dict-identity	eval.txt	/*dict-identity*
 dict-modification	eval.txt	/*dict-modification*
 did_filetype()	eval.txt	/*did_filetype()*
@@ -5394,6 +5402,7 @@
 fetch	pi_netrw.txt	/*fetch*
 file-browser-5.2	version5.txt	/*file-browser-5.2*
 file-formats	editing.txt	/*file-formats*
+file-functions	usr_41.txt	/*file-functions*
 file-pattern	autocmd.txt	/*file-pattern*
 file-read	insert.txt	/*file-read*
 file-searching	editing.txt	/*file-searching*
@@ -5437,6 +5446,7 @@
 fixed-7.3	version7.txt	/*fixed-7.3*
 flexwiki.vim	syntax.txt	/*flexwiki.vim*
 float-e	eval.txt	/*float-e*
+float-functions	usr_41.txt	/*float-functions*
 float-pi	eval.txt	/*float-pi*
 float2nr()	eval.txt	/*float2nr()*
 floating-point-format	eval.txt	/*floating-point-format*
@@ -5472,6 +5482,7 @@
 folddashes-variable	eval.txt	/*folddashes-variable*
 foldend-variable	eval.txt	/*foldend-variable*
 folding	fold.txt	/*folding*
+folding-functions	usr_41.txt	/*folding-functions*
 foldlevel()	eval.txt	/*foldlevel()*
 foldlevel-variable	eval.txt	/*foldlevel-variable*
 folds	fold.txt	/*folds*
@@ -5915,6 +5926,7 @@
 gui-extras	gui.txt	/*gui-extras*
 gui-footer	debugger.txt	/*gui-footer*
 gui-fork	gui_x11.txt	/*gui-fork*
+gui-functions	usr_41.txt	/*gui-functions*
 gui-gnome	gui_x11.txt	/*gui-gnome*
 gui-gnome-session	gui_x11.txt	/*gui-gnome-session*
 gui-gtk	gui_x11.txt	/*gui-gtk*
@@ -6028,12 +6040,14 @@
 highlight-term	syntax.txt	/*highlight-term*
 highlightID()	eval.txt	/*highlightID()*
 highlight_exists()	eval.txt	/*highlight_exists()*
+highlighting-functions	usr_41.txt	/*highlighting-functions*
 hist-names	eval.txt	/*hist-names*
 histadd()	eval.txt	/*histadd()*
 histdel()	eval.txt	/*histdel()*
 histget()	eval.txt	/*histget()*
 histnr()	eval.txt	/*histnr()*
 history	cmdline.txt	/*history*
+history-functions	usr_41.txt	/*history-functions*
 hit-enter	message.txt	/*hit-enter*
 hit-enter-prompt	message.txt	/*hit-enter-prompt*
 hit-return	message.txt	/*hit-return*
@@ -6294,6 +6308,7 @@
 install-registry	gui_w32.txt	/*install-registry*
 intel-itanium	syntax.txt	/*intel-itanium*
 intellimouse-wheel-problems	gui_w32.txt	/*intellimouse-wheel-problems*
+interactive-functions	usr_41.txt	/*interactive-functions*
 interfaces-5.2	version5.txt	/*interfaces-5.2*
 internal-variables	eval.txt	/*internal-variables*
 internal-wordlist	spell.txt	/*internal-wordlist*
@@ -6316,6 +6331,8 @@
 java-cinoptions	indent.txt	/*java-cinoptions*
 java-indenting	indent.txt	/*java-indenting*
 java.vim	syntax.txt	/*java.vim*
+javascript-cinoptions	indent.txt	/*javascript-cinoptions*
+javascript-indenting	indent.txt	/*javascript-indenting*
 join()	eval.txt	/*join()*
 jsbterm-mouse	options.txt	/*jsbterm-mouse*
 jtags	tagsrch.txt	/*jtags*
@@ -6379,6 +6396,7 @@
 linewise-visual	visual.txt	/*linewise-visual*
 lisp.vim	syntax.txt	/*lisp.vim*
 lispindent()	eval.txt	/*lispindent()*
+list-functions	usr_41.txt	/*list-functions*
 list-identity	eval.txt	/*list-identity*
 list-index	eval.txt	/*list-index*
 list-modification	eval.txt	/*list-modification*
@@ -6464,6 +6482,7 @@
 mapmode-x	map.txt	/*mapmode-x*
 mapping	map.txt	/*mapping*
 mark	motion.txt	/*mark*
+mark-functions	usr_41.txt	/*mark-functions*
 mark-motions	motion.txt	/*mark-motions*
 markfilelist	pi_netrw.txt	/*markfilelist*
 masm.vim	syntax.txt	/*masm.vim*
@@ -6876,6 +6895,7 @@
 obtaining-exted	netbeans.txt	/*obtaining-exted*
 ocaml.vim	syntax.txt	/*ocaml.vim*
 octal	eval.txt	/*octal*
+octal-number	options.txt	/*octal-number*
 oldfiles-variable	eval.txt	/*oldfiles-variable*
 ole-activation	if_ole.txt	/*ole-activation*
 ole-eval	if_ole.txt	/*ole-eval*
@@ -7073,6 +7093,7 @@
 quickfix-6	version6.txt	/*quickfix-6*
 quickfix-directory-stack	quickfix.txt	/*quickfix-directory-stack*
 quickfix-error-lists	quickfix.txt	/*quickfix-error-lists*
+quickfix-functions	usr_41.txt	/*quickfix-functions*
 quickfix-gcc	quickfix.txt	/*quickfix-gcc*
 quickfix-manx	quickfix.txt	/*quickfix-manx*
 quickfix-perl	quickfix.txt	/*quickfix-perl*
@@ -7279,6 +7300,7 @@
 send-to-menu	gui_w32.txt	/*send-to-menu*
 sendto	gui_w32.txt	/*sendto*
 sentence	motion.txt	/*sentence*
+server-functions	usr_41.txt	/*server-functions*
 server2client()	eval.txt	/*server2client()*
 serverlist()	eval.txt	/*serverlist()*
 servername-variable	eval.txt	/*servername-variable*
@@ -7422,6 +7444,7 @@
 spell-dic-format	spell.txt	/*spell-dic-format*
 spell-double-scoring	spell.txt	/*spell-double-scoring*
 spell-file-format	spell.txt	/*spell-file-format*
+spell-functions	usr_41.txt	/*spell-functions*
 spell-german	spell.txt	/*spell-german*
 spell-load	spell.txt	/*spell-load*
 spell-midword	spell.txt	/*spell-midword*
@@ -7502,6 +7525,7 @@
 strftime()	eval.txt	/*strftime()*
 stridx()	eval.txt	/*stridx()*
 string()	eval.txt	/*string()*
+string-functions	usr_41.txt	/*string-functions*
 string-match	eval.txt	/*string-match*
 strlen()	eval.txt	/*strlen()*
 strpart()	eval.txt	/*strpart()*
@@ -7551,6 +7575,7 @@
 synload-6	syntax.txt	/*synload-6*
 synstack()	eval.txt	/*synstack()*
 syntax	syntax.txt	/*syntax*
+syntax-functions	usr_41.txt	/*syntax-functions*
 syntax-highlighting	syntax.txt	/*syntax-highlighting*
 syntax-loading	syntax.txt	/*syntax-loading*
 syntax-printing	usr_06.txt	/*syntax-printing*
@@ -7559,6 +7584,7 @@
 sys-file-list	help.txt	/*sys-file-list*
 sysmouse	term.txt	/*sysmouse*
 system()	eval.txt	/*system()*
+system-functions	usr_41.txt	/*system-functions*
 system-vimrc	starting.txt	/*system-vimrc*
 s~	change.txt	/*s~*
 t	motion.txt	/*t*
@@ -7839,6 +7865,7 @@
 tex-slow	syntax.txt	/*tex-slow*
 tex-style	syntax.txt	/*tex-style*
 tex.vim	syntax.txt	/*tex.vim*
+text-functions	usr_41.txt	/*text-functions*
 text-objects	motion.txt	/*text-objects*
 text-objects-changed	version5.txt	/*text-objects-changed*
 textlock	eval.txt	/*textlock*
@@ -7849,6 +7876,7 @@
 throw-from-catch	eval.txt	/*throw-from-catch*
 throw-variables	eval.txt	/*throw-variables*
 throwpoint-variable	eval.txt	/*throwpoint-variable*
+time-functions	usr_41.txt	/*time-functions*
 timestamp	editing.txt	/*timestamp*
 timestamps	editing.txt	/*timestamps*
 tips	tips.txt	/*tips*
@@ -8110,9 +8138,11 @@
 val-variable	eval.txt	/*val-variable*
 valgrind	debug.txt	/*valgrind*
 values()	eval.txt	/*values()*
+var-functions	usr_41.txt	/*var-functions*
 variables	eval.txt	/*variables*
 various	various.txt	/*various*
 various-cmds	various.txt	/*various-cmds*
+various-functions	usr_41.txt	/*various-functions*
 various-motions	motion.txt	/*various-motions*
 various.txt	various.txt	/*various.txt*
 vb.vim	syntax.txt	/*vb.vim*
@@ -8267,10 +8297,12 @@
 window	windows.txt	/*window*
 window-contents	intro.txt	/*window-contents*
 window-exit	editing.txt	/*window-exit*
+window-functions	usr_41.txt	/*window-functions*
 window-move-cursor	windows.txt	/*window-move-cursor*
 window-moving	windows.txt	/*window-moving*
 window-resize	windows.txt	/*window-resize*
 window-size	term.txt	/*window-size*
+window-size-functions	usr_41.txt	/*window-size-functions*
 window-tag	windows.txt	/*window-tag*
 window-variable	eval.txt	/*window-variable*
 windows	windows.txt	/*windows*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 6edd6b0..24799a3 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1136,6 +1136,7 @@
   10.4.
 - Patch for adding "J" flag to 'cinoptions': placement of jump label.  (Manuel
   Konig, 2010 Feb 19)  Update by Lech Lorens, Feb 22.
+  Need another name, "J" is now used for Javascript.
 -   Add Lua interface? (Wolfgang Oertl) patch by Luis Carvalho, 2008 Sep 5
 	Patch for Make_ming.mak from Paul Moore (2008 Sep 1)
       http://code.google.com/p/vim-iflua/  Download  vim72-lua-0.7.patch.gz
diff --git a/runtime/doc/usr_41.txt b/runtime/doc/usr_41.txt
index 4344fc1..3829990 100644
--- a/runtime/doc/usr_41.txt
+++ b/runtime/doc/usr_41.txt
@@ -576,7 +576,7 @@
 used for.  You can find an alphabetical list here: |functions|.  Use CTRL-] on
 the function name to jump to detailed help on it.
 
-String manipulation:
+String manipulation:					*string-functions*
 	nr2char()		get a character by its ASCII value
 	char2nr()		get ASCII value of a character
 	str2nr()		convert a string to a Number
@@ -605,7 +605,7 @@
 	repeat()		repeat a string multiple times
 	eval()			evaluate a string expression
 
-List manipulation:
+List manipulation:					*list-functions*
 	get()			get an item without error for wrong index
 	len()			number of items in a List
 	empty()			check if List is empty
@@ -630,7 +630,7 @@
 	count()			count number of times a value appears in a List
 	repeat()		repeat a List multiple times
 
-Dictionary manipulation:
+Dictionary manipulation:				*dict-functions*
 	get()			get an entry without an error for a wrong key
 	len()			number of entries in a Dictionary
 	has_key()		check whether a key appears in a Dictionary
@@ -649,7 +649,7 @@
 	min()			minimum value in a Dictionary
 	count()			count number of times a value appears
 
-Floating point computation:
+Floating point computation:				*float-functions*
 	float2nr()		convert Float to Number
 	abs()			absolute value (also works for Number)
 	round()			round off
@@ -663,7 +663,7 @@
 	cos()			cosine
 	atan()			arc tangent
 
-Variables:
+Variables:						*var-functions*
 	type()			type of a variable
 	islocked()		check if a variable is locked
 	function()		get a Funcref for a function name
@@ -677,7 +677,7 @@
 	settabwinvar()		set a variable in a specific window & tab page
 	garbagecollect()	possibly free memory
 
-Cursor and mark position:
+Cursor and mark position:		*cursor-functions* *mark-functions*
 	col()			column number of the cursor or a mark
 	virtcol()		screen column of the cursor or a mark
 	line()			line number of the cursor or mark
@@ -690,7 +690,7 @@
 	line2byte()		byte count at a specific line
 	diff_filler()		get the number of filler lines above a line
 
-Working with text in the current buffer:
+Working with text in the current buffer:		*text-functions*
 	getline()		get a line or list of lines from the buffer
 	setline()		replace a line in the buffer
 	append()		append line or list of lines in the buffer
@@ -705,6 +705,7 @@
 	searchpairpos()		find the other end of a start/skip/end
 	searchdecl()		search for the declaration of a name
 
+					*system-functions* *file-functions*
 System functions and manipulation of files:
 	glob()			expand wildcards
 	globpath()		expand wildcards in a number of directories
@@ -732,13 +733,14 @@
 	readfile()		read a file into a List of lines
 	writefile()		write a List of lines into a file
 
-Date and Time:
+Date and Time:				*date-functions* *time-functions*
 	getftime()		get last modification time of a file
 	localtime()		get current time in seconds
 	strftime()		convert time to a string
 	reltime()		get the current or elapsed time accurately
 	reltimestr()		convert reltime() result to a string
 
+			*buffer-functions* *window-functions* *arg-functions*
 Buffers, windows and the argument list:
 	argc()			number of entries in the argument list
 	argidx()		current position in the argument list
@@ -756,32 +758,32 @@
 	winbufnr()		get the buffer number of a specific window
 	getbufline()		get a list of lines from the specified buffer
 
-Command line:
+Command line:					*command-line-functions*
 	getcmdline()		get the current command line
 	getcmdpos()		get position of the cursor in the command line
 	setcmdpos()		set position of the cursor in the command line
 	getcmdtype()		return the current command-line type
 
-Quickfix and location lists:
+Quickfix and location lists:			*quickfix-functions*
 	getqflist()		list of quickfix errors
 	setqflist()		modify a quickfix list
 	getloclist()		list of location list items
 	setloclist()		modify a location list
 
-Insert mode completion:
+Insert mode completion:				*completion-functions*
 	complete()		set found matches
 	complete_add()		add to found matches
 	complete_check()	check if completion should be aborted
 	pumvisible()		check if the popup menu is displayed
 
-Folding:
+Folding:					*folding-functions*
 	foldclosed()		check for a closed fold at a specific line
 	foldclosedend()		like foldclosed() but return the last line
 	foldlevel()		check for the fold level at a specific line
 	foldtext()		generate the line displayed for a closed fold
 	foldtextresult()	get the text displayed for a closed fold
 
-Syntax and highlighting:
+Syntax and highlighting:	  *syntax-functions* *highlighting-functions*
 	clearmatches()		clear all matches defined by |matchadd()| and
 				the |:match| commands
 	getmatches()		get all matches defined by |matchadd()| and
@@ -799,18 +801,18 @@
 	setmatches()		restore a list of matches saved by
 				|getmatches()|
 
-Spelling:
+Spelling:					*spell-functions*
 	spellbadword()		locate badly spelled word at or after cursor
 	spellsuggest()		return suggested spelling corrections
 	soundfold()		return the sound-a-like equivalent of a word
 
-History:
+History:					*history-functions*
 	histadd()		add an item to a history
 	histdel()		delete an item from a history
 	histget()		get an item from a history
 	histnr()		get highest index of a history list
 
-Interactive:
+Interactive:					*interactive-functions*
 	browse()		put up a file requester
 	browsedir()		put up a directory requester
 	confirm()		let the user make a choice
@@ -824,12 +826,12 @@
 	inputsave()		save and clear typeahead
 	inputrestore()		restore typeahead
 
-GUI:
+GUI:						*gui-functions*
 	getfontname()		get name of current font being used
 	getwinposx()		X position of the GUI Vim window
 	getwinposy()		Y position of the GUI Vim window
 
-Vim server:
+Vim server:					*server-functions*
 	serverlist()		return the list of server names
 	remote_send()		send command characters to a Vim server
 	remote_expr()		evaluate an expression in a Vim server
@@ -839,14 +841,14 @@
 	foreground()		move the Vim window to the foreground
 	remote_foreground()	move the Vim server window to the foreground
 
-Window size and position:
+Window size and position:			*window-size-functions*
 	winheight()		get height of a specific window
 	winwidth()		get width of a specific window
 	winrestcmd()		return command to restore window sizes
 	winsaveview()		get view of current window
 	winrestview()		restore saved view of current window
 
-Various:
+Various:					*various-functions*
 	mode()			get current editing mode
 	visualmode()		last visual mode used
 	hasmapto()		check if a mapping exists
