flywind
06960bb9cb
Ref #17697 improve withValue docs ( #18154 )
...
* Ref #17697 improve withValue docs
* address comments
2021-06-03 07:35:24 +02:00
flywind
bbce3d2da9
[std/tables] remove unnecessary do: ( #18160 )
2021-06-02 21:09:04 -07:00
flywind
f27f3f65df
[std/hashcommon]improve docs a bit ( #18153 )
...
* reduce duplicated deprecated messages
2021-06-02 22:59:06 -04:00
Timothee Cour
9559350e34
add os.getCacheDir ( #18126 )
...
* add `os.getCacheDir`
* fixup
* address comments
2021-05-31 22:16:33 +02:00
n5m
064fe18de6
improve fast returns of find and rfind ( #18127 )
2021-05-31 11:20:15 +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
xioren
478f717377
Move async example to asynchronous version of proc ( #18078 )
...
* improve runnableExamples in std/httpclient
* Add synchronous example.
* Update lib/pure/httpclient.nim
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com >
2021-05-24 20:56:31 -07:00
Timothee Cour
d217888e56
close #18009 parseJson JInt vs JFloat; preserve -0.0 as JFloat to distinguish from 0.0 ( #18067 )
2021-05-23 23:06:14 +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
Antonis Geralis
6e0fe965da
add sink and lent annotations for xmltree and streams ( #18037 )
2021-05-18 08:16:07 +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
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
Timothee Cour
eba1c3fd24
merge initUri() overloads, improve uri examples ( #17970 )
...
* deprecate `uri.initUri` and improve uri examples
* remove `func initUri*()` and make isIpv6 optional
* fixup
2021-05-08 16:58:30 +02:00
Andreas Rumpf
c14427dbf3
ORC: cursor inference bugfix ( #17973 )
...
* fixed a .cursor inference bug
* added a test case
2021-05-08 16:47:06 +02:00
Timothee Cour
38b41f893a
fix #17941 : UnusedImport works for var/let/const/type invoked inside a generic ( #17942 )
...
* fix #17941 : UnusedImport works for var/let/const/type invoked inside a generic
* fixup
2021-05-08 09:56:46 +02:00
Ardek Romak
9d86639a0b
Export sslHandle in net and asyncnet. ( #17573 )
2021-05-06 15:02:37 -07:00
Juan Carlos
bf5dfe481a
parsecsv fix style ( #17933 )
...
* ReSync with Devel
* Fix style in parsecsv
* Update lib/pure/parsecsv.nim
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2021-05-04 13:13:23 +02:00
Timothee Cour
78e2d299df
typo: nonexistant => nonexistent ( #17918 )
...
* typo: nonexistant => nonexistent
* fix test (ordering differs because of https://github.com/nim-lang/Nim/issues/17910 )
2021-05-02 00:26:41 +02:00
Timothee Cour
ee6d56141c
fix #17911 rawProc for cpp ( #17912 )
2021-05-01 11:12:13 +02:00
Andreas Rumpf
fb86271556
system.nim cleanup some exported constants which should never have be… ( #17909 )
...
* system.nim cleanup some exported constants which should never have been exported
2021-05-01 11:10:40 +02:00
flywind
9f75e8abc1
[std/base64] uses runnableExamples ( #17882 )
...
* [std/base64] uses runnableExamples
* Update lib/pure/base64.nim
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com >
2021-05-01 07:27:50 +02:00
Timothee Cour
d32ab61e61
fix #17905 : hash(closure) was not being tested ( #17906 )
2021-04-30 12:40:39 -07:00
Timothee Cour
e4db733d80
fix #17888 : remove undefined behavior for posix.open; fix tempfiles.createTempFile ( #17889 )
...
* fix #17888 : remove undefined behavior for posix.open; fix tempfiles.createTempFile
* fix for tests/async/tasyncfile.nim
* hide mode for now
* add notice regarding stability
2021-04-29 13:42:56 +02:00
flywind
5edddd68d0
improve cache line size ( #17885 )
...
* improve cache line size
- 64bit system tend to use cache line of 64 bytes
- add align
https://trishagee.com/2011/07/22/dissecting_the_disruptor_why_its_so_fast_part_two__magic_cache_line_padding
Though I'm not sure, what do you think? @timotheecour
* Update lib/pure/concurrency/threadpool.nim
2021-04-29 13:39:36 +02:00
flywind
016a8ccd7a
[std/encodings]move to tests ( #17866 )
2021-04-29 09:51:54 +02:00
Michael Krieger
7637cff9cf
Fix documentation of strutils.stripLineEnd ( #17883 )
...
It does not return anything.
2021-04-28 11:33:08 -07:00
flywind
d881a05bf6
[std/encodings] fix iconv headers on OpenBSD ( #17872 )
2021-04-27 10:14:26 -07:00
flywind
66022423aa
[std/pegs] increase test coverage ( #17871 )
2021-04-27 11:09:58 +02:00
flywind
b1c7c994b0
[std/parsecfg]use runnableExamples ( #17868 )
...
* [std/parsecfg]use runnableExamples
* Apply suggestions from code review
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com >
2021-04-27 10:24:59 +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
01bca8cd4f
fix gbk encodings on windows ( #17843 )
2021-04-26 14:48:25 +02:00
flywind
68e522ecec
Remove confusing <//> ( #17830 )
2021-04-26 09:04:52 +02:00
flywind
6e8f0f8cfc
add colon ( #17834 )
2021-04-24 18:33:29 +01:00
Joey
f1ce173283
Fix Httpclient headers from being modified accidentally ( #17808 )
2021-04-21 07:42:04 +02:00
Andreas Rumpf
a9b62de895
CIs: attempt to use csources_v1 ( #16282 )
...
* CIs: attempt to use csources_v1
* also updated the BSDs
* also updated azure pipelines
* std modules should not itself use the 'std/' import dir...
* compiler has to be careful with std/ for v1 booting
2021-04-21 07:41:33 +02:00
flywind
eb221dcc27
[std/deques] move data instead of copy + destroy ( #17800 )
2021-04-20 19:00:44 +02:00
shirleyquirk
fdd4391534
Fix buffer-overrun bug in net ( #17728 ) [backport:1.0]
2021-04-16 14:22:51 +02:00
Timothee Cour
d19e4310dc
std/hashes: hash(ref|ptr|pointer) + other improvements ( #17731 )
2021-04-16 14:21:26 +02:00
Timothee Cour
611b88763f
start using import {.all.} ( #17736 )
2021-04-16 12:54:49 +02:00
Timothee Cour
d6242d7fe1
simplify asyncfutures, asyncmacro ( #17633 )
2021-04-14 21:22:22 +02:00
flywind
8b5769133c
remove unnecessary assignment ( #17702 )
2021-04-12 08:58:46 +02:00
shirleyquirk
0bc943ad54
followup strformat PR. backslash escapes, tests, docs ( #17700 )
...
* Allow use of colons inside fmt
allowing colons inside fmt by replacing the format specifier delimiter lets arbitrary nim code be run within fmt expressions.
Co-authored-by: flywind <xzsflywind@gmail.com >
* formatting,documentation,backslash escapes
Adding support for evaluating expressions by special-casing parentheses causes this regression: `&"""{ "(hello)" }"""` no longer parses.
In addition, code such as &"""{(if open: '(' else: ')')}""" wouldn't work.
To enable that, as well as the use of, e.g. Table constructors inside curlies, I've added backslash escapes.
This also means that if/for/etc statements, unparenthesized, will work, if the colons are escaped, but i've left that under-documented.
It's not exactly elegant having two types of escape, but I believe it's the least bad option.
* changelog
* added json strformat test
* pulled my thumb out and wrote a parser
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
Co-authored-by: flywind <xzsflywind@gmail.com >
2021-04-12 07:32:37 +02:00
shirleyquirk
a5b30c94c2
[feature] add arbitrary code execution to strformat ( #17694 )
...
* changed parser to ignore ':' within parens
* Update strformat.nim
* Update lib/pure/strformat.nim
Co-authored-by: flywind <xzsflywind@gmail.com >
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2021-04-11 13:07:23 +02:00
Emery Hemingway
8aa5991bea
Genode platform fixes ( #17521 )
...
* Genode: move dyncall failures to runtime
Do not use the "error" pragma to warn that dynamic library loading is
not implemented, print a message at runtime and exit.
* Genode: use stricter dataspace type in page allocator
* Genode: remove compiler configuration from nim.cfg
Self-hosting Nim is not supported on Genode and defining the
cross-compilation environment can be done externally.
* Genode: use new mutex API
* Genode: call nim_component_construct as a C procedure
* Genode: implement echo for NimStringV2
2021-04-09 16:29:10 +02:00
Andreas Rumpf
86a1dcf928
hashes: Made the runnableExample easier to understand ( #17689 )
2021-04-09 15:36:06 +02:00
Andrey Makarov
42687457b0
further progress on rst roles & directives ( fix #17646 ) ( #17659 )
...
* further progress on rst roles & dir-s (fix #17646 )
* fix documents according to the messages
* fix bug 17 from #17340
2021-04-08 19:00:14 +02:00