Skip to content

Commit d38853c

Browse files
nc-xAraq
andauthored
Undefine paramCount & paramStr in nimscript.nim for *.nims (#12860)
* Remove `paramStr` and `paramCount` from implicitly imported nimscript.nim * Update changelog.md * Update stable nimble commit hash Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
1 parent a3a317b commit d38853c

File tree

5 files changed

+25
-14
lines changed

5 files changed

+25
-14
lines changed

changelog.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343

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

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

4849
## Language changes

compiler/scriptconfig.nim

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -141,10 +141,12 @@ proc setupVM*(module: PSym; cache: IdentCache; scriptName: string;
141141
setResult(a, options.existsConfigVar(conf, a.getString 0))
142142
cbconf nimcacheDir:
143143
setResult(a, options.getNimcacheDir(conf).string)
144-
cbconf paramStr:
145-
setResult(a, os.paramStr(int a.getInt 0))
146-
cbconf paramCount:
147-
setResult(a, os.paramCount())
144+
result.registerCallback "stdlib.os." & astToStr(paramStr),
145+
proc (a: VmArgs) =
146+
setResult(a, os.paramStr(int a.getInt 0))
147+
result.registerCallback "stdlib.os." & astToStr(paramCount),
148+
proc (a: VmArgs) =
149+
setResult(a, os.paramCount())
148150
cbconf cmpIgnoreStyle:
149151
setResult(a, strutils.cmpIgnoreStyle(a.getString 0, a.getString 1))
150152
cbconf cmpIgnoreCase:

koch.nim

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
#
1111

1212
const
13-
NimbleStableCommit = "4007b2a778429a978e12307bf13a038029b4c4d9" # master
13+
NimbleStableCommit = "6f2b1ace922e565f7f48a69648e16a002a5d15e3" # master
1414

1515
when not defined(windows):
1616
const

lib/pure/os.nim

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2707,7 +2707,23 @@ when defined(nimdoc):
27072707
## else:
27082708
## # Do something else!
27092709

2710-
elif defined(nintendoswitch) or weirdTarget:
2710+
elif defined(nimscript):
2711+
proc paramStr*(i: int): string =
2712+
## Retrieves the ``i``'th command line parameter.
2713+
discard
2714+
2715+
proc paramCount*(): int =
2716+
## Retrieves the number of command line parameters.
2717+
discard
2718+
2719+
elif defined(js):
2720+
proc paramStr*(i: int): TaintedString {.tags: [ReadIOEffect].} =
2721+
raise newException(OSError, "paramStr is not implemented on JavaScript")
2722+
2723+
proc paramCount*(): int {.tags: [ReadIOEffect].} =
2724+
raise newException(OSError, "paramCount is not implemented on JavaScript")
2725+
2726+
elif defined(nintendoswitch):
27112727
proc paramStr*(i: int): TaintedString {.tags: [ReadIOEffect].} =
27122728
raise newException(OSError, "paramStr is not implemented on Nintendo Switch")
27132729

lib/system/nimscript.nim

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -56,14 +56,6 @@ proc rawExec(cmd: string): int {.tags: [ExecIOEffect], raises: [OSError].} =
5656
proc warningImpl(arg, orig: string) = discard
5757
proc hintImpl(arg, orig: string) = discard
5858

59-
proc paramStr*(i: int): string =
60-
## Retrieves the ``i``'th command line parameter.
61-
builtin
62-
63-
proc paramCount*(): int =
64-
## Retrieves the number of command line parameters.
65-
builtin
66-
6759
proc switch*(key: string, val="") =
6860
## Sets a Nim compiler command line switch, for
6961
## example ``switch("checks", "on")``.

0 commit comments

Comments
 (0)