summary refs log tree commit diff stats
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
* '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
* new move analyser2 (#20471)Andreas Rumpf2022-10-011-2/+1
| | | | | | | | * produce better code for closure environment creation * new 'first write' analysis; * scope based move analyser * code cleanup Co-authored-by: ringabout <43030857+ringabout@users.noreply.github.com>
* koch boot compiler with orc (#20467)ringabout2022-09-302-4/+3
| | | | | | | | | | | * koch boot compiler with orc * use orc * workaround bugs * move it * move the data
* make koch and tools work with `nimPreviewSlimSystem` (#20459)ringabout2022-09-301-0/+3
|
* fixes postgres with `nimPreviewSlimSystem` (#20455)ringabout2022-09-291-0/+4
|
* Undeprecate isvalidfilename (#19643)Juan Carlos2022-09-291-7/+12
| | | | | | | | | | * Remove deprecated isvalidfilename * https://github.com/nim-lang/Nim/pull/19643#issuecomment-1235102314 * https://github.com/nim-lang/Nim/pull/19643#issuecomment-1235102314 * https://github.com/nim-lang/Nim/pull/19643#issuecomment-1235102314 * Add unittests * Add more Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* refactor dbFormat (#19746)ringabout2022-09-293-34/+8
| | | | | * refactor dbFormat * add simple tests
* fix #19500; remove find optimization [backport: 1.6] (#19714)ringabout2022-09-282-20/+38
| | | | | | | | | | | | | | | | * remove find optimization close #19500 * save find to std * add simple tests * Apply suggestions from code review Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com> Co-authored-by: sandytypical <43030857+xflywind@users.noreply.github.com> Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com>
* moderate system cleanup & refactor (#20355)metagn2022-09-2822-993/+1036
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * system refactor, move out 600 lines * compilation, slice, backwardsindex, misc_num moved out of system * some procs/types moved into arithmetics, basic_types * system no longer depends on syncio * some procs moved around to fit with their surroundings * make exceptions an import, old ops to misc_num * move instantiationInfo back * move back nim version, fix windows echo * include compilation * better docs for imported modules, fix unsigned ops also remove ze, ze64, toU8, toU16, toU32 with nimPreviewSlimSystem * fix terminal * workaround IC test & weird csize bug, changelog * move NimMajor etc back to compilation, rebase for CI * try ic fix * form single `indices`, slim out TaintedString, try fix IC * fix CI, update changelog, addQuitProc * fix CI * try fix CI * actually fix CI finally hopefully * Update lib/system/compilation.nim Co-authored-by: ringabout <43030857+ringabout@users.noreply.github.com> * update kochdocs * hopefully fix csize uses for slimsystem * fix tquit Co-authored-by: ringabout <43030857+ringabout@users.noreply.github.com>
* store full definition AST for consts, fix noRewrite (#20115)metagn2022-09-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | * continue #9582 for consts, close #9331, fix #20114 also move extractPragma to ast to pave the way for things like {.strdefine: "abc".} etc * changelog correctly * fix jsgen * update tgetimpl * fix sighashes * fix #19766, add comment about postfix * fix noRewrite LOL refs #16620 * fix changelog * fix destructors
* follow up #19408; bump devel version and deprecated unsafeAddr (#20432)ringabout2022-09-281-2/+3
| | | bump devel version and deprecated unsafeAddr
* Refactor initOptParser (#19656)Nan Xiao2022-09-271-22/+5
| | | Co-authored-by: flywind <xzsflywind@gmail.com>
* make more standard libraries work with `nimPreviewSlimSystem` (#20343)ringabout2022-09-2738-1/+109
| | | | | | | | | | | | | | | | | | | | | | | * make more standard libraries work with `nimPreviewSlimSystem` * typo * part two * Delete specutils.nim * fixes more tests * more fixes * fixes tests * fixes three more tests * add formatfloat import * fix * last
* Fix issue with fields trying to use wrong name (#12655)Peter Munch-Ellingsen2022-09-262-5/+5
| | | | | | | | | | * Fix issue with fields trying to use wrong name * Fix similar issue in winlean * Revert accidental csize change Co-authored-by: Clyybber <darkmine956@gmail.com> Co-authored-by: ringabout <43030857+ringabout@users.noreply.github.com>
* fix #18128 rfind on empty needle returns rightmost index (#20430)n5m2022-09-261-1/+2
| | | rfind on empty needle returns haystack len
* Optimize `base64.encodeMime` (#20409)Amjad Ben Hedhili2022-09-251-6/+20
| | | | | | | | | * Optimize `base64.encodeMime` * 5x faster for common scenarios, 13x faster if `lineLen` <= encoded string's length or `newLine` is empty. * Changed `lineLen`'s type to `Positive` to disallow `0`. * Fix
* defaults to ORC (#19972)ringabout2022-09-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * defaults to Orc * bootstrap using refc * use gc * init orc defines * unregister orc * fix gc * fix commands * add prepareMutation for orc * enable deepcopy for orc * prepareMutation * more fixes * some cases * bug #20081 * partial fixes * partial fixes * fixes command line * more fixes * build Nim with refc * use gc * more fixes * rstore * orc doesn't support threadpool * more shallowCopy * more fixes * fixes unsafeNew * workarounds * small * more fixes * fixes some megatest * tcodegenbugs1 refc * fxies megatest * build nimble with refc * workaround tensordsl tests * replace shallowCopy with move * fixes action * workaround * add todo * fixes important packages * unpublic unregisterArcOrc * fixes cpp * enable windows Co-authored-by: xflywind <43030857+xflywind@users.noreply.github.com>
* fixes #20285; prevent oid time overflow at year 2038 (#20338)ringabout2022-09-221-25/+14
| | | | | | | | | | | | | | | * Revert "fixes #20285; prevent oid time overflow at year 2038" This reverts commit dfcdb6ec2ab6a5fa53b6a99294a84fd122be8f8d. * increase time to 64 bits and clean up * add testcase * inline consts * add a changelog * fixes #20285; prevent oid time overflow at year 2038
* Extract markdown/rst doc into separate file (#20404)Andrey Makarov2022-09-221-221/+8
| | | | | | | | | | | * Extract Markdown & Rst doc into separate file This documentation should be extracted into separate file as it's user's documentation, which can be used as a separate utility for compiling `.md/.rst` files. * Restructure: move markup info into markdown_rst.md +Markdown link migration
* contentLength default to -1 if not present (#19835)Bung2022-09-211-2/+2
| | | | | * contentLength default to -1 if not present * `httpclient.contentLength` changelog
* RFC-460 implemented (#19771)Juan Carlos2022-09-212-0/+32
| | | | | | | | | * RFC-460 implemented * RFC-460 implemented * RFC-460 implemented * Fix dumb GitHub autoupdate on changelog
* turn nimIncrSeqV3 into deadcode (#20388)ringabout2022-09-202-91/+47
|
* Add missing proc to dom (#20378)Juan Carlos2022-09-191-0/+57
| | | | | | | | | * Add missing proc from dom * Add missing proc from dom * Add missing proc from dom Co-authored-by: Clay Sweetser <Varriount@users.noreply.github.com>
* Add missing symbols to regex (#20383)Juan Carlos2022-09-191-0/+1
| | | | | * Add missing attribute to jsre * Add missing attribute to jsre
* Recommend `mapIt` in some cases (#20347)Amjad Ben Hedhili2022-09-191-6/+4
| | | | | * Recommend `mapIt` in some cases * Remove runnableExample
* fixes Thread initializer for ARC/ORC on Macos (#20368)ringabout2022-09-161-1/+1
| | | | | | | | | * fixes Thread initializer for ARC/ORC * another try * fix * use int
* add docs to copyNimNode and copyNimTree (#20357)ringabout2022-09-161-2/+25
| | | | | | | | | * add docs to copyNimNode and copyNimTree * Apply suggestions from code review Co-authored-by: Clay Sweetser <Varriount@users.noreply.github.com> Co-authored-by: Clay Sweetser <Varriount@users.noreply.github.com>
* fixes #19104; peg Incorrect captures [backport:1.6] (#20352)ringabout2022-09-151-1/+4
| | | | | | | * fixes #19104; peg Incorrect captures [backport:1.6] * add tests Co-authored-by: khchen <khchen@gmail.com>
* partial revert and redesign of #19814, changelog (#20341)metagn2022-09-142-5/+32
| | | | | | | | | | | | | | | * conservative partial revert of #19814 * fix * revert tssl * revert azure CI change * keep azure, revert version range * fully revert CI, add changelog * useOpenssl3 as separate define, .3 is a version
* Revert "add `fromChar`" (#20336)ringabout2022-09-121-9/+0
| | | | | Revert "add `fromChar` (#20332)" This reverts commit 846cc746a2350ad3f845a4eb0ce97b864891cd35.
* Revert "fixes #20155; repr range with distinct types is broken with ORC" ↵Clay Sweetser2022-09-111-6/+1
| | | | | | | (#20334) Revert "fixes #20155; repr range with distinct types is broken with ORC (#20158)" This reverts commit 37b3f62eef16b0e7cb89e18f9ddc1fb96e17fb1b.
* fixes #20155; repr range with distinct types is broken with ORC (#20158)ringabout2022-09-111-1/+6
| | | | | * fixes #20155; repr range with distinct types is broken with ORC * skipRanges
* Fix cannot create Windows directory in root (#20311)havardjohn2022-09-111-19/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Fix cannot create Windows directory in root Fixes #20306, a regression bug with `createDir` caused by `23e0160af283bb0bb573a86145e6c1c792780d49`. The issue is that, if the path consists only of a drive and a single directory (e.g. "Y:\nimcache2" in the original issue), then no directories will be created. This works fine if there are multiple directories (e.g. "Y:\nimcache2\test"). In the case of "Y:\nimcache2", `omitNext` in `createDir` is `false` on the last condition in `createDir`. This means that the "nimcache2" directory will not be created, and no exception will be raised. Fixed by refactoring to use `parentDirs` iterator instead of iterating over the string characters. Motivation is reduced code complexity. Will not test the specific "C:\test" `createDir` case, since there is no standard Windows drive with write permissions in the root. Creating a custom drive-mapping to Windows Temp is a non-option. That could mess up some users running the test. Added `parentDirs` tests since they are lacking on for POSIX paths. * Fix `createDir("")` causing error The change to `createDir` caused `createDir("")` to raise an error, where it previously didn't. Fixed so `createDir("")` does not fail, and added test case.