Improve tab-completion in ex state.

* tab-completion for ex-arguments can now be specified either by a
  collection or by a completion-at-point function. One of both
  completion types can be specified in `evil-ex-define-argument-type`
  using the :collection resp. :completion-at-point keyword.

* completion code for file and buffer arguments has been removed and
  replaced by the standard Emacs collections `read-file-name-internal`
  resp. `internal-complete-buffer`.

* completion code now handles the `completion-boundary` flag
  correctly, so that completion with point in the middle of a command
  or argument is possible.

--HG--
extra : rebase_source : 6c74d9be9676780409c1120b5747bf170dbe381e
Add tab-completion for Emacs command in ex command line.

Emacs commands can be executed like any other command in the ex
command line, but they could not be tab-completed. This change allows
for tab completion of these commands, too. The variable
`evil-ex-complete-emacs-commands' decides whether

  1. Emacs commands should never be tab completed (old behaviour)
  2. Emacs commands should always be tab completed
  3. Emacs commands should only be tab completed if the current text
     is not an ex command.
Fix completion info shown by `evil-ex-update` for Emacs commands.

This is simply a more accurate interpretation of the result of the
call to `all-completions`. The current text is incomplete if there is
more than one possible completion and it is unknown if there is no
possible completion.

--HG--
extra : amend_source : d2c95fd178f7b5a5e5864fe4f5a112012841f0f6
fixed bug where ENTER caused a newline+indentation
even if the current major mode normally only inserts a newline
Update doc of `evil-ex-complete-emacs-commands`
Ensure `evil-delete-backward-word` only deletes newline at bol

If point is not at the beginning of the line, the this function should
only delete characters on the current line, even if they are only
whitespaces. This corresponds to Vim's default behaviour.
Ensure `evil-delete-backward-word` only deletes newline at bol

If point is not at the beginning of the line, the this function should
only delete characters on the current line, even if they are only
whitespaces. This corresponds to Vim's default behaviour.

--HG--
extra : source : a69d18e16a36316572746cba33e4215862dfdf3e
Add option `evil-backspace-join-lines'

This user option determines whether backspace or C-w are allowed to
join the current line and the previous line if called with point at
the beginning of the current line. The default is t resembling
standard Vim behaviour.

--HG--
extra : amend_source : 937032480281dca1a17d6cf0a3ba9df1babe0d41
Modify doc of `evil-ret-and-indent`
Merge request 47: add `evil-ret-and-indent`

This function is identical to `evil-ret` but also indents a newly
inserted line. `evil-ret' now never indents a new line. Both functions
are remapped to `newline` resp. `newline-and-indent` in insert state.
Merge ex-completion

Ex state now supports completion of Emacs commands. The user option
`evil-ex-complete-emacs-commands` determines when Emacs commands
should be considered for completion. The default is to consider them
only if no ex-command is available for completion.
Bump version to 1.0.3
Merge stable-1.0
Add Stefan Wehr to authors list
Disable narrowing in char arguments in operator state (fix #294)

When éa motion is read in operator state, the buffer is narrowed to
the current field so that the operation is always restricted to that
field. If a character argument is read then this restriction is
visible. This fix disables the restriction temporarily if an argument
with the <C> interactive code is used, which is the case for f,F,t and
T motions.

--HG--
extra : rebase_source : 61ad2075b6d7b31dea0391151f88e4a1b4e4d1a8
Merge stable-1.0
Support empty replacement in `evil-ex-substitute` (fix #291)
Be more careful in exiting recursive edit from ace-jump.

Using vanilla ace-jumps did trigger an exit from a (possibly) not
existing recursive edit, disturbing the user (showing an error) and
affecting unrelated recursive edits.

Signed-off-by: Michael Markert <markert.michael@googlemail.com>
Use self-removing hook for ace-jump rec. edit cleanup.

Signed-off-by: Michael Markert <markert.michael@googlemail.com>