EOL do { if (At_BOL) { Ins_Char('1') // add new digit Break } Char(-1) #1 = Cur_Char+1 // digit #2 = 0 // carry bit if (#1 > '9') { #1 = '0' #2 = 1 } Ins_Char(#1, OVERWRITE) Char(-1) } while (#2) // repeat until no carry