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
konsumlamm
1b03accac7
Improve endians module ( #17674 )
...
Extend documentation
Add runnableExamples
2021-04-08 14:08:58 +02:00
Andreas Rumpf
643dbc743b
use strstr for a faster find implementation ( #17672 )
...
* use strstr for a faster find implementation
* stress the -d:release and -d:danger switches
2021-04-08 00:54:47 +02:00
flywind
834d5641e8
use sink and lent in deques ( #17661 )
...
* use sink and lent in deques
* Update lib/pure/collections/deques.nim
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2021-04-07 14:17:48 +02:00
flywind
34c1c631bb
close #4451 ( #17627 )
2021-04-06 22:08:59 +02:00
Miran
020c0a3344
don't run one example on 32-bit machines ( #17655 )
...
This example seems to break our 32-bit nightlies builds.
This is just a temporary solution (TM) until we figure out a better one.
2021-04-06 18:52:12 +02:00
Timothee Cour
97764c8dc9
remove un-needed {.push hint[ConvFromXtoItselfNotNeeded]: off.} in asyncfutures, asyncmacro ( #17631 )
2021-04-03 15:24:01 -07:00
flywind
a807233aeb
fix #17615(runnableExamples silently ignored if placed after some code) ( #17619 )
...
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com >
2021-04-02 18:26:30 -07:00
flywind
07991d902e
[docs minor] close #17618 ( #17620 )
...
* [docs minor] close #17618
* Update lib/pure/times.nim
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com >
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com >
2021-04-02 22:06:29 +02:00
flywind
792a03b756
[docs minor] close #16553 ( #17612 )
...
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com >
2021-04-02 00:18:40 -07:00
konsumlamm
f0587e02e2
Fix #17017 (math edge cases) ( #17588 )
...
* Fix #17017
Add more test cases
* USe signbit in example
2021-04-01 12:47:56 +02:00
Dominik Picheta
65efa727ff
Removes asynchttpserver.getSocket. ( #17587 )
2021-03-31 18:20:42 +02:00
Timothee Cour
72988509ba
add getPort to resolve Port(0) ( #17559 )
...
* add getPort to resolve Port(0)
* fixup
* use getPort in examples + tests
* address comments: do not re-export Port
2021-03-30 20:14:39 +02:00
rockcavera
af2a7e8cbc
Rotation right and left refactored to generics. Continuation of #16622 ( #17578 )
...
* Rotation right and left refactored to generics
Continuation of [16622](https://github.com/nim-lang/Nim/pull/16622 )
* add runnableExamples
2021-03-30 12:24:21 +02:00
Ardek Romak
9e88425d7c
Fix void async in templates ( #17562 )
...
* Fix https://github.com/nim-lang/Nim/issues/16159
* Add test for async in template
* Shorten the expression
* Even shorter
Co-authored-by: Clyybber <darkmine956@gmail.com >
2021-03-30 08:07:45 +02:00
Dylan Modesitt
35655cd189
Add hasDataBuffered to asyncnet ( #16000 )
...
Co-authored-by: flywind <xzsflywind@gmail.com >
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com >
2021-03-29 16:12:58 -07:00
flywind
1f1ef85eb0
[std/uri]fix #17481 ( #17568 )
2021-03-29 11:48:06 -07:00
flywind
e2269f9216
[docs]fix #17473 ( #17565 )
...
* fix nim js cmp fails at CT
* Add `hasClosure` to `std/effecttraits`
* type
* Update changelog.md
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com >
* fix #14011
* Delete ttypetraits.nim
* Apply suggestions from code review
* fix #17473
* Revert "fix #14011 "
This reverts commit 0eed97a84b .
* Update lib/system.nim
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 >
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com >
2021-03-29 14:39:49 +02:00
flywind
81e54c1d30
Add hasClosure to std/typetraits ( #17501 )
...
* fix nim js cmp fails at CT
* Add `hasClosure` to `std/effecttraits`
* type
* Update changelog.md
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com >
* Update lib/std/effecttraits.nim
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com >
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2021-03-29 14:22:29 +02:00
Danil Yarantsev
89e0e0f27f
Small doc fixes in net ( #17566 )
2021-03-29 13:06:23 +02:00
ben
e45b1e3f36
Fix net.readLine infine loop #17534 ( #17535 )
...
* Fix net.readLine infine loop #17534
* fix #17534 add return to template
2021-03-29 11:24:15 +02:00
Danil Yarantsev
b36182b0a4
Free the certificate after checking in checkCertName ( #17558 ) [backport:1.2]
...
* Fix small leak in checkCertName
* Size is not needed either
* Free the certificate after checking
2021-03-29 10:49:19 +02:00
flywind
a36816fc04
follow up #17539 ( #17548 )
...
* fix nim js cmp fails at CT
* follow up #17539
2021-03-29 09:11:07 +08:00
Ardek Romak
207bcabdf2
Add a getter for all defined Sections in parsecfg ( #15450 )
2021-03-28 09:57:40 -07:00
Timothee Cour
a65189a739
nnkArglist => nnkArgList + special case stylecheck:error ( #17529 )
...
* nnkArglist => nnkArgList
* special case stylecheck:error
2021-03-27 10:28:11 +01:00
flywind
8573160a44
lent support for tables ( #17505 )
2021-03-25 14:05:50 +01:00
Timothee Cour
e94aec20da
fix #17325 linux 32bit CI; fix #17085 flaky test ( #17469 )
2021-03-24 10:36:15 +01:00
flywind
c015ecdc37
fix #17490 ( #17491 )
2021-03-24 08:16:41 +01:00
flywind
28221e8a33
followup #16182 ( #17472 )
...
* fix nim js cmp fails at CT
* followup #16182
2021-03-23 20:18:36 +01:00
Timothee Cour
c27cd83265
remove {.compileTime.} for procs with NimNode: redundant because of tfTriggersCompileTime ( #17463 )
2021-03-23 02:51:21 -07:00
flywind
c719d79d23
add algorithm.merge ( #16182 )
...
* add merge to algorithm
* Apply suggestions from code review
* Update lib/pure/algorithm.nim
* Apply suggestions from code review
* Update changelog.md
Co-authored-by: ee7 <45465154+ee7@users.noreply.github.com >
2021-03-23 10:49:02 +01:00
Timothee Cour
4f9aaee1d9
remove redundant void return in stdlib ( #17464 )
2021-03-23 08:28:53 +01:00
flywind
c8dda867f2
close #11330 sets uses optimized countSetBits ( #17334 )
...
* Update lib/pure/bitops.nim
* Update lib/system/sets.nim
* Apply suggestions from code review
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2021-03-22 00:36:48 +01:00
ee7
b70e33f5bb
strutils: improve doc comments for replace funcs ( #17427 )
...
This commit fixes mispellings of "occurrence" introduced by:
- 76a3b350ce (#17337 )
- 8e8bea9044 (#17339 )
and adds the same "every occurrence of" in the `replaceWord` func.
Other changes:
- Prefer "replace with" to "replace by".
- Be more consistent with "the" - prefer "of the character" given that
we wrote "by the character".
- Try to be more consistent with writing the types - add
"the string `sub`" given that we wrote "the character `sub`".
2021-03-20 13:22:50 +01:00
haxscramper
430c30299f
[FIX] use mixin for strscans.scanp ( #17371 )
2021-03-19 20:16:52 +01:00
Héctor M. Monacci
8e8bea9044
Clarify behaviour of char replace ( #17339 )
...
Clarify behaviour of char replace by adding ```every ocurrence of character```
2021-03-19 11:19:41 -07:00
Andreas Rumpf
6c1c8f51b3
IC: green tests ( #17311 )
...
* IC: renamed to_packed_ast module to ic module
* IC: don't store the --forceBuild flag, makes it easier to test
* IC: enable hello world test
* Codegen: refactorings for IC; changed the name mangling algorithm
* fixed the HCR regressions
* life is too short for HCR
* tconvexhull is now allowed to use deepCopy
* IC exposed a stdlib bug, required a refactoring
* codegen: code cleanups
* IC: even if a module is outdated, its dependencies might come from disk
* IC: progress
* IC: better name mangling, module IDs are not stable
* IC: another refactoring helping with --ic:on --gc:arc
* disable arraymancer on Windows for the time being
* disable arraymancer altogether
* IC: make basic test work with 'nim cpp'
* IC: progress on --ic:on --gc:arc
* wip; name mangling for type info
2021-03-19 16:53:38 +01:00
Timothee Cour
4dd34feb08
doc times: do not use now (and also epochTime) for benchmarking ( #17405 )
...
* doc times: do not use now for benchmarking
* Update lib/pure/times.nim
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com >
* Update lib/pure/times.nim
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com >
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com >
2021-03-18 15:17:20 +01:00
Timothee Cour
2356d0603f
followup #17398 : getTempDir, getConfigDir now do not have trailing DirSep ( #17402 )
...
* followup #17398 : `getTempDir`, `getConfigDir` now do not have trailing DirSep
* fix test
2021-03-18 13:25:56 +01:00
Timothee Cour
bebf2ce24a
fix #17393 getHomeDir and expandTilde should not include trailing / ( #17398 )
...
* fix #17393 getHomeDir and expandTilde should not include trailing `/`
* changelog
2021-03-17 08:25:28 +01:00
Timothee Cour
5fe5f47033
followup #17389 ; add see also in std/json ( #17400 )
...
Co-authored-by: flywind <xzsflywind@gmail.com >
2021-03-16 19:21:32 -07:00