Hi Dave,

[email protected] writes:

> From: "Dr. David Alan Gilbert" <[email protected]>
>
> The assign to next_tab_column in the backspace branch is never
> read; in fact it's always written and then read solely inside the
> blank branch.
>
> Move the declaration of 'next_tab_column' down into the blank
> branch, and remove its assignment in the backspace branch.
>
> Spotted by the 'infer' static checker.

Interesting. I have not heard of 'infer' until now [1].

> * src/unexpand.c: Remove dead store of next_tab_column
> ---
>  src/unexpand.c | 10 ++++------
>  1 file changed, 4 insertions(+), 6 deletions(-)
>
> diff --git a/src/unexpand.c b/src/unexpand.c
> index b92a9517a..54b3ae2fe 100644
> --- a/src/unexpand.c
> +++ b/src/unexpand.c
> @@ -140,9 +140,6 @@ unexpand (void)
>        /* Column of next input character.  */
>        colno column = 0;
>  
> -      /* Column the next input tab stop is on.  */
> -      colno next_tab_column = 0;
> -
>        /* Index in TAB_LIST of next tab stop to examine.  */
>        idx_t tab_index = 0;
>  
> @@ -173,8 +170,10 @@ unexpand (void)
>                  {
>                    bool last_tab;
>  
> -                  next_tab_column = get_next_tab_column (column, &tab_index,
> -                                                         &last_tab);
> +                  /* Column the next input tab stop is on.  */
> +                  colno next_tab_column = get_next_tab_column (column,
> +                                                               &tab_index,
> +                                                               &last_tab);
>  
>                    if (last_tab)
>                      convert = false;
> @@ -217,7 +216,6 @@ unexpand (void)
>                    /* Go back one column, and force recalculation of the
>                       next tab stop.  */
>                    column -= !!column;
> -                  next_tab_column = column;
>                    tab_index -= !!tab_index;
>                  }
>                else

This looks correct to me, but I rather wait until 9.10 to apply it. The
source code for unexpand/expand and some similar programs (e.g. fold) is
not always the most intuitive.

Collin

[1] https://fbinfer.com/

Reply via email to