Enhance evil-jump-item to be able to jump between comment pairs and between same level of conditionals in c-mode.
Enhance evil-open/close-fold(s) to be able to show or hide cpp conditionals for c-mode.
Check for `count` argument first in `evil-jump-item'.

If an explicit count is specified for `evil-jump-item`, point should
go to count % of the buffer. This is independent of the current major
mode, so this test must come first.
Use only hideif functions instead of regexps in `evil-jump-item`.

The hideif package provides a full interface for all necessary steps
to detect and move between pre-processor conditionals. Thus, we rely
on hideif's interface instead of own regular expressions.
Modify hideif regexps to match #elif in `evil-jump-item`.

According to Vim, `evil-jump-item` should handle an #elif statement
like an #else statement, i.e. should stop there. Unfortunately, #elif
statements are ignored by hideif functions. This changeset modifies
hideif's regular expressions locally so that #elif statements are
matched like #else statements.
Update comment-functions to use Emacs syntax information.

The functions `evil-in-comment-p`, `evil-comment-beginning` and
`evil-comment-end` use now Emacs syntax information available by
(syntax-ppss) and (syntax-char) to determine the beginning and end of
a comment.
Merge with master

Need new `evil-comment-in-p` function.
Make `evil-jump-item` work with any block comments.

This change uses Emacs syntax capabilities to detect beginning and
ends of block comments. So this movement is no longer restricted to
/* */ pairs in C-like languages but works with any proper paired
comment delimiters.
Merge-request 38: make `evil-jump-item` work with comments and #if .. #endif

This is an enhanced version of merge request #38. In addition to
certain code cleanups, `evil-jump-item` works with arbitrary block
comment pairs (not only /* ... */) and it recognises #elif
preprocessor statements.
Cleanup hideif-code in foldings.
Fix `evil-jump-item` if point is not at beginning of preprocessor statement.
Remove old code for plain /* ... */ from `evil-jump-item`.
Merge request 39: folding of preprocessor statements.
Handle indirect buffers in certain save functions.

If the current buffer (to be saved) is an indirect buffer, use the
base buffer's associated file name.

This fixes #244.
Fix to also jump when looking at elif and else.
Fix the error of hif-ifx-else-endif-regexp being void when hide-ifdef-mode is not enabled.
Ensure `hide-ifdef-mode` is bound before calling.