HEADSUP: lesstif replaced by motif
Tue Nov 27 03:12:00 GMT 2012
On 11/26/2012 05:28, Jon TURNEY wrote:
> The initial output to the gdb window
> stops before the 'Ã¼' in "Dorothea LÃ¼tkehaus" (internally this is ISO-8859-1
> encoded and presumably forms an invalid UTF-8 sequence)
Only the 7-bit ASCII subset of ISO 8859-x is legal UTF-8.
> This is listed in the ddd PROBLEMS file with solutions "don't use a UTF-8
> locale" or "link with lesstif" :-)
Isn't the core problem that DDD has been semi-maintainerless[*] for
years, and that these are the same as the years of UTF-8's ascendancy?
I ask because it's the basis of my guess is that if you tried to provide
a patch upstream, it would be ignored. That, or they'd invite you to
become the new maintainer. :)
So, my advice is to either maintain a private patch for Cygwin DDD or
take over maintainership of DDD.
> A minimal fix might be to just replace the
> ISO-8859-1 encoded strings with their ASCII equivalents (e.g. Ã¼ -> u)
German umlaut-ed characters are generally Anglicized as "ue", "oe", etc.
> a better solution might
> be to actually fix ddd, but I have no idea what would be involved.
The easiest way to fix this is with iconv(1):
$ iconv -f iso-8859-1 -t utf-8 < foo.c > foo-fixed.c
$ wc -c foo.c foo-fixed.c
$ mv foo-fixed.c foo.c
N is the original file size and M will be at least 1 byte per replaced
character, but potentially up to 3 per replaced character.
I suspect you'll run into a problem if you're using cygport. It will
try to make a patch file for you when it sees that you've run iconv on
the -src directory contents, since the corresponding -origsrc files are
now different. But, since cygport is running in a UTF-8 locale, it's
going to either truncate the 8859 input files or mangle them. You might
have to do some shell script gymnastics to avoid this.
All the more reason to arm-twist upstream, if you can. Or become
More information about the Cygwin-apps