1
0
mirror of https://github.com/janet-lang/janet synced 2024-12-12 01:30:33 +00:00
Commit Graph

1352 Commits

Author SHA1 Message Date
Calvin Rose
4ded5e10a2 Update cook tool to export shell function. 2019-04-12 13:48:45 -04:00
Calvin Rose
1596511175 Fix undefined behavior bug with errors.
janet_vm_return_reg should only be set when janet_continue
is called. Otherwise, a panic may dump it's error message in
the wrong place, resulting in undefined behavior (often showing
the last return value or worse, segfaulting).
2019-04-10 23:29:40 -04:00
Calvin Rose
d514eab627 Add regression test for #78 2019-04-09 09:14:40 -04:00
Calvin Rose
5287007cd6 Fix typo in comment. 2019-04-09 09:05:47 -04:00
Calvin Rose
e5a56174e2 Switch fexists to use os/stat when available.
When os/stat is not available, we first
try to read one byte from the file before
saying it is good. If that fails, it is not
a file that we can read from so it counts as not found.
2019-04-09 09:01:52 -04:00
Calvin Rose
6c68c7a35f Address issue #78
(file/open path :r+) should help. On windows, result
is unknown as of now.
2019-04-09 08:38:56 -04:00
Calvin Rose
675c1030fd Fix error message on an arity mismatch.
janet_call had a bad janet_printf.
2019-04-07 23:53:50 -04:00
Calvin Rose
ed65d04b81 Fix peg bug with arguments.
By holding on a reference to argv for a long time, we
may trigger a use after free bug if the stack is resized. In
janet c function, argv is only vvalid up until the next stack operation
on the fiber. We could say that this is the dynamic lifetime of
argv.

To fix this, we copy extra arguments into a tuple, which is properly
garbage collected.
2019-04-07 15:14:54 -04:00
Calvin Rose
fa1c5c85b5 Remove no-capture mode in pegs.
Some peg grammars could not capture values based on their position in a
larger grammar. This is a design limitation inheritted from LPeg, but no
longer needed as the replace mode is superseded by the accumulator mode,
which is more general if slightly harder to use.
2019-04-06 11:38:00 -04:00
Calvin Rose
59c69e6896 Update cook cleaning up directory. 2019-04-05 20:01:03 -04:00
Calvin Rose
ee35786c8f semicolon 2019-04-05 14:45:45 -04:00
Calvin Rose
ec6e2cfd62 os/stat returns nil if file does not exist. 2019-04-05 14:45:04 -04:00
Calvin Rose
7d48e7fd1f Remove some extra search paths. 2019-04-01 14:07:13 -04:00
Calvin Rose
0063e3a69d Fix module path typo. 2019-04-01 13:48:30 -04:00
Calvin Rose
cd6c009c03 Reformat and use new os/stat capabilities. 2019-04-01 11:21:45 -04:00
Calvin Rose
b15cf193a0 Update os/stat
os/stat can now take a keyword as the second argument
to avoid creating a table if one only wants on value
from stat.
2019-04-01 11:11:15 -04:00
Calvin Rose
429dc70374 Update cook tool to use os/stat for file age. 2019-03-31 21:35:44 -04:00
Calvin Rose
e50e77e5f9 Add build instructions back to README.md 2019-03-31 20:24:56 -04:00
Calvin Rose
2fdd6aa0f7 <br> 2019-03-31 18:15:28 -04:00
Calvin Rose
cc55364b21 Remove some more info from README. 2019-03-31 18:13:59 -04:00
Calvin Rose
71526d1d9b Update README.md
Redirect to janet-lang.org to avoid repeating
prose or leaving outdated prose.
2019-03-31 18:11:29 -04:00
Calvin Rose
e239980da7 Quasiquoting bracketed tuples. 2019-03-31 14:15:26 -04:00
Calvin Rose
1709bce77e Add os/rm and os/rmdir 2019-03-30 15:39:24 -04:00
Calvin Rose
d6ba2de888 Fix os/dir on windows. 2019-03-30 13:46:52 -04:00
Calvin Rose
61c0a4bc87 Windows has different defines for file modes. 2019-03-30 13:09:35 -04:00
Calvin Rose
8af28d3fa5 Windows bump. 2019-03-30 13:06:24 -04:00
Calvin Rose
970923d0e5 Update os/dir for windows. 2019-03-30 13:01:57 -04:00
Calvin Rose
5d7dc0a57c Add os/dir support for linux/posix. 2019-03-30 12:36:27 -04:00
Calvin Rose
c5090606a4 Add os/stat function.
Allows getting more information about files. This
is really useful for writing software that needs to inspect
the file system (like a static site generator). We still need
a way to iterate directories though.
2019-03-30 12:06:14 -04:00
Calvin Rose
bf2d9ae634 Mess with includes for os.c 2019-03-28 23:34:24 -04:00
Calvin Rose
871a58e1db Remove extreneous source reference on sr.ht build 2019-03-28 23:25:11 -04:00
Calvin Rose
53c7f2eedd Add more os module functions. 2019-03-28 23:23:58 -04:00
Calvin Rose
bfd3845218 Fix cfunction debugging issue
Cfunction were not describing themselves very well, as
their names were not be added to the registry.
2019-03-27 00:14:51 -04:00
J.-F. Cap
22d75d017f fix AbstractType get/set error message 2019-03-26 21:47:12 -04:00
Calvin Rose
37e6ea0a23 Update changelog 2019-03-24 15:11:00 -04:00
Calvin Rose
10769f6f2e Appveyor build issues
Revert some externeous changes in build_win.bat to
see what happens.
2019-03-24 15:04:47 -04:00
Calvin Rose
082639319e Add colors to repl and string/format.
This makes the repl look nicer using ANSI
color codes, which are widely supported. The codes
can also be turned off via the -m flag.
2019-03-24 15:00:22 -04:00
Calvin Rose
f20ad34c76 Add instructions for Scoop installation. 2019-03-23 23:27:13 -04:00
Calvin Rose
c045eadefa Update changelog. 2019-03-23 22:16:12 -04:00
Calvin Rose
e2337b2ec4 Update build_win.bat to handle new amalg script. 2019-03-23 19:59:54 -04:00
Calvin Rose
90c5d12613 Add include_directories to meson
Before, a local build would only work if system
headers were installed.
2019-03-23 15:02:59 -04:00
Calvin Rose
6016662807 Ignore eclipse files. 2019-03-23 14:05:38 -04:00
Calvin Rose
2c9195b507 More updates to meson
Redo amalg script so we can more easily run
it from Meson.
2019-03-23 13:50:50 -04:00
Calvin Rose
b47c48b59a Add Meson build setup to README.md 2019-03-22 18:47:16 -04:00
Calvin Rose
98758b68ab Boot executable invocation has changed. 2019-03-22 18:37:46 -04:00
Calvin Rose
7f1b5d4d70 Merge core.janet into boot.janet
This simplifies the build machinery a bit.
core.janet is never actually included in the final
binary, it is just used to generate an image file.
2019-03-22 18:34:50 -04:00
Calvin Rose
25aa7a26c5 Add experimental meson build.
Should help with IDE integration.
2019-03-22 18:07:10 -04:00
Calvin Rose
cb2caecbb3 Add janetconf.h for configuring builds.
Rather than edit the Makefile or the janet.h header yourself, use
janetconf.h to configure builds. This has the benefit of making it
easier to configure janet in a persitent but easy way.
2019-03-22 14:33:30 -04:00
Calvin Rose
1e299632e4 Fix example. 2019-03-21 14:32:08 -04:00
Calvin Rose
94a2084723 Add tostring method for abstract types.
This lets abstract types customize how they
print for debugging.
2019-03-19 13:36:26 -04:00