]> git.lyx.org Git - lyx.git/blobdiff - src/trans.C
Hopefully fix the problem with stateText() in lyxfont.C
[lyx.git] / src / trans.C
index 860bd5755c63dae004b5fe55c8eae74419c5f84e..fd777ac4ae76f8fba7271f0f0a3da50eda2cecb6 100644 (file)
@@ -12,6 +12,8 @@
 #include "debug.h"
 #include "trans_mgr.h"
 
+using std::endl;
+
 
 // KmodInfo
 KmodInfo::KmodInfo()
@@ -46,9 +48,8 @@ string DefaultTrans::process(char c, TransManager & k)
 
 Trans::Trans()
 {
-       int i;
-
-       for(i = 0; i < 256; ++i)
+       int i = 0;
+       for(; i < 256; ++i)
                keymap_[i] = 0;
 
        for(i = 0; i < TEX_MAX_ACCENT + 1; ++i)
@@ -65,9 +66,7 @@ Trans::~Trans()
 void Trans::InsertException(Trans::keyexc & exclist, char c,
                            string const & data, bool flag, tex_accent accent)
 {
-       keyexc p;
-
-       p = new Keyexc; 
+       keyexc p = new Keyexc; 
        p->next = exclist;
        p->c = c;
 
@@ -81,9 +80,7 @@ void Trans::InsertException(Trans::keyexc & exclist, char c,
 
 void Trans::FreeException(Trans::keyexc & exclist)
 {
-       Trans::keyexc p;
-
-       p = exclist;
+       Trans::keyexc p = exclist;
        while (p) {
                p = exclist->next;
                delete exclist;
@@ -94,9 +91,8 @@ void Trans::FreeException(Trans::keyexc & exclist)
 
 void Trans::FreeKeymap()
 {
-       int i;
-
-       for(i = 0; i < 256; ++i)
+       int i = 0;
+       for(; i < 256; ++i)
                if (keymap_[i]) {
                        delete keymap_[i];
                        keymap_[i] = 0;
@@ -131,7 +127,7 @@ enum _kmaptags {
 };
 
 
-struct keyword_item kmapTags[K_LAST-1] = {
+struct keyword_item kmapTags[K_LAST - 1] = {
        {"\\kcomb", KCOMB },
        { "\\kmap", KMAP },
        { "\\kmod", KMOD },
@@ -161,10 +157,9 @@ void Trans::AddDeadkey(tex_accent accent, string const & keys,
        }
        
        for(string::size_type i = 0; i < keys.length(); ++i) {
-               char * temp;
-               if (keys[i] == char(254))
-                       lyxerr << "check one triggered" << endl;
-               temp = keymap_[keys[i]] = new char[2];
+               char * temp =
+                       keymap_[static_cast<unsigned char>(keys[i])] =
+                       new char[2];
                temp[0] = 0; temp[1] = accent;
        }
        kmod_list_[accent]->exception_list = 0;
@@ -224,11 +219,11 @@ int Trans::Load(LyXLex & lex)
                        } else
                                return -1;
                        
-                       tex_accent accent_1= getkeymod(str);
+                       tex_accent accent_1 = getkeymod(str);
                        if (accent_1 == TEX_NOACCENT) return -1;
 
                        if (lex.next(true)) {
-                               str= lex.text();
+                               str = lex.text();
                                lyxerr[Debug::KBMAP] << str << endl;
                        } else
                                return -1;
@@ -236,13 +231,14 @@ int Trans::Load(LyXLex & lex)
                        tex_accent accent_2= getkeymod(str);
                        if (accent_2 == TEX_NOACCENT) return -1;
 
-                       if (kmod_list_[accent_1] == 0 || kmod_list_[accent_2] == 0)
+                       if (kmod_list_[accent_1] == 0
+                           || kmod_list_[accent_2] == 0)
                                return -1;
 
-                       // Find what key accent_2 is on - should check about accent_1 also
-                       int key;
-
-                       for(key = 0; key < 256; ++key) {
+                       // Find what key accent_2 is on - should
+                       // check about accent_1 also
+                       int key = 0;
+                       for(; key < 256; ++key) {
                                if (keymap_[key] && keymap_[key][0] == 0
                                    && keymap_[key][1] == accent_2)
                                        break;
@@ -256,17 +252,18 @@ int Trans::Load(LyXLex & lex)
                        } else
                                return -1;
 
-                       InsertException(kmod_list_[accent_1]->exception_list,(char)key, allowed, true, accent_2);
+                       InsertException(kmod_list_[accent_1]->exception_list,
+                                       static_cast<char>(key), allowed,
+                                       true, accent_2);
                }
                break;
                case KMAP: {
-                       char key_from;
-                       char * string_to;
+                       unsigned char key_from;
 
                        if (lyxerr.debugging(Debug::KBMAP))
                                lyxerr << "KMAP:\t" << lex.text() << endl;
                        if (lex.next(true)) {
-                               key_from= lex.text()[0];
+                               key_from = lex.text()[0];
                                if (lyxerr.debugging(Debug::KBMAP))
                                        lyxerr << "\t`" << lex.text() << "'"
                                               << endl;
@@ -275,10 +272,8 @@ int Trans::Load(LyXLex & lex)
 
                        if (lex.next(true)) {
                                char const * t = lex.text();
-                               string_to = strcpy(new char[strlen(t)+1], t);
-                               if (key_from == char(254))
-                                       lyxerr << "check two triggered"
-                                              << endl;
+                               char * string_to =
+                                       strcpy(new char[strlen(t)+1], t);
                                keymap_[key_from] = string_to;
                                if (lyxerr.debugging(Debug::KBMAP))
                                        lyxerr << "\t`" << string_to << "'"
@@ -319,7 +314,8 @@ int Trans::Load(LyXLex & lex)
                        } else
                                return -1;
 
-                       InsertException(kmod_list_[accent]->exception_list, key, str);
+                       InsertException(kmod_list_[accent]->exception_list,
+                                       key, str);
                        break;
                }
                case LyXLex::LEX_FEOF:
@@ -347,18 +343,15 @@ bool Trans::isAccentDefined(tex_accent accent, KmodInfo & i)
 
 string Trans::process(char c, TransManager & k)
 {
-       lyxerr << "enter process" << endl;
        char dummy[2] = "?";
        char * dt = dummy;
-       char * t = Match(c);
-       lyxerr << "finished variables" << endl;
+       char * t = Match(static_cast<unsigned char>(c));
     
-       if ((t == 0 && (dt[0] = c)) || (t[0] != 0 && (dt = t)) ){
-               lyxerr << "normalkey" << endl;
+       if ((t == 0 && (*dt = c)) || (t[0] != 0 && (dt = t)) ){
                return k.normalkey(c, dt);
        } else {
-               lyxerr << "deadkey" << endl;
-               return k.deadkey(c, *kmod_list_[(tex_accent)t[1]]);
+               return k.deadkey(c,
+                                *kmod_list_[static_cast<tex_accent>(t[1])]);
        }
 }
 
@@ -378,7 +371,7 @@ int Trans::Load(string const & language)
        if (res == 0) {
                name_ = language;
        } else
-               name_.clear();
+               name_.erase();
 
        return res;
 }
@@ -394,9 +387,10 @@ tex_accent getkeymod(string const & p)
                               << "].name = `" << lyx_accent_table[i].name
                               << "'" << endl;
                
-               if ( lyx_accent_table[i].name && contains(p, lyx_accent_table[i].name)) {
+               if ( lyx_accent_table[i].name
+                    && contains(p, lyx_accent_table[i].name)) {
                        lyxerr[Debug::KBMAP] << "Found it!" << endl;
-                       return (tex_accent)i;
+                       return static_cast<tex_accent>(i);
                }
        }
        return TEX_NOACCENT;