head 1.5; access; symbols pkgsrc-2026Q1:1.5.0.2 pkgsrc-2026Q1-base:1.5 pkgsrc-2025Q4:1.4.0.10 pkgsrc-2025Q4-base:1.4 pkgsrc-2025Q3:1.4.0.8 pkgsrc-2025Q3-base:1.4 pkgsrc-2025Q2:1.4.0.6 pkgsrc-2025Q2-base:1.4 pkgsrc-2025Q1:1.4.0.4 pkgsrc-2025Q1-base:1.4 pkgsrc-2024Q4:1.4.0.2 pkgsrc-2024Q4-base:1.4 pkgsrc-2024Q3:1.3.0.4 pkgsrc-2024Q3-base:1.3 pkgsrc-2024Q2:1.3.0.2 pkgsrc-2024Q2-base:1.3 pkgsrc-2024Q1:1.2.0.6 pkgsrc-2024Q1-base:1.2 pkgsrc-2023Q4:1.2.0.4 pkgsrc-2023Q4-base:1.2 pkgsrc-2023Q3:1.2.0.2 pkgsrc-2023Q3-base:1.2 pkgsrc-2023Q2:1.1.0.4 pkgsrc-2023Q2-base:1.1 pkgsrc-2023Q1:1.1.0.2 pkgsrc-2023Q1-base:1.1; locks; strict; comment @# @; 1.5 date 2025.12.26.20.19.25; author ktnb; state Exp; branches; next 1.4; commitid 8NUzDdXTEZgwtXnG; 1.4 date 2024.10.13.21.04.52; author yhardy; state Exp; branches; next 1.3; commitid J0tCeTHE3JjFOxtF; 1.3 date 2024.05.30.20.17.34; author yhardy; state Exp; branches; next 1.2; commitid 1LgDnVNmT9kIV3cF; 1.2 date 2023.07.22.21.38.18; author yhardy; state Exp; branches; next 1.1; commitid uBbfftQGpxkirQxE; 1.1 date 2023.01.10.21.51.30; author nikita; state Exp; branches; next ; commitid CCucOwlotkKOI29E; desc @@ 1.5 log @fennel: update to 1.6.0 * Support `extra-compiler-env` in options table when compiling. * Accept `path` in options table of `fennel.install`. * Improve printing of large integers in Lua 5.3+. * Allow disk reads from compiler sandbox. * Add `--to-be-closed` option for better stack traces in `with-open` on Lua 5.4. * Stack traces from macro errors shouldn't contain compiler internals. * Look for macros in `.fnlm` files in addition to `.fnl` files. * Support `extra-env` in compiler API when evaluating in compiler scope. * Allow `--compile-binary` to work on `.lua` and `.luac` files. * Add `--lambda-as-fn` option to remove overhead from arg checking. * Fix a bug where `,find` repl command didn't work on files with long names. * Some 3-decimal string escapes ignored the 3rd digit; e.g. `\x7f` -> `\127` -> `\f7`. * In PUC Lua 5.1, the escape `"\127"` compiled to a literal byte in the string. @ text @$NetBSD: patch-Makefile,v 1.4 2024/10/13 21:04:52 yhardy Exp $ Let pkgsrc add the shebang to the fennel launcher script Install manual pages relative to PKGMANDIR --- Makefile.orig 2025-12-26 20:14:29.918851004 +0000 +++ Makefile @@@@ -48,7 +48,7 @@@@ format: ; for f in $(SRC); do fnlfmt --f # All-in-one pure-lua script: fennel: src/launcher.fnl $(SRC) bootstrap/aot.lua $(PRECOMPILED) - @@echo "#!/usr/bin/env $(LUA)" > $@@ + @@echo "#!$(LUA_INTERPRETER)" > $@@ @@echo "-- SPDX-License-Identifier: MIT" >> $@@ @@echo "-- SPDX-FileCopyrightText: Calvin Rose and contributors" >> $@@ FENNEL_PATH=src/?.fnl $(LUA) bootstrap/aot.lua $< --require-as-include >> $@@ @@@@ -130,8 +130,8 @@@@ $(BIN_LUA_DIR)/src/liblua-mingw.a: $(LUA ## Install-related tasks: -MAN_DOCS := man/man1/fennel.1 man/man3/fennel-api.3 man/man5/fennel-reference.5\ - man/man7/fennel-tutorial.7 +MAN_DOCS := man1/fennel.1 man3/fennel-api.3 man5/fennel-reference.5\ + man7/fennel-tutorial.7 # The empty line in maninst is necessary for it to emit distinct commands define maninst = @@@@ -143,7 +143,7 @@@@ install: fennel fennel.lua mkdir -p $(DESTDIR)$(BIN_DIR) && cp fennel $(DESTDIR)$(BIN_DIR)/ mkdir -p $(DESTDIR)$(LUA_LIB_DIR) && cp fennel.lua $(DESTDIR)$(LUA_LIB_DIR)/ $(foreach doc,$(MAN_DOCS),\ - $(call maninst,$(doc),$(DESTDIR)$(MAN_DIR)/$(doc))) + $(call maninst,man/$(doc),$(DESTDIR)$(MAN_DIR)/$(doc))) uninstall: rm -f $(DESTDIR)$(BIN_DIR)/fennel @ 1.4 log @lang/fennel: update to fennel-1.5.1 == 1.5.1 / 2024-08-24 --- Bug Fixes * `,doc`/`fennel.doc`: Don't mutate `:fnl/arglist` directly when showing callable form * `(set (. tgt k1 ...) v)` now works on known globals and `$, $1 ... $9` in hashfns * Macro quote expansion no longer breaks when `sym`, `list` or `sequence` is shadowed * Bring `fennel.traceback` behavior closer to Lua's `traceback` by not modifying non-string and non-`nil` values. * Avoid losing precision when compiling large numbers on LuaJIT. * Add syntax for representing infinity and NaN values. == 1.5.0 / 2024-06-23 --- New Features * Macro `pick-values` is now a special, allowing it to emit better Lua output. * Add `fennel.getinfo` as source-map-aware equivalent of `debug.getinfo`. * Optimize allocation away when destructuring tables to tables. * Allow `&` and `&as` in the same destructure clause. * More consistent module-not-found warnings for `--require-as-include`. * Improve compiler output for `and`/`or` forms with potential side-effects. * Allow locals in places where they make sense rather than mid-expression. * Accept `--keywords` option to add to the list of built-in Lua keywords. * REPL completion now works on partial REPL commands: e.g. `,complete ,d` -> `,doc`. * Tables in the REPL default to printing with limited depth. * View settings in REPL can be changed: `(set ___repl___.view-opts.depth 100)`. * Support dynamic field names in `(set (. tbl field) val)`. * The `fennel.compile` function now accepts an AST, iterator, or file. * Catch typos when a space is missing after a string. --- Bug Fixes * `(pick-values 0 (side-effects))` now correctly preserves side effects * Don't non-nil assert on `_foo` arguments in `lambda`. * Propagate compile options into `,compile` repl command. * IIFEs emitted by `and`/`or` inside `(fn [...])` now propagate varargs. * `macrodebug` on cyclic macro expansions now serialize to valid code (no `@@1, ..`) @ text @d1 1 a1 1 $NetBSD: patch-Makefile,v 1.3 2024/05/30 20:17:34 yhardy Exp $ d6 1 a6 1 --- Makefile.orig 2024-08-25 01:34:54.000000000 +0000 d8 1 a8 1 @@@@ -46,7 +46,7 @@@@ format: ; for f in $(SRC); do fnlfmt --f d11 1 a11 1 fennel: src/launcher.fnl $(SRC) bootstrap/view.lua d17 1 a17 1 @@@@ -125,8 +125,8 @@@@ $(BIN_LUA_DIR)/src/liblua-mingw.a: $(BIN d28 1 a28 1 @@@@ -138,7 +138,7 @@@@ install: fennel fennel.lua d36 1 a36 1 rm $(DESTDIR)$(BIN_DIR)/fennel @ 1.3 log @lang/fennel: update to fennel-1.4.2 Changelog: == 1.4.2 / 2024-02-23 === Bug Fixes * Fix a bug where `(tail! (f x))` could sometimes compile to `return return f(x)` * Make `tail!` ensure its target is not a special form call like `(tail! (or x (f)))` * Fix broken man page installation on `make install` in Fennel 1.4.1 == 1.4.1 / 2024-02-19 This was the last release that provided Linux arm32 binaries. === New Features * Iterators accept locals wrapped in parens like all other multi-value bindings. * `fennel.repl` is now a callable table, allowing the default `(fennel.repl)` options to be customized by setting option fields on the table itself. === Bug Fixes * Fix a bug with metadata tables in `lambda` being ignored. * Fix identity value for `band` operator. * Fix a bug in `icollect` with `&into` and multiple values. * `assert-repl`, as a drop-in replacement for `assert`, no longer takes an `opts` param * Fix a bug where `(. (a-macro) k)` bypassed protections against invalid Lua output === Changes and Removals * Deprecate the `__fennelrest` destructuring metamethod. == 1.4.0 / 2023-12-01 === Bug Fixes * Prevent metadata from being accessible in compiler sandbox. === New Forms * Add `tail!` which asserts that the argument is called in tail position. * Add `assert-repl` to make an assertion which opens a repl when it fails. === New Features * Add `--assert-as-repl` flag to replace `assert` calls with `assert-repl`. * Allow you to return a value from the repl with `,return FORM` command. * Save previous REPL values in `*1`, `*2`, and `*3` locals. * Make repl prompt change when repl sessions get nested. @ text @d1 1 a1 1 $NetBSD: patch-Makefile,v 1.2 2023/07/22 21:38:18 yhardy Exp $ d6 1 a6 1 --- Makefile.orig 2024-02-24 05:07:03.000000000 +0000 d17 3 a19 3 @@@@ -143,8 +143,8 @@@@ coverage: fennel $(LUA) -lluacov test/init.lua @@echo "generated luacov.report.out" d26 1 a26 1 ## The empty line in maninst is necessary for it to emit distinct commands d28 1 a28 1 @@@@ -156,7 +156,7 @@@@ install: fennel fennel.lua @ 1.2 log @lang/fennel: update to fennel-1.3.1 1.3.1 / 2023-07-07 New Features * fennel.runtime-version will return version information as a table if given optional argument * Expose REPL's methods in the ___repl___ table, allowing method redefinition at runtime. * Allow following docstring with a metadata table syntax. * Return whole metadata table when metadata.get is called without a key. * Add :byte-escape option to fennel.view for overriding default char escapes * Generate man pages for fennel-api(3), fennel-reference(5), and fennel-tutorial(7) from their respective documentation. Note for packagers: The man page fennel.1 has been moved to man/man1/fennel.1 along with the new generated man pages. For build scripts that copy files manually in lieu of make install, this may require an update. Bug Fixes * Fix a bug where operator compiler output had incorrect precedence with 3+ args * Fix a bug where the comment special would fail on forms containing "]]" * Fix a bug where tables like {:true 1 true 2} emit with unstable key order * Fix a bug where table literals mutated by a macro emit with unstable key order when AOT-compiled in Lua > 5.2 * Fix a bug where very long individual lines in the repl would be truncated * Fix an edge case where {:__metatable true} (as in pandoc-lua) breaks fennel.view * Fix a 1.3.0 bug where macros only accepts table literals, not table-returning exprs * Fix a bug where metadata tables with different arglists break lambdas * Fix a bug with detecting cycles for tables that have custom __pairs metamethod in fennel.view * Fix a bug where vararg couldn't be the only thing in a hashfn @ text @d1 1 a1 1 $NetBSD: patch-Makefile,v 1.1 2023/01/10 21:51:30 nikita Exp $ d6 1 a6 1 --- Makefile.orig 2023-07-07 20:09:35.000000000 +0000 d8 1 a8 1 @@@@ -42,7 +42,7 @@@@ format: ; for f in $(SRC); do fnlfmt --f d12 4 a15 2 - echo "#!/usr/bin/env $(LUA)" > $@@ + echo "#!$(LUA_INTERPRETER)" > $@@ d17 1 a17 3 chmod 755 $@@ @@@@ -134,8 +134,8 @@@@ coverage: fennel d26 1 d28 1 a28 2 mkdir -p $(dir $(2)) && cp $(1) $(2) @@@@ -146,7 +146,7 @@@@ install: fennel fennel.lua @ 1.1 log @Import lang/fennel as fennel version 1.2.1 Packaged by charlotte@@ in wip. Fennel is a lisp that compiles to Lua. It aims to be easy to use, expressive, and has almost zero overhead compared to writing Lua directly. Features: - Full Lua compatibility: Easily call any Lua function or library from Fennel and vice-versa. - Zero overhead: Compiled code should be just as efficient as hand-written Lua. - Compile-time macros: Ship compiled code with no runtime dependency on Fennel. - Embeddable: Fennel is a one-file library as well as an executable. Embed it in other programs to support runtime extensibility and interactive development. @ text @d1 1 a1 1 $NetBSD$ d4 1 d6 3 a8 3 --- Makefile.orig 2022-05-05 21:57:31.282820992 -0700 +++ Makefile 2022-05-05 21:57:36.826751085 -0700 @@@@ -41,7 +41,7 @@@@ d11 1 a11 1 fennel: src/launcher.fnl $(SRC) d14 1 a14 1 $(LAUNCHER) --no-metadata --require-as-include --compile $< >> $@@ d17 20 @