`git-rebase-mode-map': bind "M-<{up,down}>" to `git-rebase-move-line-{up,down}'

Allow using the arrow keys to drag action lines around.

Signed-off-by: Pieter Praet <pieter@praet.org>
`git-rebase-mode-map': bind "C-k" to `git-rebase-kill-line'

Because it feels more natural than "k".

Signed-off-by: Pieter Praet <pieter@praet.org>
README.md: backtick quote ".gitattributes"

Wrap ".gitattributes" in Markdown code span, like we do for all filenames.

See commit 8bec7bc7.

Signed-off-by: Pieter Praet <pieter@praet.org>
`gitattributes-mode-font-lock-keywords': fontify comment lines properly

They used to be fontified using `font-lock-variable-name-face'...

Signed-off-by: Pieter Praet <pieter@praet.org>
`gitattributes-mode': load 'eldoc before enabling `eldoc-mode'

Note that 'eldoc is only needed when `gitattributes-mode-enable-eldoc'
is non-nil, so we don't require it globally.  Also, making it part of
`when's COND instead of its BODY ensures that `gitattributes-mode'
remains functional even when 'eldoc can't be loaded for some reason.

Signed-off-by: Pieter Praet <pieter@praet.org>
`gitattributes-mode-eldoc': fix for multi-word attributes

`eldoc-mode' didn't echo the docstring for multi-word attributes
(i.e. "export-ignore" and "export-subst") because the regexp in
`gitattributes-mode-eldoc' only matched characters whose syntax
class is "word constituent".

Now we match multiple word constituents, optionally separated by
a dash.  Note that we're matching just a plain dash ("-") instead
of all the possible symbol constituents ("\\s_") for efficiency.

See commit 96260647.

Signed-off-by: Pieter Praet <pieter@praet.org>
gitattributes-mode.el: require 'easymenu

Commit e22188ba added a menu using `easy-menu-define',
but didn't add 'easymenu as a new dependency.

Signed-off-by: Pieter Praet <pieter@praet.org>
`gitattributes-mode-help': don't pass section number

`man' supports passing a topic including a section number, but `woman'
(see `gitattributes-mode-man-function') doesn't, so just pass the topic.

Signed-off-by: Pieter Praet <pieter@praet.org>
`gitattributes-mode-backward-field': fix docstring typo

Its docstring was copy-pasted from `gitattributes-mode-forward-field',
but wasn't updated with regard to its new context.

Signed-off-by: Pieter Praet <pieter@praet.org>
`gitattributes-mode-{forward,backward}-field': DWIM

`gitattributes-mode-{forward,backward}-field' searched a single space
char forward/backward, so when the attributes were aligned with multiple
spaces (see e.g. the examples in the gitattributes(5) man page), we moved
forward/backward a single space at a time instead of from field to field.

By matching a single space followed by the empty string at the beginning
of a word (optionally preceded by an exclamation point or dash), it does
what it's supposed to do a bit better, but it definitely isn't perfect yet.

Signed-off-by: Pieter Praet <pieter@praet.org>
`git-rebase-mode-map': fix docstring typo fix

Commit af96de0e assumed `git-rebase-mode-map's docstring contained
a typo, but it turns out that it was just worded awkwardly.

But instead of reverting that commit, remove the line entirely,
as the code which used to add the keybinds for git-rebase-{pick,...}
to `git-rebase-mode-map' was removed in commit cb15fbe2...

Signed-off-by: Pieter Praet <pieter@praet.org>
Merge remote-tracking branch 'refs/remotes/praet/doc'
Merge remote-tracking branch 'praet/gitattributes-fixes'
Merge remote-tracking branch 'refs/remotes/praet/rebase-mode-map-typo'