summary refs log tree commit diff stats
path: root/compiler
diff options
context:
space:
mode:
authorAraq <rumpf_a@web.de>2018-09-08 10:04:22 +0200
committerAraq <rumpf_a@web.de>2018-09-08 10:04:22 +0200
commitca77f9388a9b1a580314aa5898e581461a07bc39 (patch)
tree99aaeff65386f772ff0228cd96d0b260361e8923 /compiler
parentc7ba7a97c0712e650ee6ed6182d6989192d57dea (diff)
downloadNim-ca77f9388a9b1a580314aa5898e581461a07bc39.tar.gz
'nim doc': fixes index generation regression
Diffstat (limited to 'compiler')
-rw-r--r--compiler/docgen.nim8
-rw-r--r--compiler/pathutils.nim4
2 files changed, 8 insertions, 4 deletions
diff --git a/compiler/docgen.nim b/compiler/docgen.nim
index 4f1070af0..209cd9d92 100644
--- a/compiler/docgen.nim
+++ b/compiler/docgen.nim
@@ -863,8 +863,12 @@ proc genOutFile(d: PDoc): Rope =
 
 proc generateIndex*(d: PDoc) =
   if optGenIndex in d.conf.globalOptions:
-    let dest = getOutFile2(d.conf, relativeTo(AbsoluteFile d.filename, d.conf.projectPath),
-        IndexExt, RelativeDir"index")
+    let dir = if d.conf.outFile.isEmpty: d.conf.projectPath / RelativeDir"htmldocs"
+              elif optWholeProject in d.conf.globalOptions: AbsoluteDir(d.conf.outFile)
+              else: AbsoluteDir(d.conf.outFile.string.splitFile.dir)
+    createDir(dir)
+    let dest = dir / changeFileExt(relativeTo(AbsoluteFile d.filename,
+                                              d.conf.projectPath), IndexExt)
     writeIndexFile(d[], dest.string)
 
 proc writeOutput*(d: PDoc, useWarning = false) =
diff --git a/compiler/pathutils.nim b/compiler/pathutils.nim
index e5317d5c3..b71caf314 100644
--- a/compiler/pathutils.nim
+++ b/compiler/pathutils.nim
@@ -191,7 +191,7 @@ when true:
   proc `==`*(x, y: RelativeDir): bool = eqImpl(x.string, y.string)
 
   proc `/`*(base: AbsoluteDir; f: RelativeFile): AbsoluteFile =
-    assert isAbsolute(base.string)
+    #assert isAbsolute(base.string)
     assert(not isAbsolute(f.string))
     result = AbsoluteFile newStringOfCap(base.string.len + f.string.len)
     var state = 0
@@ -199,7 +199,7 @@ when true:
     canon(f.string, result.string, state)
 
   proc `/`*(base: AbsoluteDir; f: RelativeDir): AbsoluteDir =
-    assert isAbsolute(base.string)
+    #assert isAbsolute(base.string)
     assert(not isAbsolute(f.string))
     result = AbsoluteDir newStringOfCap(base.string.len + f.string.len)
     var state = 0