Subject: bug#31368: [Bug-vc-dwim] bug#31368: vc-chlog reports "test: Illegal number" errors

From: Jim Meyering <[email-masked]>
Date: Sat, 5 May 2018 18:07:42 -0700

On Fri, May 4, 2018 at 5:50 PM, Bruno Haible <[email-masked]> wrote:
> How to reproduce:
...
> vc-chlog version 1.8

Hi Bruno,

Thank you for the report.
I can make vc-chlog misbehave that way by configuring and building
vc-dwim tools with an exuberant ctags binary first in search path, but
(say later) running vc-chlog with a different ctags (e.g., from emacs)
earlier in the search path.

You have two solutions:
- rerun vc-dwim's configure+build+install to take into account the new
ctags state of your shell's search path.
- restore the expected ctags binary to the earlier spot in your
shell's search path.

Ideas for how vc-dwim can do better on this front:
- hard-code the path to ctags that it finds during configure, but we
prefer not to hard-code such paths...
- make vc-chlog detect which ctags it is using at run time. Not ideal,
but it would have saved you this trouble. The configure check shows
how simple the test is:

case `$CTAGS -x conftest.c` in
  *function*) rw_cv_ctags_type_column=yes ;;
  *) rw_cv_ctags_type_column=no;;
esac

But I suspect we could get away with an even less expensive check:
inspect the output of ctags --version. If it matches something like
/^Exuberant Ctags/, assume we have the more desirable type column.

I'm leaning towards the latter. What do you think?