Commit graph

829 commits

Author SHA1 Message Date
Timothee Cour
836b061ae3
improve --declaredLocs to help disambiguate types (generics, aliases etc) (#18389)
* improve --declaredlocs to help disambiguate types (generics, aliases etc)

* avoid a cyclic deps

* fix test after rebase
2021-07-08 12:28:06 +02:00
Timothee Cour
d1447fe25d
major improvements to std/wrapnils: optimal codegen, case objects, lvalue semantics (#18435)
* wrapnils now generates optimal code; also handles case objects
* changelog
* unsafeAddr => addr
2021-07-07 06:04:36 +02:00
Antonis Geralis
c522f7f33c
Add entry (#18434) 2021-07-06 07:21:50 +02:00
pyautogui
927a832dde
deprecate std/mersenne (#18395)
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com>
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com>
Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
2021-07-05 10:12:58 -07:00
Timothee Cour
565e07a993
enable VM tracing in user code via {.define(nimVmTrace).} (#18244)
* enable VM tracing in user code via  `{.define(nimVmTrace).}`

* add vmutils.vmTrace

* add vmTrace
2021-06-24 11:55:31 +02:00
Timothee Cour
7d5e6b0169
support --hint:all:off --hint:x (ditto with --warnings + friends) (#17852)
* select all hints via `--hint:all:on|off`, etc
* simplify code with setutils
* address comment
2021-06-20 19:52:22 +02:00
Heiko Nickerl
92cb765714
Raise IndexDefect when deleting element at out of bounds index (#17821)
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com>
Co-authored-by: Heiko Nickerl <mail@hnicke.de>
Co-authored-by: Heiko Nickerl <heiko.nickerl@flipapp.de>
2021-06-20 08:56:33 -07:00
Timothee Cour
128d21be1c
add typetraits.pointerBase to return T in ref T|ptr T (#18293)
* add typetraits.deref to return T in ref T|ptr T

* deref => refBase

* refBase=>pointerBase

* [skip ci] address comment
2021-06-20 09:49:18 +02:00
Timothee Cour
5600a62229
strformat.fmt now supports non-literal const strings (#18274)
Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
2021-06-18 08:57:51 -07:00
Timothee Cour
c83ac16671
Renamed -d:nimCompilerStackraceHints to -d:nimCompilerStacktraceHints. (#18283) 2021-06-17 00:17:46 -07:00
Timothee Cour
8a9b20579e
update changelog for wrapnils (#18228) 2021-06-10 01:27:12 -07:00
Andrey Makarov
e7816a3e77
update docgen documentation (#18192)
* update docgen documentation

* --fullhelp

* Update doc/docgen.rst

Co-authored-by: Timothee Cour <timothee.cour2@gmail.com>

* [skip ci] fix typos

Co-authored-by: Timothee Cour <timothee.cour2@gmail.com>
2021-06-06 09:55:20 +02:00
Rainbow Asteroids
295429f425
add dom.scrollIntoView with options; refs #18093 (#18181) 2021-06-05 09:07:26 +02:00
Timothee Cour
3cc547f2df
macros.treeRepr + friends: collapse SymChoice (#18072)
* macros.treeRepr + friends: collapse SymChoice

* make repr+friends work with invalid symchoice nodes

* address comment
2021-06-05 06:58:26 +02:00
Timothee Cour
d91d78f8ae
changelog for --unitsep (#18167) 2021-06-03 13:25:36 -07:00
Andreas Rumpf
63db2b19bf
use dragonbox algorithm; alternative to #18008 (#18139)
* use dragonbox algorithm; alternative to #18008
* removed unsafe code
2021-06-01 22:29:53 +02:00
flywind
c2e3dc0ed1
close #18129 Add setCurrentException for JS backend (#18145)
* [std/re] make interface consistent

* tiny

* revert

* close #18129  add setCurrentException

* changelog entry
2021-06-01 18:16:25 +02:00
Timothee Cour
369a7d1246
jsonutils.toJson now serializes JsonNode as is by default (#18097)
* jsonutils.toJson now serializes JsonNode as is (without deep copy nor treating it as a regular ref object)

* JsonNodeMode
2021-05-31 22:17:52 +02:00
Timothee Cour
9559350e34
add os.getCacheDir (#18126)
* add `os.getCacheDir`

* fixup

* address comments
2021-05-31 22:16:33 +02:00
Miran
50e98e6efa
hashes for refs should be an opt-in feature (#18098) 2021-05-30 23:55:51 +02:00
Timothee Cour
4a7f2c386c
close #16569: deprecated reversed(a, start, last) overload, use toOpenArray instead (#18047)
* close #16569: deprecated reversed overload, use toOpenArray instead

* [skip ci] change wording in changelog per review

* fixup
2021-05-30 22:37:21 +02:00
Andreas Rumpf
df429fa287
config system: special case -d:release and -d:danger [backport:1.4] (#18051) 2021-05-20 11:52:46 +02:00
Ștefan Talpalaru
a1c82c39af
asyncdispatch+stackTraceOverride: fix premature collection (#18039) [backport:1.2]
Copying StackTraceEntry instances when nimStackTraceOverride is defined
breaks the link between a cstring field that's supposed to point at
another string field in the same object.

Sometimes, the original object is garbage collected, that memory region
reused for storing other strings, so when the StackTraceEntry copy tries
to use its cstring pointer to construct a traceback message, it accesses
unrelated strings.

This only happens for async tracebacks and this patch prevents that by
making sure we only use the string fields when nimStackTraceOverride is
defined.

Async tracebacks also beautified slightly by getting rid of an extra line
that was supposed to be commented out, along with the corresponding debugging output.

There's also a micro-optimisation to avoid concatenating two strings just
to get their combined length.
2021-05-19 19:19:11 +02:00
Andreas Rumpf
7052503ca8
make strformat part of the prelude (#18046) 2021-05-19 19:18:16 +02:00
Timothee Cour
7f077a76fe
jsonutils: add customization for toJson via ToJsonOptions; generalize symbolName; add symbolRank (#18029)
* jsonutils: add customization for toJson via `ToJsonOptions`

* add enumutils.symbolRank

* lookup table implementation for HoleyEnum

* cleanup

* changelog

* fixup

* Update lib/std/jsonutils.nim

Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
2021-05-18 15:10:19 +02:00
Timothee Cour
d83b25db1e
fix #18007: std/json now serializes nan,inf,-inf as strings instead of invalid json (#18026)
* fix #18007: std/json now serializes nan,inf,-inf as raw strings instead of invalid json

* fix roundtrip

* fix tests

* fix changelog

* simplify

* add runnableExamples

* fix typo [skip ci]
2021-05-16 23:54:10 +02:00
Timothee Cour
1e080eb9b4
jsonutils: handle holey enum as regular enum, via ord (#17995) 2021-05-11 22:49:47 +02:00
Timothee Cour
a770c98e27
jsonutils: support set (#17994) 2021-05-11 21:09:17 +02:00
Timothee Cour
45490497e3
fix #17467 1st call to rand is now non-skewed; allow seed == 0 (#17468)
* fix #17467 1st call to rand is now non-skewed; allow passing 0 as seed

* changelog + fallback

* document behavior for seed == 0

* address comments

* _

* fix tests, disable kdtree

* re-enable kdtree with -d:nimLegacyRandomInitRand
2021-05-11 11:04:59 +02:00
Andreas Rumpf
983a2aa11c
Revert "Fix parseUri to sanitize urls containing ASCII newline or tab (#17967)" (#17984)
This reverts commit f4dd95f3be.
2021-05-09 23:33:31 +02:00
Beshr Kayali
f4dd95f3be
Fix parseUri to sanitize urls containing ASCII newline or tab (#17967)
* Fix parseUri to sanitize urls containing ASCII newline or tab

* Fix ups based on review

Co-authored-by: Timothee Cour <timothee.cour2@gmail.com>

* Additional fix ups based on review

- Avoid unnecessary `removeUnsafeBytesFromUri` call if parseUri is strict
- Move some parseUri tests to uri module test file

Co-authored-by: Dominik Picheta <dominikpicheta@googlemail.com>

* Update changelog

Co-authored-by: Timothee Cour <timothee.cour2@gmail.com>
Co-authored-by: Dominik Picheta <dominikpicheta@googlemail.com>
2021-05-09 19:24:00 +01:00
Andreas Rumpf
51f3ef6cb8
fixes #15848 [backport:1.2] (#17959) 2021-05-07 16:50:11 +02:00
Ardek Romak
9d86639a0b
Export sslHandle in net and asyncnet. (#17573) 2021-05-06 15:02:37 -07:00
Juan Carlos
5762b1d75c
Add copyWithin for JavaScript (#17937)
* Add jscore.copyWithin for seq and array
* Shallow copy mention docs
2021-05-05 07:46:42 +02:00
Timothee Cour
87229e272e
fix #17853 (ascii message separator broke json nim dump) (#17887) 2021-04-29 02:25:08 -07:00
Timothee Cour
a236002e54
testament: add nimoutFull: bool spec (#17867)
* testament: add `nimoutFull: bool` spec
* PRTEMP
* works
* cleanup
* add test for #12741
* PRTEMP failing test
* remove unrelated changes
* changelog
2021-04-27 11:11:28 +02:00
Timothee Cour
3f58b7face
add -d:nimLegacyNoHashRef for a transition period which avoids defining hash(ref) (#17858) 2021-04-27 08:23:01 +02:00
flywind
fdfd0f35a1
correct changelog[skip CI] (#17870) 2021-04-26 19:31:52 -07:00
Timothee Cour
4c9fa9b75c
fix typo in changelog refs #17746 [skip ci] (#17869) 2021-04-26 19:14:00 -07:00
Timothee Cour
ffe4328b35
--usenimcache (implied by nim r main) now caches some compile options to avoid recompiling when project was previously compiled with such options. (#17829)
* `--usenimcache` (implied by `nim r main`) now caches some compile options
to avoid recompiling when project was previously compiled with such options.

* works
* add test
* changelog
* use std/with
2021-04-25 10:25:31 +02:00
Timothee Cour
b667e288e2
move travis, appveyor, ci.yml.disabled to unmaintained/ (#17828)
* move travis, appveyor, ci.yml.disabled to unmaintained

* update some mentions of travis, appevyor

* fix test
2021-04-24 07:54:31 +02:00
Timothee Cour
2abc936d51
typeof(voidStmt) now works (#17807)
* `typeof(voidStmt)` now works
* remove typeOrVoid
* add condsyms, and reference cligen https://github.com/c-blake/cligen/pull/193
* fixup
* changelog [skip ci]
* fixup
2021-04-23 14:36:38 +02:00
Timothee Cour
e4a3feeb92
add --processing:dots|filenames|off to customize hintProcessing (#17817) 2021-04-23 08:07:22 +02:00
Timothee Cour
da1c1a7117
--filenames:abs|canonical|legacyRelProj for filenames in compiler msgs (replaces --listfullpaths:on|off) (#17746)
* use canonicalImport for filename_magicSauce
* --filenames:abs|canonical|magic
* rename: magic => legacyRelProj
2021-04-21 15:26:27 +02:00
flywind
c631648cb3
close #9372 add std/tempfiles (#17361)
* close #9372 add std/tempfile
2021-04-21 15:07:36 +02:00
Timothee Cour
4742e6e1fd
followup #16714: add -d:nimLegacyUnarySlice + changelog (#17794) 2021-04-20 00:25:28 -07:00
Timothee Cour
6852d091b3
changelog: document hash changes (#17792)
* changelog: document hash changes

* fixup
2021-04-20 06:54:25 +02:00
Timothee Cour
42c6eec4ef
fix #17749 ignore SIGPIPE signals, fix nim CI #17748 (#17752)
* fix #17749 SIGPIPE

* fix for windows
2021-04-18 15:34:29 +02:00
shirleyquirk
c8b8cb8458
make cuchar alias uint8 instead of char (#17738) 2021-04-17 17:27:10 +02:00
shirleyquirk
fdd4391534
Fix buffer-overrun bug in net (#17728) [backport:1.0] 2021-04-16 14:22:51 +02:00