diff --git a/runtime/doc/editing.txt b/runtime/doc/editing.txt
index a89d8bb..a882d99 100644
--- a/runtime/doc/editing.txt
+++ b/runtime/doc/editing.txt
@@ -1331,6 +1331,7 @@
 
 Vim is able to write files encrypted, and read them back.  The encrypted text
 cannot be read without the right key.
+{only available when compiled with the |+cryptv| feature}  *E833*
 
 The text in the swap file and the undo file is also encrypted.
 
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index e63bcdb..a80c4c8 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -4201,6 +4201,8 @@
 'key'			string	(default "")
 			local to buffer
 			{not in Vi}
+			{only available when compiled with the |+cryptv|
+			feature}
 	The key that is used for encrypting and decrypting the current buffer.
 	See |encryption| and 'cryptmethod'.
 	Careful: Do not set the key value by hand, someone might see the typed
diff --git a/runtime/doc/quickfix.txt b/runtime/doc/quickfix.txt
index db7a82d..e0e315e 100644
--- a/runtime/doc/quickfix.txt
+++ b/runtime/doc/quickfix.txt
@@ -1230,7 +1230,7 @@
 directory stack (NOT the directory subtree!).  If it is still not found, it is
 assumed that it is in Vim's current directory.
 
-There are limitation in this algorithm.  This examples assume that make just
+There are limitations in this algorithm.  This examples assume that make just
 prints information about entering a directory in the form "Making all in dir".
 
 1) Assume you have following directories and files:
diff --git a/runtime/doc/quickref.txt b/runtime/doc/quickref.txt
index 09336cd..8baeaae 100644
--- a/runtime/doc/quickref.txt
+++ b/runtime/doc/quickref.txt
@@ -927,7 +927,7 @@
 'virtualedit'	  've'	    when to use virtual editing
 'visualbell'	  'vb'	    use visual bell instead of beeping
 'warn'			    warn for shell command when buffer was changed
-'weirdinvert'	  'wi'	    for terminals that have weird inversion method
+'weirdinvert'	  'wiv'	    for terminals that have weird inversion method
 'whichwrap'	  'ww'	    allow specified keys to cross line boundaries
 'wildchar'	  'wc'	    command-line character for wildcard expansion
 'wildcharm'	  'wcm'     like 'wildchar' but also works when mapped
diff --git a/runtime/doc/repeat.txt b/runtime/doc/repeat.txt
index 921f120..75e77d6 100644
--- a/runtime/doc/repeat.txt
+++ b/runtime/doc/repeat.txt
@@ -570,7 +570,7 @@
 ==============================================================================
 6. Profiling						*profile* *profiling*
 
-Profiling means that Vim measures the time that is spend on executing
+Profiling means that Vim measures the time that is spent on executing
 functions and/or scripts.  The |+profile| feature is required for this.
 It is only included when Vim was compiled with "huge" features.
 {Vi does not have profiling}
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index 418b64c..6d14f43 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1929,7 +1929,7 @@
 
    :let pascal_no_functions=1
 
-Furthermore, there are specific variable for some compiler.  Besides
+Furthermore, there are specific variables for some compilers.  Besides
 pascal_delphi, there are pascal_gpc and pascal_fpc.  Default extensions try to
 match Turbo Pascal. >
 
@@ -2683,7 +2683,7 @@
 
 VIM			*vim.vim*		*ft-vim-syntax*
 			*g:vimsyn_minlines*	*g:vimsyn_maxlines*
-There is a tradeoff between more accurate syntax highlighting versus screen
+There is a trade-off between more accurate syntax highlighting versus screen
 updating speed.  To improve accuracy, you may wish to increase the
 g:vimsyn_minlines variable.  The g:vimsyn_maxlines variable may be used to
 improve screen updating rates (see |:syn-sync| for more on this). >
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index d6f6c12..2324d73 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1015,7 +1015,7 @@
 output should be converted.  Esp. when 'encoding' is "utf-8". (Yongwei Wu)
 Should we use 'termencoding' for this?
 
-Win32, NTFS: When editing an specific infostream directly and 'backupcopy' is
+Win32, NTFS: When editing a specific infostream directly and 'backupcopy' is
 "auto" should detect this situation and work like 'backupcopy' is "yes".  File
 name is something like "c:\path\foo.txt:bar", includes a colon.  (Alex
 Jakushev, 2008 Feb 1)
@@ -1097,9 +1097,6 @@
 - using NSIS 2.46: install on Windows 7 works, but no "Edit with Vim" menu.
    Use register_shell_extension()?
    Patch from Geoffrey Reilly, 2010 Jun 22
-- Patch for conceal feature from Vince, 2010 Jul 1.
-    fix insert mode, cursor up/down?
-    CTRL-O j doesn't trigger cursormoved event?
 - in August remove UF_VERSION_CRYPT_PREV and UF_VERSION_PREV.
 Patches to include:
 - Patch for Lisp support with ECL (Mikael Jansson, 2008 Oct 25)
@@ -1112,7 +1109,7 @@
 - Patch for gtk main_loop() to enable GtkFileChooser. (James Vega, 2010 Jun 28)
     Same as this one?  GTK: file chooser is disabled.  Patch by Tim Starling,
     2009 Nov 13.
-- Patch to make CTRL-L work better with 'ignorecase' and 'smarcase'. (Martin
+- Patch to make CTRL-L work better with 'ignorecase' and 'smartcase'. (Martin
   Toft, 2010 Jun 8, Jun 16, Jun 30)
 - Patch to add diff functionality to 2html.vim. (Christian Brabandt, 2009 Dec
   15)
@@ -1896,7 +1893,7 @@
     - Add a flag in 'printoptions' to add an empty page to make the total
       number even.  "addempty"? (Mike Williams)
     - Respect 'linebreak'.  Perhaps also 'showbreak'?
-    - Should interpreted CTRL-L as a page break.
+    - Should interpret CTRL-L as a page break.
     - Grey line numbers are not always readable.  Add field in 'printoptions'.
       Default to black when no syntax highlighting.
     - Be able to print a window in diff mode.
diff --git a/runtime/doc/usr_28.txt b/runtime/doc/usr_28.txt
index 93e36f8..a46c9be 100644
--- a/runtime/doc/usr_28.txt
+++ b/runtime/doc/usr_28.txt
@@ -389,7 +389,7 @@
 ==============================================================================
 *28.10* Which fold method to use?
 
-All these possibilities make you wonder which method you should chose.
+All these possibilities make you wonder which method you should choose.
 Unfortunately, there is no golden rule.  Here are some hints.
 
 If there is a syntax file with folding for the language you are editing, that
diff --git a/runtime/doc/version5.txt b/runtime/doc/version5.txt
index 74e1bfc..b27e933 100644
--- a/runtime/doc/version5.txt
+++ b/runtime/doc/version5.txt
@@ -1500,7 +1500,7 @@
 
 "r<CR>" didn't work correctly on the last char of a line.
 
-sometimes a window resize or other signal caused an endless loop, involving
+Sometimes a window resize or other signal caused an endless loop, involving
 set_winsize().
 
 "vim -r" didn't work, it would just hang (using tgetent() while 'term' is
diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt
index f469ac0..5c9ba2a 100644
--- a/runtime/doc/version7.txt
+++ b/runtime/doc/version7.txt
@@ -6725,8 +6725,7 @@
 
 Patch 7.1.326
 Problem:    ":s!from!to!" works, but ":smagic!from!to!" doesn't.  It sees the
-	    "!" as a flag to to the command.  Same for ":snomagic". (Johan
-	    Spetz)
+	    "!" as a flag to the command.  Same for ":snomagic". (Johan Spetz)
 Solution:   When checking for a forced command also ignore ":smagic" and
 	    ":snomagic". (Ian Kelling)
 Files:	    src/ex_docmd.c
diff --git a/runtime/doc/workshop.txt b/runtime/doc/workshop.txt
index ae676de..422f81b 100644
--- a/runtime/doc/workshop.txt
+++ b/runtime/doc/workshop.txt
@@ -87,7 +87,7 @@
 The XPM library is required to show images within Vim with Motif or Athena.
 Without it the toolbar and signs will be disabled.
 
-The XPM library is provide by Arnaud Le Hors of the French National Institute
+The XPM library is provided by Arnaud Le Hors of the French National Institute
 for Research in Computer Science and Control.  It can be downloaded from
 http://cgit.freedesktop.org/xorg/lib/libXpm.  The current release, as of this
 writing, is xpm-3.4k-solaris.tgz, which is a gzip'ed tar file.  If you create
