summary refs log tree commit diff stats
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
* fix #16264 low(Time) OverflowDefect (#20552)Bung2022-10-291-1/+1
| | | fix #16264 regression(0.18.0 => devel): import times; echo low(Time) gives OverflowDefect
* Fix #20628 for Windows (#20667)Andrey Makarov2022-10-284-26/+29
| | | | | | | * Fix #20628 for Windows * Move isRegular - !isSpecial and onlyRegular - skipSpecial * Forgot to change it in 1 more place
* openssl 3 support no longer opt in + some 1.0 support (#20668)metagn2022-10-272-45/+100
| | | | | | | | | | | | | | | * Revert "Add OpenSSL 3 support (#19814)" This reverts commit 2dcfd732609a2cfa805e5a94cc105399a2f18632. * openssl 3 support no longer opt in + some 1.0 support * hopefully fix * maybe fix * final attempt * actual fix hopefully
* Added openarray[char] overloads to std/unicode (#20648)Jason Beetham2022-10-271-46/+417
| | | | | | | | | | | | | | | | | * Added openarray[char] overloads to std/unicode Call substr instead of index slice inside unicode Added substr overload for openarray for parity with string functionality Made style checker happies and fixed overloads for substr * Added update to changelog [skip ci] * Inline unicode string operations * Moved substr overload to unicode Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* cleanup os related documentation links (#20663)ringabout2022-10-273-27/+12
| | | cleanup documentation links
* fixes #20654 FAMs should not be used in the C++ backend (#20655)Juan M Gómez2022-10-251-1/+3
| | | | | * fixes #20654 FAMs should not be used in the C++ backend * updates the test so it only affects clang
* clean up `std/os` related modules (#20651)ringabout2022-10-256-157/+140
| | | | | | | | | * clean up `std/os` related modules * use `cmpPaths` * reset * cleanup
* Change both code snippets to use the same test URL (#20647)Saint2022-10-251-1/+1
|
* Implement Unix file regularity check (#20448) (#20628)Andrey Makarov2022-10-254-41/+61
| | | | | * Implement Unix file regularity check * update std/dirs also
* Added 'openArray[char]' overloads to 'std/parseutils' (#20527)Jason Beetham2022-10-244-114/+481
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Added 'openarray[char]' overloads to 'std/parseutils' * Removed redundant `start` and `last` params from slice using procs * Fixed type for parseIdent overload * fixed one by off with 'substr' * removed missed start parameters for procedures * Added 'openarray[char]' overloads to 'std/parseutils' * Removed redundant `start` and `last` params from slice using procs * Fixed type for parseIdent overload * fixed one by off with 'substr' * removed missed start parameters for procedures * Fixed VM op to work with new 'opcSlice' * Corrected captureBetween's logic to work with openarray * js sys's parsefloat logic now uses openarray Co-authored-by: Clay Sweetser <Varriount@users.noreply.github.com>
* Add better error messages to `std/jsonutils` (#20629)Jake Leahy2022-10-241-7/+7
| | | | | * Add better error messages * Add fmt on tuple msg
* fix fwrite prototype (#20644)Jacek Sieka2022-10-242-2/+2
| | | | | | | | | * fix fwrite prototype * Update lib/std/syncio.nim Co-authored-by: ringabout <43030857+ringabout@users.noreply.github.com> Co-authored-by: ringabout <43030857+ringabout@users.noreply.github.com>
* fixes the typical (not a == b) bug in the documentation (#20643)ringabout2022-10-241-2/+2
| | | | | * fixes the typical (not a == b) bug; uses runnableExamples * cannot add runnableExamples
* Fix tuple size check in `std/jsonutils` (#20637)Jake Leahy2022-10-241-2/+12
| | | | | | | | | | | * Add test for tuple being invalid size * Test tuple size before accessing fields * Fix formatting for import * Fix not being able to build from csources_v1 Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* Pass json options to hooks (#20638)Jake Leahy2022-10-241-14/+16
| | | | | | | | | | | * Added tests * Fix expected string * Allow hooks to take an optional parameter that is the current options * Add options to hooks for other generic types * Fix doc links
* Remove side-effects from sysFatal with panics on (#20632)Tanguy2022-10-241-16/+17
|
* improve error message when using `toTask` with a call with a return value ↵ringabout2022-10-231-1/+2
| | | | (#20622)
* add `std/appdirs` (#20618)ringabout2022-10-221-0/+73
|
* add typesafe `std/paths`, `std/files`, `std/dirs`, `std/symlinks` (#20582)ringabout2022-10-214-0/+522
| | | | | | | | | | | | * split std/os; add typesafe std/paths * add more files, dirs, paths * add documentation * add testcase * remove tryRemoveFile * clean up * Delete test.nim * apply changes * add `add` and fixes
* Add `safe` parameter to `base64.encodeMime` (#20559)Amjad Ben Hedhili2022-10-211-3/+11
| | | | | | | | | | | | | | | | | | * Improve `encodeMime` signature * `string` to `openArray[char or byte]` * `safe` parameter * Fix * Revert "Fix" This reverts commit a394c505c2ab751621c24fd29b17e97c01251c1f. * Remove encodeMime's openArray overload * Document the `safe` parameter * Add changelog entry
* move procs in os to `appdirs` (#20605)ringabout2022-10-202-141/+150
| | | | | * move procs in os to `appdirs` * Update lib/std/private/osappdirs.nim
* [std/os] split and re-export (#20593)ringabout2022-10-206-2044/+2245
| | | | | | | * [std/os] split and export * move to private modules * fixes docs and tests Co-authored-by: xflywind <43030857+xflywind@users.noreply.github.com>
* refactor envvars, oserrors; register vmops (#20592)ringabout2022-10-183-339/+5
| | | | | * refactor envvars, oserrors; register vmops * remove type definitions
* fixes #20572 (#20585)Andreas Rumpf2022-10-171-1/+2
| | | | | * fixes #20572 * added a test case
* [`std/os` clean up] import and export `osseps` (#20580)ringabout2022-10-173-2/+3
| | | import and export osseps
* Documentation only, dom (#20584)Juan Carlos2022-10-171-0/+31
| | | Add docs to dom
* atomicInc global alloc counters (#20571)Antonis Geralis2022-10-162-9/+9
|
* fixes #19162; enable `strictEffects` for v2 (#19380)ringabout2022-10-153-10/+10
| | | | | | | | | | | | | | | | | | | * enable stricteffects * add gcsafe * fix tests * use func * fixes pegs tests * explicitly mark repr related procs with noSideEffect * add nimLegacyEffects * change URL * fixes docopt * add `raises: []` to repr * fixes weave * fixes nimyaml * fixes glob * fixes parsetoml * Apply suggestions from code review * Update testament/important_packages.nim * add legacy:laxEffects
* fixes #3748 (#20563)Andreas Rumpf2022-10-141-2/+5
| | | | | | | | | * fixes #3748 * fix the regression * don't use the new allocator for the SSL wrapper * fixes regression
* follow up #19714; add `memmem` optimizations for `find` on Linux, Macos and ↵ringabout2022-10-131-1/+26
| | | | | | | | | | | | | | | BSDs (#20556) * fixes tests * add memmem optimization for find * fixes * ty[o * fixes `"abc".find("") == 0 doesn't work on macOS Co-authored-by: xflywind <43030857+xflywind@users.noreply.github.com>
* Markdown code blocks migration part 7 (#20547)Andrey Makarov2022-10-1217-414/+429
|
* oids sticks to 24 length strings; fixes breaking changes (#20546)ringabout2022-10-121-7/+7
| | | oids sticks 24 length strings
* 'lock levels' are deprecated, now a noop (#20539)ringabout2022-10-1111-27/+27
| | | | | * 'lock levels' are deprecated, now a noop * fixes tests
* Make rstgen work with gcsafe (#20534)ringabout2022-10-101-4/+4
| | | | | | | | | | | * Make rstgen work with gcsafe Co-authored-by: Danil Yarantsev <tiberiumk12@gmail.com> * add tests and fixes * if nimHasWarningAsError Co-authored-by: Danil Yarantsev <tiberiumk12@gmail.com>
* Remove unused `base64.encode` overload (#20369)Amjad Ben Hedhili2022-10-091-27/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Remove unused `base64.encode` overload * [skip ci] Remove commented code * [skip ci] var -> let * [skip ci] Remove mentions of the string overload * Remove `SomeInteger` overload * Fix CI * Fix CI * Deprecate `SomeInteger` overload * [skip ci] Add changelog entry * Revert "Remove `SomeInteger` overload" This reverts commit 79a2963a2154377ee44e9ad5532409baaf5575a6. * Revert "[skip ci] Add changelog entry" This reverts commit 186f17eb3919a593e2a3928e3ac3b462a8323fc1. * Revert "Revert "Remove `SomeInteger` overload"" This reverts commit 8005318ee4fbf8cef726b1af2015e76aaf1e700a. * Update lib/pure/base64.nim Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* parseutils: skipWhile: fix parameter name in doc comment (#20523)ee72022-10-091-1/+1
|
* threaded alloc (#20492)Andreas Rumpf2022-10-093-118/+247
| | | | | | | | * allocator: catch up with multi-threading techniques * removed the global thread lock * more atomics for fun and profit * added important sysAssert * stats remain thread local and don't have to be atomic * undo split chunk optimizations in the hope it makes the CI happy
* FTP client is now able to connect to server over TLS by set `useTls =… ↵Huy Doan2022-10-091-10/+75
| | | | | | | | | | | | | | | | | (#17219) * FTP client is now able to connect to server over TLS by set `useTls = true` in newAsyncFtpClient proc * Update asyncftpclient.nim * fix CI * shouldn't use {.error.} * Update lib/pure/asyncftpclient.nim Co-authored-by: flywind <xzsflywind@gmail.com> Co-authored-by: ringabout <43030857+ringabout@users.noreply.github.com> Co-authored-by: Clay Sweetser <Varriount@users.noreply.github.com>
* fixes #20516; system.create doesn't work with bitfield objects (#20518)ringabout2022-10-081-6/+0
| | | | | | | * Revert "fixes #19000 (#19032)" This reverts commit 2bda4a30a6b12dd0840dc347e454e54fe26721e7. * fixes #20516; add testcase
* out parameters: enforce that 'out' is only used as a parameter (#20510)Andreas Rumpf2022-10-074-3/+45
| | | | | | | * out parameters: enforce that 'out' is only used as a parameter * make tables.nim use 'out' parameters * better backwards compat
* follow up #20109; remove `shallow` seqs/strings for ORC (#20502)ringabout2022-10-061-21/+22
| | | | | | | * remove `shallow` seqs/strings for ORC * add a changelog item * change url of DelaunayNim
* Markdown indented code blocks (#20473)Andrey Makarov2022-10-0511-48/+54
| | | | | | | | | | | | | | | | | | | | | | | * Implement Markdown indented code blocks Additional indentation of 4 spaces makes a block an "indented code block" (monospaced text without syntax highlighting). Also `::` RST syntax for code blocks is disabled. So instead of ```rst see:: Some code ``` the code block should be written as ```markdown see: Some code ``` * Migrate RST literal blocks :: to Markdown's ones
* macOS use SecRandomCopyBytes instead of getentropy (#20466)Matt Haggard2022-10-051-17/+4
| | | | | * On macOS use SecRandomCopyBytes instead of getentropy (which is only available on macOS 10.12+) * Change passL to passl
* strutils, rstgen: avoid deprecated `strutils.delete` (#20488)ee72022-10-052-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The strutils `delete` func with signature func delete*(s: var string, first, last: int) was deprecated in adba5eb45e0a, in favor of one with signature func delete*(s: var string, slice: Slice[int]) However, a few procedures still used the deprecated form. This commit updates them, resolving these deprecation warnings: rstgen.nim(766, 12) Warning: use `delete(s, first..last)`; delete is deprecated [Deprecated] strutils.nim(1651, 19) Warning: use `delete(s, first..last)`; delete is deprecated [Deprecated] strutils.nim(1679, 7) Warning: use `delete(s, first..last)`; delete is deprecated [Deprecated] strutils.nim(2472, 7) Warning: use `delete(s, first..last)`; delete is deprecated [Deprecated] Before this commit: - `trimZeros` called `s.delete(i+1, i)` for an input that lacks a trailing zero (like "1.23"). - `removePrefix*(s: var string, prefix: string)` called `s.delete(0, -1)` when the prefix was the empty string. which did not modify `s`, nor raise an error. But the newer slice `delete` raises an `IndexDefect` when the start of the slice is greater than the end, so we avoid calling the new `delete` for such a case. Recall that exceptions inheriting from `system.Defect` are not tracked with the `.raises: []` exception tracking mechanism [1], so this commit does not break existing code like: proc foo {.raises: [].} = var s = "abc1.20" s.removePrefix("abc") s.trimZeros() doAssert s == "1.2" The `strutils.delete` deprecation was motivated by a problem with `system.delete` [2][3]: `system.delete` had surprising behavior when the index passed to it was out of bounds (it would delete the last entry then). Compile with `-d:nimStrictDelete` so that an index error is produced instead. Be aware however that your code might depend on this quirky behavior so a review process is required on your part before you can use `-d:nimStrictDelete`. To make this review easier, use the `-d:nimAuditDelete` switch, which pretends that `system.delete` is deprecated so that it is easier to see where it was used in your code. `-d:nimStrictDelete` will become the default in upcoming versions. A similar deprecation happened with `sequtils.delete` [4], but that deprecated form is already not used in this repo. [1] https://github.com/nim-lang/Nim/blob/2dec69fe5aa6/doc/manual.md#exception-tracking [2] https://github.com/nim-lang/Nim/blob/2dec69fe5aa6/changelogs/changelog_1_6_0.md#system [3] https://github.com/nim-lang/Nim/commit/92cb76571432 [4] https://github.com/nim-lang/Nim/commit/1d6863a7899f
* Add proxy basic auth documentation (#20498)TerrorTrace2022-10-051-0/+8
|
* remove deprecation messages for `unsafeAddr`; add warnings to docs (#20496)ringabout2022-10-041-13/+3
|
* add default field support for object in ARC/ORC (#20480)ringabout2022-10-042-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * fresh start * add cpp target * add result support * add nimPreviewRangeDefault * reduce * use orc * refactor common parts * add tuple support * add testcase for tuple * cleanup; fixes nimsuggest tests * there is something wrong with cpp * remove * add support for seqs * fixes style * addd initial distinct support * remove links * typo * fixes tuple defaults * add rangedefault * add cpp support * fixes one more bugs * add more hasDefaults * fixes ordinal types * add testcase for #16744 * add testcase for #3608 * fixes docgen * small fix * recursive * fixes * cleanup and remove tuple support * fixes nimsuggest * fixes generics procs * refactor * increases timeout * refactor hasDefault * zero default; disable i386 * add tuples back * fixes bugs * fixes tuple * add more tests * fix one more bug regarding tuples * more tests and cleanup * remove messy distinct types which must be initialized by original types * add tests * fixes zero default * fixes grammar * fixes tests * fixes tests * fixes tests * fixes comments * fixes and add testcase * undo default values for results Co-authored-by: flywind <43030857+xflywind@users.noreply.github.com>
* allocator: disable unnecessary stuff for ORC [backport] (#20489)Andreas Rumpf2022-10-031-95/+44
|
* pragma for sfCallsite instead of name check + better semantics, test (#20464)metagn2022-10-033-8/+17
| | | | | | | | | | | * pragma for sfCallsite instead of name check at every template definition Not documented because it seems to be for internal use? Should also make it possible to make comparisons and setops imports, but this doesn't have to be done. I can reuse a name like `cursor` for the pragma as well, added a new name just to be safe. * make sfCallsite recursive, add tests
* move widestrs out of system (#20462)metagn2022-10-0118-5/+37
| | | | | * move widestrs out of system * fix osproc