[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[wdiff-bugs] Re: wdiff (was: Re: gnulib-cache.m4 readability)
From: |
Denver Gingerich |
Subject: |
[wdiff-bugs] Re: wdiff (was: Re: gnulib-cache.m4 readability) |
Date: |
Sun, 29 Jun 2008 22:40:34 -0400 |
On Tue, Jun 24, 2008 at 7:51 PM, Bruno Haible <address@hidden> wrote:
[...]
>> wdiff 0.5.93 is now available (at http://alpha.gnu.org/gnu/wdiff/),
>> which includes a plethora of fixes since 0.5.90. The plan is to
>> release 0.6 within the next month.
>
> I take this as a "request for testing". Feedback below.
>
>> > 2) the program should support colorized output like we know it from webcvs
>> > and others.
>>
>> By "the program", do you mean wdiff or some web-based diff viewer?
>
> I meant the wdiff program. It has an option -t which can produce underlined/
> reversed video in terminal emulators. Why not also colors? That's done with
> escape sequences, like the underlining/reverse video.
>
> <propaganda>
> I would recommend to use the same mechanism as the 'msgcat' program, which
> allows the user to specify the colors in the output freely, in well-known
> CSS syntax.
> http://www.gnu.org/software/gettext/manual/html_node/msgcat-Invocation.html
>
> http://www.gnu.org/software/gettext/manual/html_node/The-_002d_002dcolor-option.html
>
> http://www.gnu.org/software/gettext/manual/html_node/The-_002d_002dstyle-option.html
> I'm planning to move this facility out of GNU gettext into an independent
> library.
> </propaganda>
>
>> But if you can make a convincing case for colorized output in wdiff,
>> perhaps I could add it.
>
> The main argument is that it will save other programs from parsing the
> wdiff output.
I will investigate your colorized output suggestions for future
inclusion into wdiff. These are unlikely to make it into 0.6 since
0.6 is intended to be primarily a bug fix and tool-updating release.
> (Can it be parsed unambiguously at all?)
No. We need to add line numbers for unambiguous parsing, which has
yet to be done. Once that's implemented, a wpatch won't be too far
off.
> Now for some little things that would be worth improving before the 0.6
> release:
>
> * The config.guess, config.sub infrastructure is one year old.
>
> * The gnulib infrastructure in lib/ and m4/ appears to be also at least
> 10 months old.
>
> * The configure file was generated with autoconf-2.61, which leads to weird
> configure output on MacOS X 10.5:
>
> checking for alloca as a compiler built-in... rm: cannot remove
> `conftest.dSYM': Is a directory
> yes
>
> This can be fixed by using autoconf-2.62.
All of these issues are caused by my reliance on distribution-provided
tools, which are out of date. I wasn't aware that they were causing
issues, but now I see there is at least one unwanted problem (the OS X
configure output). I will be updating my tools shortly.
> * What's up with the ChangeLogs? You say, there are many fixes, but
> src/ChangeLog ends in 1999.
I have not been updating the ChangeLogs since I took over the project.
I've been waiting until I figure out the proper format for them,
including how to attribute patches and bug reports/non-code fixes. I
have been keeping detailed CVS commit log messages, however, and these
will be integrated into the ChangeLogs before the 0.6 release.
> * There are many warnings when compiling with "gcc -Wall":
Thanks for reporting these. I will do my best to fix them for 0.6.
They look pretty easy to fix, though patches are always welcome.
> * The -t option is not functioning even on normal Linux systems:
>
> $ ./wdiff -t
> ./wdiff: Cannot use -t, termcap not available.
>
> Reason: wdiff.c tests HAVE_TPUTS but config.h.in does not have an entry for
> it. That is because configure.ac does not test for it. And if it did, it
> would need to link against -lncurses or (old-style) -ltermcap.
>
> You can find an autoconf macro and substitute code for -lncurses/-ltermcap
> in the GNU gettext repository, as gnulib modules 'termcap-h', 'termcap' in
> http://cvs.savannah.gnu.org/viewvc/gettext/gnulib-local/modules/?root=gettext
> The autoconf macro is termcap.m4 in
> http://cvs.savannah.gnu.org/viewvc/gettext/gnulib-local/m4/?root=gettext
> (You can use these files by checking out the gettext CVS and then using
> gnulib-tool --local-dir option pointing to gettext's gnulib-local directory.)
Thanks for letting me know about this. I will implement your
suggested fix for 0.6. Again, patches are welcome.
> * The #ifdefs at the head of wdiff.c and in system.h can also well use some
> modernization.
Do you mean that most of them are unnecessary? It seems that Gnulib
fixes most of the issues that these #ifdefs were trying to solve. I
will go through them to see which, if any, are actual needed and clean
them up for 0.6. And of course, patches are welcome.
Denver