* add enumutils.items for enum with holes
* changelog
* ref in lib.rst
* use `type SomeSparseEnum* = (not Ordinal) and enum` instead of concept
* address comment: rename back to enum with holes
* add simpler to use readChars overload
* use new readChars overload
* Update lib/wrappers/openssl.nim
Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
Co-authored-by: flywind <xzsflywind@gmail.com>
* Various changes to `lists` (RFC #303)
* Removing a non-element is no-op; better tests
* Remove preserves cycles; add appendMove alias; tests.
* Return value for (singly linked) `lists.remove`
* More test for lists.remove
* Moved `lists.append` to the end of the file to see all `add` definitions
* Disable testing js for now
* Use workaround for swap js bug
* Smaller diff
* Undo "silent" deprecation of append
* Correct typo in changelog
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com>
* Remove `appendMoved`
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com>
* Don't remove appendMoved
Co-authored-by: Clyybber <darkmine956@gmail.com>
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com>
* stdlib/os: handle symlinks in copy/move functions
- Added optional `options` argument to `copyFile`, `copyFileToDir`, and
`copyFileWithPermissions`. By default, symlinks are followed (copy files
symlinks point to).
- `copyDir` and `copyDirWithPermissions` copy symlinks as symlinks (instead of
skipping them as it was before).
- `moveFile` and `moveDir` move symlinks as symlinks (instead of skipping them
sometimes as it was before).
- Added optional `followSymlinks` argument to `setFilePermissions`.
See also: https://github.com/nim-lang/RFCs/issues/319
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com>
* Address comments in #16709
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com>
* Address comments in #16709 (second iteration)
Skip symlinks on Windows.
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com>
* Add BigInts
* Renames tos plurals
* Improve Stringifications
* Update changelog.md
Co-authored-by: flywind <43030857+xflywind@users.noreply.github.com>
* RunnableExamplerize
* discard the discardable pragma
* Several improvements from peer reviews, more docs
* More doc, more test
* More doc, more test
* Better error message 'Error: usage of low is an {.error.} defined at jsbigints.nim' instead of just 'type mismatch JsBigInt'
* is an overload, rename
* proc to scare kids away
* Update lib/js/jsbigints.nim
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com>
* https://github.com/nim-lang/Nim/pull/16409#discussion_r554365041
Co-authored-by: flywind <43030857+xflywind@users.noreply.github.com>
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com>
In case of malformed query string where there is `=` on the value, handle
this character as part of the value instead of throwing an error.
The following query string should no longer crash a program:
key=value&key2=x=1
It will be interpreted as [("key", "value"), ("key2", "x=1")]
This is correct according to latest WhatWG's HTML5 specification
recarding the urlencoded parser:
https://url.spec.whatwg.org/#concept-urlencoded-parser
Older behavior can be restored using the -d:nimLegacyParseQueryStrict
flag.
* Allow passing Uri instead of strings
* Teach httpclient about 308
* Deprecate request proc where httpMethod is string
* More use of HttpMethod enum
Also fix handling of 308, I forgot to add the hunk to the previous
commit.
* Well behaved redirect handler
* Also remove Transfer-Encoding
* Removed unused proc
* Secure redirection rules
Strip sensitive headers for cross-domain redirects.
* Allow httpMethod to be a string again
This way unknown http verbs can be used without any problem.
* Respect user-specified Host header
* Missed multipart argument.
* Try another method
* add changelog
* Fix hidden deprecation warning, parseEnum failing
* This is wrong
* Have to do it manually, parseEnum is not suitable
* Review comments
* update
Co-authored-by: LemonBoy <thatlemon@gmail.com>
Co-authored-by: Dominik Picheta <dominikpicheta@googlemail.com>
* Add backwards index overload for `[]` for JsonNode
* Add since
Co-authored-by: flywind <43030857+xflywind@users.noreply.github.com>
* Add docs, example, and changelog
Co-authored-by: flywind <43030857+xflywind@users.noreply.github.com>
* add sequtils to prelude
i would argue that sequtils is used just as often as the other imports in prelude, and it'd be nice for it to be included.
* updated doc comment to add sequtils
* added sequtils import to changelog
* O(1) concatenation of singly- and doubly linked lists.
There is also new `toSinglyLinkedList` and `toDoublyLinkedList`
functions for conversion from `openArray`s, similarly
to `toHashSet` or `toTable`.
* Add `sequtils` import to runnable examples with `toSeq`.
* Added missing call to runnable examples.
* Add .since annotation, changelog, and tests.
* Rename `lists.concat` as an overload to `lists.append`.
* Renamed `append` to `add` in lists.
* Remove faulty `add` for `DoublyLinkedList`s.
* Improved tests for lists.
* `lists.add` moves the second list; added `lists.copy` for shallow copy.
* More tests for `lists.add` and `lists.copy`.
* More compact tests for lists with templates.
* List concatenation with copying (`add`) and moving (tentatively `addMove`)
* Renamed `addMove` to `addMoved`; renamed arguments according to the style guide.
* Added extended example to `lists.copy`.
* Corrected .since annotations to 1.6
* Add .since annotation, changelog, and tests.
* Rename `lists.concat` as an overload to `lists.append`.
* Renamed `append` to `add` in lists.
* Remove faulty `add` for `DoublyLinkedList`s.
* `lists.add` moves the second list; added `lists.copy` for shallow copy.
* More tests for `lists.add` and `lists.copy`.
* List concatenation with copying (`add`) and moving (tentatively `addMove`)
* Renamed `addMove` to `addMoved`; renamed arguments according to the style guide.
* Since declarations changed to (1,5,1).
* Add .since annotation, changelog, and tests.
* Rename `lists.concat` as an overload to `lists.append`.
* Renamed `append` to `add` in lists.
* Remove faulty `add` for `DoublyLinkedList`s.
* `lists.add` moves the second list; added `lists.copy` for shallow copy.
* More tests for `lists.add` and `lists.copy`.
* List concatenation with copying (`add`) and moving (tentatively `addMove`)
* Renamed `addMove` to `addMoved`; renamed arguments according to the style guide.
* Changelog update.
* Fix rebasing errors.
* Self-adding with `lists.addMove` results in a cycle now.
Added some extra tests.
* Make 'echo' raise IOError when fwrite/fflush fail
* Fix fwrite return value comparison
* Add test for echo raising error and don't fail to release locks in echo
* Fix exitcode expectation
* Make 'echo' raise IOError on Windows if it fails
* Add nimLegacyEchoNoRaise for prior no-IOError echo behavior
* Use checkErrMaybe template