updated patch
Add :domodelines command

This patch does the following: Skip reading modelines for
`:doautocmd User` if the autocommand is not actually executed.
While this is a nice performance improvement, this might be backwards
incompatible, if a one used `:doautocmd foobar` to rely on the fact,
that this will re-evaluate the modelines. Therefore, the new command:
`:domodelines` is also introduced with this patch.

See the discussion: https://groups.google.com/d/msg/vim_dev/DidKMDAsppw/vUC9CF9VNFsJ
 Prevent FileChanged autocommand to trigger on file save

Has been reported here: https://groups.google.com/d/msg/vim_use/kwbR0YfLExg/eVJtuJdb0g8J
Do not skip skipwhite regions

Skipwhite regions are skipped, even though there might be a syntax item
that can be contained in all syntax groups. This is annoying, if you e.g.
want to match whitespace (for the problem see this Stackoverflow question:
http://stackoverflow.com/a/6279316/789222)

Also see the discussion in the vim-dev mailing list:
https://groups.google.com/d/msg/vim_dev/sSkuUhSDX6o/fEWBkaseeoUJ
Introduce the 'langnoremap' option

This prevents the lmap setting from applying to the rhs of a mapping
(which causes plugins to fail). For an example see here:
http://stackoverflow.com/q/12450803/789222
Only set the v:hlsearch variable to true if 'hls' is set
Allow to vimgrep the current buffer

Enable to use the current buffer by using `:vimgrep /fooabr/`
While it is already possible to use `:vimgrep /foobar/ %` to search the
current buffer, this will fail, if the current buffer does not have a
name yet.