mirror of
https://github.com/janet-lang/janet
synced 2025-01-13 00:50:26 +00:00
Merge branch 'master' into ev
This commit is contained in:
commit
df145f4bc9
@ -10,3 +10,5 @@ tasks:
|
|||||||
cd build
|
cd build
|
||||||
ninja
|
ninja
|
||||||
ninja test
|
ninja test
|
||||||
|
mkdir modpath
|
||||||
|
jpm --verbose --modpath=./modpath install https://github.com/bakpakin/x43bot.git
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
## Unreleased - ???
|
## 1.11.0 - 2020-07-18
|
||||||
|
- Add `forever` macro.
|
||||||
- Add `any?` predicate to core.
|
- Add `any?` predicate to core.
|
||||||
- Add `jpm list-pkgs` subcommand to see which package aliases are in the listing.
|
- Add `jpm list-pkgs` subcommand to see which package aliases are in the listing.
|
||||||
- Add `jpm list-installed` subcommand to see which packages are installed.
|
- Add `jpm list-installed` subcommand to see which packages are installed.
|
||||||
@ -20,6 +21,7 @@ All notable changes to this project will be documented in this file.
|
|||||||
- Add `repeat` macro for iterating something n times.
|
- Add `repeat` macro for iterating something n times.
|
||||||
- Add `eachy` (each yield) macro for iterating a fiber.
|
- Add `eachy` (each yield) macro for iterating a fiber.
|
||||||
- Fix `:generate` verb in loop macro to accept non symbols as bindings.
|
- Fix `:generate` verb in loop macro to accept non symbols as bindings.
|
||||||
|
- Add `:h`, `:h+`, and `:h*` in `default-peg-grammar` for hexidecimal digits.
|
||||||
- Fix `%j` formatter to print numbers precisely (using the `%.17g` format string to printf).
|
- Fix `%j` formatter to print numbers precisely (using the `%.17g` format string to printf).
|
||||||
|
|
||||||
## 1.10.1 - 2020-06-18
|
## 1.10.1 - 2020-06-18
|
||||||
|
21
Makefile
21
Makefile
@ -33,8 +33,8 @@ JANET_TARGET=build/janet
|
|||||||
JANET_LIBRARY=build/libjanet.so
|
JANET_LIBRARY=build/libjanet.so
|
||||||
JANET_STATIC_LIBRARY=build/libjanet.a
|
JANET_STATIC_LIBRARY=build/libjanet.a
|
||||||
JANET_PATH?=$(LIBDIR)/janet
|
JANET_PATH?=$(LIBDIR)/janet
|
||||||
MANPATH?=$(PREFIX)/share/man/man1/
|
JANET_MANPATH?=$(PREFIX)/share/man/man1/
|
||||||
PKG_CONFIG_PATH?=$(LIBDIR)/pkgconfig
|
JANET_PKG_CONFIG_PATH?=$(LIBDIR)/pkgconfig
|
||||||
DEBUGGER=gdb
|
DEBUGGER=gdb
|
||||||
SONAME_SETTER=-Wl,-soname,
|
SONAME_SETTER=-Wl,-soname,
|
||||||
|
|
||||||
@ -273,11 +273,11 @@ install: $(JANET_TARGET) build/janet.pc build/jpm
|
|||||||
ln -sf $(SONAME) '$(DESTDIR)$(LIBDIR)/libjanet.so'
|
ln -sf $(SONAME) '$(DESTDIR)$(LIBDIR)/libjanet.so'
|
||||||
ln -sf libjanet.so.$(shell $(JANET_TARGET) -e '(print janet/version)') $(DESTDIR)$(LIBDIR)/$(SONAME)
|
ln -sf libjanet.so.$(shell $(JANET_TARGET) -e '(print janet/version)') $(DESTDIR)$(LIBDIR)/$(SONAME)
|
||||||
cp -rf build/jpm '$(DESTDIR)$(BINDIR)'
|
cp -rf build/jpm '$(DESTDIR)$(BINDIR)'
|
||||||
mkdir -p '$(DESTDIR)$(MANPATH)'
|
mkdir -p '$(DESTDIR)$(JANET_MANPATH)'
|
||||||
cp janet.1 '$(DESTDIR)$(MANPATH)'
|
cp janet.1 '$(DESTDIR)$(JANET_MANPATH)'
|
||||||
cp jpm.1 '$(DESTDIR)$(MANPATH)'
|
cp jpm.1 '$(DESTDIR)$(JANET_MANPATH)'
|
||||||
mkdir -p '$(DESTDIR)$(PKG_CONFIG_PATH)'
|
mkdir -p '$(DESTDIR)$(JANET_PKG_CONFIG_PATH)'
|
||||||
cp build/janet.pc '$(DESTDIR)$(PKG_CONFIG_PATH)/janet.pc'
|
cp build/janet.pc '$(DESTDIR)$(JANET_PKG_CONFIG_PATH)/janet.pc'
|
||||||
[ -z '$(DESTDIR)' ] && $(LDCONFIG) || true
|
[ -z '$(DESTDIR)' ] && $(LDCONFIG) || true
|
||||||
|
|
||||||
uninstall:
|
uninstall:
|
||||||
@ -285,9 +285,9 @@ uninstall:
|
|||||||
-rm '$(DESTDIR)$(BINDIR)/jpm'
|
-rm '$(DESTDIR)$(BINDIR)/jpm'
|
||||||
-rm -rf '$(DESTDIR)$(INCLUDEDIR)/janet'
|
-rm -rf '$(DESTDIR)$(INCLUDEDIR)/janet'
|
||||||
-rm -rf '$(DESTDIR)$(LIBDIR)'/libjanet.*
|
-rm -rf '$(DESTDIR)$(LIBDIR)'/libjanet.*
|
||||||
-rm '$(DESTDIR)$(PKG_CONFIG_PATH)/janet.pc'
|
-rm '$(DESTDIR)$(JANET_PKG_CONFIG_PATH)/janet.pc'
|
||||||
-rm '$(DESTDIR)$(MANPATH)/janet.1'
|
-rm '$(DESTDIR)$(JANET_MANPATH)/janet.1'
|
||||||
-rm '$(DESTDIR)$(MANPATH)/jpm.1'
|
-rm '$(DESTDIR)$(JANET_MANPATH)/jpm.1'
|
||||||
# -rm -rf '$(DESTDIR)$(JANET_PATH)'/* - err on the side of correctness here
|
# -rm -rf '$(DESTDIR)$(JANET_PATH)'/* - err on the side of correctness here
|
||||||
|
|
||||||
#################
|
#################
|
||||||
@ -318,6 +318,7 @@ test-install:
|
|||||||
cd test/install && jpm --verbose --test --modpath=./modpath install https://github.com/janet-lang/jhydro.git
|
cd test/install && jpm --verbose --test --modpath=./modpath install https://github.com/janet-lang/jhydro.git
|
||||||
cd test/install && jpm --verbose --test --modpath=./modpath install https://github.com/janet-lang/path.git
|
cd test/install && jpm --verbose --test --modpath=./modpath install https://github.com/janet-lang/path.git
|
||||||
cd test/install && jpm --verbose --test --modpath=./modpath install https://github.com/janet-lang/argparse.git
|
cd test/install && jpm --verbose --test --modpath=./modpath install https://github.com/janet-lang/argparse.git
|
||||||
|
cd test/install && jpm --verbose --modpath=./modpath install https://github.com/bakpakin/x43bot.git
|
||||||
|
|
||||||
help:
|
help:
|
||||||
@echo
|
@echo
|
||||||
|
@ -168,6 +168,8 @@ call jpm --verbose --test --modpath=. install https://github.com/janet-lang/path
|
|||||||
@if errorlevel 1 goto :TESTINSTALLFAIL
|
@if errorlevel 1 goto :TESTINSTALLFAIL
|
||||||
call jpm --verbose --test --modpath=. install https://github.com/janet-lang/argparse.git
|
call jpm --verbose --test --modpath=. install https://github.com/janet-lang/argparse.git
|
||||||
@if errorlevel 1 goto :TESTINSTALLFAIL
|
@if errorlevel 1 goto :TESTINSTALLFAIL
|
||||||
|
call jpm --verbose --modpath=. install https://github.com/bakpakin/x43bot.git
|
||||||
|
@if errorlevel 1 goto :TESTINSTALLFAIL
|
||||||
popd
|
popd
|
||||||
exit /b 0
|
exit /b 0
|
||||||
|
|
||||||
|
4
janet.1
4
janet.1
@ -194,8 +194,8 @@ Source should be a path to the Janet module to compile, and output should be the
|
|||||||
resulting image. Output should usually end with the .jimage extension.
|
resulting image. Output should usually end with the .jimage extension.
|
||||||
|
|
||||||
.TP
|
.TP
|
||||||
.BR \-l\ path
|
.BR \-l\ lib
|
||||||
Load a Janet file before running a script or repl. Multiple files can be loaded
|
Import a Janet module before running a script or repl. Multiple files can be loaded
|
||||||
in this manner, and exports from each file will be made available to the script
|
in this manner, and exports from each file will be made available to the script
|
||||||
or repl.
|
or repl.
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
|
|
||||||
project('janet', 'c',
|
project('janet', 'c',
|
||||||
default_options : ['c_std=c99', 'b_lundef=false', 'default_library=both'],
|
default_options : ['c_std=c99', 'b_lundef=false', 'default_library=both'],
|
||||||
version : '1.10.2')
|
version : '1.11.0')
|
||||||
|
|
||||||
# Global settings
|
# Global settings
|
||||||
janet_path = join_paths(get_option('prefix'), get_option('libdir'), 'janet')
|
janet_path = join_paths(get_option('prefix'), get_option('libdir'), 'janet')
|
||||||
@ -259,6 +259,6 @@ if get_option('peg') and not get_option('reduced_os') and get_option('processes'
|
|||||||
output : ['jpm'],
|
output : ['jpm'],
|
||||||
command : [janet_nativeclient, '@INPUT@', '@OUTPUT@',
|
command : [janet_nativeclient, '@INPUT@', '@OUTPUT@',
|
||||||
'--binpath=' + join_paths(get_option('prefix'), get_option('bindir')),
|
'--binpath=' + join_paths(get_option('prefix'), get_option('bindir')),
|
||||||
'--libpath=' + join_paths(get_option('prefix'), get_option('libdir'), 'janet'),
|
'--libpath=' + join_paths(get_option('prefix'), get_option('libdir')),
|
||||||
'--headerpath=' + join_paths(get_option('prefix'), get_option('includedir'))])
|
'--headerpath=' + join_paths(get_option('prefix'), get_option('includedir'))])
|
||||||
endif
|
endif
|
||||||
|
@ -383,13 +383,17 @@
|
|||||||
[i start stop step comparison delta body]
|
[i start stop step comparison delta body]
|
||||||
(with-syms [s]
|
(with-syms [s]
|
||||||
(def st (if (idempotent? step) step (gensym)))
|
(def st (if (idempotent? step) step (gensym)))
|
||||||
|
(def loop-body
|
||||||
|
~(while (,comparison ,i ,s)
|
||||||
|
,;body
|
||||||
|
(set ,i (,delta ,i ,st))))
|
||||||
~(do
|
~(do
|
||||||
(var ,i ,start)
|
(var ,i ,start)
|
||||||
(def ,s ,stop)
|
(def ,s ,stop)
|
||||||
,;(if (= st step) [] [~(def ,st ,step)])
|
,;(if (= st step) [] [~(def ,st ,step)])
|
||||||
(while (,comparison ,i ,s)
|
,(if (and (number? st) (> st 0))
|
||||||
,;body
|
loop-body
|
||||||
(set ,i (,delta ,i ,st))))))
|
~(if (,> ,st 0) ,loop-body)))))
|
||||||
|
|
||||||
(defn- for-template
|
(defn- for-template
|
||||||
[binding start stop step comparison delta body]
|
[binding start stop step comparison delta body]
|
||||||
@ -517,7 +521,7 @@
|
|||||||
~(do (var ,iter ,n) (while (> ,iter 0) ,;body (-- ,iter)))))
|
~(do (var ,iter ,n) (while (> ,iter 0) ,;body (-- ,iter)))))
|
||||||
|
|
||||||
(defmacro forever
|
(defmacro forever
|
||||||
"Evaluate body repeatedly forever, or until a break statement at the top level."
|
"Evaluate body forever in a loop, or until a break statement."
|
||||||
[& body]
|
[& body]
|
||||||
~(while true ,;body))
|
~(while true ,;body))
|
||||||
|
|
||||||
@ -2178,12 +2182,12 @@
|
|||||||
(buffer/push-string buf "\n")))
|
(buffer/push-string buf "\n")))
|
||||||
(var returnval nil)
|
(var returnval nil)
|
||||||
(run-context {:chunks chunks
|
(run-context {:chunks chunks
|
||||||
:on-compile-error (fn [msg errf &]
|
:on-compile-error (fn compile-error [msg errf &]
|
||||||
(error (string "compile error: " msg)))
|
(error (string "compile error: " msg)))
|
||||||
:on-parse-error (fn [p x]
|
:on-parse-error (fn parse-error [p x]
|
||||||
(error (string "parse error: " (parser/error p))))
|
(error (string "parse error: " (parser/error p))))
|
||||||
:fiber-flags :i
|
:fiber-flags :i
|
||||||
:on-status (fn [f val]
|
:on-status (fn on-status [f val]
|
||||||
(if-not (= (fiber/status f) :dead)
|
(if-not (= (fiber/status f) :dead)
|
||||||
(error val))
|
(error val))
|
||||||
(set returnval val))
|
(set returnval val))
|
||||||
@ -2763,7 +2767,7 @@
|
|||||||
-m syspath : Set system path for loading global modules
|
-m syspath : Set system path for loading global modules
|
||||||
-c source output : Compile janet source code into an image
|
-c source output : Compile janet source code into an image
|
||||||
-n : Disable ANSI color output in the repl
|
-n : Disable ANSI color output in the repl
|
||||||
-l path : Execute code in a file before running the main script
|
-l lib : Import a module before processing more arguments
|
||||||
-- : Stop handling options`)
|
-- : Stop handling options`)
|
||||||
(os/exit 0)
|
(os/exit 0)
|
||||||
1)
|
1)
|
||||||
@ -2775,17 +2779,17 @@
|
|||||||
"k" (fn [&] (set *compile-only* true) (set *exit-on-error* false) 1)
|
"k" (fn [&] (set *compile-only* true) (set *exit-on-error* false) 1)
|
||||||
"n" (fn [&] (set *colorize* false) 1)
|
"n" (fn [&] (set *colorize* false) 1)
|
||||||
"m" (fn [i &] (setdyn :syspath (in args (+ i 1))) 2)
|
"m" (fn [i &] (setdyn :syspath (in args (+ i 1))) 2)
|
||||||
"c" (fn [i &]
|
"c" (fn c-switch [i &]
|
||||||
(def e (dofile (in args (+ i 1))))
|
(def e (dofile (in args (+ i 1))))
|
||||||
(spit (in args (+ i 2)) (make-image e))
|
(spit (in args (+ i 2)) (make-image e))
|
||||||
(set *no-file* false)
|
(set *no-file* false)
|
||||||
3)
|
3)
|
||||||
"-" (fn [&] (set *handleopts* false) 1)
|
"-" (fn [&] (set *handleopts* false) 1)
|
||||||
"l" (fn [i &]
|
"l" (fn l-switch [i &]
|
||||||
(import* (in args (+ i 1))
|
(import* (in args (+ i 1))
|
||||||
:prefix "" :exit *exit-on-error*)
|
:prefix "" :exit *exit-on-error*)
|
||||||
2)
|
2)
|
||||||
"e" (fn [i &]
|
"e" (fn e-switch [i &]
|
||||||
(set *no-file* false)
|
(set *no-file* false)
|
||||||
(eval-string (in args (+ i 1)))
|
(eval-string (in args (+ i 1)))
|
||||||
2)
|
2)
|
||||||
|
@ -27,10 +27,10 @@
|
|||||||
#define JANETCONF_H
|
#define JANETCONF_H
|
||||||
|
|
||||||
#define JANET_VERSION_MAJOR 1
|
#define JANET_VERSION_MAJOR 1
|
||||||
#define JANET_VERSION_MINOR 10
|
#define JANET_VERSION_MINOR 11
|
||||||
#define JANET_VERSION_PATCH 2
|
#define JANET_VERSION_PATCH 0
|
||||||
#define JANET_VERSION_EXTRA "-dev"
|
#define JANET_VERSION_EXTRA ""
|
||||||
#define JANET_VERSION "1.10.2-dev"
|
#define JANET_VERSION "1.11.0"
|
||||||
|
|
||||||
/* #define JANET_BUILD "local" */
|
/* #define JANET_BUILD "local" */
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user