updated for version 7.4.155
Problem:    ":keeppatterns /pat" does not keep search pattern offset.
Solution:   Restore the offset after doing the search.
diff --git a/src/search.c b/src/search.c
index e498576..0341a5e 100644
--- a/src/search.c
+++ b/src/search.c
@@ -1437,7 +1437,7 @@
     curwin->w_set_curswant = TRUE;
 
 end_do_search:
-    if (options & SEARCH_KEEP)
+    if ((options & SEARCH_KEEP) || cmdmod.keeppatterns)
 	spats[0].off = old_off;
     vim_free(strcopy);