| Age | Commit message (Collapse) | Author | Lines |
|
|
|
This looks like it could cause deadlocks with threaded channels
(normal channels are unaffected, locking/unlocking is a no-op).
|
|
illumos, like BSD, expects IP_MULTICAST_TTL to be
an unsigned char
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Co-authored-by: sogaiu <983021772@users.noreply.github.com>
|
|
for abstract types.
Abstract types whose get/put/length/etc. implementations allocated fiber
slots could break the VM by invalidating the stack pointer in the
interpreter. This is admittedly a bit unusual but is something most
users would probably expect to work. Debugging this would be a real pain.
|
|
|
|
|
|
Be explicit when we are including this functionality. Add a function
module/add-file-extension that can do this programatically.
|
|
This usually shouldn't be needed, but in the case that it is, or if
garbage collection is triggered manually, we can prevent use-after-free.
|
|
|
|
|
|
|
|
|
|
|
|
Order of evaluation becomes more clear in some cases.
|
|
|
|
For remote connections, if you did not manually wait for the connection
to settle, the programmer would see unspecified network errors. This is
is because the underlying TCP Connection had not been established yet.
The correct way to deal with this is to use ConnectEx if available
instead of WSAConnect.
|
|
|
|
Co-authored-by: sogaiu <983021772@users.noreply.github.com>
|
|
This was exposed when printing `(invert (range 200000))`, which
isn't so large that we shouldn't be able to sort it, but was taking
far too long to compute.
|
|
When importing full paths, the old preload code was preventing
(import <fullpath> :fresh true) from working as expected.
|
|
|
|
|
|
Thenc checked stderr for messages. Since the helper makes assert write
to stderr, this caused extra cruft in our test output.
|
|
|
|
|
|
|
|
|
|
E.g.
(import project/file.janet :as file)
(import ./project/file.janet :as file)
(import /home/me/project/file.janet :as file)
Will now do what you expect. When loading with a file extension, this
will first check directly if the relative (or absolute) path exists.
Also expands `module/find` to be able to show all matches for a given
module name without needing to try and catch import errors. Lastly, one
can also override the module/find functionality by passing `:loader`
directly.
E.g.
(import ./macoslib.dylib :loader :native :as my-thing)
Which will allow easily bypassing all module/find logic;
"./macoslib.dylib" will be passed directly to the :native loader
`(get module/loaders :native)`.
The module system was previously left open to customization but with
defaults to encourage a more typical style. However, these qol
improvements are more than worth it and can in some cases let people
stop fighting the module system.
|
|
|
|
|
|
Also allow disabling color in the debug output.
|
|
|
|
* Add debug (short-form ??) PEG rule
* Display capture stack to debug PEG rule
* Revise spec_debug to emit just the rule
* Update to proper indentation
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Add a marshal/unmarshal test for ??/debug
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
|
|
In my testing of `janet -l spork -e '(os/exit)'`, this speeds up
compilation by ~5%. Allocating and interning symbols from C is often
slow, so avoid it.
Add utility function for looking up keywords in tables more quickly.
More measurement on compiling spork for compilation speed, win
over original code closer to between 1-2% improvement
|
|
|
|
These can be used to limit programs in a very expansive way.
|
|
|
|
|
|
|
|
Make peg-grammar available in all threads for peg/compile
|