Calvin Rose
45c2819068
Improve flychecking.
...
Flychecking will now work correctly with arity checking, and
will better handle imports. Well structured modules should interact
cleanly with the flychecker in a mostly safe manner, but maliciously
crafted modules can execute arbitrary code. As such, the flychecker is
not a good way to validate completely untrusted modules.
We also extend run-context with an :evaluator option to replace
:compile-only. This is more flexible and allows users to create their
own flychecker like functionality.
2019-10-27 16:15:41 -05:00
Calvin Rose
d28925fdab
Relax type checking when fuction position is nil
...
This lets the flychecker work as expected.
2019-10-24 15:17:19 -05:00
Calvin Rose
9097e36ea0
[] should evaluate to ()
...
This is consistent with most bracket tuples.
2019-10-20 14:06:28 -05:00
Calvin Rose
99ef4c7510
Fix an issue with the removecr script
2019-10-19 19:11:13 -04:00
Calvin Rose
b9e05d06fe
Update amalg step.
2019-10-19 18:00:29 -05:00
Calvin Rose
423b6db855
Fix memory leak with some string/ functions.
...
kmp_init leaked memory when called with an empty string.
2019-10-19 15:14:19 -05:00
Calvin Rose
bb54b940c0
Don't call fwrite with size = 0
2019-10-19 10:51:11 -05:00
Calvin Rose
4149df1fca
Update CHANGELOG.md
2019-10-19 10:35:56 -05:00
Calvin Rose
8dd8af742a
Add eprintf and make printf a C function.
...
This allows some more optimizations when printing to
buffers or when output is disabled. It also makes printf
more consistent with print and prin (Same with eprintf).
2019-10-19 10:30:29 -05:00
Calvin Rose
d47804d222
Add prin, eprint, and eprin functions.
...
The print family of functions now writes output
to an optional buffer instead of a file bound to :out.
This means output can be more easily captured an redirected.
2019-10-19 09:44:27 -05:00
Calvin Rose
8dd322c0be
Fix webclient.
2019-10-14 20:55:04 -05:00
Calvin Rose
7fd0748c19
Update to 1.4.0
2019-10-14 20:35:13 -05:00
Calvin Rose
655d4b3aad
Fix test.
2019-10-13 08:00:43 -05:00
Calvin Rose
5f51476526
Remove a git attribute for linguist.
2019-10-12 22:03:34 -05:00
Calvin Rose
d47b5f8c6a
Update CHANGELOG.md
2019-10-11 00:11:19 -05:00
Calvin Rose
a18a251d16
Address some issues found in lgtm
...
Caught a few potentially issues with overflows, as well as use of
unsafe function localtime.
2019-10-10 22:59:43 -05:00
Calvin Rose
8ee54e887f
Update changelog.
2019-10-10 19:06:16 -05:00
Calvin Rose
088c926196
Add update-pkgs to jpm.
...
This allows for periodically updating the package listing.
2019-10-10 18:46:24 -05:00
Calvin Rose
54b66a4199
Add shorthand package name support in jpm.
...
Package installation checks in the package listing if
the package name is not a url. The package listsing can be specified
via switch or env variable.
2019-10-10 18:11:45 -05:00
Calvin Rose
f9d57103f4
Improve peg error on unknown rule.
...
This helps a lot when debugging large, failing grammars.
2019-10-09 17:59:48 -05:00
Calvin Rose
f780df0aa6
Fix single threaded build option with meson.
...
By default, was building with the opposite of what was provided.
2019-10-05 20:35:11 -05:00
Calvin Rose
fede40f279
Relax requirement minimum arity of fn
...
A valid `fn` special could have only a parameter list, as
recommended by R. DuPlain.
2019-10-05 11:53:30 -05:00
Calvin Rose
6ae5a9be60
Add -fvisibility in Makefile, provide meson example commands.
...
Shaves off 10 kb in binary. Also -fpic -> -fPIC in Makefile and jpm.
2019-10-05 10:38:58 -05:00
Calvin Rose
e9f3dc7d5c
Add varfn.
2019-10-03 20:20:42 -05:00
Calvin Rose
841b58042f
Merge pull request #168 from Crestwave/haiku
...
Fix installation on Haiku
2019-10-02 13:54:03 -04:00
Crestwave
63e3e02a39
Fix installation on Haiku
2019-10-02 05:52:55 +00:00
Calvin Rose
944347e828
Fix formatting.
...
Run make format.
2019-09-30 20:00:29 -05:00
Calvin Rose
7910a5feef
Add compile time arity checking.
...
This should help catch a number of errors, but it
is a very shallow implementation of type checking. It will
catch some common misuses of functions at compile time
rather than runtime.
2019-09-30 19:50:42 -05:00
Calvin Rose
2becd196dd
Fix incomplete error message.
2019-09-25 09:29:29 -05:00
Calvin Rose
bcb45157a8
Update CHANGELOG.md
2019-09-24 21:25:21 -05:00
Calvin Rose
70ffe3b6bd
Add slice function to core.
...
Returns immutable slices.
2019-09-24 19:44:36 -05:00
Calvin Rose
339dea9390
Add optional argument functions to c api.
...
These are just helpers to make parameters than can be nil with a
default value easier to handle in a consitent way.
2019-09-24 19:40:49 -05:00
Calvin Rose
b26a7bb22a
Disallow the empty string for some string fns.
...
This will prevent these functions from being run
with empty strings, which usually produces useless
output, as the internal string search algorithm will
never "find" empty strings. This is by design, as it is
not always obvious which empty strings should be found in
the search text.
2019-09-24 13:23:18 -05:00
Calvin Rose
45dfc7cc96
Fix debug/break search algorithm.
2019-09-22 18:08:38 -05:00
Calvin Rose
9d020c3ec5
Update CHANGELOG.md
2019-09-22 18:00:53 -05:00
Calvin Rose
8cda06b995
GCC seemed to not fill array of computed gotos.
...
This is expected as per the C standard, but segfaulted
unless all 255 labels were added.
2019-09-22 17:56:33 -05:00
Calvin Rose
a8afc5b81f
Sourcemapping uses line, column instead of offsets.
...
This should be friendlier to most users. It does, however, mean
we lose range information. However, range information could be
recovered by re-parsing, as janet's grammar is simple enough to do this.
2019-09-22 17:18:28 -05:00
Calvin Rose
228d045a06
Fix formatting.
2019-09-22 15:17:06 -05:00
Calvin Rose
c447e7b3a5
Update changelog.
2019-09-22 15:15:28 -05:00
Calvin Rose
803c3fc235
Add line, col to error messages when available.
2019-09-22 15:13:21 -05:00
Calvin Rose
a032529437
Let jpm projects work better on windows.
...
Handle paths with normal, forward slashes better.
2019-09-22 14:01:14 -04:00
Calvin Rose
7bee204390
Fix installer.
2019-09-22 13:29:34 -04:00
Calvin Rose
064a700edd
Merge branch 'master' of github.com:janet-lang/janet
2019-09-22 12:54:50 -04:00
Calvin Rose
7809f89dfc
1.3.1 Release
...
Small changes, mostly just fixing minor bugs.
2019-09-21 19:15:02 -05:00
Calvin Rose
940860755c
jpm: Read :lflags from meta file when linking.
...
Let us link in native code that itself neads to be linked
to native code when creating standalone executables.
2019-09-21 18:57:04 -05:00
Calvin Rose
1b283c47b4
Remove macos update_dyld_shared_cache
...
This just doesn't work well for a non global install.
It is better packages that need this to run it themselves.
2019-09-20 13:13:05 -05:00
Calvin Rose
8e427317cd
Add mean function to boot.janet
...
Update changelog.
2019-09-19 21:21:14 -05:00
Calvin Rose
908a3b6f5c
Address #160 : Use ldconfig alternative on macos.
...
update_dyld_shared_cache seems to work on macos.
2019-09-18 12:20:59 -05:00
Calvin Rose
f2ba91899f
jpm test now starts a new interpreter per test.
...
This should help with setup/teardown semantics, especially
with native modules.
2019-09-16 00:48:35 -05:00
Calvin Rose
16127fc55c
Remove printf in regalloc.c
...
This should never be hit unless there is a
bug in the compiler, but should be removed.
2019-09-15 18:17:43 -05:00