/* * GetErrorMsg - return pointer to message */ char *GetErrorMsg( vi_rc err ) { char *msg; if( !readMsgData ) { readErrorMsgData(); } LastError = err; if( EditFlags.InputKeyMapMode ) { DoneInputKeyMap(); EditFlags.NoInputWindow = false; EditFlags.Dotable = false; } if( err < 0 || err > errCnt ) { MySprintf( strBuff, "Err no. %d (no msg)", err ); return( strBuff ); } msg = GetTokenString( errorList, (int)err ); if( msg == NULL ) { MySprintf( strBuff, "Err no. %d (no msg)", err ); return( strBuff ); } return( msg ); } /* GetErrorMsg */
/* * GetNextEvent - return next event from appropriate source */ vi_key GetNextEvent( bool usemouse ) { vi_key key; if( EditFlags.NoCapsLock ) { TurnOffCapsLock(); } if( EditFlags.KeyOverride ) { key = getOverrideKey(); LastEvent = key; return( key ); } if( EditFlags.InputKeyMapMode || EditFlags.KeyMapMode ) { key = CurrentKeyMap[CurrentKeyMapCount++]; if( key == VI_KEY( NULL ) ) { EditFlags.NoInputWindow = false; if( EditFlags.InputKeyMapMode ) { DoneInputKeyMap(); } else { EditFlags.KeyMapMode = false; } } else { LastEvent = key; return( key ); } } if( EditFlags.DotMode ) { LastEvent = DotCmd[DotCount++]; return( LastEvent ); } if( EditFlags.AltDotMode ) { if( AltDotCount > AltDotDigits ) { return( VI_KEY( ESC ) ); } key = AltDotBuffer[AltDotCount++]; } else { key = GetKey( usemouse ); } if( !EditFlags.NoAddToDotBuffer ) { if( key != VI_KEY( MOUSEEVENT ) ) { if( EditFlags.AltMemorizeMode ) { if( AltDotDigits < maxdotbuffer ) { AltDotBuffer[AltDotDigits++] = key; } else { AltDotBuffer[AltDotDigits - 1] = VI_KEY( ESC ); } } if( DotDigits < maxdotbuffer ) { DotBuffer[DotDigits++] = key; } else { DotBuffer[DotDigits - 1] = VI_KEY( ESC ); } } } LastEvent = key; return( key ); } /* GetNextEvent */