summary refs log tree commit diff stats
path: root/lib/pure
Commit message (Collapse)AuthorAgeFilesLines
* fixes another effect inference bug [backport:1.6] (#19100)Andreas Rumpf2021-11-072-5/+9
| | | | * fixes another effect inference bug [backport:1.6]
* Added support for sending "ehlo" and receiving multiline "ehlo" response. ↵David Krause2021-11-031-9/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | (#19077) * Added support for sending "ehlo" and receiving multiline "ehlo" response. Signed-off-by: David Krause <enthus1ast@users.noreply.github.com> * fix typo Signed-off-by: David Krause <enthus1ast@users.noreply.github.com> * send "EHLO" first, if not supported, send "HELO" to smtp server. Signed-off-by: David Krause <enthus1ast@users.noreply.github.com> * fix english Signed-off-by: David Krause <enthus1ast@users.noreply.github.com> * add changelog entry for smtp `ehlo` Signed-off-by: David Krause <enthus1ast@users.noreply.github.com> * recvEhlo must not be exported Signed-off-by: David Krause <enthus1ast@users.noreply.github.com>
* Fix nimIdentNormalize, fixes #19067 (#19068)Tomasz Kramkowski2021-10-291-2/+3
| | | | | | | * Make nimIdentNormalize return "" when passed ""; fixes #19067 Fixes #19067 * Add tests for nimIdentNormalize
* docgen: implement doc link resolution in current module (#18642)Andrey Makarov2021-10-281-0/+5
|
* Minor update to terminal docs (#19056)Netsu2021-10-261-0/+14
| | | | | | | | | | | | | | | | | | | | | * Update terminal.nim - Added some extra docs to cursorUp/Down/Forward/Backward - I was able to use hideCursor and showCursor without adding stdout, removed the parameter - Added docs to terminalHeight()* and terminalWidth()* * Update lib/pure/terminal.nim Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com> * Update lib/pure/terminal.nim Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com> * Added back f: file to cursor movement * Removed unnecessary comments Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com>
* Add Zephyr Support (#19003)Jaremy Creechley2021-10-248-286/+388
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Porting Nim to run on Zephyr. Includes changes to `std/net`. Squashed commit of the following: tweaking more memory / malloc things revert back bitmasks tweaking nim to use kernel heap as C malloc doesn't work fixing socket polling on zephyr cleanup getting maximum sockets for process or for rtos'es reorganizing and fixing net for async / system merge netlite changes back into nativesockets merge netlite changes back into nativesockets reverting native sockets back tweaking nim / zephyr network adding option to run 'net-lite' from linux bridging zephyr's max connections fixing net errors fixing compilation with getAddrString fixing compilation with getAddrString experimenting with a nativesockets_lite ... getAddrString experimenting with a nativesockets_lite ... getAddrString experimenting with a nativesockets_lite ... getLocalAddr experimenting with a nativesockets_lite ... getLocalAddr experimenting with a nativesockets_lite ... add note regarding incorrect FreeRTOS Sockadd_in fields changing to NIM_STATIC_ASSERT cleaning up the static_assert error messages cleaning up the static_assert error messages setting up static assert ftw! testing compile time asserts reworking Sockaddr objects to more closely match various platforms reworking Sockaddr objects to more closely match various platforms reworking Sockaddr objects to more closely match various platforms finding missing items (issue #18684) fixup posix constants (issue #18684) adding plumbing for zephyr os (issue #18684) adding plumbing for zephyr os (issue #18684) * fixing constant capitalizations * remove extra debug prints and fix TSa_Family/cint issue * remove extra debug prints and fix TSa_Family/cint issue * Porting Nim to run on Zephyr. Includes changes to `std/net`. Squashed commit of the following: tweaking more memory / malloc things revert back bitmasks tweaking nim to use kernel heap as C malloc doesn't work fixing socket polling on zephyr cleanup getting maximum sockets for process or for rtos'es reorganizing and fixing net for async / system merge netlite changes back into nativesockets merge netlite changes back into nativesockets reverting native sockets back tweaking nim / zephyr network adding option to run 'net-lite' from linux bridging zephyr's max connections fixing net errors fixing compilation with getAddrString fixing compilation with getAddrString experimenting with a nativesockets_lite ... getAddrString experimenting with a nativesockets_lite ... getAddrString experimenting with a nativesockets_lite ... getLocalAddr experimenting with a nativesockets_lite ... getLocalAddr experimenting with a nativesockets_lite ... add note regarding incorrect FreeRTOS Sockadd_in fields changing to NIM_STATIC_ASSERT cleaning up the static_assert error messages cleaning up the static_assert error messages setting up static assert ftw! testing compile time asserts reworking Sockaddr objects to more closely match various platforms reworking Sockaddr objects to more closely match various platforms reworking Sockaddr objects to more closely match various platforms finding missing items (issue #18684) fixup posix constants (issue #18684) adding plumbing for zephyr os (issue #18684) adding plumbing for zephyr os (issue #18684) * fixing constant capitalizations * remove extra debug prints and fix TSa_Family/cint issue * remove extra debug prints and fix TSa_Family/cint issue * fixing PR issues * Porting Nim to run on Zephyr. Includes changes to `std/net`. Squashed commit of the following: tweaking more memory / malloc things revert back bitmasks tweaking nim to use kernel heap as C malloc doesn't work fixing socket polling on zephyr cleanup getting maximum sockets for process or for rtos'es reorganizing and fixing net for async / system merge netlite changes back into nativesockets merge netlite changes back into nativesockets reverting native sockets back tweaking nim / zephyr network adding option to run 'net-lite' from linux bridging zephyr's max connections fixing net errors fixing compilation with getAddrString fixing compilation with getAddrString experimenting with a nativesockets_lite ... getAddrString experimenting with a nativesockets_lite ... getAddrString experimenting with a nativesockets_lite ... getLocalAddr experimenting with a nativesockets_lite ... getLocalAddr experimenting with a nativesockets_lite ... add note regarding incorrect FreeRTOS Sockadd_in fields changing to NIM_STATIC_ASSERT cleaning up the static_assert error messages cleaning up the static_assert error messages setting up static assert ftw! testing compile time asserts reworking Sockaddr objects to more closely match various platforms reworking Sockaddr objects to more closely match various platforms reworking Sockaddr objects to more closely match various platforms finding missing items (issue #18684) fixup posix constants (issue #18684) adding plumbing for zephyr os (issue #18684) adding plumbing for zephyr os (issue #18684) * fixing constant capitalizations * remove extra debug prints and fix TSa_Family/cint issue * remove extra debug prints and fix TSa_Family/cint issue * Remerge * fixing constant capitalizations * remove extra debug prints and fix TSa_Family/cint issue * remove extra debug prints and fix TSa_Family/cint issue * fixing PR issues * fix maxDescriptors on zephyr/freertos * move maxDescriptors to selector.nim -- fixes compile issue * change realloc impl on zephyr to match ansi c behavior * change realloc impl on zephyr to match ansi c behavior * force compileOnly mode for tlwip Co-authored-by: Jaremy J. Creechley <jaremy.creechley@wavebaselabs.com> Co-authored-by: Jaremy Creechley <jaremy.creechley@panthalassa.com>
* Fix isInvalidFilename & always operate on the full passed in string (#19004)John Novak2021-10-201-45/+46
| | | | | | | | | | | | | * Fix isInvalidFilename segfault & deprecate the method * Update lib/pure/os.nim Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com> * Update lib/pure/os.nim Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com> Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com>
* fix parsesql.treeRepr when nil is in input (#18974)Andrey Makarov2021-10-171-3/+3
| | | | | * fix parsesql.treeRepr when nil is in input * return newNode(nkNone) as default value, not nil
* sequtils: fix errors from `strictFuncs` use (#18998)ee72021-10-161-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Nim 1.4.x compiled the below code without error when using `--experimental:strictFuncs` import std/sequtils type Foo = ref object let foo1 = Foo() let foo2 = Foo() let foos = @[foo1, foo2] let fooTuples = @[(foo1, 1), (foo2, 2)] discard repeat(foo1, 3) discard zip(foos, foos) discard unzip(fooTuples) However, since 2020-12-09, devel Nim produced errors like /tmp/bar.nim(11, 15) template/generic instantiation of `repeat` from here /foo/nim/pure/collections/sequtils.nim(172, 6) Error: 'repeat' can have side effects an object reachable from 'x' is potentially mutated /foo/nim/pure/collections/sequtils.nim(183, 15) the mutation is here /foo/nim/pure/collections/sequtils.nim(183, 15) is the statement that connected the mutation to the parameter This commit reverts some `proc` to `func` changes so that code that: - calls `repeat`, `zip`, or `unzip` - and instantiates them with types containing `ref` can once again be compiled with `strictFuncs`. Otherwise, a user might be forced to drop or alter their `strictFuncs` use when upgrading from Nim 1.4.x, or when writing new code that uses these procedures (at least for now, with the current `strictFuncs` implementation). This commit also adds tests to assert that the remaining funcs in this module can be compiled with `strictFuncs` when used with types containing `ref`. The original batch of `proc` to `func` changes in `sequtils.nim` was in commit 6f57ebae349f, which was partially reverted in 38eb021f8158. See also: https://github.com/nim-lang/Nim/issues/16305
* remove deprecated stuffs from std/times (#18937)flywind2021-10-131-25/+25
|
* Fixed `strictFuncs` support for `std/pegs` (#18951)quantimnot2021-10-071-138/+142
| | | | | | | | | | | | | | | | | * Fixed `strictFuncs` support for `std/pegs` Enabled `std/pegs` in the `strictFuncs` import test. Fixes #18057 Fixes #16892 See #18111 * Rebased from `devel` * Conditionally compile `std/pegs` in `koch` This is for supporting `csources` bootstrap. Co-authored-by: quantimnot <quantimnot@users.noreply.github.com>
* typo [backport] (#18967)flywind2021-10-071-1/+1
|
* fixes #18954 (#18955)Andreas Rumpf2021-10-051-2/+2
|
* rename nimEnableHashRef [backport] (#18941)flywind2021-10-041-5/+13
| | | | | | * rename nimEnableHashRef [backport] * Apply suggestions from code review Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com>
* Add support for `strictEffects` to `std/pegs` (#18949)quantimnot2021-10-041-1/+4
| | | | | | | * Add support for `strictEffects` to `std/pegs` * Fixed support of older Nim versions Co-authored-by: quantimnot <quantimnot@users.noreply.github.com>
* correct licence header (#18935)flywind2021-10-011-1/+1
| | | | | * rename licence * spaces
* Adds source to single tags list (#18920)Jonas Schubert Erlandsson2021-09-291-1/+1
|
* envPairs works in vm, nims (#18615)Timothee Cour2021-09-292-179/+189
| | | | | * envPairs works in vm, nims * fixup
* fix a typo (rename `temporal` to `temporary` (#18892) [backport]flywind2021-09-241-1/+1
|
* ported Nim to proprietary CrossOS [backport] (#18889)Andreas Rumpf2021-09-241-1/+1
|
* fix #18844 (#18851)flywind2021-09-201-4/+4
|
* fixes #18858 [backport] (#18868)Andreas Rumpf2021-09-193-3/+10
| | | | | | | * fixes #18858 [backport] * ensure async tests work with --experimental:strictEffects [backport] * ensure async tests work with --experimental:strictEffects [backport]
* [minor] fix docs (#18834)flywind2021-09-111-6/+4
|
* distros.foreignDeps made public (#18830)Juan Carlos2021-09-101-4/+4
| | | | | | | | | * Deprecate distros.echoForeignDeps * Deprecate distros.echoForeignDeps * https://github.com/nim-lang/Nim/pull/18830#discussion_r705364162 * https://github.com/nim-lang/Nim/pull/18830#discussion_r705364162
* Document `-d:async_backend` flag (#18700)Jacek Sieka2021-09-031-0/+28
| | | | | | | | | | | | | | | | | | | | * Document `-d:asyncBackend` flag Since libraries may want to support multiple async backends, it's useful to standardize the way this is done, so as to simplify usage of any async backend within the ecosystem. A similar text is being added to chronos here: https://github.com/status-im/nim-chronos/pull/216 See also https://github.com/status-im/nim-chronos/issues/207 * typos, add none * Update lib/pure/asyncdispatch.nim * Update lib/pure/asyncdispatch.nim Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* sequtils now support strict effect tracking (#18782)Andreas Rumpf2021-09-021-9/+14
|
* Fix initrand to avoid random number sequences overlapping (#18744)Tomohiro2021-09-021-11/+63
| | | | | | | | | | | | | | | | | | | | | | | * Fix initrand to avoid random number sequences overlapping * Minor fix * Fix compile error on js backend * Disable new test for js backend * Minor fix * tempfiles module uses random.initRand() * Remove unused module import from lib/std/tempfiles.nim * Initialize baseState in initRand() * Run tests/stdlib/trandom.nim from tests/test_nimscript.nims * baseState is initialized only with sysrand.urandom and quit if failed * Add comments
* strict effects (#18777)Andreas Rumpf2021-09-022-10/+15
| | | | | | | | | | | | | | | | | * fixes #17369 * megatest is green for --cpu:arm64 * docgen output includes more tags/raises * implemented 'effectsOf' * algorithm.nim: uses new effectsOf annotation * closes #18376 * closes #17475 * closes #13905 * allow effectsOf: [a, b] * added a test case * parameters that are not ours cannot be declared as .effectsOf * documentation * manual: added the 'sort' example * bootstrap with the new better options
* Fix #15150 (#18730)konsumlamm2021-08-311-1/+2
|
* make deprecated message better (#18737)flywind2021-08-231-1/+1
|
* Fix #18718 (#18731)konsumlamm2021-08-231-5/+8
| | | Update tests
* Add ceilDiv to math (#18596)Tomohiro2021-08-191-0/+52
| | | | | | * Use assert in runnableExamples and improve boundary check * Add more tests for ceilDiv * Fix comment in ceilDiv * Calling ceilDiv with int type T such like sizeof(T) > 8 is error
* asynchttpserver: ipv6 support (#18706)Emery Hemingway2021-08-181-6/+7
| | | Fix #18705
* Documentation only, Terminal (#18696)Juan Carlos2021-08-141-1/+15
| | | Add simple progress bar example to terminal module
* fix #18692 AsyncHttpServer was hanging because client.close was not called ↵Timothee Cour2021-08-141-1/+3
| | | | (#18693)
* don't use space after proc names (#18681)flywind2021-08-121-2/+2
|
* fix #18670 quoteShellCommand, quoteShell, quoteShellWindows on windows (#18671)Timothee Cour2021-08-121-5/+6
|
* Switch maintanance (#18668)RSDuck2021-08-111-8/+1
| | | | | | | | | * Fix and improve Nintendo Switch support * Document the necessity for nimAllocPagesViaMalloc * update changelog * Use --gc:orc in examples
* Add optional recursive arg to distinctBase (v2) (#18659)Timothee Cour2021-08-091-5/+12
| | | | | | * Add optional recursive arg to distinctBase * Add docs and examples Co-authored-by: ALANVF <alan.invents@gmail.com>
* renamed: lib/std/private/vmutils.nim -> lib/std/private/bitops_utils.nim ↵Timothee Cour2021-08-081-3/+1
| | | | to avoid confusion with unrelated std/vmutils (#18660)
* Only allow IPv4 literals in strict form (#18656)Christian Ulrich2021-08-081-3/+22
| | | | | | | | | | | | | * Only allow IPv4 literals in strict form The strict form as defined in RFC 6943, section 3.1.1 only allows the dotted form ddd.ddd.ddd.ddd of IPv4 literals, where ddd is a one to three digit decimal number between 0 and 255. Until now octal numbers (with a leading zero) were interpreted as decimal numbers which has security implications, see CVE-2021-29922 and CVE-2021-29923. * Update lib/pure/net.nim Co-authored-by: Dominik Picheta <dominikpicheta@googlemail.com>
* Nim pretty and add void (#18652)Kyle Brown2021-08-081-6/+12
| | | | | | | | | | | | | | | * pretty and add void * distro fixup * Update lib/pure/distros.nim Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com> * tab to space * requested change to be cleaner Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com>
* Add Artix to distro list (#18629)Kyle Brown2021-08-021-2/+5
|
* [minor] reduce `substr` (#18611)flywind2021-07-301-4/+6
| | | | | | | | | * minor * correct * unify the type of addrLen * Update lib/packages/docutils/rstgen.nim
* Remove tracking of environment from osenv.nim v2 (#18575)Timothee Cour2021-07-291-159/+78
| | | | | | | | | | | | | * Remove unnecessary environment tracking * try to fix windows * fix delEnv * make putEnv work on windows even with empty values; improve tests: add tests, add js, vm testing * [skip ci] fix changelog Co-authored-by: Caden Haustein <code@brightlysalty.33mail.com>
* various small documentation improvements (#18602)Miran2021-07-288-60/+67
|
* fix #17072: add times.dateTime with ISO 8601 order (#18590)Timothee Cour2021-07-281-11/+18
| | | | | * fix #17072: add times.dateTime with ISO 8601 order * address comments
* Update documentation for dynlib (#17356)konsumlamm2021-07-261-44/+34
| | | | | | | * Update documentation for dynlib * Apply suggestions * Improve error handling in example
* optimize for the non-throwing case (#18587)Antonis Geralis2021-07-261-4/+7
|
* Documentation only, Sugar arrow and semicolons (#18574)Juan Carlos2021-07-251-0/+4
| | | * Document that sugar arrow do not support semicolon as argument separator