diff options
-rw-r--r-- | compiler/jsgen.nim | 2 | ||||
-rw-r--r-- | lib/packages/docutils/rstgen.nim | 8 | ||||
-rw-r--r-- | lib/pure/sockets.nim | 3 | ||||
-rw-r--r-- | lib/wrappers/sdl/sdl_ttf.nim | 2 | ||||
-rw-r--r-- | tests/js/testobjs.nim | 34 |
5 files changed, 41 insertions, 8 deletions
diff --git a/compiler/jsgen.nim b/compiler/jsgen.nim index 108c0fe10..2ae85d5cf 100644 --- a/compiler/jsgen.nim +++ b/compiler/jsgen.nim @@ -1431,7 +1431,7 @@ proc genObjConstr(p: PProc, n: PNode, r: var TCompRes) = r.res = toRope("{") r.kind = resExpr for i in countup(1, sonsLen(n) - 1): - if i > 0: app(r.res, ", ") + if i > 1: app(r.res, ", ") var it = n.sons[i] internalAssert it.kind == nkExprColonExpr gen(p, it.sons[1], a) diff --git a/lib/packages/docutils/rstgen.nim b/lib/packages/docutils/rstgen.nim index 514292039..fc60b3672 100644 --- a/lib/packages/docutils/rstgen.nim +++ b/lib/packages/docutils/rstgen.nim @@ -60,7 +60,6 @@ type seenIndexTerms: Table[string, int] ## \ ## Keeps count of same text index terms to generate different identifiers ## for hyperlinks. See renderIndexTerm proc for details. - smileyFrmt: string ## How to massage the smiley filename. PDoc = var TRstGenerator ## Alias to type less. @@ -81,8 +80,7 @@ proc initRstGenerator*(g: var TRstGenerator, target: TOutputTarget, config: StringTableRef, filename: string, options: TRstParseOptions, findFile: TFindFileHandler=nil, - msgHandler: TMsgHandler=nil, - smileyFrmt = "/images/smilies/$1.gif") = + msgHandler: TMsgHandler=nil) = ## Initializes a ``TRstGenerator``. ## ## You need to call this before using a ``TRstGenerator`` with any other @@ -142,7 +140,6 @@ proc initRstGenerator*(g: var TRstGenerator, target: TOutputTarget, let s = config["split.item.toc"] if s != "": g.splitAfter = parseInt(s) for i in low(g.meta)..high(g.meta): g.meta[i] = "" - g.smileyFrmt = smileyFrmt proc writeIndexFile*(g: var TRstGenerator, outfile: string) = ## Writes the current index buffer to the specified output file. @@ -778,7 +775,7 @@ proc renderSmiley(d: PDoc, n: PRstNode, result: var string) = dispA(d.target, result, """<img src="$1" width="15" height="17" hspace="2" vspace="2" class="smiley" />""", - "\\includegraphics{$1}", [d.smileyFrmt % n.text]) + "\\includegraphics{$1}", [d.config["doc.smiley_format"] % n.text]) proc parseCodeBlockField(d: PDoc, n: PRstNode, params: var CodeBlockParams) = ## Parses useful fields which can appear before a code block. @@ -1204,6 +1201,7 @@ $content """) setConfigVar("doc.body_no_toc", "$moduledesc $content") setConfigVar("doc.file", "$content") + setConfigVar("doc.smiley_format", "/images/smilies/$1.gif") # ---------- forum --------------------------------------------------------- diff --git a/lib/pure/sockets.nim b/lib/pure/sockets.nim index 99cdc002c..e3c32e806 100644 --- a/lib/pure/sockets.nim +++ b/lib/pure/sockets.nim @@ -45,7 +45,8 @@ else: # Note: The enumerations are mapped to Window's constants. -when defined(ssl): +when defined(ssl): + type SSLError* = object of Exception diff --git a/lib/wrappers/sdl/sdl_ttf.nim b/lib/wrappers/sdl/sdl_ttf.nim index e0410c798..9ebe70b9d 100644 --- a/lib/wrappers/sdl/sdl_ttf.nim +++ b/lib/wrappers/sdl/sdl_ttf.nim @@ -163,7 +163,7 @@ elif defined(macosx): ttfLibName = "libSDL_ttf-2.0.0.dylib" else: const - ttfLibName = "libSDL_ttf.so(|.1|.0)" + ttfLibName = "libSDL_ttf(|-2.0).so(|.1|.0)" const MAJOR_VERSION* = 2 MINOR_VERSION* = 0 diff --git a/tests/js/testobjs.nim b/tests/js/testobjs.nim new file mode 100644 index 000000000..4fb9a83dc --- /dev/null +++ b/tests/js/testobjs.nim @@ -0,0 +1,34 @@ +## Tests javascript object generation + +type + Kg = distinct float + Price = int + Item = object of RootObj + weight: Kg + price: Price + desc: cstring + Person = object of RootObj + name: cstring + age: int + item: Item + Test = object + name: cstring + Recurse[T] = object + data: T + next: ref Recurse[T] + +var + test = Test(name: "Jorden") + sword = Item(desc: "pointy", weight: Kg(10.0), + price: Price(50)) + knight = Person(name: "robert", age: 19, item: sword) + recurse4 = (ref Recurse[int])(data: 4, next: nil) + recurse3 = (ref Recurse[int])(data: 3, next: recurse4) + recurse2 = (ref Recurse[int])(data: 2, next: recurse3) + recurse1 = Recurse[int](data: 1, next: recurse2) + + +assert(test.name == "Jorden") +assert(knight.age == 19) +assert(knight.item.price == 50) +assert(recurse1.next.next.data == 3) |