summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAraq <rumpf_a@web.de>2010-12-07 17:11:35 +0100
committerAraq <rumpf_a@web.de>2010-12-07 17:11:35 +0100
commit902bf05879a89f7c296992da648eef9d1ea598d3 (patch)
treec33b73a4a3364b8b284f04beac89b6c4a517f6f9
parent2fb8ced454fd36d7299e208c39052de91ce2c4ff (diff)
downloadNim-902bf05879a89f7c296992da648eef9d1ea598d3.tar.gz
commit before ov-res changes
-rwxr-xr-xlib/system/systhread.nim27
-rwxr-xr-xrod/docgen.nim24
-rwxr-xr-xrod/idents.nim8
-rwxr-xr-xtodo.txt1
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