mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-30 18:02:05 +00:00
added -d:nimNoArrayToString define to allow easier porting to 0.18
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
## v0.18.0 - dd/mm/yyyy
|
||||
## v0.18.0 - 01/03/2018
|
||||
|
||||
### Changes affecting backwards compatibility
|
||||
|
||||
@@ -16,7 +16,9 @@
|
||||
|
||||
- Arrays of char cannot be converted to ``cstring`` anymore, pointers to
|
||||
arrays of char can! This means ``$`` for arrays can finally exist
|
||||
in ``system.nim`` and do the right thing.
|
||||
in ``system.nim`` and do the right thing. This means ``$myArrayOfChar`` changed
|
||||
its behaviour! Compile with ``-d:nimNoArrayToString`` to see where to fix your
|
||||
code.
|
||||
|
||||
- `reExtended` is no longer default for the `re` constructor in the `re`
|
||||
module.
|
||||
|
||||
@@ -78,7 +78,7 @@ when declared(os.paramCount):
|
||||
# we cannot provide this for NimRtl creation on Posix, because we can't
|
||||
# access the command line arguments then!
|
||||
|
||||
proc initOptParser*(cmdline = ""): OptParser =
|
||||
proc initOptParser*(cmdline = ""): OptParser {.rtl, extern: "npo$1String".} =
|
||||
## inits the option parser. If ``cmdline == ""``, the real command line
|
||||
## (as provided by the ``OS`` module) is taken.
|
||||
result.pos = 0
|
||||
@@ -94,6 +94,24 @@ when declared(os.paramCount):
|
||||
result.key = TaintedString""
|
||||
result.val = TaintedString""
|
||||
|
||||
proc initOptParser*(cmdline: seq[string]): OptParser {.rtl, extern: "npo$1Seq".} =
|
||||
## inits the option parser. If ``cmdline.len == 0``, the real command line
|
||||
## (as provided by the ``OS`` module) is taken.
|
||||
result.pos = 0
|
||||
result.inShortState = false
|
||||
result.cmd = ""
|
||||
if cmdline.len != 0:
|
||||
for i in 0..<cmdline.len:
|
||||
result.cmd.add quote(cmdline[i])
|
||||
result.cmd.add ' '
|
||||
else:
|
||||
for i in countup(1, paramCount()):
|
||||
result.cmd.add quote(paramStr(i).string)
|
||||
result.cmd.add ' '
|
||||
result.kind = cmdEnd
|
||||
result.key = TaintedString""
|
||||
result.val = TaintedString""
|
||||
|
||||
proc handleShortOption(p: var OptParser) =
|
||||
var i = p.pos
|
||||
p.kind = cmdShortOption
|
||||
|
||||
@@ -3428,10 +3428,10 @@ elif defined(JS):
|
||||
when defined(nimffi):
|
||||
include "system/sysio"
|
||||
|
||||
|
||||
proc `$`*[T, IDX](x: array[IDX, T]): string =
|
||||
## generic ``$`` operator for arrays that is lifted from the components
|
||||
collectionToString(x, "[", ", ", "]")
|
||||
when not defined(nimNoArrayToString):
|
||||
proc `$`*[T, IDX](x: array[IDX, T]): string =
|
||||
## generic ``$`` operator for arrays that is lifted from the components
|
||||
collectionToString(x, "[", ", ", "]")
|
||||
|
||||
proc quit*(errormsg: string, errorcode = QuitFailure) {.noReturn.} =
|
||||
## a shorthand for ``echo(errormsg); quit(errorcode)``.
|
||||
|
||||
Reference in New Issue
Block a user