aboutsummaryrefslogtreecommitdiffstats
path: root/chinese/tk83
diff options
context:
space:
mode:
authorkevlo <kevlo@FreeBSD.org>2001-02-22 12:09:59 +0800
committerkevlo <kevlo@FreeBSD.org>2001-02-22 12:09:59 +0800
commit6540af7e733c22d1dedebea31d4bdba93524472c (patch)
treeb37172922514e273245ce404168b135146541d5d /chinese/tk83
parent6a8640318f570426dfbf117b7c8421b5297f1366 (diff)
downloadfreebsd-ports-gnome-6540af7e733c22d1dedebea31d4bdba93524472c.tar.gz
freebsd-ports-gnome-6540af7e733c22d1dedebea31d4bdba93524472c.tar.zst
freebsd-ports-gnome-6540af7e733c22d1dedebea31d4bdba93524472c.zip
Chineselized Tk ver. 8.3.0. This version is i18n improvement.
This changes the behavior of Tk on X where X Input Methods (XIM) were recognized and used without question. With 8.3, they will be recognized and initialized, but not used unless XIM is turned on (tk useinputmethods 1). This should only affect users users with special input methods, and the new default behavior should be more beneficial to the average user. Please repo copy, thanks.
Diffstat (limited to 'chinese/tk83')
-rw-r--r--chinese/tk83/Makefile316
-rw-r--r--chinese/tk83/distinfo1
-rw-r--r--chinese/tk83/files/patch-aa1606
-rw-r--r--chinese/tk83/files/patch-ab174
-rw-r--r--chinese/tk83/files/patch-ac20
-rw-r--r--chinese/tk83/files/patch-ad34
-rw-r--r--chinese/tk83/files/patch-ae261
-rw-r--r--chinese/tk83/files/patch-af91
-rw-r--r--chinese/tk83/files/patch-ag13
-rw-r--r--chinese/tk83/files/patch-ah136
-rw-r--r--chinese/tk83/files/patch-ai14
-rw-r--r--chinese/tk83/files/patch-aj26
-rw-r--r--chinese/tk83/files/patch-ak47
-rw-r--r--chinese/tk83/files/patch-al73
-rw-r--r--chinese/tk83/files/patch-am306
-rw-r--r--chinese/tk83/files/patch-an16
-rw-r--r--chinese/tk83/files/patch-ao16
-rw-r--r--chinese/tk83/pkg-comment1
-rw-r--r--chinese/tk83/pkg-deinstall.wish22
-rw-r--r--chinese/tk83/pkg-descr6
-rw-r--r--chinese/tk83/pkg-install.wish32
-rw-r--r--chinese/tk83/pkg-plist139
22 files changed, 3350 insertions, 0 deletions
diff --git a/chinese/tk83/Makefile b/chinese/tk83/Makefile
new file mode 100644
index 000000000000..61b30bcc6fd5
--- /dev/null
+++ b/chinese/tk83/Makefile
@@ -0,0 +1,316 @@
+# New ports collection makefile for: tk
+# Date created: 22 February 2001
+# Whom: Kevin Lo <kevlo@FreeBSD.org>
+#
+# $FreeBSD$
+#
+
+PORTNAME= tk
+PORTVERSION= 8.3.0
+CATEGORIES= chinese x11-toolkits tk83
+MASTER_SITES= ${MASTER_SITE_TCLTK}
+MASTER_SITE_SUBDIR= tcl8_3
+DISTNAME= ${PORTNAME}${PORTVERSION}
+
+MAINTAINER= kevlo@FreeBSD.org
+
+LIB_DEPENDS= tcl83.1:${PORTSDIR}/chinese/tcl83
+
+USE_XLIB= yes
+WRKSRC= ${WRKDIR}/${DISTNAME}/unix
+GNU_CONFIGURE= yes
+CONFIGURE_ENV= PORTSDIR=${PORTSDIR} TK_LIB_FILE=libtk83.so.1
+CONFIGURE_ARGS= --enable-shared --with-tcl=${PREFIX}/lib/tcl8.3 \
+ --enable-i18nImprove
+INSTALLS_SHLIB= yes
+MAKE_ENV= SHORT_TK_VER=83
+PKGINSTALL= ${PKGDIR}/INSTALL.wish
+
+PLIST_SUB= TK_VER=8.3 SHORT_TK_VER=83
+
+MANCOMPRESSED= no
+
+MAN1= wish.1
+MAN3= 3DBorder.3 BindTable.3 CanvPsY.3 CanvTkwin.3 CanvTxtInfo.3 \
+ Clipboard.3 ClrSelect.3 ConfigWidg.3 ConfigWind.3 CoordToWin.3 \
+ CrtErrHdlr.3 CrtGenHdlr.3 CrtImgType.3 CrtItemType.3 CrtPhImgFmt.3 \
+ CrtSelHdlr.3 CrtWindow.3 DeleteImg.3 DrawFocHlt.3 EventHndlr.3 \
+ FindPhoto.3 FontId.3 FreeXId.3 GeomReq.3 GetAnchor.3 GetBitmap.3 \
+ GetCapStyl.3 GetClrmap.3 GetColor.3 GetCursor.3 GetDash.3 GetFont.3 \
+ GetGC.3 GetImage.3 GetJoinStl.3 GetJustify.3 GetOption.3 GetPixels.3 \
+ GetPixmap.3 GetRelief.3 GetRootCrd.3 GetScroll.3 GetSelect.3 GetUid.3 \
+ GetVRoot.3 GetVisual.3 HandleEvent.3 IdToWindow.3 ImgChanged.3 \
+ InternAtom.3 MainLoop.3 MainWin.3 MaintGeom.3 ManageGeom.3 \
+ MapWindow.3 MeasureChar.3 MoveToplev.3 Name.3 NameOfImg.3 OwnSelect.3 \
+ ParseArgv.3 QWinEvent.3 Restack.3 RestrictEv.3 SetAppName.3 \
+ SetClass.3 SetGrid.3 SetOptions.3 SetVisual.3 StrictMotif.3 \
+ TextLayout.3 Tk_Init.3 Tk_Main.3 TkInitStubs.3 WindowId.3
+MANN= bell.n bind.n bindtags.n bitmap.n button.n canvas.n checkbutton.n \
+ chooseColor.n chooseDirectory.n clipboard.n destroy.n dialog.n entry.n\
+ event.n focus.n focusNext.n font.n frame.n getOpenFile.n grab.n grid.n\
+ image.n label.n listbox.n loadTk.n lower.n menu.n menubar.n \
+ menubutton.n message.n messageBox.n option.n optionMenu.n options.n \
+ pack-old.n pack.n palette.n photo.n place.n popup.n radiobutton.n \
+ raise.n scale.n scrollbar.n selection.n send.n text.n tk.n tkerror.n \
+ tkvars.n tkwait.n toplevel.n winfo.n wm.n
+
+# MLINKS generated via awk '/ln/ {print "\t" $2,$3,"\\"}' unix/mkLinks
+MLINKS= 3DBorder.3 Tk_Alloc3DBorderFromObj.3 \
+ 3DBorder.3 Tk_Get3DBorder.3 \
+ 3DBorder.3 Tk_Get3DBorderFromObj.3 \
+ 3DBorder.3 Tk_Draw3DRectangle.3 \
+ 3DBorder.3 Tk_Fill3DRectangle.3 \
+ 3DBorder.3 Tk_Draw3DPolygon.3 \
+ 3DBorder.3 Tk_Fill3DPolygon.3 \
+ 3DBorder.3 Tk_3DVerticalBevel.3 \
+ 3DBorder.3 Tk_3DHorizontalBevel.3 \
+ 3DBorder.3 Tk_SetBackgroundFromBorder.3 \
+ 3DBorder.3 Tk_NameOf3DBorder.3 \
+ 3DBorder.3 Tk_3DBorderColor.3 \
+ 3DBorder.3 Tk_3DBorderGC.3 \
+ 3DBorder.3 Tk_Free3DBorderFromObj.3 \
+ 3DBorder.3 Tk_Free3DBorder.3 \
+ BindTable.3 Tk_CreateBindingTable.3 \
+ BindTable.3 Tk_DeleteBindingTable.3 \
+ BindTable.3 Tk_CreateBinding.3 \
+ BindTable.3 Tk_DeleteBinding.3 \
+ BindTable.3 Tk_GetBinding.3 \
+ BindTable.3 Tk_GetAllBindings.3 \
+ BindTable.3 Tk_DeleteAllBindings.3 \
+ BindTable.3 Tk_BindEvent.3 \
+ CanvPsY.3 Tk_CanvasPsY.3 \
+ CanvPsY.3 Tk_CanvasPsBitmap.3 \
+ CanvPsY.3 Tk_CanvasPsColor.3 \
+ CanvPsY.3 Tk_CanvasPsFont.3 \
+ CanvPsY.3 Tk_CanvasPsPath.3 \
+ CanvPsY.3 Tk_CanvasPsStipple.3 \
+ CanvTkwin.3 Tk_CanvasTkwin.3 \
+ CanvTkwin.3 Tk_CanvasGetCoord.3 \
+ CanvTkwin.3 Tk_CanvasDrawableCoords.3 \
+ CanvTkwin.3 Tk_CanvasSetStippleOrigin.3 \
+ CanvTkwin.3 Tk_CanvasWindowCoords.3 \
+ CanvTkwin.3 Tk_CanvasEventuallyRedraw.3 \
+ CanvTkwin.3 Tk_CanvasTagsOption.3 \
+ CanvTxtInfo.3 Tk_CanvasTextInfo.3 \
+ Clipboard.3 Tk_ClipboardClear.3 \
+ Clipboard.3 Tk_ClipboardAppend.3 \
+ ClrSelect.3 Tk_ClearSelection.3 \
+ ConfigWidg.3 Tk_ConfigureWidget.3 \
+ ConfigWidg.3 Tk_Offset.3 \
+ ConfigWidg.3 Tk_ConfigureInfo.3 \
+ ConfigWidg.3 Tk_ConfigureValue.3 \
+ ConfigWidg.3 Tk_FreeOptions.3 \
+ ConfigWind.3 Tk_ConfigureWindow.3 \
+ ConfigWind.3 Tk_MoveWindow.3 \
+ ConfigWind.3 Tk_ResizeWindow.3 \
+ ConfigWind.3 Tk_MoveResizeWindow.3 \
+ ConfigWind.3 Tk_SetWindowBorderWidth.3 \
+ ConfigWind.3 Tk_ChangeWindowAttributes.3 \
+ ConfigWind.3 Tk_SetWindowBackground.3 \
+ ConfigWind.3 Tk_SetWindowBackgroundPixmap.3 \
+ ConfigWind.3 Tk_SetWindowBorder.3 \
+ ConfigWind.3 Tk_SetWindowBorderPixmap.3 \
+ ConfigWind.3 Tk_SetWindowColormap.3 \
+ ConfigWind.3 Tk_DefineCursor.3 \
+ ConfigWind.3 Tk_UndefineCursor.3 \
+ CoordToWin.3 Tk_CoordsToWindow.3 \
+ CrtErrHdlr.3 Tk_CreateErrorHandler.3 \
+ CrtErrHdlr.3 Tk_DeleteErrorHandler.3 \
+ CrtGenHdlr.3 Tk_CreateGenericHandler.3 \
+ CrtGenHdlr.3 Tk_DeleteGenericHandler.3 \
+ CrtImgType.3 Tk_CreateImageType.3 \
+ CrtImgType.3 Tk_GetImageMasterData.3 \
+ CrtImgType.3 Tk_InitImageArgs.3 \
+ CrtItemType.3 Tk_CreateItemType.3 \
+ CrtItemType.3 Tk_GetItemTypes.3 \
+ CrtPhImgFmt.3 Tk_CreatePhotoImageFormat.3 \
+ CrtSelHdlr.3 Tk_CreateSelHandler.3 \
+ CrtSelHdlr.3 Tk_DeleteSelHandler.3 \
+ CrtWindow.3 Tk_CreateWindow.3 \
+ CrtWindow.3 Tk_CreateWindowFromPath.3 \
+ CrtWindow.3 Tk_DestroyWindow.3 \
+ CrtWindow.3 Tk_MakeWindowExist.3 \
+ DeleteImg.3 Tk_DeleteImage.3 \
+ DrawFocHlt.3 Tk_DrawFocusHighlight.3 \
+ EventHndlr.3 Tk_CreateEventHandler.3 \
+ EventHndlr.3 Tk_DeleteEventHandler.3 \
+ FindPhoto.3 Tk_FindPhoto.3 \
+ FindPhoto.3 Tk_PhotoPutBlock.3 \
+ FindPhoto.3 Tk_PhotoPutZoomedBlock.3 \
+ FindPhoto.3 Tk_PhotoGetImage.3 \
+ FindPhoto.3 Tk_PhotoBlank.3 \
+ FindPhoto.3 Tk_PhotoExpand.3 \
+ FindPhoto.3 Tk_PhotoGetSize.3 \
+ FindPhoto.3 Tk_PhotoSetSize.3 \
+ FontId.3 Tk_FontId.3 \
+ FontId.3 Tk_FontMetrics.3 \
+ FontId.3 Tk_PostscriptFontName.3 \
+ FreeXId.3 Tk_FreeXId.3 \
+ GeomReq.3 Tk_GeometryRequest.3 \
+ GeomReq.3 Tk_SetInternalBorder.3 \
+ GetAnchor.3 Tk_GetAnchorFromObj.3 \
+ GetAnchor.3 Tk_GetAnchor.3 \
+ GetAnchor.3 Tk_NameOfAnchor.3 \
+ GetBitmap.3 Tk_AllocBitmapFromObj.3 \
+ GetBitmap.3 Tk_GetBitmap.3 \
+ GetBitmap.3 Tk_GetBitmapFromObj.3 \
+ GetBitmap.3 Tk_DefineBitmap.3 \
+ GetBitmap.3 Tk_NameOfBitmap.3 \
+ GetBitmap.3 Tk_SizeOfBitmap.3 \
+ GetBitmap.3 Tk_FreeBitmapFromObj.3 \
+ GetBitmap.3 Tk_FreeBitmap.3 \
+ GetBitmap.3 Tk_GetBitmapFromData.3 \
+ GetCapStyl.3 Tk_GetCapStyle.3 \
+ GetCapStyl.3 Tk_NameOfCapStyle.3 \
+ GetClrmap.3 Tk_GetColormap.3 \
+ GetClrmap.3 Tk_FreeColormap.3 \
+ GetColor.3 Tk_AllocColorFromObj.3 \
+ GetColor.3 Tk_GetColor.3 \
+ GetColor.3 Tk_GetColorFromObj.3 \
+ GetColor.3 Tk_GetColorByValue.3 \
+ GetColor.3 Tk_NameOfColor.3 \
+ GetColor.3 Tk_FreeColorFromObj.3 \
+ GetColor.3 Tk_FreeColor.3 \
+ GetCursor.3 Tk_AllocCursorFromObj.3 \
+ GetCursor.3 Tk_GetCursor.3 \
+ GetCursor.3 Tk_GetCursorFromObj.3 \
+ GetCursor.3 Tk_GetCursorFromData.3 \
+ GetCursor.3 Tk_NameOfCursor.3 \
+ GetCursor.3 Tk_FreeCursorFromObj.3 \
+ GetCursor.3 Tk_FreeCursor.3 \
+ GetDash.3 Tk_GetDash.3 \
+ GetFont.3 Tk_AllocFontFromObj.3 \
+ GetFont.3 Tk_GetFont.3 \
+ GetFont.3 Tk_GetFontFromObj.3 \
+ GetFont.3 Tk_NameOfFont.3 \
+ GetFont.3 Tk_FreeFontFromObj.3 \
+ GetFont.3 Tk_FreeFont.3 \
+ GetGC.3 Tk_GetGC.3 \
+ GetGC.3 Tk_FreeGC.3 \
+ GetImage.3 Tk_GetImage.3 \
+ GetImage.3 Tk_RedrawImage.3 \
+ GetImage.3 Tk_SizeOfImage.3 \
+ GetImage.3 Tk_FreeImage.3 \
+ GetJoinStl.3 Tk_GetJoinStyle.3 \
+ GetJoinStl.3 Tk_NameOfJoinStyle.3 \
+ GetJustify.3 Tk_GetJustifyFromObj.3 \
+ GetJustify.3 Tk_GetJustify.3 \
+ GetJustify.3 Tk_NameOfJustify.3 \
+ GetOption.3 Tk_GetOption.3 \
+ GetPixels.3 Tk_GetPixelsFromObj.3 \
+ GetPixels.3 Tk_GetPixels.3 \
+ GetPixels.3 Tk_GetMMFromObj.3 \
+ GetPixels.3 Tk_GetScreenMM.3 \
+ GetPixmap.3 Tk_GetPixmap.3 \
+ GetPixmap.3 Tk_FreePixmap.3 \
+ GetRelief.3 Tk_GetReliefFromObj.3 \
+ GetRelief.3 Tk_GetRelief.3 \
+ GetRelief.3 Tk_NameOfRelief.3 \
+ GetRootCrd.3 Tk_GetRootCoords.3 \
+ GetScroll.3 Tk_GetScrollInfo.3 \
+ GetSelect.3 Tk_GetSelection.3 \
+ GetUid.3 Tk_GetUid.3 \
+ GetUid.3 Tk_Uid.3 \
+ GetVRoot.3 Tk_GetVRootGeometry.3 \
+ GetVisual.3 Tk_GetVisual.3 \
+ HandleEvent.3 Tk_HandleEvent.3 \
+ IdToWindow.3 Tk_IdToWindow.3 \
+ ImgChanged.3 Tk_ImageChanged.3 \
+ InternAtom.3 Tk_InternAtom.3 \
+ InternAtom.3 Tk_GetAtomName.3 \
+ MainLoop.3 Tk_MainLoop.3 \
+ MainWin.3 Tk_MainWindow.3 \
+ MaintGeom.3 Tk_MaintainGeometry.3 \
+ MaintGeom.3 Tk_UnmaintainGeometry.3 \
+ ManageGeom.3 Tk_ManageGeometry.3 \
+ MapWindow.3 Tk_MapWindow.3 \
+ MapWindow.3 Tk_UnmapWindow.3 \
+ MeasureChar.3 Tk_MeasureChars.3 \
+ MeasureChar.3 Tk_TextWidth.3 \
+ MeasureChar.3 Tk_DrawChars.3 \
+ MeasureChar.3 Tk_UnderlineChars.3 \
+ MoveToplev.3 Tk_MoveToplevelWindow.3 \
+ Name.3 Tk_Name.3 \
+ Name.3 Tk_PathName.3 \
+ Name.3 Tk_NameToWindow.3 \
+ NameOfImg.3 Tk_NameOfImage.3 \
+ OwnSelect.3 Tk_OwnSelection.3 \
+ ParseArgv.3 Tk_ParseArgv.3 \
+ QWinEvent.3 Tk_QueueWindowEvent.3 \
+ Restack.3 Tk_RestackWindow.3 \
+ RestrictEv.3 Tk_RestrictEvents.3 \
+ SetAppName.3 Tk_SetAppName.3 \
+ SetClass.3 Tk_SetClass.3 \
+ SetClass.3 Tk_Class.3 \
+ SetGrid.3 Tk_SetGrid.3 \
+ SetGrid.3 Tk_UnsetGrid.3 \
+ SetOptions.3 Tk_CreateOptionTable.3 \
+ SetOptions.3 Tk_DeleteOptionTable.3 \
+ SetOptions.3 Tk_InitOptions.3 \
+ SetOptions.3 Tk_SetOptions.3 \
+ SetOptions.3 Tk_FreeSavedOptions.3 \
+ SetOptions.3 Tk_RestoreSavedOptions.3 \
+ SetOptions.3 Tk_GetOptionValue.3 \
+ SetOptions.3 Tk_GetOptionInfo.3 \
+ SetOptions.3 Tk_FreeConfigOptions.3 \
+ SetVisual.3 Tk_SetWindowVisual.3 \
+ StrictMotif.3 Tk_StrictMotif.3 \
+ TextLayout.3 Tk_ComputeTextLayout.3 \
+ TextLayout.3 Tk_FreeTextLayout.3 \
+ TextLayout.3 Tk_DrawTextLayout.3 \
+ TextLayout.3 Tk_UnderlineTextLayout.3 \
+ TextLayout.3 Tk_PointToChar.3 \
+ TextLayout.3 Tk_CharBbox.3 \
+ TextLayout.3 Tk_DistanceToTextLayout.3 \
+ TextLayout.3 Tk_IntersectTextLayout.3 \
+ TextLayout.3 Tk_TextLayoutToPostscript.3 \
+ TkInitStubs.3 Tk_InitStubs.3 \
+ WindowId.3 Tk_WindowId.3 \
+ WindowId.3 Tk_Parent.3 \
+ WindowId.3 Tk_Display.3 \
+ WindowId.3 Tk_DisplayName.3 \
+ WindowId.3 Tk_ScreenNumber.3 \
+ WindowId.3 Tk_Screen.3 \
+ WindowId.3 Tk_X.3 \
+ WindowId.3 Tk_Y.3 \
+ WindowId.3 Tk_Width.3 \
+ WindowId.3 Tk_Height.3 \
+ WindowId.3 Tk_Changes.3 \
+ WindowId.3 Tk_Attributes.3 \
+ WindowId.3 Tk_IsContainer.3 \
+ WindowId.3 Tk_IsEmbedded.3 \
+ WindowId.3 Tk_IsMapped.3 \
+ WindowId.3 Tk_IsTopLevel.3 \
+ WindowId.3 Tk_ReqWidth.3 \
+ WindowId.3 Tk_ReqHeight.3 \
+ WindowId.3 Tk_InternalBorderWidth.3 \
+ WindowId.3 Tk_Visual.3 \
+ WindowId.3 Tk_Depth.3 \
+ WindowId.3 Tk_Colormap.3 \
+ chooseColor.n tk_chooseColor.n \
+ chooseDirectory.n tk_chooseDirectory.n \
+ dialog.n tk_dialog.n \
+ focusNext.n tk_focusNext.n \
+ focusNext.n tk_focusPrev.n \
+ focusNext.n tk_focusFollowsMouse.n \
+ getOpenFile.n tk_getOpenFile.n \
+ getOpenFile.n tk_getSaveFile.n \
+ menubar.n tk_menuBar.n \
+ menubar.n tk_bindForTraversal.n \
+ messageBox.n tk_messageBox.n \
+ optionMenu.n tk_optionMenu.n \
+ palette.n tk_setPalette.n \
+ palette.n tk_bisque.n \
+ popup.n tk_popup.n
+
+.include <bsd.port.pre.mk>
+
+post-install:
+.if exists(${PKGINSTALL})
+ ${SETENV} PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL}
+.endif
+
+test:
+ cd ${WRKSRC}; make test
+
+.include <bsd.port.post.mk>
diff --git a/chinese/tk83/distinfo b/chinese/tk83/distinfo
new file mode 100644
index 000000000000..a07782888586
--- /dev/null
+++ b/chinese/tk83/distinfo
@@ -0,0 +1 @@
+MD5 (tk8.3.0.tar.gz) = b98369476607536e8384940036890d5c
diff --git a/chinese/tk83/files/patch-aa b/chinese/tk83/files/patch-aa
new file mode 100644
index 000000000000..8f7de8a0de37
--- /dev/null
+++ b/chinese/tk83/files/patch-aa
@@ -0,0 +1,1606 @@
+--- configure.orig Thu Feb 10 11:11:02 2000
++++ configure Wed Feb 21 23:03:47 2001
+@@ -18,6 +18,8 @@
+ ac_help="$ac_help
+ --with-tcl directory containing tcl configuration (tclConfig.sh)"
+ ac_help="$ac_help
++ --enable-i18nImprove enable i18n improvement features [--enable-i18nImprove]"
++ac_help="$ac_help
+ --enable-64bit enable 64bit support"
+ ac_help="$ac_help
+ --disable-load disallow dynamic loading and "load" command"
+@@ -556,7 +558,7 @@
+ # Extract the first word of "ranlib", so it can be a program name with args.
+ set dummy ranlib; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:560: checking for $ac_word" >&5
++echo "configure:562: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -597,7 +599,7 @@
+ # Extract the first word of "gcc", so it can be a program name with args.
+ set dummy gcc; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:601: checking for $ac_word" >&5
++echo "configure:603: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -627,7 +629,7 @@
+ # Extract the first word of "cc", so it can be a program name with args.
+ set dummy cc; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:631: checking for $ac_word" >&5
++echo "configure:633: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -678,7 +680,7 @@
+ # Extract the first word of "cl", so it can be a program name with args.
+ set dummy cl; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:682: checking for $ac_word" >&5
++echo "configure:684: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -710,7 +712,7 @@
+ fi
+
+ echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
+-echo "configure:714: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
++echo "configure:716: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+
+ ac_ext=c
+ # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+@@ -721,12 +723,12 @@
+
+ cat > conftest.$ac_ext << EOF
+
+-#line 725 "configure"
++#line 727 "configure"
+ #include "confdefs.h"
+
+ main(){return(0);}
+ EOF
+-if { (eval echo configure:730: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:732: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ ac_cv_prog_cc_works=yes
+ # If we can't run a trivial program, we are probably using a cross compiler.
+ if (./conftest; exit) 2>/dev/null; then
+@@ -752,12 +754,12 @@
+ { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
+-echo "configure:756: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
++echo "configure:758: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+ echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
+ cross_compiling=$ac_cv_prog_cc_cross
+
+ echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+-echo "configure:761: checking whether we are using GNU C" >&5
++echo "configure:763: checking whether we are using GNU C" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -766,7 +768,7 @@
+ yes;
+ #endif
+ EOF
+-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:770: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
++if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:772: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+ else
+ ac_cv_prog_gcc=no
+@@ -785,7 +787,7 @@
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+-echo "configure:789: checking whether ${CC-cc} accepts -g" >&5
++echo "configure:791: checking whether ${CC-cc} accepts -g" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -823,7 +825,7 @@
+ # Extract the first word of "gcc", so it can be a program name with args.
+ set dummy gcc; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:827: checking for $ac_word" >&5
++echo "configure:829: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -853,7 +855,7 @@
+ # Extract the first word of "cc", so it can be a program name with args.
+ set dummy cc; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:857: checking for $ac_word" >&5
++echo "configure:859: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -904,7 +906,7 @@
+ # Extract the first word of "cl", so it can be a program name with args.
+ set dummy cl; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:908: checking for $ac_word" >&5
++echo "configure:910: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -936,7 +938,7 @@
+ fi
+
+ echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
+-echo "configure:940: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
++echo "configure:942: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+
+ ac_ext=c
+ # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+@@ -947,12 +949,12 @@
+
+ cat > conftest.$ac_ext << EOF
+
+-#line 951 "configure"
++#line 953 "configure"
+ #include "confdefs.h"
+
+ main(){return(0);}
+ EOF
+-if { (eval echo configure:956: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:958: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ ac_cv_prog_cc_works=yes
+ # If we can't run a trivial program, we are probably using a cross compiler.
+ if (./conftest; exit) 2>/dev/null; then
+@@ -978,12 +980,12 @@
+ { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
+-echo "configure:982: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
++echo "configure:984: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+ echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
+ cross_compiling=$ac_cv_prog_cc_cross
+
+ echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+-echo "configure:987: checking whether we are using GNU C" >&5
++echo "configure:989: checking whether we are using GNU C" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -992,7 +994,7 @@
+ yes;
+ #endif
+ EOF
+-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:996: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
++if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:998: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+ else
+ ac_cv_prog_gcc=no
+@@ -1011,7 +1013,7 @@
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+-echo "configure:1015: checking whether ${CC-cc} accepts -g" >&5
++echo "configure:1017: checking whether ${CC-cc} accepts -g" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -1048,7 +1050,7 @@
+ #------------------------------------------------------------------------
+
+ echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
+-echo "configure:1052: checking how to run the C preprocessor" >&5
++echo "configure:1054: checking how to run the C preprocessor" >&5
+ # On Suns, sometimes $CPP names a directory.
+ if test -n "$CPP" && test -d "$CPP"; then
+ CPP=
+@@ -1063,13 +1065,13 @@
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp.
+ cat > conftest.$ac_ext <<EOF
+-#line 1067 "configure"
++#line 1069 "configure"
+ #include "confdefs.h"
+ #include <assert.h>
+ Syntax Error
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:1073: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:1075: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+ :
+@@ -1080,13 +1082,13 @@
+ rm -rf conftest*
+ CPP="${CC-cc} -E -traditional-cpp"
+ cat > conftest.$ac_ext <<EOF
+-#line 1084 "configure"
++#line 1086 "configure"
+ #include "confdefs.h"
+ #include <assert.h>
+ Syntax Error
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:1090: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:1092: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+ :
+@@ -1097,13 +1099,13 @@
+ rm -rf conftest*
+ CPP="${CC-cc} -nologo -E"
+ cat > conftest.$ac_ext <<EOF
+-#line 1101 "configure"
++#line 1103 "configure"
+ #include "confdefs.h"
+ #include <assert.h>
+ Syntax Error
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:1107: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:1109: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+ :
+@@ -1131,17 +1133,17 @@
+ do
+ ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+ echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+-echo "configure:1135: checking for $ac_hdr" >&5
++echo "configure:1137: checking for $ac_hdr" >&5
+ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1140 "configure"
++#line 1142 "configure"
+ #include "confdefs.h"
+ #include <$ac_hdr>
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:1145: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:1147: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+ rm -rf conftest*
+@@ -1174,7 +1176,7 @@
+
+
+ echo $ac_n "checking for building with threads""... $ac_c" 1>&6
+-echo "configure:1178: checking for building with threads" >&5
++echo "configure:1180: checking for building with threads" >&5
+ # Check whether --enable-threads or --disable-threads was given.
+ if test "${enable_threads+set}" = set; then
+ enableval="$enable_threads"
+@@ -1198,7 +1200,7 @@
+ echo "configure: warning: "Tk on Unix is known to have problems with thread support. It is recommended that Tk be used with a non-thread enabled Tcl."" 1>&2
+
+ echo $ac_n "checking for pthread_mutex_init in -lpthread""... $ac_c" 1>&6
+-echo "configure:1202: checking for pthread_mutex_init in -lpthread" >&5
++echo "configure:1204: checking for pthread_mutex_init in -lpthread" >&5
+ ac_lib_var=`echo pthread'_'pthread_mutex_init | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -1206,7 +1208,7 @@
+ ac_save_LIBS="$LIBS"
+ LIBS="-lpthread $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 1210 "configure"
++#line 1212 "configure"
+ #include "confdefs.h"
+ /* Override any gcc2 internal prototype to avoid an error. */
+ /* We use char because int might match the return type of a gcc2
+@@ -1217,7 +1219,7 @@
+ pthread_mutex_init()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:1221: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:1223: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+ else
+@@ -1260,18 +1262,18 @@
+ if test -z "$no_pipe"; then
+ if test -n "$GCC"; then
+ echo $ac_n "checking if the compiler understands -pipe""... $ac_c" 1>&6
+-echo "configure:1264: checking if the compiler understands -pipe" >&5
++echo "configure:1266: checking if the compiler understands -pipe" >&5
+ OLDCC="$CC"
+ CC="$CC -pipe"
+ cat > conftest.$ac_ext <<EOF
+-#line 1268 "configure"
++#line 1270 "configure"
+ #include "confdefs.h"
+
+ int main() {
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:1275: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:1277: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ echo "$ac_t""yes" 1>&6
+ else
+@@ -1306,7 +1308,7 @@
+ fi
+
+ echo $ac_n "checking for Tcl configuration""... $ac_c" 1>&6
+-echo "configure:1310: checking for Tcl configuration" >&5
++echo "configure:1312: checking for Tcl configuration" >&5
+ if eval "test \"`echo '$''{'ac_cv_c_tclconfig'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -1376,7 +1378,7 @@
+
+
+ echo $ac_n "checking for existence of $TCL_BIN_DIR/tclConfig.sh""... $ac_c" 1>&6
+-echo "configure:1380: checking for existence of $TCL_BIN_DIR/tclConfig.sh" >&5
++echo "configure:1382: checking for existence of $TCL_BIN_DIR/tclConfig.sh" >&5
+
+ if test -f "$TCL_BIN_DIR/tclConfig.sh" ; then
+ echo "$ac_t""loading" 1>&6
+@@ -1399,6 +1401,50 @@
+
+
+ #--------------------------------------------------------------------
++# i18n improvement (also check it is specified in Tcl)
++#--------------------------------------------------------------------
++
++
++ echo $ac_n "checking if i18n improvement features are enabled""... $ac_c" 1>&6
++echo "configure:1410: checking if i18n improvement features are enabled" >&5
++ # Check whether --enable-i18nImprove or --disable-i18nImprove was given.
++if test "${enable_i18nImprove+set}" = set; then
++ enableval="$enable_i18nImprove"
++ tcl_ok=$enableval
++else
++ tcl_ok=yes
++fi
++
++
++ if test "${enable_i18nImprove+set}" = set; then
++ enableval="$enable_i18nImprove"
++ tcl_ok=$enableval
++ else
++ tcl_ok=yes
++ fi
++
++ if test ! -z "${TCL_I18N_IMPROVE_FLAGS}" ; then
++ if test "$tcl_ok" = "yes" ; then
++ echo "$ac_t""enabled" 1>&6
++ I18N_FLAGS='-DI18N_IMPROVE'
++ else
++ echo "$ac_t""disabled: warning: Tcl is configured as enabling these features." 1>&6
++ I18N_FLAGS=''
++ fi
++ else
++ if test "$tcl_ok" = "yes" ; then
++ echo "$ac_t""Tcl is not configured as enabling these features. Re-configure the Tcl with --enable-i18nImprove." 1>&6
++ exit 1
++ else
++ echo "$ac_t""disabled" 1>&6
++ I18N_FLAGS=''
++ fi
++ fi
++
++
++
++
++#--------------------------------------------------------------------
+ # Recompute the necessary flags to run the compiler
+ #--------------------------------------------------------------------
+
+@@ -1407,7 +1453,7 @@
+ # Step 0: Enable 64 bit support?
+
+ echo $ac_n "checking if 64bit support is enabled""... $ac_c" 1>&6
+-echo "configure:1411: checking if 64bit support is enabled" >&5
++echo "configure:1457: checking if 64bit support is enabled" >&5
+ # Check whether --enable-64bit or --disable-64bit was given.
+ if test "${enable_64bit+set}" = set; then
+ enableval="$enable_64bit"
+@@ -1430,7 +1476,7 @@
+ # there are a few systems, like Next, where this doesn't work.
+
+ echo $ac_n "checking system version (for dynamic loading)""... $ac_c" 1>&6
+-echo "configure:1434: checking system version (for dynamic loading)" >&5
++echo "configure:1480: checking system version (for dynamic loading)" >&5
+ if test -f /usr/lib/NextStep/software_version; then
+ system=NEXTSTEP-`awk '/3/,/3/' /usr/lib/NextStep/software_version`
+ else
+@@ -1462,7 +1508,7 @@
+ # Linux can use either -ldl or -ldld for dynamic loading.
+
+ echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
+-echo "configure:1466: checking for dlopen in -ldl" >&5
++echo "configure:1512: checking for dlopen in -ldl" >&5
+ ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -1470,7 +1516,7 @@
+ ac_save_LIBS="$LIBS"
+ LIBS="-ldl $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 1474 "configure"
++#line 1520 "configure"
+ #include "confdefs.h"
+ /* Override any gcc2 internal prototype to avoid an error. */
+ /* We use char because int might match the return type of a gcc2
+@@ -1481,7 +1527,7 @@
+ dlopen()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:1485: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:1531: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+ else
+@@ -1587,7 +1633,7 @@
+ HP-UX-*.08.*|HP-UX-*.09.*|HP-UX-*.10.*|HP-UX-*.11.*)
+ SHLIB_SUFFIX=".sl"
+ echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6
+-echo "configure:1591: checking for shl_load in -ldld" >&5
++echo "configure:1637: checking for shl_load in -ldld" >&5
+ ac_lib_var=`echo dld'_'shl_load | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -1595,7 +1641,7 @@
+ ac_save_LIBS="$LIBS"
+ LIBS="-ldld $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 1599 "configure"
++#line 1645 "configure"
+ #include "confdefs.h"
+ /* Override any gcc2 internal prototype to avoid an error. */
+ /* We use char because int might match the return type of a gcc2
+@@ -1606,7 +1652,7 @@
+ shl_load()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:1610: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:1656: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+ else
+@@ -1702,17 +1748,17 @@
+ else
+ ac_safe=`echo "dld.h" | sed 'y%./+-%__p_%'`
+ echo $ac_n "checking for dld.h""... $ac_c" 1>&6
+-echo "configure:1706: checking for dld.h" >&5
++echo "configure:1752: checking for dld.h" >&5
+ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1711 "configure"
++#line 1757 "configure"
+ #include "confdefs.h"
+ #include <dld.h>
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:1716: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:1762: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+ rm -rf conftest*
+@@ -1763,21 +1809,21 @@
+ LDFLAGS="-Wl,-Bexport"
+ LD_SEARCH_FLAGS=""
+ ;;
+- NetBSD-*|FreeBSD-[1-2].*|OpenBSD-*)
++ NetBSD-*|FreeBSD-*|OpenBSD-*)
+ # Not available on all versions: check for include file.
+ ac_safe=`echo "dlfcn.h" | sed 'y%./+-%__p_%'`
+ echo $ac_n "checking for dlfcn.h""... $ac_c" 1>&6
+-echo "configure:1771: checking for dlfcn.h" >&5
++echo "configure:1817: checking for dlfcn.h" >&5
+ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1776 "configure"
++#line 1822 "configure"
+ #include "confdefs.h"
+ #include <dlfcn.h>
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:1781: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:1827: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+ rm -rf conftest*
+@@ -1804,9 +1850,9 @@
+ LDFLAGS=""
+ LD_SEARCH_FLAGS=""
+ echo $ac_n "checking for ELF""... $ac_c" 1>&6
+-echo "configure:1808: checking for ELF" >&5
++echo "configure:1854: checking for ELF" >&5
+ cat > conftest.$ac_ext <<EOF
+-#line 1810 "configure"
++#line 1856 "configure"
+ #include "confdefs.h"
+
+ #ifdef __ELF__
+@@ -1847,6 +1893,7 @@
+ # FreeBSD doesn't handle version numbers with dots.
+
+ UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.a'
++ SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so.1'
+ TCL_LIB_VERSIONS_OK=nodots
+ ;;
+ FreeBSD-*)
+@@ -2037,17 +2084,17 @@
+ # that don't grok the -Bexport option. Test that it does.
+ hold_ldflags=$LDFLAGS
+ echo $ac_n "checking for ld accepts -Bexport flag""... $ac_c" 1>&6
+-echo "configure:2041: checking for ld accepts -Bexport flag" >&5
++echo "configure:2087: checking for ld accepts -Bexport flag" >&5
+ LDFLAGS="${LDFLAGS} -Wl,-Bexport"
+ cat > conftest.$ac_ext <<EOF
+-#line 2044 "configure"
++#line 2090 "configure"
+ #include "confdefs.h"
+
+ int main() {
+ int i;
+ ; return 0; }
+ EOF
+-if { (eval echo configure:2051: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:2097: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ found=yes
+ else
+@@ -2093,9 +2140,9 @@
+
+ if test "x$DL_OBJS" = "xtclLoadAout.o" ; then
+ echo $ac_n "checking sys/exec.h""... $ac_c" 1>&6
+-echo "configure:2097: checking sys/exec.h" >&5
++echo "configure:2143: checking sys/exec.h" >&5
+ cat > conftest.$ac_ext <<EOF
+-#line 2099 "configure"
++#line 2145 "configure"
+ #include "confdefs.h"
+ #include <sys/exec.h>
+ int main() {
+@@ -2113,7 +2160,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:2117: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:2163: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ tcl_ok=usable
+ else
+@@ -2131,9 +2178,9 @@
+
+ else
+ echo $ac_n "checking a.out.h""... $ac_c" 1>&6
+-echo "configure:2135: checking a.out.h" >&5
++echo "configure:2181: checking a.out.h" >&5
+ cat > conftest.$ac_ext <<EOF
+-#line 2137 "configure"
++#line 2183 "configure"
+ #include "confdefs.h"
+ #include <a.out.h>
+ int main() {
+@@ -2151,7 +2198,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:2155: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:2201: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ tcl_ok=usable
+ else
+@@ -2169,9 +2216,9 @@
+
+ else
+ echo $ac_n "checking sys/exec_aout.h""... $ac_c" 1>&6
+-echo "configure:2173: checking sys/exec_aout.h" >&5
++echo "configure:2219: checking sys/exec_aout.h" >&5
+ cat > conftest.$ac_ext <<EOF
+-#line 2175 "configure"
++#line 2221 "configure"
+ #include "confdefs.h"
+ #include <sys/exec_aout.h>
+ int main() {
+@@ -2189,7 +2236,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:2193: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:2239: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ tcl_ok=usable
+ else
+@@ -2282,7 +2329,7 @@
+
+
+ echo $ac_n "checking for build with symbols""... $ac_c" 1>&6
+-echo "configure:2286: checking for build with symbols" >&5
++echo "configure:2332: checking for build with symbols" >&5
+ # Check whether --enable-symbols or --disable-symbols was given.
+ if test "${enable_symbols+set}" = set; then
+ enableval="$enable_symbols"
+@@ -2303,6 +2350,7 @@
+ echo "$ac_t""no" 1>&6
+ fi
+
++TCL_SRC_DIR=${prefix}/include/tcl${TCL_VERSION}
+
+ LIB_RUNTIME_DIR='${LIB_RUNTIME_DIR}'
+
+@@ -2326,12 +2374,12 @@
+ #--------------------------------------------------------------------
+
+ echo $ac_n "checking for sin""... $ac_c" 1>&6
+-echo "configure:2330: checking for sin" >&5
++echo "configure:2376: checking for sin" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_sin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 2335 "configure"
++#line 2381 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char sin(); below. */
+@@ -2354,7 +2402,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:2358: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:2404: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_sin=yes"
+ else
+@@ -2375,7 +2423,7 @@
+ fi
+
+ echo $ac_n "checking for main in -lieee""... $ac_c" 1>&6
+-echo "configure:2379: checking for main in -lieee" >&5
++echo "configure:2425: checking for main in -lieee" >&5
+ ac_lib_var=`echo ieee'_'main | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -2383,14 +2431,14 @@
+ ac_save_LIBS="$LIBS"
+ LIBS="-lieee $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 2387 "configure"
++#line 2433 "configure"
+ #include "confdefs.h"
+
+ int main() {
+ main()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:2394: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:2440: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+ else
+@@ -2421,7 +2469,7 @@
+ libbsd=no
+ if test "`uname -s`" = "AIX" ; then
+ echo $ac_n "checking for gettimeofday in -lbsd""... $ac_c" 1>&6
+-echo "configure:2425: checking for gettimeofday in -lbsd" >&5
++echo "configure:2471: checking for gettimeofday in -lbsd" >&5
+ ac_lib_var=`echo bsd'_'gettimeofday | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -2429,7 +2477,7 @@
+ ac_save_LIBS="$LIBS"
+ LIBS="-lbsd $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 2433 "configure"
++#line 2479 "configure"
+ #include "confdefs.h"
+ /* Override any gcc2 internal prototype to avoid an error. */
+ /* We use char because int might match the return type of a gcc2
+@@ -2440,7 +2488,7 @@
+ gettimeofday()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:2444: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:2490: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+ else
+@@ -2471,9 +2519,9 @@
+ #--------------------------------------------------------------------
+
+ echo $ac_n "checking stdlib.h""... $ac_c" 1>&6
+-echo "configure:2475: checking stdlib.h" >&5
++echo "configure:2521: checking stdlib.h" >&5
+ cat > conftest.$ac_ext <<EOF
+-#line 2477 "configure"
++#line 2523 "configure"
+ #include "confdefs.h"
+ #include <stdlib.h>
+ EOF
+@@ -2488,7 +2536,7 @@
+ rm -f conftest*
+
+ cat > conftest.$ac_ext <<EOF
+-#line 2492 "configure"
++#line 2538 "configure"
+ #include "confdefs.h"
+ #include <stdlib.h>
+ EOF
+@@ -2502,7 +2550,7 @@
+ rm -f conftest*
+
+ cat > conftest.$ac_ext <<EOF
+-#line 2506 "configure"
++#line 2552 "configure"
+ #include "confdefs.h"
+ #include <stdlib.h>
+ EOF
+@@ -2534,16 +2582,16 @@
+ #--------------------------------------------------------------------
+
+ echo $ac_n "checking fd_set and sys/select""... $ac_c" 1>&6
+-echo "configure:2538: checking fd_set and sys/select" >&5
++echo "configure:2584: checking fd_set and sys/select" >&5
+ cat > conftest.$ac_ext <<EOF
+-#line 2540 "configure"
++#line 2586 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ int main() {
+ fd_set readMask, writeMask;
+ ; return 0; }
+ EOF
+-if { (eval echo configure:2547: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:2593: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ tk_ok=yes
+ else
+@@ -2555,7 +2603,7 @@
+ rm -f conftest*
+ if test $tk_ok = no; then
+ cat > conftest.$ac_ext <<EOF
+-#line 2559 "configure"
++#line 2605 "configure"
+ #include "confdefs.h"
+ #include <sys/select.h>
+ EOF
+@@ -2587,12 +2635,12 @@
+ #--------------------------------------------------------------------
+
+ echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
+-echo "configure:2591: checking for ANSI C header files" >&5
++echo "configure:2637: checking for ANSI C header files" >&5
+ if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 2596 "configure"
++#line 2642 "configure"
+ #include "confdefs.h"
+ #include <stdlib.h>
+ #include <stdarg.h>
+@@ -2600,7 +2648,7 @@
+ #include <float.h>
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:2604: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:2650: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+ rm -rf conftest*
+@@ -2617,7 +2665,7 @@
+ if test $ac_cv_header_stdc = yes; then
+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+ cat > conftest.$ac_ext <<EOF
+-#line 2621 "configure"
++#line 2667 "configure"
+ #include "confdefs.h"
+ #include <string.h>
+ EOF
+@@ -2635,7 +2683,7 @@
+ if test $ac_cv_header_stdc = yes; then
+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+ cat > conftest.$ac_ext <<EOF
+-#line 2639 "configure"
++#line 2685 "configure"
+ #include "confdefs.h"
+ #include <stdlib.h>
+ EOF
+@@ -2656,7 +2704,7 @@
+ :
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 2660 "configure"
++#line 2706 "configure"
+ #include "confdefs.h"
+ #include <ctype.h>
+ #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+@@ -2667,7 +2715,7 @@
+ exit (0); }
+
+ EOF
+-if { (eval echo configure:2671: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
++if { (eval echo configure:2717: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+ then
+ :
+ else
+@@ -2691,12 +2739,12 @@
+ fi
+
+ echo $ac_n "checking for mode_t""... $ac_c" 1>&6
+-echo "configure:2695: checking for mode_t" >&5
++echo "configure:2741: checking for mode_t" >&5
+ if eval "test \"`echo '$''{'ac_cv_type_mode_t'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 2700 "configure"
++#line 2746 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ #if STDC_HEADERS
+@@ -2724,12 +2772,12 @@
+ fi
+
+ echo $ac_n "checking for pid_t""... $ac_c" 1>&6
+-echo "configure:2728: checking for pid_t" >&5
++echo "configure:2774: checking for pid_t" >&5
+ if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 2733 "configure"
++#line 2779 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ #if STDC_HEADERS
+@@ -2757,12 +2805,12 @@
+ fi
+
+ echo $ac_n "checking for size_t""... $ac_c" 1>&6
+-echo "configure:2761: checking for size_t" >&5
++echo "configure:2807: checking for size_t" >&5
+ if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 2766 "configure"
++#line 2812 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ #if STDC_HEADERS
+@@ -2790,12 +2838,12 @@
+ fi
+
+ echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6
+-echo "configure:2794: checking for uid_t in sys/types.h" >&5
++echo "configure:2840: checking for uid_t in sys/types.h" >&5
+ if eval "test \"`echo '$''{'ac_cv_type_uid_t'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 2799 "configure"
++#line 2845 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ EOF
+@@ -2832,17 +2880,17 @@
+ do
+ ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+ echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+-echo "configure:2836: checking for $ac_hdr" >&5
++echo "configure:2882: checking for $ac_hdr" >&5
+ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 2841 "configure"
++#line 2887 "configure"
+ #include "confdefs.h"
+ #include <$ac_hdr>
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:2846: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:2892: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+ rm -rf conftest*
+@@ -2869,12 +2917,12 @@
+ done
+
+ echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
+-echo "configure:2873: checking whether time.h and sys/time.h may both be included" >&5
++echo "configure:2919: checking whether time.h and sys/time.h may both be included" >&5
+ if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 2878 "configure"
++#line 2924 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ #include <sys/time.h>
+@@ -2883,7 +2931,7 @@
+ struct tm *tp;
+ ; return 0; }
+ EOF
+-if { (eval echo configure:2887: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:2933: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_header_time=yes
+ else
+@@ -2909,16 +2957,16 @@
+ #-------------------------------------------
+
+ echo $ac_n "checking pw_gecos in struct pwd""... $ac_c" 1>&6
+-echo "configure:2913: checking pw_gecos in struct pwd" >&5
++echo "configure:2959: checking pw_gecos in struct pwd" >&5
+ cat > conftest.$ac_ext <<EOF
+-#line 2915 "configure"
++#line 2961 "configure"
+ #include "confdefs.h"
+ #include <pwd.h>
+ int main() {
+ struct passwd pwd; pwd.pw_gecos;
+ ; return 0; }
+ EOF
+-if { (eval echo configure:2922: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:2968: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ tk_ok=yes
+ else
+@@ -2951,7 +2999,7 @@
+ # Uses ac_ vars as temps to allow command line to override cache and checks.
+ # --without-x overrides everything else, but does not touch the cache.
+ echo $ac_n "checking for X""... $ac_c" 1>&6
+-echo "configure:2955: checking for X" >&5
++echo "configure:3001: checking for X" >&5
+
+ # Check whether --with-x or --without-x was given.
+ if test "${with_x+set}" = set; then
+@@ -3013,12 +3061,12 @@
+
+ # First, try using that file with no special directory specified.
+ cat > conftest.$ac_ext <<EOF
+-#line 3017 "configure"
++#line 3063 "configure"
+ #include "confdefs.h"
+ #include <$x_direct_test_include>
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:3022: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:3068: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+ rm -rf conftest*
+@@ -3087,14 +3135,14 @@
+ ac_save_LIBS="$LIBS"
+ LIBS="-l$x_direct_test_library $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 3091 "configure"
++#line 3137 "configure"
+ #include "confdefs.h"
+
+ int main() {
+ ${x_direct_test_function}()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:3098: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:3144: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ LIBS="$ac_save_LIBS"
+ # We can link X programs with no special library path.
+@@ -3184,12 +3232,12 @@
+ if test "$no_x" = ""; then
+ if test "$x_includes" = ""; then
+ cat > conftest.$ac_ext <<EOF
+-#line 3188 "configure"
++#line 3234 "configure"
+ #include "confdefs.h"
+ #include <X11/XIntrinsic.h>
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:3193: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:3239: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+ :
+@@ -3209,15 +3257,15 @@
+ fi
+ if test "$no_x" = "yes" -o "$not_really_there" = "yes"; then
+ echo $ac_n "checking for X11 header files""... $ac_c" 1>&6
+-echo "configure:3213: checking for X11 header files" >&5
++echo "configure:3259: checking for X11 header files" >&5
+ XINCLUDES="# no special path needed"
+ cat > conftest.$ac_ext <<EOF
+-#line 3216 "configure"
++#line 3262 "configure"
+ #include "confdefs.h"
+ #include <X11/Intrinsic.h>
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:3221: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:3267: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+ :
+@@ -3253,7 +3301,7 @@
+
+ if test "$no_x" = yes; then
+ echo $ac_n "checking for X11 libraries""... $ac_c" 1>&6
+-echo "configure:3257: checking for X11 libraries" >&5
++echo "configure:3303: checking for X11 libraries" >&5
+ XLIBSW=nope
+ dirs="/usr/unsupported/lib /usr/local/lib /usr/X386/lib /usr/X11R6/lib /usr/X11R5/lib /usr/lib/X11R5 /usr/lib/X11R4 /usr/openwin/lib /usr/X11/lib /usr/sww/X11/lib"
+ for i in $dirs ; do
+@@ -3273,7 +3321,7 @@
+ fi
+ if test "$XLIBSW" = nope ; then
+ echo $ac_n "checking for XCreateWindow in -lXwindow""... $ac_c" 1>&6
+-echo "configure:3277: checking for XCreateWindow in -lXwindow" >&5
++echo "configure:3323: checking for XCreateWindow in -lXwindow" >&5
+ ac_lib_var=`echo Xwindow'_'XCreateWindow | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -3281,7 +3329,7 @@
+ ac_save_LIBS="$LIBS"
+ LIBS="-lXwindow $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 3285 "configure"
++#line 3331 "configure"
+ #include "confdefs.h"
+ /* Override any gcc2 internal prototype to avoid an error. */
+ /* We use char because int might match the return type of a gcc2
+@@ -3292,7 +3340,7 @@
+ XCreateWindow()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:3296: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:3342: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+ else
+@@ -3377,7 +3425,7 @@
+ #--------------------------------------------------------------------
+
+ echo $ac_n "checking for main in -lXbsd""... $ac_c" 1>&6
+-echo "configure:3381: checking for main in -lXbsd" >&5
++echo "configure:3427: checking for main in -lXbsd" >&5
+ ac_lib_var=`echo Xbsd'_'main | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -3385,14 +3433,14 @@
+ ac_save_LIBS="$LIBS"
+ LIBS="-lXbsd $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 3389 "configure"
++#line 3435 "configure"
+ #include "confdefs.h"
+
+ int main() {
+ main()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:3396: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:3442: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+ else
+@@ -3415,12 +3463,12 @@
+
+ tk_checkBoth=0
+ echo $ac_n "checking for connect""... $ac_c" 1>&6
+-echo "configure:3419: checking for connect" >&5
++echo "configure:3465: checking for connect" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_connect'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 3424 "configure"
++#line 3470 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char connect(); below. */
+@@ -3443,7 +3491,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:3447: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:3493: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_connect=yes"
+ else
+@@ -3465,7 +3513,7 @@
+
+ if test "$tk_checkSocket" = 1; then
+ echo $ac_n "checking for main in -lsocket""... $ac_c" 1>&6
+-echo "configure:3469: checking for main in -lsocket" >&5
++echo "configure:3515: checking for main in -lsocket" >&5
+ ac_lib_var=`echo socket'_'main | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -3473,14 +3521,14 @@
+ ac_save_LIBS="$LIBS"
+ LIBS="-lsocket $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 3477 "configure"
++#line 3523 "configure"
+ #include "confdefs.h"
+
+ int main() {
+ main()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:3484: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:3530: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+ else
+@@ -3506,12 +3554,12 @@
+ tk_oldLibs=$LIBS
+ LIBS="$LIBS -lsocket -lnsl"
+ echo $ac_n "checking for accept""... $ac_c" 1>&6
+-echo "configure:3510: checking for accept" >&5
++echo "configure:3556: checking for accept" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_accept'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 3515 "configure"
++#line 3561 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char accept(); below. */
+@@ -3534,7 +3582,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:3538: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:3584: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_accept=yes"
+ else
+@@ -3556,12 +3604,12 @@
+
+ fi
+ echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6
+-echo "configure:3560: checking for gethostbyname" >&5
++echo "configure:3606: checking for gethostbyname" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_gethostbyname'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 3565 "configure"
++#line 3611 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char gethostbyname(); below. */
+@@ -3584,7 +3632,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:3588: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:3634: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_gethostbyname=yes"
+ else
+@@ -3602,7 +3650,7 @@
+ else
+ echo "$ac_t""no" 1>&6
+ echo $ac_n "checking for main in -lnsl""... $ac_c" 1>&6
+-echo "configure:3606: checking for main in -lnsl" >&5
++echo "configure:3652: checking for main in -lnsl" >&5
+ ac_lib_var=`echo nsl'_'main | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -3610,14 +3658,14 @@
+ ac_save_LIBS="$LIBS"
+ LIBS="-lnsl $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 3614 "configure"
++#line 3660 "configure"
+ #include "confdefs.h"
+
+ int main() {
+ main()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:3621: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:3667: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+ else
+@@ -3657,13 +3705,13 @@
+
+ if test -d /usr/include/mit ; then
+ echo $ac_n "checking MIT X libraries""... $ac_c" 1>&6
+-echo "configure:3661: checking MIT X libraries" >&5
++echo "configure:3707: checking MIT X libraries" >&5
+ tk_oldCFlags=$CFLAGS
+ CFLAGS="$CFLAGS -I/usr/include/mit"
+ tk_oldLibs=$LIBS
+ LIBS="$LIBS -lX11-mit"
+ cat > conftest.$ac_ext <<EOF
+-#line 3667 "configure"
++#line 3713 "configure"
+ #include "confdefs.h"
+
+ #include <X11/Xlib.h>
+@@ -3674,7 +3722,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:3678: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:3724: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+
+ echo "$ac_t""yes" 1>&6
+@@ -3701,12 +3749,12 @@
+
+ MATH_LIBS=""
+ echo $ac_n "checking for sin""... $ac_c" 1>&6
+-echo "configure:3705: checking for sin" >&5
++echo "configure:3751: checking for sin" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_sin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 3710 "configure"
++#line 3756 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char sin(); below. */
+@@ -3729,7 +3777,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:3733: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:3779: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_sin=yes"
+ else
+@@ -3750,7 +3798,7 @@
+ fi
+
+ echo $ac_n "checking for main in -lieee""... $ac_c" 1>&6
+-echo "configure:3754: checking for main in -lieee" >&5
++echo "configure:3800: checking for main in -lieee" >&5
+ ac_lib_var=`echo ieee'_'main | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -3758,14 +3806,14 @@
+ ac_save_LIBS="$LIBS"
+ LIBS="-lieee $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 3762 "configure"
++#line 3808 "configure"
+ #include "confdefs.h"
+
+ int main() {
+ main()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:3769: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:3815: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+ else
+@@ -3792,14 +3840,14 @@
+ #--------------------------------------------------------------------
+
+ echo $ac_n "checking whether char is unsigned""... $ac_c" 1>&6
+-echo "configure:3796: checking whether char is unsigned" >&5
++echo "configure:3842: checking whether char is unsigned" >&5
+ if eval "test \"`echo '$''{'ac_cv_c_char_unsigned'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ if test "$GCC" = yes; then
+ # GCC predefines this symbol on systems where it applies.
+ cat > conftest.$ac_ext <<EOF
+-#line 3803 "configure"
++#line 3849 "configure"
+ #include "confdefs.h"
+ #ifdef __CHAR_UNSIGNED__
+ yes
+@@ -3821,7 +3869,7 @@
+ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 3825 "configure"
++#line 3871 "configure"
+ #include "confdefs.h"
+ /* volatile prevents gcc2 from optimizing the test away on sparcs. */
+ #if !defined(__STDC__) || __STDC__ != 1
+@@ -3831,7 +3879,7 @@
+ volatile char c = 255; exit(c < 0);
+ }
+ EOF
+-if { (eval echo configure:3835: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
++if { (eval echo configure:3881: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+ then
+ ac_cv_c_char_unsigned=yes
+ else
+@@ -3864,12 +3912,12 @@
+
+
+ echo $ac_n "checking for strtod""... $ac_c" 1>&6
+-echo "configure:3868: checking for strtod" >&5
++echo "configure:3914: checking for strtod" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_strtod'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 3873 "configure"
++#line 3919 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char strtod(); below. */
+@@ -3892,7 +3940,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:3896: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:3942: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_strtod=yes"
+ else
+@@ -3914,12 +3962,12 @@
+
+ if test "$tk_strtod" = 1; then
+ echo $ac_n "checking for Solaris 2.4 strtod bug""... $ac_c" 1>&6
+-echo "configure:3918: checking for Solaris 2.4 strtod bug" >&5
++echo "configure:3964: checking for Solaris 2.4 strtod bug" >&5
+ if test "$cross_compiling" = yes; then
+ tk_ok=0
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 3923 "configure"
++#line 3969 "configure"
+ #include "confdefs.h"
+
+ extern double strtod();
+@@ -3939,7 +3987,7 @@
+ exit(0);
+ }
+ EOF
+-if { (eval echo configure:3943: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
++if { (eval echo configure:3989: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+ then
+ tk_ok=1
+ else
+@@ -3970,7 +4018,7 @@
+
+
+ echo $ac_n "checking how to build libraries""... $ac_c" 1>&6
+-echo "configure:3974: checking how to build libraries" >&5
++echo "configure:4020: checking how to build libraries" >&5
+ # Check whether --enable-shared or --disable-shared was given.
+ if test "${enable_shared+set}" = set; then
+ enableval="$enable_shared"
+@@ -4049,6 +4097,202 @@
+ TK_SHARED_BUILD=${SHARED_BUILD}
+
+ #--------------------------------------------------------------------
++# Checking X lib for i18n related things.
++#--------------------------------------------------------------------
++
++X11_IMAKE_FLAGS=""
++tk_oldCflags=$CFLAGS
++tk_oldLibs=$LIBS
++CFLAGS="$CFLAGS $XINCLUDES"
++LIBS="$XLIBSW $LIBS"
++
++echo $ac_n "checking XRegisterIMInstantiateCallback""... $ac_c" 1>&6
++echo "configure:4109: checking XRegisterIMInstantiateCallback" >&5
++cat > conftest.$ac_ext <<EOF
++#line 4111 "configure"
++#include "confdefs.h"
++
++#include <X11/Xlib.h>
++
++int main() {
++
++XRegisterIMInstantiateCallback(0, 0, 0, 0, 0, 0);
++
++; return 0; }
++EOF
++if { (eval echo configure:4122: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++
++echo "$ac_t""yes" 1>&6
++X11_IMAKE_FLAGS="-DHAVE_XIMREGINSTCB"
++
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++
++echo "$ac_t""no" 1>&6
++
++fi
++rm -f conftest*
++
++echo $ac_n "checking XIDProc""... $ac_c" 1>&6
++echo "configure:4139: checking XIDProc" >&5
++cat > conftest.$ac_ext <<EOF
++#line 4141 "configure"
++#include "confdefs.h"
++
++#include <X11/Xlib.h>
++
++int main() {
++
++XIDProc *a;
++
++; return 0; }
++EOF
++if { (eval echo configure:4152: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++ rm -rf conftest*
++
++echo "$ac_t""yes" 1>&6
++
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++
++echo "$ac_t""no" 1>&6
++X11_IMAKE_FLAGS="$X11_IMAKE_FLAGS -DNO_XIDPROC"
++
++fi
++rm -f conftest*
++
++HAVE_XMKMF=""
++# Extract the first word of "xmkmf", so it can be a program name with args.
++set dummy xmkmf; ac_word=$2
++echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
++echo "configure:4172: checking for $ac_word" >&5
++if eval "test \"`echo '$''{'ac_cv_path_HAVE_XMKMF'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++else
++ case "$HAVE_XMKMF" in
++ /*)
++ ac_cv_path_HAVE_XMKMF="$HAVE_XMKMF" # Let the user override the test with a path.
++ ;;
++ ?:/*)
++ ac_cv_path_HAVE_XMKMF="$HAVE_XMKMF" # Let the user override the test with a dos path.
++ ;;
++ *)
++ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
++ ac_dummy="${PATH}:/usr/X11R6/bin:/usr/X11R5/bin:/usr/local/X11R6/bin:/usr/local/X11R5/bin:/usr/openwin/bin:/usr/X11/bin:/usr/X386/bin:/usr/sww/bin:/usr/unsupported/bin"
++ for ac_dir in $ac_dummy; do
++ test -z "$ac_dir" && ac_dir=.
++ if test -f $ac_dir/$ac_word; then
++ ac_cv_path_HAVE_XMKMF="$ac_dir/$ac_word"
++ break
++ fi
++ done
++ IFS="$ac_save_ifs"
++ test -z "$ac_cv_path_HAVE_XMKMF" && ac_cv_path_HAVE_XMKMF=""""
++ ;;
++esac
++fi
++HAVE_XMKMF="$ac_cv_path_HAVE_XMKMF"
++if test -n "$HAVE_XMKMF"; then
++ echo "$ac_t""$HAVE_XMKMF" 1>&6
++else
++ echo "$ac_t""no" 1>&6
++fi
++
++if test "X$HAVE_XMKMF" != "X"; then
++ IMAKE_FLAGS=""
++ if test -d ImakeCheck; then
++ rm -rf ImakeCheck
++ fi
++ mkdir ImakeCheck
++ cat << EOF > ImakeCheck/Imakefile
++SRCS = dummy.c
++OBJS = dummy.o
++
++ComplexProgramTarget(dummy)
++EOF
++ cat << EOF > ImakeCheck/dummy.c
++static int justAnInt = 0;
++EOF
++ (cd ./ImakeCheck; rm -f Makefile Makefile.*; eval $HAVE_XMKMF) > /dev/null 2>&1
++ for i in `(cd ./ImakeCheck; make -n dummy.o)`
++ do
++ case $i in -D*) IMAKE_FLAGS="$IMAKE_FLAGS $i";; esac
++ done
++ if test "X$IMAKE_FLAGS" != "X"; then
++ echo "$ac_t""Add these flags for proper compile: $IMAKE_FLAGS" 1>&6
++ X11_IMAKE_FLAGS="$X11_IMAKE_FLAGS $IMAKE_FLAGS"
++ fi
++ rm -rf ImakeCheck
++fi
++
++# At last check FreeBSD and have -lxpg4.
++echo $ac_n "checking system version (for additional locale library)""... $ac_c" 1>&6
++echo "configure:4234: checking system version (for additional locale library)" >&5
++if test -f /usr/lib/NextStep/software_version; then
++ system=NEXTSTEP-`awk '/3/,/3/' /usr/lib/NextStep/software_version`
++else
++ system=`uname -s`-`uname -r`
++ if test "$?" -ne 0 ; then
++ system=unknown
++ else
++ # Special check for weird MP-RAS system (uname returns weird
++ # results, and the version is kept in special file).
++
++ if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then
++ system=MP-RAS-`awk '{print $3}' /etc/.relid'`
++ fi
++ if test "`uname -s`" = "AIX" ; then
++ system=AIX-`uname -v`.`uname -r`
++ fi
++ fi
++fi
++
++case $system in
++ FreeBSD-*)
++ LIBS="$XLIBSW -lxpg4 $tk_oldLibs"
++ CFLAGS="$CFLAGS $X11_IMAKE_FLAGS"
++ cat > conftest.$ac_ext <<EOF
++#line 4259 "configure"
++#include "confdefs.h"
++
++#include <locale.h>
++
++int main() {
++
++(void)setlocale(LC_ALL, "");
++
++; return 0; }
++EOF
++if { (eval echo configure:4270: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++ rm -rf conftest*
++
++echo "$ac_t""use xpg4 library." 1>&6
++XLIBSW="$XLIBSW -lxpg4"
++
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++
++echo "$ac_t""no need other libraries." 1>&6
++
++fi
++rm -f conftest*
++ ;;
++ *)
++ echo "$ac_t""No additional library is needed." 1>&6
++ ;;
++esac
++
++CFLAGS=$tk_oldCflags
++LIBS=$tk_oldLibs
++
++#--------------------------------------------------------------------
+ # The statements below define various symbols relating to creating
+ # the stub'd version of the Tk library
+ #
+@@ -4281,10 +4525,12 @@
+ s%@TCL_BIN_DIR@%$TCL_BIN_DIR%g
+ s%@TCL_SRC_DIR@%$TCL_SRC_DIR%g
+ s%@TCL_LIB_FILE@%$TCL_LIB_FILE%g
++s%@I18N_FLAGS@%$I18N_FLAGS%g
+ s%@DL_LIBS@%$DL_LIBS%g
+ s%@CFLAGS_DEBUG@%$CFLAGS_DEBUG%g
+ s%@CFLAGS_OPTIMIZE@%$CFLAGS_OPTIMIZE%g
+ s%@CFLAGS_WARNING@%$CFLAGS_WARNING%g
++s%@HAVE_XMKMF@%$HAVE_XMKMF%g
+ s%@STUB_LIB_FILE@%$STUB_LIB_FILE%g
+ s%@TK_STUB_LIB_FILE@%$TK_STUB_LIB_FILE%g
+ s%@TK_STUB_LIB_FLAG@%$TK_STUB_LIB_FLAG%g
+@@ -4327,6 +4573,7 @@
+ s%@XINCLUDES@%$XINCLUDES%g
+ s%@XLIBSW@%$XLIBSW%g
+ s%@TK_SHARED_BUILD@%$TK_SHARED_BUILD%g
++s%@X11_IMAKE_FLAGS@%$X11_IMAKE_FLAGS%g
+
+ CEOF
+ EOF
diff --git a/chinese/tk83/files/patch-ab b/chinese/tk83/files/patch-ab
new file mode 100644
index 000000000000..5df3661fa2bc
--- /dev/null
+++ b/chinese/tk83/files/patch-ab
@@ -0,0 +1,174 @@
+--- Makefile.in.orig Thu Feb 10 11:11:01 2000
++++ Makefile.in Wed Feb 21 23:12:17 2001
+@@ -56,7 +56,9 @@
+ BIN_DIR = $(exec_prefix)/bin
+
+ # Directory in which to install the include file tk.h:
+-INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(prefix)/include
++INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(prefix)/include/tk$(VERSION)
++GENERIC_INCLUDE_INSTALL_DIR = $(INCLUDE_INSTALL_DIR)/generic
++UNIX_INCLUDE_INSTALL_DIR = $(INCLUDE_INSTALL_DIR)/unix
+
+ # Top-level directory for manual entries:
+ MAN_INSTALL_DIR = $(INSTALL_ROOT)$(prefix)/man
+@@ -94,6 +96,9 @@
+ CFLAGS_DEBUG = @CFLAGS_DEBUG@
+ CFLAGS_OPTIMIZE = @CFLAGS_OPTIMIZE@
+
++# I18n improvement flags
++I18N_FLAGS = @I18N_FLAGS@
++
+ # To change the compiler switches, for example to change from optimization to
+ # debugging symbols, change the following line:
+ #CFLAGS = $(CFLAGS_DEBUG)
+@@ -153,7 +158,7 @@
+ # "install" around; better to use the install-sh script that comes
+ # with the distribution, which is slower but guaranteed to work.
+
+-INSTALL = @srcdir@/install-sh -c
++INSTALL = install -c
+ INSTALL_PROGRAM = ${INSTALL}
+ INSTALL_DATA = ${INSTALL} -m 644
+
+@@ -190,7 +195,7 @@
+ # Libraries to use when linking. This definition is determined by the
+ # configure script.
+ LIBS = @LIBS@ $(X11_LIB_SWITCHES) @DL_LIBS@ @MATH_LIBS@ -lc
+-WISH_LIBS = $(TCL_LIB_SPEC) @LIBS@ $(X11_LIB_SWITCHES) @DL_LIBS@ @MATH_LIBS@ -lc
++WISH_LIBS = -L${PREFIX}/lib -ltcl${SHORT_TK_VER} @LIBS@ $(X11_LIB_SWITCHES) @DL_LIBS@ @MATH_LIBS@ -lc
+
+ # The symbol below provides support for dynamic loading and shared
+ # libraries. See configure.in for a description of what it means.
+@@ -211,7 +216,8 @@
+ # modify any of this stuff by hand.
+ #----------------------------------------------------------------
+
+-AC_FLAGS = @EXTRA_CFLAGS@ @DEFS@
++AC_FLAGS = @EXTRA_CFLAGS@ @DEFS@ @CPPFLAGS@ \
++ @X11_IMAKE_FLAGS@ @I18N_FLAGS@
+ RANLIB = @RANLIB@
+ SRC_DIR = @srcdir@/..
+ TOP_DIR = @srcdir@/..
+@@ -268,7 +274,8 @@
+ tkUnixCursor.o tkUnixDraw.o tkUnixEmbed.o tkUnixEvent.o \
+ tkUnixFocus.o tkUnixFont.o tkUnixInit.o tkUnixKey.o tkUnixMenu.o \
+ tkUnixMenubu.o tkUnixScale.o tkUnixScrlbr.o tkUnixSelect.o \
+- tkUnixSend.o tkUnixWm.o tkUnixXId.o tkStubInit.o tkStubLib.o
++ tkUnixSend.o tkUnixWm.o tkUnixXId.o tkStubInit.o tkStubLib.o \
++ tkUnixIm.o
+
+ STUB_LIB_OBJS = tkStubLib.o tkStubImg.o
+
+@@ -330,6 +337,7 @@
+ $(UNIX_DIR)/tkUnixEmbed.c $(UNIX_DIR)/tkUnixEvent.c \
+ $(UNIX_DIR)/tkUnixFocus.c \
+ $(UNIX_DIR)/tkUnixFont.c $(UNIX_DIR)/tkUnixInit.c \
++ $(UNIX_DIR)/tkUnixIm.c \
+ $(UNIX_DIR)/tkUnixKey.c \
+ $(UNIX_DIR)/tkUnixMenu.c $(UNIX_DIR)/tkUnixMenubu.c \
+ $(UNIX_DIR)/tkUnixScale.c $(UNIX_DIR)/tkUnixScrlbr.c \
+@@ -361,8 +369,14 @@
+ ${TK_LIB_FILE}: ${OBJS}
+ rm -f ${TK_LIB_FILE}
+ @MAKE_LIB@
++ ln -sf @TK_LIB_FILE@ libtk${SHORT_TK_VER}.so
+ $(RANLIB) ${TK_LIB_FILE}
+
++libtk${SHORT_TK_VER}.a: ${OBJS}
++ rm -f libtk${SHORT_TK_VER}.a
++ ar cr libtk${SHORT_TK_VER}.a ${OBJS}
++ $(RANLIB) libtk${SHORT_TK_VER}.a
++
+ ${STUB_LIB_FILE}: ${STUB_LIB_OBJS}
+ rm -f ${STUB_LIB_FILE}
+ @MAKE_STUB_LIB@
+@@ -424,7 +438,7 @@
+ # some ranlibs write to current directory, and this might not always be
+ # possible (e.g. if installing as root).
+
+-install-binaries: $(TK_LIB_FILE) $(TK_STUB_LIB_FILE) $(TK_BUILD_EXP_FILE) wish
++install-binaries: $(TK_LIB_FILE) $(TK_STUB_LIB_FILE) $(TK_BUILD_EXP_FILE) libtk${SHORT_TK_VER}.a wish
+ @for i in $(LIB_INSTALL_DIR) $(BIN_INSTALL_DIR) ; \
+ do \
+ if [ ! -d $$i ] ; then \
+@@ -442,12 +456,18 @@
+ fi
+ @echo "Installing $(TK_LIB_FILE) to $(LIB_INSTALL_DIR)/"
+ @$(INSTALL_DATA) $(TK_LIB_FILE) $(LIB_INSTALL_DIR)/$(TK_LIB_FILE)
++ @ln -sf $(LIB_INSTALL_DIR)/$(TK_LIB_FILE) $(LIB_INSTALL_DIR)/libtk${SHORT_TK_VER}.so
+ @(cd $(LIB_INSTALL_DIR); $(RANLIB) $(TK_LIB_FILE))
+ @chmod 555 $(LIB_INSTALL_DIR)/$(TK_LIB_FILE)
++ @echo "Installing libtk${SHORT_TK_VER}.a"
++ @$(INSTALL_DATA) libtk${SHORT_TK_VER}.a $(LIB_INSTALL_DIR)/libtk${SHORT_TK_VER}.a
++ @(cd $(LIB_INSTALL_DIR); $(RANLIB) libtk${SHORT_TK_VER}.a)
++ @chmod 555 $(LIB_INSTALL_DIR)/libtk${SHORT_TK_VER}.a
+ @echo "Installing wish as $(BIN_INSTALL_DIR)/wish$(VERSION)"
+ @$(INSTALL_PROGRAM) wish $(BIN_INSTALL_DIR)/wish$(VERSION)
+ @echo "Installing tkConfig.sh to $(LIB_INSTALL_DIR)/"
+- @$(INSTALL_DATA) tkConfig.sh $(LIB_INSTALL_DIR)/tkConfig.sh
++ @mkdir -p $(LIB_INSTALL_DIR)/tk$(VERSION)
++ @$(INSTALL_DATA) tkConfig.sh $(LIB_INSTALL_DIR)/tk$(VERSION)/tkConfig.sh
+ @if test "$(TK_BUILD_EXP_FILE)" != ""; then \
+ echo "Installing $(TK_EXP_FILE) to $(LIB_INSTALL_DIR)/"; \
+ $(INSTALL_DATA) $(TK_BUILD_EXP_FILE) \
+@@ -461,6 +481,7 @@
+
+ install-libraries:
+ @for i in $(INSTALL_ROOT)$(prefix)/lib $(INCLUDE_INSTALL_DIR) \
++ $(GENERIC_INCLUDE_INSTALL_DIR) $(UNIX_INCLUDE_INSTALL_DIR) \
+ $(SCRIPT_INSTALL_DIR) $(SCRIPT_INSTALL_DIR)/images; \
+ do \
+ if [ ! -d $$i ] ; then \
+@@ -474,10 +495,16 @@
+ chmod +x $(UNIX_DIR)/install-sh; \
+ fi
+ @echo "Installing header files";
+- @for i in $(GENERIC_DIR)/tk.h $(GENERIC_DIR)/tkDecls.h ; \
++ @for i in $(GENERIC_DIR)/*.h ; \
+ do \
+- $(INSTALL_DATA) $$i $(INCLUDE_INSTALL_DIR); \
++ $(INSTALL_DATA) $$i $(GENERIC_INCLUDE_INSTALL_DIR); \
+ done;
++ @for i in $(UNIX_DIR)/*.h ; \
++ do \
++ $(INSTALL_DATA) $$i $(UNIX_INCLUDE_INSTALL_DIR); \
++ done;
++ @ln -sf $(GENERIC_INCLUDE_INSTALL_DIR)/tk.h $(INCLUDE_INSTALL_DIR)/tk.h
++ @ln -sf $(GENERIC_INCLUDE_INSTALL_DIR)/tkDecls.h $(INCLUDE_INSTALL_DIR)/tkDecls.h
+ @echo "Installing library files to $(SCRIPT_INSTALL_DIR)";
+ @for i in $(SRC_DIR)/library/*.tcl $(GENERIC_DIR)/prolog.ps \
+ $(SRC_DIR)/library/tclIndex $(UNIX_DIR)/tkAppInit.c; \
+@@ -543,7 +570,6 @@
+ chmod 444 $(MAN1_INSTALL_DIR)/$$i; \
+ done;
+ @echo "Cross-linking top-level (.1) docs";
+- @$(UNIX_DIR)/mkLinks $(MAN1_INSTALL_DIR)
+ @echo "Installing C API (.3) docs";
+ @cd $(SRC_DIR)/doc; for i in *.3; \
+ do \
+@@ -553,7 +579,6 @@
+ chmod 444 $(MAN3_INSTALL_DIR)/$$i; \
+ done;
+ @echo "Cross-linking top-level (.3) docs";
+- @$(UNIX_DIR)/mkLinks $(MAN3_INSTALL_DIR)
+ @echo "Installing command (.n) docs";
+ @cd $(SRC_DIR)/doc; for i in *.n; \
+ do \
+@@ -563,7 +588,6 @@
+ chmod 444 $(MANN_INSTALL_DIR)/$$i; \
+ done;
+ @echo "Cross-linking command (.n) docs";
+- @$(UNIX_DIR)/mkLinks $(MANN_INSTALL_DIR)
+
+ Makefile: $(UNIX_DIR)/Makefile.in
+ $(SHELL) config.status
+@@ -843,6 +867,9 @@
+
+ tkUnixFont.o: $(UNIX_DIR)/tkUnixFont.c
+ $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnixFont.c
++
++tkUnixIm.o: $(UNIX_DIR)/tkUnixIm.c
++ $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnixIm.c
+
+ tkUnixInit.o: $(UNIX_DIR)/tkUnixInit.c $(GENERIC_DIR)/tkInitScript.h tkConfig.sh
+ $(CC) -c $(CC_SWITCHES) -DTK_LIBRARY=\"${TK_LIBRARY}\" \
diff --git a/chinese/tk83/files/patch-ac b/chinese/tk83/files/patch-ac
new file mode 100644
index 000000000000..2e75edd6df77
--- /dev/null
+++ b/chinese/tk83/files/patch-ac
@@ -0,0 +1,20 @@
+--- tkConfig.sh.in.orig Thu Feb 10 11:11:02 2000
++++ tkConfig.sh.in Wed Feb 21 21:27:46 2001
+@@ -20,13 +20,16 @@
+ TK_PATCH_LEVEL='@TK_PATCH_LEVEL@'
+
+ # -D flags for use with the C compiler.
+-TK_DEFS='@DEFS@'
++TK_DEFS='@DEFS@ @X11_IMAKE_FLAGS@ @I18N_FLAGS@'
+
+ # Flag, 1: we built a shared lib, 0 we didn't
+ TK_SHARED_BUILD=@TK_SHARED_BUILD@
+
+ # This indicates if Tk was build with debugging symbols
+ TK_DBGX=@TK_DBGX@
++
++# I18n improvement flags
++TK_I18N_IMPROVE_FLAGS='@I18N_FLAGS@'
+
+ # The name of the Tk library (may be either a .a file or a shared library):
+ TK_LIB_FILE='@TK_LIB_FILE@'
diff --git a/chinese/tk83/files/patch-ad b/chinese/tk83/files/patch-ad
new file mode 100644
index 000000000000..646c7b9685c0
--- /dev/null
+++ b/chinese/tk83/files/patch-ad
@@ -0,0 +1,34 @@
+--- tkUnixEvent.c.orig Fri Apr 16 01:51:46 1999
++++ tkUnixEvent.c Wed Feb 21 22:51:52 2001
+@@ -161,7 +161,12 @@
+ (void) XSync(dispPtr->display, False);
+ (void) XCloseDisplay(dispPtr->display);
+ }
+-
++#ifdef I18N_IMPROVE
++ if (displayPtr->imEncoding != NULL) {
++ Tcl_FreeEncoding(displayPtr->imEncoding);
++ }
++#endif /* I18N_IMPROVE */
++
+ ckfree((char *) dispPtr);
+ }
+
+@@ -246,6 +251,17 @@
+
+ while (numFound > 0) {
+ XNextEvent(display, &event);
++#ifdef I18N_IMPROVE
++ /*
++ * To avoid Tk freezing by IM server's protocol bugs,
++ * Re-check queued event after an event is filterd.
++ *
++ */
++ if (XFilterEvent(&event, None) == True) {
++ numFound = XEventsQueued(display, QueuedAlready);
++ continue;
++ }
++#endif /* I18N_IMPROVE */
+ Tk_QueueWindowEvent(&event, TCL_QUEUE_TAIL);
+ numFound--;
+ }
diff --git a/chinese/tk83/files/patch-ae b/chinese/tk83/files/patch-ae
new file mode 100644
index 000000000000..0dd37176d73e
--- /dev/null
+++ b/chinese/tk83/files/patch-ae
@@ -0,0 +1,261 @@
+--- tkUnixIm.c.orig Thu Feb 22 12:00:09 2001
++++ tkUnixIm.c Thu Feb 22 12:01:30 2001
+@@ -0,0 +1,258 @@
++/*
++ * tkUnixIm.c --
++ *
++ * This file contains modules to implement the XIM protocol session.
++ * This is the shrinked version of tkXIM.c, worte for tk8.0jp.
++ *
++ *
++ * Copyright 1999, 2000 Software Research Associates, Inc.
++ *
++ * Permission to use, copy, modify, and distribute this software and its
++ * documentation for any purpose and without fee is hereby granted, provided
++ * that the above copyright notice appear in all copies and that both that
++ * copyright notice and this permission notice appear in supporting
++ * documentation, and that the name of Software Research Associates not be
++ * used in advertising or publicity pertaining to distribution of the
++ * software without specific, written prior permission. Software Research
++ * Associates makes no representations about the suitability of this software
++ * for any purpose. It is provided "as is" without express or implied
++ * warranty.
++ */
++
++#include "tkPort.h"
++#include "tkInt.h"
++
++#ifdef TK_USE_INPUT_METHODS
++#ifdef I18N_IMPROVE
++
++static void TkpIMGenericHandler _ANSI_ARGS_((ClientData clientData, XEvent *eventPtr));
++static TkWindow * GetToplevel _ANSI_ARGS_((TkWindow *winPtr));
++static void TkpCreateIMGenericHandler _ANSI_ARGS_((Tk_Window tkwin));
++static void TkpDeleteIMGenericHandler _ANSI_ARGS_((Tk_Window tkwin));
++
++static TkWindow *
++GetToplevel(winPtr)
++ TkWindow *winPtr;
++{
++ while (!(winPtr->flags & TK_TOP_LEVEL)) {
++ winPtr = winPtr->parentPtr;
++ if (winPtr == NULL) {
++ return NULL;
++ }
++ }
++ return winPtr;
++}
++
++
++static void
++TkpIMGenericHandler(clientData, eventPtr)
++ ClientData clientData;
++ XEvent *eventPtr;
++{
++ Tk_Window tkwin = (Tk_Window)clientData;
++ TkWindow *winPtr = (TkWindow *)clientData;
++
++ if (eventPtr->xany.window != Tk_WindowId(tkwin) ||
++ winPtr->inputContext == NULL ||
++ !(winPtr->flags & TK_CHECKED_IC)) {
++ /*
++ * Why ME ???
++ */
++ return;
++ }
++
++ /*
++ * Well, should I care about Enter/Leave ?
++ */
++
++ switch (eventPtr->type) {
++ case KeyPress:
++ case FocusIn: {
++ Window root, child;
++ int rootX, rootY;
++ int wX, wY;
++ unsigned int mask;
++
++ /*
++ * Care about case mouse pointer is not on winPtr->window.
++ * In such a case, IM server can't fetch any events from Tk.
++ */
++
++ if (XQueryPointer(winPtr->display,
++ RootWindow(winPtr->display, winPtr->screenNum),
++ &root, &child, &rootX, &rootY, &wX, &wY, &mask) == True) {
++ TkWindow *pWin = (TkWindow *)Tk_CoordsToWindow(rootX, rootY,
++ (Tk_Window)winPtr);
++ if (pWin != NULL && (pWin->window != winPtr->window)) {
++#if 0
++ /*
++ * Code belows are what I REALLY want to do. But,
++ * in XIMPreeditPosition mode, IM server use the
++ * focus window as key event source window and as
++ * PreeditArea window by X11 specification. I want
++ * IM server to use this focus window ONLY as key
++ * event source. Means:
++ *
++ * o PreeditArea and PreeditPosition take place
++ * within client window (winPtr->window).
++ * o KeyPress event source is the window in which
++ * mouse pointer is (pWin->window).
++ */
++
++ if (XSetICValues(winPtr->inputContext, XNFocusWindow,
++ pWin->window, NULL) != NULL) {
++ fprintf(stderr, "debugIC: can't set IC focus to pointer window 0x%08x\n",
++ pWin->window);
++ } else {
++ fprintf(stderr, "debugIC: set IC focus to pointer window 0x%08x\n",
++ pWin->window);
++ }
++#endif
++ /*
++ * Check pWin and winPtr are in same toplevel.
++ * If they are NOT, don't change focus.
++ */
++ TkWindow *pTop = GetToplevel(pWin);
++ TkWindow *wTop = GetToplevel(winPtr);
++ if (pTop == wTop) {
++ TkpChangeFocus(winPtr, 1);
++ }
++ }
++ }
++ /*
++ * Get current focused window.
++ */
++ if (winPtr->dispPtr->lastFocusedIC != winPtr->inputContext) {
++ winPtr->dispPtr->lastFocusedIC = winPtr->inputContext;
++ XSetICFocus(winPtr->inputContext);
++ }
++ break;
++ }
++
++ case FocusOut: {
++ winPtr->dispPtr->lastFocusedIC = None;
++ XUnsetICFocus(winPtr->inputContext);
++ break;
++ }
++
++ case DestroyNotify: {
++ winPtr->dispPtr->lastFocusedIC = NULL;
++ XUnsetICFocus(winPtr->inputContext);
++ TkpDeleteIMGenericHandler(tkwin);
++ break;
++ }
++ }
++}
++
++
++static void
++TkpCreateIMGenericHandler(tkwin)
++ Tk_Window tkwin;
++{
++ Tk_CreateEventHandler(tkwin, FocusChangeMask|StructureNotifyMask|KeyPressMask
++#if 0
++ EnterWindowMask|LeaveWindowMask,
++#else
++ ,
++#endif
++ (Tk_EventProc *)TkpIMGenericHandler,
++ (ClientData)tkwin);
++}
++
++
++static void
++TkpDeleteIMGenericHandler(tkwin)
++ Tk_Window tkwin;
++{
++ Tk_DeleteEventHandler(tkwin, FocusChangeMask|StructureNotifyMask|KeyPressMask
++#if 0
++ EnterWindowMask|LeaveWindowMask,
++#else
++ ,
++#endif
++ (Tk_EventProc *)TkpIMGenericHandler,
++ (ClientData)tkwin);
++}
++
++
++XIC
++TkpCreateIC(winPtr)
++ TkWindow *winPtr;
++{
++ if (winPtr->dispPtr->inputMethod != NULL &&
++ !(winPtr->flags & TK_CHECKED_IC)) {
++ winPtr->inputContext =
++ XCreateIC(winPtr->dispPtr->inputMethod,
++ XNInputStyle, XIMPreeditNothing|XIMStatusNothing,
++ XNClientWindow, winPtr->window,
++ XNFocusWindow, winPtr->window,
++ NULL);
++ if (winPtr->inputContext != NULL) {
++ TkpCreateIMGenericHandler((Tk_Window)winPtr);
++ }
++ }
++ winPtr->flags |= TK_CHECKED_IC;
++ return winPtr->inputContext;
++}
++
++
++void
++TkpDestroyIC(winPtr, needDestroy)
++ TkWindow *winPtr;
++ int needDestroy;
++{
++ TkpDeleteIMGenericHandler((Tk_Window)winPtr);
++ if (winPtr->inputContext == winPtr->dispPtr->lastFocusedIC) {
++ winPtr->dispPtr->lastFocusedIC = None;
++ }
++ if (needDestroy == 1 &&
++ winPtr->inputContext != NULL) {
++ XDestroyIC(winPtr->inputContext);
++ }
++ winPtr->flags &= ~(TK_CHECKED_IC);
++ winPtr->inputContext = NULL;
++}
++
++
++int
++Tk_ImconfigureObjCmd(clientData, interp, objc, objv)
++ ClientData clientData; /* Main window associated with
++ * interpreter. */
++ Tcl_Interp *interp; /* Current interpreter. */
++ int objc; /* Number of arguments. */
++ Tcl_Obj *CONST objv[]; /* Argument objects. */
++{
++ Tk_Window tkwin = (Tk_Window)clientData;
++ Tcl_Obj *resultPtr = Tcl_GetObjResult(interp);
++
++ if (objc < 2) {
++ Tcl_WrongNumArgs(interp, 1, objv, "path ?option? ?arg? ...");
++ return TCL_ERROR;
++ }
++
++ tkwin = Tk_NameToWindow(interp, Tcl_GetStringFromObj(objv[1], NULL), tkwin);
++ if (tkwin == NULL) {
++ return TCL_ERROR;
++ }
++
++ if (((TkWindow *)tkwin)->dispPtr->useInputMethods == 0) {
++ /*
++ * Destroy XIC and leave.
++ */
++ TkpDestroyIC((TkWindow *)tkwin, 1);
++ return TCL_OK;
++ }
++
++ if (((TkWindow *)tkwin)->dispPtr->inputMethod == NULL) {
++ Tcl_AppendStringsToObj(resultPtr, "No IM server is available.", NULL);
++ return TCL_ERROR;
++ }
++
++ Tcl_AppendStringsToObj(resultPtr,
++ (TkpCreateIC((TkWindow *)tkwin) != NULL) ? "1" : "0",
++ NULL);
++ return TCL_OK;
++}
++
++#endif /* I18N_IMPROVE */
++#endif /* TK_USE_INPUT_METHODS */
diff --git a/chinese/tk83/files/patch-af b/chinese/tk83/files/patch-af
new file mode 100644
index 000000000000..8272362e08b8
--- /dev/null
+++ b/chinese/tk83/files/patch-af
@@ -0,0 +1,91 @@
+--- tkUnixKey.c.orig Wed Feb 9 02:13:54 2000
++++ tkUnixKey.c Wed Feb 21 21:27:46 2001
+@@ -50,6 +50,10 @@
+ int len;
+ Tcl_DString buf;
+ Status status;
++#if defined(I18N_IMPROVE) && defined(TK_USE_INPUT_METHODS)
++ Bool validString = False;
++ Bool usePreviousComposed = False;
++#endif /* I18N_IMPROVE && TK_USE_INPUT_METHODS */
+
+ /*
+ * Overallocate the dstring to the maximum stack amount.
+@@ -59,8 +63,18 @@
+ Tcl_DStringSetLength(&buf, TCL_DSTRING_STATIC_SIZE-1);
+
+ #ifdef TK_USE_INPUT_METHODS
++#ifdef I18N_IMPROVE
++ /*
++ * If there is a valid XIC, must fetch strings here since some
++ * garbages still remain. After the fetching, if
++ * dispPtr->useInputMethods == 0, just trash the strings.
++ * m-hirano
++ */
++ if ((winPtr->inputContext != NULL)
++#else
+ if (winPtr->dispPtr->useInputMethods
+ && (winPtr->inputContext != NULL)
++#endif /* I18N_IMPROVE */
+ && (eventPtr->type == KeyPress)) {
+ len = XmbLookupString(winPtr->inputContext, &eventPtr->xkey,
+ Tcl_DStringValue(&buf), Tcl_DStringLength(&buf),
+@@ -75,12 +89,27 @@
+ Tcl_DStringValue(&buf), len, (KeySym *) NULL, &status);
+ }
+ if ((status != XLookupChars) && (status != XLookupBoth)) {
++#ifdef I18N_IMPROVE
++ if (winPtr->dispPtr->isComposed == 1 &&
++ Tcl_DStringLength(&(winPtr->composedDStr)) > 0 &&
++ winPtr->dispPtr->useInputMethods == 1) {
++ usePreviousComposed = True;
++ }
++#endif /* I18N_IMPROVE */
+ len = 0;
+ }
++#ifdef I18N_IMPROVE
++ if (winPtr->dispPtr->useInputMethods == 1) {
++ validString = True;
++ }
++#endif /* I18N_IMPROVE */
+ } else {
+ len = XLookupString(&eventPtr->xkey, Tcl_DStringValue(&buf),
+ Tcl_DStringLength(&buf), (KeySym *) NULL,
+ (XComposeStatus *) NULL);
++#ifdef I18N_IMPROVE
++ validString = True;
++#endif /* I18N_IMPROVE */
+ }
+ #else /* TK_USE_INPUT_METHODS */
+ len = XLookupString(&eventPtr->xkey, Tcl_DStringValue(&buf),
+@@ -89,7 +118,30 @@
+ #endif /* TK_USE_INPUT_METHODS */
+ Tcl_DStringSetLength(&buf, len);
+
++#if defined(I18N_IMPROVE) && defined(TK_USE_INPUT_METHODS)
++ if (validString == True) {
++ if (usePreviousComposed == False) {
++ Tcl_ExternalToUtfDString(winPtr->dispPtr->imEncoding,
++ Tcl_DStringValue(&buf), len, dsPtr);
++ Tcl_DStringFree(&(winPtr->composedDStr));
++ Tcl_DStringInit(&(winPtr->composedDStr));
++ Tcl_DStringAppend(&(winPtr->composedDStr),
++ Tcl_DStringValue(dsPtr),
++ Tcl_DStringLength(dsPtr));
++ } else {
++ Tcl_DStringFree(dsPtr);
++ Tcl_DStringInit(dsPtr);
++ Tcl_DStringAppend(dsPtr,
++ Tcl_DStringValue(&(winPtr->composedDStr)),
++ Tcl_DStringLength(&(winPtr->composedDStr)));
++ }
++ } else {
++ Tcl_DStringFree(dsPtr);
++ Tcl_DStringInit(dsPtr);
++ }
++#else
+ Tcl_ExternalToUtfDString(NULL, Tcl_DStringValue(&buf), len, dsPtr);
++#endif /* I18N_IMPROVE && TK_USE_INPUT_METHODS */
+ Tcl_DStringFree(&buf);
+
+ return Tcl_DStringValue(dsPtr);
diff --git a/chinese/tk83/files/patch-ag b/chinese/tk83/files/patch-ag
new file mode 100644
index 000000000000..8920819aaa69
--- /dev/null
+++ b/chinese/tk83/files/patch-ag
@@ -0,0 +1,13 @@
+--- tkUnixPort.h.orig Fri Apr 16 01:51:47 1999
++++ tkUnixPort.h Wed Feb 21 21:27:46 2001
+@@ -82,6 +82,10 @@
+ #include <X11/Xresource.h>
+ #include <X11/Xutil.h>
+
++#ifdef I18N_IMPROVE
++#include <X11/Xlocale.h>
++#endif /* I18N_IMPROVE */
++
+ /*
+ * The following macro defines the type of the mask arguments to
+ * select:
diff --git a/chinese/tk83/files/patch-ah b/chinese/tk83/files/patch-ah
new file mode 100644
index 000000000000..c865aa3e756f
--- /dev/null
+++ b/chinese/tk83/files/patch-ah
@@ -0,0 +1,136 @@
+--- configure.in.orig Thu Feb 10 11:11:02 2000
++++ configure.in Wed Feb 21 21:27:45 2001
+@@ -60,6 +60,12 @@
+ SC_LOAD_TCLCONFIG
+
+ #--------------------------------------------------------------------
++# i18n improvement (also check it is specified in Tcl)
++#--------------------------------------------------------------------
++
++SC_ENABLE_I18N_IMPROVE
++
++#--------------------------------------------------------------------
+ # Recompute the necessary flags to run the compiler
+ #--------------------------------------------------------------------
+
+@@ -372,6 +378,113 @@
+ TK_SHARED_BUILD=${SHARED_BUILD}
+
+ #--------------------------------------------------------------------
++# Checking X lib for i18n related things.
++#--------------------------------------------------------------------
++
++X11_IMAKE_FLAGS=""
++tk_oldCflags=$CFLAGS
++tk_oldLibs=$LIBS
++CFLAGS="$CFLAGS $XINCLUDES"
++LIBS="$XLIBSW $LIBS"
++
++AC_MSG_CHECKING([XRegisterIMInstantiateCallback])
++AC_TRY_LINK([
++#include <X11/Xlib.h>
++], [
++XRegisterIMInstantiateCallback(0, 0, 0, 0, 0, 0);
++], [
++AC_MSG_RESULT(yes)
++X11_IMAKE_FLAGS="-DHAVE_XIMREGINSTCB"
++], [
++AC_MSG_RESULT(no)
++])
++
++AC_MSG_CHECKING([XIDProc])
++AC_TRY_COMPILE([
++#include <X11/Xlib.h>
++], [
++XIDProc *a;
++], [
++AC_MSG_RESULT(yes)
++], [
++AC_MSG_RESULT(no)
++X11_IMAKE_FLAGS="$X11_IMAKE_FLAGS -DNO_XIDPROC"
++])
++
++HAVE_XMKMF=""
++AC_PATH_PROG(HAVE_XMKMF, xmkmf, "", ${PATH}:/usr/X11R6/bin:/usr/X11R5/bin:/usr/local/X11R6/bin:/usr/local/X11R5/bin:/usr/openwin/bin:/usr/X11/bin:/usr/X386/bin:/usr/sww/bin:/usr/unsupported/bin)
++if test "X$HAVE_XMKMF" != "X"; then
++ IMAKE_FLAGS=""
++ if test -d ImakeCheck; then
++ rm -rf ImakeCheck
++ fi
++ mkdir ImakeCheck
++ cat << EOF > ImakeCheck/Imakefile
++SRCS = dummy.c
++OBJS = dummy.o
++
++ComplexProgramTarget(dummy)
++EOF
++ cat << EOF > ImakeCheck/dummy.c
++static int justAnInt = 0;
++EOF
++ (cd ./ImakeCheck; rm -f Makefile Makefile.*; eval $HAVE_XMKMF) > /dev/null 2>&1
++ for i in `(cd ./ImakeCheck; make -n dummy.o)`
++ do
++ case $i in -D*) IMAKE_FLAGS="$IMAKE_FLAGS $i";; esac
++ done
++ if test "X$IMAKE_FLAGS" != "X"; then
++ AC_MSG_RESULT(Add these flags for proper compile: $IMAKE_FLAGS)
++ X11_IMAKE_FLAGS="$X11_IMAKE_FLAGS $IMAKE_FLAGS"
++ fi
++ rm -rf ImakeCheck
++fi
++
++# At last check FreeBSD and have -lxpg4.
++AC_MSG_CHECKING([system version (for additional locale library)])
++if test -f /usr/lib/NextStep/software_version; then
++ system=NEXTSTEP-`awk '/3/,/3/' /usr/lib/NextStep/software_version`
++else
++ system=`uname -s`-`uname -r`
++ if test "$?" -ne 0 ; then
++ system=unknown
++ else
++ # Special check for weird MP-RAS system (uname returns weird
++ # results, and the version is kept in special file).
++
++ if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then
++ system=MP-RAS-`awk '{print $3}' /etc/.relid'`
++ fi
++ if test "`uname -s`" = "AIX" ; then
++ system=AIX-`uname -v`.`uname -r`
++ fi
++ fi
++fi
++
++case $system in
++ FreeBSD-*)
++ LIBS="$XLIBSW -lxpg4 $tk_oldLibs"
++ CFLAGS="$CFLAGS $X11_IMAKE_FLAGS"
++ AC_TRY_COMPILE([
++#include <locale.h>
++], [
++(void)setlocale(LC_ALL, "");
++], [
++AC_MSG_RESULT(use xpg4 library.)
++XLIBSW="$XLIBSW -lxpg4"
++], [
++AC_MSG_RESULT(no need other libraries.)
++])
++ ;;
++ *)
++ AC_MSG_RESULT(No additional library is needed.)
++ ;;
++esac
++
++CFLAGS=$tk_oldCflags
++LIBS=$tk_oldLibs
++
++#--------------------------------------------------------------------
+ # The statements below define various symbols relating to creating
+ # the stub'd version of the Tk library
+ #
+@@ -453,5 +566,5 @@
+ AC_SUBST(XINCLUDES)
+ AC_SUBST(XLIBSW)
+ AC_SUBST(TK_SHARED_BUILD)
+-
++AC_SUBST(X11_IMAKE_FLAGS)
+ AC_OUTPUT(Makefile tkConfig.sh)
diff --git a/chinese/tk83/files/patch-ai b/chinese/tk83/files/patch-ai
new file mode 100644
index 000000000000..183ef6e4f7c8
--- /dev/null
+++ b/chinese/tk83/files/patch-ai
@@ -0,0 +1,14 @@
+--- ../generic/tk.h.orig Tue Feb 8 11:31:32 2000
++++ ../generic/tk.h Wed Feb 21 21:27:44 2001
+@@ -688,6 +688,11 @@
+ char *dummy17;
+ ClientData dummy18;
+ char *dummy19;
++#ifdef TK_USE_INPUT_METHODS
++#ifdef I18N_IMPROVE
++ Tcl_DString dummy20DStr;
++#endif /* I18N_IMPROVE */
++#endif /* TK_USE_INPUT_METHODS */
+ } Tk_FakeWin;
+
+ /*
diff --git a/chinese/tk83/files/patch-aj b/chinese/tk83/files/patch-aj
new file mode 100644
index 000000000000..2de556433809
--- /dev/null
+++ b/chinese/tk83/files/patch-aj
@@ -0,0 +1,26 @@
+--- ../generic/tkBind.c.orig Wed Feb 9 02:13:50 2000
++++ ../generic/tkBind.c Wed Feb 21 21:27:44 2001
+@@ -1443,6 +1443,11 @@
+ */
+
+ if (winPtr->pathName == NULL) {
++#ifdef TK_USE_INPUT_METHODS
++#ifdef I18N_IMPROVE
++ winPtr->dispPtr->isComposed = 0;
++#endif /* I18N_IMPROVE */
++#endif /* TK_USE_INPUT_METHODS */
+ return;
+ }
+
+@@ -1678,6 +1683,11 @@
+ Tcl_DStringAppend(&scripts, "", 1);
+ }
+ }
++#ifdef TK_USE_INPUT_METHODS
++#ifdef I18N_IMPROVE
++ winPtr->dispPtr->isComposed = 0;
++#endif /* I18N_IMPROVE */
++#endif /* TK_USE_INPUT_METHODS */
+ if (Tcl_DStringLength(&scripts) == 0) {
+ return;
+ }
diff --git a/chinese/tk83/files/patch-ak b/chinese/tk83/files/patch-ak
new file mode 100644
index 000000000000..9049dcc37517
--- /dev/null
+++ b/chinese/tk83/files/patch-ak
@@ -0,0 +1,47 @@
+--- ../generic/tkEvent.c.orig Thu Dec 16 21:57:36 1999
++++ ../generic/tkEvent.c Wed Feb 21 23:18:43 2001
+@@ -663,6 +663,17 @@
+ }
+
+ #ifdef TK_USE_INPUT_METHODS
++#ifdef I18N_IMPROVE
++ /*
++ * No need to create an input context for each and every window.
++ *
++ * Futhermore, XFilterEvent() should be called just after the
++ * event is fetched, since some IM server have protocol bugs that
++ * causes Tk freezing, so events EXCEPT THE INPUT METHODS THINGS
++ * should only be queued into Tcl event queue.
++ *
++ */
++#else
+ /*
+ * Pass the event to the input method(s), if there are any, and
+ * discard the event if the input method(s) insist. Create the
+@@ -684,6 +695,7 @@
+ goto done;
+ }
+ }
++#endif /* I18N_IMPROVE */
+ #endif /* TK_USE_INPUT_METHODS */
+
+ /*
+@@ -936,6 +948,18 @@
+ break;
+ }
+ }
++
++#if defined(TK_USE_INPUT_METHODS) && defined(I18N_IMPROVE)
++ if (eventPtr->type == KeyPress && eventPtr->xkey.keycode == 0) {
++ /*
++ * No doubt this is a composed message from IM server.
++ * Tk can handle KeyPress event with zero keycode value
++ * if state of the event is zero.
++ */
++ eventPtr->xkey.state = 0;
++ dispPtr->isComposed = 1;
++ }
++#endif /* TK_USE_INPUT_METHODS && I18N_IMPROVE */
+
+ if ((dispPtr->delayedMotionPtr != NULL) && (position == TCL_QUEUE_TAIL)) {
+ if ((eventPtr->type == MotionNotify) && (eventPtr->xmotion.window
diff --git a/chinese/tk83/files/patch-al b/chinese/tk83/files/patch-al
new file mode 100644
index 000000000000..d7560ddafa09
--- /dev/null
+++ b/chinese/tk83/files/patch-al
@@ -0,0 +1,73 @@
+--- ../generic/tkInt.h.orig Fri Jan 21 03:54:41 2000
++++ ../generic/tkInt.h Wed Feb 21 21:27:44 2001
+@@ -499,6 +499,24 @@
+ int warpX;
+ int warpY;
+ int useInputMethods; /* Whether to use input methods */
++#ifdef TK_USE_INPUT_METHODS
++#ifdef I18N_IMPROVE
++ Tcl_Encoding imEncoding; /* Tcl encoding when the first Tcl
++ * interp was created.
++ * For encoding conversion from
++ * XmbLookupString() to UTF.
++ */
++ XIC lastFocusedIC; /* The last focused input context on
++ * the display.
++ */
++ int isComposed; /* 1 if the latest KeyPress event is a
++ * "Compose message" from IM server,
++ * otherwise 0. */
++#ifdef XNDestroyCallback
++ XIMCallback destroyCallback;
++#endif /* XNDestroyCallback */
++#endif /* I18N_IMPROVE */
++#endif /* TK_USE_INPUT_METHODS */
+ } TkDisplay;
+
+ /*
+@@ -790,6 +808,13 @@
+ */
+
+ struct TkWindowPrivate *privatePtr;
++#ifdef TK_USE_INPUT_METHODS
++#ifdef I18N_IMPROVE
++ Tcl_DString composedDStr; /* To prepare successive "%A" in bind
++ * script, save a string from IM
++ * server. */
++#endif /* I18N_IMPROVE */
++#endif /* TK_USE_INPUT_METHODS */
+ } TkWindow;
+
+ /*
+@@ -999,9 +1024,6 @@
+ EXTERN int Tk_WmCmd _ANSI_ARGS_((ClientData clientData,
+ Tcl_Interp *interp, int argc, char **argv));
+
+-void TkConsolePrint _ANSI_ARGS_((Tcl_Interp *interp,
+- int devId, char *buffer, long size));
+-
+ EXTERN void TkEventInit _ANSI_ARGS_((void));
+
+ EXTERN int TkCreateMenuCmd _ANSI_ARGS_((Tcl_Interp *interp));
+@@ -1080,6 +1102,21 @@
+ */
+ EXTERN int TkUnsupported1Cmd _ANSI_ARGS_((ClientData clientData,
+ Tcl_Interp *interp, int argc, char **argv));
++
++#if defined(TK_USE_INPUT_METHODS) && defined(I18N_IMPROVE)
++EXTERN XIC TkpCreateIC _ANSI_ARGS_((TkWindow *winPtr));
++EXTERN void TkpDestroyIC _ANSI_ARGS_((TkWindow *winPtr, int needDestroy));
++EXTERN int Tk_ImconfigureObjCmd _ANSI_ARGS_((ClientData clientData,
++ Tcl_Interp *interp, int objc,
++ Tcl_Obj *CONST objv[]));
++#endif /* TK_USE_INPUT_METHODS && I18N_IMPROVE */
++
++# undef TCL_STORAGE_CLASS
++# define TCL_STORAGE_CLASS
++
++EXTERN int TkConsoleInit _ANSI_ARGS_((Tcl_Interp *interp));
++EXTERN void TkConsolePrint _ANSI_ARGS_((Tcl_Interp *interp,
++ int devId, char *buffer, long size));
+
+ # undef TCL_STORAGE_CLASS
+ # define TCL_STORAGE_CLASS DLLIMPORT
diff --git a/chinese/tk83/files/patch-am b/chinese/tk83/files/patch-am
new file mode 100644
index 000000000000..015b4280715c
--- /dev/null
+++ b/chinese/tk83/files/patch-am
@@ -0,0 +1,306 @@
+--- ../generic/tkWindow.c.orig Thu Dec 16 21:57:36 1999
++++ ../generic/tkWindow.c Wed Feb 21 23:20:48 2001
+@@ -155,6 +155,9 @@
+ #ifdef MAC_TCL
+ {"unsupported1", TkUnsupported1Cmd, NULL, 1, 1},
+ #endif
++#if defined(TK_USE_INPUT_METHODS) && defined(I18N_IMPROVE)
++ {"imconfigure", NULL, Tk_ImconfigureObjCmd, 1, 1},
++#endif /* TK_USE_INPUT_METHODS && I18N_IMPROVE */
+ {(char *) NULL, (int (*) _ANSI_ARGS_((ClientData, Tcl_Interp *, int, char **))) NULL, NULL, 0}
+ };
+
+@@ -209,6 +212,15 @@
+ char *name));
+ static void OpenIM _ANSI_ARGS_((TkDisplay *dispPtr));
+ static void UnlinkWindow _ANSI_ARGS_((TkWindow *winPtr));
++#ifdef TK_USE_INPUT_METHODS
++#ifdef I18N_IMPROVE
++static int CanInitiateIm _ANSI_ARGS_((void));
++static void IMInstantiateCallback _ANSI_ARGS_ ((Display *display,
++ XPointer clientData, XPointer callData));
++static void IMDestroyCallback _ANSI_ARGS_ ((XIM im, XPointer clientData,
++ XPointer callData));
++#endif /* I18N_IMPROVE */
++#endif /* TK_USE_INPUT_METHODS */
+
+ /*
+ *----------------------------------------------------------------------
+@@ -631,6 +643,9 @@
+ winPtr->handlerList = NULL;
+ #ifdef TK_USE_INPUT_METHODS
+ winPtr->inputContext = NULL;
++#ifdef I18N_IMPROVE
++ Tcl_DStringInit(&(winPtr->composedDStr));
++#endif /* I18N_IMPROVE */
+ #endif /* TK_USE_INPUT_METHODS */
+ winPtr->tagPtr = NULL;
+ winPtr->numTags = 0;
+@@ -1275,8 +1290,16 @@
+ TkBindDeadWindow(winPtr);
+ #ifdef TK_USE_INPUT_METHODS
+ if (winPtr->inputContext != NULL) {
+- XDestroyIC(winPtr->inputContext);
++#ifdef I18N_IMPROVE
++ TkpDestroyIC(winPtr, 1);
++#else
++ XDestroyIC(winPtr->inputContext);
++#endif /* I18N_IMPROVE */
+ }
++#ifdef I18N_IMPROVE
++ Tcl_DStringFree(&(winPtr->composedDStr));
++ Tcl_DStringInit(&(winPtr->composedDStr));
++#endif /* I18N_IMPROVE */
+ #endif /* TK_USE_INPUT_METHODS */
+ if (winPtr->tagPtr != NULL) {
+ TkFreeBindingTags(winPtr);
+@@ -2427,6 +2450,180 @@
+ {
+ return ((TkWindow *) tkwin)->mainPtr->strictMotif;
+ }
++#ifdef TK_USE_INPUT_METHODS
++#ifdef I18N_IMPROVE
++
++static int
++CanInitiateIm()
++{
++ static int inited = 0;
++ static int ret = 0;
++ char *locale;
++
++ /*
++ * Determine the current encoding from the LC_* or LANG environment
++ * variables. We previously used setlocale() to determine the locale,
++ * but this does not work on some systems (e.g. Linux/i386 RH 5.0).
++ */
++
++ locale = getenv("LC_ALL");
++
++ if (locale == NULL || locale[0] == '\0') {
++ locale = getenv("LC_CTYPE");
++ }
++ if (locale == NULL || locale[0] == '\0') {
++ locale = getenv("LANG");
++ }
++ if (locale == NULL || locale[0] == '\0') {
++ return False;
++ }
++
++ if (inited == 0) {
++ char *curSpec = setlocale(LC_ALL, NULL);
++
++ inited = 1;
++
++ if (strcmp(locale, "C") == 0 ||
++ strcmp(locale, "POSIX") == 0) {
++ goto Checked;
++ }
++
++ /*
++ * setlocale(3)/_Xsetlocale() VERY HERE. This is what the X
++ * input method wants.
++ * Note that X11's i18n implementation should be ONLY governed
++ * by LC_CTYPE. This is clearly/explicitly specified in X11
++ * documente Chapter 13. Thus, If there are some X11
++ * implementation that need using LC_ALL to initialize i18n
++ * subsystem, I won't care about such a X library.
++ * But, we are still on edge of darkside. ctype(3) routines
++ * are governed by LC_CTYPE.... Need to create "Locale
++ * independent ctype libraries" for Tcl/Tk...
++ *
++ */
++
++ /*
++ * OK, First of all, setting WHOLE locale to "C".
++ */
++ (void)setlocale(LC_ALL, "C");
++ if (setlocale(LC_CTYPE, locale) == NULL) {
++ /*
++ * Reset to old locale.
++ */
++ if (setlocale(LC_ALL, curSpec) == NULL) {
++ (void)setlocale(LC_ALL, "C");
++ }
++ goto Checked;
++ } else {
++ /*
++ * For insurance, reset LC_NUMERIC to "C" for Tcl numeric parsing.
++ */
++ (void)setlocale(LC_NUMERIC, "C");
++ }
++ if (XSupportsLocale() != True) {
++ goto Checked;
++ }
++
++ ret = True;
++ /*
++ * At last, Setting the locale modifiers.
++ */
++ (void)XSetLocaleModifiers("");
++ }
++
++ Checked:
++ return ret;
++}
++
++/*
++ *----------------------------------------------------------------------
++ *
++ * IMInstantiateCallback
++ *
++ * Whenever IM server become available, this function will be called.
++ *
++ * Results:
++ * OpenIM() is called.
++ *
++ * Side effects:
++ * None.
++ *
++ *----------------------------------------------------------------------
++ */
++
++void
++IMInstantiateCallback(display, clientData, callData)
++ Display *display;
++ XPointer clientData;
++ XPointer callData;
++{
++ TkDisplay *dispPtr = (TkDisplay *)clientData;
++
++ if (display == dispPtr->display &&
++ dispPtr->inputMethod == NULL) {
++ OpenIM(dispPtr);
++ }
++}
++
++/*
++ *----------------------------------------------------------------------
++ *
++ * IMDestroyCallback
++ *
++ * Whenever IM server stops the service, this function will be called.
++ *
++ * Results:
++ * the XIM opened before is marked as unusable.
++ *
++ * Side effects:
++ * XIC using this XIM will be useless.
++ *
++ *----------------------------------------------------------------------
++ */
++void
++IMDestroyCallback(im, clientData, callData)
++ XIM im;
++ XPointer clientData;
++ XPointer callData;
++{
++ TkDisplay *dispPtr = (TkDisplay *)clientData;
++ if (im == dispPtr->inputMethod) {
++ Tcl_HashTable winTable = dispPtr->winTable;
++ Tcl_HashEntry *entry = NULL;
++ Tcl_HashSearch search;
++ TkWindow *winPtr;
++
++ /*
++ * We must not call XCloseIM() or XDestroyIC().
++ * because the XIM and XIC are destroyed by Xlib
++ * automatically.
++ */
++ for (entry = Tcl_FirstHashEntry(&winTable, &search); entry != NULL;
++ entry = Tcl_NextHashEntry(&search)) {
++ winPtr = (TkWindow *)Tcl_GetHashValue(entry);
++ if (winPtr->dispPtr->display == dispPtr->display &&
++ winPtr->dispPtr->inputMethod == im &&
++ winPtr->inputContext != NULL) {
++ TkpDestroyIC(winPtr, 0);
++ }
++ Tcl_DStringFree(&(winPtr->composedDStr));
++ Tcl_DStringInit(&(winPtr->composedDStr));
++ }
++ dispPtr->inputMethod = NULL;
++ dispPtr->lastFocusedIC = NULL;
++#ifdef HAVE_XIMREGINSTCB
++#ifdef NO_XIDPROC
++ XRegisterIMInstantiateCallback(dispPtr->display, NULL, NULL, NULL,
++ (XIMProc)IMInstantiateCallback, (XPointer *)dispPtr);
++#else
++ XRegisterIMInstantiateCallback(dispPtr->display, NULL, NULL, NULL,
++ (XIDProc)IMInstantiateCallback, (XPointer)dispPtr);
++#endif /* NO_XIDPROC */
++#endif /* HAVE_XIMREGINSTCB */
++ }
++}
++#endif /* I18N_IMPROVE */
++#endif /* TK_USE_INPUT_METHODS */
+
+ /*
+ *--------------------------------------------------------------
+@@ -2457,8 +2654,35 @@
+ unsigned short i;
+ XIMStyles *stylePtr;
+
++#ifdef I18N_IMPROVE
++ int styleFound = 0;
++
++ dispPtr->inputMethod = NULL;
++ dispPtr->imEncoding = NULL;
++ dispPtr->lastFocusedIC = NULL;
++ dispPtr->isComposed = 0;
++
++ if (CanInitiateIm() == False) {
++ return;
++ }
++#endif /* I18N_IMPROVE */
+ dispPtr->inputMethod = XOpenIM(dispPtr->display, NULL, NULL, NULL);
+ if (dispPtr->inputMethod == NULL) {
++#ifdef I18N_IMPROVE
++#ifdef HAVE_XIMREGINSTCB
++ /*
++ * Maybe no IM server is available right now.
++ * Try to register instantiate callback.
++ */
++#ifdef NO_XIDPROC
++ XRegisterIMInstantiateCallback(dispPtr->display, NULL, NULL, NULL,
++ (XIMProc)IMInstantiateCallback, (XPointer *)dispPtr);
++#else
++ XRegisterIMInstantiateCallback(dispPtr->display, NULL, NULL, NULL,
++ (XIDProc)IMInstantiateCallback, (XPointer)dispPtr);
++#endif /* NO_XIDPROC */
++#endif /* HAVE_XIMREGINSTCB */
++#endif /* I18N_IMPROVE */
+ return;
+ }
+
+@@ -2469,11 +2693,30 @@
+ for (i = 0; i < stylePtr->count_styles; i++) {
+ if (stylePtr->supported_styles[i]
+ == (XIMPreeditNothing|XIMStatusNothing)) {
+- XFree(stylePtr);
+- return;
++#ifdef I18N_IMPROVE
++ styleFound = 1;
++#else
++ XFree(stylePtr);
++ return;
++#endif /* I18N_IMPROVE */
+ }
+ }
+ XFree(stylePtr);
++#ifdef I18N_IMPROVE
++ if (styleFound == 1) {
++ /*
++ * Create a Tcl_Encoding for XmbLookupString() conversion.
++ */
++ dispPtr->imEncoding = Tcl_GetEncoding(NULL, Tcl_GetEncodingName(NULL));
++#ifdef XNDestroyCallback
++ dispPtr->destroyCallback.client_data = (XPointer)dispPtr;
++ dispPtr->destroyCallback.callback = (XIMProc)IMDestroyCallback;
++ (void)XSetIMValues(dispPtr->inputMethod,
++ XNDestroyCallback, &(dispPtr->destroyCallback), NULL);
++#endif /* XNDestroyCallback */
++ return;
++ }
++#endif /* I18N_IMPROVE */
+
+ error:
+
diff --git a/chinese/tk83/files/patch-an b/chinese/tk83/files/patch-an
new file mode 100644
index 000000000000..47dcdff2bb00
--- /dev/null
+++ b/chinese/tk83/files/patch-an
@@ -0,0 +1,16 @@
+--- ../library/entry.tcl.orig Thu Jan 6 02:22:24 2000
++++ ../library/entry.tcl Wed Feb 21 21:27:44 2001
+@@ -214,6 +214,13 @@
+ }
+ }
+
++# input method configuration binding (unix only)
++if {![string compare $tcl_platform(platform) "unix"]} {
++ if {[string compare [info commands imconfigure] {}]} {
++ bind Entry <FocusIn> {catch {imconfigure %W}}
++ }
++}
++
+ # Additional emacs-like bindings:
+
+ bind Entry <Control-a> {
diff --git a/chinese/tk83/files/patch-ao b/chinese/tk83/files/patch-ao
new file mode 100644
index 000000000000..823a8c5bdb08
--- /dev/null
+++ b/chinese/tk83/files/patch-ao
@@ -0,0 +1,16 @@
+--- ../library/text.tcl.orig Thu Feb 10 08:52:50 2000
++++ ../library/text.tcl Wed Feb 21 21:27:44 2001
+@@ -378,6 +378,13 @@
+ }
+ }
+
++# UNIX only bindings:
++
++if {[string equal $tcl_platform(platform) "unix"] &&
++ [string compare [info commands imconfigure] {}]} {
++ bind Text <FocusIn> {catch {imconfigure %W}}
++}
++
+ # Macintosh only bindings:
+
+ # if text black & highlight black -> text white, other text the same
diff --git a/chinese/tk83/pkg-comment b/chinese/tk83/pkg-comment
new file mode 100644
index 000000000000..ff5ce674d034
--- /dev/null
+++ b/chinese/tk83/pkg-comment
@@ -0,0 +1 @@
+Graphical toolkit for TCL
diff --git a/chinese/tk83/pkg-deinstall.wish b/chinese/tk83/pkg-deinstall.wish
new file mode 100644
index 000000000000..1998d0efb780
--- /dev/null
+++ b/chinese/tk83/pkg-deinstall.wish
@@ -0,0 +1,22 @@
+#! /bin/sh
+#
+# Remove the ${PREFIX}/bin/wish script that gets installed by INSTALL.wish
+# if we are the last wish installation to be pkg_delete'd.
+#
+# $FreeBSD: /tmp/pcvs/ports/chinese/tk83/Attic/pkg-deinstall.wish,v 1.1 2001-02-22 04:09:52 kevlo Exp $
+#
+
+#
+# Explicitly listing /usr/X11R6/bin here is debatable.
+#
+BINDIR="${PKG_PREFIX}/bin /usr/X11R6/bin"
+WISH=${PKG_PREFIX}/bin/wish
+
+wishes=$(/bin/ls ${BINDIR} 2> /dev/null | \
+ egrep '^o?wish(step)?(x|([0-9]+\.[0-9]+))([a-z][a-z])?$')
+
+if [ "$wishes" = "" -a -f ${WISH} ] && \
+ (head -3 ${WISH} | grep awieYJFnsuILOnfsYEW) > /dev/null 2>&1
+then
+ rm -f ${PKG_PREFIX}/bin/wish
+fi
diff --git a/chinese/tk83/pkg-descr b/chinese/tk83/pkg-descr
new file mode 100644
index 000000000000..db7796ceca60
--- /dev/null
+++ b/chinese/tk83/pkg-descr
@@ -0,0 +1,6 @@
+This is Tk version 8.3, a GUI toolkit for Tcl.
+
+The best way to get started with Tcl is to read ``Tcl and the Tk
+Toolkit'' by John K. Ousterhout, Addison-Wesley, ISBN 0-201-63337-X.
+
+WWW: http://dev.scriptics.com/software/tcltk/8.3.html
diff --git a/chinese/tk83/pkg-install.wish b/chinese/tk83/pkg-install.wish
new file mode 100644
index 000000000000..d526f076a498
--- /dev/null
+++ b/chinese/tk83/pkg-install.wish
@@ -0,0 +1,32 @@
+#!/bin/sh
+
+# The user may have a wish they want to preserve
+ver=`grep -a awieYJFnsuILOnfsYEW ${PKG_PREFIX}/bin/wish 2> /dev/null \
+ | sed -e 's/.*\*\*//'`
+if [ ! -e ${PKG_PREFIX}/bin/wish ] || [ "$ver" != "" -a "$ver" -lt 001 ]
+then
+ [ -f ${PKG_PREFIX}/bin/wish ] && chmod u+w ${PKG_PREFIX}/bin/wish
+
+ mkdir -p ${PKG_PREFIX}/bin
+ cat > ${PKG_PREFIX}/bin/wish <<'EOF'
+#!/bin/sh
+# Installed by ports system. id: awieYJFnsuILOnfsYEW**001
+
+(
+echo "In FreeBSD, wish is named with a version number. This is because"
+echo "different versions of wish are not compatible with each other and"
+echo "they can not all be called \"wish\"! You may need multiple versions"
+echo "installed because a given port may depend on a specific version."
+echo
+echo "On your system, wish is installed under at least the following names:"
+echo
+for name in $(/bin/ls $(echo $PATH | sed 's/:/ /g') 2> /dev/null | egrep '^wish(step)?(x|([0-9]+\.[0-9]+))([a-z][a-z])?$')
+do
+ echo $name
+done
+[ "$name" = "" ] && echo "No wish installations found, sorry."
+) 1>&2
+exit 1
+EOF
+ chmod a+rx ${PKG_PREFIX}/bin/wish
+fi
diff --git a/chinese/tk83/pkg-plist b/chinese/tk83/pkg-plist
new file mode 100644
index 000000000000..4c490db894b5
--- /dev/null
+++ b/chinese/tk83/pkg-plist
@@ -0,0 +1,139 @@
+bin/wish%%TK_VER%%
+include/tk%%TK_VER%%/generic/default.h
+include/tk%%TK_VER%%/generic/ks_names.h
+include/tk%%TK_VER%%/generic/tk.h
+include/tk%%TK_VER%%/generic/tk3d.h
+include/tk%%TK_VER%%/generic/tkButton.h
+include/tk%%TK_VER%%/generic/tkCanvas.h
+include/tk%%TK_VER%%/generic/tkColor.h
+include/tk%%TK_VER%%/generic/tkDecls.h
+include/tk%%TK_VER%%/generic/tkFileFilter.h
+include/tk%%TK_VER%%/generic/tkFont.h
+include/tk%%TK_VER%%/generic/tkInitScript.h
+include/tk%%TK_VER%%/generic/tkInt.h
+include/tk%%TK_VER%%/generic/tkIntDecls.h
+include/tk%%TK_VER%%/generic/tkIntPlatDecls.h
+include/tk%%TK_VER%%/generic/tkIntXlibDecls.h
+include/tk%%TK_VER%%/generic/tkMenu.h
+include/tk%%TK_VER%%/generic/tkMenubutton.h
+include/tk%%TK_VER%%/generic/tkPlatDecls.h
+include/tk%%TK_VER%%/generic/tkPort.h
+include/tk%%TK_VER%%/generic/tkScale.h
+include/tk%%TK_VER%%/generic/tkScrollbar.h
+include/tk%%TK_VER%%/generic/tkSelect.h
+include/tk%%TK_VER%%/generic/tkText.h
+include/tk%%TK_VER%%/tk.h
+include/tk%%TK_VER%%/tkDecls.h
+include/tk%%TK_VER%%/unix/tkUnixDefault.h
+include/tk%%TK_VER%%/unix/tkUnixInt.h
+include/tk%%TK_VER%%/unix/tkUnixPort.h
+lib/libtk%%SHORT_TK_VER%%.a
+lib/libtk%%SHORT_TK_VER%%.so
+lib/libtk%%SHORT_TK_VER%%.so.1
+lib/libtkstub%%SHORT_TK_VER%%.a
+lib/tk%%TK_VER%%/bgerror.tcl
+lib/tk%%TK_VER%%/button.tcl
+lib/tk%%TK_VER%%/choosedir.tcl
+lib/tk%%TK_VER%%/clrpick.tcl
+lib/tk%%TK_VER%%/comdlg.tcl
+lib/tk%%TK_VER%%/console.tcl
+lib/tk%%TK_VER%%/demos/README
+lib/tk%%TK_VER%%/demos/arrow.tcl
+lib/tk%%TK_VER%%/demos/bind.tcl
+lib/tk%%TK_VER%%/demos/bitmap.tcl
+lib/tk%%TK_VER%%/demos/browse
+lib/tk%%TK_VER%%/demos/button.tcl
+lib/tk%%TK_VER%%/demos/check.tcl
+lib/tk%%TK_VER%%/demos/clrpick.tcl
+lib/tk%%TK_VER%%/demos/colors.tcl
+lib/tk%%TK_VER%%/demos/cscroll.tcl
+lib/tk%%TK_VER%%/demos/ctext.tcl
+lib/tk%%TK_VER%%/demos/dialog1.tcl
+lib/tk%%TK_VER%%/demos/dialog2.tcl
+lib/tk%%TK_VER%%/demos/entry1.tcl
+lib/tk%%TK_VER%%/demos/entry2.tcl
+lib/tk%%TK_VER%%/demos/filebox.tcl
+lib/tk%%TK_VER%%/demos/floor.tcl
+lib/tk%%TK_VER%%/demos/form.tcl
+lib/tk%%TK_VER%%/demos/hello
+lib/tk%%TK_VER%%/demos/hscale.tcl
+lib/tk%%TK_VER%%/demos/icon.tcl
+lib/tk%%TK_VER%%/demos/image1.tcl
+lib/tk%%TK_VER%%/demos/image2.tcl
+lib/tk%%TK_VER%%/demos/images/earth.gif
+lib/tk%%TK_VER%%/demos/images/earthris.gif
+lib/tk%%TK_VER%%/demos/images/face.bmp
+lib/tk%%TK_VER%%/demos/images/flagdown.bmp
+lib/tk%%TK_VER%%/demos/images/flagup.bmp
+lib/tk%%TK_VER%%/demos/images/gray25.bmp
+lib/tk%%TK_VER%%/demos/images/letters.bmp
+lib/tk%%TK_VER%%/demos/images/noletter.bmp
+lib/tk%%TK_VER%%/demos/images/pattern.bmp
+lib/tk%%TK_VER%%/demos/images/tcllogo.gif
+lib/tk%%TK_VER%%/demos/images/teapot.ppm
+lib/tk%%TK_VER%%/demos/items.tcl
+lib/tk%%TK_VER%%/demos/ixset
+lib/tk%%TK_VER%%/demos/label.tcl
+lib/tk%%TK_VER%%/demos/license.terms
+lib/tk%%TK_VER%%/demos/menu.tcl
+lib/tk%%TK_VER%%/demos/menubu.tcl
+lib/tk%%TK_VER%%/demos/msgbox.tcl
+lib/tk%%TK_VER%%/demos/plot.tcl
+lib/tk%%TK_VER%%/demos/puzzle.tcl
+lib/tk%%TK_VER%%/demos/radio.tcl
+lib/tk%%TK_VER%%/demos/rmt
+lib/tk%%TK_VER%%/demos/rolodex
+lib/tk%%TK_VER%%/demos/ruler.tcl
+lib/tk%%TK_VER%%/demos/sayings.tcl
+lib/tk%%TK_VER%%/demos/search.tcl
+lib/tk%%TK_VER%%/demos/square
+lib/tk%%TK_VER%%/demos/states.tcl
+lib/tk%%TK_VER%%/demos/style.tcl
+lib/tk%%TK_VER%%/demos/tclIndex
+lib/tk%%TK_VER%%/demos/tcolor
+lib/tk%%TK_VER%%/demos/text.tcl
+lib/tk%%TK_VER%%/demos/timer
+lib/tk%%TK_VER%%/demos/twind.tcl
+lib/tk%%TK_VER%%/demos/vscale.tcl
+lib/tk%%TK_VER%%/demos/widget
+lib/tk%%TK_VER%%/dialog.tcl
+lib/tk%%TK_VER%%/entry.tcl
+lib/tk%%TK_VER%%/focus.tcl
+lib/tk%%TK_VER%%/images/README
+lib/tk%%TK_VER%%/images/logo.eps
+lib/tk%%TK_VER%%/images/logo100.gif
+lib/tk%%TK_VER%%/images/logo64.gif
+lib/tk%%TK_VER%%/images/logoLarge.gif
+lib/tk%%TK_VER%%/images/logoMed.gif
+lib/tk%%TK_VER%%/images/pwrdLogo.eps
+lib/tk%%TK_VER%%/images/pwrdLogo100.gif
+lib/tk%%TK_VER%%/images/pwrdLogo150.gif
+lib/tk%%TK_VER%%/images/pwrdLogo175.gif
+lib/tk%%TK_VER%%/images/pwrdLogo200.gif
+lib/tk%%TK_VER%%/images/pwrdLogo75.gif
+lib/tk%%TK_VER%%/images/tai-ku.gif
+lib/tk%%TK_VER%%/listbox.tcl
+lib/tk%%TK_VER%%/menu.tcl
+lib/tk%%TK_VER%%/msgbox.tcl
+lib/tk%%TK_VER%%/obsolete.tcl
+lib/tk%%TK_VER%%/optMenu.tcl
+lib/tk%%TK_VER%%/palette.tcl
+lib/tk%%TK_VER%%/prolog.ps
+lib/tk%%TK_VER%%/safetk.tcl
+lib/tk%%TK_VER%%/scale.tcl
+lib/tk%%TK_VER%%/scrlbar.tcl
+lib/tk%%TK_VER%%/tclIndex
+lib/tk%%TK_VER%%/tearoff.tcl
+lib/tk%%TK_VER%%/text.tcl
+lib/tk%%TK_VER%%/tk.tcl
+lib/tk%%TK_VER%%/tkAppInit.c
+lib/tk%%TK_VER%%/tkConfig.sh
+lib/tk%%TK_VER%%/tkfbox.tcl
+lib/tk%%TK_VER%%/xmfbox.tcl
+@dirrm lib/tk%%TK_VER%%/demos/images
+@dirrm lib/tk%%TK_VER%%/demos
+@dirrm lib/tk%%TK_VER%%/images
+@dirrm lib/tk%%TK_VER%%
+@dirrm include/tk%%TK_VER%%/unix
+@dirrm include/tk%%TK_VER%%/generic
+@dirrm include/tk%%TK_VER%%