summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
* Allow pragmas on parameters (#15178)Clyybber2020-08-112-2/+17
|
* Fix #8473 (#15169)Andreas Rumpf2020-08-1116-25/+67
|\ | | | | | | | | | | | | | | | | | | | | * Make explicit {.nimcall.} a seperate calling convention * Add testcase for #5688 * Fix bootstrapping * Remove little lies :) * Use typeflag instead
| * Use typeflag insteadClyybber2020-08-1011-18/+29
| |
| * Remove little lies :)Clyybber2020-08-081-5/+6
| |
| * Fix bootstrappingClyybber2020-08-081-3/+4
| |
| * Add testcase for #5688Clyybber2020-08-081-0/+17
| |
| * Make explicit {.nimcall.} a seperate calling conventionClyybber2020-08-0812-17/+29
| |
* | docs: dlimport -> dynlib (#15175)Silvio2020-08-111-1/+1
| |
* | Added array type definition to manual (#15173)Ico Doornekamp2020-08-101-0/+3
| | | | | | Co-authored-by: Ico Doornekamp <git@zevv.nl>
* | [FIX] strtabs interpolation in nimscript (#15172)haxscramper2020-08-092-1/+6
| | | | | | | | | | * [FIX] strtabs interpolation in nimscript * [TEST] Use `static` in strtabs test
* | fixes #15101 [backport] (#15171)Andreas Rumpf2020-08-081-3/+2
| |
* | Add `iterator inotify_events` which is *almost always* needed logic for (#15152)c-blake2020-08-081-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | client code since Linux `inotify` is much like Linux `getdents64`. Expanding on "almost always"..The only time that this `iterator` logic is ***not*** needed on the output of a `read` from inotify fd's is when one passes a length to `read` *guaranteed* to only pass one event struct in the buffer. That unusual circumstance requires (at least!) knowing the length of the delivered filename before an event occurs, and the filename itself is optional for some event types. It is *far* more common to not know lengths in advance which means one passes a buffer big enough for at least one maximum length directory entry (256 bytes) which is then also big enough for *many* "typical" length entries and therefore many events. In such more common scenarios this iterator logic is definitely needed. Further, not using this logic, yet treating the return from read as "the whole answer" can test ok on "thin" event streams (e.g. 1 event per ms), hiding a latent bug of processing only the first event.
* | fix #15148 (#15149)flywind2020-08-082-4/+23
| | | | | | | | | | * fix #15148 Co-authored-by: alaviss <leorize+oss@disroot.org>
* | deques.nim: Refactor the `toDeque` functionality (#15166)ee72020-08-072-5/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | fix sqlgetdata regression in odbc (#15161)cooldome2020-08-072-16/+12
| | | | | | | | | | | | | | | | | | * fix sqlgetdata import * fix db_odbc * more fixes * fix style
* | Added the ability to initialize a deque with an openArray (#15138)archnim2020-08-051-0/+6
|/ | | | | | | | | | | | * Add ability to initialize a deque with a sequence Example: var dq = initDeque[char](@['a', 'b', 'c']) * Update deques.nim * Optimized deque initialization * Sequence replaced by open array in deque initialization
* implement (#15153)cooldome2020-08-041-1/+1
|
* limit stalebot a bit morenarimiran2020-08-041-1/+5
|
* fixes a collect() bug reported on the forum (#15156) [backport:1.2]Andreas Rumpf2020-08-043-2/+12
|
* minor improvement (#15155)flywind2020-08-041-1/+1
|
* put stale limit at 3 yearsnarimiran2020-08-041-7/+6
| | | | | It needs to be slowly brought down to limit the notifications and prevent excessive spamming.
* stalebot: don't send messages to keep spam downnarimiran2020-08-041-6/+7
|
* add stale botnarimiran2020-08-041-0/+65
|
* fixes #15129 [backport:1.2] (#15144)Andreas Rumpf2020-08-011-1/+1
|
* Remove `noSideEffect` pragmas (#15143)sschwarzer2020-08-012-2/+2
| | | | | | These don't seem to make sense for the purpose of the procs and lead to errors when the `--experimental:strictFuncs` feature is enabled. See also https://github.com/nim-lang/Nim/issues/15142
* net: allow close() to ignore SSL failures due to disconnections (#15120)alaviss2020-08-013-15/+177
| | | | | | | | | | | | | | * net: allow close() to ignore SSL failures due to disconnections Comes with this PR is also a SIGPIPE handling contraption. * net: don't do selectSigpipe() on macOS macOS sockets have SO_NOSIGPIPE set, so an EPIPE doesn't necessary mean that a SIGPIPE happened. * net: fix alreadyBlocked logic * net: WSAESHUTDOWN is also a disconnection error
* export asyncdispatch handles (#15140)flywind2020-08-012-1/+3
| | | | | | | * improve epoll docs * export handles * add comments and changelog
* fixes #15130 (#15141)Andreas Rumpf2020-08-013-4/+81
| | | | | * fixes #15130 * you really have to copy from cursors
* fixes #15122 [backport:1.2] (#15139)Andreas Rumpf2020-08-012-0/+29
|
* ci_docs: build fusion docs (#15127)alaviss2020-08-011-0/+5
|
* improve epoll docs (#15137)flywind2020-08-011-21/+23
|
* fixes #15111 (#15136)Andreas Rumpf2020-08-015-24/+32
|
* Revert "Small typo (#15132)" (#15134)Andreas Rumpf2020-07-311-1/+1
| | | This reverts commit 4bf8d38248f40cc0bf5323843a9ea38c5bcc20a8.
* Small typo (#15132)Oliver Daniel2020-07-311-1/+1
| | | The expected output necessarily cannot match the formatted string.
* fixes #15071 [backport] (#15131)Andreas Rumpf2020-07-311-3/+3
|
* Bump nimble (#15126)genotrance2020-07-301-1/+1
|
* fixes #15112 (#15124)Andreas Rumpf2020-07-301-8/+12
|
* cursor and mutation tracking fixes (#15113)Andreas Rumpf2020-07-308-368/+311
| | | | | | | | * fixes #15110 * fixes #15096 * prepare varpartitions for cursor inference * new cursor inference begins to work * make tests green
* fix overloading case with generic alias (#15116)jcosborn2020-07-302-1/+106
| | | | | * fix overloading case with generic alias * revert reorganization of tests
* Fix tables.CountTable largest and smallest (#15115)treeform2020-07-291-4/+4
| | | It needs to have len defined first because of the assert .len > 0. I just moved it up a bit to make them work.
* asyncnet, net: don't attempt SSL_shutdown if a fatal error occurred (#15066)alaviss2020-07-304-34/+120
| | | | | | | | | | | | | | | | | | | | | | | | | * asyncnet, net: don't attempt SSL_shutdown if a fatal error occurred Per TLS standard and SSL_shutdown(3ssl). This should prevent errors coming from a close() after a bad event (ie. the other end of the pipe is closed before shutdown can be negotiated). Ref #9867 * tssl: try sending until an error occur * tssl: cleanup * tssl: actually run the test I forgot to make the test run :P * tssl: run the test on ARC, maybe then it'll be happy * tssl: turns off ARC, switch tlsEmulation on for freebsd * tssl: document why tlsEmulation is employed * net: move SafeDisconn handling logic to socketError
* Bump nimble (#15114)genotrance2020-07-291-1/+1
|
* fixes #14139 (#15107)flywind2020-07-292-3/+12
| | | | | | | * fix #14139 * Update lib/pure/collections/heapqueue.nim Co-authored-by: Andreas Rumpf <rumpf_a@web.de> Co-authored-by: Clyybber <darkmine956@gmail.com>
* Fix forward declaration issues in template/macro context (#15091)Clyybber2020-07-2917-95/+270
| | | | | | | | | | | | | | | | | | | | | | | * 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
* Attempt to explain better why delImplIdx is the way it is. Maybe this can ↵c-blake2020-07-291-0/+30
| | | | | | | (#15108) avoid future implementation mischief. (Maybe not. Sometimes, general distrust of theory leads people to distrust simple reasoning over times from CPUs trying as hard as possible to mask DRAM latency via pre-fetch.)
* fixes #14616 [backport:1.2] (#15109)Andreas Rumpf2020-07-292-0/+14
|
* Fulfill https://github.com/nim-lang/Nim/pull/14995#issuecomment-664914391 ↵c-blake2020-07-284-42/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (#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-286-5/+18
| | | | code compatibility (#15105)
* Change clibdir and cincludes for NetBSD (#15102)Euan2020-07-281-1/+9
|
* Fix #11352 strutil.insertSep() fails on negative numbers (#15087)Bung2020-07-282-6/+30
| | | | | | | | | | | | | | | | | | | * fix #11352 strutil.insertSep handle negtive number * test for #11352 * optimize * not parts string var * Update lib/pure/strutils.nim Thanks! Co-authored-by: alaviss <leorize+oss@disroot.org> * need to be countdown Co-authored-by: alaviss <leorize+oss@disroot.org>