slang: Update to version 2.3.3

Message ID
State Accepted
Commit 90a3a2b88fc034207da70b2ca44f85c343af28ff
Series slang: Update to version 2.3.3 |

Commit Message

Adolf Belka 27 Mar 2023, 9:27 p.m. UTC
  - Update from version 2.3.2 to 2.3.3
- Update of rootfile
- Changelog
	1. src/slposdir.c: stat_file now support open file descriptors, in
	   addition to filenames.
	2. src/sltoken.c: Ignore the \r character in multiline strings that
	   appear to have CRLF line terminators.  (Manfred Hanke)
	3. *.tm: minor documentation updates
	4. src/slang.h: SLANG_VERSION_STRING was missing the "pre" prefix.
	5. src/sltermin.c: Added support for TERMINFO_DIRS (based upon a patch
	   forwarded by Jörg Thalheim)
	6. src/slarray.c: src/slarray.c: some integer overflow checks were
	   resulting undefined behavior (reported by Sergey)
	7. modules/ Strip leading/trailing whitespace from column names
	8. src/slsmg.c,sldisply.c: Removed static buffers with sizes dependent
	   upon SLTT_MAX_SCREEN_ROWS/COLS in favor of dynamically allocated
	9. modules/chksum-module: added CRC-8,16,32 checksums to the chksum module
	10. modules/ An error message in the form of a dollar-string
	    was not marked as such.
	11. modules/ Added support for empty CSV files
	12. src/sltime.c: The timegm function will ignore the tm_wday and
	    tm_yday fields, and instead use the tm_mon and tm_mday fields.
	13. modules/mkfiles/makefile.all:  Added a target for chksum_crc.o for
	    win32/64 platforms (see change #9)
	14. modules/chksum-module.c: The memset function was used with the
	    wrong structure size causing a buffer overflow on 32 bit systems.
	15. src/terminfo/ Tweaked an auto-generated comment
	    produced by to produce a more deterministic build
	    (Ian Rogers).
	16. src/slarray.c: Changed two instances of index errors to throw an
	    IndexError exception instead of InvalidParmError exception.
	17. src/slposdir.c; The statvfs function was returning a struct with
	    duplicated f_bsize fields.
	18. *.c: In switch statements, changed the /* drop */ comment to /*
	    fall through */ to avoid gcc-8 warnings.
	19. modules/ If a comment string appears at the start of a line
	    forming a multiline string, then treat it as part of the string.
	20. slsh/lib/  Added a function timestamp_parse that parses
	    strings such as `Thu May 14 18:05:05 2020` and returns the number
	    of seconds since the Unix epoch.
	21. src/slregexp.c: Added \D (non-digit), \s (whitespace), and \S
	22. src/slstrops.c: Added a compiled regexp cache
	23. src/slstdio.c: Added trim qualifier to the fgetlines intrinsic:
	      ;trim=1 ==> trim trailing whitespace
	      ;trim=2 ==> trim leading whitespace
	      ;trim=3 ==> trim leading and trailing whitespace
	24. slsh/lib/ When matching a regexp to a timestamp,
	    start with the RE that was used in the previous match.
	25. Another timestamp RE tweak to pickup additional irregular forms
	26. modules/ If a CSV file has a byte-order mark (BOM), ignore it.
	27. src/sldisply.c: Increased the buffer size for the SLtt_tgoto
	    function to allow for larger terminfo strings
	28. modules/ Added STATS_OBJS to the clean target
	29. src/slstrops.c: The is_substr function was not handling a NULL
	30. slsh/lib/ Corrected a regular expression for a
	    timestamp with "Z" as the timezone.
	31. modules/csv-module.c: Fields with an embedded \r were not being
	    properly handled.
	32. src/slarray.c: Improved the speed of multi-dimensional array
	    indexing by about a factor of 2
	33. slsh/lib/ The computation of leap days was incorrect
	    for some years
	34. src/slang.h:  Added `typedef void (*SLFVOID_STAR)(void)', which
	    will replace FVOID_STAR in version 3.  The library code was
	    updated to use this.
	35. slsh/lib/ Added an optional callback argument to the
	    fswalk that is called when leaving a directory.
	36. modules/termios-module.c: Avoid a potential problem with the
	    tcgetpgrp intrinsic in the unlikely case that sizeof(pid_t) is
	    larger than sizeof(int).
	37. src/slarray.c: Simplified the range checking in the
	    linear_get_data_addr function and removed unused code.
	38. Updated the copyright year
	39. slsh/lib/ Change #35 regression: The get_stat function
	    was being called with the wrong number of arguments.
	40. src/slarith.c: Additional binary arithmetic optimizations involving
	    arrays of char and short.
	41. src/slang.c,slarray.c: Added qualifier support to the array_map
	42. src/slang.c: Flagged the use of an uninitialized variable as soon
	    as it is accessed ("pushed") rather than waiting until it is used
	    ("popped").  Fixed a bug in slsh/lib/ that was
	    detected by this change.
	43. src/sl-feat.h: Floating point support by the interpreter is now
	    required.  The library has not compiled without it for a long
	    time.  As such, this option is no longer available.
	44. */test/*.sl: Surrounded regression test code that makes use of
	    complex numbers with `#ifexists Complex_Type' so that they run
	    when the interpreter is compiled without complex variable support.
	45. src/slarray.c: The _pSLarray1d_push_elem needed to be exposed when
	    compiling the interpreter without optimization.
	46. src/slarith.c,...: Rewrote the various macros used by this file to
	    simplify the code, permit better optimization, and easier
	    maintenance.  Some of the loops were also unrolled.
	47. src/slarray.c: Made the array bounds index checking code more
	    uniform for better readability.
	48. src/slarray.c: The previous change introduced a bug that caused
	    array indexing with no (empty) indices to fail.
	49. modules/chksum-module.c: When a CRC object went out of scope
	    without being closed, it would leave its value on the stack.
	50. slsh/lib/ If the file descriptor that is used to
	    communicate messages from the child process back to the parent is
	    requested by the caller, then dup an unused one.  To facilitate
	    testing, two additional hooks were added: exit_hook and exec_hook.
	51. slsh/lib/ If a command line option is associated with a
	    callback function, and the value of the command line argument is
	    optional, pass the default value to the callback if not given on
	    the command line.
	52. modules: Added cumulant function to the stats module; updated
	    regression scripts/unit tests for better code coverage; fixed a
	    bug in the _zlib_inflate_reset function where deflateReset was
	    being called instead of inflateReset.
	53. slsh/lib: Updated unit/regression tests for better coverage
	54. slsh/lib/ Use >= instead of > when comparing the number
	    of screen rows to determine if the pager should be used.
	55. modules/chksum-module: Added sha224, sha256, sha384, and sha512
	    algorithms kindly provided by Jakob Stierhof
	56. modules/chksum-module: Added HMAC message authentication code
	    algorithm (Jakob Stierhof)
	57. modules/mkfiles/makefile.all: Added chksum_sha2 to the non-Unix
	58. src/slgetkey.c: Use memmove instead of SLMEMCPY to avoid issues
	    with coping to an overlapping buffer. (William Ahern)
	59. modules/ The options qualifier was not being properly
	    handled by the pcre_matches function.
	60. src/_slang.h,etc: replaced the dependence of the internal
	    _pSLang_get_run_stack* functions, which return absolute pointers,
	    in favor of relative offsets.
	61. src/slang.c: Made the run-time stack dynamically growable up to a
	    maximum configured size.
	62. modules/: Documentation updates
	63. src/: Added _set_bos/f_compile_hook functions to specify a
	    function to get called when a statement or function gets compiled.
	64. src/sllimits.h: Reduced the initial stack size to a value similar
	    to what it was before change #61.
	65. src/slarrfun.c: array_swap was returning a copy of the input array
	    when when swapping an array element with itself (bug reported by
	    Jakob Stierhof)
	66. modules/ If _csv_decode_row fails, include in the error
	    message the line number of the file where the error was detected
	67. modules/socket-module.c: Corrected an error message for the bind
	68. Updated the copyright year
	69. Added slcov script which generates lcov-compatible code coverage
	70. autoconf/aclocal.m4: Updated to v0.3.4.1
	71. slsh/ Changed the order of the linker flags to avoid a
	    linking problem on MacPorts (Ryan Schmidt)
	72. slsh/lib/ Corrected a usage message
	73. src/slposio.c: Added the flock function for the creation of
	    advisory locks
	74. src/slcurses.h: Added 'extern "C"' to enable the file to be used
	    in C++ programs; also marked some variables as dynamically
	    exportable by using SL_EXTERN (Gisle Vanem)
	75. src/slstrops.c: "%0*" was being flagged as invalid by the sprintf
	    function (Jakob Stierhof)
	76. modules/ When writing a CSV file with a single row, convert
	    any scalar data values to single element arrays.
	77. src/, slsh/ Addressed some dependency
	    problems found by `make --shuffle` that were causing parallel
	    builds to fail (Sergei Trofimovich)
	78. src/slarray.c: Flag out-of-range indexing of indefinite ranges
	    involving negative indexes,  e.g., x = [1];  y = x[[-2:]];
	    Previousely this resulted in y = [1,1] instead of an error.
	79. modules/ Avoid indexing an empty array with a negative
	    index (detected by change #78)
	80. src/slarray:c: #78 was flagging x[[:-2]] as invalid instead of
	    producing an empty array for x=[1]
	81. src/slarray.c: Tweaked the handling of negative indices in
	    indefinite ranges such that x[[:-i]] will produce an empty array
	    wheneve i > length(x)
	82. src/sltermin.c: Added support for so-called user-defined terminfo
	    extensions.  In particular, if the terminfo file defines RGB=true,
	    then truecolor support will be enabled.
	83. src/sldisply.c: The Has_True_Color variable was not defined for 32
	    bit systems
	84. modules/ Improved read speed for large CSV files
	85. src/test/ Do not test the flock function using an NFS
	    mounted direcory, which requires lockd to be running on the server

Signed-off-by: Adolf Belka <>
 config/rootfiles/common/slang | 5 ++++-
 lfs/slang                     | 6 +++---
 2 files changed, 7 insertions(+), 4 deletions(-)


diff --git a/config/rootfiles/common/slang b/config/rootfiles/common/slang
index 072e1baf4..223458e14 100644
--- a/config/rootfiles/common/slang
+++ b/config/rootfiles/common/slang
@@ -4,7 +4,7 @@ 
@@ -118,6 +118,7 @@  usr/lib/slang/v2/modules/
@@ -144,6 +145,7 @@  usr/lib/slang/v2/modules/
@@ -166,5 +168,6 @@  usr/lib/slang/v2/modules/
diff --git a/lfs/slang b/lfs/slang
index 49d8da500..cafbb7310 100644
--- a/lfs/slang
+++ b/lfs/slang
@@ -1,7 +1,7 @@ 
 #                                                                             #
 # - A linux based firewall                                         #
-# Copyright (C) 2007-2018  IPFire Team  <>                     #
+# Copyright (C) 2007-2023  IPFire Team  <>                     #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -24,7 +24,7 @@ 
 include Config
-VER        = 2.3.2
+VER        = 2.3.3
 THISAPP    = slang-$(VER)
 DL_FILE    = $(THISAPP).tar.bz2
@@ -40,7 +40,7 @@  objects = $(DL_FILE)
-$(DL_FILE)_BLAKE2 = e923a431e6273f1783c40dc09b2e324ace22e41a163fd46dcb8ab16c9ef27f190651df8da24432edc75890b83cd95051a835d5e582385bb23e36cd8ae18e6d24
+$(DL_FILE)_BLAKE2 = 2f304b25e807fe38b544479f4a6e98723816d08cda576177a270df736d7db8992a478f980333afc10a7bc0b5dc5508e49b33a13de02f0466f065efdfa3b7b351
 install : $(TARGET)