Commit Graph

1540 Commits

Author SHA1 Message Date
e47f17567e Fix a couple more casts needed in C++. 2018-07-24 07:27:18 -07:00
03ec25720d Add cast to satisfy the C++ warning gods. 2018-07-24 07:21:41 -07:00
c237a44b88 Add file to test directory so Git creates directory. 2018-07-24 07:15:04 -07:00
f23c82071a Don't allow calling the root fiber.
The VM used to not detect this case. It meant you could get into a
situation where another fiber's caller had completed. Then, when it
tried to resume that fiber, the VM would crash because there was nothing
to resume to.

This is part of thinking through all the cases around re-entrancy. Added
some notes for that too.
2018-07-21 10:02:29 -07:00
5f29a72d65 Remove the special method type for Fn.call(...).
Instead, using regular primitives for each of the call() methods.
Doesn't help performance (alas), but does seem cleaner to me.
2018-07-18 08:20:11 -07:00
ed64a13778 Add new files to api_test target in XCode project. 2018-07-18 07:30:18 -07:00
fe7e56d508 Merge branch 'rfc-0001-smarter-imports' 2018-07-16 07:03:00 -07:00
b2b2b8a4e7 Add note. 2018-07-16 07:02:53 -07:00
1a37d2228d Merge branch 'smarter-imports' 2018-07-16 07:00:08 -07:00
7a42a20b98 Merge branch 'master' into smarter-imports
# Conflicts:
#	src/module/io.c
#	src/vm/wren_vm.c
2018-07-15 21:01:14 -07:00
c367fc3bfc Get logical imports in "wren_modules" working.
There's a lot of changes here and surely some rough edges to iron out.
Also, I need to update the docs. But I want to get closer to landing
this so I can build on it.
2018-07-15 20:09:41 -07:00
e486c56ae9 Merge pull request #546 from mathewmariani/master
Fixed PreBuildEvents on vs2017
2018-07-15 11:08:21 -07:00
09f4beff4a Add trim methods on String:
- trim()
- trim(chars)
- trimEnd()
- trimEnd(chars)
- trimStart()
- trimStart(chars)
2018-07-15 10:48:56 -07:00
ef5f38b48f Turn on auto-deploying docs.
Looks like it's working now. <crosses fingers>
2018-07-14 21:35:33 -07:00
7b42a9d621 More guessing at package names. 2018-07-14 21:00:59 -07:00
361b57fa8d Try to get right package name for smartypants. 2018-07-14 20:51:48 -07:00
3920818b46 Install smartypants on Travis. 2018-07-14 20:44:22 -07:00
c7c69d1291 Check in shared Xcode file. 2018-07-14 12:12:37 -07:00
09be27d3d5 Install pygments on Travis. 2018-07-14 12:12:07 -07:00
7d8292fe90 Fix a Travis dependency. 2018-07-14 11:57:11 -07:00
52f08aec05 Install the custom pygments lexer using python3. 2018-07-14 11:44:53 -07:00
d13cafed71 Fix command. I am an idiot. 2018-07-14 11:17:36 -07:00
db77a9dce4 Disable container-based build so we can use sudo. 2018-07-14 11:05:41 -07:00
5fff693530 Testing fix to doc deploy script. 2018-07-14 10:35:45 -07:00
08b5492362 Turn off doc deploying for now. 2018-07-13 09:15:26 -07:00
c120769977 Make some tweaks to doc deploy script.
- Rename file to match other naming conventions.
- Simplify condition a little.
2018-07-13 08:02:37 -07:00
91b4f53ee5 Merge branch 'auto-deploy-docs-from-travis' of https://github.com/CodogoFreddie/wren into CodogoFreddie-auto-deploy-docs-from-travis 2018-07-13 07:46:46 -07:00
1f93e16fb2 Provide actual soname when building shared lib on Linux.
Fix #572.
2018-07-13 07:19:06 -07:00
646fedab98 Merge pull request #555 from GHvW/GHvW-patch-1
Update file.markdown
2018-07-13 07:02:49 -07:00
a3c2402ca0 Merge branch 'missing_undef' of https://github.com/dressupgeekout/wren into dressupgeekout-missing_undef
# Conflicts:
#	AUTHORS
2018-07-13 07:01:57 -07:00
1029d5feb6 Merge pull request #581 from michal037/michal037
Small improvements
2018-07-13 06:53:34 -07:00
ad9a0e13ac Small improvements
* Safer definitions in io.c
* Easier to understand information in repl.wren
* Added my e-mail; Contributing > Hacking on the VM
2018-07-12 21:50:23 +02:00
5356ccb760 Add myself to the AUTHORS 2018-06-14 00:33:59 -07:00
18f74d89c4 Don't forget to #undef FINALIZER 2018-06-05 13:27:45 -07:00
4c9209c1b2 Update file.markdown
minor fix to close() language
2018-06-03 23:06:40 -05:00
9934d17019 Update PreBuildEvent scripts for more conditions 2018-05-21 11:14:23 -04:00
85b2c9a99d added explicity vs2017 argument
To build with VS2017 you need to explicitly add a vs2017 argument
2018-05-21 01:57:50 -04:00
4957fff584 Fixed PreBuildEvents on vs2017 2018-05-21 01:25:38 -04:00
40c927f440 Make sure we consume all the input when compiling a single expression.
Fix #528.
2018-04-28 16:54:33 -07:00
c4ae0f5c59 Be a little more conservative with some string operations.
This should hopefully fix #531, though in practice the previous code
should have been safe too.
2018-04-28 16:38:09 -07:00
41a56446c6 Refine a few things:
- Fix some doc comments.

- Inline comparing two ObjStrings, since it's only used in one place.
  Also, this avoids a redundant identity check.

- Move the forward declarations of the object types out of
  wren_common.h. Instead, I just added the one needed forward
  declaration of ObjString in wren_utils.h. It's a little inelegant,
  but it feels weird to me to expose all of the object types in
  wren_common.h when they logically belong to wren_value.h and most of
  the types aren't problematic.

- Fix a bug where field symbol tables weren't being marked. If a GC
  happened while compiling a class, field strings got freed.
2018-04-28 12:13:03 -07:00
05e18fa95f Merge branch 'unify_string' of https://github.com/mhermier/wren into mhermier-unify_string 2018-04-28 10:22:42 -07:00
d03ef9e8b0 Move test and tweak code a bit. 2018-04-28 10:08:42 -07:00
4d056b6ec3 Merge branch 'master' of https://github.com/jclc/wren into jclc-master 2018-04-28 10:00:59 -07:00
8fae8e4f1e Don't overflow signature string if there are too many parameters.
Fix #494.
2018-04-27 09:13:40 -07:00
c5ce6fac46 Fix local variable declarations in the REPL.
A statement like:

  for (i in 1..2)

When run in the REPL declares a local variable ("i"), but not inside
a function or method body. This hit a corner case in the compiler
where it didn't have the correct slot indexes set up.

That corner case is because sometimes when you compile a chunk, local
slot zero is pre-allocated -- either to refer to "this" or to hold the
closure for a function so that it doesn't get GCed while running. But
if you're compiling top-level code, that slot isn't allocated. But top
level code for the REPL *should* be, because that gets invoked like a
function.

To simplify things, *every* compiled chunk now pre-allocates slot zero.
That way, there are fewer cases to keep in mind.

Also fixed an issue where a GC during an import could collected the
imported module body's closure.

Fix #456.
2018-04-27 08:20:49 -07:00
64f8bf7ae3 Merge pull request #524 from bjorn/master
Small documentation fixes
2018-04-25 21:09:48 -07:00
4bc3e6f424 Fix LICENSE to match https://choosealicense.com/licenses/mit/.
That way GitHub and other tools correctly recognize the license. There
is no substantive change to the license itself.
2018-04-23 16:48:47 -07:00
e66115c9fc add regression test for #520 2018-04-10 18:53:56 +03:00
c1ed027973 Merge pull request #523 from jaromirmuller/patch-1
documentation: fixed typo, function declares data, body uses file
2018-04-06 23:49:55 -07:00