From 76235348f8ccb1363100bdc686f0fafae5dacc5f Mon Sep 17 00:00:00 2001 From: Araq Date: Wed, 9 May 2012 01:50:08 +0200 Subject: [PATCH] extracted documentation generator --- compiler/ccgmerge.nim | 2 +- compiler/commands.nim | 3 +- compiler/docgen.nim | 580 +- compiler/main.nim | 6 +- compiler/options.nim | 4 +- compiler/ropes.nim | 3 + doc/advopt.txt | 3 +- doc/theindex.txt | 9665 ---------------------------------- koch.nim | 3 +- packages/docutils/rst.nim | 17 +- packages/docutils/rstgen.nim | 610 ++- todo.txt | 1 + tools/nimweb.nim | 13 +- 13 files changed, 707 insertions(+), 10203 deletions(-) delete mode 100755 doc/theindex.txt diff --git a/compiler/ccgmerge.nim b/compiler/ccgmerge.nim index 45463a397d..311711f5aa 100644 --- a/compiler/ccgmerge.nim +++ b/compiler/ccgmerge.nim @@ -169,7 +169,7 @@ proc readVerbatimSection(L: var TBaseLexer): PRope = result.data.add(buf[pos]) inc pos L.bufpos = pos - result.length = result.data.len + freezeMutableRope(result) proc readKey(L: var TBaseLexer, result: var string) = var pos = L.bufpos diff --git a/compiler/commands.nim b/compiler/commands.nim index 347e7aa046..cec0bbe6bd 100755 --- a/compiler/commands.nim +++ b/compiler/commands.nim @@ -366,8 +366,7 @@ proc processSwitch(switch, arg: string, pass: TCmdlinePass, info: TLineInfo) = expectArg(switch, arg, pass, info) if pass in {passCmd2, passPP}: cLinkedLibs.add arg of "index": - expectArg(switch, arg, pass, info) - if pass in {passCmd2, passPP}: gIndexFile = arg + ProcessOnOffSwitchG({optGenIndex}, arg, pass, info) of "import": expectArg(switch, arg, pass, info) if pass in {passCmd2, passPP}: implicitImports.add arg diff --git a/compiler/docgen.nim b/compiler/docgen.nim index 50abcfc4e2..6e249b888b 100755 --- a/compiler/docgen.nim +++ b/compiler/docgen.nim @@ -12,56 +12,19 @@ # by knowing how the anchors are going to be named. import - ast, astalgo, strutils, hashes, options, nversion, msgs, os, ropes, idents, + ast, strutils, strtabs, options, msgs, os, ropes, idents, wordrecg, syntaxes, renderer, lexer, rstast, rst, rstgen, times, highlite, importer -proc CommandDoc*() -proc CommandRst2Html*() -proc CommandRst2TeX*() - -#proc CommandBuildIndex*() -# implementation - -type - TTocEntry{.final.} = object - n*: PRstNode - refname*, header*: PRope - +type TSections = array[TSymKind, PRope] - TMetaEnum = enum - metaNone, metaTitle, metaSubtitle, metaAuthor, metaVersion - TDocumentor {.final.} = object # contains a module's documentation - target: TOutputTarget - options: TRstParseOptions - filename*: string # filename of the source file; without extension - modDesc*: PRope # module description - id*: int # for generating IDs - splitAfter*: int # split too long entries in the TOC - tocPart*: seq[TTocEntry] - hasToc*: bool - toc*, section*: TSections - indexFile*, theIndex*: PRstNode - indexValFilename*: string - meta*: array[TMetaEnum, PRope] + TDocumentor = object of rstgen.TRstGenerator + modDesc: PRope # module description + id: int # for generating IDs + toc, section: TSections + indexValFilename: string PDoc = ref TDocumentor - -proc findIndexNode(n: PRstNode): PRstNode = - if n == nil: - result = nil - elif n.kind == rnIndex: - result = n.sons[2] - if result == nil: - result = newRstNode(rnDefList) - n.sons[2] = result - elif result.kind == rnInner: - result = result.sons[0] - else: - result = nil - for i in countup(0, len(n) - 1): - result = findIndexNode(n.sons[i]) - if result != nil: return proc compilerMsgHandler(filename: string, line, col: int, msgKind: rst.TMsgKind, arg: string) {.procvar.} = @@ -76,6 +39,7 @@ proc compilerMsgHandler(filename: string, line, col: int, of meInvalidDirective: k = errInvalidDirectiveX of mwRedefinitionOfLabel: k = warnRedefinitionOfLabel of mwUnknownSubstitution: k = warnUnknownSubstitutionX + of mwUnsupportedLanguage: k = warnLanguageXNotSupported GlobalError(newLineInfo(filename, line, col), k, arg) proc parseRst(text, filename: string, @@ -83,45 +47,17 @@ proc parseRst(text, filename: string, rstOptions: TRstParseOptions): PRstNode = result = rstParse(text, filename, line, column, hasToc, rstOptions, options.FindFile, compilerMsgHandler) - -proc initIndexFile(d: PDoc) = - var - h: PRstNode - dummyHasToc: bool - if gIndexFile.len == 0: return - gIndexFile = addFileExt(gIndexFile, "txt") - d.indexValFilename = changeFileExt(extractFilename(d.filename), HtmlExt) - if ExistsFile(gIndexFile): - d.indexFile = parseRst(readFile(gIndexFile), gIndexFile, 0, 1, - dummyHasToc, {roSupportRawDirective}) - d.theIndex = findIndexNode(d.indexFile) - if (d.theIndex == nil) or (d.theIndex.kind != rnDefList): - rawMessage(errXisNoValidIndexFile, gIndexFile) - clearIndex(d.theIndex, d.indexValFilename) - else: - d.indexFile = newRstNode(rnInner) - h = newRstNode(rnOverline) - h.level = 1 - add(h, newRstNode(rnLeaf, "Index")) - add(d.indexFile, h) - h = newRstNode(rnIndex) - add(h, nil) # no argument - add(h, nil) # no options - d.theIndex = newRstNode(rnDefList) - add(h, d.theIndex) - add(d.indexFile, h) -proc newDocumentor(filename: string): PDoc = +proc newDocumentor(filename: string, config: PStringTable): PDoc = new(result) - if gCmd != cmdRst2Tex: result.target = outHtml - else: result.target = outLatex - result.tocPart = @[] - result.filename = filename + initRstGenerator(result[], (if gCmd != cmdRst2Tex: outHtml else: outLatex), + options.gConfigVars, filename, {roSupportRawDirective}, + options.FindFile, compilerMsgHandler) result.id = 100 - result.splitAfter = 20 - result.options = {roSupportRawDirective} - var s = getConfigVar("split.item.toc") - if s != "": result.splitAfter = parseInt(s) + +proc dispA(dest: var PRope, xml, tex: string, args: openarray[PRope]) = + if gCmd != cmdRst2Tex: appf(dest, xml, args) + else: appf(dest, tex, args) proc getVarIdx(varnames: openarray[string], id: string): int = for i in countup(0, high(varnames)): @@ -183,76 +119,37 @@ proc ropeFormatNamedVars(frmt: TFormatStr, varnames: openarray[string], else: break if i - 1 >= start: app(result, substr(frmt, start, i - 1)) -proc disp(xml, tex: string): string = - if gCmd != cmdRst2Tex: result = xml - else: result = tex - -proc dispF(xml, tex: string, args: openarray[PRope]): PRope = - if gCmd != cmdRst2Tex: result = ropef(xml, args) - else: result = ropef(tex, args) - -proc dispA(dest: var PRope, xml, tex: string, args: openarray[PRope]) = - if gCmd != cmdRst2Tex: appf(dest, xml, args) - else: appf(dest, tex, args) - -proc renderRstToOut(d: PDoc, n: PRstNode): PRope - -proc renderAux(d: PDoc, n: PRstNode, outer: string = "$1"): PRope = - result = nil - for i in countup(0, len(n) - 1): app(result, renderRstToOut(d, n.sons[i])) - result = ropef(outer, [result]) - -proc setIndexForSourceTerm(d: PDoc, name: PRstNode, id: int) = - if d.theIndex == nil: return - var h = newRstNode(rnHyperlink) - var a = newRstNode(rnLeaf, d.indexValFilename & disp("#", "") & $id) - add(h, a) - add(h, a) - a = newRstNode(rnIdx) - add(a, name) - setIndexPair(d.theIndex, a, h) - -proc renderIndexTerm(d: PDoc, n: PRstNode): PRope = - inc(d.id) - result = dispF("$2", "$2\\label{$1}", - [toRope(d.id), renderAux(d, n)]) - var h = newRstNode(rnHyperlink) - var a = newRstNode(rnLeaf, d.indexValFilename & disp("#", "") & $d.id) - add(h, a) - add(h, a) - setIndexPair(d.theIndex, n, h) - -proc genComment(d: PDoc, n: PNode): PRope = +proc genComment(d: PDoc, n: PNode): string = + result = "" var dummyHasToc: bool if n.comment != nil and startsWith(n.comment, "##"): - result = renderRstToOut(d, parseRst(n.comment, toFilename(n.info), - toLineNumber(n.info), toColumn(n.info), - dummyHasToc, - d.options + {roSkipPounds})) - + renderRstToOut(d[], parseRst(n.comment, toFilename(n.info), + toLineNumber(n.info), toColumn(n.info), + dummyHasToc, d.options + {roSkipPounds}), result) + proc genRecComment(d: PDoc, n: PNode): PRope = if n == nil: return nil - result = genComment(d, n) + result = genComment(d, n).toRope if result == nil: - if not (n.kind in {nkEmpty..nkNilLit}): - for i in countup(0, sonsLen(n) - 1): + if n.kind notin {nkEmpty..nkNilLit}: + for i in countup(0, len(n)-1): result = genRecComment(d, n.sons[i]) if result != nil: return - else: + else: n.comment = nil proc isVisible(n: PNode): bool = result = false if n.kind == nkPostfix: - if (sonsLen(n) == 2) and (n.sons[0].kind == nkIdent): + if n.len == 2 and n.sons[0].kind == nkIdent: var v = n.sons[0].ident - result = (v.id == ord(wStar)) or (v.id == ord(wMinus)) - elif n.kind == nkSym: + result = v.id == ord(wStar) or v.id == ord(wMinus) + elif n.kind == nkSym: result = sfExported in n.sym.flags - elif n.kind == nkPragmaExpr: + elif n.kind == nkPragmaExpr: result = isVisible(n.sons[0]) -proc getName(d: PDoc, n: PNode, splitAfter: int = - 1): string = +proc getName(d: PDoc, n: PNode, splitAfter = -1): string = case n.kind of nkPostfix: result = getName(d, n.sons[1], splitAfter) of nkPragmaExpr: result = getName(d, n.sons[0], splitAfter) @@ -334,288 +231,8 @@ proc genItem(d: PDoc, n, nameNode: PNode, k: TSymKind) = app(d.toc[k], ropeFormatNamedVars(getConfigVar("doc.item.toc"), ["name", "header", "desc", "itemID"], [ toRope(getName(d, nameNode, d.splitAfter)), result, comm, toRope(d.id)])) - setIndexForSourceTerm(d, getRstName(nameNode), d.id) + setIndexTerm(d[], $d.id, getName(d, nameNode)) -proc renderHeadline(d: PDoc, n: PRstNode): PRope = - result = nil - for i in countup(0, len(n) - 1): app(result, renderRstToOut(d, n.sons[i])) - var refname = toRope(rstnodeToRefname(n)) - if d.hasToc: - var length = len(d.tocPart) - setlen(d.tocPart, length + 1) - d.tocPart[length].refname = refname - d.tocPart[length].n = n - d.tocPart[length].header = result - result = dispF( - "$3", - "\\rsth$4{$3}\\label{$2}$n", [toRope(n.level), - d.tocPart[length].refname, result, - toRope(chr(n.level - 1 + ord('A')) & "")]) - else: - result = dispF("$3", "\\rsth$4{$3}\\label{$2}$n", [ - toRope(n.level), refname, result, - toRope(chr(n.level - 1 + ord('A')) & "")]) - -proc renderOverline(d: PDoc, n: PRstNode): PRope = - var t: PRope = nil - for i in countup(0, len(n) - 1): app(t, renderRstToOut(d, n.sons[i])) - result = nil - if d.meta[metaTitle] == nil: - d.meta[metaTitle] = t - elif d.meta[metaSubtitle] == nil: - d.meta[metaSubtitle] = t - else: - result = dispF("
$3
", - "\\rstov$4{$3}\\label{$2}$n", [toRope(n.level), - toRope(rstnodeToRefname(n)), t, toRope($chr(n.level - 1 + ord('A')))]) - - -proc renderTocEntry(d: PDoc, e: TTocEntry): PRope = - result = dispF( - "
  • $2
  • $n", - "\\item\\label{$1_toc} $2\\ref{$1}$n", [e.refname, e.header]) - -proc renderTocEntries(d: PDoc, j: var int, lvl: int): PRope = - result = nil - while j <= high(d.tocPart): - var a = abs(d.tocPart[j].n.level) - if a == lvl: - app(result, renderTocEntry(d, d.tocPart[j])) - inc(j) - elif a > lvl: - app(result, renderTocEntries(d, j, a)) - else: - break - if lvl > 1: - result = dispF("", - "\\begin{enumerate}$1\\end{enumerate}", [result]) - -proc fieldAux(s: string): PRope = - result = toRope(strip(s)) - -proc renderImage(d: PDoc, n: PRstNode): PRope = - var options: PRope = nil - var s = getFieldValue(n, "scale") - if s != "": dispA(options, " scale=\"$1\"", " scale=$1", [fieldAux(s)]) - s = getFieldValue(n, "height") - if s != "": dispA(options, " height=\"$1\"", " height=$1", [fieldAux(s)]) - s = getFieldValue(n, "width") - if s != "": dispA(options, " width=\"$1\"", " width=$1", [fieldAux(s)]) - s = getFieldValue(n, "alt") - if s != "": dispA(options, " alt=\"$1\"", "", [fieldAux(s)]) - s = getFieldValue(n, "align") - if s != "": dispA(options, " align=\"$1\"", "", [fieldAux(s)]) - if options != nil: options = dispF("$1", "[$1]", [options]) - result = dispF("", "\\includegraphics$2{$1}", - [toRope(getArgument(n)), options]) - if len(n) >= 3: app(result, renderRstToOut(d, n.sons[2])) - -proc renderSmiley(d: PDoc, n: PRstNode): PRope = - result = dispF( - """""", - "\\includegraphics{$1}", [toRope(n.text)]) - -proc renderCodeBlock(d: PDoc, n: PRstNode): PRope = - result = nil - if n.sons[2] == nil: return - var m = n.sons[2].sons[0] - if (m.kind != rnLeaf): InternalError("renderCodeBlock") - var langstr = strip(getArgument(n)) - var lang: TSourceLanguage - if langstr == "": - lang = langNimrod # default language - else: - lang = getSourceLanguage(langstr) - if lang == langNone: - rawMessage(warnLanguageXNotSupported, langstr) - result = toRope(m.text) - else: - var g: TGeneralTokenizer - initGeneralTokenizer(g, m.text) - while true: - getNextToken(g, lang) - case g.kind - of gtEof: break - of gtNone, gtWhitespace: - app(result, substr(m.text, g.start, g.length + g.start - 1)) - else: - dispA(result, "$1", "\\span$2{$1}", [ - toRope(esc(d.target, substr(m.text, g.start, g.length+g.start-1))), - toRope(tokenClassToStr[g.kind])]) - deinitGeneralTokenizer(g) - if result != nil: - result = dispF("
    $1
    ", "\\begin{rstpre}$n$1$n\\end{rstpre}$n", - [result]) - -proc renderContainer(d: PDoc, n: PRstNode): PRope = - result = renderRstToOut(d, n.sons[2]) - var arg = toRope(strip(getArgument(n))) - if arg == nil: result = dispF("
    $1
    ", "$1", [result]) - else: result = dispF("
    $2
    ", "$2", [arg, result]) - -proc texColumns(n: PRstNode): string = - result = "" - for i in countup(1, len(n)): add(result, "|X") - -proc renderField(d: PDoc, n: PRstNode): PRope = - var b = false - if gCmd == cmdRst2Tex: - var fieldname = addNodes(n.sons[0]) - var fieldval = toRope(esc(d.target, strip(addNodes(n.sons[1])))) - if cmpIgnoreStyle(fieldname, "author") == 0: - if d.meta[metaAuthor] == nil: - d.meta[metaAuthor] = fieldval - b = true - elif cmpIgnoreStyle(fieldName, "version") == 0: - if d.meta[metaVersion] == nil: - d.meta[metaVersion] = fieldval - b = true - if b: result = nil - else: result = renderAux(d, n, disp("$1$n", "$1")) - -proc renderRstToOut(d: PDoc, n: PRstNode): PRope = - if n == nil: - return nil - case n.kind - of rnInner: result = renderAux(d, n) - of rnHeadline: result = renderHeadline(d, n) - of rnOverline: result = renderOverline(d, n) - of rnTransition: result = renderAux(d, n, disp("
    \n", "\\hrule\n")) - of rnParagraph: result = renderAux(d, n, disp("

    $1

    \n", "$1$n$n")) - of rnBulletList: - result = renderAux(d, n, disp("\n", - "\\begin{itemize}$1\\end{itemize}\n")) - of rnBulletItem, rnEnumItem: - result = renderAux(d, n, disp("
  • $1
  • \n", "\\item $1\n")) - of rnEnumList: - result = renderAux(d, n, disp("
      $1
    \n", - "\\begin{enumerate}$1\\end{enumerate}\n")) - of rnDefList: - result = renderAux(d, n, disp("
    $1
    \n", - "\\begin{description}$1\\end{description}\n")) - of rnDefItem: result = renderAux(d, n) - of rnDefName: result = renderAux(d, n, disp("
    $1
    \n", "\\item[$1] ")) - of rnDefBody: result = renderAux(d, n, disp("
    $1
    \n", "$1\n")) - of rnFieldList: - result = nil - for i in countup(0, len(n) - 1): - app(result, renderRstToOut(d, n.sons[i])) - if result != nil: - result = dispf( - "" & - "" & - "" & - "$1" & - "
    ", - "\\begin{description}$1\\end{description}\n", - [result]) - of rnField: result = renderField(d, n) - of rnFieldName: - result = renderAux(d, n, disp("$1:", - "\\item[$1:]")) - of rnFieldBody: - result = renderAux(d, n, disp("$1", " $1$n")) - of rnIndex: - result = renderRstToOut(d, n.sons[2]) - of rnOptionList: - result = renderAux(d, n, disp("$1
    ", - "\\begin{description}$n$1\\end{description}\n")) - of rnOptionListItem: - result = renderAux(d, n, disp("$1$n", "$1")) - of rnOptionGroup: - result = renderAux(d, n, disp("$1", "\\item[$1]")) - of rnDescription: - result = renderAux(d, n, disp("$1$n", " $1$n")) - of rnOption, rnOptionString, rnOptionArgument: - InternalError("renderRstToOut") - of rnLiteralBlock: - result = renderAux(d, n, disp("
    $1
    $n", - "\\begin{rstpre}$n$1$n\\end{rstpre}$n")) - of rnQuotedLiteralBlock: - InternalError("renderRstToOut") - of rnLineBlock: - result = renderAux(d, n, disp("

    $1

    ", "$1$n$n")) - of rnLineBlockItem: - result = renderAux(d, n, disp("$1
    ", "$1\\\\$n")) - of rnBlockQuote: - result = renderAux(d, n, disp("

    $1

    $n", - "\\begin{quote}$1\\end{quote}$n")) - of rnTable, rnGridTable: - result = renderAux(d, n, disp( - "$1
    ", - "\\begin{table}\\begin{rsttab}{" & - texColumns(n) & "|}$n\\hline$n$1\\end{rsttab}\\end{table}")) - of rnTableRow: - if len(n) >= 1: - result = renderRstToOut(d, n.sons[0]) - for i in countup(1, len(n) - 1): - dispa(result, "$1", " & $1", [renderRstToOut(d, n.sons[i])]) - result = dispf("$1$n", "$1\\\\$n\\hline$n", [result]) - else: - result = nil - of rnTableDataCell: result = renderAux(d, n, disp("$1", "$1")) - of rnTableHeaderCell: - result = renderAux(d, n, disp("$1", "\\textbf{$1}")) - of rnLabel: - InternalError("renderRstToOut") # used for footnotes and other - of rnFootnote: - InternalError("renderRstToOut") # a footnote - of rnCitation: - InternalError("renderRstToOut") # similar to footnote - of rnRef: - result = dispF("$1", - "$1\\ref{$2}", [renderAux(d, n), toRope(rstnodeToRefname(n))]) - of rnStandaloneHyperlink: - result = renderAux(d, n, disp( - "$1", - "\\href{$1}{$1}")) - of rnHyperlink: - result = dispF("$1", - "\\href{$2}{$1}", - [renderRstToOut(d, n.sons[0]), renderRstToOut(d, n.sons[1])]) - of rnDirArg, rnRaw: result = renderAux(d, n) - of rnRawHtml: - if gCmd != cmdRst2Tex: - result = toRope(addNodes(lastSon(n))) - of rnRawLatex: - if gCmd == cmdRst2Tex: - result = toRope(addNodes(lastSon(n))) - - of rnImage, rnFigure: result = renderImage(d, n) - of rnCodeBlock: result = renderCodeBlock(d, n) - of rnContainer: result = renderContainer(d, n) - of rnSubstitutionReferences, rnSubstitutionDef: - result = renderAux(d, n, disp("|$1|", "|$1|")) - of rnDirective: - result = renderAux(d, n, "") # Inline markup: - of rnGeneralRole: - result = dispF("$1", "\\span$2{$1}", - [renderRstToOut(d, n.sons[0]), renderRstToOut(d, n.sons[1])]) - of rnSub: result = renderAux(d, n, disp("$1", "\\rstsub{$1}")) - of rnSup: result = renderAux(d, n, disp("$1", "\\rstsup{$1}")) - of rnEmphasis: result = renderAux(d, n, disp("$1", "\\emph{$1}")) - of rnStrongEmphasis: - result = renderAux(d, n, disp("$1", "\\textbf{$1}")) - of rnTripleEmphasis: - result = renderAux(d, n, disp("$1", - "\\textbf{emph{$1}}")) - of rnInterpretedText: - result = renderAux(d, n, disp("$1", "\\emph{$1}")) - of rnIdx: - if d.theIndex == nil: - result = renderAux(d, n, disp("$1", "\\emph{$1}")) - else: - result = renderIndexTerm(d, n) - of rnInlineLiteral: - result = renderAux(d, n, disp( - "$1", - "\\texttt{$1}")) - of rnSmiley: result = renderSmiley(d, n) - of rnLeaf: result = toRope(esc(d.target, n.text)) - of rnContents: d.hasToc = true - of rnTitle: d.meta[metaTitle] = renderRstToOut(d, n.sons[0]) - proc checkForFalse(n: PNode): bool = result = n.kind == nkIdent and IdentEq(n.ident, "false") @@ -658,56 +275,52 @@ proc genSection(d: PDoc, kind: TSymKind) = "Iterators", "Converters", "Macros", "Templates" ] if d.section[kind] == nil: return - var title = toRope(sectionNames[kind]) + var title = sectionNames[kind].toRope d.section[kind] = ropeFormatNamedVars(getConfigVar("doc.section"), [ "sectionid", "sectionTitle", "sectionTitleID", "content"], [ - toRope(ord(kind)), title, toRope(ord(kind) + 50), d.section[kind]]) + ord(kind).toRope, title, toRope(ord(kind) + 50), d.section[kind]]) d.toc[kind] = ropeFormatNamedVars(getConfigVar("doc.section.toc"), [ "sectionid", "sectionTitle", "sectionTitleID", "content"], [ - toRope(ord(kind)), title, toRope(ord(kind) + 50), d.toc[kind]]) + ord(kind).toRope, title, toRope(ord(kind) + 50), d.toc[kind]]) proc genOutFile(d: PDoc): PRope = var - code, toc, title, content: PRope - bodyname: string - j: int - j = 0 - toc = renderTocEntries(d, j, 1) - code = nil - content = nil - title = nil + code, content: PRope = nil + title = "" + var j = 0 + var tmp = "" + renderTocEntries(d[], j, 1, tmp) + var toc = tmp.toRope for i in countup(low(TSymKind), high(TSymKind)): genSection(d, i) app(toc, d.toc[i]) - if toc != nil: + if toc != nil: toc = ropeFormatNamedVars(getConfigVar("doc.toc"), ["content"], [toc]) for i in countup(low(TSymKind), high(TSymKind)): app(code, d.section[i]) - if d.meta[metaTitle] != nil: title = d.meta[metaTitle] - else: title = toRope("Module " & - extractFilename(changeFileExt(d.filename, ""))) - if d.hasToc: bodyname = "doc.body_toc" - else: bodyname = "doc.body_no_toc" + if d.meta[metaTitle].len != 0: title = d.meta[metaTitle] + else: title = "Module " & extractFilename(changeFileExt(d.filename, "")) + + let bodyname = if d.hasToc: "doc.body_toc" else: "doc.body_no_toc" content = ropeFormatNamedVars(getConfigVar(bodyname), ["title", "tableofcontents", "moduledesc", "date", "time", "content"], - [title, toc, d.modDesc, toRope(getDateStr()), + [title.toRope, toc, d.modDesc, toRope(getDateStr()), toRope(getClockStr()), code]) if optCompileOnly notin gGlobalOptions: + # XXX what is this hack doing here? 'optCompileOnly' means raw output!? code = ropeFormatNamedVars(getConfigVar("doc.file"), ["title", "tableofcontents", "moduledesc", "date", "time", "content", "author", "version"], - [title, toc, d.modDesc, toRope(getDateStr()), - toRope(getClockStr()), content, d.meta[metaAuthor], - d.meta[metaVersion]]) + [title.toRope, toc, d.modDesc, toRope(getDateStr()), + toRope(getClockStr()), content, d.meta[metaAuthor].toRope, + d.meta[metaVersion].toRope]) else: code = content result = code -proc generateIndex(d: PDoc) = - if d.theIndex != nil: - sortIndex(d.theIndex) - var content = newStringOfCap(2_000_000) - renderRstToRst(d.indexFile, content) - writeFile(gIndexFile, content) +proc generateIndex(d: PDoc) = + if optGenIndex in gGlobalOptions: + writeIndexFile(d[], splitFile(options.outFile).dir / + splitFile(d.filename).name & indexExt) proc writeOutput(d: PDoc, filename, outExt: string) = var content = genOutFile(d) @@ -716,86 +329,39 @@ proc writeOutput(d: PDoc, filename, outExt: string) = else: writeRope(content, getOutFile(filename, outExt)) -proc CommandDoc = +proc CommandDoc*() = var ast = parseFile(addFileExt(gProjectFull, nimExt)) if ast == nil: return - var d = newDocumentor(gProjectFull) - initIndexFile(d) + var d = newDocumentor(gProjectFull, options.gConfigVars) d.hasToc = true generateDoc(d, ast) writeOutput(d, gProjectFull, HtmlExt) generateIndex(d) -proc CommandRstAux(filename, outExt: string) = +proc CommandRstAux(filename, outExt: string) = var filen = addFileExt(filename, "txt") - var d = newDocumentor(filen) - initIndexFile(d) + var d = newDocumentor(filen, options.gConfigVars) var rst = parseRst(readFile(filen), filen, 0, 1, d.hasToc, {roSupportRawDirective}) - d.modDesc = renderRstToOut(d, rst) + d.modDesc = newMutableRope(30_000) + renderRstToOut(d[], rst, d.modDesc.data) + freezeMutableRope(d.modDesc) writeOutput(d, filename, outExt) generateIndex(d) -proc CommandRst2Html = +proc CommandRst2Html*() = CommandRstAux(gProjectFull, HtmlExt) -proc CommandRst2TeX = +proc CommandRst2TeX*() = splitter = "\\-" CommandRstAux(gProjectFull, TexExt) -# ---------- forum --------------------------------------------------------- - -proc setupConfig*() = - msgs.gErrorMax = 1000_000 - setConfigVar("split.item.toc", "20") - setConfigVar("doc.section", """ -
    -

    $sectionTitle

    -
    -$content -
    -""") - setConfigVar("doc.section.toc", """ -
  • - $sectionTitle - -
  • -""") - setConfigVar("doc.item", """ -
    $header
    -
    -$desc -
    -""") - setConfigVar("doc.item.toc", """ -
  • $name
  • -""") - setConfigVar("doc.toc", """ -""") - setConfigVar("doc.body_toc", """ -$tableofcontents -
    -$moduledesc -$content -
    -""") - setConfigVar("doc.body_no_toc", "$moduledesc $content") - setConfigVar("doc.file", "$content") - -proc rstToHtml*(s: string, options: TRstParseOptions): string = - ## exported for *nimforum*. - const filen = "input" - var d = newDocumentor(filen) - d.options = options - var dummyHasToc = false - var rst = rstParse(s, filen, 0, 1, dummyHasToc, options) - d.modDesc = renderRstToOut(d, rst) - let res = genOutFile(d) - result = res.ropeToStr - +proc CommandBuildIndex*() = + var content = mergeIndexes(gProjectFull).toRope + + let code = ropeFormatNamedVars(getConfigVar("doc.file"), ["title", + "tableofcontents", "moduledesc", "date", "time", + "content", "author", "version"], + ["Index".toRope, nil, nil, toRope(getDateStr()), + toRope(getClockStr()), content, nil, nil]) + writeRope(code, getOutFile("theindex", HtmlExt)) diff --git a/compiler/main.nim b/compiler/main.nim index a56b12ebb7..811eb76755 100755 --- a/compiler/main.nim +++ b/compiler/main.nim @@ -227,7 +227,7 @@ proc MainCommand = gCmd = cmdPretty wantMainModule() CommandPretty() - of "doc": + of "doc": gCmd = cmdDoc LoadConfigs(DocConfig) wantMainModule() @@ -242,6 +242,10 @@ proc MainCommand = LoadConfigs(DocTexConfig) wantMainModule() CommandRst2TeX() + of "buildindex": + gCmd = cmdDoc + LoadConfigs(DocConfig) + CommandBuildIndex() of "gendepend": gCmd = cmdGenDepend wantMainModule() diff --git a/compiler/options.nim b/compiler/options.nim index 9d7b41180e..5238e839fa 100755 --- a/compiler/options.nim +++ b/compiler/options.nim @@ -53,7 +53,8 @@ type # please make sure we have under 32 options optDef, # ideTools: 'def' optThreadAnalysis, # thread analysis pass optTaintMode, # taint mode turned on - optTlsEmulation # thread var emulation turned on + optTlsEmulation, # thread var emulation turned on + optGenIndex # generate index file for documentation TGlobalOptions* = set[TGlobalOption] TCommands* = enum # Nimrod's commands @@ -84,7 +85,6 @@ var gExitcode*: int8 searchPaths*: TLinkedList outFile*: string = "" - gIndexFile*: string = "" gCmd*: TCommands = cmdNone # the command gVerbosity*: int # how verbose the compiler is gNumberOfProcessors*: int # number of processors diff --git a/compiler/ropes.nim b/compiler/ropes.nim index b5a273e864..31ec29f0a1 100755 --- a/compiler/ropes.nim +++ b/compiler/ropes.nim @@ -109,6 +109,9 @@ proc newMutableRope*(capacity = 30): PRope = new(result) result.data = newStringOfCap(capacity) +proc freezeMutableRope*(r: PRope) {.inline.} = + r.length = r.data.len + var cache: array[0..2048 -1, PRope] diff --git a/doc/advopt.txt b/doc/advopt.txt index 876e049041..d0d711d419 100755 --- a/doc/advopt.txt +++ b/doc/advopt.txt @@ -4,6 +4,7 @@ Advanced commands: //compileToOC, objc compile project to Objective C code //rst2html convert a reStructuredText file to HTML //rst2tex convert a reStructuredText file to TeX + //buildIndex build an index for the whole documentation //run run the project (with Tiny C backend; buggy!) //pretty pretty print the inputfile //genDepend generate a DOT file containing the @@ -57,7 +58,7 @@ Advanced options: --skipParentCfg do not read the parent dirs' configuration files --skipProjCfg do not read the project's configuration file --gc:refc|boehm|none use Nimrod's native GC|Boehm GC|no GC - --index:FILE use FILE to generate a documentation index file + --index:on|off turn index file generation on|off --putenv:key=value set an environment variable --listCmd list the commands used to execute external programs --parallelBuild=0|1|... perform a parallel build diff --git a/doc/theindex.txt b/doc/theindex.txt deleted file mode 100755 index 2974fe6aa7..0000000000 --- a/doc/theindex.txt +++ /dev/null @@ -1,9665 +0,0 @@ - -===== -Index -===== - -.. index:: - - - `!`:idx: - * `macros.html#115 `_ - * `pegs.html#117 `_ - - `!$`:idx: - `hashes.html#103 `_ - - `!&`:idx: - `hashes.html#102 `_ - - `!=`:idx: - `system.html#368 `_ - - `$`:idx: - * `macros.html#116 `_ - * `sockets.html#113 `_ - * `system.html#462 `_ - * `system.html#463 `_ - * `system.html#464 `_ - * `system.html#465 `_ - * `system.html#466 `_ - * `system.html#467 `_ - * `system.html#468 `_ - * `system.html#469 `_ - * `system.html#526 `_ - * `complex.html#134 `_ - * `times.html#109 `_ - * `times.html#110 `_ - * `times.html#121 `_ - * `times.html#122 `_ - * `pegs.html#144 `_ - * `strtabs.html#115 `_ - * `smtp.html#110 `_ - * `ropes.html#119 `_ - * `xmldom.html#207 `_ - * `xmltree.html#126 `_ - * `colors.html#248 `_ - * `json.html#140 `_ - * `tables.html#116 `_ - * `tables.html#131 `_ - * `tables.html#145 `_ - * `sets.html#111 `_ - * `sets.html#121 `_ - * `lists.html#123 `_ - * `lists.html#124 `_ - * `lists.html#125 `_ - * `lists.html#126 `_ - * `intsets.html#108 `_ - * `queues.html#108 `_ - * `critbits.html#125 `_ - - `$$`:idx: - `marshal.html#103 `_ - - `%`:idx: - * `strutils.html#174 `_ - * `strutils.html#175 `_ - * `strtabs.html#114 `_ - * `ropes.html#120 `_ - * `subexes.html#111 `_ - * `subexes.html#112 `_ - - `%%`:idx: - * `system.html#313 `_ - * `system.html#314 `_ - * `system.html#315 `_ - * `system.html#316 `_ - * `system.html#317 `_ - - `&`:idx: - * `system.html#384 `_ - * `system.html#385 `_ - * `system.html#386 `_ - * `system.html#387 `_ - * `system.html#510 `_ - * `system.html#511 `_ - * `system.html#512 `_ - * `pegs.html#116 `_ - * `ropes.html#109 `_ - * `ropes.html#110 `_ - * `ropes.html#111 `_ - * `ropes.html#112 `_ - - `&=`:idx: - `system.html#628 `_ - - `*`:idx: - * `system.html#233 `_ - * `system.html#234 `_ - * `system.html#235 `_ - * `system.html#236 `_ - * `system.html#237 `_ - * `system.html#332 `_ - * `system.html#340 `_ - * `algorithm.html#102 `_ - * `complex.html#114 `_ - * `complex.html#115 `_ - * `complex.html#116 `_ - * `pegs.html#112 `_ - - `*%`:idx: - * `system.html#303 `_ - * `system.html#304 `_ - * `system.html#305 `_ - * `system.html#306 `_ - * `system.html#307 `_ - - `*=`:idx: - * `system.html#623 `_ - * `system.html#626 `_ - - `+`:idx: - * `system.html#208 `_ - * `system.html#209 `_ - * `system.html#210 `_ - * `system.html#211 `_ - * `system.html#212 `_ - * `system.html#223 `_ - * `system.html#224 `_ - * `system.html#225 `_ - * `system.html#226 `_ - * `system.html#227 `_ - * `system.html#328 `_ - * `system.html#330 `_ - * `system.html#341 `_ - * `complex.html#104 `_ - * `complex.html#105 `_ - * `complex.html#106 `_ - * `pegs.html#115 `_ - * `colors.html#103 `_ - - `+%`:idx: - * `system.html#293 `_ - * `system.html#294 `_ - * `system.html#295 `_ - * `system.html#296 `_ - * `system.html#297 `_ - - `+=`:idx: - * `system.html#621 `_ - * `system.html#624 `_ - - `-`:idx: - * `system.html#213 `_ - * `system.html#214 `_ - * `system.html#215 `_ - * `system.html#216 `_ - * `system.html#217 `_ - * `system.html#228 `_ - * `system.html#229 `_ - * `system.html#230 `_ - * `system.html#231 `_ - * `system.html#232 `_ - * `system.html#329 `_ - * `system.html#331 `_ - * `system.html#342 `_ - * `complex.html#107 `_ - * `complex.html#108 `_ - * `complex.html#109 `_ - * `complex.html#110 `_ - * `times.html#111 `_ - * `colors.html#104 `_ - - `-%`:idx: - * `system.html#298 `_ - * `system.html#299 `_ - * `system.html#300 `_ - * `system.html#301 `_ - * `system.html#302 `_ - - `-+-`:idx: - `system.html#343 `_ - - `-=`:idx: - * `system.html#622 `_ - * `system.html#625 `_ - - `..`:idx: - * `system.html#141 `_ - * `system.html#143 `_ - * `system.html#481 `_ - - `/`:idx: - * `system.html#333 `_ - * `system.html#607 `_ - * `os.html#128 `_ - * `complex.html#111 `_ - * `complex.html#112 `_ - * `complex.html#113 `_ - * `pegs.html#109 `_ - - `/%`:idx: - * `system.html#308 `_ - * `system.html#309 `_ - * `system.html#310 `_ - * `system.html#311 `_ - * `system.html#312 `_ - - `/../`:idx: - `os.html#133 `_ - - `/=`:idx: - `system.html#627 `_ - - `<`:idx: - * `system.html#183 `_ - * `system.html#283 `_ - * `system.html#284 `_ - * `system.html#285 `_ - * `system.html#286 `_ - * `system.html#287 `_ - * `system.html#336 `_ - * `system.html#360 `_ - * `system.html#361 `_ - * `system.html#362 `_ - * `system.html#363 `_ - * `system.html#364 `_ - * `system.html#365 `_ - * `system.html#366 `_ - * `system.html#367 `_ - * `system.html#525 `_ - * `times.html#112 `_ - - `<%`:idx: - `unicode.html#104 `_ - - `<%`:idx: - * `system.html#323 `_ - * `system.html#324 `_ - * `system.html#325 `_ - * `system.html#326 `_ - * `system.html#327 `_ - - `<=`:idx: - `times.html#113 `_ - - `<=`:idx: - * `system.html#278 `_ - * `system.html#279 `_ - * `system.html#280 `_ - * `system.html#281 `_ - * `system.html#282 `_ - * `system.html#335 `_ - * `system.html#353 `_ - * `system.html#354 `_ - * `system.html#355 `_ - * `system.html#356 `_ - * `system.html#357 `_ - * `system.html#358 `_ - * `system.html#359 `_ - * `system.html#524 `_ - - `<=%`:idx: - * `system.html#318 `_ - * `system.html#319 `_ - * `system.html#320 `_ - * `system.html#321 `_ - * `system.html#322 `_ - - `<=%`:idx: - `unicode.html#103 `_ - - `<>`:idx: - `xmltree.html#128 `_ - - `==`:idx: - * `md5.html#107 `_ - * `macros.html#117 `_ - * `macros.html#118 `_ - * `sockets.html#111 `_ - * `sockets.html#112 `_ - * `system.html#273 `_ - * `system.html#274 `_ - * `system.html#275 `_ - * `system.html#276 `_ - * `system.html#277 `_ - * `system.html#334 `_ - * `system.html#344 `_ - * `system.html#345 `_ - * `system.html#346 `_ - * `system.html#347 `_ - * `system.html#348 `_ - * `system.html#349 `_ - * `system.html#350 `_ - * `system.html#351 `_ - * `system.html#352 `_ - * `system.html#513 `_ - * `system.html#523 `_ - * `complex.html#102 `_ - * `unicode.html#105 `_ - * `colors.html#102 `_ - - `=~`:idx: - `pegs.html#157 `_ - - `=~`:idx: - `regexprs.html#111 `_ - - `=~`:idx: - `re.html#120 `_ - - `=~`:idx: - `complex.html#103 `_ - - `>`:idx: - `system.html#370 `_ - - `>%`:idx: - `system.html#461 `_ - - `>=`:idx: - `system.html#369 `_ - - `>=%`:idx: - `system.html#460 `_ - - `?`:idx: - `pegs.html#111 `_ - - `@`:idx: - * `system.html#379 `_ - * `pegs.html#113 `_ - - `@@`:idx: - `pegs.html#114 `_ - - `[]`:idx: - `macros.html#113 `_ - - `[]`:idx: - * `json.html#130 `_ - * `json.html#131 `_ - - `[]`:idx: - * `tables.html#108 `_ - * `tables.html#124 `_ - * `tables.html#139 `_ - - `[]`:idx: - * `system.html#608 `_ - * `system.html#611 `_ - * `system.html#613 `_ - * `system.html#615 `_ - - `[]`:idx: - * `typeinfo.html#112 `_ - * `typeinfo.html#120 `_ - * `typeinfo.html#121 `_ - - `[]`:idx: - * `graphics.html#116 `_ - * `graphics.html#117 `_ - - `[]`:idx: - `strtabs.html#107 `_ - - `[]`:idx: - `ropes.html#115 `_ - - `[]`:idx: - `critbits.html#110 `_ - - `[]`:idx: - `xmltree.html#115 `_ - - `[]=`:idx: - `macros.html#114 `_ - - `[]=`:idx: - * `typeinfo.html#113 `_ - * `typeinfo.html#119 `_ - * `typeinfo.html#122 `_ - - `[]=`:idx: - `strtabs.html#110 `_ - - `[]=`:idx: - * `system.html#610 `_ - * `system.html#612 `_ - * `system.html#614 `_ - * `system.html#617 `_ - - `[]=`:idx: - * `graphics.html#118 `_ - * `graphics.html#119 `_ - - `[]=`:idx: - * `tables.html#111 `_ - * `tables.html#127 `_ - * `tables.html#142 `_ - - `[]=`:idx: - `critbits.html#109 `_ - - `[]=`:idx: - `json.html#135 `_ - - `[ESC]`:idx: - `manual.html#134 `_ - - `^`:idx: - `actors.html#115 `_ - - `a`:idx: - * `xmlgen.html#107 `_ - * `htmlgen.html#107 `_ - - `abbrev`:idx: - `strutils.html#145 `_ - - `abs`:idx: - * `system.html#288 `_ - * `system.html#289 `_ - * `system.html#290 `_ - * `system.html#291 `_ - * `system.html#292 `_ - * `system.html#337 `_ - * `complex.html#117 `_ - - `accept`:idx: - * `sockets.html#124 `_ - * `asyncio.html#113 `_ - - `acceptAddr`:idx: - * `sockets.html#123 `_ - * `asyncio.html#112 `_ - - `accumulateResult`:idx: - `system.html#541 `_ - - `Acquire`:idx: - `locks.html#108 `_ - - `acronym`:idx: - * `xmlgen.html#108 `_ - * `htmlgen.html#108 `_ - - `Actor`:idx: - `actors.html#101 `_ - - `actor model`:idx: - `manual.html#286 `_ - - `acyclic`:idx: - `manual.html#257 `_ - - `add`:idx: - * `macros.html#120 `_ - * `macros.html#121 `_ - * `system.html#388 `_ - * `system.html#389 `_ - * `system.html#411 `_ - * `system.html#412 `_ - * `system.html#547 `_ - * `parsesql.html#108 `_ - * `ropes.html#113 `_ - * `ropes.html#114 `_ - * `xmltree.html#112 `_ - * `xmltree.html#124 `_ - * `json.html#133 `_ - * `json.html#134 `_ - * `tables.html#112 `_ - * `tables.html#128 `_ - * `queues.html#105 `_ - - `addEscaped`:idx: - `xmltree.html#122 `_ - - `addf`:idx: - * `strutils.html#171 `_ - * `ropes.html#121 `_ - * `subexes.html#108 `_ - - `addFile`:idx: - * `zipfiles.html#105 `_ - * `zipfiles.html#106 `_ - * `zipfiles.html#107 `_ - - `addFileExt`:idx: - `os.html#138 `_ - - `add_filter`:idx: - `sphinx.html#168 `_ - - `add_filter_float_range`:idx: - `sphinx.html#170 `_ - - `add_filter_range`:idx: - `sphinx.html#169 `_ - - `addHandler`:idx: - `events.html#106 `_ - - `add_override`:idx: - `sphinx.html#175 `_ - - `add_query`:idx: - `sphinx.html#180 `_ - - `addQuitProc`:idx: - `system.html#440 `_ - - `address`:idx: - * `xmlgen.html#109 `_ - * `htmlgen.html#109 `_ - - `addSep`:idx: - `strutils.html#143 `_ - - `alert`:idx: - `manual.html#131 `_ - - `aliasing`:idx: - `manual.html#171 `_ - - `align`:idx: - `strutils.html#137 `_ - - `allCharsInSet`:idx: - `strutils.html#144 `_ - - `alloc`:idx: - `system.html#451 `_ - - `alloc0`:idx: - `system.html#452 `_ - - `allocCStringArray`:idx: - `system.html#592 `_ - - `ALLOC_MAX_BLOCK_TO_DROP`:idx: - `mysql.html#317 `_ - - `ALLOC_MAX_BLOCK_USAGE_BEFORE_DROP`:idx: - `mysql.html#318 `_ - - `allocShared`:idx: - `system.html#455 `_ - - `allocShared0`:idx: - `system.html#456 `_ - - `AltSep`:idx: - `os.html#104 `_ - - `and`:idx: - * `system.html#124 `_ - * `system.html#258 `_ - * `system.html#259 `_ - * `system.html#260 `_ - * `system.html#261 `_ - * `system.html#262 `_ - - `any`:idx: - `pegs.html#119 `_ - - `any character`:idx: - `pegs.html#118 `_ - - `any rune`:idx: - `pegs.html#120 `_ - - `anyRune`:idx: - `pegs.html#121 `_ - - `apostrophe`:idx: - `manual.html#129 `_ - - `append`:idx: - * `redis.html#122 `_ - * `lists.html#137 `_ - * `lists.html#138 `_ - * `lists.html#144 `_ - * `lists.html#145 `_ - - `appendChild`:idx: - `xmldom.html#166 `_ - - `appType`:idx: - `system.html#401 `_ - - `arccos`:idx: - * `math.html#125 `_ - * `complex.html#127 `_ - - `arcsin`:idx: - * `math.html#126 `_ - * `complex.html#125 `_ - - `arctan`:idx: - `math.html#127 `_ - - `arctan2`:idx: - `math.html#128 `_ - - `area`:idx: - * `xmlgen.html#110 `_ - * `htmlgen.html#110 `_ - - `arithmetic bit shifts`:idx: - `tut1.html#110 `_ - - `array`:idx: - * `tut1.html#117 `_ - * `system.html#135 `_ - - `array properties`:idx: - `tut2.html#106 `_ - - `Arrays`:idx: - `manual.html#164 `_ - - `assembler`:idx: - `manual.html#218 `_ - - `assert`:idx: - `system.html#634 `_ - - `assign`:idx: - * `typeinfo.html#144 `_ - * `intsets.html#107 `_ - - `AST`:idx: - `macros.html#101 `_ - - `astToStr`:idx: - `system.html#630 `_ - - `AsyncFTPClient`:idx: - `ftpclient.html#123 `_ - - `asyncIRC`:idx: - `irc.html#119 `_ - - `AsyncSocket`:idx: - `asyncio.html#107 `_ - - `atEnd`:idx: - * `streams.html#106 `_ - * `streams.html#107 `_ - - `atomicDec`:idx: - `system.html#595 `_ - - `atomicInc`:idx: - `system.html#594 `_ - - `attr`:idx: - `xmltree.html#130 `_ - - `AttributeNode`:idx: - `xmldom.html#118 `_ - - `attrKey`:idx: - `parsexml.html#113 `_ - - `attrs`:idx: - `xmltree.html#117 `_ - - `attrs=`:idx: - `xmltree.html#118 `_ - - `attrsLen`:idx: - `xmltree.html#119 `_ - - `attrValue`:idx: - `parsexml.html#114 `_ - - `auth`:idx: - * `smtp.html#105 `_ - * `redis.html#199 `_ - - `AUTO_INCREMENT_FLAG`:idx: - `mysql.html#133 `_ - - `Automatic type conversion`:idx: - * `manual.html#146 `_ - * `tut1.html#111 `_ - - `b`:idx: - * `xmlgen.html#111 `_ - * `htmlgen.html#111 `_ - - `backref`:idx: - `pegs.html#132 `_ - - `backrefIgnoreCase`:idx: - `pegs.html#133 `_ - - `backrefIgnoreStyle`:idx: - `pegs.html#134 `_ - - `backslash`:idx: - * `regexprs.html#101 `_ - * `manual.html#127 `_ - * `re.html#101 `_ - - `backspace`:idx: - `manual.html#132 `_ - - `base`:idx: - * `xmlgen.html#112 `_ - * `htmlgen.html#112 `_ - - `base type`:idx: - `manual.html#186 `_ - - `baseTypeKind`:idx: - `typeinfo.html#106 `_ - - `baseTypeSize`:idx: - `typeinfo.html#107 `_ - - `bgrewriteaof`:idx: - `redis.html#204 `_ - - `bgsave`:idx: - `redis.html#205 `_ - - `big`:idx: - * `xmlgen.html#113 `_ - * `htmlgen.html#113 `_ - - `bigEndian32`:idx: - `endians.html#107 `_ - - `bigEndian64`:idx: - `endians.html#106 `_ - - `BiggestFloat`:idx: - `system.html#421 `_ - - `BiggestInt`:idx: - `system.html#420 `_ - - `BINARY_FLAG`:idx: - `mysql.html#131 `_ - - `binarySearch`:idx: - `algorithm.html#105 `_ - - `BINCMP_FLAG`:idx: - `mysql.html#141 `_ - - `bind`:idx: - `manual.html#239 `_ - - `bindAddr`:idx: - * `sockets.html#121 `_ - * `zmq.html#162 `_ - * `asyncio.html#110 `_ - - `binom`:idx: - `math.html#108 `_ - - `blit`:idx: - `graphics.html#120 `_ - - `BLOB_FLAG`:idx: - `mysql.html#128 `_ - - `block`:idx: - `manual.html#214 `_ - - `blockquote`:idx: - * `xmlgen.html#114 `_ - * `htmlgen.html#114 `_ - - `BlockTags`:idx: - `htmlparser.html#103 `_ - - `bLPop`:idx: - `redis.html#149 `_ - - `body`:idx: - * `xmlgen.html#115 `_ - * `htmlgen.html#115 `_ - - `bool`:idx: - * `manual.html#157 `_ - * `system.html#109 `_ - - `boolean`:idx: - * `manual.html#156 `_ - * `tut1.html#107 `_ - - `bounds`:idx: - `pegs.html#146 `_ - - `br`:idx: - * `xmlgen.html#116 `_ - * `htmlgen.html#116 `_ - - `break`:idx: - `manual.html#215 `_ - - `breakpoint`:idx: - `endb.html#103 `_ - - `bRPop`:idx: - `redis.html#150 `_ - - `bRPopLPush`:idx: - `redis.html#151 `_ - - `build_excerpts`:idx: - `sphinx.html#190 `_ - - `build_keywords`:idx: - `sphinx.html#193 `_ - - `button`:idx: - * `xmlgen.html#117 `_ - * `htmlgen.html#117 `_ - - `Byte`:idx: - `system.html#145 `_ - - `C++`:idx: - * `nimrodc.html#114 `_ - * `nimrodc.html#117 `_ - - `calling conventions`:idx: - `manual.html#176 `_ - - `capitalize`:idx: - `strutils.html#113 `_ - - `caption`:idx: - * `xmlgen.html#118 `_ - * `htmlgen.html#118 `_ - - `capture`:idx: - `pegs.html#131 `_ - - `captureBetween`:idx: - `parseutils.html#115 `_ - - `card`:idx: - * `system.html#196 `_ - * `sets.html#103 `_ - * `sets.html#114 `_ - - `carriage return`:idx: - `manual.html#122 `_ - - `case`:idx: - * `manual.html#203 `_ - * `manual.html#268 `_ - - `cchar`:idx: - `system.html#422 `_ - - `cd`:idx: - `ftpclient.html#112 `_ - - `CDataSectionNode`:idx: - `xmldom.html#120 `_ - - `cdecl`:idx: - `manual.html#178 `_ - - `cdouble`:idx: - `system.html#429 `_ - - `cdup`:idx: - `ftpclient.html#113 `_ - - `cfloat`:idx: - `system.html#428 `_ - - `cgiError`:idx: - `cgi.html#106 `_ - - `ChangeFileExt`:idx: - `os.html#137 `_ - - `channelId`:idx: - `inboxes.html#111 `_ - - `char`:idx: - `system.html#110 `_ - - `character type`:idx: - `manual.html#158 `_ - - `character with decimal value d`:idx: - `manual.html#130 `_ - - `character with hex value HH`:idx: - `manual.html#135 `_ - - `character_set`:idx: - `mysql.html#351 `_ - - `charData`:idx: - `parsexml.html#109 `_ - - `charSet`:idx: - `pegs.html#108 `_ - - `CHARSET_INFO`:idx: - `mysql.html#348 `_ - - `charset_info_st`:idx: - `mysql.html#347 `_ - - `checked runtime error`:idx: - `manual.html#110 `_ - - `checkedSymAddr`:idx: - `dynlib.html#105 `_ - - `check_scramble`:idx: - `mysql.html#279 `_ - - `check_scramble_323`:idx: - `mysql.html#273 `_ - - `child`:idx: - `xmltree.html#129 `_ - - `chmod`:idx: - `ftpclient.html#117 `_ - - `chr`:idx: - `system.html#198 `_ - - `cint`:idx: - `system.html#425 `_ - - `cite`:idx: - * `xmlgen.html#119 `_ - * `htmlgen.html#119 `_ - - `classify`:idx: - `math.html#107 `_ - - `cleanup`:idx: - `sphinx.html#152 `_ - - `clearHandlers`:idx: - `events.html#109 `_ - - `CLIENT_COMPRESS`:idx: - `mysql.html#161 `_ - - `CLIENT_CONNECT_WITH_DB`:idx: - `mysql.html#159 `_ - - `clientData`:idx: - `xmltree.html#120 `_ - - `clientData=`:idx: - `xmltree.html#121 `_ - - `CLIENT_FOUND_ROWS`:idx: - `mysql.html#157 `_ - - `CLIENT_IGNORE_SIGPIPE`:idx: - `mysql.html#168 `_ - - `CLIENT_IGNORE_SPACE`:idx: - `mysql.html#164 `_ - - `CLIENT_INTERACTIVE`:idx: - `mysql.html#166 `_ - - `CLIENT_LOCAL_FILES`:idx: - `mysql.html#163 `_ - - `CLIENT_LONG_FLAG`:idx: - `mysql.html#158 `_ - - `CLIENT_LONG_PASSWORD`:idx: - `mysql.html#156 `_ - - `CLIENT_MULTI_QUERIES`:idx: - `mysql.html#203 `_ - - `CLIENT_MULTI_RESULTS`:idx: - `mysql.html#173 `_ - - `CLIENT_MULTI_STATEMENTS`:idx: - `mysql.html#172 `_ - - `CLIENT_NET_READ_TIMEOUT`:idx: - `mysql.html#292 `_ - - `CLIENT_NET_WRITE_TIMEOUT`:idx: - `mysql.html#293 `_ - - `CLIENT_NO_SCHEMA`:idx: - `mysql.html#160 `_ - - `CLIENT_ODBC`:idx: - `mysql.html#162 `_ - - `CLIENT_PROTOCOL_41`:idx: - `mysql.html#165 `_ - - `CLIENT_REMEMBER_OPTIONS`:idx: - `mysql.html#174 `_ - - `CLIENT_RESERVED`:idx: - `mysql.html#170 `_ - - `CLIENT_SECURE_CONNECTION`:idx: - `mysql.html#171 `_ - - `CLIENT_SSL`:idx: - `mysql.html#167 `_ - - `CLIENT_TRANSACTIONS`:idx: - `mysql.html#169 `_ - - `cloneNode`:idx: - `xmldom.html#167 `_ - - `clong`:idx: - `system.html#426 `_ - - `clongdouble`:idx: - `system.html#430 `_ - - `clonglong`:idx: - `system.html#427 `_ - - `Close`:idx: - * `system.html#560 `_ - * `db_postgres.html#117 `_ - * `db_mysql.html#116 `_ - * `db_sqlite.html#117 `_ - - `close`:idx: - * `inboxes.html#110 `_ - * `sockets.html#125 `_ - * `channels.html#106 `_ - * `osproc.html#108 `_ - * `lexbase.html#105 `_ - * `parsecfg.html#105 `_ - * `parsexml.html#108 `_ - * `parsecsv.html#109 `_ - * `streams.html#104 `_ - * `streams.html#105 `_ - * `zipfiles.html#103 `_ - * `httpserver.html#107 `_ - * `smtp.html#107 `_ - * `ssl.html#105 `_ - * `json.html#106 `_ - * `scgi.html#107 `_ - * `zmq.html#159 `_ - * `zmq.html#173 `_ - * `sphinx.html#159 `_ - * `encodings.html#106 `_ - * `irc.html#112 `_ - * `ftpclient.html#122 `_ - * `memfiles.html#105 `_ - * `asyncio.html#109 `_ - - `closure`:idx: - `manual.html#183 `_ - - `cmdLineRest`:idx: - `parseopt.html#105 `_ - - `cmp`:idx: - * `system.html#377 `_ - * `system.html#378 `_ - - `cmpIgnoreCase`:idx: - `strutils.html#115 `_ - - `cmpIgnoreStyle`:idx: - `strutils.html#116 `_ - - `cmpPaths`:idx: - `os.html#139 `_ - - `cmpRunesIgnoreCase`:idx: - `unicode.html#120 `_ - - `code`:idx: - * `xmlgen.html#120 `_ - * `htmlgen.html#120 `_ - - `col`:idx: - * `xmlgen.html#121 `_ - * `htmlgen.html#121 `_ - - `colAliceBlue`:idx: - `colors.html#108 `_ - - `colAntiqueWhite`:idx: - `colors.html#109 `_ - - `colAqua`:idx: - `colors.html#110 `_ - - `colAquamarine`:idx: - `colors.html#111 `_ - - `colAzure`:idx: - `colors.html#112 `_ - - `colBeige`:idx: - `colors.html#113 `_ - - `colBisque`:idx: - `colors.html#114 `_ - - `colBlack`:idx: - `colors.html#115 `_ - - `colBlanchedAlmond`:idx: - `colors.html#116 `_ - - `colBlue`:idx: - `colors.html#117 `_ - - `colBlueViolet`:idx: - `colors.html#118 `_ - - `colBrown`:idx: - `colors.html#119 `_ - - `colBurlyWood`:idx: - `colors.html#120 `_ - - `colCadetBlue`:idx: - `colors.html#121 `_ - - `colChartreuse`:idx: - `colors.html#122 `_ - - `colChocolate`:idx: - `colors.html#123 `_ - - `colCoral`:idx: - `colors.html#124 `_ - - `colCornflowerBlue`:idx: - `colors.html#125 `_ - - `colCornsilk`:idx: - `colors.html#126 `_ - - `colCrimson`:idx: - `colors.html#127 `_ - - `colCyan`:idx: - `colors.html#128 `_ - - `colDarkBlue`:idx: - `colors.html#129 `_ - - `colDarkCyan`:idx: - `colors.html#130 `_ - - `colDarkGoldenRod`:idx: - `colors.html#131 `_ - - `colDarkGray`:idx: - `colors.html#132 `_ - - `colDarkGreen`:idx: - `colors.html#133 `_ - - `colDarkKhaki`:idx: - `colors.html#134 `_ - - `colDarkMagenta`:idx: - `colors.html#135 `_ - - `colDarkOliveGreen`:idx: - `colors.html#136 `_ - - `colDarkorange`:idx: - `colors.html#137 `_ - - `colDarkOrchid`:idx: - `colors.html#138 `_ - - `colDarkRed`:idx: - `colors.html#139 `_ - - `colDarkSalmon`:idx: - `colors.html#140 `_ - - `colDarkSeaGreen`:idx: - `colors.html#141 `_ - - `colDarkSlateBlue`:idx: - `colors.html#142 `_ - - `colDarkSlateGray`:idx: - `colors.html#143 `_ - - `colDarkTurquoise`:idx: - `colors.html#144 `_ - - `colDarkViolet`:idx: - `colors.html#145 `_ - - `colDeepPink`:idx: - `colors.html#146 `_ - - `colDeepSkyBlue`:idx: - `colors.html#147 `_ - - `colDimGray`:idx: - `colors.html#148 `_ - - `colDodgerBlue`:idx: - `colors.html#149 `_ - - `colFireBrick`:idx: - `colors.html#150 `_ - - `colFloralWhite`:idx: - `colors.html#151 `_ - - `colForestGreen`:idx: - `colors.html#152 `_ - - `colFuchsia`:idx: - `colors.html#153 `_ - - `colGainsboro`:idx: - `colors.html#154 `_ - - `colGhostWhite`:idx: - `colors.html#155 `_ - - `colGold`:idx: - `colors.html#156 `_ - - `colGoldenRod`:idx: - `colors.html#157 `_ - - `colGray`:idx: - `colors.html#158 `_ - - `colGreen`:idx: - `colors.html#159 `_ - - `colGreenYellow`:idx: - `colors.html#160 `_ - - `colgroup`:idx: - * `xmlgen.html#122 `_ - * `htmlgen.html#122 `_ - - `colHoneyDew`:idx: - `colors.html#161 `_ - - `colHotPink`:idx: - `colors.html#162 `_ - - `colIndianRed`:idx: - `colors.html#163 `_ - - `colIndigo`:idx: - `colors.html#164 `_ - - `colIvory`:idx: - `colors.html#165 `_ - - `colKhaki`:idx: - `colors.html#166 `_ - - `colLavender`:idx: - `colors.html#167 `_ - - `colLavenderBlush`:idx: - `colors.html#168 `_ - - `colLawnGreen`:idx: - `colors.html#169 `_ - - `colLemonChiffon`:idx: - `colors.html#170 `_ - - `colLightBlue`:idx: - `colors.html#171 `_ - - `colLightCoral`:idx: - `colors.html#172 `_ - - `colLightCyan`:idx: - `colors.html#173 `_ - - `colLightGoldenRodYellow`:idx: - `colors.html#174 `_ - - `colLightGreen`:idx: - `colors.html#176 `_ - - `colLightGrey`:idx: - `colors.html#175 `_ - - `colLightPink`:idx: - `colors.html#177 `_ - - `colLightSalmon`:idx: - `colors.html#178 `_ - - `colLightSeaGreen`:idx: - `colors.html#179 `_ - - `colLightSkyBlue`:idx: - `colors.html#180 `_ - - `colLightSlateGray`:idx: - `colors.html#181 `_ - - `colLightSteelBlue`:idx: - `colors.html#182 `_ - - `colLightYellow`:idx: - `colors.html#183 `_ - - `colLime`:idx: - `colors.html#184 `_ - - `colLimeGreen`:idx: - `colors.html#185 `_ - - `colLinen`:idx: - `colors.html#186 `_ - - `colMagenta`:idx: - `colors.html#187 `_ - - `colMaroon`:idx: - `colors.html#188 `_ - - `colMediumAquaMarine`:idx: - `colors.html#189 `_ - - `colMediumBlue`:idx: - `colors.html#190 `_ - - `colMediumOrchid`:idx: - `colors.html#191 `_ - - `colMediumPurple`:idx: - `colors.html#192 `_ - - `colMediumSeaGreen`:idx: - `colors.html#193 `_ - - `colMediumSlateBlue`:idx: - `colors.html#194 `_ - - `colMediumSpringGreen`:idx: - `colors.html#195 `_ - - `colMediumTurquoise`:idx: - `colors.html#196 `_ - - `colMediumVioletRed`:idx: - `colors.html#197 `_ - - `colMidnightBlue`:idx: - `colors.html#198 `_ - - `colMintCream`:idx: - `colors.html#199 `_ - - `colMistyRose`:idx: - `colors.html#200 `_ - - `colMoccasin`:idx: - `colors.html#201 `_ - - `colNavajoWhite`:idx: - `colors.html#202 `_ - - `colNavy`:idx: - `colors.html#203 `_ - - `colOldLace`:idx: - `colors.html#204 `_ - - `colOlive`:idx: - `colors.html#205 `_ - - `colOliveDrab`:idx: - `colors.html#206 `_ - - `colOrange`:idx: - `colors.html#207 `_ - - `colOrangeRed`:idx: - `colors.html#208 `_ - - `colOrchid`:idx: - `colors.html#209 `_ - - `colPaleGoldenRod`:idx: - `colors.html#210 `_ - - `colPaleGreen`:idx: - `colors.html#211 `_ - - `colPaleTurquoise`:idx: - `colors.html#212 `_ - - `colPaleVioletRed`:idx: - `colors.html#213 `_ - - `colPapayaWhip`:idx: - `colors.html#214 `_ - - `colPeachPuff`:idx: - `colors.html#215 `_ - - `colPeru`:idx: - `colors.html#216 `_ - - `colPink`:idx: - `colors.html#217 `_ - - `colPlum`:idx: - `colors.html#218 `_ - - `colPowderBlue`:idx: - `colors.html#219 `_ - - `colPurple`:idx: - `colors.html#220 `_ - - `colRed`:idx: - `colors.html#221 `_ - - `colRosyBrown`:idx: - `colors.html#222 `_ - - `colRoyalBlue`:idx: - `colors.html#223 `_ - - `colSaddleBrown`:idx: - `colors.html#224 `_ - - `colSalmon`:idx: - `colors.html#225 `_ - - `colSandyBrown`:idx: - `colors.html#226 `_ - - `colSeaGreen`:idx: - `colors.html#227 `_ - - `colSeaShell`:idx: - `colors.html#228 `_ - - `colSienna`:idx: - `colors.html#229 `_ - - `colSilver`:idx: - `colors.html#230 `_ - - `colSkyBlue`:idx: - `colors.html#231 `_ - - `colSlateBlue`:idx: - `colors.html#232 `_ - - `colSlateGray`:idx: - `colors.html#233 `_ - - `colSnow`:idx: - `colors.html#234 `_ - - `colSpringGreen`:idx: - `colors.html#235 `_ - - `colSteelBlue`:idx: - `colors.html#236 `_ - - `colTan`:idx: - `colors.html#237 `_ - - `colTeal`:idx: - `colors.html#238 `_ - - `colThistle`:idx: - `colors.html#239 `_ - - `colTomato`:idx: - `colors.html#240 `_ - - `colTurquoise`:idx: - `colors.html#241 `_ - - `colViolet`:idx: - `colors.html#242 `_ - - `colWheat`:idx: - `colors.html#243 `_ - - `colWhite`:idx: - `colors.html#244 `_ - - `colWhiteSmoke`:idx: - `colors.html#245 `_ - - `colYellow`:idx: - `colors.html#246 `_ - - `colYellowGreen`:idx: - `colors.html#247 `_ - - `comma separated value`:idx: - `parsecsv.html#102 `_ - - `command line argument`:idx: - `os.html#176 `_ - - `command line arguments`:idx: - `os.html#174 `_ - - `comment pieces`:idx: - `manual.html#115 `_ - - `CommentNode`:idx: - `xmldom.html#122 `_ - - `Comments`:idx: - * `manual.html#114 `_ - * `tut1.html#102 `_ - - `commonAttr`:idx: - * `xmlgen.html#105 `_ - * `htmlgen.html#105 `_ - - `COMP_HEADER_SIZE`:idx: - `mysql.html#266 `_ - - `compilation cache`:idx: - `intern.html#101 `_ - - `compile`:idx: - `nimrodc.html#111 `_ - - `CompileDate`:idx: - `system.html#392 `_ - - `compileOption`:idx: - * `system.html#402 `_ - * `system.html#403 `_ - - `CompileTime`:idx: - `system.html#393 `_ - - `compileTime`:idx: - `manual.html#255 `_ - - `complex statements`:idx: - `manual.html#192 `_ - - `concat`:idx: - `sequtils.html#102 `_ - - `configGet`:idx: - `redis.html#206 `_ - - `configResetStat`:idx: - `redis.html#208 `_ - - `configSet`:idx: - `redis.html#207 `_ - - `connect`:idx: - * `sockets.html#132 `_ - * `sockets.html#152 `_ - * `smtp.html#104 `_ - * `ssl.html#102 `_ - * `zmq.html#163 `_ - * `irc.html#113 `_ - * `irc.html#118 `_ - * `ftpclient.html#110 `_ - * `asyncio.html#108 `_ - - `connectAsync`:idx: - `sockets.html#133 `_ - - `constant expressions`:idx: - `manual.html#108 `_ - - `Constants`:idx: - * `manual.html#200 `_ - * `tut1.html#103 `_ - - `contains`:idx: - * `re.html#121 `_ - * `re.html#122 `_ - * `system.html#144 `_ - * `system.html#371 `_ - * `system.html#515 `_ - * `strutils.html#152 `_ - * `strutils.html#153 `_ - * `strutils.html#154 `_ - * `pegs.html#158 `_ - * `pegs.html#159 `_ - * `sets.html#105 `_ - * `sets.html#116 `_ - * `lists.html#131 `_ - * `lists.html#132 `_ - * `lists.html#133 `_ - * `lists.html#134 `_ - * `intsets.html#102 `_ - * `critbits.html#104 `_ - - `containsHandler`:idx: - `events.html#108 `_ - - `containsOrIncl`:idx: - * `sets.html#108 `_ - * `sets.html#118 `_ - * `intsets.html#105 `_ - * `critbits.html#106 `_ - * `critbits.html#107 `_ - - `continue`:idx: - `manual.html#217 `_ - - `convert`:idx: - * `encodings.html#107 `_ - * `encodings.html#108 `_ - - `converter`:idx: - `manual.html#189 `_ - - `copy`:idx: - * `system.html#441 `_ - * `system.html#442 `_ - * `json.html#137 `_ - - `copyDir`:idx: - `os.html#164 `_ - - `copyFile`:idx: - `os.html#143 `_ - - `copyMem`:idx: - `system.html#448 `_ - - `copyNimNode`:idx: - `macros.html#137 `_ - - `copyNimTree`:idx: - `macros.html#138 `_ - - `coreAttr`:idx: - * `xmlgen.html#103 `_ - * `htmlgen.html#103 `_ - - `cos`:idx: - * `math.html#129 `_ - * `complex.html#126 `_ - - `cosh`:idx: - * `math.html#130 `_ - * `complex.html#133 `_ - - `cot`:idx: - `complex.html#129 `_ - - `countBits32`:idx: - `math.html#112 `_ - - `countdown`:idx: - `system.html#479 `_ - - `countLines`:idx: - `strutils.html#123 `_ - - `countProcessors`:idx: - `osproc.html#119 `_ - - `countup`:idx: - `system.html#480 `_ - - `cpuEndian`:idx: - `system.html#398 `_ - - `cpuTime`:idx: - `times.html#116 `_ - - `create`:idx: - `sphinx.html#151 `_ - - `createActorPool`:idx: - `actors.html#116 `_ - - `createAttribute`:idx: - `xmldom.html#142 `_ - - `createAttributeNS`:idx: - `xmldom.html#143 `_ - - `createCDATASection`:idx: - `xmldom.html#144 `_ - - `createComment`:idx: - `xmldom.html#145 `_ - - `createDir`:idx: - * `os.html#163 `_ - * `zipfiles.html#104 `_ - * `ftpclient.html#116 `_ - - `createDocument`:idx: - * `xmldom.html#137 `_ - * `xmldom.html#138 `_ - - `createDocumentFragment`:idx: - `xmldom.html#146 `_ - - `createElement`:idx: - `xmldom.html#147 `_ - - `createElementNS`:idx: - `xmldom.html#148 `_ - - `createMessage`:idx: - * `smtp.html#108 `_ - * `smtp.html#109 `_ - - `createProcessingInstruction`:idx: - `xmldom.html#149 `_ - - `create_random_string`:idx: - `mysql.html#269 `_ - - `createSdlColor`:idx: - `graphics.html#108 `_ - - `createTextNode`:idx: - `xmldom.html#150 `_ - - `createThread`:idx: - `threads.html#106 `_ - - `crit bit tree`:idx: - `critbits.html#101 `_ - - `cross compile`:idx: - `nimrodc.html#106 `_ - - `csc`:idx: - `complex.html#131 `_ - - `cschar`:idx: - `system.html#423 `_ - - `cshort`:idx: - `system.html#424 `_ - - `cstring`:idx: - * `manual.html#162 `_ - * `system.html#112 `_ - - `cstringArray`:idx: - `system.html#431 `_ - - `cstringArrayToSeq`:idx: - * `system.html#590 `_ - * `system.html#591 `_ - - `CSV`:idx: - `parsecsv.html#101 `_ - - `cuint`:idx: - `mysql.html#109 `_ - - `CurDir`:idx: - `os.html#101 `_ - - `CURLAUTH_ANY`:idx: - `libcurl.html#192 `_ - - `CURLAUTH_ANYSAFE`:idx: - `libcurl.html#194 `_ - - `CURLAUTH_BASIC`:idx: - `libcurl.html#193 `_ - - `CURLAUTH_DIGEST`:idx: - `libcurl.html#195 `_ - - `CURLAUTH_GSSNEGOTIATE`:idx: - `libcurl.html#196 `_ - - `CURLAUTH_NONE`:idx: - `libcurl.html#197 `_ - - `CURLAUTH_NTLM`:idx: - `libcurl.html#198 `_ - - `CURLE_ALREADY_COMPLETE`:idx: - `libcurl.html#199 `_ - - `curl_easy_cleanup`:idx: - `libcurl.html#304 `_ - - `curl_easy_duphandle`:idx: - `libcurl.html#306 `_ - - `curl_easy_escape`:idx: - `libcurl.html#284 `_ - - `curl_easy_getinfo`:idx: - `libcurl.html#305 `_ - - `curl_easy_init`:idx: - `libcurl.html#301 `_ - - `curl_easy_perform`:idx: - `libcurl.html#303 `_ - - `curl_easy_reset`:idx: - `libcurl.html#307 `_ - - `curl_easy_setopt`:idx: - `libcurl.html#302 `_ - - `curl_easy_strerror`:idx: - `libcurl.html#299 `_ - - `curl_easy_unescape`:idx: - `libcurl.html#286 `_ - - `CURLE_FTP_BAD_DOWNLOAD_RESUME`:idx: - `libcurl.html#200 `_ - - `CURLE_FTP_PARTIAL_FILE`:idx: - `libcurl.html#201 `_ - - `CURLE_HTTP_NOT_FOUND`:idx: - `libcurl.html#202 `_ - - `CURLE_HTTP_PORT_FAILED`:idx: - `libcurl.html#203 `_ - - `CURLE_OPERATION_TIMEDOUT`:idx: - `libcurl.html#204 `_ - - `CURL_ERROR_SIZE`:idx: - `libcurl.html#205 `_ - - `curl_escape`:idx: - `libcurl.html#285 `_ - - `curl_formadd`:idx: - `libcurl.html#279 `_ - - `CURL_FORMAT_OFF_T`:idx: - `libcurl.html#206 `_ - - `curl_formfree`:idx: - `libcurl.html#281 `_ - - `curl_formget`:idx: - `libcurl.html#280 `_ - - `curl_free`:idx: - `libcurl.html#288 `_ - - `curl_getdate`:idx: - `libcurl.html#294 `_ - - `curl_getenv`:idx: - `libcurl.html#282 `_ - - `CURL_GLOBAL_ALL`:idx: - `libcurl.html#210 `_ - - `curl_global_cleanup`:idx: - `libcurl.html#291 `_ - - `CURL_GLOBAL_DEFAULT`:idx: - `libcurl.html#211 `_ - - `curl_global_init`:idx: - `libcurl.html#289 `_ - - `curl_global_init_mem`:idx: - `libcurl.html#290 `_ - - `CURL_GLOBAL_NOTHING`:idx: - `libcurl.html#207 `_ - - `CURL_GLOBAL_SSL`:idx: - `libcurl.html#208 `_ - - `CURL_GLOBAL_WIN32`:idx: - `libcurl.html#209 `_ - - `CURLINFO_DOUBLE`:idx: - `libcurl.html#212 `_ - - `CURLINFO_HTTP_CODE`:idx: - `libcurl.html#213 `_ - - `CURLINFO_LONG`:idx: - `libcurl.html#214 `_ - - `CURLINFO_MASK`:idx: - `libcurl.html#215 `_ - - `CURLINFO_SLIST`:idx: - `libcurl.html#216 `_ - - `CURLINFO_STRING`:idx: - `libcurl.html#217 `_ - - `CURLINFO_TYPEMASK`:idx: - `libcurl.html#218 `_ - - `CURL_IPRESOLVE_V4`:idx: - `libcurl.html#219 `_ - - `CURL_IPRESOLVE_V6`:idx: - `libcurl.html#220 `_ - - `CURL_IPRESOLVE_WHATEVER`:idx: - `libcurl.html#221 `_ - - `CURL_MAX_WRITE_SIZE`:idx: - `libcurl.html#222 `_ - - `CURLM_CALL_MULTI_SOCKET`:idx: - `libcurl.html#223 `_ - - `curl_multi_add_handle`:idx: - `libcurl.html#309 `_ - - `curl_multi_assign`:idx: - `libcurl.html#320 `_ - - `curl_multi_cleanup`:idx: - `libcurl.html#313 `_ - - `curl_multi_fdset`:idx: - `libcurl.html#311 `_ - - `curl_multi_info_read`:idx: - `libcurl.html#314 `_ - - `curl_multi_init`:idx: - `libcurl.html#308 `_ - - `curl_multi_perform`:idx: - `libcurl.html#312 `_ - - `curl_multi_remove_handle`:idx: - `libcurl.html#310 `_ - - `curl_multi_setopt`:idx: - `libcurl.html#319 `_ - - `curl_multi_socket`:idx: - `libcurl.html#316 `_ - - `curl_multi_socket_all`:idx: - `libcurl.html#317 `_ - - `curl_multi_strerror`:idx: - `libcurl.html#315 `_ - - `curl_multi_timeout`:idx: - `libcurl.html#318 `_ - - `CURLOPT_CLOSEFUNCTION`:idx: - `libcurl.html#224 `_ - - `CURLOPT_FTPASCII`:idx: - `libcurl.html#225 `_ - - `CURLOPT_HEADERDATA`:idx: - `libcurl.html#226 `_ - - `CURLOPT_HTTPREQUEST`:idx: - `libcurl.html#227 `_ - - `CURLOPT_MUTE`:idx: - `libcurl.html#228 `_ - - `CURLOPT_PASSWDDATA`:idx: - `libcurl.html#229 `_ - - `CURLOPT_PASSWDFUNCTION`:idx: - `libcurl.html#230 `_ - - `CURLOPT_PASV_HOST`:idx: - `libcurl.html#231 `_ - - `CURLOPT_READDATA`:idx: - `libcurl.html#232 `_ - - `CURLOPT_SOURCE_HOST`:idx: - `libcurl.html#233 `_ - - `CURLOPT_SOURCE_PATH`:idx: - `libcurl.html#234 `_ - - `CURLOPT_SOURCE_PORT`:idx: - `libcurl.html#235 `_ - - `CURLOPT_SSLKEYPASSWD`:idx: - `libcurl.html#191 `_ - - `CURLOPTTYPE_FUNCTIONPOINT`:idx: - `libcurl.html#236 `_ - - `CURLOPTTYPE_LONG`:idx: - `libcurl.html#237 `_ - - `CURLOPTTYPE_OBJECTPOINT`:idx: - `libcurl.html#238 `_ - - `CURLOPTTYPE_OFF_T`:idx: - `libcurl.html#239 `_ - - `CURLOPT_WRITEDATA`:idx: - `libcurl.html#240 `_ - - `CURL_POLL_IN`:idx: - `libcurl.html#241 `_ - - `CURL_POLL_INOUT`:idx: - `libcurl.html#242 `_ - - `CURL_POLL_NONE`:idx: - `libcurl.html#243 `_ - - `CURL_POLL_OUT`:idx: - `libcurl.html#244 `_ - - `CURL_POLL_REMOVE`:idx: - `libcurl.html#245 `_ - - `CURL_READFUNC_ABORT`:idx: - `libcurl.html#246 `_ - - `curl_share_cleanup`:idx: - `libcurl.html#297 `_ - - `curl_share_init`:idx: - `libcurl.html#295 `_ - - `curl_share_setopt`:idx: - `libcurl.html#296 `_ - - `curl_share_strerror`:idx: - `libcurl.html#300 `_ - - `curl_slist_append`:idx: - `libcurl.html#292 `_ - - `curl_slist_free_all`:idx: - `libcurl.html#293 `_ - - `CURL_SOCKET_BAD`:idx: - `libcurl.html#247 `_ - - `CURL_SOCKET_TIMEOUT`:idx: - `libcurl.html#248 `_ - - `curl_strequal`:idx: - `libcurl.html#277 `_ - - `curl_strnequal`:idx: - `libcurl.html#278 `_ - - `curl_unescape`:idx: - `libcurl.html#287 `_ - - `curl_version`:idx: - `libcurl.html#283 `_ - - `CURL_VERSION_ASYNCHDNS`:idx: - `libcurl.html#249 `_ - - `CURL_VERSION_CONV`:idx: - `libcurl.html#250 `_ - - `CURL_VERSION_DEBUG`:idx: - `libcurl.html#251 `_ - - `CURL_VERSION_GSSNEGOTIATE`:idx: - `libcurl.html#252 `_ - - `CURL_VERSION_IDN`:idx: - `libcurl.html#253 `_ - - `curl_version_info`:idx: - `libcurl.html#298 `_ - - `CURL_VERSION_IPV6`:idx: - `libcurl.html#254 `_ - - `CURL_VERSION_KERBEROS4`:idx: - `libcurl.html#255 `_ - - `CURL_VERSION_LARGEFILE`:idx: - `libcurl.html#256 `_ - - `CURL_VERSION_LIBZ`:idx: - `libcurl.html#257 `_ - - `CURLVERSION_NOW`:idx: - `libcurl.html#258 `_ - - `CURL_VERSION_NTLM`:idx: - `libcurl.html#259 `_ - - `CURL_VERSION_SPNEGO`:idx: - `libcurl.html#260 `_ - - `CURL_VERSION_SSL`:idx: - `libcurl.html#261 `_ - - `CURL_VERSION_SSPI`:idx: - `libcurl.html#262 `_ - - `current working directory`:idx: - * `os.html#122 `_ - * `os.html#124 `_ - - `CursorBackward`:idx: - `terminal.html#107 `_ - - `CursorDown`:idx: - `terminal.html#105 `_ - - `CursorForward`:idx: - `terminal.html#106 `_ - - `CursorUp`:idx: - `terminal.html#104 `_ - - `cut`:idx: - `system.html#444 `_ - - `dangling else problem`:idx: - `manual.html#193 `_ - - `dbError`:idx: - * `db_postgres.html#107 `_ - * `db_mysql.html#106 `_ - * `db_sqlite.html#107 `_ - - `dbgLineHook`:idx: - `system.html#542 `_ - - `dbsize`:idx: - `redis.html#209 `_ - - `dd`:idx: - * `xmlgen.html#123 `_ - * `htmlgen.html#123 `_ - - `deadCodeElim`:idx: - `manual.html#274 `_ - - `deadlocksPrevented`:idx: - `locks.html#104 `_ - - `DEALER`:idx: - `zmq.html#127 `_ - - `dealloc`:idx: - `system.html#454 `_ - - `deallocCStringArray`:idx: - `system.html#593 `_ - - `deallocShared`:idx: - `system.html#458 `_ - - `debug build`:idx: - `nimrodc.html#101 `_ - - `debugger`:idx: - `nimrodc.html#123 `_ - - `debugObject`:idx: - `redis.html#210 `_ - - `debugSegfault`:idx: - `redis.html#211 `_ - - `dec`:idx: - `system.html#187 `_ - - `decode`:idx: - `base64.html#102 `_ - - `decodeData`:idx: - * `cgi.html#107 `_ - * `cgi.html#108 `_ - - `decodeURI`:idx: - `dom.html#135 `_ - - `decodeURIComponent`:idx: - `dom.html#139 `_ - - `decr`:idx: - `redis.html#123 `_ - - `decrBy`:idx: - `redis.html#124 `_ - - `defaultFont`:idx: - `graphics.html#112 `_ - - `defined`:idx: - `system.html#121 `_ - - `definedInScope`:idx: - `system.html#122 `_ - - `DeinitCond`:idx: - `locks.html#111 `_ - - `DeinitLock`:idx: - `locks.html#106 `_ - - `del`:idx: - * `xmlgen.html#124 `_ - * `macros.html#122 `_ - * `system.html#415 `_ - * `htmlgen.html#124 `_ - * `redis.html#110 `_ - * `tables.html#113 `_ - - `delete`:idx: - * `system.html#416 `_ - * `strutils.html#158 `_ - * `json.html#136 `_ - - `dequeue`:idx: - `queues.html#107 `_ - - `destroy`:idx: - `sphinx.html#153 `_ - - `device`:idx: - `zmq.html#167 `_ - - `dfn`:idx: - * `xmlgen.html#125 `_ - * `htmlgen.html#125 `_ - - `Digits`:idx: - `strutils.html#104 `_ - - `digits`:idx: - `pegs.html#138 `_ - - `directory`:idx: - `os.html#162 `_ - - `DirSep`:idx: - `os.html#103 `_ - - `disableCache`:idx: - `ropes.html#108 `_ - - `discard`:idx: - `manual.html#194 `_ - - `discardable`:idx: - `manual.html#195 `_ - - `discardMulti`:idx: - `redis.html#194 `_ - - `distnct`:idx: - `sequtils.html#103 `_ - - `div`:idx: - * `xmlgen.html#126 `_ - * `system.html#238 `_ - * `system.html#239 `_ - * `system.html#240 `_ - * `system.html#241 `_ - * `system.html#242 `_ - * `htmlgen.html#126 `_ - - `dl`:idx: - * `xmlgen.html#127 `_ - * `htmlgen.html#127 `_ - - `DLL`:idx: - * `nimrodc.html#107 `_ - * `os.html#109 `_ - - `doAssert`:idx: - `system.html#635 `_ - - `document`:idx: - `dom.html#132 `_ - - `documentElement`:idx: - `xmldom.html#141 `_ - - `DocumentFragmentNode`:idx: - `xmldom.html#124 `_ - - `DocumentNode`:idx: - `xmldom.html#123 `_ - - `domain specific languages`:idx: - `manual.html#241 `_ - - `downloadFile`:idx: - `httpclient.html#110 `_ - - `DOWNSTREAM`:idx: - `zmq.html#136 `_ - - `drawCircle`:idx: - `graphics.html#124 `_ - - `drawEllipse`:idx: - `graphics.html#131 `_ - - `drawHorLine`:idx: - `graphics.html#126 `_ - - `drawLine`:idx: - `graphics.html#125 `_ - - `drawLineAA`:idx: - `graphics.html#132 `_ - - `drawRect`:idx: - `graphics.html#129 `_ - - `drawText`:idx: - * `graphics.html#122 `_ - * `graphics.html#123 `_ - - `drawVerLine`:idx: - `graphics.html#127 `_ - - `dt`:idx: - * `xmlgen.html#128 `_ - * `htmlgen.html#128 `_ - - `duff's device`:idx: - `c2nim.html#101 `_ - - `dumpLisp`:idx: - `macros.html#162 `_ - - `dumpTree`:idx: - `macros.html#161 `_ - - `dynamic type`:idx: - `manual.html#104 `_ - - `DYNAMIC_ARRAY`:idx: - `mysql.html#340 `_ - - `dynlib`:idx: - `manual.html#280 `_ - - `DynlibFormat`:idx: - `os.html#111 `_ - - `E`:idx: - `math.html#102 `_ - - `EAccessViolation`:idx: - `system.html#161 `_ - - `each`:idx: - * `system.html#517 `_ - * `system.html#518 `_ - - `EADDRINUSE`:idx: - `zmq.html#107 `_ - - `EADDRNOTAVAIL`:idx: - `zmq.html#108 `_ - - `EArithmetic`:idx: - `system.html#158 `_ - - `EAssertionFailed`:idx: - `system.html#162 `_ - - `EAsynch`:idx: - `system.html#151 `_ - - `E_Base`:idx: - `system.html#150 `_ - - `ECgi`:idx: - `cgi.html#104 `_ - - `echo`:idx: - `system.html#548 `_ - - `echoServ`:idx: - `redis.html#200 `_ - - `ECONNREFUSED`:idx: - `zmq.html#109 `_ - - `EControlC`:idx: - `system.html#163 `_ - - `EDb`:idx: - * `db_postgres.html#104 `_ - * `db_mysql.html#104 `_ - * `db_sqlite.html#104 `_ - - `EDeadThread`:idx: - `system.html#180 `_ - - `editDistance`:idx: - `strutils.html#166 `_ - - `EDivByZero`:idx: - `system.html#159 `_ - - `EDOMException`:idx: - `xmldom.html#101 `_ - - `EDOMStringSizeErr`:idx: - `xmldom.html#102 `_ - - `EFloatDivByZero`:idx: - * `manual.html#148 `_ - * `system.html#176 `_ - - `EFloatInexact`:idx: - * `manual.html#151 `_ - * `system.html#179 `_ - - `EFloatingPoint`:idx: - * `manual.html#152 `_ - * `system.html#174 `_ - - `EFloatInvalidOp`:idx: - * `manual.html#147 `_ - * `system.html#175 `_ - - `EFloatOverflow`:idx: - * `manual.html#149 `_ - * `system.html#177 `_ - - `EFloatUnderflow`:idx: - * `manual.html#150 `_ - * `system.html#178 `_ - - `EFSM`:idx: - `zmq.html#111 `_ - - `EFTP`:idx: - `ftpclient.html#107 `_ - - `EGraphics`:idx: - `graphics.html#105 `_ - - `EHierarchyRequestErr`:idx: - `xmldom.html#103 `_ - - `EHttpRequestErr`:idx: - `httpclient.html#103 `_ - - `EIndexSizeErr`:idx: - `xmldom.html#104 `_ - - `EINPROGRESS`:idx: - `zmq.html#110 `_ - - `EInuseAttributeErr`:idx: - `xmldom.html#105 `_ - - `EInvalidAccessErr`:idx: - `xmldom.html#106 `_ - - `EInvalidCharacterErr`:idx: - `xmldom.html#107 `_ - - `EInvalidCsv`:idx: - `parsecsv.html#105 `_ - - `EInvalidEncoding`:idx: - `encodings.html#103 `_ - - `EInvalidEvent`:idx: - `events.html#104 `_ - - `EInvalidField`:idx: - `system.html#168 `_ - - `EInvalidIndex`:idx: - `system.html#167 `_ - - `EInvalidKey`:idx: - `system.html#165 `_ - - `EInvalidLibrary`:idx: - `system.html#156 `_ - - `EInvalidModificationErr`:idx: - `xmldom.html#108 `_ - - `EInvalidObjectAssignment`:idx: - `system.html#172 `_ - - `EInvalidObjectConversion`:idx: - `system.html#173 `_ - - `EInvalidPeg`:idx: - `pegs.html#168 `_ - - `EInvalidProtocol`:idx: - `httpclient.html#102 `_ - - `EInvalidRegEx`:idx: - * `regexprs.html#104 `_ - * `re.html#107 `_ - - `EInvalidReply`:idx: - * `smtp.html#103 `_ - * `redis.html#107 `_ - * `ftpclient.html#106 `_ - - `EInvalidSql`:idx: - `parsesql.html#103 `_ - - `EInvalidStateErr`:idx: - `xmldom.html#109 `_ - - `EInvalidSubex`:idx: - `subexes.html#105 `_ - - `EInvalidValue`:idx: - `system.html#164 `_ - - `EInvalidXml`:idx: - `xmlparser.html#101 `_ - - `EIO`:idx: - `system.html#154 `_ - - `EJsonParsingError`:idx: - `json.html#120 `_ - - `elementName`:idx: - `parsexml.html#111 `_ - - `ElementNode`:idx: - `xmldom.html#117 `_ - - `elements`:idx: - `typeinfo.html#145 `_ - - `em`:idx: - * `xmlgen.html#129 `_ - * `htmlgen.html#129 `_ - - `Embedded Nimrod Debugger`:idx: - `endb.html#101 `_ - - `EMismatchedTag`:idx: - `xmldomparser.html#101 `_ - - `emit`:idx: - * `nimrodc.html#113 `_ - * `macros.html#152 `_ - * `events.html#111 `_ - * `events.html#112 `_ - - `EMTHREAD`:idx: - `zmq.html#114 `_ - - `enableCache`:idx: - `ropes.html#107 `_ - - `ENamespaceErr`:idx: - `xmldom.html#110 `_ - - `encode`:idx: - `base64.html#101 `_ - - `encodeURI`:idx: - `dom.html#136 `_ - - `encodeURIComponent`:idx: - `dom.html#140 `_ - - `endAnchor`:idx: - `pegs.html#130 `_ - - `ENDB`:idx: - `endb.html#102 `_ - - `endian`:idx: - `endians.html#101 `_ - - `EndOfFile`:idx: - * `system.html#561 `_ - * `lexbase.html#101 `_ - - `endsWith`:idx: - * `re.html#124 `_ - * `strutils.html#142 `_ - * `pegs.html#161 `_ - - `ENETDOWN`:idx: - `zmq.html#106 `_ - - `ENOBUFS`:idx: - `zmq.html#105 `_ - - `ENOCOMPATPROTO`:idx: - `zmq.html#112 `_ - - `ENoDataAllowedErr`:idx: - `xmldom.html#113 `_ - - `ENOENT`:idx: - `os.html#145 `_ - - `ENoExceptionToReraise`:idx: - * `manual.html#206 `_ - * `system.html#171 `_ - - `ENoModificationAllowedErr`:idx: - `xmldom.html#114 `_ - - `ENotFoundErr`:idx: - `xmldom.html#111 `_ - - `ENOTSUP`:idx: - `zmq.html#103 `_ - - `ENotSupportedErr`:idx: - `xmldom.html#112 `_ - - `enqueue`:idx: - `queues.html#106 `_ - - `entityName`:idx: - `parsexml.html#112 `_ - - `entityToUtf8`:idx: - `htmlparser.html#107 `_ - - `enum_cursor_type`:idx: - `mysql.html#237 `_ - - `Enumeration`:idx: - `manual.html#159 `_ - - `enumeration`:idx: - `tut1.html#113 `_ - - `enum_field_types`:idx: - `mysql.html#202 `_ - - `ENUM_FLAG`:idx: - `mysql.html#132 `_ - - `enum_mysql_set_option`:idx: - `mysql.html#238 `_ - - `enum_mysql_stmt_state`:idx: - `mysql.html#376 `_ - - `enum_server_command`:idx: - `mysql.html#119 `_ - - `enum_stmt_attr_type`:idx: - `mysql.html#383 `_ - - `environment variable`:idx: - * `os.html#149 `_ - * `os.html#152 `_ - - `environments variables`:idx: - `os.html#154 `_ - - `envPairs`:idx: - `os.html#155 `_ - - `EOS`:idx: - `system.html#155 `_ - - `EOutOfMemory`:idx: - `system.html#166 `_ - - `EOutOfRange`:idx: - * `tut1.html#112 `_ - * `system.html#169 `_ - - `EOverflow`:idx: - `system.html#160 `_ - - `EParserError`:idx: - `xmldomparser.html#102 `_ - - `epochTime`:idx: - `times.html#115 `_ - - `EPROTONOSUPPORT`:idx: - `zmq.html#104 `_ - - `equalMem`:idx: - `system.html#450 `_ - - `equalsFile`:idx: - * `ropes.html#122 `_ - * `ropes.html#123 `_ - - `EraseLine`:idx: - `terminal.html#108 `_ - - `EraseScreen`:idx: - `terminal.html#109 `_ - - `ERedis`:idx: - `redis.html#108 `_ - - `EResourceExhausted`:idx: - `system.html#157 `_ - - `errno`:idx: - `zmq.html#146 `_ - - `error`:idx: - * `manual.html#252 `_ - * `manual.html#262 `_ - * `macros.html#139 `_ - * `sphinx.html#154 `_ - - `errorMsg`:idx: - * `parsexml.html#120 `_ - * `parsexml.html#122 `_ - * `json.html#114 `_ - - `errorMsgExpected`:idx: - * `parsexml.html#121 `_ - * `json.html#115 `_ - - `errorStr`:idx: - `parsecfg.html#109 `_ - - `errorStream`:idx: - `osproc.html#118 `_ - - `escape`:idx: - * `manual.html#133 `_ - * `strutils.html#163 `_ - * `xmltree.html#123 `_ - * `dom.html#137 `_ - - `escape sequences`:idx: - `manual.html#120 `_ - - `escapeJson`:idx: - `json.html#138 `_ - - `escapePeg`:idx: - `pegs.html#171 `_ - - `escapeRe`:idx: - `re.html#131 `_ - - `EScgi`:idx: - `scgi.html#101 `_ - - `EStackOverflow`:idx: - `system.html#170 `_ - - `ESynch`:idx: - `system.html#152 `_ - - `ESyntaxErr`:idx: - `xmldom.html#115 `_ - - `ESystem`:idx: - `system.html#153 `_ - - `ETERM`:idx: - `zmq.html#113 `_ - - `ETimeout`:idx: - `sockets.html#109 `_ - - `eval`:idx: - `system.html#642 `_ - - `eventAttr`:idx: - * `xmlgen.html#104 `_ - * `htmlgen.html#104 `_ - - `EWrongDocumentErr`:idx: - `xmldom.html#116 `_ - - `except`:idx: - `manual.html#209 `_ - - `exception handlers`:idx: - `manual.html#208 `_ - - `exceptions`:idx: - `tut2.html#107 `_ - - `excl`:idx: - * `system.html#195 `_ - * `sets.html#107 `_ - * `intsets.html#104 `_ - * `critbits.html#112 `_ - - `exclFilePermissions`:idx: - `os.html#170 `_ - - `Exec`:idx: - * `db_postgres.html#109 `_ - * `db_mysql.html#108 `_ - * `db_sqlite.html#109 `_ - - `exec`:idx: - `redis.html#195 `_ - - `ExecAffectedRows`:idx: - * `db_postgres.html#116 `_ - * `db_mysql.html#115 `_ - * `db_sqlite.html#116 `_ - - `execCmd`:idx: - `osproc.html#105 `_ - - `execCmdEx`:idx: - `osproc.html#122 `_ - - `execProcess`:idx: - `osproc.html#103 `_ - - `execProcesses`:idx: - `osproc.html#120 `_ - - `execShellCmd`:idx: - `os.html#148 `_ - - `ExeExt`:idx: - `os.html#107 `_ - - `exists`:idx: - `redis.html#111 `_ - - `existsCookie`:idx: - `cgi.html#148 `_ - - `existsDir`:idx: - `os.html#117 `_ - - `existsEnv`:idx: - `os.html#151 `_ - - `existsFile`:idx: - `os.html#116 `_ - - `existsKey`:idx: - `json.html#132 `_ - - `exp`:idx: - * `math.html#122 `_ - * `complex.html#119 `_ - - `expandFilename`:idx: - `os.html#136 `_ - - `expectKind`:idx: - `macros.html#153 `_ - - `expectLen`:idx: - `macros.html#155 `_ - - `expectMinLen`:idx: - `macros.html#154 `_ - - `expire`:idx: - `redis.html#112 `_ - - `expireAt`:idx: - `redis.html#113 `_ - - `exportc`:idx: - `manual.html#278 `_ - - `expr`:idx: - `system.html#117 `_ - - `expression macros`:idx: - `tut2.html#111 `_ - - `extendSeq`:idx: - `typeinfo.html#110 `_ - - `extractAll`:idx: - `zipfiles.html#113 `_ - - `extractFile`:idx: - * `zipfiles.html#111 `_ - * `zipfiles.html#112 `_ - - `extractFilename`:idx: - `os.html#135 `_ - - `extractRGB`:idx: - `colors.html#105 `_ - - `ExtSep`:idx: - `os.html#112 `_ - - `EZmq`:idx: - `zmq.html#168 `_ - - `fac`:idx: - `math.html#109 `_ - - `fastcall`:idx: - `manual.html#181 `_ - - `FastRows`:idx: - * `db_postgres.html#110 `_ - * `db_mysql.html#109 `_ - * `db_sqlite.html#110 `_ - - `fastRuneAt`:idx: - `unicode.html#108 `_ - - `fatal`:idx: - `manual.html#263 `_ - - `FFI`:idx: - `manual.html#276 `_ - - `fieldPairs`:idx: - * `system.html#521 `_ - * `system.html#522 `_ - - `fields`:idx: - * `typeinfo.html#118 `_ - * `system.html#519 `_ - * `system.html#520 `_ - - `fieldset`:idx: - * `xmlgen.html#130 `_ - * `htmlgen.html#130 `_ - - `FIELD_TYPE_BIT`:idx: - `mysql.html#231 `_ - - `FIELD_TYPE_BLOB`:idx: - `mysql.html#225 `_ - - `FIELD_TYPE_CHAR`:idx: - `mysql.html#228 `_ - - `FIELD_TYPE_DATE`:idx: - `mysql.html#215 `_ - - `FIELD_TYPE_DATETIME`:idx: - `mysql.html#217 `_ - - `FIELD_TYPE_DECIMAL`:idx: - `mysql.html#204 `_ - - `FIELD_TYPE_DOUBLE`:idx: - `mysql.html#210 `_ - - `FIELD_TYPE_ENUM`:idx: - `mysql.html#220 `_ - - `FIELD_TYPE_FLOAT`:idx: - `mysql.html#209 `_ - - `FIELD_TYPE_GEOMETRY`:idx: - `mysql.html#230 `_ - - `FIELD_TYPE_INT24`:idx: - `mysql.html#214 `_ - - `FIELD_TYPE_INTERVAL`:idx: - `mysql.html#229 `_ - - `FIELD_TYPE_LONG`:idx: - `mysql.html#208 `_ - - `FIELD_TYPE_LONG_BLOB`:idx: - `mysql.html#224 `_ - - `FIELD_TYPE_LONGLONG`:idx: - `mysql.html#213 `_ - - `FIELD_TYPE_MEDIUM_BLOB`:idx: - `mysql.html#223 `_ - - `FIELD_TYPE_NEWDATE`:idx: - `mysql.html#219 `_ - - `FIELD_TYPE_NEWDECIMAL`:idx: - `mysql.html#205 `_ - - `FIELD_TYPE_NULL`:idx: - `mysql.html#211 `_ - - `FIELD_TYPE_SET`:idx: - `mysql.html#221 `_ - - `FIELD_TYPE_SHORT`:idx: - `mysql.html#207 `_ - - `FIELD_TYPE_STRING`:idx: - `mysql.html#227 `_ - - `FIELD_TYPE_TIME`:idx: - `mysql.html#216 `_ - - `FIELD_TYPE_TIMESTAMP`:idx: - `mysql.html#212 `_ - - `FIELD_TYPE_TINY`:idx: - `mysql.html#206 `_ - - `FIELD_TYPE_TINY_BLOB`:idx: - `mysql.html#222 `_ - - `FIELD_TYPE_VAR_STRING`:idx: - `mysql.html#226 `_ - - `FIELD_TYPE_YEAR`:idx: - `mysql.html#218 `_ - - `fileExists`:idx: - `ftpclient.html#115 `_ - - `fileHandle`:idx: - `system.html#589 `_ - - `fileNewer`:idx: - `os.html#121 `_ - - `FILE_OFFSET_BITS`:idx: - `libcurl.html#263 `_ - - `FILESIZEBITS`:idx: - `libcurl.html#264 `_ - - `FileSystemCaseSensitive`:idx: - `os.html#106 `_ - - `fillCircle`:idx: - `graphics.html#128 `_ - - `fillRect`:idx: - `graphics.html#130 `_ - - `fillSurface`:idx: - `graphics.html#133 `_ - - `filter`:idx: - * `sequtils.html#105 `_ - * `sequtils.html#106 `_ - - `filterIt`:idx: - `sequtils.html#107 `_ - - `final`:idx: - `manual.html#258 `_ - - `finally`:idx: - `manual.html#210 `_ - - `find`:idx: - * `regexprs.html#109 `_ - * `regexprs.html#110 `_ - * `re.html#116 `_ - * `re.html#117 `_ - * `system.html#514 `_ - * `strutils.html#148 `_ - * `strutils.html#149 `_ - * `strutils.html#150 `_ - * `pegs.html#152 `_ - * `pegs.html#154 `_ - * `lists.html#127 `_ - * `lists.html#128 `_ - * `lists.html#129 `_ - * `lists.html#130 `_ - - `findAll`:idx: - * `re.html#118 `_ - * `re.html#119 `_ - * `pegs.html#155 `_ - * `pegs.html#156 `_ - - `findBounds`:idx: - * `re.html#109 `_ - * `re.html#110 `_ - * `re.html#111 `_ - * `pegs.html#153 `_ - - `findExe`:idx: - `os.html#184 `_ - - `firstChild`:idx: - `xmldom.html#154 `_ - - `float`:idx: - `system.html#106 `_ - - `float32`:idx: - `system.html#107 `_ - - `float64`:idx: - `system.html#108 `_ - - `floatChecks`:idx: - `manual.html#155 `_ - - `floatVal`:idx: - `macros.html#125 `_ - - `floatVal=`:idx: - `macros.html#131 `_ - - `floor`:idx: - `math.html#138 `_ - - `flush`:idx: - `streams.html#103 `_ - - `flushall`:idx: - `redis.html#212 `_ - - `flushdb`:idx: - `redis.html#213 `_ - - `FlushFile`:idx: - `system.html#563 `_ - - `for`:idx: - * `manual.html#228 `_ - * `manual.html#270 `_ - * `tut1.html#104 `_ - - `form`:idx: - * `xmlgen.html#131 `_ - * `htmlgen.html#131 `_ - - `form feed`:idx: - `manual.html#124 `_ - - `formatBiggestFloat`:idx: - `strutils.html#168 `_ - - `formatFloat`:idx: - `strutils.html#169 `_ - - `formatSize`:idx: - `strutils.html#170 `_ - - `forward`:idx: - `manual.html#223 `_ - - `forward declaration`:idx: - `tut1.html#106 `_ - - `FORWARDER`:idx: - `zmq.html#120 `_ - - `freeze`:idx: - `nimrodc.html#128 `_ - - `frexp`:idx: - `math.html#123 `_ - - `FTPClient`:idx: - `ftpclient.html#108 `_ - - `FTPEventType`:idx: - `ftpclient.html#104 `_ - - `functional`:idx: - * `manual.html#175 `_ - * `tut1.html#124 `_ - - `FUNCTIONPOINT`:idx: - `libcurl.html#265 `_ - - `functions`:idx: - `manual.html#221 `_ - - `GC_disable`:idx: - `system.html#527 `_ - - `GC_disableMarkAndSweep`:idx: - `system.html#533 `_ - - `GC_enable`:idx: - `system.html#528 `_ - - `GC_enableMarkAndSweep`:idx: - `system.html#532 `_ - - `GC_fullCollect`:idx: - `system.html#529 `_ - - `GC_getStatistics`:idx: - `system.html#534 `_ - - `GC_ref`:idx: - * `system.html#535 `_ - * `system.html#536 `_ - * `system.html#537 `_ - - `GC_setStrategy`:idx: - `system.html#531 `_ - - `GC_unref`:idx: - * `system.html#538 `_ - * `system.html#539 `_ - * `system.html#540 `_ - - `generalized raw string literal`:idx: - `manual.html#137 `_ - - `generatedTime`:idx: - `oids.html#106 `_ - - `generic character types`:idx: - * `regexprs.html#102 `_ - * `re.html#102 `_ - - `Generics`:idx: - * `manual.html#232 `_ - * `tut2.html#109 `_ - - `genOid`:idx: - `oids.html#105 `_ - - `get`:idx: - * `httpclient.html#106 `_ - * `redis.html#125 `_ - - `GetAllRows`:idx: - * `db_postgres.html#111 `_ - * `db_mysql.html#110 `_ - * `db_sqlite.html#111 `_ - - `getAppDir`:idx: - `os.html#181 `_ - - `getAppFilename`:idx: - `os.html#178 `_ - - `getApplicationDir`:idx: - `os.html#180 `_ - - `getApplicationFilename`:idx: - `os.html#179 `_ - - `getAst`:idx: - `macros.html#151 `_ - - `getAttribute`:idx: - `xmldom.html#190 `_ - - `getAttributeNode`:idx: - `xmldom.html#192 `_ - - `getAttributeNodeNS`:idx: - `xmldom.html#193 `_ - - `getAttributeNS`:idx: - `xmldom.html#191 `_ - - `getBiggestFloat`:idx: - `typeinfo.html#139 `_ - - `getBiggestInt`:idx: - `typeinfo.html#128 `_ - - `getBit`:idx: - `redis.html#126 `_ - - `getBool`:idx: - `typeinfo.html#131 `_ - - `getChar`:idx: - `typeinfo.html#130 `_ - - `getClockStr`:idx: - `times.html#120 `_ - - `getColNumber`:idx: - `lexbase.html#107 `_ - - `getColumn`:idx: - * `parsecfg.html#106 `_ - * `parsexml.html#117 `_ - * `json.html#111 `_ - - `getConfigDir`:idx: - `os.html#172 `_ - - `getContent`:idx: - `httpclient.html#107 `_ - - `getContentLength`:idx: - `cgi.html#111 `_ - - `getContentType`:idx: - `cgi.html#112 `_ - - `getCookie`:idx: - `cgi.html#147 `_ - - `getCreationTime`:idx: - `os.html#120 `_ - - `getCString`:idx: - `typeinfo.html#143 `_ - - `getCurrentDir`:idx: - `os.html#123 `_ - - `getCurrentEncoding`:idx: - `encodings.html#104 `_ - - `getCurrentException`:idx: - `system.html#600 `_ - - `getCurrentExceptionMsg`:idx: - `system.html#601 `_ - - `getCurrentLine`:idx: - `lexbase.html#106 `_ - - `getDateStr`:idx: - `times.html#119 `_ - - `getDocumentRoot`:idx: - `cgi.html#113 `_ - - `getDOM`:idx: - `xmldom.html#136 `_ - - `getElementsByTagName`:idx: - * `xmldom.html#151 `_ - * `xmldom.html#194 `_ - - `getElementsByTagNameNS`:idx: - * `xmldom.html#152 `_ - * `xmldom.html#195 `_ - - `getEnumField`:idx: - * `typeinfo.html#134 `_ - * `typeinfo.html#135 `_ - - `getEnumOrdinal`:idx: - `typeinfo.html#133 `_ - - `getEnv`:idx: - `os.html#150 `_ - - `getFilename`:idx: - * `parsecfg.html#108 `_ - * `parsexml.html#119 `_ - * `json.html#113 `_ - - `getFilePermissions`:idx: - `os.html#167 `_ - - `getFilePos`:idx: - `system.html#588 `_ - - `getFileSize`:idx: - * `system.html#580 `_ - * `os.html#183 `_ - - `getFloat`:idx: - * `typeinfo.html#136 `_ - * `json.html#109 `_ - - `get_float`:idx: - `sphinx.html#186 `_ - - `getFloat32`:idx: - `typeinfo.html#137 `_ - - `getFloat64`:idx: - `typeinfo.html#138 `_ - - `getFreeMem`:idx: - `system.html#477 `_ - - `getGatewayInterface`:idx: - `cgi.html#114 `_ - - `getGMTime`:idx: - `times.html#107 `_ - - `getHomeDir`:idx: - `os.html#171 `_ - - `getHostByAddr`:idx: - `sockets.html#128 `_ - - `getHostByName`:idx: - `sockets.html#129 `_ - - `getHttpAccept`:idx: - `cgi.html#115 `_ - - `getHttpAcceptCharset`:idx: - `cgi.html#116 `_ - - `getHttpAcceptEncoding`:idx: - `cgi.html#117 `_ - - `getHttpAcceptLanguage`:idx: - `cgi.html#118 `_ - - `getHttpConnection`:idx: - `cgi.html#119 `_ - - `getHttpCookie`:idx: - `cgi.html#120 `_ - - `getHttpHost`:idx: - `cgi.html#121 `_ - - `getHttpReferer`:idx: - `cgi.html#122 `_ - - `getHttpUserAgent`:idx: - `cgi.html#123 `_ - - `get_id`:idx: - `sphinx.html#183 `_ - - `getInt`:idx: - * `typeinfo.html#123 `_ - * `json.html#108 `_ - - `get_int`:idx: - `sphinx.html#185 `_ - - `getInt16`:idx: - `typeinfo.html#125 `_ - - `getInt32`:idx: - `typeinfo.html#126 `_ - - `getInt64`:idx: - `typeinfo.html#127 `_ - - `getInt8`:idx: - `typeinfo.html#124 `_ - - `getLag`:idx: - `irc.html#116 `_ - - `getLastAccessTime`:idx: - `os.html#119 `_ - - `getLastModificationTime`:idx: - `os.html#118 `_ - - `getLine`:idx: - * `parsecfg.html#107 `_ - * `parsexml.html#118 `_ - * `json.html#112 `_ - - `getLocalTime`:idx: - `times.html#106 `_ - - `getMD5`:idx: - `md5.html#106 `_ - - `get_mva`:idx: - `sphinx.html#187 `_ - - `getNamedItem`:idx: - * `xmldom.html#175 `_ - * `xmldom.html#176 `_ - - `getNamedItemNS`:idx: - * `xmldom.html#177 `_ - * `xmldom.html#178 `_ - - `get_num_results`:idx: - `sphinx.html#182 `_ - - `getOccupiedMem`:idx: - `system.html#476 `_ - - `getopt`:idx: - `parseopt.html#106 `_ - - `getPathInfo`:idx: - `cgi.html#124 `_ - - `getPathTranslated`:idx: - `cgi.html#125 `_ - - `getPointer`:idx: - `typeinfo.html#116 `_ - - `getPosition`:idx: - * `streams.html#110 `_ - * `streams.html#111 `_ - - `getQueryString`:idx: - `cgi.html#126 `_ - - `getRange`:idx: - `redis.html#127 `_ - - `getRefcount`:idx: - * `system.html#470 `_ - * `system.html#471 `_ - * `system.html#472 `_ - - `getRemoteAddr`:idx: - `cgi.html#127 `_ - - `getRemoteHost`:idx: - `cgi.html#128 `_ - - `getRemoteIdent`:idx: - `cgi.html#129 `_ - - `getRemotePort`:idx: - `cgi.html#130 `_ - - `getRemoteUser`:idx: - `cgi.html#131 `_ - - `getRequestMethod`:idx: - `cgi.html#132 `_ - - `getRequestURI`:idx: - `cgi.html#133 `_ - - `get_salt_from_password`:idx: - `mysql.html#280 `_ - - `get_salt_from_password_323`:idx: - `mysql.html#274 `_ - - `getScriptFilename`:idx: - `cgi.html#134 `_ - - `getScriptName`:idx: - `cgi.html#135 `_ - - `getServByName`:idx: - `sockets.html#126 `_ - - `getServByPort`:idx: - `sockets.html#127 `_ - - `getServerAddr`:idx: - `cgi.html#136 `_ - - `getServerAdmin`:idx: - `cgi.html#137 `_ - - `getServerName`:idx: - `cgi.html#138 `_ - - `getServerPort`:idx: - `cgi.html#139 `_ - - `getServerProtocol`:idx: - `cgi.html#140 `_ - - `getServerSignature`:idx: - `cgi.html#141 `_ - - `getServerSoftware`:idx: - `cgi.html#142 `_ - - `getSet`:idx: - `redis.html#128 `_ - - `getSocket`:idx: - `asyncio.html#120 `_ - - `getSockName`:idx: - `sockets.html#122 `_ - - `getsockopt`:idx: - `zmq.html#161 `_ - - `getSockOptInt`:idx: - `sockets.html#130 `_ - - `getStartMilsecs`:idx: - `times.html#114 `_ - - `getStream`:idx: - `zipfiles.html#109 `_ - - `getString`:idx: - `typeinfo.html#141 `_ - - `get_string`:idx: - `sphinx.html#188 `_ - - `getTempDir`:idx: - `os.html#173 `_ - - `getTime`:idx: - `times.html#105 `_ - - `getTotalMem`:idx: - `system.html#478 `_ - - `get_tty_password`:idx: - `mysql.html#282 `_ - - `getTypeInfo`:idx: - `system.html#618 `_ - - `GetValue`:idx: - * `db_postgres.html#113 `_ - * `db_mysql.html#112 `_ - * `db_sqlite.html#113 `_ - - `get_weight`:idx: - `sphinx.html#184 `_ - - `glob`:idx: - `os.html#156 `_ - - `globalRaiseHook`:idx: - `system.html#543 `_ - - `gptr`:idx: - `mysql.html#105 `_ - - `GROUP_FLAG`:idx: - `mysql.html#139 `_ - - `h1`:idx: - * `xmlgen.html#132 `_ - * `htmlgen.html#132 `_ - - `h2`:idx: - * `xmlgen.html#133 `_ - * `htmlgen.html#133 `_ - - `h3`:idx: - * `xmlgen.html#134 `_ - * `htmlgen.html#134 `_ - - `h4`:idx: - * `xmlgen.html#135 `_ - * `htmlgen.html#135 `_ - - `h5`:idx: - * `xmlgen.html#136 `_ - * `htmlgen.html#136 `_ - - `h6`:idx: - * `xmlgen.html#137 `_ - * `htmlgen.html#137 `_ - - `HandleCR`:idx: - `lexbase.html#108 `_ - - `HandleLF`:idx: - `lexbase.html#109 `_ - - `hasAttribute`:idx: - `xmldom.html#196 `_ - - `hasAttributeNS`:idx: - `xmldom.html#197 `_ - - `hasAttributes`:idx: - `xmldom.html#168 `_ - - `hasChildNodes`:idx: - `xmldom.html#169 `_ - - `hasFeature`:idx: - `xmldom.html#139 `_ - - `hash`:idx: - * `hashes.html#105 `_ - * `hashes.html#106 `_ - * `hashes.html#107 `_ - * `hashes.html#108 `_ - * `hashes.html#109 `_ - * `hashes.html#112 `_ - - `hashData`:idx: - `hashes.html#104 `_ - - `hashIgnoreCase`:idx: - `hashes.html#111 `_ - - `hashIgnoreStyle`:idx: - `hashes.html#110 `_ - - `hash_password`:idx: - `mysql.html#270 `_ - - `hasKey`:idx: - * `strtabs.html#109 `_ - * `tables.html#110 `_ - * `tables.html#126 `_ - * `tables.html#141 `_ - * `critbits.html#105 `_ - - `HAUSNUMERO`:idx: - `zmq.html#102 `_ - - `hDel`:idx: - `redis.html#137 `_ - - `head`:idx: - * `xmlgen.html#138 `_ - * `htmlgen.html#138 `_ - - `header`:idx: - `nimrodc.html#109 `_ - - `hexbyte`:idx: - `oids.html#102 `_ - - `HexDigits`:idx: - `strutils.html#105 `_ - - `hExists`:idx: - `redis.html#138 `_ - - `hGet`:idx: - `redis.html#139 `_ - - `hGetAll`:idx: - `redis.html#140 `_ - - `high`:idx: - `system.html#132 `_ - - `hIncrBy`:idx: - `redis.html#141 `_ - - `hint`:idx: - * `manual.html#250 `_ - * `manual.html#265 `_ - * `macros.html#141 `_ - - `hKeys`:idx: - `redis.html#142 `_ - - `hLen`:idx: - `redis.html#143 `_ - - `hMGet`:idx: - `redis.html#144 `_ - - `hMSet`:idx: - `redis.html#145 `_ - - `hostCPU`:idx: - `system.html#400 `_ - - `HOSTNAME_LENGTH`:idx: - `mysql.html#111 `_ - - `hostOS`:idx: - `system.html#399 `_ - - `hPairs`:idx: - `redis.html#219 `_ - - `hr`:idx: - * `xmlgen.html#140 `_ - * `htmlgen.html#140 `_ - - `hSet`:idx: - `redis.html#146 `_ - - `hSetNX`:idx: - `redis.html#147 `_ - - `html`:idx: - * `xmlgen.html#139 `_ - * `htmlgen.html#139 `_ - - `HTML`:idx: - * `xmlgen.html#102 `_ - * `parsexml.html#102 `_ - * `htmlgen.html#102 `_ - - `htmlTag`:idx: - * `htmlparser.html#105 `_ - * `htmlparser.html#106 `_ - - `htonl`:idx: - `sockets.html#116 `_ - - `htons`:idx: - `sockets.html#117 `_ - - `HTTPPOST_BUFFER`:idx: - `libcurl.html#266 `_ - - `HTTPPOST_FILENAME`:idx: - `libcurl.html#267 `_ - - `HTTPPOST_PTRBUFFER`:idx: - `libcurl.html#268 `_ - - `HTTPPOST_PTRCONTENTS`:idx: - `libcurl.html#269 `_ - - `HTTPPOST_PTRNAME`:idx: - `libcurl.html#270 `_ - - `HTTPPOST_READFILE`:idx: - `libcurl.html#271 `_ - - `hVals`:idx: - `redis.html#148 `_ - - `hypot`:idx: - `math.html#131 `_ - - `i`:idx: - * `xmlgen.html#141 `_ - * `htmlgen.html#141 `_ - - `iconv`:idx: - `encodings.html#101 `_ - - `ident`:idx: - * `macros.html#127 `_ - * `pegs.html#142 `_ - - `ident=`:idx: - `macros.html#133 `_ - - `IdentChars`:idx: - `strutils.html#106 `_ - - `identChars`:idx: - `pegs.html#140 `_ - - `identifier`:idx: - `manual.html#105 `_ - - `Identifiers`:idx: - `manual.html#116 `_ - - `IdentStartChars`:idx: - `strutils.html#107 `_ - - `identStartChars`:idx: - `pegs.html#141 `_ - - `if`:idx: - `manual.html#202 `_ - - `ignoreMsg`:idx: - `parsecfg.html#111 `_ - - `img`:idx: - * `xmlgen.html#142 `_ - * `htmlgen.html#142 `_ - - `implementation`:idx: - `xmldom.html#140 `_ - - `implicit block`:idx: - `manual.html#230 `_ - - `import`:idx: - * `manual.html#246 `_ - * `tut1.html#128 `_ - - `importc`:idx: - `manual.html#277 `_ - - `importcpp`:idx: - `nimrodc.html#116 `_ - - `importNode`:idx: - `xmldom.html#153 `_ - - `importobjc`:idx: - `nimrodc.html#118 `_ - - `in`:idx: - `system.html#372 `_ - - `inbox`:idx: - * `manual.html#289 `_ - * `actors.html#105 `_ - - `inc`:idx: - * `system.html#186 `_ - * `tables.html#146 `_ - - `incl`:idx: - * `system.html#194 `_ - * `sets.html#106 `_ - * `sets.html#117 `_ - * `intsets.html#103 `_ - * `critbits.html#108 `_ - - `inclFilePermissions`:idx: - `os.html#169 `_ - - `inclSetElement`:idx: - `typeinfo.html#146 `_ - - `include`:idx: - `tut1.html#129 `_ - - `incompleteStruct`:idx: - `nimrodc.html#110 `_ - - `incr`:idx: - `redis.html#129 `_ - - `incrBy`:idx: - `redis.html#130 `_ - - `incremental compilation`:idx: - `nimrodc.html#105 `_ - - `indentation sensitive`:idx: - `manual.html#113 `_ - - `inf`:idx: - `system.html#473 `_ - - `InfChecks`:idx: - `manual.html#154 `_ - - `info`:idx: - `redis.html#214 `_ - - `information hiding`:idx: - * `manual.html#244 `_ - * `tut1.html#126 `_ - - `init`:idx: - `zmq.html#156 `_ - - `InitCond`:idx: - `locks.html#110 `_ - - `initCountTable`:idx: - `tables.html#143 `_ - - `initDefaultFont`:idx: - `graphics.html#113 `_ - - `initDoublyLinkedList`:idx: - `lists.html#110 `_ - - `initDoublyLinkedRing`:idx: - `lists.html#112 `_ - - `initEventEmitter`:idx: - `events.html#113 `_ - - `initEventHandler`:idx: - `events.html#105 `_ - - `init_excerpt_options`:idx: - `sphinx.html#189 `_ - - `initIntSet`:idx: - `intsets.html#106 `_ - - `InitLock`:idx: - `locks.html#105 `_ - - `initOptParser`:idx: - `parseopt.html#103 `_ - - `initOrderedSet`:idx: - `sets.html#119 `_ - - `initOrderedTable`:idx: - `tables.html#129 `_ - - `initQueue`:idx: - `queues.html#102 `_ - - `initSet`:idx: - `sets.html#109 `_ - - `initSinglyLinkedList`:idx: - `lists.html#109 `_ - - `initSinglyLinkedRing`:idx: - `lists.html#111 `_ - - `initTable`:idx: - `tables.html#114 `_ - - `inline`:idx: - `manual.html#180 `_ - - `InlineTags`:idx: - `htmlparser.html#102 `_ - - `innerText`:idx: - `xmltree.html#110 `_ - - `input`:idx: - * `xmlgen.html#143 `_ - * `htmlgen.html#143 `_ - - `inputStream`:idx: - `osproc.html#116 `_ - - `ins`:idx: - * `xmlgen.html#144 `_ - * `htmlgen.html#144 `_ - - `insert`:idx: - `system.html#417 `_ - - `insertBefore`:idx: - `xmldom.html#170 `_ - - `InsertID`:idx: - * `db_postgres.html#115 `_ - * `db_mysql.html#114 `_ - * `db_sqlite.html#115 `_ - - `insertSep`:idx: - `strutils.html#162 `_ - - `InstantiationInfo`:idx: - `system.html#631 `_ - - `int`:idx: - `system.html#101 `_ - - `int16`:idx: - `system.html#103 `_ - - `int32`:idx: - `system.html#104 `_ - - `int64`:idx: - `system.html#105 `_ - - `int8`:idx: - `system.html#102 `_ - - `intensity`:idx: - `colors.html#106 `_ - - `interactive mode`:idx: - `nimrodc.html#125 `_ - - `internalNew`:idx: - `system.html#128 `_ - - `INTERNAL_NUM_FIELD`:idx: - `mysql.html#306 `_ - - `internationalization`:idx: - `subexes.html#104 `_ - - `interpolatedFragments`:idx: - `parseutils.html#121 `_ - - `intToStr`:idx: - `strutils.html#127 `_ - - `intVal`:idx: - `macros.html#124 `_ - - `intVal=`:idx: - `macros.html#130 `_ - - `InvalidSocket`:idx: - `sockets.html#110 `_ - - `invokeNew`:idx: - `typeinfo.html#108 `_ - - `invokeNewSeq`:idx: - `typeinfo.html#109 `_ - - `irc`:idx: - `irc.html#114 `_ - - `is`:idx: - * `manual.html#234 `_ - * `system.html#374 `_ - - `isAbsolute`:idx: - `os.html#140 `_ - - `isAlpha`:idx: - `unicode.html#116 `_ - - `isatty`:idx: - `terminal.html#118 `_ - - `IS_BLOB`:idx: - `mysql.html#304 `_ - - `isColor`:idx: - `colors.html#250 `_ - - `isConnected`:idx: - * `irc.html#117 `_ - * `asyncio.html#121 `_ - - `isConnecting`:idx: - `asyncio.html#123 `_ - - `isListening`:idx: - `asyncio.html#122 `_ - - `isLower`:idx: - `unicode.html#114 `_ - - `isMainModule`:idx: - `system.html#391 `_ - - `isNil`:idx: - * `typeinfo.html#115 `_ - * `system.html#504 `_ - * `system.html#505 `_ - * `system.html#506 `_ - * `system.html#507 `_ - * `system.html#508 `_ - * `system.html#509 `_ - - `is_not`:idx: - `system.html#375 `_ - - `IS_NOT_NULL`:idx: - `mysql.html#303 `_ - - `IS_NUM`:idx: - `mysql.html#305 `_ - - `IS_NUM_FIELD`:idx: - `mysql.html#307 `_ - - `isPowerOfTwo`:idx: - `math.html#110 `_ - - `IS_PRI_KEY`:idx: - `mysql.html#302 `_ - - `isRootDir`:idx: - `os.html#131 `_ - - `isSupported`:idx: - `xmldom.html#171 `_ - - `isTitle`:idx: - `unicode.html#117 `_ - - `isUpper`:idx: - `unicode.html#115 `_ - - `isWhiteSpace`:idx: - `unicode.html#118 `_ - - `isWriteable`:idx: - `asyncio.html#118 `_ - - `item`:idx: - `xmldom.html#179 `_ - - `Item_result`:idx: - `mysql.html#255 `_ - - `items`:idx: - * `system.html#494 `_ - * `system.html#495 `_ - * `system.html#496 `_ - * `system.html#497 `_ - * `system.html#498 `_ - * `system.html#499 `_ - * `ropes.html#117 `_ - * `xmltree.html#116 `_ - * `json.html#141 `_ - * `sets.html#104 `_ - * `sets.html#115 `_ - * `lists.html#115 `_ - * `lists.html#116 `_ - * `lists.html#117 `_ - * `lists.html#118 `_ - * `intsets.html#109 `_ - * `queues.html#104 `_ - * `critbits.html#116 `_ - - `itemsWithPrefix`:idx: - `critbits.html#119 `_ - - `iterator`:idx: - `manual.html#229 `_ - - `join`:idx: - * `strutils.html#146 `_ - * `strutils.html#147 `_ - * `irc.html#110 `_ - * `actors.html#108 `_ - * `actors.html#119 `_ - - `JoinPath`:idx: - * `os.html#126 `_ - * `os.html#127 `_ - - `joinThread`:idx: - `threads.html#104 `_ - - `joinThreads`:idx: - `threads.html#105 `_ - - `JSON`:idx: - `json.html#101 `_ - - `kbd`:idx: - * `xmlgen.html#145 `_ - * `htmlgen.html#145 `_ - - `keys`:idx: - * `redis.html#114 `_ - * `tables.html#105 `_ - * `tables.html#121 `_ - * `tables.html#136 `_ - * `critbits.html#113 `_ - - `keysWithPrefix`:idx: - `critbits.html#120 `_ - - `keyType`:idx: - `redis.html#121 `_ - - `keywords`:idx: - `manual.html#117 `_ - - `kind`:idx: - * `macros.html#123 `_ - * `typeinfo.html#104 `_ - * `parsexml.html#110 `_ - * `xmltree.html#114 `_ - * `json.html#110 `_ - - `l-values`:idx: - `manual.html#107 `_ - - `label`:idx: - * `xmlgen.html#146 `_ - * `htmlgen.html#146 `_ - - `lambda lifting`:idx: - `intern.html#102 `_ - - `Largest`:idx: - `tables.html#148 `_ - - `lastChild`:idx: - `xmldom.html#155 `_ - - `lastsave`:idx: - `redis.html#215 `_ - - `leaves`:idx: - `ropes.html#116 `_ - - `legend`:idx: - * `xmlgen.html#147 `_ - * `htmlgen.html#147 `_ - - `len`:idx: - * `macros.html#119 `_ - * `typeinfo.html#114 `_ - * `system.html#189 `_ - * `system.html#190 `_ - * `system.html#191 `_ - * `system.html#192 `_ - * `system.html#193 `_ - * `system.html#406 `_ - * `strtabs.html#104 `_ - * `parsesql.html#107 `_ - * `ropes.html#103 `_ - * `xmltree.html#113 `_ - * `json.html#129 `_ - * `tables.html#102 `_ - * `tables.html#118 `_ - * `tables.html#133 `_ - * `sets.html#102 `_ - * `sets.html#113 `_ - * `queues.html#103 `_ - * `critbits.html#103 `_ - - `Let`:idx: - `manual.html#198 `_ - - `letters`:idx: - `pegs.html#137 `_ - - `Letters`:idx: - `strutils.html#103 `_ - - `Levenshtein`:idx: - `strutils.html#165 `_ - - `li`:idx: - * `xmlgen.html#148 `_ - * `htmlgen.html#148 `_ - - `LIBCURL_VERSION`:idx: - `libcurl.html#272 `_ - - `LIBCURL_VERSION_MAJOR`:idx: - `libcurl.html#273 `_ - - `LIBCURL_VERSION_MINOR`:idx: - `libcurl.html#274 `_ - - `LIBCURL_VERSION_NUM`:idx: - `libcurl.html#275 `_ - - `LIBCURL_VERSION_PATCH`:idx: - `libcurl.html#276 `_ - - `likely`:idx: - `system.html#602 `_ - - `limit`:idx: - `system.html#445 `_ - - `lIndex`:idx: - `redis.html#152 `_ - - `line`:idx: - `manual.html#266 `_ - - `line feed`:idx: - `manual.html#123 `_ - - `linearScanEnd`:idx: - `manual.html#267 `_ - - `lineDir`:idx: - `nimrodc.html#120 `_ - - `lineinfo`:idx: - `macros.html#148 `_ - - `lines`:idx: - * `system.html#598 `_ - * `system.html#599 `_ - - `lineTrace`:idx: - `nimrodc.html#122 `_ - - `link`:idx: - * `xmlgen.html#149 `_ - * `nimrodc.html#112 `_ - * `htmlgen.html#149 `_ - - `lInsert`:idx: - `redis.html#153 `_ - - `lispRepr`:idx: - `macros.html#160 `_ - - `list`:idx: - `ftpclient.html#118 `_ - - `listDirs`:idx: - `ftpclient.html#114 `_ - - `listen`:idx: - * `sockets.html#119 `_ - * `asyncio.html#111 `_ - - `littleEndian32`:idx: - `endians.html#105 `_ - - `littleEndian64`:idx: - `endians.html#104 `_ - - `lLen`:idx: - `redis.html#154 `_ - - `ln`:idx: - * `math.html#119 `_ - * `complex.html#120 `_ - - `load`:idx: - `marshal.html#101 `_ - - `load_defaults`:idx: - `mysql.html#285 `_ - - `loadHtml`:idx: - * `htmlparser.html#110 `_ - * `htmlparser.html#111 `_ - - `LoadLib`:idx: - `dynlib.html#102 `_ - - `loadUnidecodeTable`:idx: - `unidecode.html#101 `_ - - `loadXml`:idx: - * `xmlparser.html#104 `_ - * `xmlparser.html#105 `_ - - `loadXML`:idx: - `xmldomparser.html#104 `_ - - `loadXMLFile`:idx: - `xmldomparser.html#105 `_ - - `loadXMLStream`:idx: - `xmldomparser.html#103 `_ - - `local type inference`:idx: - `tut1.html#101 `_ - - `LOCAL_HOST`:idx: - `mysql.html#115 `_ - - `LOCAL_HOST_NAMEDPIPE`:idx: - `mysql.html#116 `_ - - `LOCAL_INFILE_ERROR_LEN`:idx: - `mysql.html#424 `_ - - `localName`:idx: - `xmldom.html#156 `_ - - `localRaiseHook`:idx: - `system.html#544 `_ - - `locations`:idx: - `manual.html#101 `_ - - `log10`:idx: - * `math.html#120 `_ - * `complex.html#121 `_ - - `log2`:idx: - * `math.html#121 `_ - * `complex.html#122 `_ - - `low`:idx: - `system.html#133 `_ - - `lPop`:idx: - `redis.html#155 `_ - - `lPush`:idx: - `redis.html#156 `_ - - `lRange`:idx: - `redis.html#157 `_ - - `lRem`:idx: - `redis.html#158 `_ - - `lSet`:idx: - `redis.html#159 `_ - - `lTrim`:idx: - `redis.html#160 `_ - - `Macros`:idx: - `manual.html#240 `_ - - `make_password_from_salt`:idx: - `mysql.html#281 `_ - - `make_password_from_salt_323`:idx: - `mysql.html#275 `_ - - `make_scrambled_password`:idx: - `mysql.html#277 `_ - - `make_scrambled_password_323`:idx: - `mysql.html#271 `_ - - `MANAGER_ACCESS`:idx: - `mysql.html#336 `_ - - `MANAGER_CLIENT_ERR`:idx: - `mysql.html#337 `_ - - `MANAGER_INFO`:idx: - `mysql.html#335 `_ - - `MANAGER_INTERNAL_ERR`:idx: - `mysql.html#338 `_ - - `MANAGER_OK`:idx: - `mysql.html#334 `_ - - `map`:idx: - * `xmlgen.html#150 `_ - * `htmlgen.html#150 `_ - - `match`:idx: - * `regexprs.html#106 `_ - * `regexprs.html#107 `_ - * `re.html#112 `_ - * `re.html#113 `_ - * `pegs.html#148 `_ - * `pegs.html#149 `_ - - `matchLen`:idx: - * `regexprs.html#108 `_ - * `re.html#114 `_ - * `re.html#115 `_ - * `pegs.html#150 `_ - * `pegs.html#151 `_ - - `max`:idx: - * `system.html#339 `_ - * `system.html#488 `_ - * `system.html#489 `_ - * `system.html#490 `_ - * `system.html#491 `_ - * `system.html#492 `_ - * `system.html#493 `_ - - `MAX_BIGINT_WIDTH`:idx: - `mysql.html#194 `_ - - `MAX_BLOB_WIDTH`:idx: - `mysql.html#196 `_ - - `MAX_CHAR_WIDTH`:idx: - `mysql.html#195 `_ - - `MaxFloat32Precision`:idx: - `math.html#104 `_ - - `MaxFloat64Precision`:idx: - `math.html#103 `_ - - `MaxFloatPrecision`:idx: - `math.html#105 `_ - - `MAX_INT_WIDTH`:idx: - `mysql.html#193 `_ - - `maxLocksPerThread`:idx: - `locks.html#103 `_ - - `MAX_MEDIUMINT_WIDTH`:idx: - `mysql.html#192 `_ - - `MAX_MYSQL_MANAGER_ERR`:idx: - `mysql.html#332 `_ - - `MAX_MYSQL_MANAGER_MSG`:idx: - `mysql.html#333 `_ - - `MAX_SMALLINT_WIDTH`:idx: - `mysql.html#191 `_ - - `MaxSubpatterns`:idx: - * `regexprs.html#105 `_ - * `re.html#104 `_ - * `pegs.html#101 `_ - - `MAX_TINYINT_WIDTH`:idx: - `mysql.html#190 `_ - - `MAX_VSM_SIZE`:idx: - `zmq.html#115 `_ - - `MD5Context`:idx: - `md5.html#102 `_ - - `MD5Digest`:idx: - `md5.html#101 `_ - - `MD5Final`:idx: - `md5.html#105 `_ - - `MD5Init`:idx: - `md5.html#103 `_ - - `MD5Update`:idx: - `md5.html#104 `_ - - `mean`:idx: - `math.html#114 `_ - - `memory mapped files`:idx: - `memfiles.html#101 `_ - - `MEM_ROOT`:idx: - `mysql.html#325 `_ - - `meta`:idx: - * `xmlgen.html#151 `_ - * `htmlgen.html#151 `_ - - `method call syntax`:idx: - `tut2.html#105 `_ - - `methods`:idx: - `manual.html#220 `_ - - `mget`:idx: - * `strtabs.html#108 `_ - * `tables.html#109 `_ - * `tables.html#125 `_ - * `tables.html#140 `_ - * `critbits.html#111 `_ - - `min`:idx: - * `system.html#338 `_ - * `system.html#482 `_ - * `system.html#483 `_ - * `system.html#484 `_ - * `system.html#485 `_ - * `system.html#486 `_ - * `system.html#487 `_ - - `mix`:idx: - `colors.html#107 `_ - - `mmap`:idx: - `memfiles.html#102 `_ - - `mod`:idx: - * `system.html#243 `_ - * `system.html#244 `_ - * `system.html#245 `_ - * `system.html#246 `_ - * `system.html#247 `_ - - `modify_defaults_file`:idx: - `mysql.html#284 `_ - - `module`:idx: - * `manual.html#242 `_ - * `tut1.html#125 `_ - - `move`:idx: - `redis.html#115 `_ - - `moveFile`:idx: - `os.html#144 `_ - - `moveMem`:idx: - `system.html#449 `_ - - `mpairs`:idx: - * `tables.html#104 `_ - * `tables.html#120 `_ - * `tables.html#135 `_ - * `critbits.html#118 `_ - - `mpairsWithPrefix`:idx: - `critbits.html#124 `_ - - `msg_close`:idx: - `zmq.html#151 `_ - - `msg_copy`:idx: - `zmq.html#153 `_ - - `msg_data`:idx: - `zmq.html#154 `_ - - `msg_init`:idx: - * `zmq.html#148 `_ - * `zmq.html#149 `_ - * `zmq.html#150 `_ - - `msg_move`:idx: - `zmq.html#152 `_ - - `msg_size`:idx: - `zmq.html#155 `_ - - `multi`:idx: - `redis.html#196 `_ - - `Multi-methods`:idx: - `manual.html#227 `_ - - `multi-methods`:idx: - `tut2.html#104 `_ - - `MULTIPLE_KEY_FLAG`:idx: - `mysql.html#127 `_ - - `mvalues`:idx: - * `tables.html#107 `_ - * `tables.html#123 `_ - * `tables.html#138 `_ - * `critbits.html#115 `_ - - `mvaluesWithPrefix`:idx: - `critbits.html#122 `_ - - `my_bool`:idx: - `mysql.html#101 `_ - - `MY_CHARSET_INFO`:idx: - `mysql.html#352 `_ - - `my_connect`:idx: - `mysql.html#252 `_ - - `my_init`:idx: - `mysql.html#286 `_ - - `my_net_init`:idx: - `mysql.html#240 `_ - - `my_net_local_init`:idx: - `mysql.html#241 `_ - - `my_net_read`:idx: - `mysql.html#249 `_ - - `my_net_write`:idx: - `mysql.html#246 `_ - - `myodbc_remove_escape`:idx: - `mysql.html#465 `_ - - `my_rnd`:idx: - `mysql.html#268 `_ - - `my_socket`:idx: - `mysql.html#107 `_ - - `mySQL`:idx: - `db_mysql.html#101 `_ - - `MYSQL`:idx: - `mysql.html#357 `_ - - `mysql_add_slave`:idx: - `mysql.html#435 `_ - - `mysql_affected_rows`:idx: - `mysql.html#399 `_ - - `mysql_autocommit`:idx: - `mysql.html#503 `_ - - `MYSQL_BIND`:idx: - `mysql.html#379 `_ - - `mysql_change_user`:idx: - `mysql.html#411 `_ - - `mysql_character_set_name`:idx: - `mysql.html#407 `_ - - `mysql_close`:idx: - `mysql.html#506 `_ - - `mysql_commit`:idx: - `mysql.html#501 `_ - - `mysql_connect`:idx: - `mysql.html#510 `_ - - `MYSQL_COUNT_ERROR`:idx: - `mysql.html#310 `_ - - `mysql_create_db`:idx: - `mysql.html#511 `_ - - `MYSQL_DATA`:idx: - `mysql.html#329 `_ - - `mysql_data_seek`:idx: - `mysql.html#454 `_ - - `MYSQL_DATA_TRUNCATED`:idx: - `mysql.html#508 `_ - - `mysql_debug`:idx: - `mysql.html#464 `_ - - `mysql_disable_reads_from_master`:idx: - `mysql.html#430 `_ - - `mysql_disable_rpl_parse`:idx: - `mysql.html#427 `_ - - `mysql_drop_db`:idx: - `mysql.html#512 `_ - - `mysql_dump_debug_info`:idx: - `mysql.html#437 `_ - - `mysql_embedded`:idx: - `mysql.html#467 `_ - - `mysql_enable_reads_from_master`:idx: - `mysql.html#429 `_ - - `mysql_enable_rpl_parse`:idx: - `mysql.html#426 `_ - - `mysql_enum_shutdown_level`:idx: - `mysql.html#236 `_ - - `mysql_eof`:idx: - `mysql.html#393 `_ - - `MYSQL_ERRMSG_SIZE`:idx: - `mysql.html#185 `_ - - `mysql_errno`:idx: - `mysql.html#401 `_ - - `mysql_errno_to_sqlstate`:idx: - `mysql.html#283 `_ - - `mysql_error`:idx: - `mysql.html#402 `_ - - `mysql_escape_string`:idx: - `mysql.html#461 `_ - - `mysql_fetch_field`:idx: - `mysql.html#459 `_ - - `mysql_fetch_field_direct`:idx: - `mysql.html#394 `_ - - `mysql_fetch_fields`:idx: - `mysql.html#395 `_ - - `mysql_fetch_lengths`:idx: - `mysql.html#458 `_ - - `mysql_fetch_row`:idx: - `mysql.html#457 `_ - - `MYSQL_FIELD`:idx: - `mysql.html#296 `_ - - `mysql_field_count`:idx: - `mysql.html#398 `_ - - `MYSQL_FIELD_OFFSET`:idx: - `mysql.html#301 `_ - - `mysql_field_seek`:idx: - `mysql.html#456 `_ - - `mysql_field_tell`:idx: - `mysql.html#397 `_ - - `mysql_free_result`:idx: - `mysql.html#453 `_ - - `mysql_get_character_set_info`:idx: - `mysql.html#423 `_ - - `mysql_get_client_info`:idx: - `mysql.html#444 `_ - - `mysql_get_client_version`:idx: - `mysql.html#445 `_ - - `mysql_get_host_info`:idx: - `mysql.html#446 `_ - - `mysql_get_parameters`:idx: - `mysql.html#388 `_ - - `mysql_get_proto_info`:idx: - `mysql.html#448 `_ - - `mysql_get_server_info`:idx: - `mysql.html#443 `_ - - `mysql_get_server_version`:idx: - `mysql.html#447 `_ - - `mysql_hex_string`:idx: - `mysql.html#462 `_ - - `mysql_info`:idx: - `mysql.html#405 `_ - - `mysql_init`:idx: - `mysql.html#409 `_ - - `mysql_insert_id`:idx: - `mysql.html#400 `_ - - `mysql_kill`:idx: - `mysql.html#439 `_ - - `mysql_library_end`:idx: - `mysql.html#387 `_ - - `mysql_library_init`:idx: - `mysql.html#386 `_ - - `mysql_list_dbs`:idx: - `mysql.html#449 `_ - - `mysql_list_fields`:idx: - `mysql.html#460 `_ - - `mysql_list_processes`:idx: - `mysql.html#451 `_ - - `mysql_list_tables`:idx: - `mysql.html#450 `_ - - `MYSQL_LONG_DATA_HEADER`:idx: - `mysql.html#291 `_ - - `MYSQL_MANAGER`:idx: - `mysql.html#370 `_ - - `mysql_manager_close`:idx: - `mysql.html#470 `_ - - `mysql_manager_command`:idx: - `mysql.html#471 `_ - - `mysql_manager_connect`:idx: - `mysql.html#469 `_ - - `mysql_manager_fetch_line`:idx: - `mysql.html#472 `_ - - `mysql_manager_init`:idx: - `mysql.html#468 `_ - - `mysql_master_query`:idx: - `mysql.html#419 `_ - - `mysql_master_send_query`:idx: - `mysql.html#420 `_ - - `MYSQL_METHODS`:idx: - `mysql.html#366 `_ - - `mysql_more_results`:idx: - `mysql.html#504 `_ - - `MYSQL_NAMEDPIPE`:idx: - `mysql.html#117 `_ - - `mysql_next_result`:idx: - `mysql.html#505 `_ - - `MYSQL_NO_DATA`:idx: - `mysql.html#507 `_ - - `mysql_num_fields`:idx: - `mysql.html#392 `_ - - `mysql_num_rows`:idx: - `mysql.html#391 `_ - - `mysql_option`:idx: - `mysql.html#331 `_ - - `mysql_options`:idx: - `mysql.html#452 `_ - - `MYSQL_PARAMETERS`:idx: - `mysql.html#374 `_ - - `mysql_ping`:idx: - `mysql.html#441 `_ - - `mysql_protocol_type`:idx: - `mysql.html#345 `_ - - `mysql_query`:idx: - `mysql.html#414 `_ - - `mysql_read_query_result`:idx: - `mysql.html#473 `_ - - `mysql_reads_from_master_enabled`:idx: - `mysql.html#431 `_ - - `mysql_real_connect`:idx: - `mysql.html#412 `_ - - `mysql_real_escape_string`:idx: - `mysql.html#463 `_ - - `mysql_real_query`:idx: - `mysql.html#416 `_ - - `mysql_refresh`:idx: - `mysql.html#438 `_ - - `mysql_reload`:idx: - * `mysql.html#509 `_ - * `mysql.html#513 `_ - - `MYSQL_RES`:idx: - `mysql.html#361 `_ - - `mysql_rollback`:idx: - `mysql.html#502 `_ - - `MYSQL_ROW`:idx: - `mysql.html#299 `_ - - `MYSQL_ROW_OFFSET`:idx: - `mysql.html#316 `_ - - `MYSQL_ROWS`:idx: - `mysql.html#313 `_ - - `mysql_row_seek`:idx: - `mysql.html#455 `_ - - `mysql_row_tell`:idx: - `mysql.html#396 `_ - - `mysql_rpl_parse_enabled`:idx: - `mysql.html#428 `_ - - `mysql_rpl_probe`:idx: - `mysql.html#433 `_ - - `mysql_rpl_query_type`:idx: - `mysql.html#432 `_ - - `mysql_rpl_type`:idx: - `mysql.html#346 `_ - - `mysql_select_db`:idx: - `mysql.html#413 `_ - - `mysql_send_query`:idx: - `mysql.html#415 `_ - - `mysql_server_end`:idx: - `mysql.html#385 `_ - - `mysql_server_init`:idx: - `mysql.html#384 `_ - - `MYSQL_SERVICENAME`:idx: - `mysql.html#118 `_ - - `mysql_set_character_set`:idx: - `mysql.html#408 `_ - - `mysql_set_local_infile_default`:idx: - `mysql.html#425 `_ - - `mysql_set_master`:idx: - `mysql.html#434 `_ - - `mysql_set_server_option`:idx: - `mysql.html#440 `_ - - `mysql_shutdown`:idx: - `mysql.html#436 `_ - - `MYSQL_SHUTDOWN_KILLABLE_CONNECT`:idx: - `mysql.html#232 `_ - - `MYSQL_SHUTDOWN_KILLABLE_LOCK_TABLE`:idx: - `mysql.html#234 `_ - - `MYSQL_SHUTDOWN_KILLABLE_TRANS`:idx: - `mysql.html#233 `_ - - `MYSQL_SHUTDOWN_KILLABLE_UPDATE`:idx: - `mysql.html#235 `_ - - `mysql_slave_query`:idx: - `mysql.html#421 `_ - - `mysql_slave_send_query`:idx: - `mysql.html#422 `_ - - `mysql_sqlstate`:idx: - `mysql.html#403 `_ - - `mysql_ssl_set`:idx: - `mysql.html#410 `_ - - `mysql_stat`:idx: - `mysql.html#442 `_ - - `mysql_status`:idx: - `mysql.html#344 `_ - - `MYSQL_STMT`:idx: - `mysql.html#382 `_ - - `mysql_stmt_affected_rows`:idx: - `mysql.html#498 `_ - - `mysql_stmt_attr_get`:idx: - `mysql.html#482 `_ - - `mysql_stmt_attr_set`:idx: - `mysql.html#481 `_ - - `mysql_stmt_bind_param`:idx: - `mysql.html#483 `_ - - `mysql_stmt_bind_result`:idx: - `mysql.html#484 `_ - - `mysql_stmt_close`:idx: - `mysql.html#485 `_ - - `mysql_stmt_data_seek`:idx: - `mysql.html#496 `_ - - `mysql_stmt_errno`:idx: - `mysql.html#491 `_ - - `mysql_stmt_error`:idx: - `mysql.html#492 `_ - - `mysql_stmt_execute`:idx: - `mysql.html#476 `_ - - `mysql_stmt_fetch`:idx: - `mysql.html#477 `_ - - `mysql_stmt_fetch_column`:idx: - `mysql.html#478 `_ - - `mysql_stmt_field_count`:idx: - `mysql.html#500 `_ - - `mysql_stmt_free_result`:idx: - `mysql.html#487 `_ - - `MYSQL_STMT_HEADER`:idx: - `mysql.html#290 `_ - - `mysql_stmt_init`:idx: - `mysql.html#474 `_ - - `mysql_stmt_insert_id`:idx: - `mysql.html#499 `_ - - `mysql_stmt_num_rows`:idx: - `mysql.html#497 `_ - - `mysql_stmt_param_count`:idx: - `mysql.html#480 `_ - - `mysql_stmt_param_metadata`:idx: - `mysql.html#490 `_ - - `mysql_stmt_prepare`:idx: - `mysql.html#475 `_ - - `mysql_stmt_reset`:idx: - `mysql.html#486 `_ - - `mysql_stmt_result_metadata`:idx: - `mysql.html#489 `_ - - `mysql_stmt_row_seek`:idx: - `mysql.html#494 `_ - - `mysql_stmt_row_tell`:idx: - `mysql.html#495 `_ - - `mysql_stmt_send_long_data`:idx: - `mysql.html#488 `_ - - `mysql_stmt_sqlstate`:idx: - `mysql.html#493 `_ - - `mysql_stmt_store_result`:idx: - `mysql.html#479 `_ - - `mysql_store_result`:idx: - `mysql.html#417 `_ - - `mysql_thread_end`:idx: - `mysql.html#390 `_ - - `mysql_thread_id`:idx: - `mysql.html#406 `_ - - `mysql_thread_init`:idx: - `mysql.html#389 `_ - - `mysql_thread_safe`:idx: - `mysql.html#466 `_ - - `mysql_use_result`:idx: - `mysql.html#418 `_ - - `mysql_warning_count`:idx: - `mysql.html#404 `_ - - `my_thread_end`:idx: - `mysql.html#288 `_ - - `myThreadId`:idx: - `threads.html#108 `_ - - `my_thread_init`:idx: - `mysql.html#287 `_ - - `my_ulonglong`:idx: - `mysql.html#308 `_ - - `name`:idx: - `xmldom.html#186 `_ - - `NAME_LEN`:idx: - `mysql.html#110 `_ - - `namespace`:idx: - `manual.html#243 `_ - - `namespaceURI`:idx: - `xmldom.html#157 `_ - - `namespaceURI=`:idx: - `xmldom.html#158 `_ - - `nan`:idx: - `system.html#475 `_ - - `NaNChecks`:idx: - `manual.html#153 `_ - - `natural`:idx: - `pegs.html#143 `_ - - `Natural`:idx: - `system.html#146 `_ - - `navigator`:idx: - `dom.html#133 `_ - - `neginf`:idx: - `system.html#474 `_ - - `nestList`:idx: - `macros.html#158 `_ - - `NET`:idx: - `mysql.html#199 `_ - - `net_clear`:idx: - `mysql.html#243 `_ - - `net_end`:idx: - `mysql.html#242 `_ - - `net_flush`:idx: - `mysql.html#245 `_ - - `NET_HEADER_SIZE`:idx: - `mysql.html#265 `_ - - `net_new_transaction`:idx: - `mysql.html#239 `_ - - `NET_READ_TIMEOUT`:idx: - `mysql.html#186 `_ - - `net_realloc`:idx: - `mysql.html#244 `_ - - `net_real_write`:idx: - `mysql.html#248 `_ - - `net_safe_read`:idx: - `mysql.html#514 `_ - - `NET_WAIT_TIMEOUT`:idx: - `mysql.html#188 `_ - - `net_write_command`:idx: - `mysql.html#247 `_ - - `NET_WRITE_TIMEOUT`:idx: - `mysql.html#187 `_ - - `new`:idx: - * `system.html#127 `_ - * `system.html#129 `_ - - `newCall`:idx: - * `macros.html#156 `_ - * `macros.html#157 `_ - - `newCData`:idx: - `xmltree.html#107 `_ - - `newComment`:idx: - `xmltree.html#106 `_ - - `newDelegate`:idx: - `asyncio.html#106 `_ - - `newDispatcher`:idx: - `asyncio.html#114 `_ - - `newDoublyLinkedNode`:idx: - `lists.html#113 `_ - - `newElement`:idx: - `xmltree.html#104 `_ - - `newEntity`:idx: - `xmltree.html#108 `_ - - `newException`:idx: - `system.html#549 `_ - - `newFileStream`:idx: - * `streams.html#134 `_ - * `streams.html#135 `_ - - `newFloatLitNode`:idx: - `macros.html#144 `_ - - `newFont`:idx: - `graphics.html#111 `_ - - `newIdentNode`:idx: - * `macros.html#145 `_ - * `macros.html#146 `_ - - `newIntLitNode`:idx: - `macros.html#143 `_ - - `newJArray`:idx: - `json.html#128 `_ - - `newJBool`:idx: - `json.html#125 `_ - - `newJFloat`:idx: - `json.html#124 `_ - - `newJInt`:idx: - `json.html#123 `_ - - `newJNull`:idx: - `json.html#126 `_ - - `newJObject`:idx: - `json.html#127 `_ - - `newJString`:idx: - `json.html#122 `_ - - `newLine`:idx: - `pegs.html#123 `_ - - `newline`:idx: - * `manual.html#121 `_ - * `pegs.html#122 `_ - - `NewLines`:idx: - * `strutils.html#108 `_ - * `lexbase.html#102 `_ - - `newNimNode`:idx: - `macros.html#136 `_ - - `newNonTerminal`:idx: - `pegs.html#136 `_ - - `newScreenSurface`:idx: - `graphics.html#114 `_ - - `newSeq`:idx: - `system.html#188 `_ - - `newSinglyLinkedNode`:idx: - `lists.html#114 `_ - - `newString`:idx: - `system.html#382 `_ - - `newStringOfCap`:idx: - `system.html#383 `_ - - `newStringStream`:idx: - `streams.html#131 `_ - - `newStringTable`:idx: - * `strtabs.html#111 `_ - * `strtabs.html#112 `_ - * `strtabs.html#113 `_ - - `newStrLitNode`:idx: - `macros.html#142 `_ - - `newSurface`:idx: - `graphics.html#110 `_ - - `newText`:idx: - `xmltree.html#105 `_ - - `newXmlTree`:idx: - `xmltree.html#127 `_ - - `next`:idx: - * `parseopt.html#104 `_ - * `parsecfg.html#112 `_ - * `parsexml.html#123 `_ - * `httpserver.html#106 `_ - * `json.html#116 `_ - * `scgi.html#108 `_ - - `nextPowerOfTwo`:idx: - `math.html#111 `_ - - `nextSibling`:idx: - `xmldom.html#159 `_ - - `nimcall`:idx: - `manual.html#182 `_ - - `NimrodMajor`:idx: - `system.html#395 `_ - - `NimrodMinor`:idx: - `system.html#396 `_ - - `NimrodPatch`:idx: - `system.html#397 `_ - - `NimrodVersion`:idx: - `system.html#394 `_ - - `nnkCallKinds`:idx: - `macros.html#112 `_ - - `nnkLiterals`:idx: - `macros.html#111 `_ - - `no heap sharing restriction`:idx: - `manual.html#283 `_ - - `noconv`:idx: - `manual.html#185 `_ - - `noDecl`:idx: - `nimrodc.html#108 `_ - - `NO_DEFAULT_VALUE_FLAG`:idx: - `mysql.html#136 `_ - - `nodeName`:idx: - `xmldom.html#160 `_ - - `nodes`:idx: - * `lists.html#119 `_ - * `lists.html#120 `_ - * `lists.html#121 `_ - * `lists.html#122 `_ - - `nodeType`:idx: - `xmldom.html#161 `_ - - `noinit`:idx: - `manual.html#197 `_ - - `nonterminal`:idx: - `pegs.html#135 `_ - - `noreturn`:idx: - `manual.html#256 `_ - - `normalize`:idx: - * `strutils.html#114 `_ - * `xmldom.html#172 `_ - - `noscript`:idx: - * `xmlgen.html#152 `_ - * `htmlgen.html#152 `_ - - `noSideEffect`:idx: - `manual.html#253 `_ - - `noStackFrame`:idx: - `manual.html#261 `_ - - `not`:idx: - * `system.html#123 `_ - * `system.html#218 `_ - * `system.html#219 `_ - * `system.html#220 `_ - * `system.html#221 `_ - * `system.html#222 `_ - - `notice`:idx: - `irc.html#109 `_ - - `not_in`:idx: - `system.html#373 `_ - - `NOT_NULL_FLAG`:idx: - `mysql.html#124 `_ - - `ntohl`:idx: - `sockets.html#114 `_ - - `ntohs`:idx: - `sockets.html#115 `_ - - `NULL_LENGTH`:idx: - `mysql.html#289 `_ - - `Numerical constants`:idx: - `manual.html#138 `_ - - `NUM_FLAG`:idx: - `mysql.html#137 `_ - - `object`:idx: - * `xmlgen.html#153 `_ - * `manual.html#167 `_ - * `htmlgen.html#153 `_ - - `object branch transition`:idx: - `system.html#130 `_ - - `Objective C`:idx: - * `nimrodc.html#115 `_ - * `nimrodc.html#119 `_ - - `octet2hex`:idx: - `mysql.html#276 `_ - - `of`:idx: - `system.html#376 `_ - - `off`:idx: - `system.html#115 `_ - - `oidToString`:idx: - `oids.html#104 `_ - - `ol`:idx: - * `xmlgen.html#154 `_ - * `htmlgen.html#154 `_ - - `on`:idx: - * `system.html#114 `_ - * `events.html#110 `_ - - `onFailedAssert`:idx: - `system.html#636 `_ - - `ONLY_KILL_QUERY`:idx: - `mysql.html#189 `_ - - `open`:idx: - * `inboxes.html#109 `_ - * `channels.html#105 `_ - * `lexbase.html#104 `_ - * `parsecfg.html#104 `_ - * `parsexml.html#107 `_ - * `parsecsv.html#106 `_ - * `zipfiles.html#102 `_ - * `httpserver.html#104 `_ - * `json.html#105 `_ - * `scgi.html#106 `_ - * `scgi.html#111 `_ - * `redis.html#109 `_ - * `zmq.html#172 `_ - * `sphinx.html#158 `_ - * `encodings.html#105 `_ - * `memfiles.html#104 `_ - - `Open`:idx: - * `system.html#556 `_ - * `system.html#557 `_ - * `system.html#558 `_ - * `db_postgres.html#118 `_ - * `db_mysql.html#117 `_ - * `db_sqlite.html#118 `_ - - `openarray`:idx: - * `tut1.html#119 `_ - * `system.html#136 `_ - - `openDefaultBrowser`:idx: - `browsers.html#101 `_ - - `operator`:idx: - `manual.html#140 `_ - - `Operators`:idx: - `manual.html#225 `_ - - `optgroup`:idx: - * `xmlgen.html#155 `_ - * `htmlgen.html#155 `_ - - `option`:idx: - * `xmlgen.html#156 `_ - * `htmlgen.html#156 `_ - - `or`:idx: - * `system.html#125 `_ - * `system.html#263 `_ - * `system.html#264 `_ - * `system.html#265 `_ - * `system.html#266 `_ - * `system.html#267 `_ - - `ord`:idx: - `system.html#197 `_ - - `ordinal`:idx: - `tut1.html#114 `_ - - `Ordinal`:idx: - `system.html#116 `_ - - `Ordinal types`:idx: - `manual.html#143 `_ - - `OSError`:idx: - `os.html#114 `_ - - `OSErrorMsg`:idx: - `os.html#113 `_ - - `out of memory`:idx: - `system.html#545 `_ - - `outOfMemHook`:idx: - `system.html#546 `_ - - `outputStream`:idx: - `osproc.html#117 `_ - - `ownerDocument`:idx: - `xmldom.html#162 `_ - - `ownerElement`:idx: - `xmldom.html#188 `_ - - `p`:idx: - * `xmlgen.html#157 `_ - * `htmlgen.html#157 `_ - - `packet_error`:idx: - `mysql.html#201 `_ - - `PActor`:idx: - `actors.html#103 `_ - - `PAIR`:idx: - `zmq.html#122 `_ - - `pairs`:idx: - * `system.html#500 `_ - * `system.html#501 `_ - * `system.html#502 `_ - * `system.html#503 `_ - * `strtabs.html#105 `_ - * `json.html#142 `_ - * `tables.html#103 `_ - * `tables.html#119 `_ - * `tables.html#134 `_ - * `critbits.html#117 `_ - - `pairsWithPrefix`:idx: - `critbits.html#123 `_ - - `parallelReplace`:idx: - * `re.html#127 `_ - * `pegs.html#164 `_ - - `param`:idx: - * `xmlgen.html#158 `_ - * `htmlgen.html#158 `_ - - `paramCount`:idx: - `os.html#175 `_ - - `paramStr`:idx: - `os.html#177 `_ - - `ParDir`:idx: - `os.html#102 `_ - - `parentDir`:idx: - `os.html#130 `_ - - `parentDirs`:idx: - `os.html#132 `_ - - `parentNode`:idx: - `xmldom.html#163 `_ - - `parseBiggestFloat`:idx: - `parseutils.html#118 `_ - - `ParseBiggestInt`:idx: - `strutils.html#129 `_ - - `parseBiggestInt`:idx: - `parseutils.html#116 `_ - - `parseBool`:idx: - `strutils.html#132 `_ - - `parseCmdLine`:idx: - `os.html#165 `_ - - `parseColor`:idx: - `colors.html#249 `_ - - `parseEnum`:idx: - * `strutils.html#133 `_ - * `strutils.html#134 `_ - - `parseExpr`:idx: - `macros.html#149 `_ - - `parseFile`:idx: - `json.html#145 `_ - - `parseFloat`:idx: - `parseutils.html#119 `_ - - `ParseFloat`:idx: - `strutils.html#130 `_ - - `parseHex`:idx: - `parseutils.html#101 `_ - - `ParseHexInt`:idx: - `strutils.html#131 `_ - - `parseHtml`:idx: - * `htmlparser.html#108 `_ - * `htmlparser.html#109 `_ - - `parseIdent`:idx: - * `parseutils.html#103 `_ - * `parseutils.html#104 `_ - - `ParseInt`:idx: - `strutils.html#128 `_ - - `parseInt`:idx: - * `matchers.html#102 `_ - * `parseutils.html#117 `_ - - `parseIp4`:idx: - `sockets.html#120 `_ - - `parseJson`:idx: - * `json.html#143 `_ - * `json.html#144 `_ - - `parseOct`:idx: - `parseutils.html#102 `_ - - `ParseOctInt`:idx: - `strutils.html#159 `_ - - `parseOid`:idx: - `oids.html#103 `_ - - `parsePeg`:idx: - `pegs.html#169 `_ - - `parseSQL`:idx: - `parsesql.html#109 `_ - - `parseStmt`:idx: - `macros.html#150 `_ - - `parseToken`:idx: - `parseutils.html#105 `_ - - `parseUntil`:idx: - * `parseutils.html#112 `_ - * `parseutils.html#113 `_ - - `parseWhile`:idx: - `parseutils.html#114 `_ - - `parseXml`:idx: - * `xmlparser.html#102 `_ - * `xmlparser.html#103 `_ - - `part`:idx: - `irc.html#111 `_ - - `PART_KEY_FLAG`:idx: - `mysql.html#138 `_ - - `PAsyncFTPClient`:idx: - `ftpclient.html#102 `_ - - `PAsyncIRC`:idx: - `irc.html#102 `_ - - `PAsyncScgiState`:idx: - `scgi.html#105 `_ - - `PAsyncSocket`:idx: - `asyncio.html#103 `_ - - `PathSep`:idx: - `os.html#105 `_ - - `PAttr`:idx: - `xmldom.html#130 `_ - - `PCDataSection`:idx: - `xmldom.html#134 `_ - - `PCharacterData`:idx: - `xmldom.html#128 `_ - - `Pcharacter_set`:idx: - `mysql.html#350 `_ - - `Pcharset_info_st`:idx: - `mysql.html#349 `_ - - `PClient`:idx: - `sphinx.html#146 `_ - - `PComment`:idx: - `xmldom.html#133 `_ - - `PContext`:idx: - `zmq.html#140 `_ - - `PConverter`:idx: - `encodings.html#102 `_ - - `PCURL`:idx: - `libcurl.html#139 `_ - - `Pcurl_calloc_callback`:idx: - `libcurl.html#101 `_ - - `Pcurl_closepolicy`:idx: - `libcurl.html#102 `_ - - `PCURLcode`:idx: - `libcurl.html#123 `_ - - `PCURLFORMcode`:idx: - `libcurl.html#124 `_ - - `PCURLformoption`:idx: - `libcurl.html#125 `_ - - `Pcurl_forms`:idx: - `libcurl.html#103 `_ - - `Pcurl_ftpauth`:idx: - `libcurl.html#104 `_ - - `Pcurl_ftpmethod`:idx: - `libcurl.html#105 `_ - - `Pcurl_ftpssl`:idx: - `libcurl.html#106 `_ - - `Pcurl_httppost`:idx: - `libcurl.html#108 `_ - - `PCURL_HTTP_VERSION`:idx: - `libcurl.html#107 `_ - - `PCURLINFO`:idx: - `libcurl.html#126 `_ - - `Pcurl_infotype`:idx: - `libcurl.html#110 `_ - - `Pcurliocmd`:idx: - `libcurl.html#127 `_ - - `Pcurlioerr`:idx: - `libcurl.html#128 `_ - - `Pcurl_lock_access`:idx: - `libcurl.html#111 `_ - - `Pcurl_lock_data`:idx: - `libcurl.html#112 `_ - - `PCURLM`:idx: - `libcurl.html#129 `_ - - `Pcurl_malloc_callback`:idx: - `libcurl.html#113 `_ - - `PCURLMcode`:idx: - `libcurl.html#130 `_ - - `PCURLMoption`:idx: - `libcurl.html#131 `_ - - `PCURLMSG`:idx: - `libcurl.html#132 `_ - - `PCURL_NETRC_OPTION`:idx: - `libcurl.html#114 `_ - - `PCURLoption`:idx: - `libcurl.html#133 `_ - - `Pcurl_proxytype`:idx: - `libcurl.html#115 `_ - - `Pcurl_realloc_callback`:idx: - `libcurl.html#116 `_ - - `PCURLSH`:idx: - `libcurl.html#134 `_ - - `PCURLSHcode`:idx: - `libcurl.html#135 `_ - - `PCURLSHoption`:idx: - `libcurl.html#136 `_ - - `Pcurl_slist`:idx: - `libcurl.html#117 `_ - - `Pcurl_socket`:idx: - `libcurl.html#118 `_ - - `PCURL_SSL_VERSION`:idx: - `libcurl.html#119 `_ - - `Pcurl_strdup_callback`:idx: - `libcurl.html#120 `_ - - `PCURL_TIMECOND`:idx: - `libcurl.html#121 `_ - - `PCURLversion`:idx: - `libcurl.html#137 `_ - - `Pcurl_version_info_data`:idx: - `libcurl.html#122 `_ - - `PDelegate`:idx: - `asyncio.html#101 `_ - - `PDispatcher`:idx: - `asyncio.html#102 `_ - - `PDocument`:idx: - `xmldom.html#129 `_ - - `PDocumentFragment`:idx: - `xmldom.html#131 `_ - - `PDOMImplementation`:idx: - `xmldom.html#125 `_ - - `PDoublyLinkedNode`:idx: - `lists.html#102 `_ - - `peek`:idx: - * `inboxes.html#104 `_ - * `inboxes.html#105 `_ - * `inboxes.html#114 `_ - * `inboxes.html#115 `_ - * `channels.html#104 `_ - - `peekExitCode`:idx: - `osproc.html#115 `_ - - `peg`:idx: - `pegs.html#170 `_ - - `PElement`:idx: - `xmldom.html#127 `_ - - `persist`:idx: - `redis.html#116 `_ - - `Pfd_set`:idx: - `libcurl.html#138 `_ - - `PFileStream`:idx: - `streams.html#132 `_ - - `PFloat32`:idx: - `system.html#432 `_ - - `PFloat64`:idx: - `system.html#433 `_ - - `PFont`:idx: - `graphics.html#106 `_ - - `Pgptr`:idx: - `mysql.html#104 `_ - - `PI`:idx: - `math.html#101 `_ - - `PIName`:idx: - `parsexml.html#115 `_ - - `ping`:idx: - `redis.html#201 `_ - - `PInt32`:idx: - `system.html#435 `_ - - `PInt64`:idx: - `system.html#434 `_ - - `pipe operator`:idx: - `filters.html#101 `_ - - `PIRest`:idx: - `parsexml.html#116 `_ - - `PItem_result`:idx: - `mysql.html#256 `_ - - `PJsonNode`:idx: - `json.html#118 `_ - - `PMEM_ROOT`:idx: - `mysql.html#326 `_ - - `Pmy_bool`:idx: - `mysql.html#102 `_ - - `PMY_CHARSET_INFO`:idx: - `mysql.html#353 `_ - - `Pmy_socket`:idx: - `mysql.html#106 `_ - - `PMYSQL`:idx: - `mysql.html#358 `_ - - `PMYSQL_BIND`:idx: - `mysql.html#380 `_ - - `PMYSQL_DATA`:idx: - `mysql.html#330 `_ - - `PMYSQL_FIELD`:idx: - `mysql.html#297 `_ - - `PMYSQL_FIELD_OFFSET`:idx: - `mysql.html#300 `_ - - `PMYSQL_MANAGER`:idx: - `mysql.html#371 `_ - - `PMYSQL_METHODS`:idx: - `mysql.html#367 `_ - - `PMYSQL_PARAMETERS`:idx: - `mysql.html#375 `_ - - `PMYSQL_RES`:idx: - `mysql.html#362 `_ - - `PMYSQL_ROW`:idx: - `mysql.html#298 `_ - - `PMYSQL_ROW_OFFSET`:idx: - `mysql.html#315 `_ - - `PMYSQL_ROWS`:idx: - `mysql.html#314 `_ - - `PMYSQL_STMT`:idx: - `mysql.html#364 `_ - - `Pmy_ulonglong`:idx: - `mysql.html#309 `_ - - `PNET`:idx: - `mysql.html#200 `_ - - `PNimrodNode`:idx: - `system.html#641 `_ - - `PNimrodSymbol`:idx: - `macros.html#110 `_ - - `PNimrodType`:idx: - `macros.html#109 `_ - - `PNode`:idx: - `xmldom.html#126 `_ - - `PNonTerminal`:idx: - `pegs.html#102 `_ - - `PObject`:idx: - `system.html#149 `_ - - `pointer`:idx: - `system.html#113 `_ - - `pointers`:idx: - * `manual.html#170 `_ - * `tut1.html#120 `_ - - `poll`:idx: - * `zmq.html#166 `_ - * `irc.html#115 `_ - * `asyncio.html#125 `_ - - `POLLERR`:idx: - `zmq.html#118 `_ - - `POLLIN`:idx: - `zmq.html#116 `_ - - `POLLOUT`:idx: - `zmq.html#117 `_ - - `pop`:idx: - `system.html#516 `_ - - `port`:idx: - `httpserver.html#105 `_ - - `Positive`:idx: - `system.html#147 `_ - - `post`:idx: - `httpclient.html#108 `_ - - `postContent`:idx: - `httpclient.html#109 `_ - - `PostgreSQL`:idx: - `db_postgres.html#101 `_ - - `pow`:idx: - * `math.html#136 `_ - * `complex.html#123 `_ - - `PPByte`:idx: - `mysql.html#108 `_ - - `PPcurl_httppost`:idx: - `libcurl.html#109 `_ - - `PPPChar`:idx: - `sqlite3.html#174 `_ - - `PProcess`:idx: - `osproc.html#101 `_ - - `PProcessingInstruction`:idx: - `xmldom.html#135 `_ - - `PPSqlite3`:idx: - `sqlite3.html#176 `_ - - `PPsqlite3_stmt`:idx: - `sqlite3.html#179 `_ - - `PPsqlite3_value`:idx: - `sqlite3.html#181 `_ - - `pragma`:idx: - `manual.html#275 `_ - - `Prand_struct`:idx: - `mysql.html#253 `_ - - `pre`:idx: - * `xmlgen.html#159 `_ - * `htmlgen.html#159 `_ - - `pred`:idx: - `system.html#185 `_ - - `prefix=`:idx: - `xmldom.html#165 `_ - - `prepend`:idx: - * `lists.html#135 `_ - * `lists.html#136 `_ - * `lists.html#139 `_ - * `lists.html#140 `_ - * `lists.html#142 `_ - * `lists.html#143 `_ - * `lists.html#146 `_ - * `lists.html#147 `_ - - `pretty`:idx: - `json.html#139 `_ - - `previousSibling`:idx: - `xmldom.html#164 `_ - - `PRI_KEY_FLAG`:idx: - `mysql.html#125 `_ - - `privmsg`:idx: - `irc.html#108 `_ - - `procedural type`:idx: - * `manual.html#174 `_ - * `tut1.html#123 `_ - - `procedures`:idx: - `manual.html#222 `_ - - `processedRows`:idx: - `parsecsv.html#107 `_ - - `processID`:idx: - `osproc.html#113 `_ - - `ProcessingInstructionNode`:idx: - `xmldom.html#121 `_ - - `procvar`:idx: - `manual.html#254 `_ - - `programming by contracts`:idx: - `system.html#633 `_ - - `programResult`:idx: - `system.html#409 `_ - - `PRope`:idx: - `ropes.html#102 `_ - - `PSinglyLinkedNode`:idx: - `lists.html#104 `_ - - `Psockaddr`:idx: - `mysql.html#250 `_ - - `PSocket`:idx: - `zmq.html#141 `_ - - `Psqlite3`:idx: - `sqlite3.html#175 `_ - - `Psqlite3_context`:idx: - `sqlite3.html#177 `_ - - `Psqlite3_stmt`:idx: - `sqlite3.html#178 `_ - - `Psqlite3_value`:idx: - `sqlite3.html#180 `_ - - `PSqlNode`:idx: - `parsesql.html#104 `_ - - `Pst_dynamic_array`:idx: - `mysql.html#341 `_ - - `Pst_mem_root`:idx: - `mysql.html#323 `_ - - `Pst_mysql`:idx: - `mysql.html#355 `_ - - `Pst_mysql_bind`:idx: - `mysql.html#377 `_ - - `Pst_mysql_data`:idx: - `mysql.html#327 `_ - - `Pst_mysql_field`:idx: - `mysql.html#294 `_ - - `Pst_mysql_manager`:idx: - `mysql.html#368 `_ - - `Pst_mysql_methods`:idx: - `mysql.html#354 `_ - - `Pst_mysql_options`:idx: - `mysql.html#342 `_ - - `Pst_mysql_parameters`:idx: - `mysql.html#372 `_ - - `Pst_mysql_res`:idx: - `mysql.html#359 `_ - - `Pst_mysql_rows`:idx: - `mysql.html#311 `_ - - `Pst_mysql_stmt`:idx: - `mysql.html#363 `_ - - `Pst_net`:idx: - `mysql.html#197 `_ - - `PStream`:idx: - `streams.html#101 `_ - - `PStringStream`:idx: - `streams.html#129 `_ - - `PStringTable`:idx: - `strtabs.html#103 `_ - - `Pst_udf_args`:idx: - `mysql.html#257 `_ - - `Pst_udf_init`:idx: - `mysql.html#261 `_ - - `Pst_used_mem`:idx: - `mysql.html#319 `_ - - `PSurface`:idx: - `graphics.html#103 `_ - - `PText`:idx: - `xmldom.html#132 `_ - - `PUB`:idx: - `zmq.html#123 `_ - - `PUDF_ARGS`:idx: - `mysql.html#260 `_ - - `PUDF_INIT`:idx: - `mysql.html#264 `_ - - `PULL`:idx: - `zmq.html#129 `_ - - `pure`:idx: - `manual.html#260 `_ - - `PUSED_MEM`:idx: - `mysql.html#322 `_ - - `PUSH`:idx: - `zmq.html#130 `_ - - `push`:idx: - * `math.html#140 `_ - * `math.html#141 `_ - - `push/pop`:idx: - `manual.html#272 `_ - - `putEnv`:idx: - `os.html#153 `_ - - `PVIO`:idx: - `mysql.html#103 `_ - - `pwd`:idx: - `ftpclient.html#111 `_ - - `PXmlAttributes`:idx: - `xmltree.html#103 `_ - - `PXmlNode`:idx: - `xmltree.html#101 `_ - - `PZipFileStream`:idx: - `zipfiles.html#108 `_ - - `q`:idx: - * `xmlgen.html#160 `_ - * `htmlgen.html#160 `_ - - `query`:idx: - `sphinx.html#179 `_ - - `QUEUE`:idx: - `zmq.html#121 `_ - - `quit`:idx: - * `system.html#410 `_ - * `system.html#606 `_ - * `redis.html#202 `_ - - `QuitFailure`:idx: - `system.html#408 `_ - - `QuitSuccess`:idx: - `system.html#407 `_ - - `quotation mark`:idx: - `manual.html#128 `_ - - `quoteIfContainsWhite`:idx: - `strutils.html#151 `_ - - `raiseAssert`:idx: - `system.html#632 `_ - - `raiseParseErr`:idx: - `json.html#121 `_ - - `rand`:idx: - `system.html#629 `_ - - `random`:idx: - `math.html#116 `_ - - `randominit`:idx: - `mysql.html#267 `_ - - `randomize`:idx: - `math.html#117 `_ - - `randomKey`:idx: - `redis.html#117 `_ - - `rand_struct`:idx: - `mysql.html#254 `_ - - `range`:idx: - `system.html#134 `_ - - `raw string literals`:idx: - `manual.html#136 `_ - - `rawEnv`:idx: - `system.html#605 `_ - - `rawMatch`:idx: - `pegs.html#147 `_ - - `rawProc`:idx: - `system.html#604 `_ - - `re`:idx: - `re.html#108 `_ - - `re-raised`:idx: - `manual.html#205 `_ - - `readAll`:idx: - `system.html#564 `_ - - `readBool`:idx: - `streams.html#119 `_ - - `readBuffer`:idx: - `system.html#583 `_ - - `ReadBytes`:idx: - `system.html#581 `_ - - `readChar`:idx: - * `system.html#562 `_ - * `streams.html#118 `_ - - `ReadChars`:idx: - `system.html#582 `_ - - `readData`:idx: - * `streams.html#112 `_ - * `streams.html#113 `_ - * `cgi.html#109 `_ - - `readFile`:idx: - `system.html#565 `_ - - `readFloat32`:idx: - `streams.html#124 `_ - - `readFloat64`:idx: - `streams.html#125 `_ - - `readInt16`:idx: - `streams.html#121 `_ - - `readInt32`:idx: - `streams.html#122 `_ - - `readInt64`:idx: - `streams.html#123 `_ - - `readInt8`:idx: - `streams.html#120 `_ - - `readLine`:idx: - * `system.html#576 `_ - * `system.html#577 `_ - * `streams.html#127 `_ - * `streams.html#128 `_ - - `ReadLineFromStdin`:idx: - * `rdstdin.html#102 `_ - * `rdstdin.html#103 `_ - - `readRow`:idx: - `parsecsv.html#108 `_ - - `readStr`:idx: - `streams.html#126 `_ - - `ready`:idx: - * `inboxes.html#106 `_ - * `channels.html#107 `_ - * `actors.html#107 `_ - - `realloc`:idx: - `system.html#453 `_ - - `reallocShared`:idx: - `system.html#457 `_ - - `reBinary`:idx: - * `regexprs.html#116 `_ - * `re.html#136 `_ - - `receive`:idx: - `zmq.html#175 `_ - - `Recursive module dependencies`:idx: - `manual.html#247 `_ - - `recv`:idx: - * `inboxes.html#103 `_ - * `inboxes.html#116 `_ - * `inboxes.html#117 `_ - * `manual.html#288 `_ - * `sockets.html#138 `_ - * `sockets.html#139 `_ - * `sockets.html#143 `_ - * `channels.html#103 `_ - * `zmq.html#165 `_ - * `actors.html#109 `_ - - `recvAsync`:idx: - `sockets.html#145 `_ - - `recvLine`:idx: - * `sockets.html#140 `_ - * `sockets.html#141 `_ - * `ssl.html#103 `_ - * `asyncio.html#124 `_ - - `recvLineAsync`:idx: - `sockets.html#142 `_ - - `recvTimeout`:idx: - `sockets.html#144 `_ - - `redisNil`:idx: - `redis.html#101 `_ - - `reEmail`:idx: - * `regexprs.html#119 `_ - * `re.html#139 `_ - - `reFloat`:idx: - * `regexprs.html#118 `_ - * `re.html#138 `_ - - `REFRESH_DES_KEY_FILE`:idx: - `mysql.html#154 `_ - - `REFRESH_FAST`:idx: - `mysql.html#151 `_ - - `REFRESH_GRANT`:idx: - `mysql.html#142 `_ - - `REFRESH_HOSTS`:idx: - `mysql.html#145 `_ - - `REFRESH_LOG`:idx: - `mysql.html#143 `_ - - `REFRESH_MASTER`:idx: - `mysql.html#149 `_ - - `REFRESH_QUERY_CACHE`:idx: - `mysql.html#152 `_ - - `REFRESH_QUERY_CACHE_FREE`:idx: - `mysql.html#153 `_ - - `REFRESH_READ_LOCK`:idx: - `mysql.html#150 `_ - - `REFRESH_SLAVE`:idx: - `mysql.html#148 `_ - - `REFRESH_STATUS`:idx: - `mysql.html#146 `_ - - `REFRESH_TABLES`:idx: - `mysql.html#144 `_ - - `REFRESH_THREADS`:idx: - `mysql.html#147 `_ - - `REFRESH_USER_RESOURCES`:idx: - `mysql.html#155 `_ - - `regex`:idx: - `subexes.html#103 `_ - - `register`:idx: - * `manual.html#273 `_ - * `scgi.html#112 `_ - * `irc.html#120 `_ - * `ftpclient.html#124 `_ - * `asyncio.html#115 `_ - * `asyncio.html#116 `_ - - `reHex`:idx: - * `regexprs.html#115 `_ - * `re.html#135 `_ - - `reIdentifier`:idx: - * `regexprs.html#112 `_ - * `re.html#132 `_ - - `reInteger`:idx: - * `regexprs.html#114 `_ - * `re.html#134 `_ - - `Release`:idx: - `locks.html#109 `_ - - `release build`:idx: - `nimrodc.html#102 `_ - - `remove`:idx: - * `lists.html#141 `_ - * `lists.html#148 `_ - - `removeAttribute`:idx: - `xmldom.html#198 `_ - - `removeAttributeNode`:idx: - `xmldom.html#200 `_ - - `removeAttributeNS`:idx: - `xmldom.html#199 `_ - - `removeChild`:idx: - `xmldom.html#173 `_ - - `removeDir`:idx: - `os.html#161 `_ - - `removeFile`:idx: - `os.html#146 `_ - - `removeHandler`:idx: - `events.html#107 `_ - - `removeNamedItem`:idx: - `xmldom.html#180 `_ - - `removeNamedItemNS`:idx: - `xmldom.html#181 `_ - - `rename`:idx: - `redis.html#118 `_ - - `renameNX`:idx: - `redis.html#119 `_ - - `reNatural`:idx: - * `regexprs.html#113 `_ - * `re.html#133 `_ - - `renderSQL`:idx: - `parsesql.html#110 `_ - - `reOctal`:idx: - * `regexprs.html#117 `_ - * `re.html#137 `_ - - `reopen`:idx: - `system.html#559 `_ - - `REP`:idx: - `zmq.html#126 `_ - - `repeatChar`:idx: - `strutils.html#135 `_ - - `repeatStr`:idx: - `strutils.html#136 `_ - - `REPL`:idx: - `nimrodc.html#126 `_ - - `replace`:idx: - * `filters.html#102 `_ - * `re.html#125 `_ - * `strutils.html#155 `_ - * `strutils.html#156 `_ - * `pegs.html#163 `_ - - `replaceChild`:idx: - `xmldom.html#174 `_ - - `replacef`:idx: - * `re.html#126 `_ - * `pegs.html#162 `_ - - `replaceWord`:idx: - `strutils.html#157 `_ - - `reply`:idx: - `actors.html#113 `_ - - `repr`:idx: - `system.html#418 `_ - - `REQ`:idx: - `zmq.html#125 `_ - - `request`:idx: - `httpclient.html#105 `_ - - `reset`:idx: - `system.html#131 `_ - - `ResetAttributes`:idx: - `terminal.html#110 `_ - - `reset_filters`:idx: - `sphinx.html#177 `_ - - `reset_groupby`:idx: - `sphinx.html#178 `_ - - `resource`:idx: - `system.html#619 `_ - - `result`:idx: - * `manual.html#212 `_ - * `manual.html#224 `_ - - `resume`:idx: - `osproc.html#110 `_ - - `retrFile`:idx: - `ftpclient.html#120 `_ - - `retrText`:idx: - `ftpclient.html#119 `_ - - `return`:idx: - `manual.html#211 `_ - - `reURL`:idx: - * `regexprs.html#120 `_ - * `re.html#140 `_ - - `reverse`:idx: - * `algorithm.html#103 `_ - * `algorithm.html#104 `_ - - `rgb`:idx: - `colors.html#251 `_ - - `rod`:idx: - `nimrodc.html#103 `_ - - `rope`:idx: - * `ropes.html#101 `_ - * `ropes.html#104 `_ - * `ropes.html#105 `_ - * `ropes.html#106 `_ - - `round`:idx: - `math.html#124 `_ - - `ROUTER`:idx: - `zmq.html#128 `_ - - `Rows`:idx: - * `db_postgres.html#112 `_ - * `db_mysql.html#111 `_ - * `db_sqlite.html#112 `_ - - `rPop`:idx: - `redis.html#161 `_ - - `rPopLPush`:idx: - `redis.html#162 `_ - - `rPush`:idx: - `redis.html#163 `_ - - `run`:idx: - * `httpserver.html#108 `_ - * `scgi.html#110 `_ - - `runeAt`:idx: - `unicode.html#109 `_ - - `runeLen`:idx: - `unicode.html#106 `_ - - `runeLenAt`:idx: - `unicode.html#107 `_ - - `runes`:idx: - `unicode.html#119 `_ - - `running`:idx: - * `threads.html#103 `_ - * `osproc.html#112 `_ - * `actors.html#106 `_ - - `run_queries`:idx: - `sphinx.html#181 `_ - - `sadd`:idx: - `redis.html#164 `_ - - `safe`:idx: - `manual.html#112 `_ - - `safecall`:idx: - `manual.html#179 `_ - - `sameFile`:idx: - `os.html#141 `_ - - `sameFileContent`:idx: - `os.html#142 `_ - - `samp`:idx: - * `xmlgen.html#161 `_ - * `htmlgen.html#161 `_ - - `save`:idx: - `redis.html#216 `_ - - `scard`:idx: - `redis.html#165 `_ - - `scgiError`:idx: - `scgi.html#102 `_ - - `scope`:idx: - * `manual.html#106 `_ - * `manual.html#248 `_ - - `scramble`:idx: - `mysql.html#278 `_ - - `scramble_323`:idx: - `mysql.html#272 `_ - - `SCRAMBLED_PASSWORD_CHAR_LENGTH`:idx: - `mysql.html#122 `_ - - `SCRAMBLED_PASSWORD_CHAR_LENGTH_323`:idx: - `mysql.html#123 `_ - - `SCRAMBLE_LENGTH`:idx: - `mysql.html#120 `_ - - `SCRAMBLE_LENGTH_323`:idx: - `mysql.html#121 `_ - - `screen`:idx: - `dom.html#134 `_ - - `script`:idx: - * `xmlgen.html#162 `_ - * `htmlgen.html#162 `_ - - `ScriptExt`:idx: - `os.html#108 `_ - - `sdiff`:idx: - `redis.html#166 `_ - - `sdiffstore`:idx: - `redis.html#167 `_ - - `SEARCHD_ERROR`:idx: - `sphinx.html#103 `_ - - `SEARCHD_OK`:idx: - `sphinx.html#102 `_ - - `SEARCHD_RETRY`:idx: - `sphinx.html#104 `_ - - `SEARCHD_WARNING`:idx: - `sphinx.html#105 `_ - - `sec`:idx: - `complex.html#130 `_ - - `select`:idx: - * `xmlgen.html#163 `_ - * `sockets.html#134 `_ - * `sockets.html#135 `_ - * `sockets.html#137 `_ - * `osproc.html#121 `_ - * `htmlgen.html#163 `_ - * `redis.html#203 `_ - - `selectWrite`:idx: - `sockets.html#136 `_ - - `send`:idx: - * `inboxes.html#101 `_ - * `inboxes.html#102 `_ - * `inboxes.html#112 `_ - * `inboxes.html#113 `_ - * `manual.html#287 `_ - * `sockets.html#147 `_ - * `sockets.html#148 `_ - * `channels.html#102 `_ - * `ssl.html#104 `_ - * `zmq.html#164 `_ - * `zmq.html#174 `_ - * `irc.html#107 `_ - * `ftpclient.html#109 `_ - * `actors.html#110 `_ - * `actors.html#111 `_ - - `sendAsync`:idx: - `sockets.html#149 `_ - - `sendmail`:idx: - `smtp.html#106 `_ - - `sendShutdown`:idx: - `actors.html#112 `_ - - `separate compilation`:idx: - * `manual.html#245 `_ - * `tut1.html#127 `_ - - `seq`:idx: - * `system.html#137 `_ - * `sequtils.html#101 `_ - - `sequence`:idx: - `pegs.html#110 `_ - - `Sequences`:idx: - * `manual.html#165 `_ - * `tut1.html#118 `_ - - `serveFile`:idx: - `httpserver.html#102 `_ - - `SERVER_MORE_RESULTS_EXISTS`:idx: - `mysql.html#178 `_ - - `SERVER_QUERY_NO_GOOD_INDEX_USED`:idx: - `mysql.html#179 `_ - - `SERVER_QUERY_NO_INDEX_USED`:idx: - `mysql.html#180 `_ - - `SERVER_STATUS_AUTOCOMMIT`:idx: - `mysql.html#176 `_ - - `SERVER_STATUS_CURSOR_EXISTS`:idx: - `mysql.html#181 `_ - - `SERVER_STATUS_DB_DROPPED`:idx: - `mysql.html#183 `_ - - `SERVER_STATUS_IN_TRANS`:idx: - `mysql.html#175 `_ - - `SERVER_STATUS_LAST_ROW_SENT`:idx: - `mysql.html#182 `_ - - `SERVER_STATUS_MORE_RESULTS`:idx: - `mysql.html#177 `_ - - `SERVER_STATUS_NO_BACKSLASH_ESCAPES`:idx: - `mysql.html#184 `_ - - `SERVER_VERSION_LENGTH`:idx: - `mysql.html#113 `_ - - `set`:idx: - `system.html#138 `_ - - `set type`:idx: - * `manual.html#169 `_ - * `tut1.html#116 `_ - - `setAttribute`:idx: - `xmldom.html#203 `_ - - `setAttributeNode`:idx: - `xmldom.html#201 `_ - - `setAttributeNodeNS`:idx: - `xmldom.html#202 `_ - - `setAttributeNS`:idx: - `xmldom.html#204 `_ - - `setBackgroundColor`:idx: - `terminal.html#117 `_ - - `setBiggestFloat`:idx: - `typeinfo.html#140 `_ - - `setBiggestInt`:idx: - `typeinfo.html#129 `_ - - `setBit`:idx: - `redis.html#133 `_ - - `setBlocking`:idx: - `sockets.html#151 `_ - - `set_connect_timeout`:idx: - `sphinx.html#157 `_ - - `setControlCHook`:idx: - `system.html#596 `_ - - `setCookie`:idx: - `cgi.html#146 `_ - - `setCurrentDir`:idx: - `os.html#125 `_ - - `setCursorPos`:idx: - `terminal.html#101 `_ - - `setCursorXPos`:idx: - `terminal.html#102 `_ - - `setCursorYPos`:idx: - `terminal.html#103 `_ - - `setEx`:idx: - `redis.html#134 `_ - - `set_field_weights`:idx: - `sphinx.html#165 `_ - - `setFilePermissions`:idx: - `os.html#168 `_ - - `setFilePos`:idx: - `system.html#587 `_ - - `SET_FLAG`:idx: - `mysql.html#135 `_ - - `setForegroundColor`:idx: - `terminal.html#116 `_ - - `set_geoanchor`:idx: - `sphinx.html#171 `_ - - `set_groupby`:idx: - `sphinx.html#172 `_ - - `set_groupby_distinct`:idx: - `sphinx.html#173 `_ - - `set_id_range`:idx: - `sphinx.html#167 `_ - - `set_index_weights`:idx: - `sphinx.html#166 `_ - - `setk`:idx: - `redis.html#131 `_ - - `setLen`:idx: - * `system.html#380 `_ - * `system.html#381 `_ - - `set_limits`:idx: - `sphinx.html#160 `_ - - `set_match_mode`:idx: - `sphinx.html#162 `_ - - `set_max_query_time`:idx: - `sphinx.html#161 `_ - - `setNamedItem`:idx: - * `xmldom.html#182 `_ - * `xmldom.html#183 `_ - - `setNamedItemNS`:idx: - * `xmldom.html#184 `_ - * `xmldom.html#185 `_ - - `setNX`:idx: - `redis.html#132 `_ - - `setObjectRuntimeType`:idx: - `typeinfo.html#111 `_ - - `setPointer`:idx: - `typeinfo.html#117 `_ - - `setPosition`:idx: - * `streams.html#108 `_ - * `streams.html#109 `_ - - `setRange`:idx: - `redis.html#135 `_ - - `set_ranking_mode`:idx: - `sphinx.html#163 `_ - - `set_retries`:idx: - `sphinx.html#174 `_ - - `set_select`:idx: - `sphinx.html#176 `_ - - `set_server`:idx: - `sphinx.html#156 `_ - - `setsockopt`:idx: - `zmq.html#160 `_ - - `setSockOptInt`:idx: - `sockets.html#131 `_ - - `set_sort_mode`:idx: - `sphinx.html#164 `_ - - `setStackTraceNewLine`:idx: - `cgi.html#145 `_ - - `setString`:idx: - `typeinfo.html#142 `_ - - `setStyle`:idx: - `terminal.html#112 `_ - - `setTestData`:idx: - `cgi.html#143 `_ - - `shallow`:idx: - * `manual.html#259 `_ - * `nimrodc.html#127 `_ - * `system.html#637 `_ - * `system.html#638 `_ - * `system.html#639 `_ - * `system.html#640 `_ - - `shallow copy`:idx: - `system.html#413 `_ - - `shallowCopy`:idx: - `system.html#414 `_ - - `shared object`:idx: - `os.html#110 `_ - - `shell command`:idx: - `os.html#147 `_ - - `shl`:idx: - * `system.html#253 `_ - * `system.html#254 `_ - * `system.html#255 `_ - * `system.html#256 `_ - * `system.html#257 `_ - - `shr`:idx: - * `system.html#248 `_ - * `system.html#249 `_ - * `system.html#250 `_ - * `system.html#251 `_ - * `system.html#252 `_ - - `shutdown`:idx: - `redis.html#217 `_ - - `signal`:idx: - `locks.html#113 `_ - - `simple assertions`:idx: - * `regexprs.html#103 `_ - * `re.html#103 `_ - - `simple statements`:idx: - `manual.html#191 `_ - - `sin`:idx: - * `math.html#133 `_ - * `complex.html#124 `_ - - `single assignment`:idx: - `manual.html#199 `_ - - `SingleTags`:idx: - `htmlparser.html#104 `_ - - `sinh`:idx: - * `math.html#132 `_ - * `complex.html#132 `_ - - `sinter`:idx: - `redis.html#168 `_ - - `sinterstore`:idx: - `redis.html#169 `_ - - `sismember`:idx: - `redis.html#170 `_ - - `size`:idx: - `typeinfo.html#105 `_ - - `sizeof`:idx: - `system.html#182 `_ - - `skip`:idx: - * `sockets.html#146 `_ - * `parseutils.html#107 `_ - - `skipIgnoreCase`:idx: - `parseutils.html#108 `_ - - `skipRange`:idx: - `typeinfo.html#132 `_ - - `skipUntil`:idx: - * `parseutils.html#109 `_ - * `parseutils.html#110 `_ - - `skipWhile`:idx: - `parseutils.html#111 `_ - - `skipWhitespace`:idx: - `parseutils.html#106 `_ - - `slaveof`:idx: - `redis.html#218 `_ - - `sleep`:idx: - `os.html#182 `_ - - `slice`:idx: - * `manual.html#141 `_ - * `system.html#140 `_ - * `system.html#142 `_ - - `slurp`:idx: - `system.html#620 `_ - - `small`:idx: - * `xmlgen.html#164 `_ - * `htmlgen.html#164 `_ - - `Smallest`:idx: - `tables.html#147 `_ - - `smartBinarySearch`:idx: - `algorithm.html#106 `_ - - `smembers`:idx: - `redis.html#171 `_ - - `smove`:idx: - `redis.html#172 `_ - - `sockaddr`:idx: - `mysql.html#251 `_ - - `socket`:idx: - * `sockets.html#118 `_ - * `zmq.html#158 `_ - - `sort`:idx: - * `algorithm.html#107 `_ - * `tables.html#149 `_ - - `span`:idx: - * `xmlgen.html#165 `_ - * `htmlgen.html#165 `_ - - `spawn`:idx: - * `actors.html#104 `_ - * `actors.html#120 `_ - * `actors.html#121 `_ - - `specified`:idx: - `xmldom.html#187 `_ - - `SPH_ATTR_BIGINT`:idx: - `sphinx.html#136 `_ - - `SPH_ATTR_BOOL`:idx: - `sphinx.html#134 `_ - - `SPH_ATTR_FLOAT`:idx: - `sphinx.html#135 `_ - - `SPH_ATTR_INTEGER`:idx: - `sphinx.html#131 `_ - - `SPH_ATTR_MULTI`:idx: - `sphinx.html#138 `_ - - `SPH_ATTR_ORDINAL`:idx: - `sphinx.html#133 `_ - - `SPH_ATTR_STRING`:idx: - `sphinx.html#137 `_ - - `SPH_ATTR_TIMESTAMP`:idx: - `sphinx.html#132 `_ - - `SPH_FILTER_FLOATRANGE`:idx: - `sphinx.html#130 `_ - - `SPH_FILTER_RANGE`:idx: - `sphinx.html#129 `_ - - `SPH_FILTER_VALUES`:idx: - `sphinx.html#128 `_ - - `SPH_GROUPBY_ATTR`:idx: - `sphinx.html#143 `_ - - `SPH_GROUPBY_ATTRPAIR`:idx: - `sphinx.html#144 `_ - - `SPH_GROUPBY_DAY`:idx: - `sphinx.html#139 `_ - - `SPH_GROUPBY_MONTH`:idx: - `sphinx.html#141 `_ - - `SPH_GROUPBY_WEEK`:idx: - `sphinx.html#140 `_ - - `SPH_GROUPBY_YEAR`:idx: - `sphinx.html#142 `_ - - `sphinxDll`:idx: - `sphinx.html#101 `_ - - `SPH_MATCH_ALL`:idx: - `sphinx.html#106 `_ - - `SPH_MATCH_ANY`:idx: - `sphinx.html#107 `_ - - `SPH_MATCH_BOOLEAN`:idx: - `sphinx.html#109 `_ - - `SPH_MATCH_EXTENDED`:idx: - `sphinx.html#110 `_ - - `SPH_MATCH_EXTENDED2`:idx: - `sphinx.html#112 `_ - - `SPH_MATCH_FULLSCAN`:idx: - `sphinx.html#111 `_ - - `SPH_MATCH_PHRASE`:idx: - `sphinx.html#108 `_ - - `SPH_RANK_BM25`:idx: - `sphinx.html#114 `_ - - `SPH_RANK_DEFAULT`:idx: - `sphinx.html#121 `_ - - `SPH_RANK_FIELDMASK`:idx: - `sphinx.html#119 `_ - - `SPH_RANK_MATCHANY`:idx: - `sphinx.html#118 `_ - - `SPH_RANK_NONE`:idx: - `sphinx.html#115 `_ - - `SPH_RANK_PROXIMITY`:idx: - `sphinx.html#117 `_ - - `SPH_RANK_PROXIMITY_BM25`:idx: - `sphinx.html#113 `_ - - `SPH_RANK_SPH04`:idx: - `sphinx.html#120 `_ - - `SPH_RANK_WORDCOUNT`:idx: - `sphinx.html#116 `_ - - `SPH_SORT_ATTR_ASC`:idx: - `sphinx.html#124 `_ - - `SPH_SORT_ATTR_DESC`:idx: - `sphinx.html#123 `_ - - `SPH_SORT_EXPR`:idx: - `sphinx.html#127 `_ - - `SPH_SORT_EXTENDED`:idx: - `sphinx.html#126 `_ - - `SPH_SORT_RELEVANCE`:idx: - `sphinx.html#122 `_ - - `SPH_SORT_TIME_SEGMENTS`:idx: - `sphinx.html#125 `_ - - `splice`:idx: - * `system.html#609 `_ - * `system.html#616 `_ - - `split`:idx: - * `re.html#129 `_ - * `re.html#130 `_ - * `strutils.html#119 `_ - * `strutils.html#120 `_ - * `strutils.html#124 `_ - * `strutils.html#125 `_ - * `pegs.html#166 `_ - * `pegs.html#167 `_ - - `splitData`:idx: - `xmldom.html#205 `_ - - `splitFile`:idx: - `os.html#134 `_ - - `splitLines`:idx: - * `strutils.html#121 `_ - * `strutils.html#122 `_ - - `SplitPath`:idx: - `os.html#129 `_ - - `spop`:idx: - `redis.html#173 `_ - - `sql`:idx: - * `db_postgres.html#106 `_ - * `db_sqlite.html#106 `_ - - `SQLite`:idx: - `db_sqlite.html#101 `_ - - `sqlite3_aggregate_context`:idx: - `sqlite3.html#261 `_ - - `sqlite3_aggregate_count`:idx: - `sqlite3.html#249 `_ - - `sqlite3_bind_blob`:idx: - * `sqlite3.html#216 `_ - * `sqlite3.html#223 `_ - - `sqlite3_bind_double`:idx: - `sqlite3.html#217 `_ - - `sqlite3_bind_int`:idx: - `sqlite3.html#218 `_ - - `sqlite3_bind_int64`:idx: - `sqlite3.html#219 `_ - - `sqlite3_bind_null`:idx: - `sqlite3.html#220 `_ - - `sqlite3_bind_parameter_count`:idx: - `sqlite3.html#226 `_ - - `sqlite3_bind_parameter_index`:idx: - `sqlite3.html#228 `_ - - `sqlite3_bind_parameter_name`:idx: - `sqlite3.html#227 `_ - - `sqlite3_bind_text`:idx: - * `sqlite3.html#221 `_ - * `sqlite3.html#224 `_ - - `sqlite3_bind_text16`:idx: - * `sqlite3.html#222 `_ - * `sqlite3.html#225 `_ - - `sqlite3_busy_handler`:idx: - `sqlite3.html#198 `_ - - `sqlite3_busy_timeout`:idx: - `sqlite3.html#199 `_ - - `sqlite3_changes`:idx: - `sqlite3.html#193 `_ - - `sqlite3_close`:idx: - `sqlite3.html#190 `_ - - `sqlite3_collation_needed`:idx: - `sqlite3.html#279 `_ - - `sqlite3_collation_needed16`:idx: - `sqlite3.html#280 `_ - - `sqlite3_column_blob`:idx: - `sqlite3.html#236 `_ - - `sqlite3_column_bytes`:idx: - `sqlite3.html#237 `_ - - `sqlite3_column_bytes16`:idx: - `sqlite3.html#238 `_ - - `sqlite3_column_count`:idx: - `sqlite3.html#229 `_ - - `sqlite3_column_decltype`:idx: - `sqlite3.html#232 `_ - - `sqlite3_column_decltype16`:idx: - `sqlite3.html#233 `_ - - `sqlite3_column_double`:idx: - `sqlite3.html#239 `_ - - `sqlite3_column_int`:idx: - `sqlite3.html#240 `_ - - `sqlite3_column_int64`:idx: - `sqlite3.html#241 `_ - - `sqlite3_column_name`:idx: - `sqlite3.html#230 `_ - - `sqlite3_column_name16`:idx: - `sqlite3.html#231 `_ - - `sqlite3_column_text`:idx: - `sqlite3.html#242 `_ - - `sqlite3_column_text16`:idx: - `sqlite3.html#243 `_ - - `sqlite3_column_type`:idx: - `sqlite3.html#244 `_ - - `sqlite3_commit_hook`:idx: - `sqlite3.html#208 `_ - - `sqlite3_complete`:idx: - `sqlite3.html#196 `_ - - `sqlite3_complete16`:idx: - `sqlite3.html#197 `_ - - `sqlite3_create_collation`:idx: - `sqlite3.html#277 `_ - - `sqlite3_create_collation16`:idx: - `sqlite3.html#278 `_ - - `sqlite3_create_function`:idx: - `sqlite3.html#247 `_ - - `sqlite3_create_function16`:idx: - `sqlite3.html#248 `_ - - `sqlite3_data_count`:idx: - `sqlite3.html#235 `_ - - `sqlite3_errcode`:idx: - `sqlite3.html#211 `_ - - `sqlite3_errmsg`:idx: - `sqlite3.html#212 `_ - - `sqlite3_errmsg16`:idx: - `sqlite3.html#213 `_ - - `sqlite3_exec`:idx: - `sqlite3.html#191 `_ - - `sqlite3_finalize`:idx: - `sqlite3.html#245 `_ - - `sqlite3_free`:idx: - `sqlite3.html#203 `_ - - `sqlite3_free_table`:idx: - `sqlite3.html#201 `_ - - `sqlite3_get_auxdata`:idx: - `sqlite3.html#263 `_ - - `sqlite3_get_table`:idx: - `sqlite3.html#200 `_ - - `sqlite3_interrupt`:idx: - `sqlite3.html#195 `_ - - `sqlite3_last_insert_rowid`:idx: - `sqlite3.html#192 `_ - - `sqlite3_libversion`:idx: - `sqlite3.html#281 `_ - - `sqlite3_libversion_number`:idx: - `sqlite3.html#283 `_ - - `sqlite3_mprintf`:idx: - `sqlite3.html#202 `_ - - `sqlite3_open`:idx: - `sqlite3.html#209 `_ - - `sqlite3_open16`:idx: - `sqlite3.html#210 `_ - - `sqlite3_prepare`:idx: - `sqlite3.html#214 `_ - - `sqlite3_prepare16`:idx: - `sqlite3.html#215 `_ - - `sqlite3_progress_handler`:idx: - `sqlite3.html#207 `_ - - `sqlite3_reset`:idx: - `sqlite3.html#246 `_ - - `sqlite3_result_blob`:idx: - `sqlite3.html#265 `_ - - `sqlite3_result_double`:idx: - `sqlite3.html#266 `_ - - `sqlite3_result_error`:idx: - `sqlite3.html#267 `_ - - `sqlite3_result_error16`:idx: - `sqlite3.html#268 `_ - - `sqlite3_result_int`:idx: - `sqlite3.html#269 `_ - - `sqlite3_result_int64`:idx: - `sqlite3.html#270 `_ - - `sqlite3_result_null`:idx: - `sqlite3.html#271 `_ - - `sqlite3_result_text`:idx: - `sqlite3.html#272 `_ - - `sqlite3_result_text16`:idx: - `sqlite3.html#273 `_ - - `sqlite3_result_text16be`:idx: - `sqlite3.html#275 `_ - - `sqlite3_result_text16le`:idx: - `sqlite3.html#274 `_ - - `sqlite3_result_value`:idx: - `sqlite3.html#276 `_ - - `sqlite3_set_authorizer`:idx: - `sqlite3.html#205 `_ - - `sqlite3_set_auxdata`:idx: - `sqlite3.html#264 `_ - - `sqlite3_snprintf`:idx: - `sqlite3.html#204 `_ - - `sqlite3_step`:idx: - `sqlite3.html#234 `_ - - `SQLITE3_TEXT`:idx: - `sqlite3.html#106 `_ - - `sqlite3_total_changes`:idx: - `sqlite3.html#194 `_ - - `sqlite3_trace`:idx: - `sqlite3.html#206 `_ - - `sqlite3_user_data`:idx: - `sqlite3.html#262 `_ - - `sqlite3_value_blob`:idx: - `sqlite3.html#250 `_ - - `sqlite3_value_bytes`:idx: - `sqlite3.html#251 `_ - - `sqlite3_value_bytes16`:idx: - `sqlite3.html#252 `_ - - `sqlite3_value_double`:idx: - `sqlite3.html#253 `_ - - `sqlite3_value_int`:idx: - `sqlite3.html#254 `_ - - `sqlite3_value_int64`:idx: - `sqlite3.html#255 `_ - - `sqlite3_value_text`:idx: - `sqlite3.html#256 `_ - - `sqlite3_value_text16`:idx: - `sqlite3.html#257 `_ - - `sqlite3_value_text16be`:idx: - `sqlite3.html#259 `_ - - `sqlite3_value_text16le`:idx: - `sqlite3.html#258 `_ - - `sqlite3_value_type`:idx: - `sqlite3.html#260 `_ - - `sqlite3_version`:idx: - `sqlite3.html#282 `_ - - `SQLITE_ABORT`:idx: - `sqlite3.html#116 `_ - - `SQLITE_ALTER_TABLE`:idx: - `sqlite3.html#167 `_ - - `SQLITE_ANY`:idx: - `sqlite3.html#111 `_ - - `SQLITE_ATTACH`:idx: - `sqlite3.html#165 `_ - - `SQLITE_AUTH`:idx: - `sqlite3.html#135 `_ - - `SQLITE_BLOB`:idx: - `sqlite3.html#103 `_ - - `SQLITE_BUSY`:idx: - `sqlite3.html#117 `_ - - `SQLITE_CANTOPEN`:idx: - `sqlite3.html#126 `_ - - `SQLITE_CONSTRAINT`:idx: - `sqlite3.html#131 `_ - - `SQLITE_COPY`:idx: - `sqlite3.html#141 `_ - - `SQLITE_CORRUPT`:idx: - `sqlite3.html#123 `_ - - `SQLITE_CREATE_INDEX`:idx: - `sqlite3.html#142 `_ - - `SQLITE_CREATE_TABLE`:idx: - `sqlite3.html#143 `_ - - `SQLITE_CREATE_TEMP_INDEX`:idx: - `sqlite3.html#144 `_ - - `SQLITE_CREATE_TEMP_TABLE`:idx: - `sqlite3.html#145 `_ - - `SQLITE_CREATE_TEMP_TRIGGER`:idx: - `sqlite3.html#146 `_ - - `SQLITE_CREATE_TEMP_VIEW`:idx: - `sqlite3.html#147 `_ - - `SQLITE_CREATE_TRIGGER`:idx: - `sqlite3.html#148 `_ - - `SQLITE_CREATE_VIEW`:idx: - `sqlite3.html#149 `_ - - `SQLITE_DELETE`:idx: - `sqlite3.html#150 `_ - - `SQLITE_DENY`:idx: - `sqlite3.html#169 `_ - - `SQLITE_DETACH`:idx: - `sqlite3.html#166 `_ - - `SQLITE_DONE`:idx: - `sqlite3.html#140 `_ - - `SQLITE_DROP_INDEX`:idx: - `sqlite3.html#151 `_ - - `SQLITE_DROP_TABLE`:idx: - `sqlite3.html#152 `_ - - `SQLITE_DROP_TEMP_INDEX`:idx: - `sqlite3.html#153 `_ - - `SQLITE_DROP_TEMP_TABLE`:idx: - `sqlite3.html#154 `_ - - `SQLITE_DROP_TEMP_TRIGGER`:idx: - `sqlite3.html#155 `_ - - `SQLITE_DROP_TEMP_VIEW`:idx: - `sqlite3.html#156 `_ - - `SQLITE_DROP_TRIGGER`:idx: - `sqlite3.html#157 `_ - - `SQLITE_DROP_VIEW`:idx: - `sqlite3.html#158 `_ - - `SQLITE_EMPTY`:idx: - `sqlite3.html#128 `_ - - `SQLITE_ERROR`:idx: - `sqlite3.html#113 `_ - - `SQLITE_FLOAT`:idx: - `sqlite3.html#102 `_ - - `SQLITE_FORMAT`:idx: - `sqlite3.html#136 `_ - - `SQLITE_FULL`:idx: - `sqlite3.html#125 `_ - - `SQLITE_IGNORE`:idx: - `sqlite3.html#170 `_ - - `SQLITE_INSERT`:idx: - `sqlite3.html#159 `_ - - `sqlite_int64`:idx: - `sqlite3.html#173 `_ - - `SQLITE_INTEGER`:idx: - `sqlite3.html#101 `_ - - `SQLITE_INTERNAL`:idx: - `sqlite3.html#114 `_ - - `SQLITE_INTERRUPT`:idx: - `sqlite3.html#121 `_ - - `SQLITE_IOERR`:idx: - `sqlite3.html#122 `_ - - `SQLITE_LOCKED`:idx: - `sqlite3.html#118 `_ - - `SQLITE_MISMATCH`:idx: - `sqlite3.html#132 `_ - - `SQLITE_MISUSE`:idx: - `sqlite3.html#133 `_ - - `SQLITE_NOLFS`:idx: - `sqlite3.html#134 `_ - - `SQLITE_NOMEM`:idx: - `sqlite3.html#119 `_ - - `SQLITE_NOTADB`:idx: - `sqlite3.html#138 `_ - - `SQLITE_NOTFOUND`:idx: - `sqlite3.html#124 `_ - - `SQLITE_NULL`:idx: - `sqlite3.html#104 `_ - - `SQLITE_OK`:idx: - `sqlite3.html#112 `_ - - `SQLITE_PERM`:idx: - `sqlite3.html#115 `_ - - `SQLITE_PRAGMA`:idx: - `sqlite3.html#160 `_ - - `SQLITE_PROTOCOL`:idx: - `sqlite3.html#127 `_ - - `SQLITE_RANGE`:idx: - `sqlite3.html#137 `_ - - `SQLITE_READ`:idx: - `sqlite3.html#161 `_ - - `SQLITE_READONLY`:idx: - `sqlite3.html#120 `_ - - `SQLITE_REINDEX`:idx: - `sqlite3.html#168 `_ - - `SQLITE_ROW`:idx: - `sqlite3.html#139 `_ - - `SQLITE_SCHEMA`:idx: - `sqlite3.html#129 `_ - - `SQLITE_SELECT`:idx: - `sqlite3.html#162 `_ - - `SQLITE_STATIC`:idx: - `sqlite3.html#171 `_ - - `SQLITE_TEXT`:idx: - `sqlite3.html#105 `_ - - `SQLITE_TOOBIG`:idx: - `sqlite3.html#130 `_ - - `SQLITE_TRANSACTION`:idx: - `sqlite3.html#163 `_ - - `SQLITE_TRANSIENT`:idx: - `sqlite3.html#172 `_ - - `SQLITE_UPDATE`:idx: - `sqlite3.html#164 `_ - - `SQLITE_UTF16`:idx: - `sqlite3.html#110 `_ - - `SQLITE_UTF16BE`:idx: - `sqlite3.html#109 `_ - - `SQLITE_UTF16LE`:idx: - `sqlite3.html#108 `_ - - `SQLITE_UTF8`:idx: - `sqlite3.html#107 `_ - - `SQLSTATE_LENGTH`:idx: - `mysql.html#114 `_ - - `sqrt`:idx: - * `math.html#118 `_ - * `complex.html#118 `_ - - `srandmember`:idx: - `redis.html#174 `_ - - `srem`:idx: - `redis.html#175 `_ - - `stackTrace`:idx: - `nimrodc.html#121 `_ - - `standardDeviation`:idx: - `math.html#143 `_ - - `startAnchor`:idx: - `pegs.html#129 `_ - - `startCmd`:idx: - `osproc.html#107 `_ - - `startProcess`:idx: - `osproc.html#106 `_ - - `startsWith`:idx: - * `re.html#123 `_ - * `strutils.html#141 `_ - * `pegs.html#160 `_ - - `statement macros`:idx: - `tut2.html#112 `_ - - `Statements`:idx: - `manual.html#190 `_ - - `static`:idx: - `manual.html#201 `_ - - `static error`:idx: - `manual.html#109 `_ - - `static type`:idx: - `manual.html#103 `_ - - `status`:idx: - `sphinx.html#194 `_ - - `status_destroy`:idx: - `sphinx.html#195 `_ - - `stdcall`:idx: - `manual.html#177 `_ - - `stderr`:idx: - `system.html#555 `_ - - `stdin`:idx: - * `lib.html#101 `_ - * `system.html#553 `_ - * `rdstdin.html#101 `_ - - `stdout`:idx: - `system.html#554 `_ - - `stdtmpl`:idx: - `filters.html#104 `_ - - `st_dynamic_array`:idx: - `mysql.html#339 `_ - - `st_mem_root`:idx: - `mysql.html#324 `_ - - `stmt`:idx: - `system.html#118 `_ - - `st_mysql`:idx: - `mysql.html#356 `_ - - `st_mysql_bind`:idx: - `mysql.html#378 `_ - - `st_mysql_data`:idx: - `mysql.html#328 `_ - - `st_mysql_field`:idx: - `mysql.html#295 `_ - - `st_mysql_manager`:idx: - `mysql.html#369 `_ - - `st_mysql_methods`:idx: - `mysql.html#365 `_ - - `st_mysql_options`:idx: - `mysql.html#343 `_ - - `st_mysql_parameters`:idx: - `mysql.html#373 `_ - - `st_mysql_res`:idx: - `mysql.html#360 `_ - - `st_mysql_rows`:idx: - `mysql.html#312 `_ - - `st_mysql_stmt`:idx: - `mysql.html#381 `_ - - `st_net`:idx: - `mysql.html#198 `_ - - `store`:idx: - * `marshal.html#102 `_ - * `ftpclient.html#121 `_ - - `str`:idx: - `json.html#107 `_ - - `STREAMER`:idx: - `zmq.html#119 `_ - - `strerror`:idx: - `zmq.html#147 `_ - - `string`:idx: - * `manual.html#161 `_ - * `system.html#111 `_ - - `string interpolation`:idx: - * `strutils.html#173 `_ - * `subexes.html#110 `_ - - `String literals`:idx: - `manual.html#119 `_ - - `strip`:idx: - * `filters.html#103 `_ - * `strutils.html#117 `_ - - `strlen`:idx: - `redis.html#136 `_ - - `strong`:idx: - * `xmlgen.html#166 `_ - * `htmlgen.html#166 `_ - - `structured type`:idx: - `manual.html#163 `_ - - `strVal`:idx: - `macros.html#129 `_ - - `strVal=`:idx: - `macros.html#135 `_ - - `st_udf_args`:idx: - `mysql.html#258 `_ - - `st_udf_init`:idx: - `mysql.html#262 `_ - - `st_used_mem`:idx: - `mysql.html#320 `_ - - `style`:idx: - * `xmlgen.html#167 `_ - * `htmlgen.html#167 `_ - - `style-insensitive`:idx: - `manual.html#118 `_ - - `styledEcho`:idx: - `terminal.html#124 `_ - - `styledEchoProcessArg`:idx: - * `terminal.html#119 `_ - * `terminal.html#120 `_ - * `terminal.html#121 `_ - * `terminal.html#122 `_ - * `terminal.html#123 `_ - - `SUB`:idx: - `zmq.html#124 `_ - - `sub`:idx: - * `xmlgen.html#168 `_ - * `htmlgen.html#168 `_ - - `subex`:idx: - * `subexes.html#102 `_ - * `subexes.html#107 `_ - - `subrange`:idx: - * `manual.html#160 `_ - * `tut1.html#115 `_ - - `substitution`:idx: - * `strutils.html#172 `_ - * `subexes.html#109 `_ - - `substitution expressions`:idx: - `subexes.html#101 `_ - - `substr`:idx: - * `system.html#443 `_ - * `system.html#446 `_ - - `succ`:idx: - `system.html#184 `_ - - `sum`:idx: - `math.html#113 `_ - - `sunion`:idx: - `redis.html#176 `_ - - `sunionstore`:idx: - `redis.html#177 `_ - - `sup`:idx: - * `xmlgen.html#169 `_ - * `htmlgen.html#169 `_ - - `suspend`:idx: - `osproc.html#109 `_ - - `swap`:idx: - `system.html#459 `_ - - `swapEndian32`:idx: - `endians.html#103 `_ - - `swapEndian64`:idx: - `endians.html#102 `_ - - `symAddr`:idx: - `dynlib.html#104 `_ - - `symbol`:idx: - `macros.html#126 `_ - - `symbol files`:idx: - `nimrodc.html#104 `_ - - `symbol=`:idx: - `macros.html#132 `_ - - `sync`:idx: - `actors.html#117 `_ - - `syscall`:idx: - `manual.html#184 `_ - - `system`:idx: - * `manual.html#249 `_ - * `osproc.html#104 `_ - - `table`:idx: - * `xmlgen.html#170 `_ - * `htmlgen.html#170 `_ - - `table constructor`:idx: - `manual.html#219 `_ - - `tabulator`:idx: - `manual.html#125 `_ - - `TActorPool`:idx: - `actors.html#114 `_ - - `TAddress`:idx: - `system.html#419 `_ - - `tag`:idx: - `xmltree.html#111 `_ - - `tagName`:idx: - `xmldom.html#189 `_ - - `taint mode`:idx: - `manual.html#290 `_ - - `tainted`:idx: - `system.html#404 `_ - - `TaintedString`:idx: - * `manual.html#291 `_ - * `system.html#405 `_ - - `tan`:idx: - * `math.html#134 `_ - * `complex.html#128 `_ - - `TAnchor`:idx: - `dom.html#107 `_ - - `tanh`:idx: - `math.html#135 `_ - - `TAny`:idx: - `typeinfo.html#102 `_ - - `TAnyKind`:idx: - `typeinfo.html#101 `_ - - `TApplet`:idx: - `dom.html#108 `_ - - `target`:idx: - `xmldom.html#206 `_ - - `TAsyncFTPClient`:idx: - `ftpclient.html#103 `_ - - `TAsyncIRC`:idx: - `irc.html#103 `_ - - `TAsyncScgiState`:idx: - `scgi.html#104 `_ - - `TBackgroundColor`:idx: - `terminal.html#115 `_ - - `TBaseLexer`:idx: - `lexbase.html#103 `_ - - `Tbind_destructor_func`:idx: - `sqlite3.html#183 `_ - - `tbody`:idx: - * `xmlgen.html#171 `_ - * `htmlgen.html#171 `_ - - `TCaptures`:idx: - `pegs.html#145 `_ - - `TCfgEvent`:idx: - `parsecfg.html#102 `_ - - `TCfgEventKind`:idx: - `parsecfg.html#101 `_ - - `TCfgParser`:idx: - `parsecfg.html#103 `_ - - `TChannel`:idx: - * `inboxes.html#107 `_ - * `channels.html#101 `_ - - `TChannelId`:idx: - `inboxes.html#108 `_ - - `TCharSet`:idx: - `strutils.html#101 `_ - - `TCmdLineKind`:idx: - `parseopt.html#101 `_ - - `TColor`:idx: - `colors.html#101 `_ - - `TComplex`:idx: - `complex.html#101 `_ - - `TCond`:idx: - `locks.html#102 `_ - - `TConnection`:idx: - `zmq.html#169 `_ - - `TConnectionMode`:idx: - `zmq.html#170 `_ - - `TCountTable`:idx: - `tables.html#132 `_ - - `Tcreate_function_final_func`:idx: - `sqlite3.html#186 `_ - - `Tcreate_function_func_func`:idx: - `sqlite3.html#185 `_ - - `Tcreate_function_step_func`:idx: - `sqlite3.html#184 `_ - - `TCritBitTree`:idx: - `critbits.html#102 `_ - - `TCsvParser`:idx: - `parsecsv.html#104 `_ - - `TCsvRow`:idx: - `parsecsv.html#103 `_ - - `TCurl`:idx: - `libcurl.html#140 `_ - - `Tcurl_calloc_callback`:idx: - `libcurl.html#153 `_ - - `Tcurl_closepolicy`:idx: - `libcurl.html#174 `_ - - `TCURLcode`:idx: - `libcurl.html#156 `_ - - `Tcurl_conv_callback`:idx: - `libcurl.html#157 `_ - - `Tcurl_debug_callback`:idx: - `libcurl.html#155 `_ - - `TCURLFORMcode`:idx: - `libcurl.html#170 `_ - - `Tcurl_formget_callback`:idx: - `libcurl.html#171 `_ - - `TCURLformoption`:idx: - `libcurl.html#168 `_ - - `Tcurl_forms`:idx: - `libcurl.html#169 `_ - - `Tcurl_free_callback`:idx: - `libcurl.html#150 `_ - - `Tcurl_ftpauth`:idx: - `libcurl.html#161 `_ - - `Tcurl_ftpmethod`:idx: - `libcurl.html#162 `_ - - `Tcurl_ftpssl`:idx: - `libcurl.html#160 `_ - - `Tcurl_httppost`:idx: - `libcurl.html#141 `_ - - `TCURL_HTTP_VERSION`:idx: - `libcurl.html#164 `_ - - `TCURLINFO`:idx: - `libcurl.html#173 `_ - - `Tcurl_infotype`:idx: - `libcurl.html#154 `_ - - `Tcurliocmd`:idx: - `libcurl.html#147 `_ - - `Tcurl_ioctl_callback`:idx: - `libcurl.html#148 `_ - - `Tcurlioerr`:idx: - `libcurl.html#146 `_ - - `Tcurl_lock_access`:idx: - `libcurl.html#176 `_ - - `Tcurl_lock_data`:idx: - `libcurl.html#175 `_ - - `Tcurl_lock_function`:idx: - `libcurl.html#177 `_ - - `TCURLM`:idx: - `libcurl.html#184 `_ - - `Tcurl_malloc_callback`:idx: - `libcurl.html#149 `_ - - `TCURLMcode`:idx: - `libcurl.html#186 `_ - - `TCURLMoption`:idx: - `libcurl.html#190 `_ - - `TCURLMsg`:idx: - `libcurl.html#188 `_ - - `TCURLMSGEnum`:idx: - `libcurl.html#187 `_ - - `TCURL_NETRC_OPTION`:idx: - `libcurl.html#165 `_ - - `TCURLoption`:idx: - `libcurl.html#163 `_ - - `Tcurl_passwd_callback`:idx: - `libcurl.html#145 `_ - - `Tcurl_progress_callback`:idx: - `libcurl.html#142 `_ - - `Tcurl_proxytype`:idx: - `libcurl.html#159 `_ - - `Tcurl_read_callback`:idx: - `libcurl.html#144 `_ - - `Tcurl_realloc_callback`:idx: - `libcurl.html#151 `_ - - `TCURLSH`:idx: - `libcurl.html#179 `_ - - `TCURLSHcode`:idx: - `libcurl.html#180 `_ - - `TCURLSHoption`:idx: - `libcurl.html#181 `_ - - `Tcurl_slist`:idx: - `libcurl.html#172 `_ - - `Tcurl_socket`:idx: - `libcurl.html#185 `_ - - `Tcurl_socket_callback`:idx: - `libcurl.html#189 `_ - - `Tcurl_ssl_ctx_callback`:idx: - `libcurl.html#158 `_ - - `TCURL_SSL_VERSION`:idx: - `libcurl.html#166 `_ - - `Tcurl_strdup_callback`:idx: - `libcurl.html#152 `_ - - `TCURL_TIMECOND`:idx: - `libcurl.html#167 `_ - - `Tcurl_unlock_function`:idx: - `libcurl.html#178 `_ - - `TCURLversion`:idx: - `libcurl.html#182 `_ - - `Tcurl_version_info_data`:idx: - `libcurl.html#183 `_ - - `Tcurl_write_callback`:idx: - `libcurl.html#143 `_ - - `td`:idx: - * `xmlgen.html#172 `_ - * `htmlgen.html#172 `_ - - `TDbConn`:idx: - * `db_postgres.html#102 `_ - * `db_mysql.html#102 `_ - * `db_sqlite.html#102 `_ - - `TDocument`:idx: - `dom.html#104 `_ - - `TDomain`:idx: - `sockets.html#103 `_ - - `TDoublyLinkedList`:idx: - `lists.html#106 `_ - - `TDoublyLinkedNode`:idx: - `lists.html#101 `_ - - `TDoublyLinkedRing`:idx: - `lists.html#108 `_ - - `TElement`:idx: - `dom.html#109 `_ - - `TEmbed`:idx: - `dom.html#106 `_ - - `template`:idx: - `manual.html#238 `_ - - `TEndian`:idx: - `system.html#390 `_ - - `term`:idx: - * `pegs.html#104 `_ - * `pegs.html#107 `_ - * `zmq.html#157 `_ - - `termIgnoreCase`:idx: - `pegs.html#105 `_ - - `termIgnoreStyle`:idx: - `pegs.html#106 `_ - - `terminate`:idx: - * `osproc.html#111 `_ - * `actors.html#118 `_ - - `TEvent`:idx: - `dom.html#116 `_ - - `TEventArgs`:idx: - `events.html#101 `_ - - `TEventEmitter`:idx: - `events.html#103 `_ - - `TEventHandler`:idx: - `events.html#102 `_ - - `TEventHandlers`:idx: - `dom.html#101 `_ - - `Texcerpt_options`:idx: - `sphinx.html#149 `_ - - `text`:idx: - `xmltree.html#109 `_ - - `textarea`:idx: - * `xmlgen.html#173 `_ - * `htmlgen.html#173 `_ - - `textBounds`:idx: - `graphics.html#121 `_ - - `TextNode`:idx: - `xmldom.html#119 `_ - - `TFile`:idx: - `system.html#550 `_ - - `TFileHandle`:idx: - `system.html#552 `_ - - `TFileMode`:idx: - `system.html#551 `_ - - `TFilePermission`:idx: - `os.html#166 `_ - - `TFileStream`:idx: - `streams.html#133 `_ - - `TFloatClass`:idx: - `math.html#106 `_ - - `TFloatFormat`:idx: - `strutils.html#167 `_ - - `tfoot`:idx: - * `xmlgen.html#174 `_ - * `htmlgen.html#174 `_ - - `TForegroundColor`:idx: - `terminal.html#114 `_ - - `TForm`:idx: - `dom.html#111 `_ - - `TFormatFlag`:idx: - `strtabs.html#106 `_ - - `TFrame`:idx: - `dom.html#103 `_ - - `TFTPClient`:idx: - `ftpclient.html#101 `_ - - `TFTPEvent`:idx: - `ftpclient.html#105 `_ - - `TGC_Strategy`:idx: - `system.html#530 `_ - - `th`:idx: - * `xmlgen.html#175 `_ - * `htmlgen.html#175 `_ - - `THash`:idx: - `hashes.html#101 `_ - - `thead`:idx: - * `xmlgen.html#176 `_ - * `htmlgen.html#176 `_ - - `thead-local`:idx: - `manual.html#285 `_ - - `THistory`:idx: - `dom.html#118 `_ - - `Thostent`:idx: - `sockets.html#107 `_ - - `thread`:idx: - `manual.html#281 `_ - - `thread pragma`:idx: - `manual.html#282 `_ - - `threadId`:idx: - `threads.html#107 `_ - - `threadvar`:idx: - `manual.html#284 `_ - - `THtmlTag`:idx: - `htmlparser.html#101 `_ - - `THttpMethod`:idx: - `httpclient.html#104 `_ - - `TImage`:idx: - `dom.html#112 `_ - - `TimeInfoToTime`:idx: - `times.html#108 `_ - - `TIMESTAMP_FLAG`:idx: - `mysql.html#134 `_ - - `TInfo`:idx: - `asyncio.html#104 `_ - - `TInterpolatedKind`:idx: - `parseutils.html#120 `_ - - `TInterval`:idx: - `dom.html#130 `_ - - `TIntSet`:idx: - `intsets.html#101 `_ - - `TIRC`:idx: - `irc.html#101 `_ - - `TIRCEvent`:idx: - `irc.html#106 `_ - - `TIRCEventType`:idx: - `irc.html#105 `_ - - `TIRCMType`:idx: - `irc.html#104 `_ - - `title`:idx: - * `xmlgen.html#177 `_ - * `htmlgen.html#177 `_ - - `TJsonError`:idx: - `json.html#103 `_ - - `TJsonEventKind`:idx: - `json.html#102 `_ - - `TJsonNode`:idx: - `json.html#119 `_ - - `TJsonNodeKind`:idx: - `json.html#117 `_ - - `TJsonParser`:idx: - `json.html#104 `_ - - `Tkeyword_info`:idx: - `sphinx.html#150 `_ - - `TLibHandle`:idx: - `dynlib.html#101 `_ - - `TLink`:idx: - `dom.html#105 `_ - - `TLocation`:idx: - `dom.html#117 `_ - - `TLocationBar`:idx: - `dom.html#122 `_ - - `TLock`:idx: - `locks.html#101 `_ - - `TMemFile`:idx: - `memfiles.html#103 `_ - - `TMenuBar`:idx: - `dom.html#123 `_ - - `TMessage`:idx: - `smtp.html#102 `_ - - `TMimeType`:idx: - `dom.html#121 `_ - - `TMode`:idx: - `asyncio.html#105 `_ - - `TMonth`:idx: - `times.html#101 `_ - - `TMsg`:idx: - `zmq.html#139 `_ - - `TMsgFlags`:idx: - `zmq.html#138 `_ - - `TMsgTypes`:idx: - `zmq.html#137 `_ - - `TNavigator`:idx: - `dom.html#119 `_ - - `TNimNodeKinds`:idx: - `macros.html#103 `_ - - `TNimrodIdent`:idx: - `macros.html#108 `_ - - `TNimrodNodeKind`:idx: - `macros.html#102 `_ - - `TNimrodSymKind`:idx: - `macros.html#106 `_ - - `TNimrodTypeKind`:idx: - `macros.html#104 `_ - - `TNimSymKinds`:idx: - `macros.html#107 `_ - - `TNimTypeKinds`:idx: - `macros.html#105 `_ - - `TNode`:idx: - `dom.html#114 `_ - - `TNodeType`:idx: - `dom.html#113 `_ - - `to`:idx: - `marshal.html#104 `_ - - `toAny`:idx: - `typeinfo.html#103 `_ - - `toBiggestFloat`:idx: - `system.html#437 `_ - - `toBiggestInt`:idx: - `system.html#439 `_ - - `toBin`:idx: - `strutils.html#161 `_ - - `TObject`:idx: - `system.html#148 `_ - - `toCountTable`:idx: - `tables.html#144 `_ - - `toFloat`:idx: - `system.html#436 `_ - - `toHex`:idx: - `strutils.html#126 `_ - - `Toid`:idx: - `oids.html#101 `_ - - `toInt`:idx: - `system.html#438 `_ - - `tokenize`:idx: - `strutils.html#138 `_ - - `toLower`:idx: - * `strutils.html#109 `_ - * `strutils.html#110 `_ - * `unicode.html#111 `_ - - `toOct`:idx: - `strutils.html#160 `_ - - `toOctal`:idx: - `strutils.html#118 `_ - - `toOrderedSet`:idx: - `sets.html#120 `_ - - `toOrderedTable`:idx: - `tables.html#130 `_ - - `TOption`:idx: - `dom.html#110 `_ - - `TOptParser`:idx: - `parseopt.html#102 `_ - - `TOrderedSet`:idx: - `sets.html#112 `_ - - `TOrderedTable`:idx: - `tables.html#117 `_ - - `toSdlColor`:idx: - `graphics.html#107 `_ - - `toSdlRect`:idx: - `graphics.html#109 `_ - - `toSet`:idx: - `sets.html#110 `_ - - `toStrLit`:idx: - `macros.html#147 `_ - - `toTable`:idx: - `tables.html#115 `_ - - `toTitle`:idx: - `unicode.html#113 `_ - - `toU16`:idx: - `system.html#206 `_ - - `toU32`:idx: - `system.html#207 `_ - - `toU8`:idx: - `system.html#205 `_ - - `toUpper`:idx: - * `strutils.html#111 `_ - * `strutils.html#112 `_ - * `unicode.html#112 `_ - - `toUTF8`:idx: - `unicode.html#110 `_ - - `TPathComponent`:idx: - `os.html#158 `_ - - `TPeg`:idx: - `pegs.html#103 `_ - - `TPersonalBar`:idx: - `dom.html#124 `_ - - `TPlugin`:idx: - `dom.html#120 `_ - - `TPoint`:idx: - `graphics.html#102 `_ - - `TPollItem`:idx: - `zmq.html#144 `_ - - `TPort`:idx: - `sockets.html#102 `_ - - `TProcessOption`:idx: - `osproc.html#102 `_ - - `TProtocol`:idx: - `sockets.html#105 `_ - - `TQueue`:idx: - `queues.html#101 `_ - - `tr`:idx: - * `xmlgen.html#178 `_ - * `htmlgen.html#178 `_ - - `traced`:idx: - * `manual.html#172 `_ - * `tut1.html#121 `_ - - `transformFile`:idx: - * `re.html#128 `_ - * `pegs.html#165 `_ - - `TRect`:idx: - `graphics.html#101 `_ - - `TRecvLineResult`:idx: - `sockets.html#108 `_ - - `TRedis`:idx: - `redis.html#102 `_ - - `TRedisInteger`:idx: - `redis.html#104 `_ - - `TRedisList`:idx: - `redis.html#106 `_ - - `TRedisStatus`:idx: - `redis.html#103 `_ - - `TRedisString`:idx: - `redis.html#105 `_ - - `treeRepr`:idx: - `macros.html#159 `_ - - `TRegEx`:idx: - `re.html#106 `_ - - `TRegExFlag`:idx: - `re.html#105 `_ - - `TRequestMethod`:idx: - `cgi.html#105 `_ - - `TResponse`:idx: - `httpclient.html#101 `_ - - `Tresult`:idx: - `sphinx.html#148 `_ - - `TResult`:idx: - `system.html#181 `_ - - `TRow`:idx: - * `db_postgres.html#103 `_ - * `db_mysql.html#103 `_ - * `db_sqlite.html#103 `_ - - `trunc`:idx: - `math.html#137 `_ - - `TRune`:idx: - `unicode.html#101 `_ - - `TRune16`:idx: - `unicode.html#102 `_ - - `TRunningStat`:idx: - `math.html#139 `_ - - `try`:idx: - * `manual.html#207 `_ - * `tut2.html#108 `_ - - `TryAcquire`:idx: - `locks.html#107 `_ - - `TryExec`:idx: - * `db_postgres.html#108 `_ - * `db_mysql.html#107 `_ - * `db_sqlite.html#108 `_ - - `TryInsertID`:idx: - * `db_postgres.html#114 `_ - * `db_mysql.html#113 `_ - * `db_sqlite.html#114 `_ - - `trySend`:idx: - `sockets.html#150 `_ - - `TScgiState`:idx: - `scgi.html#103 `_ - - `TScreen`:idx: - `dom.html#128 `_ - - `TScrollBars`:idx: - `dom.html#125 `_ - - `TSecureSocket`:idx: - `ssl.html#101 `_ - - `TSendRecvOptions`:idx: - `zmq.html#143 `_ - - `TServent`:idx: - `sockets.html#106 `_ - - `TServer`:idx: - `httpserver.html#103 `_ - - `TSet`:idx: - `sets.html#101 `_ - - `TSinglyLinkedList`:idx: - `lists.html#105 `_ - - `TSinglyLinkedNode`:idx: - `lists.html#103 `_ - - `TSinglyLinkedRing`:idx: - `lists.html#107 `_ - - `TSlice`:idx: - `system.html#139 `_ - - `TSMTP`:idx: - `smtp.html#101 `_ - - `TSocket`:idx: - `sockets.html#101 `_ - - `TSockOptions`:idx: - `zmq.html#142 `_ - - `TSortOrder`:idx: - `algorithm.html#101 `_ - - `TSphinxBool`:idx: - `sphinx.html#145 `_ - - `Tsqlite3_callback`:idx: - `sqlite3.html#182 `_ - - `Tsqlite3_collation_needed_func`:idx: - `sqlite3.html#189 `_ - - `Tsqlite3_create_collation_func`:idx: - `sqlite3.html#188 `_ - - `Tsqlite3_result_func`:idx: - `sqlite3.html#187 `_ - - `TSqlLexer`:idx: - `parsesql.html#101 `_ - - `TSqlNode`:idx: - `parsesql.html#105 `_ - - `TSqlNodeKind`:idx: - `parsesql.html#102 `_ - - `TSqlParser`:idx: - `parsesql.html#106 `_ - - `TSqlQuery`:idx: - * `db_postgres.html#105 `_ - * `db_mysql.html#105 `_ - * `db_sqlite.html#105 `_ - - `TStatusBar`:idx: - `dom.html#127 `_ - - `TStream`:idx: - `streams.html#102 `_ - - `TStringStream`:idx: - `streams.html#130 `_ - - `TStringTable`:idx: - `strtabs.html#102 `_ - - `TStringTableMode`:idx: - `strtabs.html#101 `_ - - `TStyle`:idx: - * `terminal.html#111 `_ - * `dom.html#115 `_ - - `TSubex`:idx: - `subexes.html#106 `_ - - `TSurface`:idx: - `graphics.html#104 `_ - - `tt`:idx: - * `xmlgen.html#179 `_ - * `htmlgen.html#179 `_ - - `TTable`:idx: - `tables.html#101 `_ - - `TTask`:idx: - `actors.html#102 `_ - - `TThread`:idx: - `threads.html#101 `_ - - `TThreadId`:idx: - `threads.html#102 `_ - - `TTime`:idx: - `times.html#103 `_ - - `TTimeInfo`:idx: - `times.html#104 `_ - - `TTimeOut`:idx: - `dom.html#129 `_ - - `ttl`:idx: - `redis.html#120 `_ - - `TToolBar`:idx: - `dom.html#126 `_ - - `TType`:idx: - `sockets.html#104 `_ - - `tuple`:idx: - `manual.html#166 `_ - - `tuple unpacking`:idx: - `manual.html#226 `_ - - `TWeekDay`:idx: - `times.html#102 `_ - - `TWindow`:idx: - `dom.html#102 `_ - - `Twordinfo`:idx: - `sphinx.html#147 `_ - - `TXmlError`:idx: - `parsexml.html#104 `_ - - `TXmlEventKind`:idx: - `parsexml.html#103 `_ - - `TXmlNodeKind`:idx: - `xmltree.html#102 `_ - - `TXmlParseOption`:idx: - `parsexml.html#105 `_ - - `TXmlParser`:idx: - `parsexml.html#106 `_ - - `typ`:idx: - `macros.html#128 `_ - - `typ=`:idx: - `macros.html#134 `_ - - `type`:idx: - * `manual.html#102 `_ - * `manual.html#142 `_ - * `manual.html#231 `_ - * `manual.html#235 `_ - - `type casts`:idx: - `tut2.html#101 `_ - - `Type constraints`:idx: - `manual.html#237 `_ - - `type conversions`:idx: - `tut2.html#102 `_ - - `type parameters`:idx: - * `manual.html#233 `_ - * `tut2.html#110 `_ - - `type suffix`:idx: - `manual.html#139 `_ - - `typeDesc`:idx: - `system.html#119 `_ - - `typeof`:idx: - `manual.html#236 `_ - - `TZipArchive`:idx: - `zipfiles.html#101 `_ - - `UDF_ARGS`:idx: - `mysql.html#259 `_ - - `UDF_INIT`:idx: - `mysql.html#263 `_ - - `ul`:idx: - * `xmlgen.html#180 `_ - * `htmlgen.html#180 `_ - - `unchecked runtime error`:idx: - `manual.html#111 `_ - - `unescape`:idx: - `dom.html#138 `_ - - `UnicodeLetter`:idx: - `pegs.html#124 `_ - - `UnicodeLower`:idx: - `pegs.html#125 `_ - - `UnicodeTitle`:idx: - `pegs.html#127 `_ - - `UnicodeUpper`:idx: - `pegs.html#126 `_ - - `UnicodeWhitespace`:idx: - `pegs.html#128 `_ - - `unidecode`:idx: - `unidecode.html#102 `_ - - `unindent`:idx: - `strutils.html#140 `_ - - `UNIQUE_FLAG`:idx: - `mysql.html#140 `_ - - `UNIQUE_KEY_FLAG`:idx: - `mysql.html#126 `_ - - `units`:idx: - `manual.html#187 `_ - - `unixTimeToWinTime`:idx: - `times.html#117 `_ - - `UnixToNativePath`:idx: - `os.html#115 `_ - - `unlikely`:idx: - `system.html#603 `_ - - `UnloadLib`:idx: - `dynlib.html#103 `_ - - `unregister`:idx: - `asyncio.html#117 `_ - - `unroll`:idx: - `manual.html#269 `_ - - `unsigned integer`:idx: - * `manual.html#144 `_ - * `tut1.html#108 `_ - - `unsigned operations`:idx: - * `manual.html#145 `_ - * `tut1.html#109 `_ - - `UNSIGNED_FLAG`:idx: - `mysql.html#129 `_ - - `untraced`:idx: - * `manual.html#173 `_ - * `tut1.html#122 `_ - - `unwatch`:idx: - `redis.html#197 `_ - - `update_attributes`:idx: - `sphinx.html#191 `_ - - `update_attributes_mva`:idx: - `sphinx.html#192 `_ - - `UPSTREAM`:idx: - `zmq.html#135 `_ - - `URLdecode`:idx: - `cgi.html#102 `_ - - `URLencode`:idx: - `cgi.html#101 `_ - - `URLretrieveStream`:idx: - `web.html#101 `_ - - `URLretrieveString`:idx: - `web.html#102 `_ - - `USED_MEM`:idx: - `mysql.html#321 `_ - - `userArg=`:idx: - `asyncio.html#119 `_ - - `USERNAME_LENGTH`:idx: - `mysql.html#112 `_ - - `validateData`:idx: - `cgi.html#110 `_ - - `validEmailAddress`:idx: - `matchers.html#101 `_ - - `validIdentifier`:idx: - `strutils.html#164 `_ - - `values`:idx: - * `tables.html#106 `_ - * `tables.html#122 `_ - * `tables.html#137 `_ - * `critbits.html#114 `_ - - `valuesWithPrefix`:idx: - `critbits.html#121 `_ - - `Var`:idx: - `manual.html#196 `_ - - `var`:idx: - * `xmlgen.html#181 `_ - * `htmlgen.html#181 `_ - - `varargs`:idx: - `manual.html#279 `_ - - `variance`:idx: - * `math.html#115 `_ - * `math.html#142 `_ - - `variant`:idx: - * `manual.html#168 `_ - * `tut2.html#103 `_ - - `verbose`:idx: - `regexprs.html#121 `_ - - `version`:idx: - `zmq.html#145 `_ - - `vertical tabulator`:idx: - `manual.html#126 `_ - - `void`:idx: - * `manual.html#188 `_ - * `system.html#120 `_ - - `volatile`:idx: - `nimrodc.html#124 `_ - - `wait`:idx: - `locks.html#112 `_ - - `waitForExit`:idx: - `osproc.html#114 `_ - - `walkDir`:idx: - `os.html#159 `_ - - `walkDirRec`:idx: - `os.html#160 `_ - - `walkFiles`:idx: - * `os.html#157 `_ - * `zipfiles.html#110 `_ - - `warning`:idx: - * `manual.html#251 `_ - * `manual.html#264 `_ - * `macros.html#140 `_ - * `sphinx.html#155 `_ - - `warningStr`:idx: - `parsecfg.html#110 `_ - - `watch`:idx: - `redis.html#198 `_ - - `watchpoint`:idx: - `endb.html#104 `_ - - `when`:idx: - * `manual.html#204 `_ - * `tut1.html#105 `_ - - `while`:idx: - * `manual.html#216 `_ - * `manual.html#271 `_ - - `Whitespace`:idx: - `strutils.html#102 `_ - - `whitespace`:idx: - `pegs.html#139 `_ - - `window`:idx: - `dom.html#131 `_ - - `winTimeToUnixTime`:idx: - `times.html#118 `_ - - `withEvents`:idx: - `graphics.html#134 `_ - - `wordWrap`:idx: - `strutils.html#139 `_ - - `write`:idx: - * `system.html#567 `_ - * `system.html#568 `_ - * `system.html#569 `_ - * `system.html#570 `_ - * `system.html#571 `_ - * `system.html#572 `_ - * `system.html#573 `_ - * `system.html#574 `_ - * `system.html#575 `_ - * `streams.html#116 `_ - * `streams.html#117 `_ - * `ropes.html#118 `_ - - `writeBuffer`:idx: - `system.html#586 `_ - - `writeBytes`:idx: - `system.html#584 `_ - - `writeChars`:idx: - `system.html#585 `_ - - `writeContentType`:idx: - `cgi.html#144 `_ - - `writeData`:idx: - * `streams.html#114 `_ - * `streams.html#115 `_ - - `writeFile`:idx: - `system.html#566 `_ - - `writeln`:idx: - * `system.html#578 `_ - * `system.html#579 `_ - - `writeStackTrace`:idx: - `system.html#597 `_ - - `writeStatusOkTextContent`:idx: - `scgi.html#109 `_ - - `WriteStyled`:idx: - `terminal.html#113 `_ - - `writeToBMP`:idx: - `graphics.html#115 `_ - - `wwwNL`:idx: - `httpserver.html#101 `_ - - `XML`:idx: - * `xmlgen.html#101 `_ - * `parsexml.html#101 `_ - * `htmlgen.html#101 `_ - - `xmlCheckedTag`:idx: - * `xmlgen.html#106 `_ - * `htmlgen.html#106 `_ - - `XMLencode`:idx: - `cgi.html#103 `_ - - `xmlHeader`:idx: - `xmltree.html#125 `_ - - `xor`:idx: - * `system.html#126 `_ - * `system.html#268 `_ - * `system.html#269 `_ - * `system.html#270 `_ - * `system.html#271 `_ - * `system.html#272 `_ - - `XPUB`:idx: - `zmq.html#131 `_ - - `XREP`:idx: - `zmq.html#134 `_ - - `XREQ`:idx: - `zmq.html#133 `_ - - `XSUB`:idx: - `zmq.html#132 `_ - - `yield`:idx: - `manual.html#213 `_ - - `zadd`:idx: - `redis.html#178 `_ - - `zcard`:idx: - `redis.html#179 `_ - - `zcount`:idx: - `redis.html#180 `_ - - `ze`:idx: - * `system.html#199 `_ - * `system.html#200 `_ - - `ze64`:idx: - * `system.html#201 `_ - * `system.html#202 `_ - * `system.html#203 `_ - * `system.html#204 `_ - - `ZEROFILL_FLAG`:idx: - `mysql.html#130 `_ - - `zeroMem`:idx: - `system.html#447 `_ - - `zincrby`:idx: - `redis.html#181 `_ - - `zinterstore`:idx: - `redis.html#182 `_ - - `zip`:idx: - `sequtils.html#104 `_ - - `zmqdll`:idx: - `zmq.html#101 `_ - - `zmqError`:idx: - `zmq.html#171 `_ - - `zrange`:idx: - `redis.html#183 `_ - - `zrangebyscore`:idx: - `redis.html#184 `_ - - `zrank`:idx: - `redis.html#185 `_ - - `zrem`:idx: - `redis.html#186 `_ - - `zremrangebyrank`:idx: - `redis.html#187 `_ - - `zremrangebyscore`:idx: - `redis.html#188 `_ - - `zrevrange`:idx: - `redis.html#189 `_ - - `zrevrangebyscore`:idx: - `redis.html#190 `_ - - `zrevrank`:idx: - `redis.html#191 `_ - - `zscore`:idx: - `redis.html#192 `_ - - `zunionstore`:idx: - `redis.html#193 `_ \ No newline at end of file diff --git a/koch.nim b/koch.nim index 5d49cadfa5..1be9a529d3 100755 --- a/koch.nim +++ b/koch.nim @@ -148,7 +148,8 @@ proc boot(args: string) = const cleanExt = [ ".ppu", ".o", ".obj", ".dcu", ".~pas", ".~inc", ".~dsk", ".~dpr", - ".map", ".tds", ".err", ".bak", ".pyc", ".exe", ".rod", ".pdb", ".idb" + ".map", ".tds", ".err", ".bak", ".pyc", ".exe", ".rod", ".pdb", ".idb", + ".idx" ] ignore = [ ".bzrignore", "nimrod", "nimrod.exe", "koch", "koch.exe" diff --git a/packages/docutils/rst.nim b/packages/docutils/rst.nim index cd385ccac6..2a497af9a6 100755 --- a/packages/docutils/rst.nim +++ b/packages/docutils/rst.nim @@ -38,7 +38,8 @@ type meGeneralParseError, meInvalidDirective, mwRedefinitionOfLabel, - mwUnknownSubstitution + mwUnknownSubstitution, + mwUnsupportedLanguage TMsgHandler* = proc (filename: string, line, col: int, msgKind: TMsgKind, arg: string) ## what to do in case of an error @@ -53,7 +54,8 @@ const meGeneralParseError: "general parse error", meInvalidDirective: "invalid directive: '$1'", mwRedefinitionOfLabel: "redefinition of label '$1'", - mwUnknownSubstitution: "unknown substitution '$1'" + mwUnknownSubstitution: "unknown substitution '$1'", + mwUnsupportedLanguage: "language '$1' not supported" ] proc rstnodeToRefname*(n: PRstNode): string @@ -281,17 +283,6 @@ type EParseError* = object of EInvalidValue -when false: - proc tokInfo(p: TRstParser, tok: TToken): TLineInfo = - result = newLineInfo(p.filename, p.line + tok.line, p.col + tok.col) - - proc rstMessage(p: TRstParser, msgKind: TMsgKind, arg: string) = - GlobalError(tokInfo(p, p.tok[p.idx]), msgKind, arg) - - proc rstMessage(p: TRstParser, msgKind: TMsgKind) = - GlobalError(tokInfo(p, p.tok[p.idx]), msgKind, p.tok[p.idx].symbol) - - proc whichMsgClass*(k: TMsgKind): TMsgClass = ## returns which message class `k` belongs to. case ($k)[1] diff --git a/packages/docutils/rstgen.nim b/packages/docutils/rstgen.nim index 93544124f6..c2a2670057 100644 --- a/packages/docutils/rstgen.nim +++ b/packages/docutils/rstgen.nim @@ -9,14 +9,61 @@ ## This module implements a generator of HTML/Latex from `reStructuredText`:idx. -import strutils, strtabs, rstast +import strutils, os, hashes, strtabs, rstast, rst, highlite + +const + HtmlExt = "html" + IndexExt* = ".idx" type TOutputTarget* = enum ## which document type to generate outHtml, # output is HTML outLatex # output is Latex - + + TTocEntry{.final.} = object + n*: PRstNode + refname*, header*: string + TMetaEnum* = enum + metaNone, metaTitle, metaSubtitle, metaAuthor, metaVersion + + TRstGenerator* = object of TObject + target*: TOutputTarget + config*: PStringTable + splitAfter*: int # split too long entries in the TOC + tocPart*: seq[TTocEntry] + hasToc*: bool + theIndex: string + options*: TRstParseOptions + findFile*: TFindFileHandler + msgHandler*: TMsgHandler + filename*: string + meta*: array[TMetaEnum, string] + + PDoc = var TRstGenerator + +proc initRstGenerator*(g: var TRstGenerator, target: TOutputTarget, + config: PStringTable, filename: string, + options: TRstParseOptions, + findFile: TFindFileHandler, + msgHandler: TMsgHandler) = + g.config = config + g.target = target + g.tocPart = @[] + g.filename = filename + g.splitAfter = 20 + g.theIndex = "" + g.options = options + g.findFile = findFile + g.msgHandler = msgHandler + + let s = config["split.item.toc"] + if s != "": g.splitAfter = parseInt(s) + for i in low(g.meta)..high(g.meta): g.meta[i] = "" + +proc writeIndexFile*(g: var TRstGenerator, outfile: string) = + if g.theIndex.len > 0: writeFile(outfile, g.theIndex) + proc addXmlChar(dest: var string, c: Char) = case c of '&': add(dest, "&") @@ -84,4 +131,563 @@ proc esc*(target: TOutputTarget, s: string, splitAfter = -1): string = j = k + 1 else: for i in countup(0, len(s) - 1): escChar(target, result, s[i]) + + +proc disp(target: TOutputTarget, xml, tex: string): string = + if target != outLatex: result = xml + else: result = tex + +proc dispF(target: TOutputTarget, xml, tex: string, + args: openArray[string]): string = + if target != outLatex: result = xml % args + else: result = tex % args + +proc dispA(target: TOutputTarget, dest: var string, + xml, tex: string, args: openarray[string]) = + if target != outLatex: addf(dest, xml, args) + else: addf(dest, tex, args) + +proc renderRstToOut*(d: PDoc, n: PRstNode, result: var string) + +proc renderAux(d: PDoc, n: PRstNode, result: var string) = + for i in countup(0, len(n)-1): renderRstToOut(d, n.sons[i], result) + +proc renderAux(d: PDoc, n: PRstNode, frmtA, frmtB: string, result: var string) = + var tmp = "" + for i in countup(0, len(n)-1): renderRstToOut(d, n.sons[i], tmp) + if d.target != outLatex: + result.addf(frmtA, [tmp]) + else: + result.addf(frmtB, [tmp]) + +# ---------------- index handling -------------------------------------------- + +proc setIndexTerm*(d: PDoc, id, term: string) = + d.theIndex.add(term) + d.theIndex.add('\t') + let htmlFile = changeFileExt(extractFilename(d.filename), HtmlExt) + d.theIndex.add(htmlFile) + d.theIndex.add('#') + d.theIndex.add(id) + d.theIndex.add("\n") + +proc hash(n: PRstNode): int = + if n.kind == rnLeaf: + result = hash(n.text) + elif n.len > 0: + result = hash(n.sons[0]) + for i in 1 .. $2", "$2\\label{$1}", + [id, term]) + +type + TIndexEntry {.pure, final.} = object + keyword: string + link: string + +proc cmp(a, b: TIndexEntry): int = + result = cmpIgnoreStyle(a.keyword, b.keyword) + +proc `<-`(a: var TIndexEntry, b: TIndexEntry) = + shallowCopy a.keyword, b.keyword + shallowCopy a.link, b.link + +proc sortIndex(a: var openArray[TIndexEntry]) = + # we use shellsort here; fast and simple + let N = len(a) + var h = 1 + while true: + h = 3 * h + 1 + if h > N: break + while true: + h = h div 3 + for i in countup(h, N - 1): + var v: TIndexEntry + v <- a[i] + var j = i + while cmp(a[j-h], v) >= 0: + a[j] <- a[j-h] + j = j-h + if j < h: break + a[j] <- v + if h == 1: break + +proc mergeIndexes*(dir: string): string = + ## merges all index files in `dir` and returns the generated index as HTML. + ## The result is no full HTML for flexibility. + var a: seq[TIndexEntry] + newSeq(a, 15_000) + setLen(a, 0) + var L = 0 + for kind, path in walkDir(dir): + if kind == pcFile and path.endsWith(IndexExt): + for line in lines(path): + let s = line.find('\t') + if s < 0: continue + setLen(a, L+1) + a[L].keyword = line.substr(0, s-1) + a[L].link = line.substr(s+1) + inc L + sortIndex(a) + result = "" + var i = 0 + while i < L: + result.addf("
    $1
      \n", + a[i].keyword) + var j = i + while j < L and a[i].keyword == a[j].keyword: + result.addf( + "
    • $1
    • \n", + a[j].link) + inc j + result.add("
    \n") + i = j + +# ---------------------------------------------------------------------------- + +proc renderHeadline(d: PDoc, n: PRstNode, result: var string) = + var tmp = "" + for i in countup(0, len(n) - 1): renderRstToOut(d, n.sons[i], tmp) + var refname = rstnodeToRefname(n) + if d.hasToc: + var length = len(d.tocPart) + setlen(d.tocPart, length + 1) + d.tocPart[length].refname = refname + d.tocPart[length].n = n + d.tocPart[length].header = tmp + + dispA(d.target, result, + "$3", + "\\rsth$4{$3}\\label{$2}\n", [$n.level, + d.tocPart[length].refname, tmp, + $chr(n.level - 1 + ord('A'))]) + else: + dispA(d.target, result, "$3", + "\\rsth$4{$3}\\label{$2}\n", [ + $n.level, refname, tmp, + $chr(n.level - 1 + ord('A'))]) + +proc renderOverline(d: PDoc, n: PRstNode, result: var string) = + if d.meta[metaTitle].len == 0: + for i in countup(0, len(n)-1): + renderRstToOut(d, n.sons[i], d.meta[metaTitle]) + elif d.meta[metaSubtitle].len == 0: + for i in countup(0, len(n)-1): + renderRstToOut(d, n.sons[i], d.meta[metaSubtitle]) + else: + var tmp = "" + for i in countup(0, len(n) - 1): renderRstToOut(d, n.sons[i], tmp) + dispA(d.target, result, "
    $3
    ", + "\\rstov$4{$3}\\label{$2}\n", [$n.level, + rstnodeToRefname(n), tmp, $chr(n.level - 1 + ord('A'))]) + + +proc renderTocEntry(d: PDoc, e: TTocEntry, result: var string) = + dispA(d.target, result, + "
  • $2
  • \n", + "\\item\\label{$1_toc} $2\\ref{$1}\n", [e.refname, e.header]) + +proc renderTocEntries*(d: PDoc, j: var int, lvl: int, result: var string) = + var tmp = "" + while j <= high(d.tocPart): + var a = abs(d.tocPart[j].n.level) + if a == lvl: + renderTocEntry(d, d.tocPart[j], tmp) + inc(j) + elif a > lvl: + renderTocEntries(d, j, a, tmp) + else: + break + if lvl > 1: + dispA(d.target, result, "
      $1
    ", + "\\begin{enumerate}$1\\end{enumerate}", [tmp]) + else: + result.add(tmp) + +proc renderImage(d: PDoc, n: PRstNode, result: var string) = + var options = "" + var s = getFieldValue(n, "scale") + if s != "": dispA(d.target, options, " scale=\"$1\"", " scale=$1", [strip(s)]) + + s = getFieldValue(n, "height") + if s != "": dispA(d.target, options, " height=\"$1\"", " height=$1", [strip(s)]) + + s = getFieldValue(n, "width") + if s != "": dispA(d.target, options, " width=\"$1\"", " width=$1", [strip(s)]) + + s = getFieldValue(n, "alt") + if s != "": dispA(d.target, options, " alt=\"$1\"", "", [strip(s)]) + + s = getFieldValue(n, "align") + if s != "": dispA(d.target, options, " align=\"$1\"", "", [strip(s)]) + + if options.len > 0: options = dispF(d.target, "$1", "[$1]", [options]) + + dispA(d.target, result, "", "\\includegraphics$2{$1}", + [getArgument(n), options]) + if len(n) >= 3: renderRstToOut(d, n.sons[2], result) + +proc renderSmiley(d: PDoc, n: PRstNode, result: var string) = + dispA(d.target, result, + """""", + "\\includegraphics{$1}", [n.text]) + +proc renderCodeBlock(d: PDoc, n: PRstNode, result: var string) = + if n.sons[2] == nil: return + var m = n.sons[2].sons[0] + assert m.kind == rnLeaf + var langstr = strip(getArgument(n)) + var lang: TSourceLanguage + if langstr == "": + lang = langNimrod # default language + else: + lang = getSourceLanguage(langstr) + + dispA(d.target, result, "
    ", "\\begin{rstpre}\n")
    +  if lang == langNone:
    +    d.msgHandler(d.filename, 1, 0, mwUnsupportedLanguage, langstr)
    +    result.add(m.text)
    +  else:
    +    var g: TGeneralTokenizer
    +    initGeneralTokenizer(g, m.text)
    +    while true: 
    +      getNextToken(g, lang)
    +      case g.kind
    +      of gtEof: break 
    +      of gtNone, gtWhitespace: 
    +        add(result, substr(m.text, g.start, g.length + g.start - 1))
    +      else:
    +        dispA(d.target, result, "$1", "\\span$2{$1}", [
    +          esc(d.target, substr(m.text, g.start, g.length+g.start-1)),
    +          tokenClassToStr[g.kind]])
    +    deinitGeneralTokenizer(g)
    +  dispA(d.target, result, "
    ", "\n\\end{rstpre}\n") + +proc renderContainer(d: PDoc, n: PRstNode, result: var string) = + var tmp = "" + renderRstToOut(d, n.sons[2], tmp) + var arg = strip(getArgument(n)) + if arg == "": + dispA(d.target, result, "
    $1
    ", "$1", [tmp]) + else: + dispA(d.target, result, "
    $2
    ", "$2", [arg, tmp]) + +proc texColumns(n: PRstNode): string = + result = "" + for i in countup(1, len(n)): add(result, "|X") + +proc renderField(d: PDoc, n: PRstNode, result: var string) = + var b = false + if d.target == outLatex: + var fieldname = addNodes(n.sons[0]) + var fieldval = esc(d.target, strip(addNodes(n.sons[1]))) + if cmpIgnoreStyle(fieldname, "author") == 0: + if d.meta[metaAuthor].len == 0: + d.meta[metaAuthor] = fieldval + b = true + elif cmpIgnoreStyle(fieldName, "version") == 0: + if d.meta[metaVersion].len == 0: + d.meta[metaVersion] = fieldval + b = true + if not b: + renderAux(d, n, "$1\n", "$1", result) + +proc renderRstToOut(d: PDoc, n: PRstNode, result: var string) = + if n == nil: return + case n.kind + of rnInner: renderAux(d, n, result) + of rnHeadline: renderHeadline(d, n, result) + of rnOverline: renderOverline(d, n, result) + of rnTransition: renderAux(d, n, "
    \n", "\\hrule\n", result) + of rnParagraph: renderAux(d, n, "

    $1

    \n", "$1\n\n", result) + of rnBulletList: + renderAux(d, n, "
      $1
    \n", + "\\begin{itemize}$1\\end{itemize}\n", result) + of rnBulletItem, rnEnumItem: + renderAux(d, n, "
  • $1
  • \n", "\\item $1\n", result) + of rnEnumList: + renderAux(d, n, "
      $1
    \n", + "\\begin{enumerate}$1\\end{enumerate}\n", result) + of rnDefList: + renderAux(d, n, "
    $1
    \n", + "\\begin{description}$1\\end{description}\n", result) + of rnDefItem: renderAux(d, n, result) + of rnDefName: renderAux(d, n, "
    $1
    \n", "\\item[$1] ", result) + of rnDefBody: renderAux(d, n, "
    $1
    \n", "$1\n", result) + of rnFieldList: + var tmp = "" + for i in countup(0, len(n) - 1): + renderRstToOut(d, n.sons[i], tmp) + if tmp.len != 0: + dispA(d.target, result, + "" & + "" & + "" & + "$1" & + "
    ", + "\\begin{description}$1\\end{description}\n", + [tmp]) + of rnField: renderField(d, n, result) + of rnFieldName: + renderAux(d, n, "$1:", "\\item[$1:]", result) + of rnFieldBody: + renderAux(d, n, "$1", " $1\n", result) + of rnIndex: + renderRstToOut(d, n.sons[2], result) + of rnOptionList: + renderAux(d, n, "$1
    ", + "\\begin{description}\n$1\\end{description}\n", result) + of rnOptionListItem: + renderAux(d, n, "$1\n", "$1", result) + of rnOptionGroup: + renderAux(d, n, "$1", "\\item[$1]", result) + of rnDescription: + renderAux(d, n, "$1\n", " $1\n", result) + of rnOption, rnOptionString, rnOptionArgument: + doAssert false, "renderRstToOut" + of rnLiteralBlock: + renderAux(d, n, "
    $1
    \n", + "\\begin{rstpre}\n$1\n\\end{rstpre}\n", result) + of rnQuotedLiteralBlock: + doAssert false, "renderRstToOut" + of rnLineBlock: + renderAux(d, n, "

    $1

    ", "$1\n\n", result) + of rnLineBlockItem: + renderAux(d, n, "$1
    ", "$1\\\\\n", result) + of rnBlockQuote: + renderAux(d, n, "

    $1

    \n", + "\\begin{quote}$1\\end{quote}\n", result) + of rnTable, rnGridTable: + renderAux(d, n, + "$1
    ", + "\\begin{table}\\begin{rsttab}{" & + texColumns(n) & "|}\n\\hline\n$1\\end{rsttab}\\end{table}", result) + of rnTableRow: + if len(n) >= 1: + if d.target == outLatex: + var tmp = "" + renderRstToOut(d, n.sons[0], tmp) + for i in countup(1, len(n) - 1): + result.add(" & ") + renderRstToOut(d, n.sons[i], result) + result.add("\\\\\n\\hline\n") + else: + result.add("") + renderAux(d, n, result) + result.add("\n") + of rnTableDataCell: + renderAux(d, n, "$1", "$1", result) + of rnTableHeaderCell: + renderAux(d, n, "$1", "\\textbf{$1}", result) + of rnLabel: + doAssert false, "renderRstToOut" # used for footnotes and other + of rnFootnote: + doAssert false, "renderRstToOut" # a footnote + of rnCitation: + doAssert false, "renderRstToOut" # similar to footnote + of rnRef: + var tmp = "" + renderAux(d, n, tmp) + dispA(d.target, result, "$1", + "$1\\ref{$2}", [tmp, rstnodeToRefname(n)]) + of rnStandaloneHyperlink: + renderAux(d, n, + "$1", + "\\href{$1}{$1}", result) + of rnHyperlink: + var tmp0 = "" + var tmp1 = "" + renderRstToOut(d, n.sons[0], tmp0) + renderRstToOut(d, n.sons[1], tmp1) + dispA(d.target, result, "$1", + "\\href{$2}{$1}", + [tmp0, tmp1]) + of rnDirArg, rnRaw: renderAux(d, n, result) + of rnRawHtml: + if d.target != outLatex: + result.add addNodes(lastSon(n)) + of rnRawLatex: + if d.target == outLatex: + result.add addNodes(lastSon(n)) + + of rnImage, rnFigure: renderImage(d, n, result) + of rnCodeBlock: renderCodeBlock(d, n, result) + of rnContainer: renderContainer(d, n, result) + of rnSubstitutionReferences, rnSubstitutionDef: + renderAux(d, n, "|$1|", "|$1|", result) + of rnDirective: + renderAux(d, n, "", "", result) + of rnGeneralRole: + var tmp0 = "" + var tmp1 = "" + renderRstToOut(d, n.sons[0], tmp0) + renderRstToOut(d, n.sons[1], tmp1) + dispA(d.target, result, "$1", "\\span$2{$1}", + [tmp0, tmp1]) + of rnSub: renderAux(d, n, "$1", "\\rstsub{$1}", result) + of rnSup: renderAux(d, n, "$1", "\\rstsup{$1}", result) + of rnEmphasis: renderAux(d, n, "$1", "\\emph{$1}", result) + of rnStrongEmphasis: + renderAux(d, n, "$1", "\\textbf{$1}", result) + of rnTripleEmphasis: + renderAux(d, n, "$1", + "\\textbf{emph{$1}}", result) + of rnInterpretedText: + renderAux(d, n, "$1", "\\emph{$1}", result) + of rnIdx: + renderIndexTerm(d, n, result) + of rnInlineLiteral: + renderAux(d, n, + "$1", + "\\texttt{$1}", result) + of rnSmiley: renderSmiley(d, n, result) + of rnLeaf: result.add(esc(d.target, n.text)) + of rnContents: d.hasToc = true + of rnTitle: + d.meta[metaTitle] = "" + renderRstToOut(d, n.sons[0], d.meta[metaTitle]) + +# ----------------------------------------------------------------------------- + +proc getVarIdx(varnames: openarray[string], id: string): int = + for i in countup(0, high(varnames)): + if cmpIgnoreStyle(varnames[i], id) == 0: + return i + result = -1 + +proc formatNamedVars*(frmt: string, varnames: openarray[string], + varvalues: openarray[string]): string = + var i = 0 + var L = len(frmt) + result = "" + var num = 0 + while i < L: + if frmt[i] == '$': + inc(i) # skip '$' + case frmt[i] + of '#': + add(result, varvalues[num]) + inc(num) + inc(i) + of '$': + add(result, "$") + inc(i) + of '0'..'9': + var j = 0 + while true: + j = (j * 10) + Ord(frmt[i]) - ord('0') + inc(i) + if i > L-1 or frmt[i] notin {'0'..'9'}: break + if j > high(varvalues) + 1: + raise newException(EInvalidValue, "invalid index: " & $j) + num = j + add(result, varvalues[j - 1]) + of 'A'..'Z', 'a'..'z', '\x80'..'\xFF': + var id = "" + while true: + add(id, frmt[i]) + inc(i) + if frmt[i] notin {'A'..'Z', '_', 'a'..'z', '\x80'..'\xFF'}: break + var idx = getVarIdx(varnames, id) + if idx >= 0: + add(result, varvalues[idx]) + else: + raise newException(EInvalidValue, "unknown substitution var: " & id) + of '{': + var id = "" + inc(i) + while frmt[i] != '}': + if frmt[i] == '\0': + raise newException(EInvalidValue, "'}' expected") + add(id, frmt[i]) + inc(i) + inc(i) # skip } + # search for the variable: + var idx = getVarIdx(varnames, id) + if idx >= 0: add(result, varvalues[idx]) + else: + raise newException(EInvalidValue, "unknown substitution var: " & id) + else: + raise newException(EInvalidValue, "unknown substitution: $" & $frmt[i]) + var start = i + while i < L: + if frmt[i] != '$': inc(i) + else: break + if i-1 >= start: add(result, substr(frmt, start, i - 1)) + + +proc defaultConfig*(): PStringTable = + ## creates a default configuration for HTML generation. + result = newStringTable(modeStyleInsensitive) + + template setConfigVar(key, val: expr) = + result[key] = val + + setConfigVar("split.item.toc", "20") + setConfigVar("doc.section", """ +
    +

    $sectionTitle

    +
    +$content +
    +""") + setConfigVar("doc.section.toc", """ +
  • + $sectionTitle +
      + $content +
    +
  • +""") + setConfigVar("doc.item", """ +
    $header
    +
    +$desc +
    +""") + setConfigVar("doc.item.toc", """ +
  • $name
  • +""") + setConfigVar("doc.toc", """ +""") + setConfigVar("doc.body_toc", """ +$tableofcontents +
    +$moduledesc +$content +
    +""") + setConfigVar("doc.body_no_toc", "$moduledesc $content") + setConfigVar("doc.file", "$content") + +# ---------- forum --------------------------------------------------------- + +proc rstToHtml*(s: string, options: TRstParseOptions, + config: PStringTable): string = + ## exported for *nimforum*. + + proc myFindFile(filename: string): string = + # we don't find any files in online mode: + result = "" + + const filen = "input" + var d: TRstGenerator + initRstGenerator(d, outHtml, config, filen, options, myFindFile, nil) + var dummyHasToc = false + var rst = rstParse(s, filen, 0, 1, dummyHasToc, options) + result = "" + renderRstToOut(d, rst, result) \ No newline at end of file diff --git a/todo.txt b/todo.txt index 3f7f2e2df7..7ab7a31cd8 100755 --- a/todo.txt +++ b/todo.txt @@ -1,6 +1,7 @@ version 0.9.0 ============= +- docgen: markdown support - make templates hygienic by default - ``bind`` for overloaded symbols does not work apparently - ``=`` should be overloadable; requires specialization for ``=`` diff --git a/tools/nimweb.nim b/tools/nimweb.nim index 61f23ab8cb..2ca913ec8d 100755 --- a/tools/nimweb.nim +++ b/tools/nimweb.nim @@ -162,15 +162,12 @@ proc Exec(cmd: string) = proc buildDoc(c: var TConfigData, destPath: string) = # call nim for the documentation: for d in items(c.doc): - Exec("nimrod rst2html $# -o:$# --index=$#/theindex $#" % - [c.nimrodArgs, destPath / changeFileExt(splitFile(d).name, "html"), - destpath, d]) + Exec("nimrod rst2html $# -o:$# --index:on $#" % + [c.nimrodArgs, destPath / changeFileExt(splitFile(d).name, "html"), d]) for d in items(c.srcdoc): - Exec("nimrod doc $# -o:$# --index=$#/theindex $#" % - [c.nimrodArgs, destPath / changeFileExt(splitFile(d).name, "html"), - destpath, d]) - Exec("nimrod rst2html $1 -o:$2/theindex.html $2/theindex" % - [c.nimrodArgs, destPath]) + Exec("nimrod doc $# -o:$# --index:on $#" % + [c.nimrodArgs, destPath / changeFileExt(splitFile(d).name, "html"), d]) + Exec("nimrod buildIndex -o:$1/theindex.html $1" % [destPath]) proc buildPdfDoc(c: var TConfigData, destPath: string) = if os.execShellCmd("pdflatex -version") != 0: