diff options
author | Araq <rumpf_a@web.de> | 2010-12-07 17:11:35 +0100 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2010-12-07 17:11:35 +0100 |
commit | 902bf05879a89f7c296992da648eef9d1ea598d3 (patch) | |
tree | c33b73a4a3364b8b284f04beac89b6c4a517f6f9 | |
parent | 2fb8ced454fd36d7299e208c39052de91ce2c4ff (diff) | |
download | Nim-902bf05879a89f7c296992da648eef9d1ea598d3.tar.gz |
commit before ov-res changes
-rwxr-xr-x | lib/system/systhread.nim | 27 | ||||
-rwxr-xr-x | rod/docgen.nim | 24 | ||||
-rwxr-xr-x | rod/idents.nim | 8 | ||||
-rwxr-xr-x | todo.txt | 1 |
4 files changed, 37 insertions, 23 deletions
diff --git a/lib/system/systhread.nim b/lib/system/systhread.nim index 82ffd72ce..70447f288 100755 --- a/lib/system/systhread.nim +++ b/lib/system/systhread.nim @@ -48,6 +48,7 @@ proc atomicDec(memLoc: var int, x: int): int = when defined(Windows): type THandle = int + TSysThread = THandle TSysLock {.final, pure.} = object # CRITICAL_SECTION in WinApi DebugInfo: pointer LockCount: int32 @@ -83,13 +84,31 @@ else: type - TThread* {.final, pure.} = object - id: int - next: ptr TThread + TThread* = TSysThread + TLock* = TSysLock TThreadFunc* = proc (closure: pointer) {.cdecl.} -proc createThread*(t: var TThread, fn: TThreadFunc) = +DWORD WINAPI SuspendThread( + __in HANDLE hThread +); +DWORD WINAPI ResumeThread( + __in HANDLE hThread +); +DWORD WINAPI ThreadProc( + __in LPVOID lpParameter +); + +proc createThread*(t: var TThread, fn: TThreadFunc, closure: pointer) = + when defined(windows): + + else: + nil + #pthread_create( + +proc joinThread*(t: TThread) = nil + +#proc pthread_exit(void *value_ptr) proc destroyThread*(t: var TThread) = nil diff --git a/rod/docgen.nim b/rod/docgen.nim index abb33a6f1..7e141d633 100755 --- a/rod/docgen.nim +++ b/rod/docgen.nim @@ -315,17 +315,13 @@ proc getRstName(n: PNode): PRstNode = result = nil proc genItem(d: PDoc, n, nameNode: PNode, k: TSymKind) = - var - r: TSrcGen - kind: TTokType - literal: string - name, result, comm: PRope if not isVisible(nameNode): return - name = toRope(getName(nameNode)) - result = nil - literal = "" - kind = tkEof - comm = genRecComment(d, n) # call this here for the side-effect! + var name = toRope(getName(nameNode)) + var result: PRope = nil + var literal = "" + var kind = tkEof + var comm = genRecComment(d, n) # call this here for the side-effect! + var r: TSrcGen initTokRender(r, n, {renderNoPragmas, renderNoBody, renderNoComments, renderDocComments}) while true: @@ -630,10 +626,10 @@ proc renderRstToOut(d: PDoc, n: PRstNode): PRope = result = renderAux(d, n, disp("<ul class=\"simple\">$1</ul>\n", "\\begin{itemize}$1\\end{itemize}\n")) of rnBulletItem, rnEnumItem: - result = renderAux(d, n, disp("<li>$1</li>" & "\n", "\\item $1" & "\n")) + result = renderAux(d, n, disp("<li>$1</li>\n", "\\item $1\n")) of rnEnumList: - result = renderAux(d, n, disp("<ol class=\"simple\">$1</ol>" & "\n", - "\\begin{enumerate}$1\\end{enumerate}" & "\n")) + result = renderAux(d, n, disp("<ol class=\"simple\">$1</ol>\n", + "\\begin{enumerate}$1\\end{enumerate}\n")) of rnDefList: result = renderAux(d, n, disp("<dl class=\"docutils\">$1</dl>\n", "\\begin{description}$1\\end{description}\n")) @@ -791,7 +787,7 @@ proc generateDoc(d: PDoc, n: PNode) = proc genSection(d: PDoc, kind: TSymKind) = if d.section[kind] == nil: return - var title = toRope(copy($kind, 0 + 2) & 's') + var title = toRope(copy($kind, 2) & 's') d.section[kind] = ropeFormatNamedVars(getConfigVar("doc.section"), [ "sectionid", "sectionTitle", "sectionTitleID", "content"], [ toRope(ord(kind)), title, toRope(ord(kind) + 50), d.section[kind]]) diff --git a/rod/idents.nim b/rod/idents.nim index 03d155169..13be258ba 100755 --- a/rod/idents.nim +++ b/rod/idents.nim @@ -16,7 +16,7 @@ import type TIdObj* = object of TObject - id*: int # unique id; use this for comparisons and not the pointers + id*: int # unique id; use this for comparisons and not the pointers PIdObj* = ref TIdObj PIdent* = ref TIdent @@ -48,8 +48,8 @@ proc cmpIgnoreStyle(a, b: cstring, blen: int): int = result = 1 while j < blen: while a[i] == '_': inc(i) - while b[j] == '_': - inc(j) # tolower inlined: + while b[j] == '_': inc(j) + # tolower inlined: aa = a[i] bb = b[j] if (aa >= 'A') and (aa <= 'Z'): aa = chr(ord(aa) + (ord('a') - ord('A'))) @@ -129,4 +129,4 @@ proc getIdent(identifier: cstring, length: int, h: THash): PIdent = result.id = - wordCounter else: result.id = id # writeln('new word ', result.s); - \ No newline at end of file + diff --git a/todo.txt b/todo.txt index 9240286be..c03781d81 100755 --- a/todo.txt +++ b/todo.txt @@ -103,7 +103,6 @@ Low priority - find a way for easy constructors and destructors; (destructors are much more important than constructors) - code generated for type information is wasteful -- icon installation for the Windows installer Other ideas |