русские патчи для tcl (rus X tcl patch)
Ключевые слова: rus, X, tcl, patch,  (найти похожие документы)
_ RU.UNIX.BSD (2:5077/15.22) _____________________________________ RU.UNIX.BSD _
 From : Vadim Belman                        2:464/36        22 Apr 99  09:50:46
 Subj : русские патчи для tcl
________________________________________________________________________________
  Hi Alex!
On 21 апр 99 at 06:23, "Alex" (Alex Povolotsky) wrote to All:
 Alex> Reply-To: [email protected] Кто говорил про патчи к tcl, чтоб
 Alex> с русским в 3.3.3.1 работал? У меня попуржилось :-(((
  Hе помню, где я их взял, так что даю "вживую". Очень неплохо
  выкладываются прямо в /usr/ports/lang/tcl80/patches после правки
  путей.
===
diff -urw tcl8.0.4/generic/tclCmdIL.c tcl8.0.4.rus/generic/tclCmdIL.c
- --- tcl8.0.4/generic/tclCmdIL.c  Sat Oct 24 01:21:40 1998
+++ tcl8.0.4.rus/generic/tclCmdIL.c   Fri Feb 12 18:54:41 1999
@@ -2745,7 +2745,8 @@
   objPtr2 = objPtr;
     }
     if (infoPtr->sortMode == SORTMODE_ASCII) {
-  order = strcmp(Tcl_GetStringFromObj(objPtr1, &dummy),
+        /* Fix by Boris Tobotras */
+        order = strcoll(Tcl_GetStringFromObj(objPtr1, &dummy),
      Tcl_GetStringFromObj(objPtr2, &dummy));
     } else if (infoPtr->sortMode == SORTMODE_DICTIONARY) {
   order = DictionaryCompare(
diff -urw tcl8.0.4/generic/tclCmdMZ.c tcl8.0.4.rus/generic/tclCmdMZ.c
- --- tcl8.0.4/generic/tclCmdMZ.c  Mon Sep 14 22:39:57 1998
+++ tcl8.0.4.rus/generic/tclCmdMZ.c   Fri Feb 12 18:54:41 1999
@@ -1095,7 +1095,15 @@
       string2 = Tcl_GetStringFromObj(objv[3], &length2);
       length = (length1 < length2) ? length1 : length2;
-      match = memcmp(string1, string2, (unsigned) length);
+               { /* fix by Boris Tobotras */
+                       char *s1 = alloca( length + 1 ),
+                               *s2 = alloca( length + 1 );
+                       strncpy( s1, string1, length );
+                       strncpy( s2, string2, length );
+                       s1[ length ] = s2[ length ] = '\0';
+                       match = strcoll( s1, s2 );
+               } /* end fix */
+
       if (match == 0) {
           match = length1 - length2;
       }
diff -urw tcl8.0.4/unix/tclUnixInit.c tcl8.0.4.rus/unix/tclUnixInit.c
- --- tcl8.0.4/unix/tclUnixInit.c  Mon Sep 14 22:40:17 1998
+++ tcl8.0.4.rus/unix/tclUnixInit.c   Tue Feb 16 15:41:21 1999
@@ -23,6 +23,7 @@
 #   endif
 #endif
+#include <locale.h>
 /*
  * Default directory in which to look for Tcl library scripts.  The
  * symbol is defined by Makefile.
@@ -153,6 +154,11 @@
     if (!initialized) {
         /*
+   * Set locale. This probably should be done in other place,
+   * but I cannot imagine where
+   */
+   setlocale(LC_ALL,"");
+        /*
          * Create an exit handler so that uninitialization will be done
          * on unload.
          */
===
--
    /Voland       Vadim Belman
       E-mail: [email protected]
--- ifmail v.2.12-ax/h
 * Origin: The Protein Laboratory (2:464/36@fidonet)