Add the logiPat plugin to the distribution.
diff --git a/runtime/doc/Makefile b/runtime/doc/Makefile
index 86ccb74..dc49bb7 100644
--- a/runtime/doc/Makefile
+++ b/runtime/doc/Makefile
@@ -75,6 +75,7 @@
 	pattern.txt \
 	pi_getscript.txt \
 	pi_gzip.txt \
+	pi_logipat.txt \
 	pi_netrw.txt \
 	pi_paren.txt \
 	pi_spec.txt \
@@ -207,6 +208,7 @@
 	pattern.html \
 	pi_getscript.html \
 	pi_gzip.html \
+	pi_logipat.html \
 	pi_netrw.html \
 	pi_paren.html \
 	pi_spec.html \
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 9cdf9bb..320b154 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 7.4.  Last change: 2015 May 04
+*options.txt*	For Vim version 7.4.  Last change: 2015 Jun 19
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
diff --git a/runtime/doc/pi_logipat.txt b/runtime/doc/pi_logipat.txt
new file mode 100644
index 0000000..ea3acda
--- /dev/null
+++ b/runtime/doc/pi_logipat.txt
@@ -0,0 +1,117 @@
+*pi_logipat.txt*	Logical Patterns				Mar 13, 2013
+
+Author:  Charles E. Campbell  <NdrOchip@ScampbellPfamily.AbizM>
+Copyright: (c) 2004-2013 by Charles E. Campbell	*logipat-copyright*
+           The VIM LICENSE applies to LogiPat.vim and LogiPat.txt
+           (see |copyright|) except use "LogiPat" instead of "Vim"
+	   No warranty, express or implied.  Use At-Your-Own-Risk.
+
+==============================================================================
+1. Contents					*logipat* *logipat-contents*
+
+	1. Contents.................: |logipat-contents|
+	2. LogiPat Manual...........: |logipat-manual|
+	3. LogiPat Examples.........: |logipat-examples|
+	4. Caveat...................: |logipat-caveat|
+	5. LogiPat History..........: |logipat-history|
+
+==============================================================================
+2. LogiPat Manual			*logipat-manual* *logipat-man*
+
+
+	*logipat-arg* *logipat-input* *logipat-pattern* *logipat-operators*
+	Boolean logic patterns are composed of
+
+			operators  ! = not
+			           | = logical-or
+			           & = logical-and
+			grouping   ( ... )
+			patterns   "pattern"
+
+	:LogiPat {boolean-logic pattern}		*:LogiPat*
+		:LogiPat is a command which takes a boolean-logic
+		argument (|logipat-arg|).
+
+	:LP {boolean-logic pattern}			*:LP*
+		:LP is a shorthand command version of :LogiPat
+		(|:LogiPat|).
+
+	:ELP {boolean-logic pattern}			*:ELP*
+		No search is done, but the conversion from the
+		boolean logic pattern to the regular expression
+		is performed and echoed onto the display.
+
+	:LogiPatFlags {search flags}			*LogiPat-flags*
+		:LogiPatFlags {search flags}
+		LogiPat uses the |search()| command.  The flags
+		passed to that call to search() may be specified
+		by the :LogiPatFlags command.
+
+	:LPF {search flags}				*:LPF*
+		:LPF is a shorthand version of :LogiPatFlags.
+
+	:let pat=LogiPat({boolean-logic pattern})	*LogiPat()*
+		If one calls LogiPat() directly, no search
+		is done, but the transformation from the boolean
+		logic pattern into a regular expression pattern
+		is performed and returned.
+
+	To get a " inside a pattern, as opposed to having it delimit
+	the pattern, double it.
+
+==============================================================================
+3. LogiPat Examples					*logipat-examples*
+
+	LogiPat takes Boolean logic arguments and produces a regular
+	expression which implements the choices.  A series of examples
+	follows:
+>
+	:LogiPat "abc"
+<		will search for lines containing the string  :abc:
+>
+	:LogiPat "ab""cd"
+<		will search for lines containing the string  :ab"c:
+>
+	:LogiPat !"abc"
+<		will search for lines which don't contain the string  :abc:
+>
+	:LogiPat "abc"|"def"
+<		will search for lines which contain either the string
+		:abc:  or the string  :def:
+>
+	:LogiPat !("abc"|"def")
+<		will search for lines which don't contain either
+		of the strings  :abc:  or  :def:
+>
+	:LogiPat "abc"&"def"
+<		will search for lines which contain both of the strings
+		:abc:  and  :def:
+>
+	:let pat= LogiPat('!"abc"')
+<		will return the regular expression which will match
+		all lines not containing  :abc: .  The double quotes
+		are needed to pass normal patterns to LogiPat, and
+		differentiate such patterns from boolean logic
+		operators.
+
+
+==============================================================================
+4. Caveat						*logipat-caveat*
+
+	The "not" operator may be fragile; ie. it may not always play well
+	with the & (logical-and) and | (logical-or) operators.  Please try out
+	your patterns, possibly with :set hls, to insure that what is matching
+	is what you want.
+
+==============================================================================
+3. LogiPat History					*logipat-history*
+
+	v3 Sep 25, 2006 * LP_Or() fixed; it now encapsulates its output
+	                  in \%(...\) parentheses
+	   Dec 12, 2011 * |:ELP| added
+			* "" is mapped to a single " and left inside patterns
+	v2 May 31, 2005	* LPF and LogiPatFlags commands weren't working
+	v1 May 23, 2005	* initial release
+
+==============================================================================
+vim:tw=78:ts=8:ft=help
diff --git a/runtime/doc/tags b/runtime/doc/tags
index b943d59..5524c42 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -1837,6 +1837,7 @@
 :CompilerSet	usr_41.txt	/*:CompilerSet*
 :DiffOrig	diff.txt	/*:DiffOrig*
 :DoMatchParen	pi_paren.txt	/*:DoMatchParen*
+:ELP	pi_logipat.txt	/*:ELP*
 :Explore	pi_netrw.txt	/*:Explore*
 :GLVS	pi_getscript.txt	/*:GLVS*
 :GetLatestVimScripts_dat	pi_getscript.txt	/*:GetLatestVimScripts_dat*
@@ -1844,7 +1845,10 @@
 :GnatPretty	ft_ada.txt	/*:GnatPretty*
 :GnatTags	ft_ada.txt	/*:GnatTags*
 :Hexplore	pi_netrw.txt	/*:Hexplore*
+:LP	pi_logipat.txt	/*:LP*
+:LPF	pi_logipat.txt	/*:LPF*
 :Lexplore	pi_netrw.txt	/*:Lexplore*
+:LogiPat	pi_logipat.txt	/*:LogiPat*
 :Man	filetype.txt	/*:Man*
 :MkVimball	pi_vimball.txt	/*:MkVimball*
 :N	editing.txt	/*:N*
@@ -4421,6 +4425,8 @@
 Linux-backspace	options.txt	/*Linux-backspace*
 List	eval.txt	/*List*
 Lists	eval.txt	/*Lists*
+LogiPat()	pi_logipat.txt	/*LogiPat()*
+LogiPat-flags	pi_logipat.txt	/*LogiPat-flags*
 Lua	if_lua.txt	/*Lua*
 M	motion.txt	/*M*
 MDI	starting.txt	/*MDI*
@@ -6733,6 +6739,7 @@
 lcs-extends	options.txt	/*lcs-extends*
 lcs-nbsp	options.txt	/*lcs-nbsp*
 lcs-precedes	options.txt	/*lcs-precedes*
+lcs-space	options.txt	/*lcs-space*
 lcs-tab	options.txt	/*lcs-tab*
 lcs-trail	options.txt	/*lcs-trail*
 left-right-motions	motion.txt	/*left-right-motions*
@@ -6780,6 +6787,18 @@
 location-list-window	quickfix.txt	/*location-list-window*
 log()	eval.txt	/*log()*
 log10()	eval.txt	/*log10()*
+logipat	pi_logipat.txt	/*logipat*
+logipat-arg	pi_logipat.txt	/*logipat-arg*
+logipat-caveat	pi_logipat.txt	/*logipat-caveat*
+logipat-contents	pi_logipat.txt	/*logipat-contents*
+logipat-copyright	pi_logipat.txt	/*logipat-copyright*
+logipat-examples	pi_logipat.txt	/*logipat-examples*
+logipat-history	pi_logipat.txt	/*logipat-history*
+logipat-input	pi_logipat.txt	/*logipat-input*
+logipat-man	pi_logipat.txt	/*logipat-man*
+logipat-manual	pi_logipat.txt	/*logipat-manual*
+logipat-operators	pi_logipat.txt	/*logipat-operators*
+logipat-pattern	pi_logipat.txt	/*logipat-pattern*
 long-lines	version5.txt	/*long-lines*
 love	intro.txt	/*love*
 lowercase	change.txt	/*lowercase*
@@ -7423,6 +7442,7 @@
 phtml.vim	syntax.txt	/*phtml.vim*
 pi_getscript.txt	pi_getscript.txt	/*pi_getscript.txt*
 pi_gzip.txt	pi_gzip.txt	/*pi_gzip.txt*
+pi_logipat.txt	pi_logipat.txt	/*pi_logipat.txt*
 pi_netrw.txt	pi_netrw.txt	/*pi_netrw.txt*
 pi_paren.txt	pi_paren.txt	/*pi_paren.txt*
 pi_spec.txt	pi_spec.txt	/*pi_spec.txt*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 754e388..fd2c7fb 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -74,10 +74,6 @@
 Better .ico file for Windows. (Pat Suwalski, 2015 Feb 13)
 Waiting for response on remark from Edward Fox.
 
-Patch to make getregtype() return the right size for non-linux systems.
-(Yasuhiro Matsumoto, 2014 Jul 8)
-Breaks test_eval.  Inefficient, can we only compute y_width when needed?
-
 Problem that a previous silent ":throw" causes a following try/catch not to
 work. (ZyX, 2013 Sep 28)
 
@@ -88,27 +84,6 @@
 ":cd C:\Windows\System32\drivers\etc*" does not work, even though the
 directory exists. (Sergio Gallelli, 2013 Dec 29)
 
-Patch on issue 365.
-
-Patch to add "vsplit" to 'switchbuf'. (Brook Hong, 2015 Jun 4)
-
-patch to fix that "p" in Visual mode does not break line in expected place.
-(Yukihiro Nakadaira, 2015 May 23)
-
-Patch to fix that wide characters do not work properly after exiting.
-(Yasuhiro Matsumoto, 2015 May 24) Better patch to come.
-
-Patch to add grepfile(). (Scott Prager, 2015 May 26)
-
-keymap for Russian typewriter layout. (Danwerspb, 2015 May 15)
-
-Patch for man.vim. (SungHyun Nam, 2015 May 20)
-Doesn't work completely (Dominique Orban)
-
-The entries added by matchaddpos() are returned by getmatches() but can't be
-set with setmatches(). (lcd47, 2014 Jun 29)
-Patch by Christian, 2015 Jun 16.
-
 Invalid memory access in regexp.c. (Dominique Pelle, 2015 May 23)
 
 Using ":windo" to set options in all windows has the side effect that it
@@ -116,15 +91,6 @@
 and restores.  Use in the matchparen plugin.
 Perhaps we can use ":silent window"?
 
-Patch for :[count]tag" not always working. (Hirohito Higashi, 2015 May 19)
-
-Include the LogiPat plugin in the distribution?
-
-Patch to fix that ":cnext" jumps to the wrong column. (Hirohito Higashi, 2015
-May 17, second patch)
-
-Pull request for jcukenwintype.vim. (Denis Proskurin, 2015 May 15)
-
 Patch for appending in Visual mode with 'linebreak' set.
 (Christian Brabandt, 2015 Jun 1)
 
@@ -177,6 +143,13 @@
 Patch for langmap not working properly with mapping in Command-line mode.
 Issue 376.
 
+Patch to add grepfile(). (Scott Prager, 2015 May 26)
+Work in progress.
+
+Patch to make getregtype() return the right size for non-linux systems.
+(Yasuhiro Matsumoto, 2014 Jul 8)
+Breaks test_eval.  Inefficient, can we only compute y_width when needed?
+
 Value returned by virtcol() changes depending on how lines wrap.  This is
 inconsistent with the documentation.
 
@@ -210,6 +183,12 @@
 Patch to use different terminal mode settings for system(). (Hayaki Saito)
 Does this work for everybody?
 
+Patch to fix that wide characters do not work properly after exiting.
+(Yasuhiro Matsumoto, 2015 May 24) Better patch to come.
+
+Patch for man.vim. (SungHyun Nam, 2015 May 20)
+Doesn't work completely (Dominique Orban)
+
 When a session file is created and there are "nofile" buffers, these are not
 filled.  Need to trigger BufReadCmd autocommands.  Also handle deleting the
 initial empty buffer better. (ZyX, 2015 March 8)