summary refs log tree commit diff stats
path: root/changelog.md
Commit message (Collapse)AuthorAgeFilesLines
* add approxequal (#15766)Antonis Geralis2020-10-301-0/+2
| | | | | | | | | | | | * add approxequal * Address review comments, tests that pass * more wikipedia links [ci skip] * forgot since Co-authored-by: b3liever <b3liever@yandex.com> Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* fixes #15413 (#15768)Andreas Rumpf2020-10-291-0/+7
| | | | | | | * fixes #15413 * better hide it properly * see if this makes our list of important packages happy
* Make default state public (#15763)Antonis Geralis2020-10-291-1/+1
| | | | | | | * Make default state public * Address review comments Co-authored-by: b3liever <b3liever@yandex.com>
* Add C function dup and dup2 posix to system/io (#15675)Regis Caillaud2020-10-271-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | * * Add handle to dup and dup2 posix as duplicate and duplicateTo in std/ioutils. * Added small test & changelog entry * Fixed import in tioutils removed when isMainModule * * Nest test inside block. Rename proc var -> let in captureStdout * Renamed tmpfile to iotuils.txt * Added block: # duplicate, duplicateTo * Improved docstring * Clean non-idiomatic code * Added runnable examples * rm 2 trailing space in expected output * Made syntax prettier * Runnable example: file in getTempDir() * Tmp -> Temp * Fixed runnableExamples on windows
* Fix Prelude (#15714)Juan Carlos2020-10-261-0/+1
| | | | | | | | | * ReSync with Devel * Fix prelude for JS target * ReSync devel * Fix prelude for JS target
* small changelog cleanup [ci skip]narimiran2020-10-221-2/+3
|
* add Source+Edit links on top of every docgend file (#15642)Timothee Cour2020-10-221-0/+1
|
* add --declaredlocs (#15666)Timothee Cour2020-10-211-1/+1
|
* create a changelog for 1.4.0narimiran2020-10-161-354/+1
|
* renamed '=' to '=copy' [backport:1.2] (#15585)Andreas Rumpf2020-10-151-0/+4
| | | | | | | | | * Assign hook name changed to `=copy` * Adapt destructors.rst * [nobackport] Duplicate tests for =copy hook * Fix tests * added a changelog entry Co-authored-by: Clyybber <darkmine956@gmail.com>
* suggest: try to find the implementation of a symbol when def is used (#15555)alaviss2020-10-141-0/+4
| | | | | * suggest: try to find the implementation of a symbol when def is used * suggest: return all declarations of the symbol on `def`
* Make useVersion:1.0 disable the proc arg sym change (#15570)Clyybber2020-10-141-1/+4
| | | | | * Make useVersion:1.0 disable the proc arg sym change * Also do this for useVersion:1.2
* os: add overload copyFile*(source, dest: string, isDir = false) (#15537)Timothee Cour2020-10-111-0/+1
| | | | | * os: add overload copyFile*(source, dest: string, isDir = false) * renamed to copyFileToDir
* changelog.md: Group the new `to` procs (#15522)ee72020-10-081-12/+8
| | | | | | | | | * changelog.md: Group the new `to` procs [ci skip] This also moves the `critbits.toCritBitTree` entry from the "Language Changes" section to the "Standard library additions and changes" section. * changelog.md: Remove extra space
* changelog improvementsAraq2020-10-081-14/+12
|
* implements https://github.com/nim-lang/RFCs/issues/258 (#15503)Andreas Rumpf2020-10-061-1/+4
| | | | | | | | | * implements https://github.com/nim-lang/RFCs/issues/258 * don't be too strict with custom pragma blocks * cast pragmas: documentation * added most missing inference query procs to effecttraits.nim
* Provide a configurable progressInterval. (#15477)supakeen2020-10-041-0/+3
|
* heapqueue.nim: Add `toHeapQueue` proc (#15459)ee72020-10-021-0/+4
| | | | | | | | | Similar to: - `critbits.toCritBitTree` - `deques.toDeque` - `sets.toHashSet` - `tables.toTable` Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* intsets.nim: Add `toIntSet` proc (#15460)ee72020-10-021-0/+5
| | | | | | | Similar to: - `critbits.toCritBitTree` - `deques.toDeque` - `sets.toHashSet` - `tables.toTable`
* Added std/effecttraits.nim (#15462)Andreas Rumpf2020-10-021-1/+3
|
* Add first draft of new osproc.readLines (#15429)c-blake2020-10-011-0/+2
| | | | | | | | | | | | | | | | | | | | | * Add first draft of new osproc.readLines * Add test for new osproc.readLines * Rename test to start w/t to run; Also add newline to output * Suppress hint messages. * Output should match this time. * Shoulda picked a program with simpler syntax than ..lol * Address https://github.com/nim-lang/Nim/pull/15429#issuecomment-701890898 and https://github.com/nim-lang/Nim/pull/15429#issuecomment-701985976 by factoring `readLines` into `iterator lines` and a wrapper `proc`. * Address https://github.com/nim-lang/Nim/pull/15429#issuecomment-702127289 and also add a `ReadIOEffect` tag to the iterator (called by the wrapper.. so it should need no separate tag, if I understand correctly).
* fix #15405. deepcopy arc (#15410)cooldome2020-10-011-0/+3
| | | | | | | * fix #15405 * fix tests * deepcopy for ARC has to be enabled via --deepcopy:on Co-authored-by: Araq <rumpf_a@web.de>
* Add critbits.toCritBitTree (#15444)Juan Carlos2020-10-011-0/+3
| | | | | * Add critbits.toCritBitTree * https://github.com/nim-lang/Nim/pull/15444#discussion_r498035342
* Clean out (#15440)Juan Carlos2020-10-011-1/+1
|
* document that items no longer works with enum with holes (#15426)Timothee Cour2020-09-291-0/+1
|
* .noalias annotation; frontend support (#15419)Andreas Rumpf2020-09-281-1/+4
| | | | | * .noalias annotation; frontend support * added .noalias support to Nim; implements https://github.com/nim-lang/RFCs/issues/204
* fix #15333 (#15336)flywind2020-09-241-0/+2
|
* Add strutils.indentation and make unindent use it (#15264)Clyybber2020-09-221-0/+9
| | | | | | | | | | | | | | | | | | | | | | | * Add strutils.indentation and make unindent use it * Code style * Fix bootstrapping * Improve wording * Fix test * Introduce without breaking change * Fix * Reduce diff * Fix docs link * Add since annotation * Update changelog
* dom.Navigator add missing attributes (#15310)Juan Carlos2020-09-141-1/+2
| | | | | | | * Add missing attributes and methods to dom.Navigator * Add missing attributes and methods to dom.Navigator * Add missing attributes and methods to dom.Navigator
* Add some enhancements to `jsonutils.nim` (#15133)Ivan Bobev2020-09-091-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add some enhancements to `jsonutils.nim` * Use `jsonutils.nim` hookable API to add a possibility to deserialize JSON arrays directly to `HashSet` and `OrderedSet` types and respectively to serialize those types to JSON arrays. * Also add a possibility to deserialize JSON `null` objects to Nim option objects and respectively to serialize Nim option object to JSON object if some or to JSON `null` object if none. * Move serialization/deserialization functionality for `Table` and `OrderedTable` types from `jsonutils.nim` to `tables.nim` via the hookable API. * Add object `jsonutils.Joptions` and parameter from its type to `jsonutils.fromJson` procedure to control whether to allow deserializing JSON objects to Nim objects when the JSON has some extra or missing keys. * Add unit tests for the added functionalities to `tjsonutils.nim`. * improve fromJsonFields * Add changelog entry for the jsonutils enhancements * Add TODO in `jsonutils.nim` * Added an entry to "Future directions" section in `jsonutils.nim` as suggestion for future support of serialization and de-serialization of nested variant objects. * Added currently disabled test case in `tjsonutils.nim` for testing serialization and de-serialization of nested variant objects. * Move JSON hooks to `jsonutils.nim` Move `fromJsonHook` and `toJsonHook` procedures for different types to `jsonutils.nim` module to avoid a dependency of collections modules to the `json.nim` module. The hooks are removed from the following modules: * `tables.nim` * `sets.nim` * `options.nim` * `strtabs.nim` * Add some tests about `StringTableRef` Add tests for `StringTableRef`'s `fromJsonHook` and `toJsonHook` to `tjsonutils.nim`. * Disable a warning in `jsonutils.nim` Mark `fun` template in `jsonutils` module with `{.used.}` pragma in order to disable `[XDeclaredButNotUsed]` hint. The template is actually used by the `initCaseObject` macro in the same module. Co-authored-by: Timothee Cour <timothee.cour2@gmail.com>
* add getprotobyname (#15273)flywind2020-09-091-0/+3
| | | | | | | * add getprotobyname * tests, docs, changelog * add since
* "for-loop macros" are no longer an experimental feature (#15288)Miran2020-09-081-0/+4
|
* remove deprecation from `math.round` (#15224)Miran2020-08-251-0/+7
|
* std/with support field assign (#14484)slangmgh2020-08-151-0/+15
| | | | | | | | | | | | | | | | | | | | | * std/with support filed assign * add changelog * add support x.dup.with * add example * revert support x.dup.with; add example * update changelog; fix assignment in parameter * Update changelog.md * add example for assignment in parameter * Remove colon style assign Co-authored-by: Clyybber <darkmine956@gmail.com>
* deques.nim: Refactor the `toDeque` functionality (#15166)ee72020-08-071-0/+3
| | | | | | | | | | | | | | | | | | | | This commit polishes the new proc introduced by d9ed816b10a6. Changes: - Rename to `toDeque` for more consistency with well-known procs like `toHashSet` and `toTable`. - Rename the `openArray` parameter. The name `arr` was potentially less clear given that the proc can be used with a seq (or string). - Add a `since` annotation. - Reword the doc comment, and clarify that ordering is preserved. - Add runnableExamples. - Add "see also" cross linking between `initDeque` and `toDeque`. - Remove duplicate `nextPowerOfTwo`. The `initImpl` template already includes it. - Implement the proc using the `items` iterator, rather than indexing. This matches the implementation of `sets.toHashSet` and `tables.toTable`. - Add a test within `when isMainModule`. - Add a changelog entry.
* export asyncdispatch handles (#15140)flywind2020-08-011-0/+2
| | | | | | | * improve epoll docs * export handles * add comments and changelog
* Fix forward declaration issues in template/macro context (#15091)Clyybber2020-07-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | * Fix forward declaration issues in template/macro context * Correct forward declaration resolving for overloads * Remove old dead code * WIP consistent gensym ids * Minimize diff * Remove obsoleted hack * Add templInstCounter to give unique IDs to template instantiations * Remove obsoleted code * Eh, init in myOpen, not myProcess... * Remove optNimV019 * Add testcase for #13484
* Fulfill https://github.com/nim-lang/Nim/pull/14995#issuecomment-664914391 ↵c-blake2020-07-281-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (#15104) request. This can be conceived as an alternate, more capable resolution of https://github.com/nim-lang/Nim/issues/12200 than https://github.com/nim-lang/Nim/pull/12208 The code re-org idea here is to upgrade tablimpl.nim:`delImpl`/`delImplIdx` to abstract client code conventions for cell emptiness & cell hashing via three new template arguments - `makeEmpty`, `cellEmpty`, `cellHash` which all take a single integer argument and clear a cell, test if clear or produce the hash of the key stored at that index in `.data[]`. Then we update the 3 call sites (`Table`, `CountTable`, `SharedTable`) of `delImpl`/`delImplIdx` by defining define those arguments just before the first invocation as non-exported templates. Because `CountTable` does not save hash() outputs as `.hcode`, it needs a new tableimpl.nim:`delImplNoHCode` which simply in-lines the hash search when no `.hcode` field is available for "prefix compare" acceleration. It is conceivable this new template could be used by future variants, such as one optimized for integer keys where `hash()` and `==` are fast and `.hcode` is both wasted space & time (though a small change to interfaces there for a sentinel key meaning "empty" is needed for maximum efficiency). We also eliminate the old O(n) `proc remove(CountTable...)` in favor of simply invoking the new `delImpl*` templates and take care to correctly handle the case where `val` is either zero for non-existent keys in `inc` or evolves to zero over time in `[]=` or `inc`. The only user-visible changes from the +-42 delta here are speed, iteration order post deletes, and relaxing the `Positive` constraint on `val` in `proc inc` again, as indicated in the `changelog.md` entry.
* disable sink inference, only enable it for the stdlib. Reason: better source ↵Andreas Rumpf2020-07-281-0/+4
| | | | code compatibility (#15105)
* strict func: much better error messages (#15068)Andreas Rumpf2020-07-251-11/+16
| | | | | * strict func: much better error messages * documented the 'strict funcs' mode
* Clean up macros (#14959)Juan Carlos2020-07-141-1/+1
|
* Update docs and changelogClyybber2020-07-101-0/+2
|
* remove a condition that table size must be passed as power of 2 (#14926)Miran2020-07-081-26/+43
| | | | | | | | | | | | | | | * remove a condition that table size must be passed as power of 2 * remove power-of-2 condition from sets and sharedtables * remove power-of-2 condition from deques * use 'correctSize' for both branches * prettify changelog.md and fix typos * add a changelog entry * fix double-call of 'right-size' * fix the same thing in sets.nim * introduce a new internal proc `slotsNeeded` Deprecate the public proc `rightSize`, which is not needed anymore. Now it is an identity function, allowing the old code to work correctly and without extra allocations.
* Fix logging tiny bug (#14910)Juan Carlos2020-07-061-0/+4
| | | | | | | | | | | | | | | | | | | * Fix logging tiny bug * Update changelog.md Co-authored-by: Danil Yarantsev <tiberiumk12@gmail.com> * Update changelog.md Co-authored-by: Danil Yarantsev <tiberiumk12@gmail.com> * Update changelog.md Co-authored-by: Danil Yarantsev <tiberiumk12@gmail.com> * https://github.com/nim-lang/Nim/pull/14910#discussion_r450012032 Co-authored-by: Danil Yarantsev <tiberiumk12@gmail.com>
* deprecate existsDir; use dirExists instead (#14884)Timothee Cour2020-07-031-0/+1
|
* Add jsre (#14870)Juan Carlos2020-07-031-0/+3
|
* typetraits.$: $((int, float), int)` is now `"((int, float), int)"` instead ↵Timothee Cour2020-07-021-1/+3
| | | | | of `"(tuple of (int, float), int)" (#14812) Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* Clean out sharedlists (#14857)Juan Carlos2020-07-021-0/+3
|
* Clean out strutils (#14859)Juan Carlos2020-07-011-0/+1
| | | Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* fix #14846; add macros.extractDocCommentsAndRunnables (#14849)Timothee Cour2020-07-011-0/+1
| | | | | | | | | * fix #14846; add macros.extractDocCommentsAndRunnables * fixup * update tests * address comment