debian maintainers are very good about reporting fixes upstream to the original developers, so many of their fixes are probably getting incorporated in the main code. The three patches you are using applied with many errors against the git version that debian is using.
The last code submission for version 4.6.2 was on 2008-02-19. the next official submit was on 2008-12-18, so for most of 2008 nothing was done. Most of the new changes from that point on are by three new authors, one of whom is the debian maintainer for mc. so you can be pretty sure that most of the debian changes are going upstream. debian is alos good about using patches from other distros when they have done things right. As I mentioned, some fixes for the utf8 feature came from mandriva.
So, I'd definetly recommend you to use the latest sources that debian is using:
mc_4.6.2~git20080311.orig.tar.gz
Those are clean sources taken from the mc git repository. But, get the debian patch also:
mc_4.6.2~git20080311-4.diff.gz
When you apply that patch it will not patche the inetrnal files directly. Instead all the patches are placed in the debian/patches directory of the sources. That way you can choose which ones you want to use. they are even divided up into categories.
And, it is always helpful to have a good look at the debian/rules file and any others used for the build. In the case of mc, debian is using something called Colin's Build System which has a file called 'rocks' with some goodies in it like this:
Code:
iconv -f ISO-8859-1 -t UTF-8 mc.hint > tmp && mv tmp mc.hint && \
iconv -f ISO-8859-1 -t UTF-8 mc.hlp > tmp && mv tmp mc.hlp && \
iconv -f ISO-8859-1 -t UTF-8 mc.hint.es > tmp && mv tmp mc.hint.es && \
iconv -f ISO-8859-1 -t UTF-8 mc.hlp.es > tmp && mv tmp mc.hlp.es && \
iconv -f ISO-8859-1 -t UTF-8 mc.hint.it > tmp && mv tmp mc.hint.it && \
iconv -f ISO-8859-1 -t UTF-8 mc.hlp.it > tmp && mv tmp mc.hlp.it && \
iconv -f ISO-8859-1 -t UTF-8 mc.hint.nl > tmp && mv tmp mc.hint.nl && \
iconv -f ISO-8859-2 -t UTF-8 mc.hint.cs > tmp && mv tmp mc.hint.cs && \
iconv -f ISO-8859-2 -t UTF-8 mc.hint.hu > tmp && mv tmp mc.hint.hu && \
iconv -f ISO-8859-2 -t UTF-8 mc.hlp.hu > tmp && mv tmp mc.hlp.hu && \
iconv -f ISO-8859-2 -t UTF-8 mc.hint.pl > tmp && mv tmp mc.hint.pl && \
iconv -f ISO-8859-2 -t UTF-8 mc.hlp.pl > tmp && mv tmp mc.hlp.pl && \
iconv -f ISO-8859-5 -t UTF-8 mc.hint.sr > tmp && mv tmp mc.hint.sr && \
iconv -f ISO-8859-5 -t UTF-8 mc.hlp.sr > tmp && mv tmp mc.hlp.sr && \
iconv -f ISO-8859-5 -t UTF-8 mc.menu.sr > tmp && mv tmp mc.menu.sr && \
iconv -f koi8-r -t UTF-8 mc.hint.ru > tmp && mv tmp mc.hint.ru && \
iconv -f koi8-r -t UTF-8 mc.hlp.ru > tmp && mv tmp mc.hlp.ru && \
iconv -f koi8-u -t UTF-8 mc.hint.uk > tmp && mv tmp mc.hint.uk && \
iconv -f big5 -t UTF-8 mc.hint.zh > tmp && mv tmp mc.hint.zh
Tadaaa!
Hope this has helped you some more.