Bump version to 1.0.0.

--HG--
extra : rebase_source : 315c04547bfe86c571a7d413ebf240f4eaae2c0a
Change version tags to 1.0-dev
Add COPYING file to ELPA package.

--HG--
extra : rebase_source : fe2d071245185092b3b7077131ab0632e881c34a
Add binding of [tab] to `evil-ex-completion-map`.

Formerly, only "\t" has been bound in `evil-ex-completion-map`. This
change ensures that tab calls the correct command even if [tab] is
bound in the parent keymap, `minibuffer-local-completion-map`.

--HG--
extra : rebase_source : 5b26fa144b6d6efe493cdf06774efb0aef84ddee
Fix the state argument type for ex state.

This argument type, used for :set-initial-state, still used a very old
code that is wrong with the current completion system. This change
fixes the definition of the completer, adds a new interactive type
<state> and changes the interactive code of
`evil-ex-set-initial-state` accordingly.

--HG--
extra : rebase_source : 2beeedce80f1b0ee859634512eb655dffea0d90c
Improve performance of `evil-in-string-p` and friends.

The functions `evil-in-string-p`, `evil-string-beginning` and
`evil-string-end` now use the parsing capabilities of Emacs directly
instead of using the simple loop-and-check approach of
`evil-find-beginning` and `evil-find-end`.

The function `evil-paren-range` is improved as well, using the parser
directly instead of looping over `evil-string-p`, which led to an
O(n^2) algorithm.

--HG--
extra : rebase_source : e4a74507d086ca5769ed37951e82b6e72b01fe5d
Make `evil-jump-item` jump out of a string if appropriate.

`evil-jump-item` is syntax sensitive: if (point) is not in a
string/comment only the string/comment content is considered, if
(point) is not in a string or comment, strings and comments are
skipped.

In one situation this may not be desired: if (point) is within a
string but no jump-target is found within the string. Then the old behavior would not move (point) at all. This is a common case in programming modes, e.g.

   printf("some text");

If point is within the string literal, then `evil-jump-point` should
move to the opening parenthesis.

The new behavior of `evil-jump-item` is now to look after the end of
the string as if it has been called right after the end of string, if
no appropriate jump target could be found within the string.

This addresses issue #249.

--HG--
extra : rebase_source : db66c72f76dff15204820c0945743777c2978b03
`evil-jump-item` only jump if target has a matching delimiter.

This addresses #249.

--HG--
extra : amend_source : 467713fbbdb1342dcd529e96b8b7544063176963
Use Emacs instead of sed to update version information.

We also update the version information in `evil-version`.

Why no sed anymore? Emacs is easier to work with in Makefiles.
And Emacs should be available anyway, shouldn't it?

This addresses issue #250.
Update version string in `evil-version`.

Fixes issue #250.
Add several key-bindings for ex command line.

All completion-like bindings run tab-completion. Simple commands are
bound to their Emacs equivalences.

C-h is not bound because it is too usefull for accessing Emacs help.

This addresses #166.

--HG--
extra : amend_source : 52452a7a7ac7828e19f690942ff7a544a11a2826
Implement :normal command.

This implementation is not completely equivalent to Vim's. That's
because it relies on Emacs to do the interpretation of the normal
state command using `execute-kbd-macro`.

The bang argument is not supported.

This addresses issue #251.

--HG--
extra : amend_source : 4c667bb6a8c178d98395a2145f2ac894b11f2c7b
Fix the "r" flag for `evil-ex-substitute'.

If the "r" flag is present and the pattern is empty, then either the
previous search pattern or the previous substitute pattern should be
used, whichever is more recent.

Furthermore this flag is implicitly set for :substitute commands with
argument (i.e. with pattern/replacement part).

This fixes #252.

--HG--
extra : amend_source : 635eb35ae299b2453e8011cc1cc37237e12e6e30
Add binding for C-v in ex state.

It does the same as C-q, inserting a quoted character.

This addresses issue #166.
Make `evil-replace` insert exactly one newline (fix #253)

According to Vim's doc, the 'r' command should always insert exactly
one newline character, no matter how many characters have been
replaced.

--HG--
extra : amend_source : cac6fac84e30c0c332ae9eaf27866ac66c14d332
Merge stable-1.0
Make `evil-read-key` support digraphs

If a character argument is read using `evil-read-key` (e.g. the
motions f F t T and the command r), a digraph can be inserted by
pressing `C-k` followed by the two digraph characters.

For this, the function `evil-read-digraph-char` is bound to `C-k` (by
default) in `evil-read-key-map`. This functions performs the reading
and transformation of the digraph as well as the overlay handling in
the buffer.

The command `evil-insert-digraph` now simply calls
`evil-read-digraph-char`.
Add :show-digraphs command

This command can be used to show all available digraphs.
Use `inhibit-read-only` instead of calling `toggle-read-only`
Merge implementation of :normal command (fix #251)