Commit Graph

14289 Commits

Author SHA1 Message Date
Andreas Rumpf
e3a668a33b --gc:destructors: baby steps 2018-12-15 13:54:41 +01:00
Andreas Rumpf
446f911a17 better error message for 'proc' that is not intended to be used as a typeclass 2018-12-15 09:09:46 +01:00
Andreas Rumpf
f76bd06643 fixes #9982 2018-12-14 20:03:12 +01:00
Andreas Rumpf
5ba22c9315 document the change for fix #9978 2018-12-14 17:15:03 +01:00
Andreas Rumpf
675b6f0773 fixes #9978 2018-12-14 17:15:03 +01:00
Araq
32c6b35d97 fixes yet another NimScript regression 2018-12-14 12:00:57 +01:00
c-blake
a54e3f4602 Allow an escape hatch for platform specific flags/default override (#9968)
* Allow an escape hatch for platform specific flags (of which there are many,
for example MAP_POPULATE itself is a Linux-only thing, not other Unix).

Continue with same defaults as before in this commit, but that really
should be changed to *not* include MAP_POPULATE.  While pre-faulting
all the pages can be useful sometimes *if* you know you're going to
access all the data, it is highly unlikely to be what users expect the
default to be.  For some things all that up front work is 1000s of
times slower than being lazy/on-demand/only ever faulting parts of the
file.  Even the MAP_POPULATE fan who originally in 2014 committed to
this file defaulted it to off (but turned it always-on as a "temporary"
work around for some long since gone/mutated compiler issue).

Anyway, at least something like this `mapFlags` gives users the ability
to override the poor default choice or activate any other idiosyncratic
platform-specific features.

* Use simple, efficient default flags, but also accept whatever the open/mapMem
caller specifies.  Save flags in MemFile so they can be used in `resize`.

This field should not need exporting like the others -- callers can always
save whatever values they pass -- but we include a cautionary comment in
case anyone ever asks for a `*` there, as well as for documentation.

Also make documentation for ``mapFlags`` in open more likely to inspire care.
2018-12-14 11:44:11 +01:00
Araq
3ba8f158fb added parseopt.remainingArgs; refs #9951 2018-12-14 11:41:19 +01:00
Araq
f551b72fba fixes #9965 2018-12-14 09:56:59 +01:00
Araq
359a4b5fac timers.nim: avoid parser warning 2018-12-14 09:56:43 +01:00
Araq
ce9815bcf5 os.nim: use the new pathnorm.normalizePath implementation 2018-12-14 08:57:55 +01:00
Araq
5b39c7aca9 fixes joinPath regressions 2018-12-13 16:19:00 +01:00
Araq
5d34dec97d fixes testament regression due to changed '/' operator 2018-12-13 16:19:00 +01:00
Neelesh Chandola
6bdf7fdbce enum types can now be assigned values from enum with holes (#9958)
* Fixes https://github.com/nim-lang/Nim/issues/9952

* Remove workaround from vccexe
2018-12-13 12:14:25 +01:00
Araq
9cc4a57768 os.nim: big refactoring, use the new pathnorm that was extracted by compiler/pathutils.nim; added os.relativePath 2018-12-13 12:05:50 +01:00
Alexander Ivanov
467f53512f Show lineinfo of for in yield (#9779) 2018-12-13 10:38:32 +01:00
Neelesh Chandola
a3c4791e9c Give error when case has an else branch even though all cases are already covered (#9930)
* Give error when case has an else branch even though all cases are already covered.
* Don't check for invalid else for type tyFloat..tyFloat128, tyString, tyError
* Remove unnecessary else in unittest.nim
* Fix sockets.nim
2018-12-13 09:08:10 +01:00
Neelesh Chandola
bb85869237 Undefine some symbols and globalOptions when processing nimscript (#9945) [backport]
* Undefine some symbols when processing nimscript
* Undefine taintMode when processing nimscript
* Reload .cfg configuration
2018-12-13 09:05:24 +01:00
Andreas Rumpf
8dfe7c0963 Merge pull request #9950 from nc-x/fix-nimsuggest-build
Fix nimsuggest build with clang on windows
2018-12-13 09:02:55 +01:00
Andreas Rumpf
52c7653556 Merge pull request #9956 from nc-x/fix-vccexe
Fix vccexe compilation
2018-12-13 09:02:24 +01:00
Neelesh Chandola
9ebe52cdeb Fix vccexe compilation 2018-12-13 12:40:52 +05:30
Dominik Picheta
76c214a2e9 Merge pull request #9915 from zevv/asyncnet-unix
Added basic AF_UNIX support to asyncnet.
2018-12-12 23:06:08 +00:00
Neelesh Chandola
b245b80e72 Fix nimsuggest build with clang on windows 2018-12-13 02:16:29 +05:30
Andreas Rumpf
e4ae7a8929 Merge pull request #8748 from LemonBoy/when-in-objects
Pervasive replacement of nkRecWhen in generic types
2018-12-12 18:19:52 +01:00
Araq
cc97453808 Merge branch 'couven92-devel' into devel 2018-12-12 18:17:29 +01:00
Araq
0ab1229c69 resolve merge conflicts 2018-12-12 18:16:53 +01:00
Araq
ac8274c60f fix merge conflict 2018-12-12 17:51:33 +01:00
Araq
eb8383cb28 move diff.nim to experimental 2018-12-12 17:48:30 +01:00
Andreas Rumpf
9f453592a4 Merge pull request #9552 from recloser/strmisc-doc
Add runnableExamples for strmisc procs and a better doc for expandTabs
2018-12-12 16:32:09 +01:00
Andreas Rumpf
9d81586879 Merge pull request #9879 from data-man/sorted_deduplicate
Add the parameter isSorted for the sequtils.deduplicate
2018-12-12 16:30:00 +01:00
Andreas Rumpf
a1bf9fd2b6 Merge branch 'devel' into sorted_deduplicate 2018-12-12 16:29:46 +01:00
Araq
070bcf4cea added diff.nim to the stdlib 2018-12-12 16:27:37 +01:00
Araq
afa2ca6a0b Merge branch 'krux02-std-diff' into devel 2018-12-12 16:17:56 +01:00
Araq
f080a15da1 diff.nim: massive code cleanups 2018-12-12 16:17:35 +01:00
Araq
9ce21bb8de Merge branch 'std-diff' of https://github.com/krux02/Nim into krux02-std-diff 2018-12-12 15:43:03 +01:00
Araq
f828e5da49 clean up the implementation of the new memfiles.resize 2018-12-12 12:10:17 +01:00
Araq
77a884f178 export every field of MemFile for more low level trickery; refs #9922 2018-12-12 12:03:57 +01:00
Araq
cc8ba356f9 advopt.txt: minor layouting change 2018-12-12 12:00:42 +01:00
Andreas Rumpf
cddc4be209 Merge pull request #9922 from c-blake/devel
Let handles be seen outside of `memfiles` module so that "updating"
2018-12-12 12:00:12 +01:00
Andreas Rumpf
d9ae9201c4 Merge pull request #9937 from cooldome/pragmablock_custom_pragma
Language feature: implement custom pragmas in pragma blocks
2018-12-12 10:15:25 +01:00
Andreas Rumpf
3a70d18b84 Merge pull request #9755 from flaviut/nre-missing-match
Fix for #9243, nre returns "" instead of nil for missing matches
2018-12-12 06:35:15 +01:00
Andrii Riabushenko
1d16676dd6 add test 2018-12-11 23:53:59 +00:00
Andrii Riabushenko
9becb41e04 Add changelog item 2018-12-11 23:37:48 +00:00
Andrii Riabushenko
df0f0f2858 custom pragmas in pragma blocks 2018-12-11 23:35:46 +00:00
Flaviu Tamas
c0a47f7e22 Rework nil/option for nre in light of ""==nil
Fixes #9243
2018-12-11 22:15:57 +00:00
Flaviu Tamas
22b3e9df27 Revert 7f49364fd0 for nre 2018-12-11 22:15:02 +00:00
Andreas Rumpf
c682671fea minor cleanups 2018-12-11 23:07:36 +01:00
Andreas Rumpf
5dc83d0c8f cleanup of excpt.nim 2018-12-11 23:04:49 +01:00
Andreas Rumpf
239846a528 Merge pull request #9805 from pacien/181126-list-append
add SinglyLinkedList.append procs
2018-12-11 22:18:40 +01:00
Andreas Rumpf
c58f430e2e Merge pull request #9916 from timotheecour/pr_ref_9906_errorMax
refs #9906; --errorMax:10 allows stopping after 10 errors (more robust than nim check)
2018-12-11 22:14:08 +01:00