On Tue, Aug 30, 2016 at 06:18:37PM -0700, [email protected] wrote:
> enter.c | 27 ++++++++++++++++++++++++++-
> 1 files changed, 26 insertions(+), 1 deletions(-)
>
>
> # HG changeset patch
> # User David Champion <[email protected]>
> # Date 1472606303 25200
> # Tue Aug 30 18:18:23 2016 -0700
> # Node ID b18e00baf96e46fea51555eaede1a6ff7b9fcd06
> # Parent ea53e34cfe2833ce95af60a28d83a6f86c3403c6
> Permit tab completion of pattern expressions with ~y (labels).
>
> diff --git a/enter.c b/enter.c
> --- a/enter.c
> +++ b/enter.c
> @@ -568,7 +568,6 @@
> }
> else if (flags & MUTT_LABEL && ch == OP_EDITOR_COMPLETE)
> {
> - /* invoke the alias-menu to get more addresses */
Should this be part of the patch?
> for (i = state->curpos; i && state->wbuf[i-1] != ',' &&
> state->wbuf[i-1] != ':'; i--)
> ;
> @@ -584,6 +583,32 @@
> }
> break;
> }
> + else if (flags & MUTT_PATTERN && ch == OP_EDITOR_COMPLETE)
> + {
> + char *p;
> + for (i = state->curpos; i && state->wbuf[i-1] != ',' &&
> + state->wbuf[i-1] != ':'; i--)
> + ;
> + for (; i < state->lastchar && state->wbuf[i] == ' '; i++)
> + ;
> + my_wcstombs (buf, buflen, state->wbuf + i, state->curpos - i);
> + p = &buf[i];
> + while (p > buf && *(p-1) != '~')
> + p--;
> + if (*p == '~' && *(p+1) == 'y')
> + {
> + r = mutt_label_complete (buf, buflen, i, state->tabs);
> + replace_part (state, i, buf);
> + if (!r)
> + {
> + rv = 1;
> + goto bye;
> + }
> + }
> + else
> + goto self_insert;
> + break;
> + }
Your patch mixes tabulations and whitespaces. I believe mutt's policy is
whitespaces only, so it would be nice to use only whitespaces for all
new code.
It also makes use of mutt_label_complete which doesn't exist at this
point. If there are patches that need to be reviewed in order, it would
be nice to group them in a numeroted serie/patchset.
Thanks,
--
Damien