nickle: update to 2.84.
Bump to version 2.84 Construct a separate case for lexing '0' from other octal numbers This avoids needing code to identify this case within the octal number token generation code. Ignore '_' within numbers so it can be used as a separator Adopted from languages like Rust where this can be used to group digits in thousands for base-10 or power of two for base 2,8,16 to make them easier to read. 123_456_789 = 123456789 0xafff_1212 = 0xafff1212 The patch makes both the lexer and string conversions support this. Add array initalizer tests Ignore SIGTTOU/SIGTTIN. Adjust TSTP processing When run as other than the master of a process group, nickle may not get all of its work done before the controlling shell takes over the tty and resets that control group. This means that any processing of terminal parameters may generate SIGTTOU/SIGTTIN signals, which end up re-entering the stop function and causing general chaos. Only SIG_IGN appears to appease the kernel into dealing with this case correctly. Make assignments to stdin/stdout/stderr affect C code Use values of these variables in the C code. Allow repeat initializers in implicit sized arrays for small dimensions When initializing an implicitly sized multi-dimensional array, permit repeat initializers ("...") to be used to fill out smaller dimensions. This is done by requiring that the maximum number of elements in each dimension be taken from an initalizer without a repeat element. This also requires allowing repeat initializers to be useful for resizable arrays, which required a change to the execution machinery as well. Remove incorrect tree walking in CompileSizeDimensions CompileSizeDimensions was incorrectly interpreting the tree structure for bare value nodes -- it is either passed an ARRAY, or a single expression value, which can either be a comprehension, an empty initializer or a simple expression. The simple expression case was incorrectly looking for a '...' element to the left, which cannot happen. It further recursed if it hadn't reached the end of the dimensions, which is pointless as that case will generate an error when the initializers are compiled later. Debian-bug: #911926 Bump to version 2.83 debian: Run CI tests from installed location (/usr/share/nickle/test) Install tests so they can be run later debian: Bump standards-version to 4.2.1 Sign tarfiles. Check signature in debian/watch file. debian: Add autopkgtest CI script debian: Depend on debhelper version 11 debian: Add debian/watch file Check to make sure debian package is up-to-date with upstream version. debian: Add hardening flag to debian/rules debian: Make debian/copyright conform to standard copyright-format debian: Add Homepage entry in debian/control debian: Bump compat to 11 debian: Remove trailing whitespace from debian/changelog test: Remove spurious printf in check_exp test Spelling fixes in nickle.1.in expresion → expression formating → formatting Add AC_SYS_LARGEFILE to configure.ac This ensures that the correct macros to get large file support enabled are included in the config.h file. Include debian/source/format in tarball The tarball is used to build the debian package and without this file the resulting bits have a lintian warning. Update to version 2.82 Add .gitignore and .dir-locals.el files Add tests for exp/log which cover a range of precisions These check log and exp with mathematical identities to see if they produce reasonable results at a range of precisions. Add Math::e_value. Fix exp and log precision error. e_value computes e to any desired precision. exp was incorrectly truncating the value just before the last computation step, which caused it to lose significant precision. log was range-reducing to 0-1 instead of 2-3, which put it outside the range of rapid convergence. It also needed another newtons method iteration step. Use mktime instead of timelocal timelocal is a glibc alias for mktime and isn't provided by the musl C library.
This commit is contained in:
parent
ded60803d9
commit
a2f94a859f
4 changed files with 32 additions and 21 deletions
|
@ -1,6 +1,6 @@
|
|||
# $NetBSD: Makefile,v 1.17 2017/11/23 16:15:23 wiz Exp $
|
||||
# $NetBSD: Makefile,v 1.18 2018/12/02 06:49:24 wiz Exp $
|
||||
|
||||
DISTNAME= nickle-2.81
|
||||
DISTNAME= nickle-2.84
|
||||
CATEGORIES= math lang
|
||||
MASTER_SITES= http://nickle.org/release/
|
||||
|
||||
|
@ -16,5 +16,7 @@ CONFIGURE_ENV+= ac_cv_path_DOCBOOK2PDF=
|
|||
|
||||
TEST_TARGET= check
|
||||
|
||||
.include "../../mk/readline.buildlink3.mk"
|
||||
# rl_reset_after_signal, rl_echo_signal_char are missing in libedit as of 2018/12/02
|
||||
#.include "../../mk/readline.buildlink3.mk"
|
||||
.include "../../devel/readline/buildlink3.mk"
|
||||
.include "../../mk/bsd.pkg.mk"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
@comment $NetBSD: PLIST,v 1.5 2017/03/20 13:13:51 wiz Exp $
|
||||
@comment $NetBSD: PLIST,v 1.6 2018/12/02 06:49:24 wiz Exp $
|
||||
bin/nickle
|
||||
include/nickle/builtin-namespaces.h
|
||||
include/nickle/builtin.h
|
||||
|
@ -68,3 +68,21 @@ share/nickle/socket.5c
|
|||
share/nickle/sort.5c
|
||||
share/nickle/string.5c
|
||||
share/nickle/svg.5c
|
||||
share/nickle/test/arraytest.5c
|
||||
share/nickle/test/datetest.5c
|
||||
share/nickle/test/factorial.5c
|
||||
share/nickle/test/gcdtest.5c
|
||||
share/nickle/test/hashtest.5c
|
||||
share/nickle/test/inttest.5c
|
||||
share/nickle/test/is_type.5c
|
||||
share/nickle/test/jsontest.5c
|
||||
share/nickle/test/math-tables.5c
|
||||
share/nickle/test/math.5c
|
||||
share/nickle/test/modtest.5c
|
||||
share/nickle/test/optest.5c
|
||||
share/nickle/test/orderofoptest.5c
|
||||
share/nickle/test/rattest.5c
|
||||
share/nickle/test/reftest.5c
|
||||
share/nickle/test/round.5c
|
||||
share/nickle/test/scanf.5c
|
||||
share/nickle/test/signal.5c
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
$NetBSD: distinfo,v 1.13 2018/01/03 12:12:07 jperkin Exp $
|
||||
$NetBSD: distinfo,v 1.14 2018/12/02 06:49:24 wiz Exp $
|
||||
|
||||
SHA1 (nickle-2.81.tar.gz) = ef9c6de7ad2a544a3245657fbfd46dbfa9675476
|
||||
RMD160 (nickle-2.81.tar.gz) = 03c8ffbebfd0104b3cd54f748f702de7e6f999f5
|
||||
SHA512 (nickle-2.81.tar.gz) = b11755f824b3abf74f104db7bfaf58f52fef0b76e194ffd8c562693d5497f9de69121f9ce98777fb0366a7e02be7b32e7d800a31be03f5a5921b9d8bc3502aca
|
||||
Size (nickle-2.81.tar.gz) = 579140 bytes
|
||||
SHA1 (nickle-2.84.tar.gz) = ce346b5ba0cd0085dfd1a1351d03ffa8faeb3368
|
||||
RMD160 (nickle-2.84.tar.gz) = 4c34eaa038dbae546467c652a02953dccaa128de
|
||||
SHA512 (nickle-2.84.tar.gz) = ded33c3b2e6f8234e48148b2590db4a48653f3e85ec8ae7d94f63a6d0a7e03b2990af2ccdbd0982b92a980cecf68f016775f6d6f583918add3ca34d9fa0e7d62
|
||||
Size (nickle-2.84.tar.gz) = 810473 bytes
|
||||
SHA1 (patch-aa) = 4cbb563244883f6c9f7a3594875052f8d9a9e9b3
|
||||
SHA1 (patch-builtin-date.c) = ca55181a501cfbe3437d38728398852e96b0111a
|
||||
SHA1 (patch-builtin-date.c) = 1aa792b5a91f4b808208e73ee38bd539ab0c12fb
|
||||
SHA1 (patch-lex.c) = f9d5f3f282f97a94195730062525e9f6310bb316
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
$NetBSD: patch-builtin-date.c,v 1.1 2018/01/03 12:12:07 jperkin Exp $
|
||||
$NetBSD: patch-builtin-date.c,v 1.2 2018/12/02 06:49:24 wiz Exp $
|
||||
|
||||
Fix missing tm_zone on SunOS.
|
||||
Pull in upstream fix for missing timelocal().
|
||||
|
||||
--- builtin-date.c.orig 2017-11-14 10:30:06.000000000 +0000
|
||||
--- builtin-date.c.orig 2018-09-24 21:43:45.000000000 +0000
|
||||
+++ builtin-date.c
|
||||
@@ -76,7 +76,11 @@ to_date(struct tm *tm)
|
||||
BoxValueSet (box, 6, int_value(tm->tm_wday));
|
||||
|
@ -27,12 +27,3 @@ Pull in upstream fix for missing timelocal().
|
|||
}
|
||||
|
||||
static Value
|
||||
@@ -143,7 +149,7 @@ do_Date_timelocal(Value v)
|
||||
time_t seconds;
|
||||
|
||||
from_date(v, &tm);
|
||||
- seconds = timelocal(&tm);
|
||||
+ seconds = mktime(&tm);
|
||||
RETURN(Reduce(NewSignedDigitInteger((signed_digit) seconds)));
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue