| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| | |
|
| |
| |
| | |
Fixes #9177
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Rework exception handling in the VM
Make the safepoint handling more precise and less forgiving.
The new code is clearer and more commented.
Perform cleanup on `return`.
The no-exception-thrown case in a try block should be slightly faster
since we don't parse the whole set of exceptions every time.
More tests.
* Fix silly error that broke a few tests
* Testament doesn't like files having the same name
* Remove test case that failed compilation to js
|
| |
| |
| |
| | |
Empty types introduced by a template produced the same hash of the
"clean" type sharing the same name.
|
| |
| |
| | |
Fixes #10594
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously the compiler would generate suggestions based on the symbol
identifier length, but that might not reflect the actual representation
of it within the actual source code.
This commit implements a simple source scanner for the suggest module to
address the problem outlined above.
Fixes nim-lang/nimsuggest#24
|
| |
| |
| |
| |
| | |
Decrement the frame length before closing the parent scope.
Fixes #10589
|
| |
| |
| |
| |
| |
| | |
This is the MVP in order not to get a completely useless error message
from the compiler.
Fixes #10579
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| | |
Fixes #8997
|
| |\
| | |
| | | |
Fixes #10568: Fix null pointer dereference in address computation for incrSeqV3.
|
| | |
| | |
| | |
| | | |
According to https://hownot2code.com/2016/08/18/null-pointer-dereferencing-causes-undefined-behavior/ this was an undefined behaviour.
|
| | |
| | |
| | | |
Fixes #10548
|
| |/ |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Currently, devel docs (https://nim-lang.github.io/Nim/lib.html)
source links point to master branch,
leading to outdated source code and showing the wrong line.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* fix #10482
* undo changes
* fix for bitwise not
* remove dead opcode
|
| |
| |
| |
| |
| |
| |
| |
| | |
* fixes #10482
* add missing file
* bug fix
|
| |
| |
| |
| |
| | |
This allows spaces in imports, by using the following syntax:
* `import "directory with spaces" / subdir / file`, or
* `import "directory with spaces/subdir/file"`
|
| | |
|
| |
| |
| |
| | |
refcounting works
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* kochdocs.nim: code cleanup
* docgen: nicer indentation
* parser.nim: code cleanup
* fixes #10458
* make tests green again
* make =destroy mixins
* gc:destructors: produced C code is almost working
* --gc:destructors simple program compiles (but leaks memory)
* gc:destructors make examples compile in C++ mode
* destructors: string implementation bugfixes
* strs.nim: minor code cleanup
* destructors: builtin seqs are beginning to work
* remove debugging helpers
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
* fixes #10462
* add a test
|
| | |
|
| |
| |
| |
| |
| |
| | |
Exceptions raised inside a nkFinally/nkExcept block are not caught by
the block itself.
Fixes #3886
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The old logic wasn't very useful because
`relPath` is almost always shorter than `absPath`,
e.g. `../../../../../` is shorter than `C:\Program Files`.
This way allows the usage of a relative path for
at most two levels deep, e.g. `../../relPath`,
otherwise the absolute path is used.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The compiler believes these are where a macro call starts (marked with
`^`):
m "string"
^ ^
This commit addresses that.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* compiler/sem*: better lineinfo for templates
Lineinfo for templates is inconsistant across the compiler, for example:
doAssert true
^ ^
a[int](10)
^^ ^
The `^` marks where the compiler thinks the template starts.
For qualified call, we got the same situation with `proc`s before #10427:
system.once
^
Generics lineinfo within template declaration is also incorrect, for
example, this is where the compiler believes the `T` in `[T]` is:
template a[T](b: T)
^
This PR addresses all of these problems.
* nimsuggest: add tests for template highlighting
|