diff --git a/lib/system/systhread.nim b/lib/system/systhread.nim
index 82ffd72ce5..70447f2882 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 abb33a6f1f..7e141d633e 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("
\n",
"\\begin{itemize}$1\\end{itemize}\n"))
of rnBulletItem, rnEnumItem:
- result = renderAux(d, n, disp("$1" & "\n", "\\item $1" & "\n"))
+ 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"))
+ 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"))
@@ -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 03d155169e..13be258bae 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 9240286be9..c03781d813 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