Commit Graph

123 Commits

Author SHA1 Message Date
Calvin Rose 0bc96304a9 Add r32 and r64 aliases for real numbers in ffi types. 2022-06-11 09:40:37 -05:00
Calvin Rose 48289acee6 Add os/cpu-count functionality. 2022-05-28 12:01:23 -05:00
bakpakin 85129a1873 Prepare for 1.22.0 release. 2022-05-09 10:19:40 -05:00
Calvin Rose 6d9286a202 Add some more changes to hashing to improve pointer hashing. 2021-12-07 08:36:08 -06:00
Calvin Rose 03f99752a7 Merge branch 'master' into struct-proto 2021-10-29 16:42:34 -05:00
Calvin Rose 230b734663 Delete jpm and related testing from this repository.
JPM and related functionality has been moved to it's own repository
and will be versioned separately from Janet. The distribution process
could later be modified to bundle a version of jpm with Janet but this
is perhaps not needed.
2021-07-15 20:49:41 -05:00
Calvin Rose bbae43f259 Update copyright dates. 2021-05-31 13:46:02 -05:00
Calvin Rose 4d983e54b5 Initial struct prototype code.
Also add a number of cfunctions for manipulating structs
with prototypes.
2021-05-29 11:43:18 -05:00
Calvin Rose 6720b34868 Don't use peg for patch tool. 2020-11-18 19:37:18 -06:00
Calvin Rose 53aa19a916 Several changes to move pipe creation back into ev.c 2020-11-18 10:53:36 -06:00
Calvin Rose 2dc04d2957 On install, merge janetconf.h into janet.h
This results in a cleaner amalgmated build
2020-11-17 09:53:12 -06:00
Michael Camilleri 536648ec19
Use function for install-paths 2020-06-18 19:07:43 +09:00
Calvin Rose 853b33b67c On nix platforms, patch jpm with path information.
This means we no longer need to guess paths after install.
Custom directory layouts can now be better supported at install
time without need for environment variables.
2020-06-14 14:04:23 -05:00
Calvin Rose a99906c6f0 Remove NSIS artifacts.
NSIS installer has been replaced by WiX installer.
2020-05-19 22:25:04 -05:00
Leaf Garland 4a2d770066 Add Wix/msi installer for Windows 2020-05-19 16:56:50 +12:00
Calvin Rose 273d1ff2d0 Fix external grammar to disallow | and \ in symbols. 2020-05-10 16:57:42 -05:00
Calvin Rose cc70388846
Merge pull request #338 from andrewchambers/unmarshalfuzz2
Make unmarshal fuzzer exercise more code paths.
2020-04-05 20:36:30 -05:00
Calvin Rose 5bbd507858 Address #336 case 3
Fix error condition for bad abstract types - don't return NULL, panic.
2020-04-05 17:38:14 -05:00
Andrew Chambers 45156c0c47 Make unmarshal fuzzer exercise more code paths. 2020-04-06 09:59:00 +12:00
Calvin Rose 553e38ffd6
Merge pull request #337 from andrewchambers/fuzzunmarshal
Setup some simple fuzz helpers for unmarshal.
2020-04-05 08:17:42 -05:00
Calvin Rose 87ecdb8112 Change \UXXXXXXXX -> \UXXXXXX and check codepoint max.
No need to add two extra leading zeros, as the max unicode
codepoint is 0x10FFFF.
2020-04-05 07:09:53 -05:00
Andrew Chambers 98b2fa4d64 Setup some simple fuzz helpers for unmarshal. 2020-04-05 23:05:18 +12:00
Calvin Rose ae70a03383 Address #306 - Add unicode escapes.
Unicode escapes have the same syntax as go - \uXXXX or \UXXXXXXXX.
2020-04-04 21:46:08 -05:00
Calvin Rose 333ae7c4f8 Make amalgamtion the default when building.
This way we can support fewer build configurations. Also, remove
all undefined behavior due to use of memcpy with NULL pointers. GCC
was exploiting this to remove NULL checks in some builds.
2020-01-28 23:38:52 -06:00
Calvin Rose a68ee7aac6 Update Copyright 2020. 2020-01-12 10:50:37 -06:00
Calvin Rose 0b0fb18c42 Can we fix NSIS? 2019-12-31 12:10:57 -05:00
Calvin Rose bfb638cfc2 Try EnVar_plugin for updating path.
This should be more robust and not fail after upgrading.
2019-12-31 10:26:54 -05:00
Calvin Rose 3a47ad5d99 Remove some NSIS cruft to see if we can fix 3.05 2019-12-31 09:49:50 -05:00
Calvin Rose e3c88295f2 Update to NSIS 3.05
Lock version in appveyor.yml
2019-12-31 09:40:36 -05:00
Calvin Rose 75bb8fbcd1 Amalg script included janet.h before test macros. 2019-12-30 22:08:12 -05:00
Andrew Chambers 0ac5b243c7 Add os/cryptorand. 2019-12-04 14:02:37 +13:00
Andrew Chambers 4acc63e325 Add afl fuzzing helpers. 2019-11-29 16:43:14 +13:00
Calvin Rose c12eaa926a Make sure $prefix/lib/janet is created
After we removed cook.janet, jpm didn't work well out of the box
with a meson install.
2019-11-08 18:43:53 -06:00
Calvin Rose 46e09e4c71 Fix tools/removecr.janet 2019-10-29 18:56:32 -05:00
Calvin Rose 427b2638e0 Fix startup environment. 2019-10-29 18:47:54 -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 9f48c3e2db Remove :r from amalg.janet 2019-09-12 23:34:14 -05:00
Calvin Rose e6306ea188 Add script for removing <CR> on windows.
This caused bad stuff to be generated on windows, specifically
the amalg file. We cause totally strip <CR> from files on windows
using this script.
2019-09-12 23:18:52 -05:00
Calvin Rose 0fce440455 See if we can use a different build of NSIS. 2019-08-07 22:19:49 -04:00
Calvin Rose 44e752d737 Add shorthand function literals to janet.
These are similar to the function literals from Clojure
(also Fennel), and should make short functions for maps, filters, etc.
easier to write.
2019-08-04 12:25:52 -05:00
Calvin Rose 8bbe518696 Executables linking to natives working on linux.
This involves a bunch of machinery in cook.janet
and even a little bit in the janet C API.
2019-07-28 13:27:20 -05:00
Calvin Rose ec32d11b76 Update installer and make things build on windows.
We can now build windows executables with jpm.
2019-07-28 01:05:15 -04:00
Calvin Rose 7e97687c9e Update windows installation and automation. 2019-07-27 21:44:44 -04:00
Calvin Rose da5a64131f Progress towards making windows work again. 2019-07-27 16:16:28 -04:00
Calvin Rose b0b1024f8a Try to fix some tests for CI. 2019-07-27 11:05:53 -05:00
Calvin Rose dfe00fee94 Building standalone binaries on linux working.
Mostly changes to cook and jpm. Also some
code for file associations in the windows installer, and
adding the :linux value from os/which (instead of just :posix).
2019-07-26 22:43:54 -05:00
Barakat 95dbad6ec1
Remove amalg.janet dependency on os/date
When compiling Janet with `JANET_REDUCED_OS`, `os/date` will not be available which breaks the tool amalg.janet. One can check file modification time on the filesystem instead.
2019-07-09 13:49:37 +03:00
Calvin Rose e8e4d637ef Fix jpm.bat on a normal install
The path to jpm.janet will likely have spaces.
2019-07-08 19:54:14 -04:00
Krystian Rosiński 6099d2a45d Fix typo in jpm.bat 2019-07-05 19:49:55 +02:00