flywind
1368316b7f
style usages part one (openarray => openArray) ( #19321 )
...
* style usages (openArray)
* revert doc changes
(cherry picked from commit 9df195ef58 )
2022-05-25 16:33:37 +02:00
flywind
5e13d577ac
undefine C symbols in JS backend [backport:1.6] ( #19437 )
...
fix #19330 ; fix #19059
(cherry picked from commit 7b09fd70ab )
2022-02-23 11:38:52 +01:00
hlaaftana
fc0aec6f1b
Optimize lent in JS [backport:1.6] ( #19393 )
...
* Optimize lent in JS [backport:1.6]
* addr on lent doesn't work anymore, don't use it
* use unsafeAddr in test again for older versions
(cherry picked from commit 07c7a8a526 )
2022-01-20 18:06:11 +01:00
Timothee Cour
f061971a9b
envPairs works in vm, nims ( #18615 )
...
* envPairs works in vm, nims
* fixup
2021-09-29 09:32:39 +02:00
flywind
c56008450a
fix CI failure(upstream changes) ( #18820 )
...
* fix upstream changes
* Update tests/js/tunittest_error2.nim
Co-authored-by: flywind <xzsflywind@gmail.com >
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2021-09-08 11:47:14 +02:00
Timothee Cour
0de3d4292f
fix #16993 , #18054 , #17835 runnableExamples now works with templates and nested templates ( #18082 )
2021-06-02 09:02:14 -07:00
Timothee Cour
a66637bda4
followup #16871 asyncjs.then: allow pipelining procs returning futures ( #17189 )
...
* followup #16871 asyncjs.then: allow pipelining procs returning futures
* rename test files where they belong
* fix tests
* tests for then with `onReject` callback
* rename test file containing fail to avoid messing with grep
* address comments
* cleanup
* un-disable 1 test
2021-03-04 14:00:04 +01:00
flywind
ec068a2687
fix #17177 ( #17243 )
...
* remove unnecessary when statement
* remove outdated codes
* fix #17177
* add testcase
2021-03-03 11:57:34 +01:00
Timothee Cour
a4e6b242d5
asyncjs: add then, catch for promise pipelining ( #16871 )
...
* asyncjs: add then
* improve tests, changelog, API
* fix cryptic windows error: The parameter is incorrect
* address comments
2021-02-24 21:03:21 +01:00
flywind
240879bf3d
array literals uses typed arrays; fix a jsgen bug ( #16850 )
...
* array litterals uses typed arrays
* Update compiler/jsgen.nim
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com >
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2021-02-15 11:28:11 +01:00
Saem Ghani
260a5dacb7
fixed dot operator recursive loop & macro suggest ( #16922 )
...
* basic stability improvements; refs nimsuggest
* fixed dot operator recursive loop & macro suggest
* hacky fix for run away dot operator sem check
Committing this mostly to make the issue more clear. Perhaps get better
feedback.
* semExprWithType seems like a better place to check
* fixed error messages const case expressions
* Clean-up test
* stopped the dot operator madness
No longer get infinite recursion when seming broken code with a dot
operator macro like in jsffi.
Co-authored-by: Araq <rumpf_a@web.de >
2021-02-15 09:51:05 +01:00
Timothee Cour
fff5819ee7
fix #16978 unittest js foreign exception ( #16998 )
...
* fix #16978 unittest js foreign exception
2021-02-13 09:51:46 +01:00
hlaaftana
fad8439b8d
Make parseopt available on all backends ( #17009 )
...
* Make parseopt available on all backends
* fix spaces
* fix getopt and update prelude
* no crazy unnecessary version checks, use doAssert
2021-02-13 09:05:40 +01:00
hlaaftana
81533a0014
[backport:1.4] JS cstring null fixes ( #16979 )
...
* [backport:1.4] JS cstring null fixes
* fix JS move string
* make it look cleaner
2021-02-11 17:04:32 +01:00
Timothee Cour
7b9b76d840
tests/tuples/ttuples_issues.nim: test on all backends + various improvements ( #16907 )
...
* improve tests/tuples/ttuples_issues.nim: test on all backends
* address comments
2021-02-02 20:17:13 +01:00
flywind
de4f2604c2
fix #16822 ( #16884 )
...
* see whether it breaks
* fix #16884
* correct
* fix #14574
2021-02-01 13:31:04 +01:00
Timothee Cour
14730d9d64
fix noDecl => nodecl ( #16760 )
...
* fix noDecl => nodecl
* address comment
* disable flaky tests/stdlib/thttpclient.nim on freebsd
2021-01-20 11:08:42 +01:00
Timothee Cour
18e14f5920
js: improve tests + some docs ( #16727 )
...
* js: improve tests
* _
* _
* _
* fixup
2021-01-16 12:08:40 +01:00
Timothee Cour
025ca660f7
[backport 1.0] add backend support for js bigint ( #16606 )
...
* add backend support for js bigint
* cleanup
* add tests
* add -d:nimHasJsBigIntBackend
* cleanup
* more tests
2021-01-06 20:28:24 +01:00
flywind
5fb56a3b2c
refactor cmpIgnoreStyle and cmpIgnoreCase ( #16399 )
...
* init
* support strutils
* more
* better
* Call len once per string/cstring
* Change var to let
* Compare ternary on first char
* More appropriate param name
* fix
* better
* one test
* impl
* more efficient
* minor
Co-authored-by: Clyybber <darkmine956@gmail.com >
2020-12-31 11:54:40 +01:00
Timothee Cour
82bb4db4b7
unittest: use defines instead of env vars ( #16165 )
...
* unittest: use defines instead of env vars
* use defines in testament
* fixup
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2020-12-10 00:57:52 +01:00
Timothee Cour
b809562c7c
make megatest consistent with unjoined tests wrt newlines, honor newlines in output spec ( #16151 )
...
* fix megatest newlines
* still allow missing trailing newline for now but in a more strict way than before
2020-11-28 09:09:31 +01:00
flywind
70a1c42542
add ** to jsffi ( #16141 )
...
* fix rope index
* add testcase
* fix ropes format
* add `**` to jsffi
* add testcase
* changelog
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2020-11-26 20:30:19 +01:00
flywind
19e224866b
add simple writeStackTrace for JS backend ( #16016 )
...
* add simple writeStackTrace for JS backend
* add testcase for writeStackTrace
* changelog
2020-11-24 19:45:06 +01:00
Timothee Cour
b3c3557c33
fix #16025 repr now consistent: does not insert trailing newline ( #16034 )
2020-11-19 12:12:51 -08:00
flywind
47ce24f680
fix #12303 ( #15964 )
2020-11-14 12:51:23 +01:00
Timothee Cour
1a47fc2291
strengthen taddr.nim: add test case for #14578 ; reference other issues; test cpp ( #15960 )
2020-11-13 14:44:44 -08:00
Timothee Cour
cc882917fe
js -d:nodejs now supports osenv: getEnv, putEnv, envPairs, delEnv, existsEnv (v2) ( #15826 )
...
* js -d:nodejs now supports osenv: `getEnv`, `putEnv`, `envPairs`, `delEnv`, `existsEnv`
* refactor to osenv
* fix for js (without -d:nodejs) + VM
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2020-11-12 14:36:57 +01:00
flywind
1f9bf43100
fix #14157 ( #15877 )
...
* fix #14157
* Update compiler/jsgen.nim
* add changelog
* Update compiler/jsgen.nim
* Update tests/js/tmodify_cstring.nim
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2020-11-12 09:20:10 +01:00
flywind
fde17b159f
follow #15818 and close #7109 ( #15823 )
...
* follow #15818 and close #7109
* Update compiler/jsgen.nim
Co-authored-by: Juan Carlos <juancarlospaco@gmail.com >
Co-authored-by: Juan Carlos <juancarlospaco@gmail.com >
2020-11-02 18:27:39 +01:00
flywind
544cb107c7
fix #8821 ( #15809 )
2020-11-02 10:41:44 +01:00
flywind
80b0748d75
fix #15651 ( #15800 )
...
* fix
* minor
2020-10-31 12:06:13 +01:00
flywind
2cfe5e0745
[ closes #11625 and closes #2488 ]add global and threadvar(with --threads:off mode ) pragmas supports for JS backend ( #15772 )
...
* add global pragma support for js backend
* globalThis
* add support for threadvar
* more tests
* Update compiler/jsgen.nim
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2020-10-30 15:34:07 +01:00
flywind
17f08b2939
closes #7658 ( #15784 )
...
* fix #7658
* more
2020-10-30 09:58:55 +01:00
flywind
f79ded3cb6
fix #15638 ( #15789 )
2020-10-30 09:16:47 +01:00
flywind
d8fb2379c9
add testcase for #7127 ( #15780 )
2020-10-30 03:54:39 +01:00
Bung
7cee63bba3
avoid #8231 , bitwise move to mul,div ( #15070 )
...
* avoid #8231 , bitwise move to mul,div
* add test for #8231
* fix bitwise move when div result is float
* bitwise move depends on typ.size
2020-08-25 09:58:32 +02:00
Bung
cac09a43ae
fix #11354 jsgen not carefully handle genAddr with nkHiddenAddr,nkStm… ( #15078 )
...
* fix #11354 jsgen not carefully handle genAddr with nkHiddenAddr,nkStmtListExpr; genAsgn with lvalue tyVar and rvalue tyPtr
* correct logic
* add test for #11354
* handle nkHiddenAddr when n.len == 1
* Update compiler/jsgen.nim
* Update compiler/jsgen.nim
* Apply suggestions from code review
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2020-07-27 21:13:49 +02:00
Timothee Cour
e07d661d16
fix #14475 ; unittest.require now works with nim c; require and check now works with -d:nodejs ( #14676 )
...
* fix #14475 ; make unittest work with -d:nodejs
* fixup
* fixup
* disable inim, delaunay which failed after unittest.require got fixed
* re-enable tests that have been fixed
2020-07-14 13:14:32 +02:00
Timothee Cour
61f2f1f5c5
fix #14576 addr of param (including for lent) now works with nim js ( #14577 )
...
* fix #14576 addr(param) now works in nim js
* workaround https://github.com/nim-lang/Nim/issues/14578
2020-06-06 20:15:24 +02:00
Danil Yarantsev
b19ad22b90
Fix #14570 ( #14571 )
...
* Fix #14570
2020-06-06 09:31:19 +02:00
hlaaftana
80c360fceb
fix #14350 , cstrings in JS init as null ( #14355 )
...
* fix #14350 , cstrings in JS init as null
2020-05-15 10:07:30 +02:00
Timothee Cour
c28a057a6b
fix js stacktraces, unify all file,line,col formatting into a single function ( #14230 )
...
* fix https://github.com/timotheecour/Nim/issues/135 ; unify all file,line,col formatting into a single function
2020-05-05 14:56:15 +02:00
hlaaftana
0aefebb728
JS unittest stacktrace fix, cleanup js repr and inclrtl includes ( #14168 )
2020-04-30 17:04:53 +01:00
hlaaftana
707367e1ca
many bugfixes for js ( #14158 )
...
* many bugfixes for js
fixes #12672 , fixes #14153 , closes #14123 , closes #11331 , fixes #11783 , fixes #13966 , fixes #14087 , fixes #14117 , closes #12256 .
mostly fixes the fact that it was allowed to assign to newly created temp variables. additionally attempts to get rid of null initialized seqs/strings (though they might pop up here and there); this simplifies a lot of things and makes code size smaller. even if null seqs/strings pop up here and there it's still better than all those bugs existing.
* formatting fixes
* CI fixes
* more CI fixes
2020-04-29 20:55:09 +02:00
hlaaftana
800ce5b950
Fix negative indexed arrays for JS, refs #13966 ( #14152 )
...
* Fix negative arrays for JS, refs #13966
* small extra fix: no need to .slice() cstring in JS
2020-04-29 08:59:08 +02:00
Jacek Sieka
7d6cbf290a
Error -> Defect for defects ( #13908 )
...
* Error -> Defect for defects
The distinction between Error and Defect is subjective,
context-dependent and somewhat arbitrary, so when looking at an
exception, it's hard to guess what it is - this happens often when
looking at a `raises` list _without_ opening the corresponding
definition and digging through layers of inheritance.
With the help of a little consistency in naming, it's at least possible
to start disentangling the two error types and the standard lib can set
a good example here.
2020-04-28 19:56:01 +02:00
hlaaftana
cd9af6b804
StringStream & more stdlib modules support for JS/NimScript ( #14095 )
...
* StringStream & more stdlib modules support for JS/NimScript
* change back pegs test in line with #14134
2020-04-28 19:44:52 +02:00
Timothee Cour
bb982c644b
$(a: float) now works consistently in nim js, avoiding printing floats as ints (#14134 )
...
* fix https://github.com/timotheecour/Nim/issues/133 ; $(a: float) works in nim js like in other backends
* fix tests
* fix test for windows that prints 1.1e17 differently than other OS
2020-04-27 17:33:03 +02:00
hlaaftana
76ffa4fa25
fixes #14112 , tests for #12892 , #12671 , #11697 ( #14125 )
2020-04-26 10:12:16 +02:00