Skip to content

Commit

Permalink
Revert "Undefine paramCount & paramStr in nimscript.nim for *.nims (
Browse files Browse the repository at this point in the history
nim-lang#12860)"

This reverts commit d38853c.
  • Loading branch information
timotheecour committed Jun 14, 2020
1 parent fc12f0f commit 4072ecc
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 24 deletions.
1 change: 0 additions & 1 deletion changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,6 @@

- Added high-level `asyncnet.sendTo` and `asyncnet.recvFrom`. UDP functionality.

- `paramCount` & `paramStr` are now defined in os.nim instead of nimscript.nim for nimscript/nimble.
- `dollars.$` now works for unsigned ints with `nim js`

- Improvements to the `bitops` module, including bitslices, non-mutating versions
Expand Down
10 changes: 4 additions & 6 deletions compiler/scriptconfig.nim
Original file line number Diff line number Diff line change
Expand Up @@ -141,12 +141,10 @@ proc setupVM*(module: PSym; cache: IdentCache; scriptName: string;
setResult(a, options.existsConfigVar(conf, a.getString 0))
cbconf nimcacheDir:
setResult(a, options.getNimcacheDir(conf).string)
result.registerCallback "stdlib.os." & astToStr(paramStr),
proc (a: VmArgs) =
setResult(a, os.paramStr(int a.getInt 0))
result.registerCallback "stdlib.os." & astToStr(paramCount),
proc (a: VmArgs) =
setResult(a, os.paramCount())
cbconf paramStr:
setResult(a, os.paramStr(int a.getInt 0))
cbconf paramCount:
setResult(a, os.paramCount())
cbconf cmpIgnoreStyle:
setResult(a, strutils.cmpIgnoreStyle(a.getString 0, a.getString 1))
cbconf cmpIgnoreCase:
Expand Down
18 changes: 1 addition & 17 deletions lib/pure/os.nim
Original file line number Diff line number Diff line change
Expand Up @@ -2708,23 +2708,7 @@ when defined(nimdoc):
## else:
## # Do something else!

elif defined(nimscript):
proc paramStr*(i: int): string =
## Retrieves the ``i``'th command line parameter.
discard

proc paramCount*(): int =
## Retrieves the number of command line parameters.
discard

elif defined(js):
proc paramStr*(i: int): TaintedString {.tags: [ReadIOEffect].} =
raise newException(OSError, "paramStr is not implemented on JavaScript")

proc paramCount*(): int {.tags: [ReadIOEffect].} =
raise newException(OSError, "paramCount is not implemented on JavaScript")

elif defined(nintendoswitch):
elif defined(nintendoswitch) or weirdTarget:
proc paramStr*(i: int): TaintedString {.tags: [ReadIOEffect].} =
raise newException(OSError, "paramStr is not implemented on Nintendo Switch")

Expand Down
8 changes: 8 additions & 0 deletions lib/system/nimscript.nim
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,14 @@ proc rawExec(cmd: string): int {.tags: [ExecIOEffect], raises: [OSError].} =
proc warningImpl(arg, orig: string) = discard
proc hintImpl(arg, orig: string) = discard

proc paramStr*(i: int): string =
## Retrieves the ``i``'th command line parameter.
builtin

proc paramCount*(): int =
## Retrieves the number of command line parameters.
builtin

proc switch*(key: string, val="") =
## Sets a Nim compiler command line switch, for
## example ``switch("checks", "on")``.
Expand Down

0 comments on commit 4072ecc

Please sign in to comment.