KJS::Value KJS::KateJSViewProtoFunc::call(KJS::ExecState *exec, KJS::Object &thisObj, const KJS::List &args) { switch (id) { case KateJSView::SetCursorPositionReal: return KJS::Boolean( view->setCursorPositionReal( args[0].toUInt32(exec), args[1].toUInt32(exec) ) ); // SelectionInterface goes in the view, in anticipation of the future case KateJSView::Selection: return KJS::String( view->selection() ); } return KJS::Undefined(); } void KateXmlIndent::getLineInfo (uint line, uint &prevIndent, int &numTags, uint &attrCol, bool &unclosedTag) { for(pos = 0; pos < len; ++pos) { int ch = text.at(pos).unicode(); switch(ch) { case '<': ++numTags; break; // don't indent because of DOCTYPE, comment, CDATA, etc. case '!': if(lastCh == '<') --numTags; break; // don't indent because of xml decl or PI case '?': if(lastCh == '<') --numTags; break; } } } static YYSIZE_T yytnamerr (char *yyres, const char *yystr) { if (*yystr == '"') { for (;;) switch (*++yyp) { case '\\': if (*++yyp != '\\') yyres[yyn] = *yyp; /* Fall through. */ default: if (yyres) yyres[yyn] = *yyp; yyn++; break; } } return yystpcpy (yyres, yystr) - yyres; } Value RegExpProtoFuncImp::call(ExecState *exec, Object &thisObj, const List &args) { if (!thisObj.inherits(&RegExpImp::info)) { if (thisObj.inherits(&RegExpPrototypeImp::info)) { switch (id) { case ToString: return String("//"); // FireFox returns /(?:)/ } } return err; } }