diff -u -r -w kumir-1.9.0/Kumir-EGE/src/compiler.cpp kumir-1.9.0-vak/Kumir-EGE/src/compiler.cpp
--- kumir-1.9.0/Kumir-EGE/src/compiler.cpp	2010-11-17 04:39:34.000000000 -0800
+++ kumir-1.9.0-vak/Kumir-EGE/src/compiler.cpp	2013-03-01 17:58:06.032696827 -0800
@@ -283,6 +283,7 @@

     debug = pdAutomata->mainModule().count();
     debug = pdAutomata->loads().count();
+    debug = debug;

     Isp mainModule = pdAutomata->mainModule();

diff -u -r -w kumir-1.9.0/Kumir-EGE/src/int_proga.cpp kumir-1.9.0-vak/Kumir-EGE/src/int_proga.cpp
--- kumir-1.9.0/Kumir-EGE/src/int_proga.cpp	2010-12-01 06:47:05.000000000 -0800
+++ kumir-1.9.0-vak/Kumir-EGE/src/int_proga.cpp	2013-03-01 17:52:16.960600132 -0800
@@ -793,6 +793,7 @@
     case 3:size=x*y*z;break;

     };
+    size = size;
     if (!args->isReady(to))return 2;
     if(!isReady(from)){
 //        qWarning("copyMassBoolArg::From Not Ready");
@@ -839,6 +840,7 @@
     case 3:size=x*y*z;break;

     };
+    size = size;
     if (!args->isReady(to))return 2;
     if(!isReady(from)){
 //        qWarning("copyMassIntlArg::From Not Ready");
@@ -886,6 +888,7 @@
     case 3:size=x*y*z;break;

     };
+    size = size;
     if (!args->isReady(to))return 2;
     if(!isReady(from)){
 //        qWarning("copyMassRealArg::From Not Ready");
@@ -927,6 +930,7 @@
     case 3:size=x*y*z;break;

     };
+    size = size;
     if (!args->isReady(to))return 2;


@@ -966,6 +970,7 @@
     case 3:size=x*y*z;break;

     };
+    size = size;
     if (!args->isReady(to))return 2;
     args->symb_table[to].value->data = symb_table[from].value->data;

diff -u -r -w kumir-1.9.0/Kumir-EGE/src/main.cpp kumir-1.9.0-vak/Kumir-EGE/src/main.cpp
--- kumir-1.9.0/Kumir-EGE/src/main.cpp	2010-11-23 07:53:05.000000000 -0800
+++ kumir-1.9.0-vak/Kumir-EGE/src/main.cpp	2013-03-01 18:08:55.524990925 -0800
@@ -66,7 +66,7 @@
 typedef QTextCodec* PQTextCodec;
 int read_program(QString &data, PQTextCodec &codec)
 {
-	QString codingName = "UTF-16LE";
+	QString codingName = "UTF-8";
 	QString programName = "";
 	for (int i=1; i<qApp->arguments().size(); i++) {
 		const QString arg = qApp->arguments()[i];
@@ -113,7 +113,7 @@
 		return status;
 	}
 	else {
-		QString errEnc = "WINDOWS-1251";
+		QString errEnc = "UTF-8";
 		QTextCodec *errCodec = 0;
 		for (int i=1; i<QCoreApplication::instance()->arguments().size(); i++) {
 			const QString arg = QCoreApplication::instance()->arguments()[i];
@@ -138,9 +138,9 @@
 	if (status)
 		return status;
 	else {
-		QString inEnc = "WINDOWS-1251";
-		QString outEnc = "WINDOWS-1251";
-		QString errEnc = "WINDOWS-1251";
+		QString inEnc = "UTF-8";
+		QString outEnc = "UTF-8";
+		QString errEnc = "UTF-8";
 		QTextCodec *inCodec = 0;
 		QTextCodec *outCodec = 0;
 		QTextCodec *errCodec = 0;
@@ -199,7 +199,7 @@
 			arg0.toLocal8Bit().data());
 	fprintf(stdout, "\t%s --run [--program-encoding=ENC] [--output-encoding=ENC] [--input-encoding=ENC] [--messages-encoding=ENC] FILENAME\n\t\tCheck program in FILENAME and exit. . Use ENC ecoding for file I/O.\n\n",
 			arg0.toLocal8Bit().data());
-	fprintf(stdout, "Important notice: default input/output/messages encoding is Windows-1251\n");
-	fprintf(stdout, "Important notice: default program encoding is UTF-16LE\n");
+	fprintf(stdout, "Important notice: default input/output/messages encoding is UTF-8\n");
+	fprintf(stdout, "Important notice: default program encoding is UTF-8\n");
 	return 0;
 }
diff -u -r -w kumir-1.9.0/Kumir-EGE/src/run.cpp kumir-1.9.0-vak/Kumir-EGE/src/run.cpp
--- kumir-1.9.0/Kumir-EGE/src/run.cpp	2010-11-18 04:26:42.000000000 -0800
+++ kumir-1.9.0-vak/Kumir-EGE/src/run.cpp	2013-03-01 17:58:53.108712371 -0800
@@ -1248,6 +1248,8 @@
                     bool debug1, debug2;
                     debug1 = firstP.asBool();
                     debug2 = firstP.asBool();
+                    debug1 = debug1;
+                    debug2 = debug2;
                     perems.append( value );
                     bool secondValue = secondP.asBool();
                     bool firstIsDummy = firstP.getType()==dummy;
@@ -1346,7 +1348,7 @@
             QList<int> bounds;
             const QStringList terms = work_str.mid(sharpPos+1).split("#");
             for (int i=0; i<terms.size(); i++) {
-                const ValueReference ref = curTable->reference(varId);
+                //const ValueReference ref = curTable->reference(varId);
                 int error=0;
                 const QStringList mainExpressions = Modules->module(m_runStack.top().moduleId)->Proga_Value_Line(str).VirajList[terms[i].toInt()];
                 const QStringList extrExpressions = Modules->module(m_runStack.top().moduleId)->Proga_Value_Line(str).extraSubExpressions;
diff -u -r -w kumir-1.9.0/Kumir-EGE/src/symboltable.cpp kumir-1.9.0-vak/Kumir-EGE/src/symboltable.cpp
--- kumir-1.9.0/Kumir-EGE/src/symboltable.cpp	2010-12-01 06:47:05.000000000 -0800
+++ kumir-1.9.0-vak/Kumir-EGE/src/symboltable.cpp	2013-03-01 18:03:15.312818089 -0800
@@ -183,7 +183,7 @@
     int index = 0;
     if (d==1) {
         int start0 = ref.table->l_elements[ref.id].vectorStarts[0];
-        int end0 = ref.table->l_elements[ref.id].vectorEnds[0];
+        //int end0 = ref.table->l_elements[ref.id].vectorEnds[0];
         Q_ASSERT(index0>=start0 && index0<=end0);
         index = index0 - start0;
     }
@@ -242,10 +242,10 @@
 {
     const ValueReference ref = reference(id);
     int index = dataIndex(ref, index0, index1, index2);
-    int realId = id;
+    //int realId = id;
     if (b_mappedIdMode) {
         Q_ASSERT(m_ids.contains(id));
-        realId = m_ids[id];
+        //realId = m_ids[id];
     }
 //    if (l_elements[realId].modifiers.testFlag(ResParamModifier)) {
 //        if (!l_elements[realId].explicitInitialized.contains(index)) {
@@ -290,10 +290,10 @@
     const ValueReference ref = reference(id);
     int index = dataIndex(ref, index0, index1, index2);
     ref.table->l_elements[ref.id].data[index] = value;
-    int realId = id;
+    //int realId = id;
     if (b_mappedIdMode) {
         Q_ASSERT(m_ids.contains(id));
-        realId = m_ids[id];
+        //realId = m_ids[id];
     }
 //    if (l_elements[realId].modifiers.testFlag(ResParamModifier)) {
 //        l_elements[realId].explicitInitialized[index] = true;
@@ -593,6 +593,7 @@
 		return RUN_CONST_ARRAY_OUT_OF_BOUNDS;
 		break;
 	}
+        baseType = baseType;
 	int x_max = l_elements[id].vectorEnds[0]-l_elements[id].vectorStarts[0]+1;
 	int y_max = l_elements[id].vectorEnds[1]-l_elements[id].vectorStarts[1]+1;
 	int z_max = l_elements[id].vectorEnds[2]-l_elements[id].vectorStarts[2]+1;
diff -u -r -w kumir-1.9.0/Kumir-EGE/src/text_analiz.cpp kumir-1.9.0-vak/Kumir-EGE/src/text_analiz.cpp
--- kumir-1.9.0/Kumir-EGE/src/text_analiz.cpp	2010-12-07 09:29:50.000000000 -0800
+++ kumir-1.9.0-vak/Kumir-EGE/src/text_analiz.cpp	2013-03-01 17:57:29.360685120 -0800
@@ -97,7 +97,6 @@
     bool ok;
     int base=10;
     *err = 0;
-    int iResult = 0;
     if (KumTools::instance()->isBooleanConstant(name))
         return boolean;
     bool isLit = name.startsWith("\"") && name.endsWith("\"");
@@ -136,7 +135,7 @@
                 *err = GNVR_BIG_INT_CONST;
                 return none;
             }
-            iResult = name.toInt ( &ok,base );
+            name.toInt ( &ok,base );
 
             // 			if ( ok &&
             // 							( ( iResult < -1073741824 ) || ( iResult > 1073741824 ) )
@@ -1907,7 +1906,6 @@
     QList<int> rP, rL;
     QString to_ret;
     bool inLit = false;
-    bool space = false;
     bool first = true;
     for(int i=0;i<viraj.length();i++)
     {
@@ -1938,7 +1936,6 @@
             to_ret=to_ret+viraj[i];
             rP << P[i];
             rL << L[i];
-            space = false;
             first = false;
         }
         if (viraj[i]=='"')
@@ -2030,7 +2027,7 @@
         QString ready_const;
         for(int i=1;i<str.length()-1;i++)
         {
-            QChar z =  QChar(str[i].unicode()-STR_HIDE_OFFSET);
+            QChar(str[i].unicode()-STR_HIDE_OFFSET);
             ready_const=ready_const+QChar(str[i].unicode()-STR_HIDE_OFFSET);
         }
         Q_ASSERT( ready_const.length()==1 );
@@ -2209,11 +2206,7 @@
     int max = 0;
     bool minSet = false;
     bool maxSet = false;
-    int p = 0;
-    int l = 0;
     for ( int i=start; i<end; i++ ) {
-        p = P[i];
-        l = L[i];
         if ( minSet )
             min = qMin(min,P[i]);
         else {
@@ -4838,7 +4831,6 @@
     QString instr = pv.line;
     int iz, iz1;
     int circle_type=0;
-    QChar test_char=QChar(KS_RAZ);
     QString out_line=instr;
     int ras_pos=instr.indexOf(QChar(KS_RAZ));
     pv.VirajList.clear();
@@ -5815,7 +5807,6 @@
     }
 
     terms.last().end = instr.length();
-    bool hasSim = false;
 
     for ( int t=0; t<terms.count(); t++ )
     {
@@ -5877,9 +5868,6 @@
             pv.VirajTypes.append(perem_type);
             pv.line+="^"+QString::number(p_id);
 
-            if ( perem_type == charect )
-                hasSim = true;
-
             if(symbols->isConst(p_id))
             {
                 Err_start = terms[t].start+2;
@@ -5974,9 +5962,6 @@
 
                                         return VVOD_MANY_SYMBOLS;
                                 }*/
-            if ( intType == charect )
-                hasSim = true;
-
             QString line="^"+QString::number(p_id);
 
             for(int i=0;i<args.count();i++)
@@ -8444,7 +8429,7 @@
         QList<QVariant> items;
         QString current = "";
         int deep = 0;
-        PeremType t;
+        PeremType t = integer;
         if (pt==mass_integer)
             t = integer;
         else if (pt==mass_real)
@@ -9419,9 +9404,6 @@
 
     KumSingleModule *module = modules->module(module_id);
 
-    int f_id = -1;
-
-
     function_table *functions = module->Functions();
     symbol_table *symbols = module->Values();
 
@@ -9624,9 +9606,6 @@
             pv.err_start = Err_start;
             pv.err_length = Err_length;
         }
-        if (error==0) {
-            f_id = functions->idByPos(i);
-        }
         module->setProgaValueAt(i,pv);
 
     } // end for ( int i=0; i<module->Proga_Value()->count(); i++ )
