Thanks for the patch. I have applied it to a branch named "revised_text_ober", that I have created off the commit [96115bb33cc2befb] you mention.

For me it still does not compile. Here is the output I get on vista with VS 2008 32 bits:

<verbatim>
Hosing ...

Microsoft (R) Program Maintenance Utility Version 9.00.21022.08
Copyright (C) Microsoft Corporation.  All rights reserved.

===============================================================================
*** Compiler has 'Optimizations'
*** Compiler does not have 'Pentium 0x0f fix'
*** Linker has 'Win98 alignment problem'
*** Doing symbols
*** Intermediate directory will be
*** Output directory will be '.\Debug_VC9'
*** Suffix for binaries will be 'tg'
*** Optional defines are -DSTDC_HEADERS -DTCL_NO_DEPRECATED -DTCL_THREADS=1 -DUSE_THREAD_ALLOC=1'
*** Compiler version 9. Target machine is IX86
*** Host architecture is AMD64
*** Compiler options '-W3 /DUNICODE /D_UNICODE /D_ATL_XP_TARGETING  -Ot -Oi -fp:strict -Gs -GS -GL  -RTC1 -W3'
*** Link options '-ltcg'
*** Dependency rules are not being used.

        cl -nologo -c -W3 /DUNICODE /D_UNICODE /D_ATL_XP_TARGETING -W3 -D _CRT_SECURE_NO_DEPRECATE -D _CRT_NONSTDC_NO_DEPRECATE
c\ -Zi -WX  -RTC1 -DBUILD_ttk -DSTDC_HEADERS -DTCL_NO_DEPRECATED -DTCL_THREADS=1 -DUSE_THREAD_ALLOC=1  -DSTDC_HEADERS=1 -DHAVE_
SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1  -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1  -DHAVE_STRINGS_H=1  -DSUPPORT_CONFIG_EMBEDDED  -DHAVE_UXTHEME_H=1 -Din
line=__inline -DMODULE_SCOPE=""

lib"  -Zl -DSTATIC_BUILD -

tkStubLib.c
        cl -DBUILD_tk -Zi -WX  -RTC1 -nologo -c -W3 /DUNICODE /D_UNICODE /D_ATL_XP_TARGETING -W3 -D _CRT_SECURE_NO_DEPRECATE -D _CRT_NONSTDC_NO_DEPRECATE -Fp.\D
-MDd

\xlib"  -DBUILD_ttk -DTCL_
-DSTDC_HEADERS -DTCL_NO_DEPRECATED -DTCL_THREADS=1 -DUSE_THREAD_ALLOC=1  -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1  -
DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1  -DHAVE_STRINGS_H=1  -DSUPPORT_CONFIG_EMBEDDED  -DHAVE_UXTHEME_H=1 -Dinline=__inline -DMODULE_SCOPE="" -DUS
E_TCL_STUBS
ttkStubLib.c
        lib -nologo -nodefaultlib
        cl -Zi -WX  -RTC1 -nologo -c -W3 /DUNICODE /D_UNICODE /D_ATL_XP_TARGETING -W3 -D _CRT_SECURE_NO_DEPRECATE -D _CRT_NONSTDC_NO_DEPRECATE
_ThreadedDynamic\ -MDd
generic" -I"
-DBUILD_ttk -DTCL_CFGVAL_ENCO
-DSTDC_HEADERS -DTCL_NO_DEPRECATED -DTCL_THREADS=1 -DUSE_THREAD_ALLOC=1  -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1  -DHAVE_STDLI
B_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1  -DHAVE_STRINGS_H=1  -DSUPPORT_CONFIG_EMBEDDED  -DHAVE_UXTHEME_H=1 -Dinline=__inline -DMODULE_SCOPE=""  -DTCL_USE_STAT
IC_PACKAGES=0
winMain.c
        rc -fo -r -i -i
dDynamic" -d DEBUG=1 -d U
NCHECKED=0  -d TCL_THREADS=1  -d STATIC_BUILD=0
Microsoft (R) Windows (R) Resource Compiler Version 6.0.5724.0
Copyright (C) Microsoft Corporation.  All rights reserved.

        cl -DBUILD_tk -Zi -WX  -RTC1 -nologo -c -W3 /DUNICODE /D_UNICODE /D_ATL_XP_TARGETING -W3 -D _CRT_SECURE_NO_DEPRECATE -D _CRT_NONSTDC_NO_DEPRECATE -Fp.\D
-MDd

\xlib"  -DBUILD_ttk -DTCL_
-DSTDC_HEADERS -DTCL_NO_DEPRECATED -DTCL_THREADS=1 -DUSE_THREAD_ALLOC=1  -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1  -
DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1  -DHAVE_STRINGS_H=1  -DSUPPORT_CONFIG_EMBEDDED  -DHAVE_UXTHEME_H=1 -Dinline=__inline -DMODULE_SCOPE="" -DUS
E_TCL_STUBS -DTK_ASCII_MAIN
tkMain.c
        rc -fo -r -i -i
ynamic" -d DEBUG=1 -d UNC
HECKED=0  -d TCL_THREADS=1  -d STATIC_BUILD=0
Microsoft (R) Windows (R) Resource Compiler Version 6.0.5724.0
Copyright (C) Microsoft Corporation.  All rights reserved.

        cl -DBUILD_tk -Zi -WX  -RTC1 -nologo -c -W3 /DUNICODE /D_UNICODE /D_ATL_XP_TARGETING -W3 -D _CRT_SECURE_NO_DEPRECATE -D _CRT_NONSTDC_NO_DEPRECATE -Fp.\D
-MDd

\xlib"  -DBUILD_ttk -DTCL_
-DSTDC_HEADERS -DTCL_NO_DEPRECATED -DTCL_THREADS=1 -DUSE_THREAD_ALLOC=1  -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1  -
DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1  -DHAVE_STRINGS_H=1  -DSUPPORT_CONFIG_EMBEDDED  -DHAVE_UXTHEME_H=1 -Dinline=__inline -DMODULE_SCOPE="" -DUS
E_TCL_STUBS
tkConsole.c
tk3d.c
tkArgv.c
tkAtom.c
tkBind.c
tkBitField.c
: error C2220: warning treated as error - no 'object' file generated
: warning C4005: 'inline' : macro redefinition
        command-line arguments :  see previous definition of 'inline'
: warning C4146: unary minus operator applied to unsigned type, result
still unsigned
tkBitmap.c
tkBusy.c
tkButton.c
tkCanvArc.c
tkCanvBmap.c
tkCanvImg.c
tkCanvLine.c
tkCanvPoly.c
tkCanvPs.c
tkCanvText.c
tkCanvUtil.c
tkCanvWind.c
tkCanvas.c
tkClipboard.c
Generating Code...
Compiling...
tkCmds.c
tkColor.c
tkConfig.c
tkCursor.c
tkEntry.c
tkError.c
tkEvent.c
tkFileFilter.c
tkFocus.c
tkFont.c
tkFrame.c
tkGC.c
tkGeometry.c
tkGet.c
tkGrab.c
tkGrid.c
tkImage.c
tkImgBmap.c
tkImgGIF.c
tkImgPNG.c
Generating Code...
Compiling...
tkImgPPM.c
tkImgPhoto.c
tkImgPhInstance.c
tkImgUtil.c
tkIntSet.c
: error C2220: warning treated as error - no 'object' file generated
: warning C4005: 'inline' : macro redefinition
        command-line arguments :  see previous definition of 'inline'
tkListbox.c
tkMacWinMenu.c
tkMain.c
tkMenu.c
tkMenubutton.c
tkMenuDraw.c
tkMessage.c
tkPanedWindow.c
tkObj.c
tkOldConfig.c
tkOption.c
tkPack.c
tkPlace.c
tkPointer.c
tkQTree.c
: error C2220: warning treated as error - no 'object' file generated
: warning C4005: 'WCHAR_MIN' : macro redefinition
        C:\Program Files (x86)\Microsoft Visual Studio : see previous definition of 'WCHAR_MIN'
: warning C4005: 'inline' : macro redefinition
        command-line arguments :  see previous definition of 'inline'
: warning C4028: formal parameter 1 different from declaration
Generating Code...
Compiling...
tkRangeList.c
: error C2220: warning treated as error - no 'object' file generated
: warning C4005: 'inline' : macro redefinition
        command-line arguments :  see previous definition of 'inline'
tkRectOval.c
tkScale.c
tkScrollbar.c
tkSelect.c
tkStyle.c
tkText.c
: error C2220: warning treated as error - no 'object' file generated
: warning C4005: 'WCHAR_MIN' : macro redefinition
        C:\Program Files (x86)\Microsoft Visual Studio : see previous definition of 'WCHAR_MIN'
: warning C4005: 'inline' : macro redefinition
        command-line arguments :  see previous definition of 'inline'
: warning C4146: unary minus operator applied to unsigned type, result sti
ll unsigned
: warning C4018: '<' : signed/unsigned mismatch
: warning C4018: '<' : signed/unsigned mismatch
: warning C4018: '<' : signed/unsigned mismatch
: warning C4018: '<' : signed/unsigned mismatch
: warning C4018: '<' : signed/unsigned mismatch
: warning C4018: '<' : signed/unsigned mismatch
: warning C4018: '<' : signed/unsigned mismatch
tkTextBTree.c
: error C2220: warning treated as error - no 'object' file generated
: warning C4005: 'WCHAR_MIN' : macro redefinition
        C:\Program Files (x86)\Microsoft Visual Studio : see previous definition of 'WCHAR_MIN'
: warning C4005: 'inline' : macro redefinition
        command-line arguments :  see previous definition of 'inline'
: warning C4146: unary minus operator applied to unsigned type, resul
t still unsigned
: warning C4146: unary minus operator applied to unsigned type, resul
t still unsigned
: warning C4146: unary minus operator applied to unsigned type, resul
t still unsigned
: warning C4146: unary minus operator applied to unsigned type, resul
t still unsigned
: warning C4018: '<=' : signed/unsigned mismatch
: warning C4018: '<=' : signed/unsigned mismatch
: warning C4018: '<=' : signed/unsigned mismatch
: warning C4018: '<' : signed/unsigned mismatch
: warning C4018: '<' : signed/unsigned mismatch
: warning C4018: '<=' : signed/unsigned mismatch
: warning C4018: '>=' : signed/unsigned mismatch
: warning C4146: unary minus operator applied to unsigned type, resul
t still unsigned
: warning C4146: unary minus operator applied to unsigned type, resul
t still unsigned
: warning C4018: '<' : signed/unsigned mismatch
: warning C4018: '>=' : signed/unsigned mismatch
: warning C4018: '<' : signed/unsigned mismatch
: warning C4018: '<=' : signed/unsigned mismatch
: warning C4018: '<' : signed/unsigned mismatch
: warning C4018: '<' : signed/unsigned mismatch
: warning C4146: unary minus operator applied to unsigned type, resul
t still unsigned
: warning C4018: '<=' : signed/unsigned mismatch
: warning C4018: '>=' : signed/unsigned mismatch
: warning C4018: '>' : signed/unsigned mismatch
: warning C4018: '<=' : signed/unsigned mismatch
: warning C4018: '>=' : signed/unsigned mismatch
: warning C4018: '<=' : signed/unsigned mismatch
: warning C4018: '<=' : signed/unsigned mismatch
: warning C4018: '>' : signed/unsigned mismatch
: warning C4550: expression evaluates to a function which is missing
an argument list
: warning C4550: expression evaluates to a function which is missing
 an argument list
: warning C4018: '<' : signed/unsigned mismatch
: warning C4018: '<' : signed/unsigned mismatch
: warning C4018: '<' : signed/unsigned mismatch
: warning C4018: '<' : signed/unsigned mismatch
: warning C4018: '<' : signed/unsigned mismatch
: warning C4018: '<' : signed/unsigned mismatch
: warning C4018: '<' : signed/unsigned mismatch
: warning C4018: '<=' : signed/unsigned mismatch
: warning C4018: '<=' : signed/unsigned mismatch
: warning C4018: '>=' : signed/unsigned mismatch
: warning C4018: '<' : signed/unsigned mismatch
: warning C4018: '>=' : signed/unsigned mismatch
: warning C4018: '<' : signed/unsigned mismatch
tkTextDisp.c
: error C2220: warning treated as error - no 'object' file generated
: warning C4005: 'WCHAR_MIN' : macro redefinition
        C:\Program Files (x86)\Microsoft Visual Studio : see previous definition of 'WCHAR_MIN'
: warning C4005: 'inline' : macro redefinition
        command-line arguments :  see previous definition of 'inline'
: warning C4018: '<' : signed/unsigned mismatch
: warning C4113: 'void (__cdecl *)()' differs in parameter lists from
'void (__cdecl *)(void)'
: warning C4018: '>=' : signed/unsigned mismatch
: warning C4018: '<' : signed/unsigned mismatch
: warning C4018: '<' : signed/unsigned mismatch
: warning C4018: '>=' : signed/unsigned mismatch
: warning C4018: '<' : signed/unsigned mismatch
: warning C4018: '<' : signed/unsigned mismatch
: warning C4018: '<' : signed/unsigned mismatch
: warning C4018: '<=' : signed/unsigned mismatch
: warning C4018: '<' : signed/unsigned mismatch
: warning C4018: '>' : signed/unsigned mismatch
: warning C4018: '<' : signed/unsigned mismatch
: warning C4018: '<' : signed/unsigned mismatch
: warning C4018: '>=' : signed/unsigned mismatch
: warning C4018: '<' : signed/unsigned mismatch
: warning C4018: '>' : signed/unsigned mismatch
: warning C4098: 'TkTextFindDisplayLineStartEnd' : 'void' function ret
urning a value
: warning C4018: '<=' : signed/unsigned mismatch
: warning C4018: '<=' : signed/unsigned mismatch
: warning C4018: '<' : signed/unsigned mismatch
: warning C4018: '<' : signed/unsigned mismatch
: warning C4018: '<' : signed/unsigned mismatch
: warning C4018: '<' : signed/unsigned mismatch
: warning C4018: '>=' : signed/unsigned mismatch
: warning C4018: '>=' : signed/unsigned mismatch
: warning C4018: '<' : signed/unsigned mismatch
: warning C4018: '>=' : signed/unsigned mismatch
: warning C4018: '>=' : signed/unsigned mismatch
: warning C4018: '<=' : signed/unsigned mismatch
tkTextImage.c
: error C2220: warning treated as error - no 'object' file generated
: warning C4005: 'WCHAR_MIN' : macro redefinition
        C:\Program Files (x86)\Microsoft Visual Studio : see previous definition of 'WCHAR_MIN'
: warning C4005: 'inline' : macro redefinition
        command-line arguments :  see previous definition of 'inline'
: warning C4018: '<' : signed/unsigned mismatch
: warning C4018: '>' : signed/unsigned mismatch
: warning C4018: '<=' : signed/unsigned mismatch
tkTextIndex.c
: error C2220: warning treated as error - no 'object' file generated
: warning C4005: 'WCHAR_MIN' : macro redefinition
        C:\Program Files (x86)\Microsoft Visual Studio : see previous definition of 'WCHAR_MIN'
: warning C4005: 'inline' : macro redefinition
        command-line arguments :  see previous definition of 'inline'
: warning C4018: '<' : signed/unsigned mismatch
: warning C4018: '>' : signed/unsigned mismatch
tkTextLineBreak.c
: error C2220: warning treated as error - no 'object' file generated
: warning C4005: 'WCHAR_MIN' : macro redefinition
        C:\Program Files (x86)\Microsoft Visual Studio : see previous definition of 'WCHAR_MIN'
: warning C4005: 'inline' : macro redefinition
        command-line arguments :  see previous definition of 'inline'
: warning C4018: '>=' : signed/unsigned mismatch
: warning C4018: '>=' : signed/unsigned mismatch
: warning C4018: '<' : signed/unsigned mismatch
tkTextMark.c
: error C2220: warning treated as error - no 'object' file generated
: warning C4005: 'WCHAR_MIN' : macro redefinition
        C:\Program Files (x86)\Microsoft Visual Studio : see previous definition of 'WCHAR_MIN'
: warning C4005: 'inline' : macro redefinition
        command-line arguments :  see previous definition of 'inline'
tkTextTag.c
: error C2220: warning treated as error - no 'object' file generated
: warning C4005: 'WCHAR_MIN' : macro redefinition
        C:\Program Files (x86)\Microsoft Visual Studio : see previous definition of 'WCHAR_MIN'
: warning C4005: 'inline' : macro redefinition
        command-line arguments :  see previous definition of 'inline'
: warning C4018: '<' : signed/unsigned mismatch
: warning C4018: '<' : signed/unsigned mismatch
: warning C4018: '<' : signed/unsigned mismatch
: warning C4018: '<' : signed/unsigned mismatch
: warning C4018: '<=' : signed/unsigned mismatch
: warning C4018: '<=' : signed/unsigned mismatch
: warning C4018: '<=' : signed/unsigned mismatch
: warning C4018: '<=' : signed/unsigned mismatch
tkTextTagSet.c
: error C2220: warning treated as error - no 'object' file generated
: warning C4005: 'inline' : macro redefinition
        command-line arguments :  see previous definition of 'inline'
tkTextUndo.c
: error C2220: warning treated as error - no 'object' file generated
: warning C4005: 'inline' : macro redefinition
        command-line arguments :  see previous definition of 'inline'
C:\Program Files (x86)\Microsoft Visual Studio : warning C4005: 'WCHAR_MIN' : macro redefinition
        : see previous definition of 'WCHAR_MIN'
: warning C4018: '>=' : signed/unsigned mismatch
: warning C4018: '<' : signed/unsigned mismatch
: warning C4550: expression evaluates to a function which is missing an
 argument list
: warning C4018: '<' : signed/unsigned mismatch
: warning C4018: '<' : signed/unsigned mismatch
: warning C4018: '>=' : signed/unsigned mismatch
tkTextWind.c
: error C2220: warning treated as error - no 'object' file generated
: warning C4005: 'WCHAR_MIN' : macro redefinition
        C:\Program Files (x86)\Microsoft Visual Studio : see previous definition of 'WCHAR_MIN'
: warning C4005: 'inline' : macro redefinition
        command-line arguments :  see previous definition of 'inline'
tkTrig.c
tkUtil.c
tkVisual.c
Generating Code...
Compiling...
tkStubInit.c
tkWindow.c
Generating Code...
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio : return code '0x2'
Stop.
</verbatim>