[PATCH clr-bundles] Remove emacs-x11 from desktop-apps
by Thiago Macieira
The GNOME desktop already comes with gedit. Anyone who wants Emacs can
easily install it via swupd.
Fixes clearlinux/distro#951.
Signed-off-by: Thiago Macieira <thiago.macieira(a)intel.com>
---
bundles/desktop-apps | 1 -
1 file changed, 1 deletion(-)
diff --git a/bundles/desktop-apps b/bundles/desktop-apps
index 582f46ed..fc7689aa 100644
--- a/bundles/desktop-apps
+++ b/bundles/desktop-apps
@@ -35,7 +35,6 @@ include(gvim)
include(libva-utils)
include(seahorse)
include(totem)
-include(emacs-x11)
# apps low level deps
glib-bin
--
2.22.0
1 year, 7 months
[PATCH cri-o] Update key name in crio.conf
by Murilo Belluzzo
'plugin_dir' was renamed 'plugin_dirs' on upstream since it is a list.
This was causing our sed to miss. Therefore, that entry was left unchanged,
breaking the creation of containers that require plugins.
Signed-off-by: Murilo Belluzzo <murilo.belluzzo(a)intel.com>
---
0003-Update-default-crio.conf-file-for-Clear-Linux.patch | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/0003-Update-default-crio.conf-file-for-Clear-Linux.patch b/0003-Update-default-crio.conf-file-for-Clear-Linux.patch
index e2aafa9..80e6129 100644
--- a/0003-Update-default-crio.conf-file-for-Clear-Linux.patch
+++ b/0003-Update-default-crio.conf-file-for-Clear-Linux.patch
@@ -27,7 +27,7 @@ index df46b63..295588b 100644
+ sed -i "s|^#\(registries = \[\).*|\1\n\t'docker.io',\n\]|" crio.conf
+ sed -i 's|^\(signature_policy = \).*|\1"/usr/share/defaults/crio/policy.json"|' crio.conf
+ sed -i 's|^#\(storage_driver = \).*|\1"overlay"|' crio.conf
-+ sed -i 's|^\(plugin_dir = \[\).*|\1\n\t"/usr/libexec/cni",|' crio.conf
++ sed -i 's|^\(plugin_dirs = \[\).*|\1\n\t"/usr/libexec/cni",|' crio.conf
release-note:
@$(GOPATH)/bin/release-tool -n $(release)
--
2.21.0
1 year, 7 months
[PATCH] Deprecate kernel-networktest
by Salvador Teran Ochoa
Signed-off-by: Salvador Teran Ochoa <salvador.teran.ochoa(a)intel.com>
---
Changed "Deprecated" to "Pending-Delete"
---
bundles/kernel-networktest | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/bundles/kernel-networktest b/bundles/kernel-networktest
index 34d592b3..cb7dccad 100644
--- a/bundles/kernel-networktest
+++ b/bundles/kernel-networktest
@@ -1,6 +1,6 @@
# [TITLE]: kernel-networktest
# [DESCRIPTION]: Kernel with NFS root FS support and modular network drivers.
-# [STATUS]: WIP
+# [STATUS]: Pending-Delete
# [CAPABILITIES]:
# [TAGS]: Developer Tools, kernel
# [MAINTAINER]: Brett T. Warden <brett.t.warden(a)intel.com>
--
2.22.0
1 year, 7 months
[PATCH clr-bundles v2] Add bundles for the Solaar tool
by Thiago Macieira
Signed-off-by: Thiago Macieira <thiago.macieira(a)intel.com>
---
bundles/Solaar | 15 +++++++++++++++
bundles/Solaar-gui | 10 ++++++++++
2 files changed, 25 insertions(+)
create mode 100644 bundles/Solaar
create mode 100644 bundles/Solaar-gui
diff --git a/bundles/Solaar b/bundles/Solaar
new file mode 100644
index 00000000..646f59c4
--- /dev/null
+++ b/bundles/Solaar
@@ -0,0 +1,15 @@
+# [TITLE]: Solaar
+# [DESCRIPTION]: Device manager for Logitech's Unifying Receiver peripherals
+# [STATUS]: Active
+# [CAPABILITIES]:
+# [TAGS]: Device Manager, Mouse, Keyboard
+# [MAINTAINER]: Thiago Macieira <thiago.macieira(a)intel.com>
+
+include(python3-basic)
+
+# start of custom additions (edits outside this area will be removed automatically)
+
+# end of custom additions
+
+# main package
+Solaar
diff --git a/bundles/Solaar-gui b/bundles/Solaar-gui
new file mode 100644
index 00000000..9f81cd6c
--- /dev/null
+++ b/bundles/Solaar-gui
@@ -0,0 +1,10 @@
+# [TITLE]: Solaar-gui
+# [DESCRIPTION]: GUI for Device manager for Logitech's Unifying Receiver peripherals
+# [STATUS]: Active
+# [CAPABILITIES]:
+# [TAGS]: GUI, Device Manager, Mouse, Keyboard
+# [MAINTAINER]: Thiago Macieira <thiago.macieira(a)intel.com>
+
+include(python3-basic)
+include(Solaar)
+Solaar-extras
--
2.22.0
1 year, 8 months
[PATCH clr-bundles] Add bundles for the Solaar tool
by Thiago Macieira
Signed-off-by: Thiago Macieira <thiago.macieira(a)intel.com>
---
bundles/solaar | 15 +++++++++++++++
bundles/solaar-gui | 10 ++++++++++
2 files changed, 25 insertions(+)
create mode 100644 bundles/solaar
create mode 100644 bundles/solaar-gui
diff --git a/bundles/solaar b/bundles/solaar
new file mode 100644
index 00000000..2680d9cc
--- /dev/null
+++ b/bundles/solaar
@@ -0,0 +1,15 @@
+# [TITLE]: solaar
+# [DESCRIPTION]: Device manager for Logitech's Unifying Receiver peripherals
+# [STATUS]: Active
+# [CAPABILITIES]:
+# [TAGS]: Device Manager, Mouse, Keyboard
+# [MAINTAINER]: Thiago Macieira <thiago.macieira(a)intel.com>
+
+include(python3-basic)
+
+# start of custom additions (edits outside this area will be removed automatically)
+
+# end of custom additions
+
+# main package
+Solaar
diff --git a/bundles/solaar-gui b/bundles/solaar-gui
new file mode 100644
index 00000000..7f085a6c
--- /dev/null
+++ b/bundles/solaar-gui
@@ -0,0 +1,10 @@
+# [TITLE]: solaar-gui
+# [DESCRIPTION]: GUI for Device manager for Logitech's Unifying Receiver peripherals
+# [STATUS]: Active
+# [CAPABILITIES]:
+# [TAGS]: GUI, Device Manager, Mouse, Keyboard
+# [MAINTAINER]: Thiago Macieira <thiago.macieira(a)intel.com>
+
+include(python3-basic)
+include(solaar)
+Solaar-extras
--
2.22.0
1 year, 8 months
[PATCH clr-bundles] Deprecate kernel-networktest
by Salvador Teran Ochoa
Signed-off-by: Salvador Teran Ochoa <salvador.teran.ochoa(a)intel.com>
---
bundles/kernel-networktest | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/bundles/kernel-networktest b/bundles/kernel-networktest
index 34d592b3..cb7dccad 100644
--- a/bundles/kernel-networktest
+++ b/bundles/kernel-networktest
@@ -1,6 +1,6 @@
# [TITLE]: kernel-networktest
# [DESCRIPTION]: Kernel with NFS root FS support and modular network drivers.
-# [STATUS]: WIP
+# [STATUS]: Deprecated
# [CAPABILITIES]:
# [TAGS]: Developer Tools, kernel
# [MAINTAINER]: Brett T. Warden <brett.t.warden(a)intel.com>
--
2.22.0
1 year, 8 months
[PATCH clr-bundles V2] hardinfo: Autospec creation for version 098e0c0955305ae60cf8b8892bcf34a957f5286c
by Juro Bystricky
---
.gitignore | 14 ++++
Makefile | 5 ++
buildreq_add | 2 +
buildreq_ban | 2 +
cmake_args | 1 +
excludes | 2 +
hardinfo.spec | 220 ++++++++++++++++++++++++++++++++++++++++++++++++++
options.conf | 58 +++++++++++++
pkgconfig_add | 2 +
pkgconfig_ban | 2 +
release | 1 +
requires_add | 2 +
requires_ban | 2 +
testresults | 5 ++
upstream | 1 +
used_libs | 11 +++
whatrequires | 1 +
17 files changed, 331 insertions(+)
create mode 100644 .gitignore
create mode 100644 Makefile
create mode 100644 buildreq_add
create mode 100644 buildreq_ban
create mode 100644 cmake_args
create mode 100644 excludes
create mode 100644 hardinfo.spec
create mode 100644 options.conf
create mode 100644 pkgconfig_add
create mode 100644 pkgconfig_ban
create mode 100644 release
create mode 100644 requires_add
create mode 100644 requires_ban
create mode 100644 testresults
create mode 100644 upstream
create mode 100644 used_libs
create mode 100644 whatrequires
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..edbcfda
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,14 @@
+.*~
+*~
+*.swp
+.repo-index
+*.log
+build.log.round*
+*.tar.*
+*.tgz
+!*.tar.*.*
+*.zip
+commitmsg
+results/
+rpms/
+for-review.txt
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..e2b26bb
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,5 @@
+PKG_NAME := hardinfo
+URL = https://github.com/lpereira/hardinfo/archive/098e0c0955305ae60cf8b8892bcf...
+ARCHIVES =
+
+include ../common/Makefile.common
diff --git a/buildreq_add b/buildreq_add
new file mode 100644
index 0000000..1797536
--- /dev/null
+++ b/buildreq_add
@@ -0,0 +1,2 @@
+# This file contains additional build requirements that did not get
+# picked up automatically. One name per line, no whitespace.
diff --git a/buildreq_ban b/buildreq_ban
new file mode 100644
index 0000000..bf7accf
--- /dev/null
+++ b/buildreq_ban
@@ -0,0 +1,2 @@
+# This file contains build requirements that get picked up but are
+# undesirable. One entry per line, no whitespace.
diff --git a/cmake_args b/cmake_args
new file mode 100644
index 0000000..4159ddb
--- /dev/null
+++ b/cmake_args
@@ -0,0 +1 @@
+-DCMAKE_INSTALL_LIBDIR=lib64
diff --git a/excludes b/excludes
new file mode 100644
index 0000000..f075ede
--- /dev/null
+++ b/excludes
@@ -0,0 +1,2 @@
+# This file contains the output files that need %exclude. Full path
+# names, one per line.
diff --git a/hardinfo.spec b/hardinfo.spec
new file mode 100644
index 0000000..5a41d4f
--- /dev/null
+++ b/hardinfo.spec
@@ -0,0 +1,220 @@
+#
+# This file is auto-generated. DO NOT EDIT
+# Generated by: autospec.py
+#
+Name : hardinfo
+Version : 098e0c0955305ae60cf8b8892bcf34a957f5286c
+Release : 2
+URL : https://github.com/lpereira/hardinfo/archive/098e0c0955305ae60cf8b8892bcf...
+Source0 : https://github.com/lpereira/hardinfo/archive/098e0c0955305ae60cf8b8892bcf...
+Summary : No detailed summary available
+Group : Development/Tools
+License : GPL-2.0
+Requires: hardinfo-bin = %{version}-%{release}
+Requires: hardinfo-data = %{version}-%{release}
+Requires: hardinfo-lib = %{version}-%{release}
+Requires: hardinfo-license = %{version}-%{release}
+Requires: hardinfo-locales = %{version}-%{release}
+Requires: hardinfo-man = %{version}-%{release}
+BuildRequires : buildreq-cmake
+BuildRequires : pkgconfig(cairo)
+BuildRequires : pkgconfig(cairo-png)
+BuildRequires : pkgconfig(glib-2.0)
+BuildRequires : pkgconfig(gmodule-export-2.0)
+BuildRequires : pkgconfig(gthread-2.0)
+BuildRequires : pkgconfig(gtk+-2.0)
+BuildRequires : pkgconfig(gtk+-3.0)
+BuildRequires : pkgconfig(libsoup-2.4)
+BuildRequires : pkgconfig(x11)
+
+%description
+This is Christian Hergert's "Uber-Graph"
+after commit d31c8014d8cc9f293dfecfcb4bd6a7bf4d61c0be.
+https://gitlab.gnome.org/chergert/uber-graph
+File headers give LGPL2 as the license.
+
+%package bin
+Summary: bin components for the hardinfo package.
+Group: Binaries
+Requires: hardinfo-data = %{version}-%{release}
+Requires: hardinfo-license = %{version}-%{release}
+
+%description bin
+bin components for the hardinfo package.
+
+
+%package data
+Summary: data components for the hardinfo package.
+Group: Data
+
+%description data
+data components for the hardinfo package.
+
+
+%package lib
+Summary: lib components for the hardinfo package.
+Group: Libraries
+Requires: hardinfo-data = %{version}-%{release}
+Requires: hardinfo-license = %{version}-%{release}
+
+%description lib
+lib components for the hardinfo package.
+
+
+%package license
+Summary: license components for the hardinfo package.
+Group: Default
+
+%description license
+license components for the hardinfo package.
+
+
+%package locales
+Summary: locales components for the hardinfo package.
+Group: Default
+
+%description locales
+locales components for the hardinfo package.
+
+
+%package man
+Summary: man components for the hardinfo package.
+Group: Default
+
+%description man
+man components for the hardinfo package.
+
+
+%prep
+%setup -q -n hardinfo-098e0c0955305ae60cf8b8892bcf34a957f5286c
+
+%build
+export http_proxy=http://127.0.0.1:9/
+export https_proxy=http://127.0.0.1:9/
+export no_proxy=localhost,127.0.0.1,0.0.0.0
+export LANG=C
+export SOURCE_DATE_EPOCH=1560962102
+mkdir -p clr-build
+pushd clr-build
+export GCC_IGNORE_WERROR=1
+export AR=gcc-ar
+export RANLIB=gcc-ranlib
+export NM=gcc-nm
+export CFLAGS="$CFLAGS -O3 -ffat-lto-objects -flto=4 "
+export FCFLAGS="$CFLAGS -O3 -ffat-lto-objects -flto=4 "
+export FFLAGS="$CFLAGS -O3 -ffat-lto-objects -flto=4 "
+export CXXFLAGS="$CXXFLAGS -O3 -ffat-lto-objects -flto=4 "
+%cmake .. -DCMAKE_INSTALL_LIBDIR=lib64
+make %{?_smp_mflags} VERBOSE=1
+popd
+
+%install
+export SOURCE_DATE_EPOCH=1560962102
+rm -rf %{buildroot}
+mkdir -p %{buildroot}/usr/share/package-licenses/hardinfo
+cp LICENSE %{buildroot}/usr/share/package-licenses/hardinfo/LICENSE
+pushd clr-build
+%make_install
+popd
+%find_lang hardinfo
+
+%files
+%defattr(-,root,root,-)
+
+%files bin
+%defattr(-,root,root,-)
+/usr/bin/hardinfo
+
+%files data
+%defattr(-,root,root,-)
+/usr/share/applications/hardinfo.desktop
+/usr/share/hardinfo/benchmark.conf
+/usr/share/hardinfo/benchmark.data
+/usr/share/hardinfo/doc/index.hlp
+/usr/share/hardinfo/pixmaps/about-modules.png
+/usr/share/hardinfo/pixmaps/audio.png
+/usr/share/hardinfo/pixmaps/battery.png
+/usr/share/hardinfo/pixmaps/benchmark.png
+/usr/share/hardinfo/pixmaps/blowfish.png
+/usr/share/hardinfo/pixmaps/bluetooth.png
+/usr/share/hardinfo/pixmaps/boot.png
+/usr/share/hardinfo/pixmaps/camera-photo.png
+/usr/share/hardinfo/pixmaps/camera-web.png
+/usr/share/hardinfo/pixmaps/cdrom.png
+/usr/share/hardinfo/pixmaps/close.png
+/usr/share/hardinfo/pixmaps/compress.png
+/usr/share/hardinfo/pixmaps/computer.png
+/usr/share/hardinfo/pixmaps/cryptohash.png
+/usr/share/hardinfo/pixmaps/dev_removable.png
+/usr/share/hardinfo/pixmaps/devel.png
+/usr/share/hardinfo/pixmaps/devices.png
+/usr/share/hardinfo/pixmaps/dialog-error.png
+/usr/share/hardinfo/pixmaps/dialog-information.png
+/usr/share/hardinfo/pixmaps/dialog-warning.png
+/usr/share/hardinfo/pixmaps/dns.png
+/usr/share/hardinfo/pixmaps/environment.png
+/usr/share/hardinfo/pixmaps/face-grin.png
+/usr/share/hardinfo/pixmaps/fft.png
+/usr/share/hardinfo/pixmaps/file-roller.png
+/usr/share/hardinfo/pixmaps/hardinfo.png
+/usr/share/hardinfo/pixmaps/hdd.png
+/usr/share/hardinfo/pixmaps/home.png
+/usr/share/hardinfo/pixmaps/inputdevices.png
+/usr/share/hardinfo/pixmaps/internet.png
+/usr/share/hardinfo/pixmaps/joystick.png
+/usr/share/hardinfo/pixmaps/keyboard.png
+/usr/share/hardinfo/pixmaps/language.png
+/usr/share/hardinfo/pixmaps/logo.xcf
+/usr/share/hardinfo/pixmaps/media-floppy.png
+/usr/share/hardinfo/pixmaps/media-removable.png
+/usr/share/hardinfo/pixmaps/memory.png
+/usr/share/hardinfo/pixmaps/modem.png
+/usr/share/hardinfo/pixmaps/module.png
+/usr/share/hardinfo/pixmaps/monitor.png
+/usr/share/hardinfo/pixmaps/mouse.png
+/usr/share/hardinfo/pixmaps/nautilus.png
+/usr/share/hardinfo/pixmaps/network-connections.png
+/usr/share/hardinfo/pixmaps/network-interface.png
+/usr/share/hardinfo/pixmaps/network-statistics.png
+/usr/share/hardinfo/pixmaps/network.png
+/usr/share/hardinfo/pixmaps/nqueens.png
+/usr/share/hardinfo/pixmaps/os.png
+/usr/share/hardinfo/pixmaps/pcmcia.png
+/usr/share/hardinfo/pixmaps/printer.png
+/usr/share/hardinfo/pixmaps/processor.png
+/usr/share/hardinfo/pixmaps/raytrace.png
+/usr/share/hardinfo/pixmaps/report-large.png
+/usr/share/hardinfo/pixmaps/report.png
+/usr/share/hardinfo/pixmaps/resources.png
+/usr/share/hardinfo/pixmaps/server-large.png
+/usr/share/hardinfo/pixmaps/server.png
+/usr/share/hardinfo/pixmaps/shares.png
+/usr/share/hardinfo/pixmaps/summary.png
+/usr/share/hardinfo/pixmaps/syncmanager-small.png
+/usr/share/hardinfo/pixmaps/syncmanager.png
+/usr/share/hardinfo/pixmaps/therm.png
+/usr/share/hardinfo/pixmaps/usb.png
+/usr/share/hardinfo/pixmaps/usbfldisk.png
+/usr/share/hardinfo/pixmaps/users.png
+/usr/share/hardinfo/pixmaps/wireless.png
+/usr/share/hardinfo/vendor.ids
+/usr/share/icons/hicolor/48x48/apps/hardinfo.png
+
+%files lib
+%defattr(-,root,root,-)
+/usr/lib64/hardinfo/modules/benchmark.so
+/usr/lib64/hardinfo/modules/computer.so
+/usr/lib64/hardinfo/modules/devices.so
+/usr/lib64/hardinfo/modules/network.so
+
+%files license
+%defattr(0644,root,root,0755)
+/usr/share/package-licenses/hardinfo/LICENSE
+
+%files man
+%defattr(0644,root,root,0755)
+/usr/share/man/man1/hardinfo.1
+
+%files locales -f hardinfo.lang
+%defattr(-,root,root,-)
+
diff --git a/options.conf b/options.conf
new file mode 100644
index 0000000..76a8c96
--- /dev/null
+++ b/options.conf
@@ -0,0 +1,58 @@
+[package]
+name = hardinfo
+url = https://github.com/lpereira/hardinfo/archive/098e0c0955305ae60cf8b8892bcf...
+archives =
+giturl = https://github.com/lpereira/hardinfo.git
+
+[autospec]
+# build 32 bit libraries
+32bit = false
+# allow package to build with test failures
+allow_test_failures = false
+# unset %build ld_as_needed variable
+asneeded = false
+# this package is trusted enough to automatically update (used by other tools)
+autoupdate = false
+# extend flags with '-std=gnu++98
+broken_c++ = false
+# disable parallelization during build
+broken_parallel_build = false
+# this package is a library compatability package and only ships versioned library files
+compat = false
+# set conservative build flags
+conservative_flags = false
+# dev package requires the extras to be installed
+dev_requires_extras = false
+# pass -ffast-math to compiler
+fast-math = false
+# optimize build for speed over size
+funroll-loops = false
+# set flags to smallest -02 flags possible
+insecure_build = false
+# do not remove static libraries
+keepstatic = false
+# do not require autostart subpackage
+no_autostart = false
+# disable stripping binaries
+nostrip = false
+# optimize build for size over speed
+optimize_size = false
+# set profile for pgo
+pgo = false
+# set flags for security-sensitive builds
+security_sensitive = false
+# do not run test suite
+skip_tests = false
+# add .so files to the lib package instead of dev
+so_to_lib = false
+# configure build for avx2
+use_avx2 = false
+# configure build for avx512
+use_avx512 = false
+# add clang flags
+use_clang = false
+# configure build for lto
+use_lto = true
+# require package verification for build
+verify_required = false
+
diff --git a/pkgconfig_add b/pkgconfig_add
new file mode 100644
index 0000000..dd3b77c
--- /dev/null
+++ b/pkgconfig_add
@@ -0,0 +1,2 @@
+# This file contains additional pkgconfig build requirements that did
+# not get picked up automatically. One name per line, no whitespace.
diff --git a/pkgconfig_ban b/pkgconfig_ban
new file mode 100644
index 0000000..859fae4
--- /dev/null
+++ b/pkgconfig_ban
@@ -0,0 +1,2 @@
+# This file contains pkgconfig build requirements that get picked up
+# but are undesirable. One entry per line, no whitespace.
diff --git a/release b/release
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ b/release
@@ -0,0 +1 @@
+2
diff --git a/requires_add b/requires_add
new file mode 100644
index 0000000..ecd3915
--- /dev/null
+++ b/requires_add
@@ -0,0 +1,2 @@
+# This file contains additional runtime requirements that did not get
+# picked up automatically. One name per line, no whitespace.
diff --git a/requires_ban b/requires_ban
new file mode 100644
index 0000000..20ae780
--- /dev/null
+++ b/requires_ban
@@ -0,0 +1,2 @@
+# This file contains runtime requirements that get picked up but are
+# undesirable. One entry per line, no whitespace.
diff --git a/testresults b/testresults
new file mode 100644
index 0000000..92c6b06
--- /dev/null
+++ b/testresults
@@ -0,0 +1,5 @@
+Total : 0
+Pass : 0
+Fail : 0
+Skip : 0
+XFail : 0
diff --git a/upstream b/upstream
new file mode 100644
index 0000000..6dd38d1
--- /dev/null
+++ b/upstream
@@ -0,0 +1 @@
+4ac02c6251ecbbd31afada95680651fdb06a1eea/098e0c0955305ae60cf8b8892bcf34a957f5286c.tar.gz
diff --git a/used_libs b/used_libs
new file mode 100644
index 0000000..c93de62
--- /dev/null
+++ b/used_libs
@@ -0,0 +1,11 @@
+libX11.so.6
+libc.so.6
+libgdk-x11-2.0.so.0
+libgdk_pixbuf-2.0.so.0
+libgio-2.0.so.0
+libglib-2.0.so.0
+libgmodule-2.0.so.0
+libgobject-2.0.so.0
+libgtk-x11-2.0.so.0
+libm.so.6
+libpango-1.0.so.0
diff --git a/whatrequires b/whatrequires
new file mode 100644
index 0000000..9e67e10
--- /dev/null
+++ b/whatrequires
@@ -0,0 +1 @@
+# This file contains recursive sources that require this package
--
2.22.0
1 year, 8 months
[PATCH slang] slang: Autospec creation for update from version 2.2.4 to version 2.3.2
by ilmar.nurste
From: "ilmar.nurste" <ilmar.nurste(a)exset.com>
Key imported:
--list-packet:
# off=0 ctb=99 tag=6 hlen=3 plen=418
:public key packet:
version 4, algo 17, created 1095575591, expires 0
pkey[0]: [1024 bits]
pkey[1]: [160 bits]
pkey[2]: [1024 bits]
pkey[3]: [1022 bits]
keyid: DE401E0D5873000A
# off=421 ctb=b4 tag=13 hlen=2 plen=35
:user ID packet: "John E. Davis <davis(a)space.mit.edu>"
--fingerprint:
pub dsa1024 2004-09-19 [SCA]
AE96 2A02 D29B FE4A 4BB2 805F DE40 1E0D 5873 000A
uid [ unknown] John E. Davis <davis(a)space.mit.edu>
sub elg1024 2004-09-19 [E]
---
.gitignore | 14 +
ChangeLog | 4070 +++++++++++++++++++++++++++++++++++++++
DE401E0D5873000A.pkey | 25 +
Makefile | 3 +-
NEWS | 578 ++++++
buildreq_add | 1 +
configure | 1 +
configure_misses | 6 +
options.conf | 58 +
release | 2 +-
requires_add | 2 +
requires_ban | 2 +
slang-2.3.2.tar.bz2.asc | 8 +
slang.spec | 159 +-
stateless.patch | 43 +-
symbols | 619 ++++++
testresults | 5 +
unit_tests_must_pass | 1 -
upstream | 2 +-
used_libs | 9 +
20 files changed, 5527 insertions(+), 81 deletions(-)
create mode 100644 .gitignore
create mode 100644 ChangeLog
create mode 100644 DE401E0D5873000A.pkey
create mode 100644 NEWS
create mode 100644 configure
create mode 100644 configure_misses
create mode 100644 options.conf
create mode 100644 requires_add
create mode 100644 requires_ban
create mode 100644 slang-2.3.2.tar.bz2.asc
create mode 100644 symbols
create mode 100644 testresults
delete mode 100644 unit_tests_must_pass
create mode 100644 used_libs
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..edbcfda
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,14 @@
+.*~
+*~
+*.swp
+.repo-index
+*.log
+build.log.round*
+*.tar.*
+*.tgz
+!*.tar.*.*
+*.zip
+commitmsg
+results/
+rpms/
+for-review.txt
diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 0000000..c511b60
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,4070 @@
+-*- mode: text; mode: fold -*-
+Changes since 2.3.1a
+1. modules/stats_kendall.c: Updated to use Knight's O(NlogN)
+ algorithm. This update was facilitating by separating out some
+ integer typedefs from _slang.h and placing them in _slint.h. The
+ closely relation mann_kendall function was also added to the stats
+ module.
+2. modules/stats_kendall.c: In the prtaus function, the loops were
+ reorganized loops to eliminate embedded if-tests, and the code that
+ deals with arrays were made for "C-like".
+3. Merged Manfred Hanke's CSV module documentation updates.
+4. slsh/lib/cmdopt.sl: The form -fVAL was not working as described for
+ short-options whose value (VAL) is optional.
+5. src/sl*.h: Updated Unicode tables from version 5 to 9
+6. src/slischar.h: Previously, if a lower(upper) case character did
+ not have a mapping to an upper(lower) case character, it was take
+ to not have a case. This restriction has been dropped. In other
+ words, it is nolonger necessary for an upper(lower) case character
+ to have a lower(upper) case equivalent.
+7. src/slpack.c: Added an intrinsic function (_array_byteswap) that
+ may be used to convert the values of an array from one endianness
+ to another.
+8. src/slparse.c: It is now possible to use reserved words as struct
+ field names without quoting them. For example, it is now possible
+ to write
+ s = struct { public = value };
+ Previously, this required the field name to be quoted:
+ s = struct { "public" = value };
+
+9. modules/json-module.c: Malformed UTF-8 was not being properly
+ handled by the json-encoder.
+10. modules/csv-module.c: The decode_csv_row function was ignoring the
+ delimiter setting after a quoted string.
+11. src/slparse.c: A for statement lacking a conditional expression
+ was not being properly handled (noticed by rocket penguin).
+12. src/struct.c: Rewrote the __add_binary function, which was not
+ properly handling multiple data types.
+13. changes.txt: Converted to UTF-8 (Miroslav Lichvar)
+14. src/slscanf.c: The sscanf function was not parsing ".0" as a
+ floating poing number (zero).
+15. The library was failing to compile when __tmp operator
+ optimizations were turned off. The default is to permit such
+ optimizations since they can lead to faster running code and less
+ memory usage. Bug reported by Henry.
+16. src/slsh.c: Updated copyright year.
+17. INSTALL.unx: Corrected the URL for the ONIGURUMA regexp library; added
+ a small note that PCRE2 is not supported (Henry Nelson).
+18. modules/csv-module.c: If the delimiter or quote character is
+ specified to be 0, then use the defaults (, and ").
+19. src/sltermin.c: Added support for the new ncurses 32-bit terminfo
+ database entries.
+20. autoconf/aclocal.m4,src/Makefile.in: Install shared objects
+ (modules and library) with executable permissions.
+21. src/sl*.h: Updated Unicode tables from version 9 to 10
+22. src/sltermin.c: Corrected a few typos in the comments (Manfred
+ Hanke).
+23. Updated Copyright year to 2018
+24. doc updates
+25. src/sltermin.c: removed unnecessary "extern" function attribute.
+26. src/test/syntax.sl: The version number test required the use of
+ isalpha and not isascii.
+
+{{{ Previous Versions
+
+Changes since 2.3.1
+a. Some tests were failing when compiled with a compiler that defaults
+ to using `unsigned char'. In the few places where a `signed char'
+ was assumed, `char' was changed to `signed char'. Also, a
+ copy-paste error was corrected in the src/test/sltest.c that caused
+ the test program to fail on big-endian 64 bit systems.
+
+Changes since 2.3.0
+1. modules/json-module.c: Fix a possible uninitialized variable error.
+2. Define _BSD_SOURCE the few places necessary to get prototypes for
+ strtoll and BSD specific network struct fields.
+3. src/slstd.c: define _SVID_SOURCE to get prototype for putenv
+4. modules/Makefile.in: On cygwin, the libraries must be placed last
+ for module compilation (Marco Atzeri).
+5. src/slstrops.c: The return value from pop_lut was not being
+ checked leading to a segv upon faiure (reported by Morten Bo
+ Johansen).
+6. slsh/lib/slshrl.sl: Floating point literals with a leading '.' were
+ not being properly handled by slsh_interactive_massage_hook
+ (Manfred Hanke).
+7. src/slarrfun.c: Added wherefirst/last_eq/ne/gt/lt/ge/le functions,
+ which are much faster than using just wherefirst or wherefast with
+ the implied binary comparison. For example:
+
+ slsh> .load rand
+ slsh> x = rand_uniform (100000);
+ slsh> tic; loop (1000) i=wherefirst(x>=0.999); toc; i;
+ 0.597183
+ 268
+ slsh> tic; loop (1000) i=wherefirst_ge(x,0.999); toc; i;
+ 0.0024419999999999997
+ 268
+
+ For this case, the speedup about 0.60/0.0024 = 250.
+8. Rebuilt text documentation for change #7.
+9. Documentation updates (Manfred Hanke).
+10. src/slarrfun.inc: use a macro for the common case statements of
+ the wherefirst_op and wherelast_op code. (Manfred Hanke)
+11. modules/stats.sl: Added Anderson-Darling tests:
+
+ ad_test: test for normality
+ ad_ktest: k-sample test
+
+ I also broke out some of the statistical tests into separate files.
+12. Tweaked the makefiles to create a statically-linked version of
+ slsh when `make static` and `make install-static` are run.
+13. For the static slsh build, disable dynamic linking.
+14. src/slstdio.c:fread_bytes: A size_t vs unsigned int issue was
+ causing SLmalloc to be called with an incorrect size in some cases.
+15. src/slbstr.c: Made the size of the printable representation of
+ binary strings customizable via get/set_printable_bstring_size
+ intrinsics.
+16. slsh/slsh.c: A missing continue statement was causing slsh to stop
+ parsing command line options after the first occurrence of -D.
+17. src/slang.h: Remove duplicate prototype for
+ SLrline_get_update_client_data. (Valdis Kletnieks)
+18. src/slposdir.c: Add statvfs intrinsic that wraps corresponding
+ POSIX function.
+19. modules/Makefile.in, png-module.c: Cygwin tweaks
+ (Marco Atzeri).
+20. */*.c: Added explicit (unsigned char) typecast to isspace/isdigit
+ functions.
+21. */*.c: reduced the scope of some variables; removed duplicate ||
+ expression from slarray.c (David Binderman)
+22. src/slarray.c: The Kahan error corrections were not be added back
+ when summing complex arrays.
+23. slsh/lib/listfuns.sl: Corrected the usage method for heap_new().
+24. Found and corrected a few memory leaks that occur after a malloc
+ failure; added some more unit tests
+25. Added more regression tests and bug fixes:
+
+ slscanf.c: %i was failing for Octal and Hex forms
+ slbstr.c: <, and > operators were swapped for binary strings
+ histogram-module.c: A missing 'break' statement was causing hist2d
+ to fail when binning 8 bit integers.
+
+26. src/slposdir.c: If an fdopen'd FILE* object was closed, then do
+ not close the underlying fd descriptor; added more regression/unit
+ tests.
+27. modules/test/test_stats.sl: Do not use 64 bit ints when testing
+ the mean and stddev functions on 32 bit systems since these
+ integers are not supported by the functions.
+28. modules/stats-module.inc: Some arrays were causing median_nc to
+ not converge.
+29. src/slscanf.c: Allow whitespace in the format to match 0
+ whitespace characters in the input string.
+30. src/slproc.c: define _XOPEN_SOURCE to be 500
+31. src/slproc.c: #30 caused a compilation error on macos since it
+ caused certain rusage fields to not be exposed. Define
+ _BSD_SOURCE to expose them.
+32. src/slerr.c: Add a windows error handler so that windows will
+ return an error code instead of aborting when passed a bad file
+ descriptor, etc.
+33. src/slproc.c: Use _XOPEN_SOURCE=1 instead of 500. This setting
+ works for both OSX and Windows. (See #30,31)
+34. src/slcurses.h: SLtt_Char_Type and SLcurses_Char_Type were being
+ used interchangably.
+35. src/sldisply.c: Added support for 24 bit color terminals based
+ upon a patch from Egmont Koblinger forwarded to me by Anton Kochkov.
+ See NEWS for usage. (for 64 bit systems)
+36. src/slposio.c: Rename the posix_close function to avoid conflict
+ with an upcoming POSIX standard. (patch provided by Thomas
+ Petazzoni).
+37. slposio.c,slstdio.c,slposdir.c: Do not include <sys/fcntl.h> if
+ <fcntl.h> was included. (variation on a patch provided by Thomas
+ Petazzoni).
+38. slsh/: Move processing of the SLSH_PATH environment variable to
+ slsh.rc. Also, guess the slsh lib path based upon the location of
+ the executable.
+39. modules/onig-module.c: Only allow certain flags for onig_search.
+ Others cause onig_search to reinterpret the meaning of the region
+ argument.
+40. slsh/etc/slsh.rc: Add support for multiple paths to the
+ *_to_slang_load_path functions.
+41. src/slscanf.c: The formats %x and %o were producing a signed values instead
+ of an unsigned ones.
+42. src/slconfig.h,...: Added longlong functions to win32, use
+ "%I64d/u" format when printing long long on win32.
+43. src/slcurses.c: Changed the data type of SLcurses_Char_Type back
+ to long[128] (change #34 broke backward compatibility)
+44. src/slstruct.c: Optional argument to _push_struct_field_values may
+ be used to specify the fields to be pushed.
+45. src/sllimits.h: Bumped up the size of the slsring table. A future
+ version will dynamically resize the table.
+46. src/slstd.c,slstrops.c: Improve the speed of sprintf by reducing
+ the number of reallocs and special casing strings in the
+ _pSLstring_intrinsic function.
+47. modules/cvs.sl: Reading a CSV file from an open file descriptor
+ (e.g., stdin) was failing. The updated regression test also
+ exposed a side effect of change #38: the uninstalled version of
+ slsh.rc lacks processing of SLSH_PATH. Processing of SLSH_PATH
+ was added to the test.sl include file.
+48. src/slregexp.c: The RE \d? was not handled properly.
+49. src/slmisc.c: Catch empty hex \x and decimal \d escape sequences.
+50. autoconf/Makefile.in: Add install-pkgconfig to the install-static
+ target. (Max Filippov).
+51. src/test/signal.sl: Skip the sigsuspend test when running from
+ make. The test involves the user pressing ^C, which kills the
+ make process. This test should be run outside of make.
+52. src/slmisc.c: Corrected a typo in the error message introduced in
+ change #49 (Manfred Hanke).
+53. src/sltime.c: Added _ftime, which returns the number of
+ (wallclock) seconds since an epoch.
+54. Changes the array allocation routines to use a signed integer
+ (SLindex_Type) vs an unsigned one (SLuindex_Type). The reason for
+ this is that all slang arrays may be indexed from the end using a
+ negative index, and multidemsional arrays must allow indexing
+ using a single signed index, e.g.,
+
+ a = Int_Type[10,20]; ...; a[where(a<0)] = 0;
+55. src/sltime.c: Fixed a windows compile error involving _ftime
+ (see change #53).
+56. src/slnspace.c,...: Check for malformed namepace names.
+57. doc/tm/: Documentation updates (Agathoklis D. Chatzimanikas)
+58. slsh/slsh.c: Added __slsh_startup_hook function that slsh will
+ call after loading slsh.rc.
+59. modules/: Updated the png and pcre modules, and added new test
+ scripts. Added support for setting the compression value to the
+ png module, and added additional symbolic constants to the pcre
+ module.
+60. slsh/lib/test/: Have `make check` run the test scripts in this
+ directory.
+61. modules/csv-module.c: Added line number information to error
+ messages.
+62. src/test/: Updated some tests
+63. src/sltoken.c: bug fix affecting reading byte-compiled files: Use
+ SLatoul for unsigned longs instead of atol; remove alignment test
+ from pack.sl until a new test can be devised.
+64. Added support for compiling against slsyswrap testing library.
+ It is disabled for production code.
+65. Bug fixes:
+
+ src/slarrfun.c: SLang_duplicate_array return value not checked;
+ src/slstdio.c: SLfree was used in an error handler instead of
+ SLang_free_slstring
+ src/slposio.c: If EINTR happens in the close function, do not
+ restart it. See <http://lwn.net/Articles/576478/>.
+ src/sltoken.c: Use unsigned char * cast for SLatol functions.
+
+66. src/slmisc.c: \uABCD supported in string literals. Previously,
+ braces were required (\u{ABCD}).
+67. Updated many of the unit tests/regression scripts.
+68. Updated more tests. Made use of the _slang.h LONG_IS_INT macro to
+ eliminate some unused functions on systems where
+ sizeof(long)==sizeof(int).
+69. modules/slsmg-module.c: was not compiling on windows; fixed a
+ malformed comment in src/test/sltest.c.
+70. Added "#define _DEFAULT_SOURCE" to a few places to quiet gcc;
+ Added slsyswrap support to src/slposdir.c,slposio.c,slcommon.c
+71. src/slexcept.c: The deprecated _clear_error function using in
+ ERROR_BLOCKs was not completely removing queued error messages.
+ Note: ERROR_BLOCKs will be removed in version 3.
+72. src/slregexp.c: Added "\{m,n\}" support to '\1'-'\9', '.', and
+ '\d' REs. '$' changed to match only at the end of a string, or
+ just before a \n at the end of the string. Updated regexp.sl test.
+73. src/slang.c: The delete_interpreter function (called upon program
+ exit) was not freeing local variables on the function call stack. This
+ showed up as a memory leak when a function called "exit", which
+ would not allow the function stack to unroll and trigger the
+ destructors.
+74. src/*.c: Added a few gcc #pragmas to turn off warnings about
+ non-string literals as printf-style formats.
+75. src/*.c, modules/*.c: If close fails with errno=EINTR, do not restart
+ it. Doing so invokes undefined behavior.
+76. src/slerr.c: Add _pSLerr_deinit to the exit hook.
+77. src/slarray.c,src/slclass.c,src/slstruct.c: Use the SLclass_set*
+ functions to set SLang_Class_Type fields instead of directly
+ accessing them.
+78. Added additional unit/regresssion tests.
+79. Makefiles: Add a time-stamp dependency to directory targets to
+ avoid race conditions when running parallel make (Based upon a
+ patch from Kylie McClain).
+80. src/Makefile.in: Updated the libslang.a dependency to account for
+ change #79.
+81. tweaked a few files (modules/png-module.c,src/slarith.inc,src/slimport.c)
+ to reduce gcc warnings.
+82. modules/test/test_slsmg.sl: Test skipped if the terminal type is
+ "unknown".
+83. Updated copyright years; some doc updates
+84. src/sldisply.c: make JMAX_COLORS consistent with SLTT_MAX_COLORS.
+85. src/slstrops.c: Added string_to_wchars and wchars_to_string
+ intrinsic functions.
+86. Moved gcc diagnosic pragmas outside function bodies for
+ compatibility with old versions of gcc.
+87. src/slwclut.c: Unclosed ranges (hyphen at the end of a character
+ set specification string) were not being handled properly: the
+ character befor the hyphen was being dropped, e.g.,
+
+ strcompress ("foo-(bar)", "_()-");
+
+ was producing "foo_bar)" instead of "foo_bar".
+88. src/sllimits.h: Reduce SLANG_MAX_RECURSIVE_DEPTH to 500 on
+ CYGWIN/WIN32 to avoid hitting the default runtime stacklimit.
+89. Updates to the mingw32/64 build system.
+90. src/sltermin.c: Avoid invalid free when TERMCAP is used. See
+ <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=837868>.
+91. Some documentation typos corrected (Agathoklis D. Hatzimanikas;
+ debian patches)
+92. src/_slang.h: On at least one platform, clang defines GNUC but
+ does not implement GNU C inline semantics. Disble inline support
+ for clang if GNUC defined.
+93. src/sllimits.h: SLANG_MAX_RECURSIVE_DEPTH set to 1500 to decrease
+ the probability of running into the C runtime stacksize limit.
+94. src/test/sltest.c: A missing preprocessor #else block in change
+ #78 was causing UTF-8 tests to fail in a non-UTF8 environment.
+95. MacOSX changes: fix environ intrinsic, export DYLD_LIBRARY env
+ variable in test scripts.
+96. slsh/lib/process.sl: If execvp fails, include the name of the executable
+ in the error message.
+97. autoconf/config.*: Updated scripts
+98. .../runtests.sh: Added LD_LIBRARY_PATH to test scripts (removed in
+ #96)
+99. mkfiles/makefile.m32: Use mkfiles\runslsh.bat instead of
+ mkfiles/runslsh.bat (Windows only).
+100. documentation updates
+
+
+Changes since 2.2.4
+1. src/slarray.c: Try to find a suitable multiplier for range arrays
+ to avoid roundoff errors. Using the multiplier avoids the
+ [1:10:0.001] from having the element 1.1260000000000001.
+2. doc/tm/rtl/strops.tm: Correct typos in string_match documentation
+ (Manfred Hanke).
+3. modules/base64-module.c: Added a base64 encoder module.
+4. modules/chksum-module.c: A module to compute md5, sha1, etc
+ checksums.
+5. Removed a few unused variables from the code.
+6. Documentation updates and corrections by Agathoklis D. Hatzimanikas.
+7. src/slarray.c: array_map enhanced to handle functions that return
+ multiple values (based upon a patch from Manfred Hanke).
+8. Documentation tweaks (Manfred Hanke).
+9. src/slmath.c: Added sincos intrinsic (Manfred Hanke)
+10. doc/tm/rtl/array.tm: Changed an example used in the array_map
+ documentation.
+11. More documentation updates/corrections (Agathoklis D. Hatzimanikas).
+12. src/slarray.c: Tweaked the code that computes the
+ array-range-multiplier to avoid agressive optimization by the
+ compiler.
+13. modules/rand.sl: The rand_int function was not working correctly
+ (Thomas Dauser).
+14. modules/test/test_rand.sl: Added a simple statistical test for
+ rand_int (based upon an idea by Thomas Dauser).
+15. modules/test/test_rand.sl: Corrected a typo introduced by #14.
+16. src/slarray.c: #12 introduced a truncation error for some
+ values involving the range multiplier.
+17. autoconf/aclocal.m4: Change ncurses5w-config to ncursesw5-config
+ (Gilles Espinasse).
+18. modules/base64-module.c: Added decoder.
+19. slsh/lib/sldbcore.sl: Only run the debugger from the pid that
+ started it. This avoids problems debugging scripts that call fork.
+20. src/slrline.c: SLrline_read_line will return NULL if getkey
+ returns SLANG_GETKEY_ERROR.
+21. doc/tm/rtl/*.tm: A few typos corrected (Manfred Hanke).
+22. slsh/lib/print.sl; print binary strings differently from regular
+ ones (Manfred Hanke).
+23. slsh/lib/print.sl: I introduced a typo in #21 (Pablo Cassatella).
+24. src/slutty.c: if the flow control parameter to the SLang_init_tty
+ argument is negative, the terminal's flow control handling will
+ not be changed.
+25. src/slrline.c: Ammend #20 to return NULL if errno != EINTR.
+26. src/sldisply.c: Changed Termcap_Initalized -> Termcap_Initialized
+27. src/slarray.c: avoid an expensive memcpy when doing
+ an aget via an index array on a (b)string. (Paul Boekholt).
+28. slsh/scripts/badlinks: Updated to use array_map and cmdopt
+ (Agathoklis D. Hatzimanikas).
+29. Some minor documentation tweaks (Agathoklis D. Hatzimanikas)
+30. More doc tweaks (Agathoklis D. Hatzimanikas)
+31. src/slposio.c: lseek was not working properly.
+32. slsh/scripts/badlinks: Changed from GPLv3 to GPLv2 with permission
+ from Agathoklis Hatzimanikas.
+33. src/slscanf.c: Call strtod in a locale where the decimal point is
+ ".". This works around problems associated with modules that
+ change the locale.
+34. src/slscanf.c: include <xlocale.h> if available.
+35. src/slscanf.c: Avoid the use of setlocale and simply copy the
+ locale's decimal point before calling strtod (Paul Boekholt).
+36. modules/socket-module.c: NULL was being returned when accept was
+ called with a single argument (Fixes bug reported by Arik
+ Mitschang).
+37. src/slwclut.c: A logic error was causing strtrans to function
+ improperly for some UTF-8 encoded strings.
+38. src/fork-module.c: If WCONTINUED is not defined, define it to be 0
+ (from debian patch).
+39. src/slbstr.c: Added support for an optional offset parameter to
+ is_substrbytes.
+40. modules/csv.sl: Allow the "names" qualifier to be a list in
+ addition to an array.
+41. *.c/*.h: provide a path for a future change in the
+ return value of the malloc/free functions. Now they process char*
+ pointers but this will be changed to void* in the future.
+42. modules/: Merged stats and histogram modules into the distribution.
+43. modules/stats-module.c: removed a couple of unused variables.
+ Also modules/test/test_*.sl updated to use modules in the $(ARCH)objs
+ subdir.
+44. src/slang.c: Local_Variable_Stack is now dynamically allocated,
+ and the value of SLANG_MAX_LOCAL_STACK made to scale with
+ SLANG_MAX_RECURSIVE_DEPTH.
+45. modules/cmaps/: Added 3 perceptually balanced color maps derived
+ from matlab code by Matteo Niccoli under the BSD license.
+46. src/slmath.c: Use _pSLang_peek_at_stack2 instead of the combination
+ SLang_peek_at_stack and SLang_peek_at_stack1. This change
+ provides a bit more performnce.
+47. slsh/lib/fswalk.sl: Functions here facilitate walking the
+ filesystem.
+48. Some doc updates.
+49. slsh/: Using help at the prompt will invoke the pager if the
+ number of lines is longer than the screen size. This required add
+ an slsh-specific intrinsic that returns the number of rows.
+50. modules/stats.sl: Avoid integer overflow when computing Spearman's
+ rank correlation (Victoria Grinberg).
+51. modules/csv.sl; Added support for RDB tab-delimited files via the
+ ";rdb" qualifier.
+52. modules/stats-module.c: The stddev function was computing an
+ incorrectly normalized value when passed the optional dims argument.
+53. src/slang.h: The following qualifier functions were added to the
+ public API:
+
+ SLang_qualifier_exists;
+ SLang_get_int_qualifier;
+ SLang_get_long_qualifier;
+ SLang_get_double_qualifier;
+ SLang_get_string_qualifier;
+
+ These functions may be used to create intrinsic functions that use
+ qualifiers.
+54. The previous change necessitated a minor change in the qualifier
+ semantics such that qualifiers that are created with no value
+ assigned are implicitly given a value of 1. That is, foo(arg;q)
+ and foo(arg;q=1) are now equivalent forms. Previously, foo(arg;q)
+ and foo(and;q=NULL) were equivalent. Experience has shown that
+ the new semantics result in simpler code. This change should not
+ break any existing interpreter scripts.
+55. Backed out change #54 because it did break some scripts.
+56. src/util/mkslarith2.sl: Used "signed char" instead of "char" to
+ avoid problems with systems that assume unsigned characters.
+ (RongQing Li).
+57. modules/socket-module.c: Added support for socket credentials
+ (Arik Mitschang).
+58. src/signal.c: Added support for interval timers via the
+ get/setitimer functions.
+59. src/test/signal.sl: Missing #endif (Paul Boekholt)
+60. autoconf/slang.pc: Allow prefix and exec_prefix to be different
+ (Diab Jerius).
+61. src/sltoken.c: Use an unsigned cast when calling putc to
+ work-around what looks like a VMS C library bug bug.
+62. src/slarrfun.c: Added wherefirstmin/max and wherelastmin/max
+ functions.
+63. src/slarrfun.inc: Removed an unused variable from the
+ wherefirst/last/min/max functions.
+64. src/slcommon.c: find_interrupt_hook was not setting the prevp
+ variable causing some hooks to become lost during calls to
+ SLang_remove_interrupt_hook.
+65. src/slrline.c,slsh/readline.c: Added support for SLrline
+ callbacks. See the slsh docs for details.
+66. src/slarray.c: Added wherediff intrinsic. This returns an array
+ of indices where adjacent elements of an array differ.
+67. modules/stats-module.c: Rewrote the log_gamma_star function to
+ avoid double precision overflows when computing the poisson_cdf
+ function for large values. Also, the poisson_cdf function now
+ uses the Wilson and Hilferty normal approximation for values of
+ lambda greater than 1000.
+68. src/slrline.c: Use the SLang_set_error function instead of
+ manipulating the _pSLang_Error variable. Also, changed the readline
+ "kbd_quit" function to throw a UserBreakError.
+69. src/mkfiles/mkmake.exe: Compiled as a win32 executable. The old
+ 16bit DOS version was renamed to mkmake16.exe.
+70. slsh/readline.c: Change #65 broke the slsh --no-readline option.
+71. mkfiles/: Added the /y option to the DOS copy command to avoid
+ being prompted to overwriting files when installing on a windows
+ system.
+72. win32-specific changes: Additional makefile tweaks. Also, permit
+ "./foo" to represent a "relatively-absolute" filename on
+ DOS/Windows.
+73. modules/stats.sl: Added the correlation function.
+74. src/slarray.c: _isnull was not handling Null_Type arrays.
+75. src/slparse.c: If the _for statement contains two control
+ variables instead of 3, assume the third is 1.
+76. modules/fork-module.c: The execve_intrin was not functioning
+ properly (Agathoklis D. Hatzimanikas).
+77. slsh/readline.c: Check to see if an update_hook has been set
+ before adding callbacks to it.
+78. modules/csv.sl: Add support for empty field names.
+79. slsh/lib/slshrl.sl: Added "who" interactive command that shows the
+ names and values of all variables/functions defined at the prompt:
+
+ slsh> x = 1; y = "foo";
+ slsh> who;
+ Integer_Type x=1
+ String_Type y="foo"
+
+80. slsh/lib/print.sl: If the string form of the object ends in a
+ newline, do not write another.
+81. modules/stats.sl: The usage message for Welch's t-test referred to
+ Student's form.
+82. slsh/lib/sldbcore.sl: When entering the debugger_input_loop,
+ initialize the SIGINT handler.
+83. slsh/lib/arrayfuns.sl: New function: rearrange, which may be used
+ to perform an in-place rearrangement of an array or list.
+84. slsh/lib/listfuns.sl: New file that includes various functions
+ dealing with lists and list-based data structures. Currently this
+ includes list_sort and a heap object.
+85. slsh/lib/listfuns.sl: heap_peek was improperly declared.
+86. Numerous changes from int -> SLindex_Type. Note that SLindex_Type
+ is currently typedefed to be an int. For version 3, SLindex_Type
+ will become a long. This change lays some of that groundwork.
+ Similarly, I added SLFUTURE_CONST here and there. Neither of
+ these changes break binary compatibility nor affect the API.
+87. src/slarrfun.c: The prod function for complex numbers had a sign
+ error.
+88. modules/csv.sl: Modify fixup_header_names to work with scalars.
+89. modules/json-module.c: New module provided by Manfred Hanke. To
+ support this module several other changes were made including some
+ additions to the API.
+90. Initial support for 64-bit windows: Use ptrdiff_t instead of long
+ when subtracting pointers. Also json-module added to windows
+ makefiles.
+91. modules/rand.sl: rand_int was not properly handing intervals
+ larger than INT_MAX.
+92. src/slbstr.c: Added bstrjoin and bstrcat intrinsics.
+93. modules/json-module: Modified to use bstrcat. The
+ json_generate/json_parse functions were renamed to
+ json_encode/json_decode.
+94. configure: added support for parsing /etc/ld.so.conf
+95. modules/json.sl: Use bstrcat throughout json_encode; additional
+ renames: generate->encode, parse->decode. (Manfred Hanke).
+96. src/sllist.c: To decrease memory usages by lists, a size hint may
+ be specified upon list creation.
+97. Allow struct field names to be an arbitrary string. When
+ referencing such a field, quotes must be used:
+
+ X = struct {"some-field", some_other_field };
+ X.some_other_field = 3;
+ X."some-field" = 4;
+
+ New struct-related functions were added to the C API:
+
+ SLang_create_struct
+ SLang_push_struct_field
+ SLang_pop_struct_field
+ SLang_pop_struct_fields
+
+98. Changed the json module to use structs instead of associative
+ arrays. (Paul Boekholt).
+99. src/slassoc.c: Add C API SLang_assoc_key_exists (Paul Boekholt).
+100. src/slang.c: Add SLstack_exch and tweak the json module to use it.
+101. src/slang.h: Made the SLcompute_string_hash function public and
+ rewrote the hash table function in the json module to use it.
+102. json-module: Doc updates, use compact encoding by default
+ (Manfred Hanke).
+103. src/slstd.c: Added get_environ intrinsic, which returns an array of
+ the currently defined environment variables.
+104. src/slang.c: Fixed a small memory leak introduced by the byte-code
+ optimizer when dealing with floating point literals.
+105. src/slang.c: The changes added in #104 were a bit too aggressive.
+ I added code so that only literals get freed.
+106. src/slstd.c: OSX has no proper environ, need to use a function
+ call. (Dima Pasechnik).
+107. src/sldisply.c: Added support for an italic attribute if the
+ terminal supports it. This can be enabled using a color name
+ with a qualifier, e.g.,
+
+ SLtt_set_color ("menu", "white;italics", "blue");
+
+ This mechanism has also been extended to other attributes:
+
+ SLtt_set_color ("comment", "black;underline;italics", "cyan");
+
+ (Based upon a patch provided by Egmont Koblinger).
+
+108. *.tm: Documentation updates and corrections. (Agathoklis D.
+ Hatzimanikas)
+109. modules/csv-module.c: The store_value function was not updating
+ the num_allocated variable when resizing the value array. This
+ caused it to fail when reading a CSV table with more than 256
+ data columns.
+110. modules/csv.sl: Since S-Lang structure field names may be
+ arbitrary strings, there is no need to massage the csv column
+ names. (See change 97).
+111. modules/iconv-module.c: If the iconv descriptor has been closed,
+ then do not close it again in the iconv object destructor
+112. src/slproc.c: Added getrusage function to get process resource
+ usage.
+113. modules/png-module.c: Only the first 1/4 pixels of an RGB+alpha
+ image were getting byte-swapped. (RGB images were ok).
+114. configure,*/Makefile.in: rearranged the compiler command so that
+ include flags occur before CFLAGS. This is a protective measure
+ designed to avoid issues when the CFLAGS variable also contains an
+ include path.
+115. slsh/lib/process.sl: Added support to the pre_exec_hook callback
+ function for an optional argument.
+116. Change 107 introduced a cut/paste error that prevented the
+ background color on Windows systems from being properly parsed.
+ (Reported by Frank and Manfred from jed-users).
+117. src/sldisply.c: SLSMG_COLOR_BRIGHT_MAGENTA and
+ SLSMG_COLOR_BRIGHT_CYAN were swapped (patch provided by Thorben
+ from slang-users list).
+118. Updated copyright year for upcoming release.
+119. src/slposdir.c: Added lchown intrinsic.
+120. src/slang.h, src/slpath.c: Added API function SLpath_getcwd
+121. src/slsh.c: Use SLpath_getcwd instead of "." for CWD.
+122. src/slpath.c: Added support for \\netdrive\paths for Windows, and
+ modified SLpath_dirname (path_dirname intrinsic) to perform some
+ expansion of .. and . in path names (e.g.,
+ path_dirname("/foo/../bar") will produce "/" instead of
+ "/foo/..").
+
+ The old bahavior was consident with that of the Unix
+ dirname command:
+ $ dirname `dirname /usr/bin/./slsh`
+ /usr/bin
+
+ The new behavior produces an arguably more accurate result:
+ slsh> path_dirname(path_dirname("/usr/bin/./slsh"));
+ /usr
+
+123. slsh/scripts/badlinks updated to use the fswalk functions
+ (Agathoklis D. Hatzimanikas).
+124. Various documentation updates/corrections (Agathoklis D.
+ Hatzimanikas).
+125. slsh/slsh.c: bumped copyright year.
+126. src/slconfig.h: For non-Unix, HAVE_LSTAT and HAVE_LCHOWN were
+ defined to be 0 instead of undef'd. Also, removed an unused
+ function from slposdir.c and a shadowed variable from slpath.c
+127. documentation updates (Manfred Hanke)
+128. modules/test/: Additional json-modules tests (Manfred Hanke)
+129. src/slarray.c: Allow functions called by array_map to return
+ NULL. (Manfred Hanke)
+130. src/slang.c: Fixed a bug in the short-circuiting of non-boolean
+ expressions.
+131. Updated the NEWS file for release.
+132. documentation updates
+133. autoconf/: Updated configure scripts
+134. src/mkfiles/mkmake.c: Add definitions for SLmalloc/free so that
+ mkmake can be built without the full slang library.
+
+Changes since 2.2.3
+1. src/slpack.c: Typo affecting 64 bit integers ('q' & 'Q') (Paul
+ Boekholt).
+2. src/Makefile.in: Make libslang.so a symlink to libslang.so.2
+ instead of libslang.so.2.2.4 (Miroslav Lichvar)
+3. modules/Makefile.in: Cygwin needs ELFDIR defined (Marco Atzeri).
+4. src/slutty.c: Added additional baud rate values (Sergey Vlasov)
+5. autoconf/configure.ac: Check for socket and socketpair in -lsocket
+ if it is not in libc.
+6. *.tm, src/slstrops.c, src/slbstr.c: Changed occurances to
+ occurrences (Marcel Telka).
+7. src/slparse.c: Increment the _boseos_info value for qualifier
+ expressions.
+8. src/sltoken.c,slparse.c: The semantics of the _boseos_info variable
+ changed such that bos/eos callbacks are not generated for
+ preprocessor #ifeval statements unless bit 0x100 is set.
+9. slsh/scripts/slstkchk: a new script used for running the
+ stack-check debugger.
+10. documentation updates/tweaks (Manfred Hanke).
+11. slsh/lib/rline/histsrch.sl: When building history search
+ completions, use most recent history first.
+12. src/slarray.c: Detect integer overflows for multi-dimensional
+ arrays.
+13. Updated year from 2010 to 2011
+14. src/slcommon.c: Added _slcalloc, _slrecalloc memory allocation
+ functions that check for unsigned integer wrapping. A number of
+ vulnerable calls to SLmalloc were modified to use these functions.
+ (Fixes an issue reported by Pablo Cassatella).
+15. src/slarray.c: Detect attempts to create a 0 dimensional array.
+16. modules/csv.sl: Float and double NaNs were reversed. When
+ normalizing columns names, _ characters were not being properly
+ treated.
+17. doc/tm/rtl/time.tm: Added documentation for timegm (Manfred Hanke).
+18. doc/tm/crtl/slsmg.tm: Corrected prototype for SLsmg_read_raw (Manfred Hanke).
+19. Tweaked doc macros and rebuilt docs.
+20. src/slarray.c: Added a check for too small of a range array
+ increment.
+
+Changes since 2.2.2
+1. src/sltermin.c: Added support for native terminfo binary layouts.
+ Some systems have binary terminfo files that are incompatible with
+ the standard ncurses layout. Use the --terminfo=layout configure
+ option to specify a non-standard layout (hpux11, osf1r5, uwin,
+ aix4, default). This incompatibity was pointed out by River Tarnell.
+2. src/slparse.c: complicated lvalue expressions were not being properly
+ parsed.
+3. src/slstrops.c: Added strskipbytes function.
+4. doc/tm/rtl/*.tm: A number of typos were corrected. (Agathoklis D.
+ Hatzimanikas)
+5. src/slang.c,slparse.c: Qualifiers were not being passed to functions called
+ via derefencing an array of function references, e.g.,
+ (@f[n])(args;q).
+6. src/slparse.c: Flag attempts to call literals as functions.
+7. slsh/lib/process.sl: Added a "dir" qualifier to the new_process
+ function. This allows the subprocess to be started in a specified
+ directory.
+8. src/slrline.c: Added rline_get_last_key_function, which returns the
+ last slang readline key function.
+9. */Makefile.in: Commmened out "DESTDIR=" lines (Marcel Telka).
+10. slsh/lib/rline.sl: Added rline_edit_history (allows the history to
+ be edited in an external editor) and rline_up/down_hist functions.
+11. src/slparse.c: An incorrect check (< instead of <=) was causing -0
+ to generate an error.
+12. .../tm/*: Corrected some documentation typos and spelling errors
+ (Agathoklis D. Hatzimanikas).
+13. doc/tm/rtl/misc.tm: Documented the __tmp function and corrected a
+ few more documentation typos (Agathoklis D. Hatzimanikas).
+14. src/slerrno.c: ELOOP was defined twice (Agathoklis D. Hatzimanikas).
+15. doc/tm/slang.tm: Fixed a few doc errors noticed by Manfred Hanke.
+16. src/slsh/scripts/mv: removed redundant call to rename, and added
+ force, noclobber, and verbose options (Agathoklis D. Hatzimanikas).
+17. src/slsh/scripts/*: changed "static" to "private".
+18. src/sldisply.c: Underlined space characters were not appearing
+ with the underline.
+19. src/sldisply.c: Do not rely upon terminals that can
+ background-color-erase (BCE) to erase using the monochrome attributes (e.g.,
+ underline).
+20. src/slarith.c: Tweaked the %S format to better round decimals with
+ repeated 9s or 0s.
+21. autoconf/mkinsdir.sh: Updated to a newer version of
+ mkinstalldirs.
+22. src/slagetput.c: Change 2.2.2-10 fixed a problem with aget. The
+ same change needed to be made to aput to avoid an access violation.
+23. modules/pcre-module.c: Added support for binary strings (Paul
+ Boekholt).
+24. src/slposdir.c: Added utime function.
+25. slsh/scripts/mv: Added a missing call to stat_file (Agathoklis
+ Hatzimanikas).
+26. src/sldisply.c: Moved the keypad init/deinit code to separate
+ functions for more fine-grained control.
+27. slsh/rline/editor.sl: Added rline_call_editor and rline_edit_line functions
+28. src/slbstr.c: Added is_substrbytes function.
+29. doc/tm/rtl/strops.tm: The strncmp example used strcmp function
+ (Brian Murray).
+30. src/sltermin.c: Changed the search order for terminfo files to:
+ $TERMINFO, $HOME/.terminfo, /usr/local/{etc,share,lib}/terminfo,
+ /etc/terminfo, ...
+31. src/slparse.c: Change #6 triggered an invalid parse error for
+ statements involving foreach-using such as:
+
+ foreach x (y) using ("bar") (@foo)();
+
+32. src/slstrops.c: Added an alternative interface to strreplace that
+ facilitates the most common case where one wants to replace all
+ substrings. The function now supports
+
+ new = strreplace (a, b, c);
+
+ in addition to the older usage:
+
+ (new,m) = strreplace (a, b, c, n);
+
+33. src/sltoken.c,...: Added support for binary integer literals of
+ the form 0b010101. Integers may be formatted as unsigned binary using the
+ %B format specifier, e.g.,
+
+ sprintf ("%B", 5) ==> "101"
+ sprintf ("%#B", 5) ==> "0b101"
+ sprintf ("%#8B", 5) ==> " 0b101"
+ sprintf ("%#.8B", 5) ==> "0b00000101"
+ sprintf ("%#12.8B", 5) ==> " 0b00000101"
+
+34. src/slarith.c: ullong_to_binary was not getting defined on systems
+ where sizeof(long)==sizeof(long long). (Mark Olesen).
+35. src/slsh.c: The stat_mode_to_string function was using 'f' unstead
+ of 'p' for FIFOs. (Agathoklis Hatzimanikas).
+36. src/slarray.c: Switched to using mergesort instead of qsort and
+ added support for sorting non-array types. For details, see the
+ updated documentation for array_sort.
+37. src/slarray.c: Reduced the memory requirments for the mergesort
+ function, which produced a 5% speed improvement.
+38. src/slarray.c: Added support for qsort to array_sort. See the
+ updated documentation for details.
+39. src/slparse.c: Added a syntax enhancement to structs and
+ qualifiers to allow the fields of structure-valued expressions to
+ be used to define the structure. For example:
+
+ space = struct {x, y, z};
+ spacetime = struct {@space, t};
+
+ Here spacetime is a structure containing 4 fields: (x,y,z,t). In
+ this context, @ is not a dereference operator. Rather it is used
+ to tell the parser that the following expression is a structure
+ valued.
+40. src/slcommon.c: SLmalloc inherited malloc's undefined behavior
+ when 0 bytes were requested. The change will cause SLmalloc to
+ allocate at least 1 byte if the OS version of malloc returns NULL
+ for 0 byte sizes.
+41. src/slclass.c: The default dereference method for all scalar and
+ vector classes was changed from undefined to duplicate. That is,
+ @7 will produce 7 instead of triggering a method-undefined
+ exception.
+42. src/slwclut.c: Added \x\c\p\,\g character classes to strtrans (See
+ strtrans doc).
+43. src/*.c: Made numerous int->SLindex changes to match function
+ prototypes. Note that SLindex_Type is currently typedef'd to be
+ an int, but if that ever changes, these changes will be necessary.
+ I also added SLang_push_array_index to the public API. Also
+ updated copyright year since a number of files changed.
+44. src/slarrfun.c: change 43 would not compile on 64 bit systems.
+45. src/slnspace.c: the apropos function was not returning float,
+ short, long, and long long constants.
+46. src/slarith.c: If LLONG_MAX is not defined, and sizeof(long long)
+ is 64 bits, then use the standard value.
+47. src/slang.c: long long constants were not working.
+48. slsh/lib/process.sl: modes[i] was being set after i was bumped.
+ This caused modes[0] to be NULL.
+49. slsh/lib/slshrl.sl: If the first word is callable, and is followed
+ by a ',', then add parenthesis, i.e., "print,7" ==> "print(7);".
+ Note: this is a commandline convenience feature and has nothing to
+ do with the slang syntax.
+50. slsh/lib/rline/complete.sl: Attempt to complete structure field
+ names.
+51. src/slrline.c,slsmg.c,sldisply.c: Added support for multiline
+ readline.
+52. configure,src/*.hin: Added autoconf support for size_t.
+53. src/slang.h,...: Added 'typedef unsigned in SLstrlen_Type' to
+ create migration path for size_t in place of unsigned int.
+54. src/slstrops.c: New intrinsics:
+
+ islower, isupper, isxdigit, isalnum, isalpha, iscntrl, isprint,
+ isgraph, ispunct, isblank, isspace, strskipchar, strbskipchar
+
+ The latter two functions play a role in the context of the
+ variable length UTF-8 encoding
+ encoding analogous to that of ch=*s++ and ch=*s-- in a fixed
+ encoding.
+55. slsh/lib/rline/editfuns.sl: Used functios in change #54 to implement
+ bskip_word and skip_word readline functions.
+56. src/slstrops.c: Added isascii, and updated docs.
+57. src/sldisply.c: _pSLtt_cmdline_mode_reset will also clear to the
+ end of the screen.
+58. mingw32 compilation problems: typo in src/slconfig.h;
+ src/slarrfun.c: missing '#ifdef HAVE_LONG_LONG'.
+59. src/slsmg.c: Change #51 introduced a bug that manifests itself
+ when expanding a tab at the right edge of the display.
+60. src/slarrfunc.c: If contracting an empty array over all dimensions
+ to produce a scalar, clear the transfer buffer.
+61. src/slarrfun.c: If a scalar is passed to array_reverse, then do
+ nothing.
+62. src/slarith.c: LONG_MIN/MAX values were placed in an integer
+ contant table instead of a long integer table.
+ SLadd_lconstant_table added to the interface.
+63. src/slsmg.c: Change 51 introduced a bug in SLsmg_write_chars when
+ SLsmg_Newline_Behavior != SLSMG_NEWLINE_IGNORED.
+64. autoconf/config.sub+config.guess updated.
+65. src/slstrops.c: If a delimiter is not passed to strjoin, assume
+ the empty string.
+66. modules/test/test_rand.sl: Some integer constants changed to
+ unsigned values.
+67. src/slstruct.c: tweak code to remove a false uninitialized
+ variable warning.
+68. src/slarray.c: fix NULL pointer deref from invalid binary
+ operation Array_Type[N]+[1:N].
+69. src/slang.c: '>' instead of '<' should have been used in in the
+ try/catch code when decrementing the frame pointer.
+70. src/slparse.c: Method qualifiers were getting lost when called
+ from the constructor, e.g., new_object(arg1;qual1).method(arg;qual2)
+71. src/sltoken.c: preprocessor statements #if, #ifeval, and #ifexists
+ will use the (non-anonymous) namespace of the file containing the
+ statements.
+72. src/slang.c: _pSLlocate_name return NULL instead of an exception
+ if the name contains a non-existent namespace.
+73. Removed excess whitespace from all files (*.c, *.h, *.tm, *.sl, ...).
+74. src/slang.c: define MAX_USER_BLOCKS to be 5, and use it instead of `5'.
+75. src/slsignal.c: Use (char*)NULL instead of NULL in call to execl
+ to avoid a compiler warning on OpenBSD.
+76. src/slproc.c: define _XOPEN_SOURCE_EXTENDED to be 1 instead of
+ just defining it. This pulls in some prototypes on OpenBSD.
+77. src/slmath.c: The hypot intrinsic was modified to work with N
+ arrays instead of just 2. (Manfred Hanke)
+78. src/slarith.inc: Use doubles for intermediate calculations when
+ double is the expected result. This avoids some integer overflows
+ (Matthias Kühnel, Michael Wille, Manfred Hanke).
+79. src/slparse.c,slang.c: Added FOREACH_EARGS byte-code that will
+ implicitly call the __eargs function. This avoids a problem with
+ the standard FOREACH bytecode if a hook gets called after __eargs
+ but before the FOREACH byte-code executes.
+80. src/slstrops.c: The pos argument to the string_match and
+ string_matches function was made optional (defaults to 1).
+81. src/slstring.c: Use _pSLuint32_Type instead of unsigned long for
+ hashes since the hash algorithm was designed for 32 bits.
+82. src/slstd.c: Save the pointer passed to putenv to a global array
+ so that leak checkers can find it. The reason for this is that
+ some libc implementations copy the pointer but others do not.
+83. src/slang.c: An off-by-one error was causing a stackunderflow
+ error when handling a exception list in a try-catch statement.
+84. slsh/lib/arrayfuns.sl: Add support for empty arrays to the shift
+ function (Manfred Hanke).
+85. */examples/*.sl: Various updates and corrections (Manfred Hanke).
+86. src/sllist.c: A extra call to SLang_free_mmt was causing a list to
+ be freed when set via an index array.
+87. src/slstrops.c: Vectorized strlow/strup intrinsics.
+88. src/slmath.c: Add support for more than 2 arguments to the
+ _min/_max functions (Manfred Hanke).
+89. src/sllist.c: Added list_join, list_concat intrinsics (Mike Noble).
+90. slsh/lib/setfuns.sl: adds unique, intersection, complement, union
+91. modules/csv.sl: Added a module to support the reading and writing
+ of comma separated values (csv) formatted files.
+92. Some documentation corrections (Manfred Hanke).
+93. src/slmath.c: In the hypot function, use the convenience function
+ do_binary_function_on_nargs instead of an explicit loop. (Manfred
+ Hanke).
+94. modules/tm/slsmg.tm: Manfred Hanke has started documenting the
+ slsmg module. He also provided a new example (slsmgex2.sl).
+95. src/slnspace.c,slang.c: Free up some memory associated with
+ namespaces upon exit.
+96. src/slposio.c: added ttyname intrinsic
+97. autoconf/slang.pc: Use @libdir@ instead of assuming $prefix/lib.
+98. modules/csv.sl: The read_cols method allows the type qualifier to
+ be a string of type specifiers, e.g., types="liff". This is
+ equivalent to types=['l', 'i', 'f', 'f'].
+99. src/sltime.c: Added timegm, which is the inverse of gmtime. I
+ also made changes to the time functions so that time_t is not
+ assumed to be a long. This means that _time may produce a
+ longlong integer on some platforms.
+100. modules/cmaps/coolwarm.map: A color map by Kenneth Moreland.
+101. modules/png-module.c: Use png_set_expand_gray_1_2_4_to_8 instead
+ of png_set_gray_1_2_4_to_8 if available (patch forwarded from Marco
+ Atzeri).
+102. src/slcommon.c: Code using __libc_enable_secure was removed
+ (patch forwarded from Marco Atzeri)
+103. src/sldisply.c: Added some termcap compatibility functions that
+ were ifdefed out in v2.2.2 but were made available by some linux
+ distributions for code to use: SLtt_tgetent, SLtt_tgoto,
+ SLtt_tputs (patch forwarded by Marco Atzeri).
+104. autoconf/aclocal.m4,configure.ac: Various updates by Marco Atzeri
+ including a cygwin specific change.
+105. autoconf/aclocal.m4: Missing hyphen for ELFLIB_MAJOR on cygin
+ (Marco Atzeri).
+106. slsh/lib/doc/tm/setfuns.tm: Add newlines to the note1 macro
+ (Manfred Hanke).
+107. src/slang.c: change #5 caused a problem evaluating the bytecode
+ produced by preparsed files (.slc) produced by slang v2.2.2.
+108. modules/tm/csvfuns.tm: Documentation updates
+109. src/sldisply.c: slsh would exit if the underlying terminal was
+ unknown because _pSLtt_init_cmdline_mode was returning a fatal
+ error.
+110. configure, *Makefile.in,etc: Made changes so that ARCH
+ environment variable influences where the .o files are placed.
+ The INSTALL.unx file documented this feature but the slsh and
+ modules Makefiles did not implement this.
+111. */mkfiles/makefile.all: Added WFLAGS to mingw sections to allow
+ the warning flags to be specified independently of the CFLAGS.
+112. src/slang.c,_slang.h: Changed `#if HAVE_LONG_LONG' to `#ifdef
+ HAVE_LONG_LONG' in a few places.
+113. src/slstrops.c: A number of string functions have been vectorized
+ to work on arrays of strings. These include:
+
+ is_substr str_delete_chars strbytelen strcharlen strcmp
+ strcompress strlen strlow strnbytecmp strncharcmp strncmp
+ strtrans strtrim strtrim_beg strtrim_end strup
+
+114. modules/Makefile.in: Change #110 introduced a bug
+ that caused the modules to always be need rebuilding.
+115. src/sltoken.c: Change #if HAVE_LONG_LONG to #ifdef HAVE_LONG_LONG.
+116. src/slmath.c: Tweaked the Kahan sum for the hypot function.
+117. slsh/readline.c: Added __rline_init/reset_tty functions and used
+ them in the rline editor routines to reset the terminal before
+ calling an external editor. This avoids problems when the editor
+ is subsequently suspended.
+118. modules/csv.sl: Typo causing a bug involving the mapping of string valued
+ column-specifiers to column numbers by csv.readcol. (Paul Boekholt)
+119. doc/tm/rtl/strops.tm: Typo in sprintf documentation (Andreas
+ Irrgang).
+120. src/sltime.c,slposio.c: Avoid certain posix *_r functions if
+ _POSIX_C_SOURCE is too old.
+
+Changes since 2.2.1
+1. src/slsmg.c: Call SLutf8_enable if UTF8 mode has not been setup.
+2. src/slutty.c: Allow the hook that gets called when the read
+ function gets interrupted to change the read file descriptor.
+ Before, if this happened, the SLang_getkey function would return
+ SLANG_GETKEY_ERROR.
+3. lib/slsh/print.sl: Turn off buffering of the pager pipe.
+4. modules/tm/*.tm: A couple of typos corrected (John Houck)
+5. src/slmath.c: The round function was not correctly rounding values
+ between 0.5 and 1.0.
+6. src/slstdio.c,slclass.c: If a call to fwrite produces errno=EPIPE,
+ then do not bother trying the write again.
+7. modules/fork-module.c: Use WIFCONTINUED only if it is defined.
+8. slsh/Makefile.in: Change the order of the libraries such that the
+ newly built ones will be found first. (Markus Hennecke)
+9. src/slagetput.inc: Avoid possible access violation when using a
+ range array as an index.
+10. doc/tm/rtl/lists.tm: Documented the optional argument to the
+ list_to_array function (Manfred Hanke).
+
+Changes since 2.2.0
+1. modules/socket-module.c: glibc-2.8 removed the h_addr macro.
+2. src/slclass.c: Call clearerr before performing the
+ stdio_fread/fwrite functions.
+3. src/slstdio.c: typeof in the fputs intrinsic fixed (n instead of dn
+ was compared to 0).
+4. src/slscanf.c: sscanf will treat NaN and Inf in a case-insensitive
+ manner. Also, the NaN([a-zA-Z0-9]*) form is also supported.
+5. src/slang.h: SLclass_set_aelem_init_function was missing from the
+ API.
+6. src/slmath.c: The expm1 and log1p functions were returning NaN when
+ given Inf arguments.
+7. src/slmath,c: log1p(-1) produced nan instead of -inf.
+8. configure: Added pkg-config support (based upon a debian patch sent
+ to me by Luca Bigliardi).
+9. doc/tm/rtl/math.tm: Updated the help for set_float_format and added
+ documentation for the get_float_format function.
+10. autoconf/slangpc.in: Added URL and Libs.private entries to the
+ slang.pc pkg-config file.
+11. src/slang.h: prototype for SLang_create_array1 missing from slang.h.
+12. src/slcurses.c: Added debian patch that adds support for
+ additional graphics characters (DIAMOND, DEGREE, etc...).
+13. doc/tm/slang.tm: Added a small section about arrays of arrays.
+14. src/slang.c: __builtin_expect is used for the stack functions if
+ compiled with gcc.
+15. src/*.c: A few public variables were not explicitly initialized
+ to 0. Apparantly not doing so causes them not be be exported from
+ the windows DLL.
+
+Changes since 2.1.4
+1. modules/termios-module.c: Added the VMIN constant (Laurent Perez).
+2. src/slbstr.c: Added foreach method to BString_Type objects.
+3. module/zlib-module.c: New module that wraps libz
+ (compression/decompression library).
+4. doc/tm/rtl/: Some documentation updates
+5. configure: Added messages about what extra modules will and will
+ not be built.
+6. modules/mkfiles/makefile.all: Added zlib module to the makefile.
+7. autoconf/configure.ac: Fixed the spelling oniguruma (Peter J. Ross)
+8. src/slang.c,slparse.c,sltoken.c: Added 'break n' and 'continue n'
+ statements.
+9. src/slang.c: break-n and continue-n were not being properly handled
+ when used outside a function.
+10. src/slparse.c, sltoken.c: Added the C-like ternary-expression
+ "condition ? foo : bar".
+11. src/sltoken.c: Added support for mult-line strings:
+
+ "This is a \
+ multiline \
+ string".
+
+ `This is another
+ multiline
+ string.`
+
+ Note that the backquoted does not require a backslash at the end
+ of lines.
+12. src/sltoken.c: When reading subsequent lines of a multiline
+ string, increment the readline parse_level.
+13. src/sltoken.c: When performing backslash expansion, if a solitary
+ backslash occurs at the end of a line, or is preceeded by a
+ newline at the end of a line, then ignore it.
+14. src/slexcept.c: The use of an ERROR_BLOCK was causing the pointer
+ holding the name of the function with the error to be freed twice.
+15. slsh/lib/rline/*keys.sl: Bind "\n" to the readline "enter" function.
+16. src/sltoken.c: Improved and simplified the way operators are
+ mapped to tokens.
+17. slsh/lib/sldbcore.sl: sldb was printing all the elements of a
+ container object when using the "p" command.
+18. src/slarrfun.c: Added a "sumsq" function, which sums over the
+ squares of the elements of an array.
+19. src/slsignal.c: Added SLsystem_intr, which unlike SLsystem does
+ not ignore SIGINT by the calling process. This function is
+ available to the interpreter via system_intr.
+20. doc/tm/rtl/debug.tm: Documentation for the call stack frames added
+ (Jörg Sommer).
+21. src/slarrfun.c: array_reverse was producing an index-error when
+ passed an empty array.
+22. src/slcurses.c: SLcurses_initscr calls SLutf8_enable (Michal
+ Ratajsky).
+23. src/slang.c, slparse.c: "then" clauses were not being executed for
+ top-level looping statements (statements occuring outside function
+ definitions).
+24. src/slang.c: Change #23 was causing byte-compiled (.slc) files
+ from previous versions of jed to be misinterpreted.
+25. modules/zlib-module.c: The error message associated with
+ ZLIB_DATA_ERROR was incorrect (Paul Boekholt).
+26. src/slarray.c: Fixed a bug involving due to an overzealous __tmp
+ optimization involving binary operations between arrays of arrays.
+ Fortunately the bug manifests itself in a useless context.
+27. src/slstring.c: Improved performance of SLang_concat_slstrings
+ function. (Paul Boekholt)
+29. src/slang.c: When adding two strings together, make a direct call
+ to SLang_concat_slstrings avoiding some function call overhead.
+30. src/slmath.c: Added expm1 and log1p functions.
+31. src/slmath.c: If hypot is passed a single array X, then it will
+ compute sqrt(sumsq(X)), which is useful for computing the norm of
+ a vector represented by X.
+32. src/slarith.c: Changed the default floating point format to %S,
+ which means that the floating point number will be formatted in a
+ slang specific way to preserve the precision of the number such
+ that x == atof (string(x)).
+33. src/slarray.c: Passing an object to size_t to SLmalloc was
+ resulting in a SEGV on 64 bit systems.
+34. src/slbstring.c,slang.c: Small modifications to generalize the __tmp
+ optimization to binary-strings.
+35. src/slstrops.c: Changed strcpy to memcpy where permissible (Paul
+ Boekholt).
+36. src/slarray.c: __tmp optimization of binary optimization was not
+ obeying the READONLY flag.
+37. src/slang.c: __tmp optimization for struct.field OP= value.
+38. src/slarith.c: For floating point types, the %S format specified
+ will always print the decimal point or exponent.
+39. src/slmisc.c, sltoken.c: Added parser checks for overflows of
+ literal integer constants.
+40. src/slarith.c: Change #38 resulted in decimal points in inf and nan.
+41. src/slarithlc: By default, a floating point number x, where
+ |x|>=1e6 is printed in exponential form.
+42. src/slparse.c: Added looping context checks for break and continue
+ statements.
+43. src/slang.c: Small tweak to inner_interp to improve
+ branch-prediction (Paul Boekholt)
+44. src/slang.c: Optimized additional byte-code combinations.
+45. src/sldisply.c: On TERMCAP based systems, the "ac" capability was
+ being returned as the address of a local variable (Szalai Andras).
+46. src/slrline.c: The SLrline_redraw function was not properly
+ setting the last_nonblank_column variable.
+47. src/slstd.c: SLang_Doc_Dir was implicitly defined to be an int
+ when SLANG_DOC_DIR is defined. (Jon Parise)
+48. src/mkfiles/makefile.all, src/slconfig.h: Visual Studio tweaks
+ (Jon Parise).
+49. modules/module.c: Added sockerpair to the module.
+50. src/slang.c: The string representation of a Ref_Type will show the
+ namespace prefix, e.g, "&ns->foo". Also the __get_reference
+ function was modified to ignore a leading '&'.
+51. src/slposio.c: Added dup2_fd intrinsic (a wrapper around dup2).
+52. modules/fork-module.c: New module (fork, waitpid, exec*, ...)
+53. src/slagetput.inc: a[i]=b was sometimes resulting in a buffer
+ overflow when i had elements outside the range of a.
+54. modules/select-module.c: A small memory leak was corrected.
+55. doc/*.tm: Some documentation updates.
+56. src/slposio.c: Allow a file descriptor to be fdopen'd multiple times.
+57. src/slstdio.c, src/slclass.c: Restart the fread/fwrite calls
+ calls when interrupted by a signal.
+58. src/slcommon.c: SLang_handle_interrupt will preserve errno.
+59. src/mkfiles/makefile.all: Updated for newer versions of Visual C
+ (Jon Parise).
+60. src/slang.c: set_array_lvalue was not preserving
+ SLang_Num_Function_Args.
+61. src/slang.c,sig.c: Continual bombarding the interpreter with
+ signals revealed a subtle race condition in the interpreter's
+ implementation of signals.
+62. src/sllist.c: Added list_to_array intrinsic function:
+ array = list_to_array (list [,type])
+63. .../makefile.all,slsh/slsh.c: Additional Visual C updates. Also, io.h is
+ needed to compile slsh Visual C. (Jon Parise)
+64. src/slproc.c: added killpg intrinsic
+65. modules/sysconf.c: Wrappers around the sysconf, pathconf, and
+ confstr posix function.s
+66. modules/fork-module.c: Added the pipe intrinsic.
+67. src/slexcept.c: Added traceback info to the exception object.
+68. src/slposio.c: Added a _close intrinsic, which takes an integer
+ file descriptor instead of the corresponding slang object. A
+ _fileno intrinsic was also added that returns the integer
+ descriptor. A bug in the dup2 intrinsic added in change 51 was
+ fixed.
+69. src/slstruct.c: Added aget/aput methods for user-defined types.
+70. src/slang.c: handle_signals was made reentrant.
+71. modules/fcntl-module.c: Accept an int as a file descriptor.
+72. src/slposio.c: @FD_Type(int) may be used to convert an int into
+ the corresponding FD_Type object.
+73. modules/sysconf-module.c: Added #ifdefs for HAVE_SYSCONF, etc.
+74. modules/zlib-module.c: Added #ifdefs for the ZLIB constants
+75. src/slstdio.c: Rewrote fputs intrinsic in terms of fwrite to
+ better deal with EINTR. Also, fopen, fclose and fflush are
+ restarted upon EINTR.
+76. src/slstring.c: Avoid a problem where the first n bytes of a
+ string hashes to the same location as the full string.
+77. src/slparse.c: Reworked the integer-overflow code.
+78. src/*.h: Updated Unicode tables to v5.1.
+79. src/slwclut.c: Added \7 to indicate a 7 bit character class.
+80. slsh/lib/readascii.sl: The readascii function defaults to using
+ double precision instead of single.
+81. src/sllist.c: Change the chunk size and how it is allocated to be
+ more cache friendly.
+82. src/slstrops.c: Added string_matches, which combines the
+ operations of string_match and string_match_nth.
+83. modules/fork-module.c: Restart waitpid if EINTR received.
+84. slsh/lib/process.sl: A new process module for creation of child
+ processes, pipelines, etc.
+85. slsh/lib/process.sl: If no qualifiers were passed, list_to_array
+ was failing on an empty list.
+86. src/sllist.c: improved indexing performance.
+87. src/slproc.c: Added getsid
+88. modules/onig-module.c: Added BString_Type support to onig_search
+ (Paul Boekholt).
+89. src/slmath.c: The calling syntax of the polynom function was
+ simplified and extended to support arrays. As such, this function
+ is not backwards compatible.
+90. src/slang.c: Added optimizations for the power operation a^b.
+91. src/slstruct.c; Added an struct-specific acopy function instead of
+ using the default.
+92. src/slarray.c: streamlined the case of getting a single array
+ element of non-scalar types.
+93. src/slang.c: Additional optimizations involving binary expressions.
+94. src/slparse.c: Avoid an explicit chs bytecode for negative
+ floating point literals.
+95. src/slang.c: optimization tweak for expressions involving
+ scalar assignments to an array element.
+96. src/slang.c: change #93 introduced a small leak.
+97. src/slang.c: optimization tweak involving pushing the value of a
+ structure field.
+98. src/slstdio.c: If fread/fwrite returns a short, non-zero item count,
+ clear the error and try again.
+99. src/slstdio.c: If fflush appears to succeed, check ferror and if
+ errno==EINTR, try it again.
+100. src/slproc.c: Added get/setpriority functions.
+101. src/slstdio.c: Added setvbuf
+102. src/slproc.c: Added the "static" to the get/setpriority wrappers.
+103. doc/tm/: Updated docs and reprocessed with an upgraded version of
+ linuxdoc. Unfortunately, a table of contents for the text files
+ is nolonger generated by linuxdoc.
+104. src/slang.c: Added inline support for the bit-wise binary
+ operators.
+105. src/slang.c: Optimized pushing arbitrary single 1d array elements.
+106. src/slang.c: Optimization tweak for assigmnents to structure
+ fields.
+107. src/slang.c: Reordered some of the code in the inner_interp
+ switch statement and optimized some of the code that deals with
+ assignments to global variables. The latter change improves the
+ performance of the profiler a bit.
+108. src/slang.c: If an intrinsic takes no arguments and returns
+ nothing, then call it directly from inner_interp.
+109. src/sltype.c: Added __datatype intrinsic, which is the opposite
+ of the __class_id function.
+110. src/slang.c: set_struct_obj_lvalue was not always incrementing a
+ reference count on non-struct objects with struct semantics.
+111. src/slarith.c: On a system where sizeof(long)==sizeof(long long),
+ omit the long-long specific functions.
+112. modules/pcre.sl: Added pcre_matches function that combines the
+ other pcre functions into a simple to use form.
+113. src/sltoken.c,slparse.c: Overflow check was failing on 64 bit
+ systems.
+114. src/sltoken.c: If the default read method encounters a too long line,
+ then issue an error instead of passing it back up for the parser
+ to handle.
+115. src/sltoken.c: preparsed files were being mishandled by #114.
+116. src/sllist.c: Added array indexing support to list objects.
+117. src/slarrfun.inc: Tweaked the implmentation of Kahan sums.
+118. src/slmath.c: An optional argument may be provided to the polynom
+ function to indicate that the kth term should be divided by k!.
+119. src/slmath.c: Added frexp and ldexp intrinsic functions.
+120. src/slmath.c: #119 introduced a typo that was preventing
+ compilation on systems that lack frexpf.
+121. src/slarray.c: When indexing a scalar as an array, allow the use
+ of multiple indices, e.g., x=2; y=x[0]; z=x[0,0]; w=x[0,0,0];
+122. slsh/lib/readascii.sl: When reading the first column as a string, comments
+ were not getting ignored.
+123. slsh/lib/rline/emacskeys.sl: The IBMPC_SYSTEM preprocessor macro
+ was used but not defined causing readline to fail on windows.
+124. Updated copyrights on files for upcoming release.
+125. doc/tm/slang.tm: Add documentation for the looping-then clause,
+ and various other documentation tweaks.
+126. src/slconfig.h: non-Unix systems: Remove defines for mode_t etc.
+ Define HAVE_POPEN for MINGW32.
+127. slsh/lib/print.sl: Do not attempt to call popen unless it
+ actually exists.
+
+Changes since 2.1.3
+1. src/slang.c: The identifier syntax was not being checked for
+ symbols added to the global namespace.
+2. slsh/slsh.c: If ENV_SLSH_PATH is undefined, set it to SLSH_PATH
+3. */mkfiles/*: Modified the various makefile.all files to facilitate
+ mingw32 builds. Read INSTALL.pc for quick-start.
+4. mkfiles/install.sl: Added a function to install the slang docs
+5. src/slvideo.c: #define UNICODE so that wide-character functions are
+ used instead of byte functions. Also codepage set to 65001 in
+ unicode mode.
+6. src/slvideo.c: Added SLtt_is_utf8_mode.
+7. src/sltermin.c: Added support for new ncurses hex-encoded terminfo
+ directories.
+8. slsh/lib/tm/cmdopt.tm: Missing commas in the documentation for
+ cmdopt_add. (Doug Burke).
+9. src/slarrmisc.inc: Changed inner-product code to use block arrays
+ to be more cache friendly. Since the block size is cpu-dependent,
+ __get/set_innerprod_block_size functions have been added. The
+ default value is controlled by a variable in src/sllimits.h.
+10. modules/termios-module.c: Added additional termios constants
+ (Laurent Perez).
+11. src/slarray.c: Better optimization when indexing arrays with
+ ranges.
+12. src/slsignal.c: If SLsystem fails, set the interpreter's errno
+ value accordingly.
+13. modules/rand-module.c: A uniform random number generator module,
+ which also provides generators for some well-known distributions.
+14. src/*.c: Changed field name for SLang_Object_Type.data_type to
+ o_data_type.
+15. src/slang.c: Optimization tweaks to improved performance for small
+ arrays and indexing via scalar indices.
+16. doc/tm/rtl/stack.tm: Typos in the example for __pop_list corrected
+ (Doug Burke).
+17. src/slang.c: Improved optimizations for scalar arithmetic
+ operations.
+18. src/slarray.c: slices such as A[*,[0:-1],*] of multi-dimensional
+ arrays were producing single dimension ones.
+19. src/sltoken.c: Changed the semantics of the
+ SLang_set_verbose_loading function. Previously this function
+ accepted a zero or non-zero value to disable or enable loading
+ messages for .sl files. Now this integer value is a bitmapped
+ one: If bit 0 is set, loading messages will be generated for .sl
+ files. If bit 1 is set, messages will be generated for
+ dynamically loaded modules.
+20. slsh/slsh.c: Calling slsh with -v will generate loading messages
+ for both modules and slang files. I also created a new
+ slsh-specific intrinsic called set_verbose_loading and bumped the
+ slsh version number.
+21. modules/cmaps: Added "ds9b" and "ds9sls" colormaps --- these correspond
+ to analogous colormaps in saotng ds9.
+22. utf8/tools/mktables: Characters with general category "Mc" or in
+ the bi-directional category are nolonger flagged as combining characters.
+23. utf8/tools/: Updated unicode database from 3.2 to 5.0 and
+ recreated the internal character set tables.
+24. src/slsmg.c: If an ambiguous-width unicode line drawing character
+ is double width, then use a single-width alternative (Sugiyama).
+25. src/slsignal.c: Call SLang_handle_interrupt when system calls are
+ interrupted.
+26. src/slarray.c: Speed improvements when transferring elements from
+ one array to another via range indices, e.g., a = b[[1:9]];
+27. src/slarrfun.c: transpose of multi-dim non-scalar arrays was using
+ unitialized memory.
+28. src/slarray.c: Improved speed of binary arithmetic of range arrays.
+29. src/slstd.c: atoi, atof, atol, atoll, and integer now accept an array
+ arguments.
+30. demo/pager.c: args swapped in call to memset (Dave Jones
+ davej at redhat)
+31. src/slstring.c: Move last used string in the hash table to the top
+ if it is more than a few deep.
+32. slsh/doc/tm/slsh.1: Added a small section to the slsh man page
+ about customizing the readline environment.
+33. slsh/etc/slsh.rc: changed dir_exists from static to private
+34. src/slposio.c: The low level read/write functions should not be
+ restarted when errno is EAGAIN.
+35. src/sltoken.c: When run in verbose mode, SLns_load_file will
+ display the name of the namespace the file is being loaded into when
+ the namespace is not the Global one.
+36. slsh/lib/require.sl: If the "feature" is a filename, then
+ automatically "provide" that feature.
+37. slsh/lib/tm/require.tm: Fixed the typos for the require function.
+38. src/slstrops.c: Until `|' is supported in REs, glob_to_regexp
+ cannot be made to produce a single RE that does not match leading
+ dots. Hence, the glob expression "*X" will match ".X".
+39. slsh/lib/glob.sl: Changed to compensate for modification to
+ glob_to_regexp. That is, glob("*X") will not match the file ".X",
+ which preserves the bahavior of the glob function.
+40. src/slcommon.c: On win32 systems, if the codepage is 65001, then
+ use UTF-8 mode (Thomas Wiegner).
+41. src/slarray.c: Trivial change to avoid a warning in gcc
+ about the possible use of an uninitialized variable.
+42. slsh/slsh.c: Added -q, --quiet command line option to inhibit the
+ printing of the startup messages.
+43. slsh/lib/print.sl: Added pager[=val] and nopager qualifiers to the
+ print function. Also if printing a single structure, each field
+ will appear on a separate line.
+44. src/slstrops.c, src/slbstr.c: Added count_char/byte_occurances
+ function to count the number of occurances of a specific character
+ or byte in a string.
+45. src/slparse.c: &if was causing a SEGV.
+46. src/slstd.c: Added get_float_format intrinsic.
+47. doc/tm/Makefile: Added rules to make cref.pdf
+48. slsh/lib/print.sl: Updated the usage message for the print function.
+49. src/slang.h: Added __attribute_(format(printf)) to SLsnprintf
+ prototype.
+50. src/*.c: Function prototypes were changed from, e.g.,
+ char *SLang_create_slstring (char *);
+ to
+ char *SLang_create_slstring (SLFUTURE_CONST char *);
+ where SLFUTURE_CONST is defined to have no value. As a result,
+ these changes has no effect at present but will in a future
+ version (slang-3) where SLFUTURE_CONST will be defined to be
+ `const'. The use of `const' now would constitute a major API change,
+ which is not permitted until a new major version is released.
+51. src/slmisc.c: SLFUTURE_CONST added to SLextract_list_element
+ prototype.
+52. src/slang.h: Added SLFUTURE_CONST to arg_type field of
+ SLcmd_Cmd_Type object.
+53. src/slarith.c: The return value of fmod was being truncated to
+ single precision.
+54. doc/tm/cslang.tm: COLORTERM was used instead of COLORFGBG (Nathan
+ Stratton Treadway).
+55. configure,*/Makefile.in: Haiku systems do not require -lm. -lm
+ was replaced */Makefile.in by @M_LIB@ which is not set from the
+ configure script. (Scott McCreary)
+56. src/slutty.c,src/slidsply.c: More Haiku-specific patches from
+ Scott McCreary.
+57. mkfiles/makefile.m32: Made changes to work with recent versions of
+ mingw32 and added a silly hack to work-around CMD.EXE
+ interpretation of '=' as whitespace on the command line.
+58. doc/tm/rtl/rline.tm: New file containing documentation for
+ intrinsic functions dealing with the slang readline interface.
+59. slsh/lib/print.sl: If a string is passed as a file descriptor to
+ the print function, then regard the string as a filename.
+60. src/Makefile.in: Added _slang.h and sllimits.h as a global
+ dependency.
+61. slsh/lib/tm/print.tm: Documented the slsh print function.
+62. slsh/lib/print.sl: Rewrote and simplified the code that prints to
+ the various output "devices" by using a device-object.
+63. autoconf/Makefile.in: Added src/Makefile.in as a dependency.
+
+Changes since 2.1.2
+1. autoconf/Makefile.in: If any */Makefile.in is more recent than the
+ corresponding Makefile, request that the configure script be rerun.
+2. src/slcmplex.c: If the complex number z is 0, then return 1 for z^0.
+3. src/slerr.c: SLang_set_error: If the error code is
+ SL_UserBreak_Error, then do not add a string representation to the
+ queue in case this function was called from a signal handler. This
+ avoids a call to malloc, which is generally a bad idea on systems
+ where malloc is not reentrant.
+4. slsh/lib/sldbcore.sl: The "c" alias was not working. (John Houck)
+5. src/slsmg.c: Avoid a possible segv if SLsmg_Scroll_Hash_Border is
+ greater than the display size. (Miroslav Lichvar).
+6. src/slang.c: Line number information was not always getting
+ propagated in slang code involving function dereferences, e.g.,
+ (@funcptr)(args). The bug-fix checks to see that funcptr is
+ callable.
+7. src/slparse.c: Generate bos/eos byte-code for empty code blocks,
+ e.g., while (1){}.
+8. lib/sldbcore.sl: When exiting the debugger via the "exit" command,
+ the old SIGINT handler was not getting installed.
+9. src/slang.c: Make sure check_signals gets called when returning
+ from inner_interp.
+10. src/slsig.c: If a slang script establishes a signal handler for
+ SIGINT, then set SLKeyBoard_Quit to 1 if SIGINT is received.
+11. src/slstruct.c: New intrinsic:__add_typecast. This may be used to
+ define a typecast function for a user-defined type.
+12. autoconf/aclocal.m4: Added support for ncurses5-config to query
+ the terminfo path (Wenchieh Yen).
+13. src/slang.h: If __APPLE__ is defined, then also define __unix__.
+14. src/slmath.c: Avoid a NULL pointer dereference when feqs(a,b) is
+ called with mixed scalar and array arguments.
+15. src/slsmg,c: Avoid writing a double-wide character to the last
+ column of the display.
+16. src/sltermin.c: Search the autoconf-derived terminfo dirs before
+ the hard-coded paths (Wenchieh Yen).
+17. doc/tm/rtl/math.tm: feqs documentation updated to reflect a
+ default relative difference of 0.01.
+18. doc/tm/rtl/eval.tm: In one example, get_path_delimiter is
+ incorrectly used (Frank Primini).
+19. src/slstrops.c: Memory corruption was occuring when using a number
+ greater than 10^256 in a "%f" format statement.
+20. src/slstrops.c: Small tweak in the way #19 was implemented.
+21. modules/socket-module.c: If INADDR_NONE is defined, use it to test
+ the return value of inet_addr.
+22. src/slang.c: SLang_start_arg_list made a wrapper around
+ start_arg_list.
+
+Changes since 2.1.1
+1. slsh/lib/readascii.sl: Typo in the usage message corrected.
+2. autoconf/aclocal.m4: Fixed elf link problem on freebsd (Renato
+ Botelho)
+3. doc/tm/slang.tm: Some documentation updates
+4. slsh/lib/cmdopt.sl: The value passed to a callback function was not
+ be converted to the specified type, e.g., for
+ cmdopt_add (opt, "foo", &callback; type="int");
+ callback was not being passed an integer.
+5. src/slang.c,slassoc.c: Optimization tweaks for inc/decrementing
+ associative arrays (e.g., foo["bar"]++).
+6. src/slerr.c: When SLang_set_error is called, then add the string
+ representation of the error message to the message queue.
+7. doc/tm/strops.tm: Corrected the documentation for the string_match
+ function. (Guenter Milde)
+8. src/sllimits.h: Increased the size of the hash table that stores
+ SLstrings for better efficiency.
+9. src/slstrops.c:_pSLang_push_nstring: Inlined the call to
+ _pSLang_push_slstring.
+10. slsh/lib/structfuns.sl: Ignore any NULL arguments.
+11. slsh/src/readline.c: Turned on output processing in the call to
+ SLang_init_tty.
+12. src/slang.h: Several functions were marked as "extern" and not as
+ SL_EXTERN. This makes a difference for CYGWIN and WIN32.
+13. src/Makefile.in, autoconf/*: Better support for the creation of
+ cygwin DLLs.
+14. src/slang.h: Under windows+cygwin, if SLANG_DLL is not defined,
+ the it will get defined as 1. This means that by default, the
+ application will get compiled against the slang DLL. To build
+ against a static version of the library. compile your code using
+ -DSLANG_DLL=0.
+15. Backed out the previous change (#14) to avoid breaking third-party
+ code that compiles against the library.
+16. Makefile: `make` will only build the shared version of the
+ library. Use `make static` to create the static version.
+17. src/slcmplex.c; Division by zero errors are no longer trapped.
+ This has been the default behavior for reals; this change
+ applies to complex numbers.
+18. */*/*.tm: Documentation updates
+19. src/slrline.c: When completing a quoted string, the final quote
+ character will automatically get added (instead of a space as
+ before).
+20. src/slrline.c: SLang_peek_at_stack+SLang_pop_int recoded as
+ wrappers around inlined versions.
+21. src/Makefile.in: Avoid creating a symlink if the target is the
+ same as the link (affects cygwin).
+22. src/slsh.c: If exit is called without arguments, interpret that as
+ exit(0).
+23. src/slsh.c: Prior to entering interactive mode, turn tracebacks
+ off.
+24. src/Makfile.in: LDFLAGS was not getting used.
+25. doc/tm/: Some typos corrected (Jörg Sommer)
+26. slsh/Makefile.in: slsh/doc/html/*.html gets installed in
+ $prefix/share/doc/slsh/.
+
+Changes since 2.1.0
+1. slsh/lib/print.sl: Only the first element of arrays such as
+ Float_Type[1,1,1,10] were getting printed.
+2. src/slscanf.c: strings containing only whitespace were not parsed
+ properly by _pSLang_sscanf when %s was used in the format.
+3. slsh/lib/readascii.sl: A flexible ascii data file reader.
+4. src/slang.ver: Updated the linker version script
+ (mlichvar at redhat, com).
+5. src/slang.ver: The wildcard for the SLANG2 symbols was picking up
+ the SLANG2.1.0 symbols. (mlichvar at redhat, com).
+6. slsh/lib/readascii.sl: Added type and cols qualifiers. Updated docs.
+7. src/slang.c: If auto_declare is non-zero, and a reference to an
+ undefined variable is made, that variable will be automatically
+ created and given static scope.
+8. slsh/lib/autoload.sl: readascii added.
+9. src/slrline.c: The redraw function was ignoring the application
+ installed update hook, disrupting the display when a redraw was
+ requested.
+10. autoconf/configure.ac: -liconv was not getting added when creating
+ the iconv module on systems with a standalone iconv library.
+11. slsh/lib/readascii.sl: Added "as_list" qualifier to return values in
+ lists rather than arrays.
+12. src/slscanf.c: Added inf/nan support to sscanf.
+13. src/slboseos.c: Before calling the hooks, push the error context
+ so that they will work in the presence of errors.
+14. lib/slsh/tm/profile.tm: Documented the profile_* functions.
+15. doc/tm/slang.tm: Added documentation about qualifiers.
+16. src/slarray.c,modules/*.c: Use SLindex_Type instead of int for
+ indexing arrays. Currently SLindex_Type is typedefd as an int.
+17. src/slang.c: Added SLang_pop_array_index to the API. Applications
+ should use this function instead of SLang_pop_int for getting
+ array indices. This new symbol is versioned at 2.1.1.
+18. src/slstruct.c: SLang_pop_cstruct will now force SLang_Array_Type
+ objects to linear ones.
+19. ./NEWS: Updated
+20. slsh/lib/test_readascii.sl: Changed the "list" qualifier to
+ "as_list".
+
+Changes since 2.0.7
+1. src/slrline.c: SLrline_bol/eol functions were missing from the
+ interface.
+2. src/slarray.c: An optional reference argument may be passed to the
+ where function to get the complement indices. That is:
+
+ i = where (foo, &j);
+
+ is equivalent to
+
+ i = where (foo);
+ j = where (not foo);
+
+3. src/slexcept.c: SLerr_throw added to allow applications to mimic
+ the semantics of "throw".
+4. src/slparse.c,slang.c: New short-circuit operators || and &&. Use
+ of the "orelse" and "andelse" constructs has been deprecated.
+5. src/slsmg.c: SLsmg_write_wrapped_string and SLsmg_write_nstring
+ were broken for double-width characters. Updated demo/smgtest.c to
+ test these functions in the presence of such characters.
+6. demo/smgtest.sl: Embedded some control characters in the
+ double-wide character string for testing the handling of them.
+7. doc/tm/cslang.tm: Updated some of the documentation for the SLsmg
+ interface.
+8. src/slstd.c,slang.c: Added new function intrinisc called "_$" that
+ expands embedded "dollar-escaped" variables.
+9. src/sllist.c: Added __push_list/__pop_list functions that push list
+ elements to the stack or create a list from objects on the stack.
+ These functions may also be used as an alternative to
+ __push_args/__pop_args.
+10. slsh/lib/structfuns.sl: Modified struct_combine to use __pop_list
+ instead of __push_list.
+11. src/test/scircuit.sl used for regression testing of the
+ short-circuit operators was missing.
+12. src/slang.c: Small memory leak involving method calls plugged.
+13. src/slparse.c,slang.c,slstruct.c: Added support for embedded
+ assignments in structure definitions, e.g.,
+
+ X = struct { a = 4, b = 3, c = sin(PI/4)};
+
+14. src/slang.c,slparse.c,slstruct.c: Added support for
+ "function-qualifiers", e.g,.
+
+ define plot_point (x, y)
+ {
+ set_color (qualifier ("color", "black"));
+ .
+ .
+ }
+ plot_point (2, 1; color="red");
+
+ See docs for more info.
+15. modules/png.sl: Added gmin and gmax qualifiers to the
+ png_gray_to_rgb function.
+16. src/kwhash.c: New keywords: "ifnot" and "then". The "ifnot"
+ keyword plays the same role as "!if", except the use of "!if" is
+ deprecated. Then "then" keyword is used in looping constructs as
+ described in #17.
+17. src/slparse.c,src/slang.c: All looping constructs may be followed
+ either an "else" block, or a "then" block, or a combination of
+ both:
+ loop (N)
+ {
+ if (foo)
+ break; % execute the else block if present
+ }
+ then
+ {
+ % This block executes if the loop ran to completion
+ }
+ else
+ {
+ % This block executes if the loop was broken prematurely
+ }
+
+ *** NOTE: This change broke backward-compatibility. For this
+ reason, support for the else clause was dropped". See #48 below.
+
+18. slsh/scripts/slprof: Rewrote much of this script to make it more
+ friendly and useful.
+19. src/sldisply.c: When checking for the equality of space
+ characters, it is only necessary to see see if their background
+ colors are equal -- the foreground color does not matter.
+ Miroslav Lichvar mlichvar at redhat, com.
+20. modules/png.sl: A variable (bad_level) was undefined.
+21. src/slparse.c: The meaning of constructs such as (a<b<c) has been
+ changed to have its mathematical meaning, namely ((a<b)and(b<c)).
+ Before, (a<b<c) was interpreted as (a<b)<c. Also, == and != now
+ have the same precedence level as <,<=,>,>= to permit, e.g.,
+ (a==b<c). Note that (a<b<....<c<d) is also defined as
+ ((a<b)and(b<...<c)and(c<d).
+22. src/slarray.c: New intrinsic: wherenot(x), which means where(not x).
+23. src/slarray.c,slparse.c: [a:b:#n] may be used to specify a
+ floating point array with n elements running from a to b, inclusive.
+24. src/slparse,slang.c: Fixed the bug where _NARGS was incorrectly
+ set in functions called via expressions such as (@A[i])(x).
+25. src/slang.c,slarray.c,slparse.c,slstruct.c: References to
+ structure fields and array elements are now supported, e.g.,
+ &s.foo and &A[20].
+26. slsh/slsh.c: Added '-e string' command-line option.
+27. slsh/lib/profile.sl: Rewrote much of it to support both profiling
+ individual lines and functions.
+28. slsh/scripts/slprof: Added 'calibrate' and 'lines' command-line
+ options.
+29. src/slang.c: Unsigned ints were sometimes pushed as signed ints.
+30. src/slrline.c: Added a new public function called SLrline_move
+ that moves the cursor a specified number of columns.
+31. slsh/lib/glob.sl: If a glob pattern does not include a path, the
+ returned list of files will nolonger be prefixed with "./", i.e.,
+ glob("foo") returns "foo" and not "./foo".
+32. slsh/readline.c: If slsh_interactive_hook exists, it will be
+ called prior to going into interactive mode.
+33. src/slrline.c: A completion mechanism was added. This works by
+ making a callback to a user or application provied hook that
+ returns a list of possible completions. This functionality is
+ available if SLrline_init has be called to add readline-specific
+ intrinsics to the interpreter. The slang code implementing the
+ completion hook is in slsh/lib/complete.sl.
+34. modules/png.sl: Load the colormaps into the same namespace that
+ was used by png.sl (Mike Noble).
+35. slsh/slsh.c: readline intrinsics were not getting initialized.
+36. slsh/lib/rline/completion.sl: Avoid adding NULL to the completion
+ list when no completions are in the global or current namespace.
+37. src/slerr.c: Added SLang_verror_va function. It is like
+ SLang_verror, except it takes a va_list argument instead of a
+ variable argument list.
+38. slsh/scripts/slprof: If atexit exists, use it.
+39. src/slwclut.c: Typo in is_posix_charclass (> instead of >=) was
+ causing the long form of posix character class names not to be
+ properly recognized.
+40. src/slrline.c: SLrline_init was using SLfree instead of
+ SLang_free_slstring, causing a core-dump.
+41. slsh/lib/slshrl.sl: Use slsh_get_doc_string defined in slshhelp.sl.
+42. autoconf/aclocal.m4: Add support for rpath on OpenBSD.
+43. src/slarray.c: Single element arrays specified via, e.g., [a:b:#1]
+ produced the array [b] instead of the "more" correct answer [a].
+44. src/slexcept.c: __get_exception_info will NULL if no exception is
+ active. Previously it reported an unknown exception.
+45. src/slang.c: If a finally-block threw an exception and then caught
+ it, the outer exception was getting lost.
+46. slsh/lib/glob.sl: glob("*") nolonger matches files that begin with
+ ".". A leading dot in a filename must be matched explicitely. A
+ similar change was made to glob_to_regexp.
+47. src/slang.c,src/slexcept.c: An exception may be rethrown by using
+ "throw" without any arguments. This required support for multiple
+ error-queues.
+48. src/slparse.c: The "loop-else" feature added in change #17 was
+ dropped because the change was not backwards compatible, changing
+ the meaning of connstructs such as
+
+ if (some_condition)
+ loop (N) {...}
+ else
+ something_else();
+
+ "loop-then" is still supported. (Thanks go to Paul Boekholt for
+ picking up on this).
+49. src/sldisply.c: If the terminal supports BCE, then ignore the
+ background color of space characters that occur as trailing
+ whitespace (Miroslav Lichvar).
+50. src/slrline.c: Added additional rline intrinsic functions:
+
+ rline_call
+ rline_set_point
+ rline_set_line
+
+51. src/slrline.c: SLrline_init was using SLang_free_slstring
+ instead of SLfree. Also SLrline_set_point was using < instead of
+ > when comparing point to len.
+52. src/slrline.c: Added rline_getkey and rline_input_pending
+ intrinsic functions.
+53. src/slstd.c: If the "char" function is passed a negative integer,
+ byte-semantics will be used.
+54. src/slrline.c: When browsing previous history items, the item that
+ is currently being edited will not be lost.
+55. src/slrline.c: A new function called SLrline_open2 was added to
+ the API. It is like SLrline_open except that it associates a name
+ with the underlying SLrline_Type object and calls an interpreter
+ hook (rline_open_hook) with that name. This mechanism permits
+ the readline history to be saved to a file and then later retrieved.
+56. slsh/lib/rline/*.sl: A few .sl files were added:
+ vikeys.sl: A simple vi-like emulation
+ emacs.sl: A emacs-like emulation
+ editfuns.sl: Some utility editing functions
+ history.sl: Functions to save/restore history
+57. slsh/scripts/sldb: If the file was specified using a relative
+ path, prefix its name with the cwd to ensure that it loads.
+58. src/slmath.c: Add "fuzzy" floating point comparison functions
+ feqs, fneqs, flteqs, fgteqs, which compare numbers using a
+ specified relative and absolute error.
+59. slsh/readline.c: Readline objects were made available to the
+ interpreter.
+60. slsh/scripts/svnsh, slsh/lib/sldb.sl: Added readline-specific
+ calls to enable the saving/loading of history.
+61. src/slrline.c: Added rline_get_edit_width intrinsic.
+62. src/slarrfuns.c: prod function added (Mike Noble).
+63. src/slstrops.c: %b may be used in sprintf to specify a byte
+ conversion. This is equivalent to %c when UTF-8 mode is not in
+ effect.
+64. src/slarrfuns.c: PROD_RESULT_TYPE was not getting defined on 64
+ bit systems (Brian McQueen)
+65. src/Makefile.in,autoconf/Makefile.in: Now `make install` installs
+ the shared library but not the static one. Use `make
+ install-static` to install the static one.
+66. autoconf/aclocal.m4: rpath support for netbsd
+67. slsh/slsh.c: A preprocessor symbol may be added using -Dname
+ command-line option.
+68. src/slstd.c: changed __is_numeric to return 1 if an integer, 2 if
+ a floating point, and 3 if complex.
+69. src/slang.c: missing break statement in the handling of the
+ qualifier token. This bug manifested itself only when running
+ with slprof or sldb.
+70. slsh/lib/cmdopt.sl: Functions to facilitate the processing of
+ command line options.
+71. slsh/scripts/slprof: modified slprof to use the cmdopt interface.
+72. slsh/lib/structfuns.sl: Enhanced the struct_filter function to
+ filter on specific array dimensions and to return a new structure
+ when given the "copy" qualifier.
+73. src/slimport.c: Allow pathname in an import statement, e.g.,
+ import("/path/to/module");
+74. src/slarrfun.c: Added minabs/maxabs functions.
+75. lib/cmdopt.sl: Added support for type="str" qualifier. Also,
+ cmdopt documentation corrected.
+76. src/slassoc.c: When resizing an associative array that had
+ elements deleted, the num_occupied field was not being properly
+ updated. This was causing the length of the array to be
+ incorrectly computed.
+77. src/slproc.c: Added getpgrp,setpgrp,getgid functions.
+78. src/slutty.c: In the getkey function, if a SIGINT caused
+ SLKeyBoard_Quit to be a non-zero value, the interrupt_hook was not
+ getting executed.
+79. autoconf/Makefile.in: Tell the user to re-run the configure script
+ if it is more recent than the Makefile.
+80. src/slstd.c: __is_numeric was not returning 3 for Complex_Type.
+81. src/slexcept.c: Do not log traeback messages unless _traceback is
+ non-zero.
+82. src/slclass.c: Added SLclass_patch_intrin_fun_table to the library
+ and modified the code in modules/ to make use of this function.
+83. src/slang.c: SLang_Traceback is now a bitmapped variable, but
+ defined in a backward compatible manner. See slang.h and the
+ documentation for the _traceback variable for more information.
+84. src/slang.c,slexcept.c: Change 83 required a small tweak to the testing of
+ traceback variable.
+85. src/slparse.c: MAX_TOKEN_LISTS increased to 256.
+86. src/slparse.c: Added a couple of #if..#endif constructs to avoid
+ compiling bos/eos hooks when the debug feature has been disabled.
+ (Tijs Michels tijs, michels at t-online, de)
+87. src/slproc.c: The setpgrp function that was added in change #77
+ has been removed because on some systems it takes arguments, and
+ on others it takes none. It is also equivalent to setpgid(0,0),
+ so there is no net loss.
+88. src/slutty.c: Set the FD_CLOEXEC flag on the /dev/tty file
+ descriptor.
+89. src/doc/tm/cslang.tm: Changed the array examples to use
+ `SLindex_Type' instead of `int'. I also added a note about this
+ to the NEWS file.
+90. modules/iconv-module.c: a new module (Dino Sangoid).
+91. src/slsig.c: SLsignal was used instead of SLsignal_intr. The
+ difference is that SLsignal_intr interrupts system calls, which is
+ a better choice for the interpreter.
+92. src/slproc.c: added setsid intrinsic
+93. src/slarray.c: [a:b:#1] was producing [NaN] instead of [a].
+94. src/sldbcore.c: The debugger was not stopping upon SIGINT.
+95. src/sltermin.c: Added _pSLtt_tifreeent to free the SLterminfo_Type
+ object and avoid a memory leak (Miroslav Lichvar
+ mlichvar at redhat, com)
+96. slsh/lib/cmdopt.sl: Add bor=FLAG and band=MASK qualifiers to support
+ bitmapped options.
+97. modules/onig-module.c: New module that wraps the oniguruma regular
+ expression library.
+98. src/slang.c: If a file defining a namespace was loaded, a
+ duplicate namespace error was getting generated when also loading
+ a byte-compiled version of the same file.
+99. src/slclass.c: In _pSLclass_copy_class, a possible NULL return
+ value by alloc_class_slot was not being handled.
+
+Changes since 2.0.6
+1. src/slmath.c: if a double precision array was passed to nint, it
+ was treated as a single precision one leading to a core dump.
+2. src/sldisply.c: The Is_Fg_BGR variable was re-introduced and a typo
+ affecting it was corrected.
+3. src/slinclud.h: Do not include malloc.h on FreeBSD (Renato Botelho
+ garga at freebsd, org).
+4. doc/tm/cslang.tm: Changed a couple of occurances of "unsigned char"
+ to "SLtype". (Doug Burke dburke at head, cfa, harvard, edu)
+5. doc/tm/rtl/list.tm: Documentation changed to indicate that the
+ third parameters to list_append/insert are optional. (Doug Burke).
+6. src/slwcwidth.c: Added a new function to the API called
+ SLwchar_set_wcwidth_flags. This may be used to force
+ SLwchar_wcwidth to 1 for double width characters. Such a feature
+ is sometimes needed for fixed fonts that treat single and double
+ width characters the same.
+7. slsh/lib/slshrl.sl: The readline-massage hook was interpreting
+ lines beginning with a '.' as RPN.
+8. slsh/lib/sldb*.sl: The debugger was not stopping upon errors
+ generated by the deprecated function verror.
+9. src/slparse.c: "++()" was flagged by the parser as an error, but no
+ error message for it was being generated.
+10. src/slang.h: #if HAVE_LONG_LONG changed to #ifdef HAVE_LONG_LONG
+11. src/slsmg.c: Return right away if SLsmg_write_chars is told to
+ write 0 characters. Also a bug fixed in the logic of this routine
+ involving the test for overwriting the second half of a double
+ width character.
+12. src/slrline.c: Finished the UTF-8 support by the readline functions.
+13. slsh/*.c: Added slsh_get/set_prompt_hook functions for setting of
+ the slsh command-line prompt. (Douglas Burke)
+14. src/sltoken.c: Added additional string representations for tokens
+ so that some error messages will not appear to be so cryptic.
+15. src/sltoken.c: _pSLparse_error: Use the line number of the input
+ stream if the linenumber associated with a token is unknown.
+16. src/slparse.c: Inline arrays and lists are allowed to have a
+ trailing comma, e.g., [1,2,] is the same as [1,2].
+17. doc/tm/rtl/type.tm: typo in example for atof corrected (Doug
+ Burke).
+18. Improvements for building on DOS/Windows (Mike Noble):
+
+ * The various mkfiles/makefile.all now include a clean: target
+ * The top-level mkfiles directory now includes 3 new files:
+
+ A build.sh script, which auto-generates the Makefiles
+ (using mkmake) and commences a build, similar to the
+ build.bat script which was already there (and which I
+ tweaked slightly).
+
+ Seed makefile.dos and makefile.sh scripts, which get copied
+ to the root of the S-Lang distro when either build.sh or
+ build.bat are run. This makes it easier to build
+ everything at once, or clean, etc, from the top of the
+ distro.
+
+ * A few new paragraphs in INSTALL.pc
+ * In the various mkfiles/makefile.all, "CFLAGS +=" changed to
+ "CFLAGS =" to avoid nmake 1.5 problems.
+ * Simplified the module build targets in modules/makefile.all,
+ and made it much easier to add new modules in the future.
+19. Added module support for cygwin. This involved a few minor
+ changes to the Makefiles and aclocal.m4 (Mike Noble)
+20. slsh/slsh.c: Brief copyright message displayed when started up in
+ interactive mode.
+21. src/slarray.c: Improved support for mixed-type inline arrays:
+ NULLs supported (["foo", NULL]) where it makes sense, and
+ type-promotion rules are used to determine the resulting type when
+ concatenating mix-type arrays (["foo"], NULL, ["bar\0"]);
+22. src/slrline.c: SLrline_close was not freeing the history creating
+ a memory leak.
+23. src/keywhash.c: Removed obsolete and unused "do_while" keyword,
+ and regenerated keywhash.c
+24. doc/tm/slang.tm: List of keywords updated to reflect the actual
+ keywords used.
+25. modules/mkfiles/makefile.all: Updated VC-specific LINK_CMD macro
+ to support the changes outlines in 18 above (Dino Sangoid).
+26. src/slang.c,src/slboseos.c: Added hooks for entering and leaving a
+ function. The beginning-of-statement and end-of-statement hooks
+ were found insufficient to support a debugger support. See the
+ documentation for _bofeof_info for more information.
+27. slsh/lib/sldbcore.sl: Modified to use the bof/eof hooks introduced
+ in #26.
+28. Various documentation tweaks.
+29. src/slboseos.c: Changed the beginning-of-function handler to
+ include the filename.
+30. src/slsh/lib/require.sl: Removed the "feature not provided" message.
+31. src/slrline.c: Tabs were not being expanded properly when the
+ window was horizontally scrolled. Also, the last column of the
+ display is not used in case the terminal has automatic margins.
+32. lib/sldbcore.sl: The debugger's "finish" command was not quite
+ working as it should have.
+33. lib/sldbcore.sl: Added an sldb_initialize function that can be
+ overridden by the debugger.
+34. src/slposio.c: Made changes to allow arbitrary objects to be
+ attached to file descriptors.
+35. src/sl*tty.c: Set SLKeyBoard_Quit to 0 in the init_tty routines.
+36. modules/socket-module.c: A new module that defines various socket
+ functions. This required additions to the configure script and
+ related files.
+37. src/slstrops.c, slsh/readline.c: Removed statements that were never
+ reached.
+38. src/sltypes.c: foreach(X) where X is String_Type produces a
+ sequence of UChar_Type objects. This is consistent with
+ typeof(X[i]). Also added "using" forms to specify char or
+ byte-semantics: foreach (X) using ("bytes"|"chars"). The default
+ is byte semantics. Updated the corresponding docs.
+39. src/slang.h: Added SLang_push/pop_wchar macros.
+40. src/sldisply.c: This file was failing to compile with Kanji
+ support enabled. Kanji is unsupported in slang-2.
+41. src/slcurses.*: Alt-character set handling was not working. Once
+ again, I strongly encourage you to modify your programs to use the
+ native SLsmg routines instead of the partial curses emulation hacks.
+42. slsh/lib/sldbsock.sl: New file to implement socket-based debugger.
+43. slsh/scripts/sldb: Added --pid <pid> option for debugging a
+ separate process via the socket-based debugger interface.
+44. src/slang.c: If a try-finally block contained a return statement,
+ the function would sometimes continue after the finally block.
+45. modules/termios-module.c: Added tcget/seti/ospeed functions for
+ setting baudrates of termios structures. Also added CRTSCTS
+ constant to the module.
+46. src/slclass.c: If an application calls SLang_pop_mmt with a
+ non-MMT type specified, a SL_Application_Error exception will be
+ generated.
+47. src/slang.c: A misplaced return statement was introduced by #44
+ above.
+48. src/slparse.c: Allow the "finally" keyword to be followed by a
+ colon, e.g., try foo; finally: bar;
+49. src/sltoken.c,slang,c: "Dollar" and long-longs were not being properly
+ handled in byte-compiled files.
+50. src/test/Makefile: Changes were made to test byte-compiled
+ versions of the test scripts.
+51. modules/socket-module.c: added #include <time.h> to get it to
+ compile on mac osx.
+52. src/slmath.c: The data field was not properly used by the nint function.
+53. modules/select-module.c: Call SLang_handle_interrupt when the
+ select system calls gets interrupted.
+54. src/slposio.c: Add == and != operators to FD_Type objects so that
+ fileno(stdin)==fileno(stdin) works as expected.
+55. src/slarray.c: wherefirst and wherelast were not working with
+ empty arrays.
+56. src/slmisc.c: SLang_guess_type was failing on numbers containing a
+ leading '+' sign.
+57. src/slimport.c: The name of the SLANG_MODULE_PATH environment
+ variable may be changed in src/Makefile.
+58. src/slrline.c: Added a delete-to-beginning-of-line (delbol)
+ function and bound it to ^U.
+59. slsh/Makefile.in: $(CFLAGS) added to the final link line. (Nelson
+ H. F. Beebe)
+60. src/slmath.c: Avoid the use of function pointers to standard math
+ functions to support a wider range of compilers.
+61. autoconf/aclocal.m4: IRIX compilers do not require "-K pic"
+62. autoconf/configure.ac: Probe for socklen_t.
+63. */Makefile.in: Added support for the $LIBS env variable
+64. src/slerr.c: Added fflush(stdout) to SLang_vmessage.
+65. slsh/lib/sldbcore.sl: The eof hook was improperly handling the
+ debugger step.
+66. src/slarray.c: Optimization added for index-array operations on
+ double, float, and int arrays.
+67. src/slarith.c: Optimization added for boolean operations between
+ [U]Char_Types.
+68. lib/structfuns.sl: Typo in the documentation corrected (Doug Burke)
+69. lib/*.sl, lib/tm/*.tm, lib/help/*.hlp: Documentation for the
+ functions in *.sl has been moved to *.tm and integrated into the
+ help system.
+70. src/slwclut.c: a missing "default" label in a switch statement was
+ causing invalid character class specifiers to pass.
+71. src/slang.c: Optimization added for struct method calls. In
+ addition, linenumber information was propagated for such function
+ calls to permit better interaction with the debugger.
+72. slsh/lib/profile.sl: profile_on was not being called with an
+ argument.
+
+Changes since 2.0.5
+1. src/slmath.c: nint was returning the wrong value for numbers 0.5<=x<1.
+2. src/slarrfuns.c: sum(Double_Type[0,0],1) was generating an access
+ error.
+3. src/*.c: Removed some unused variables.
+4. src/slcommon.c: '=' instead of '==' was being used in the
+ utf8_enable function.
+5. doc/tm/*.tm: corrected some documentation typos (Nelson Beebe,
+ beebe at math, utah, edu).
+7. src/sltime.c: times function was returning a structure containing
+ incorrect values (cstawarz at head, cfa, harvard, edu).
+8. src/sldisply.c: Writing a multi-byte character to the lower-right corner
+ of terminals with automatic margins was not working (Vladimir
+ Nadvornik nadvornik at suse, cz).
+9. src/slwclut.c: Allow \\^ in character set specifications to
+ represent a literal '^'. See the documentation for strtrans for
+ more information.
+10. src/slcommon.c: Some systems that have nl_langinfo do not have
+ CODESET. The configure script now checks for both.
+11. autoconf/Makefile.in: Added ".PHONY" and "check" targets.
+12. src/slstrops.c: "%c" in an sprintf style format descriptor made to
+ work with wide-character arguments. It is nolonger necessary to
+ use "%lc".
+13. src/slmisc.c: Semantics of "\x{...}" changed to be more useful
+ when the interpreter is running in non-UTF8 mode. Previously,
+ "\x{...}" always expanded to a UTF-8 encoded string, regardless of
+ the UTF-8 mode. Now, in non-UTF8 mode, \x{...} will expand to a
+ UTF-8 encoded string when "..." consists of 3 or more characters,
+ and for less than 2 characters, it specifies a byte. The behavior
+ in UTF-8 mode has not changed: \x{...} always returns a UTF-8
+ encoded string. The upshot is that "\x{FF}" will produce the byte
+ 0xFF when not in UTF-8 mode, and the 2 byte UTF-8 encoding when
+ run in UTF-8 mode. "\x{FFF}" will expand to the apropriate UTF-8
+ encoding regardless of the mode. Note that the behavior of the
+ non-brace form such as \xAB has not changed--- the result is still
+ a single byte 0xAB.
+14. src/slmisc.c: \u{...} may be used in string literals to specify a
+ unicode character, regardless of the UTF-8 mode (on or off).
+ Previously, \x{...} had this behavior. (See #13).
+15. src/test: Tests are run in both UTF-8 and non-UTF-8 modes.
+16. src/slvideo.c: djgpp version of write_attributes was broken (Gisle
+ Vanem giva at bgnett, no)
+17. slsh/readline.c: Call SLang_handle_interrupt if a read was
+ interrupted by a signal. This will ensure that signal handlers
+ will execute at the prompt.
+18. src/sldisply.c: Added a check for buffer-overflow by tgetstr on TERMCAP
+ based systems.
+19. autoconf/: Updated config.sub and config.guess
+20. slsh/readline.c: Added slsh_readline_noecho function. Also, strip
+ trailing newline from string returned by slsh_readline* when in
+ --no-readline mode.
+
+Changes since 2.0.4
+1. slsh/slsh.c: Error messages were not being printed if an error
+ occured during an atexit hook.
+2. src/slstrops.c: Use _pSLstring_bytelen instead of strlen to get the
+ number of bytes.
+3. src/slstring.c: Several tweaks were made for faster string handling.
+4. src/slparse.c: A negative integer literal raised to a power was not
+ being properly parsed.
+5. doc/tm/cslang.tm: Documentation updated to reflect the changed
+ SLang_pop_double API, as well as other C API documentation
+ tweaks (Doug Burke).
+6. doc/tm/rtl/type.tm: Documentation for "integer" changed to indicate
+ that integer throws a SyntaxError exception if the string does not
+ have a valid syntax. (Joshua Kempner jkempner at bowdoin, edu)
+7. src/slmath.c: Added nint (round to the nearest integer) intrinsic.
+8. src/slarray.c: NULL arguments to array_map were not getting
+ converted to arrays of NULL.
+9. src/slang.h: Added SLclass_set_length_function for setting the
+ length method of application-defined classes.
+10. src/slang.ver: A versioning script is used to restrict the
+ visibility of the _pSL* symbols. (Alastair McKinstry
+ mckinstry at computer, org)
+11. slsh/slsh.c: Ignore SIGPIPE.
+12. src/slutf8.c: If SLutf8_decode is passed an inproperly encoded
+ UTF-8 sequence, then set the target of the SLwchar_Type pointer to
+ the ascii value of the byte, in addition to returning NULL.
+13. src/slposdir.c: Added "access" intrinsic.
+14. src/slsmg.c: Fixed a buffer-overflow in the SLsmg_write_chars
+ function.
+15. src/slsig.c: A missing return statement was causing sigsuspend to
+ fail when called with 0 arguments.
+16. src/slarray.c: Added wherefirst and wherelast intrinsics.
+17. src/slang.c: Inline attribute removed from some functions that
+ were failing to be inlined by the compiler.
+19. src/slstdio.c: SLang_get_fileptr added to permit an application to
+ get the FILE* object associated with a SLANG_FILE_PTR_TYPE.
+20. src/slang.c: It was failing to compile when
+ SLANG_HAS_DEBUGGER_SUPPORT was set to 0.
+21. src/sltime.c: strftime intrinsic added.
+
+Changes since 2.0.3
+1. slsh/scripts/svnsh: Empty lines were not being handled.
+2. src/slutf.c: Incorrect bracketing in the IS_ILLEGAL_UNICODE macro.
+ (johannes figgen at flextronicssoftware, com)
+3. src/sllist.c: A prev link was not always getting set by the list_insert
+ function.
+4. doc/tm/rtl/eval.tm: Tweaked the documentation for the eval function
+ (Mike Noble mnoble at space, mit, edu)
+5. modules/png.sl: Make sure the scale factor is a float and not an int.
+6. src/sltime.c: The tic/toc functions were changed to use
+ gettimeofday or its equivalent. This change results in greater resolution
+ for these interval timers, but not necessarily greater accuracy.
+ Also, previously the tic/toc functions measured the time used by
+ the current process but now they measure elapsed time. The old
+ behavior is still available via _tic/_toc.
+7. slsh/lib/profile.sl: The above change made it possible to create a
+ more accurate profiling tool. The functions in this file are used
+ by the slsh/scripts/slprof profiling tool.
+8. src/slarith.c: Missing break statement caused signed long long
+ values to be printed as unsigned long longs.
+9. tm/doc/cslang.tm: Two small typos corrected (Alastair McKinstry
+ mckinstry at computer, org)
+10. autoconf/aclocal.m4: Support for GNU Hurd and GNU KFreeBSD /
+ KNetBSD systems (Alastair McKinstry)
+11. src/slstrops.sl: Added support for long long to the sprintf
+ intrinsic function (e.g., sprintf ("%lld", 1234LL))
+12. modules/png-module.c: 8 bit gray scale images were being written
+ out as 8 bit images with an alpha channel. Bug fixed and version
+ bumped to 0.1.1.
+
+Changes since 2.0.2
+1. src/slang.c: Optimization of multiple assignment statements involving
+ binary operators was generating bad byte-code causing a run-time
+ error. In order to see this effect, code such as
+
+ w = 3*t+s;
+ x = 2*z+1;
+ y = z*z;
+
+ would have to be written as a as multiple assignment statement:
+
+ (w,x,y) = (3*t+s, 2*z+1, z*z);
+
+2. src/sltypes.c: Added SLang_push_function to complement
+ SLang_pop_function.
+3. src/slkeymap.c: SLkm_define_slkey implemented. It was already
+ declared in slang.h but never implemented until now.
+
+Changes since 2.0.1
+1. src/slang.h: Forgot to bump SLANG_VERSION to 20001.
+
+Changes since 2.0.0
+1. modules/png.sl: png_gray_to_rgb was missing an assignment after
+ normalization.
+2. slsh/lib/print.sl: Ignore SIGPIPE while in the pager.
+3. src/slang.c: SLang_peek_at_stack1_n was broken.
+4. src/slsmg.c: If the cursor is left outside the visible display area
+ during SLsmg_refresh, then "clip" its position to the visible area.
+5. src/slarray.c: Typo (= vs ==) was corrected in the array_eqs_method
+ function. (Dino Sangoid)
+6. src/slmath.c: Use IS_NAN macro instead of isnan (Dino Sangoid)
+7. src/mkfiles/makefile.all: Added dll support for the mingw32 build
+ (Marko Mahnic; marko mahnic at email, si)
+8. src/slang.c: Removed a while loop that did nothing. (Dino Sangoid)
+9. src/mkfiles/makefile.all, src/slconfig.h, src/slposdir.c: Support
+ added for 16 bit systems using watcom C (Dino Sangoid)
+10.doc/tm/*.tm: Some spelling errors corrected (Mike Noble)
+11. src/slang.c, src/slnspace.c: There was a conflict between private
+ and static namespaces that arose when _implicitly_ loading a file
+ into a specified namespace. Resolving this issue involved the
+ complete separation of the private and static namespaces.
+12. The _get_frame_info function now provides the name of the active
+ namespace.
+13. src/sldisply.c: Line drawing characters were not activated when
+ xterm was started in locale mode. Escape sequences were tweaked.
+ (Alexander E. Patrakov, patrakov at ums, usu, ru)
+14. slsh/lib/print.sl: If an element of an array of structs is NULL
+ then print the element as NULL.
+15. modules/varray.c: typo was preventing mmapping of a file from
+ working properly.
+16. slsh/lib/*.sl: changed "static" to "private" to protect the
+ functions when loaded into a namespace.
+17. autoconf/configure.ac: Add tests for atoll and strtoll. Some
+ versions of MacOS X do not have atoll.
+18. modules/png.sl: Added png_get_colormap_names and changed
+ examples/colormap.sl to use it.
+19. src/slarrfun.c: Ignore _NaNs in min/max functions.
+20. slsh/lib/sldbcore.sl: Added several aliases to the debugger:
+ b(reak), c(ont), d(elete), h(elp), l(ist), n(ext), p(rint),
+ pp(rint), q(uit), s(tep)
+
+Changes since 2.0.0 pre-release 8
+1. src/slang.c: Under some conditions, no line number information was
+ being reported for stack underflow errors.
+2. lib/sldbcore.sl: Missing return value was causing a stack-underflow
+ error. (Paul Boekholt)
+3. src/slmisc.c,src/sltoken.c: In UTF-8 mode, an escaped sequence of
+ the form "\xAB" is interpreted as a byte. Previously, it was
+ interpreted as a wide character. To encode a wide character using
+ an escape sequence, use braces ("\x{AB}").
+4. src/slstd.c: The putenv function now throws an OSError exception
+ upon failure. Previously it threw a RunTimeError.
+5. src/slerr.c: Added NamespaceError exception and changed some of the
+ namespace specific function to throw this exception instead of a
+ RunTimeError exception.
+6. src/slang.h: SL_Domain_Error was missing from the file.
+7. src/slerrno.c: If errno_string is called without an errno argument, the
+ current value of _pSLerrno_errno will be used.
+9. src/sltime.c: The "time" functions were changed from using an
+ unsigned long to a long to match time_t.
+10.src/slvideo.c: Corrected a typo in the non-Unix/non-VMS specific
+ SLtt_utf8_enable function.
+
+Changes since 2.0.0 pre-release 7
+1. slsh/lib/structfuns.sl was missing from the distribution.
+2. src/sldisply.c: SLtt_Blink_Mode set to have a default of 0 instead
+ of 1.
+3. slsh/slsh.c: Add -t option, which causes slsh_main (if defined) to
+ not be executed.
+4. src/sltoken.c:SLang_load_object: Do not reset the line_num field.
+ This gives the line numbers in slsh interactive mode some meaning.
+5. src/slsh/lib/slshrl.sl: Usage message for "exit"
+6. src/slvideo.c: SLtt_utf8_enable function added
+7. src/slexcept.c: If tracebacks are turned off, make sure that the
+ line number field in exception objects is meaningful.
+8. src/slang.c: SLang_peek_at_stack1_n was not working. (Mike Noble
+ mnoble at space, mit, edu).
+9. src/slang.c: Small optimization tweak when dealing with a single
+ array index.
+10. src/slposio.c: Jorge Gonzalez, jgonzalez at atsautomation, com
+ found and fixed a leak in the "read" function.
+11. modules/png-module.c: New module to read/write png files. It
+ includes about 20 colormaps. See examples/colormap.sl.
+12. src/slclass.c: SLang_get_int_type returns the SLtype for the
+ integer with the specified number of bits.
+13. src/slarray.c: array_shape intrinsic function added as an
+ alternative to array_info for getting the dimensionality of an
+ array.
+14. src/slospath.c: new intrinsic: path_basename_sans_extname
+15. src/, slsh/: A number of win32 tweaks to support dynamic linking under
+ windows. (Dino Sangoid; sangoid at lloydadriatico, it).
+16. src/slstruct.c: Check for duplicate fields in a struct. (Doug
+ Burke; burke at cfa, harvard, edu).
+17. src/slarrfun.c: New matlab-like functions "any" and "all". (Doug
+ Burke; burke at cfa, harvard, edu).
+18. src/slang.c: Calling SLang_restart will also clear the slang error
+ state. There is no need to call SLang_set_error(0) after calling
+ SLang_restart.
+19. src/sltoken.c: Allow the evaluation of '#if (expr)' when created a
+ pre-parsed file (.slc).
+20. src/slang.c: If a function defined in the currently loading
+ file is to also be autoloaded into another namespace, and that
+ namespace is not current one, then make sure an anonymous
+ namespace is being used.
+21. src/slang.c, slboseos.c: Experimental support for a debugger. New
+ functions:
+ _set_frame_variable
+ _get_frame_variable
+ _get_frame_depth
+ _get_frame_info
+ _use_frame_namespace
+22. slsh/lib/sdb*.sl: An experimental source code debugger based upon
+ a Dino Sangoid's jed debugger.
+23. src/slang.c: The "_pSL" prefix was dropped from a few file-local
+ variables. Also calls to _pSLclass_push_* were changed to calls to
+ file-local specific versions of the functions.
+24. src/slsh/mkfiles/: A couple of win32 icons for slsh were provided
+ by Marko Mahnic (marko. mahnic at email, si)
+25. src/slarray.c: If typeof(t)==DataType_Type, then put back the old
+ behavior of array creation via t[N].
+26. doc/tm/slang.tm: The slang manual has been updated for version 2,
+ with numerous typos corrected.
+27. slsh/scripts/sldb: New script that invokes the debugger.
+28. src/slstruct.c: Added _is_struct_type. This works like
+ is_struct_type excepted if the object is an array, it returns
+ information about the array elements.
+29. slsh/lib/print.sl: The "print" defined by this file may be used to
+ print arrays, structures, lists, etc. It is also used by sldb's
+ pprint command.
+
+Changes since 2.0.0 pre-release 6
+1. The _traceback variable was being ignored. As a result, error
+ messages were more verbose than requested.
+2. I fixed the negative indexing issues and made such indexing much
+ more consistent. Before it was possible to index the first through
+ last elements of an array using the index [0:-1]. However, there
+ were too many inconsistencies associated with this feature.
+ Negative indices are still supported but in a much more consistent
+ fashion. See UPGRADE.txt for more details.
+
+Changes since 2.0.0 pre-release 5
+
+0. src/slang.h+others: I created a new typedef in slang.h representing
+ array indices (SLindex_Type). This is used in the SLang_Array_Type
+ structure. Previously the affected fields were ints. For backward
+ compatibility, SLindex_Type is defined as an int. This change was
+ made with an eye to the future when 64 bit platforms become more
+ common with physical memory such that one wants to index arrays
+ with more than MAX_INT elements per dimensions (the current
+ limit).
+1. src/slarith.c: missing comma in a code block specific to 64 bit systems
+ prevented compilation.
+2. src/: OS/2 specific patches.
+3. src/mkfiles/makefile.all: Added some ranlib commands for the mingw32,
+ cygwin, and EMX compilers.
+4. */mkfiles/makefile.all: Add TOOL_PREFIX variable to support
+ cross-compilation.
+5. slsh/slsh.c: win32 specific changes to get path to slsh.rc via
+ the GetModuleFileName function (DINO SANGOI (SANGOID at lloydadriatico, it)).
+6. slsh/mkfiles/makefile.all: Corrected the values of the SLANGINC and
+ SLANGLIB variables.
+7. src/slstd.c: atoll intrinsic was not getting defined. (Doug Burke
+ (dburke at head-cfa, cfa, harvard, edu)).
+8. src/test/longlong.sl: Add test for atoll (Doug Burke)
+9. src/slerr.c: SLang_set_error: Allow an error to be cleared but not
+ changed to another value in the presence of an error.
+10. src/slarray.c: Allow a 1-d integer array to always address a
+ multidimensional array. Not just "sometimes".
+11. slsh/lib/arrayfuns.sl: local variable a was multiply defined in
+ reverse function.
+12. src/slpack.c: Add support for long long and 64 bit types. Also
+ 'z' specifier added as an alternative to 's'.
+13. src/slstdio.c: Previously, fread(&v,Char_Type,n,fp) would
+ assign a BString_Type object to v if n>1 or Char_Type if n==1.
+ Now, for consistency it returns Char_Type[n] for n > 1. To get
+ the value as a binary string, use fread_bytes. This change is not
+ backwards compatible and may break code that relies upon the old
+ behavior. See UPGRADE.txt for additional information.
+14. src/slrline.c: A silly typo prevented multiple instances of
+ readline objects.
+15. slsh/: New intrinsic: slsh_readline. This allows a script to get
+ input from the user using the readline interface.
+16. slsh/scripts/svnsh: A simple shell for interacting with an SVN
+ repository.
+17. src/slang.h: The SLANG_MODULE macro was incorrectly defined when
+ compiled with C++.
+18. src/slkeymap.c: A small memory leak was found by Gilles Mazoyer
+ pgid at free, fr.
+19. src/slarith.c,...: Some problems were found on 64bit big-endian
+ machines. Correcting this involved adding new functions to the
+ interface long and short intrinsic constants.
+20. src/slang.c: Inside a finally block, loops were not working if the
+ exception handler issued a break or return statement.
+21. src/slrline.c: On a 64bit big-endian system a SEGV would result
+ when inserting text.
+22. configure: CFLAGS added to the ELF_CFLAGS variable. LDFLAGS added
+ to the ELF_LINK variable.
+23. src/slposdir.c: hardlink intrinsic added.
+24. src/slexcept.c: "function" field added to the exception object.
+25. src/slang.c: The way line number information is stored has been
+ changed. Now it is nolonger necessary to get line number
+ information by setting the _debug_info variable. In the process I
+ tried to make the error messages somewhat more useful.
+26. src/slang.h: SLvsnprintf and SLsnprintf functions made public
+ Previously these were _pSLvsnprinf and _pSLsnprintf. (Dino Sangoid).
+27. src/slang.c, _slang.h: Bytecodes were made enums instead of
+ preprocessor symbols.
+28. src/slang.h: External symbols have been prefixed with SL_EXTERN to
+ facilitate the construction of a slang DLL on windows. When
+ compiling against the slang DLL, be sure to define SLANG_DLL.
+ (Dino Sangoid).
+29. src/sllist.c: Added foreach method to lists.
+30. src/slsmg.c: Experimental feature: If rendering a character string
+ that contains an character sequence of the form 'ESC [ x m', or
+ 'ESC [ x ]', where x represents a decimal integer, then the
+ current color will be switched to the value of x. If x is omitted
+ (ESC[m) then the color will be set to the color active at the time
+ of the function call.
+
+ SLsmg_set_color (1);
+ SLsmg_write_string ("This is a \033[123mnew\033[m feature");
+
+ is equivalent to:
+
+ SLsmg_set_color (1);
+ SLsmg_write_string ("This is a ");
+ SLsmg_set_color (123);
+ SLsmg_write_string ("new");
+ SLsmg_set_color (1);
+ SLsmg_write_string (" feature");
+
+ By default, this feature is turned off but may be turned on via
+
+ SLsmg_embedded_escape_mode (1);
+
+ Although this special color-changing-byte-sequence looks like an
+ ANSI escape sequence, the semantics are very different.
+31. doc/tm/rtl/type.tm: The "string" function was documented as
+ returning an integer. (Doug Burke)
+
+Changes since 2.0.0 pre-release 4
+0. src/*: For POSIX compliance, all _SL* symbols were changed to
+ _pSL*. Change suggested by Alastair McKinstry. If you experience
+ a linker error such as "undefined symbol: _SLChg_UCase_Lut" after
+ upgrading, then you will have to recompile your application.
+1. src/slstring.c: Bug fix. For some strings, a substring would
+ produce the same hash as the full string. As a result, the
+ substring was not being properly generated.
+2. src/slerr.c: For applications not using the interpreter,
+ _pSLerr_init was not getting called. As a result, the error-codes
+ were not getting initialized.
+3. src/slsmg.c: Bug fix affecting SLsmg_Newline_Behavior (Thomas
+ Dickey).
+4. src/doc/tm/rtl/strops.tm: typo caught by Doug Burke.
+5. src/slstd.c: added atoi, atol, atoll as simple wrappers around
+ corrsponding standard library functions--- same caveats apply.
+6. src/slstd.c: New intrinsics: add_doc_file, get_doc_files,
+ set_doc_files. These functions facilitate the addition of
+ documentation via a standard mechanism across all apps using the
+ interpreter.
+7. slsh: Interactive support with readline-editing added to slsh. By
+ default, the slang library readline functions are used. If you
+ want GNU readline, then run configure with the appropriate option.
+ (This feature is due to Mike Noble, mnoble at space, mit, edu).
+8. slsh: A man page for slsh (Rafael Laboissiere, rafael at debian, org).
+9. src/slwclut.c: No provision was allowed for backslashes in ranges
+ that also permitted character classes.
+10. slsh/mkfiles/makefile.all: New file for non-unix systems.
+ (DINO SANGOI (SANGOID at lloydadriatico, it)).
+
+Changes since 2.0.0 pre-release 3
+1. New intrinsics: array_swap, array_reverse
+2. src/slrline.c:SLrline_open: If the display width argument is 0, set
+ it to 80.
+3. sldisply.c: Initialize SLtt_Screen_Cols/Rows to (80,24) instead of
+ (0,0).
+4. src/slparse.c: Expressions such as &s.foo and &s[0] are flagged as
+ unsupported at parse time.
+5. src/slimport.c: A module may now be imported into more than one
+ namespace. See modules/README if you are a module writer.
+6. slsh/Makefile.in, modules/Makefile.in: Made changes so that
+ nothing gets compiled during the install step.
+7. src/slimport.c: If "import" is called without a namespace argument,
+ the current namespace will be used. If the current namespace is
+ anonymous, the global namespace will be used.
+8. slsh/lib/require.sl: The provide/require functions have been
+ changed to take a namespace argument.
+9. doc/tm/slang.tm: Added section on operator overloading for
+ user-defined types.
+10. doc/tm/tools/fixtxt: a jed-script to repair the text files
+ generated by the linuxdoc sgml2txt program.
+11. doc/tm/slang.tm: Corrected some typos spotted by Doug Burke.
+12. src/mkfiles/makefile.all: DOS/Windows: The response file was not
+ being properly generated (SANGOI DINO (SANGOID at lloydadriatico, it)
+13. src/slang.c: The autoload function may be used to load a file into
+ a namespace. (Based upon an idea from Jörg Sommer (joerg at alea,
+ gnuu, de)
+14. src/slstring.c: New hash function (from Bob Jenkins-- see
+ See http://burtleburtle.net/bob/hash/evahash.html)
+15. src/slassoc.c: rewritten to use double hashing.
+
+Changes since 2.0.0 pre-release 2
+1. autoconf/aclocal.m4: "if [...]" replaced by "if test ..." (Lloyd
+ Zusman)
+2. src/slsearch.c: BM searches for a string with the same length as
+ the string to be searched was failing.
+3. slsh/scripts/jpegsize: New demo script that finds the dimensions of
+ jpeg-encoded images.
+4. src/slstd.c: Added _slang_install_prefix intrinsic variable.
+5. src/slboseos.c: New file. This file allows to define callback
+ functions that will be called at the beginning (BOS) and end (EOS) of
+ every statement executed by the interpreter.
+6. slsh/lib/stkcheck,sl: The code in this file makes use of the new
+ BOS/EOS hooks to display lines in a source file that leave
+ something on the slang stack.
+7. examples/profile.sl: This file defines a few functions that take
+ advantage of the BOS/EOS hooks to profile slang code.
+8. src/slarrfun.inc: sum and cumsum tweaked to use a "compensated
+ summation" technique to reduce the effect of roundoff and
+ truncation errors.
+9. src/slmisc.c: SLatoi("h") was producing 0, and not an exception.
+10. src/slmath.c: On VMS, slang is compiled with IEEE support (Jouk
+ Jansen).
+11. src/slassoc.c: Rewrote the implementation to use a double hashing
+ scheme.
+
+Changes since 2.0.0 pre-release 1
+1. slsh/lib/require.sl: Protect the Features variable against multiple
+ loading.
+2. src/*.c: VMS-specific patches from Jacob (=Jouk) Jansen.
+3. src/slsearch.c: non-UTF-8 case-insensitive searches were not working.
+4. src/SLwchar*.c: SLwchar_xxxx functions will use the current locale
+ if UTF-8 has not been enabled for the interpreter.
+5. src/sldisply.c: The display of double-wide unicode
+ characters was not working properly under some conditions.
+6. src/slsmg.c: If a double wide character is being displayed, then if
+ a character is written to either of the cells occupied by the
+ double wide character, then the opposing cell will be overwritten
+ with a space.
+7. src/sltoken.c: Characters specified as 'x' where 0 !=(x&0x80) were
+ not being properly parsed.
+8. src/aclocal.m4: --without-foo was not working.
+9. src/slstrops.sl: Fixed an access error in the "string_match"
+ function.
+
+Changes since 2.0.0 pre-release 0
+1. src/slpath.c: slpath_dirname on VMS was failing to include the
+ closing "]" in its return value.
+2. src/slprep.c: A comment in a slang "#ifdef" directive would cause
+ an infinite loop.
+3. src/slarray.c: An integer array such as [a:b:c] where a>b and c>b was being
+ improperly computed.
+4. src/slparse.c: Function calls with missing arguments was not being
+ properly handled, e.g., func(,);
+5. src/slang.h, src/slclass.h: SLclass_set_foreach_functions added.
+6. src/slcurses.[ch]: changes added to support UTF-8 (Adrian Colley)
+7. src/Makefile.in: $(prefix)/doc changed to $(prefix)/share/doc
+ (Adrian Colley)
+8. src/sldisply.c: Missing "break" added to tt_sprintf (Andrew V.
+ Samoilov).
+9. src/slang.c: SLang_peek_at_stack_n and SLang_peek_at_stack1_n
+ functions added to peek deeper into the stack (Mike Noble)
+10. src/slang.c: The actual name of the local variable is used in the
+ traceback messages.
+11. src/slsig.c: Support for the signals added to the
+ interpreter. The new intrinsics include: signal, sigsuspend,
+ sigprocmask, alarm.
+12. src/slcommon.c, slang.h: When system calls are interrupted, a set
+ of "interrupt" hooks may be called. The return values of the
+ hooks determine whether or not the system call is restarted.
+13. src/slang.c: If a string has a $ suffix, then
+ variable name expansion will take place on the string, e.g., "$CC"$.
+14. src/sldisply.c: misc patches (optimization and buffer
+ overflow) (Andrew V. Samoilov)
+15. src/slprep.c: #<whatever> was not working (Paul Boekholt).
+16. src/sldisply.c: Applied a patch from Andriy I Pylypenko dealing
+ with tgetstr on termcap-based systems.
+17. src/slcurses.c: combining character support added to curses
+ emulation (Adrian Colley)
+18. src/slsmg.c: New function SLsmg_strwidth returns the displayable
+ width of a character string assuming it will be displayed at the
+ current position.
+19. src/slstrops.c: string_match and string_match_nth work in terms of
+ byte-offsets, not character offsets. New intrinsics: strbytesub
+ and substrbytes that substitute a byte and return a byte sequence,
+ resp.
+20. src/slarray.c: If A is a string, the A[n] returns a UChar_Type.
+ Indexing a string using array notation uses byte-semantics.
+21. src/slang.h: Tracing messages were being queued instead of
+ processed right away.
+22. src/slcommon.c: SLutf8_enable will use nl_langinfo if available.
+23. src/slstdio.c: new intrinsic: fputslines
+24. src/slerr.c: Explicit CRs (\r) removed from error and message
+ handling routines.
+25. modules/: smg-module.c renamed to slsmg-module.c, with similar
+ name changes to the module symbols. Also, for each xxx-module.c, a
+ new xxx.sl was added to be installed in the slsh install-dir so
+ that slsh's "require" will pick up the specified module.
+
+Changes since 1.4.9
+0. There have been many changes for the version 2 release. See NEWS
+ and UPGRADE.txt for some of the changes. The ones listed here were
+ to appear in 1.4.10, if released. Version 2 contains these changes
+ and many more.
+1. src/slang.c: Test for local variable stack overflow was using >
+ instead of >=.
+2. src/slarray.c: Fixed a bug that prevented 7 dim arrays from being
+ indexed. Similar problem to #1 above: > vs >=.
+3. src/slassoc.c: The following caused a segv:
+ X = Assoc_Type[Int_Type]; X["foo"] = [1:10];
+ Now a type-mismatch error will get generated.
+4. src/slerr.c,sltermin.c: Off by 1 calculations of buffer-sizes fixed
+ by Andrew V. Samoilov (andrew at email, zp, ua).
+5. src/slkeypad.c: More escape sequences courtesy of Denis Zaitsev
+ (zzz at cd-club.ru)
+6. src/slerr.c: SLang_get/set_error functions have been added to the
+ API to get and set the value of SLang_Error, resp. The variable
+ SLang_Error will be removed from slang 2. Applications should
+ start using these functions to ease migration to the next version.
+7. src/slstruct.c: Added SLang_push/pop/free_struct functions to
+ public API. The objects themselves are still opaque.
+8. src/slparse.c: allow the semi-colon to be used as a field separator
+ in a structure declaration.
+9. src/slpath.c: path_sans_extname was failing when a dot was in a
+ directory part of the name.
+10. slsh/slsh.c: The names of environment variables defining the location of
+ the global slsh.rc and the slsh library files may be specified in
+ slsh/Makefile.
+11. src/sltoken.c: Local buffer overflow when the size of an
+ identifier exceeds 256 characters was found and corrected.
+12. src/slarray.c: Leak fixed: Under some circumstances, a memory leak was
+ generated when using user-defined "typedefd" objects in an array,
+ e.g.,
+ typedef struct {a} Foo_Type;
+ ()=[Struct_Type[1],@Foo_Type];
+13. src/slarray.c: Indexing a multi-dimensional array using a
+ mult-dimensional array was broken. Now A[I] returns an array with
+ the same dimensionality as I, regardless of the dimensionality of A.
+14. New intrinsics:
+ __is_callable (Mike Noble mnoble at space, mit, edu)
+ __is_numeric (Mike Noble mnoble at space, mit, edu)
+ __datatype (John Houck houck at space, mit, edu)
+ mktime
+ symlink
+
+Changes since 1.4.8
+1. src/slarray.c: superfluous call to SLclass_add_math_op removed
+ (Michael Noble <mnoble at space.mit.edu>)
+2. src/slang.c: foreach (NULL) using("next"){} foo (); caused _NARGS=1
+ in foo.
+3. src/slarrfunc.c: Fix to prevent sum(NULL) from causing a core-dump.
+4. src/slimport.c: import (module, "") made equivalent to
+ import(module,"Global"); This way, import(module, current_namespace())
+ will work when the current namespace is anonymous.
+5. src/slospath.c: Several users have requested that I add the ability
+ to define a load path and use that path when loading interpreter
+ files. To this end, several new functions were added to the API:
+
+ char *SLpath_get_load_path (void);
+ int SLpath_set_load_path (char *path);
+ /* Get and Set the path to be searched for files */
+ int SLpath_get_path_delimiter (void);
+ SLpath_set_path_delimiter (int delimiter);
+ /* Get and set the character delimiter for search paths */
+ int SLang_load_file_verbose (int verbose);
+ /* if non-zero, display file loading messages */
+
+ New intrinsics include:
+
+ set_slang_load_path
+ get_slang_load_path
+ path_get_delimiter
+
+ These functions, nor the intrinsics have an effect on applications
+ that use SLang_load_file_hook or SLns_load_file_hook for loading
+ files. The change should be transparant to applications that use
+ the stock load file mechanism. The main difference is that if one
+ attempts to load a file with no extension, e.g., "foo", but the
+ file does not exist, then the interpreter will try to load the more
+ recent of "foo.sl" and "foo.slc".
+
+ See src/slsh.c for how the functions may be used.
+
+6. slsh/slsh.c: Updated to use the new search path code outlined
+ above. Also, slsh is distributed with a collection of general
+ purpose slang functions, including jed's provide/require functions.
+ See slsh/README for more information.
+7. doc/tm/cslang.tm: Modified the section describing the implemetation
+ of intrinsic functions in an effort to clarify the discussion.
+8. src/slang.c: tiny memory leak resulting from peephole optimzations
+ added earlier found and fixed.
+9. src/slarrmisc.c: new intrinsic: cumsum computes the cumulative sum
+ of an array via the new SLarray_map_array function.
+10. src/modules: perl compatible regular expression (pcre) module added.
+
+Changes since 1.4.7
+1. src/sldisply.c: make sure SLtt_erase_line leaves the cursor at the
+ beginning of a line in all cases. Previously, this happened only
+ for terminals able to delete to the end of line _and_, when
+ writing to the last line, the ability to insert a character.
+2. doc/tm/cslang.tm: In the discussion of the MAKE_CSTRUCT_FIELD
+ macro, SLANG_STRING_TYPE was used instead of SLANG_INT_TYPE
+ (mnoble at space.mit.edu). Similarly, in the discussion of intrinsic
+ structures, My_Window was used instead of My_Win
+ dburke at head-cfa.cfa.harvard.edu.
+3. src/slang.c: peephole optimizations of 1.4.7 were conflicting with __tmp
+ optimizations. This was causing something as simple as
+
+ define f()
+ {
+ variable a = [1.0:10.0:1];
+ variable b = a * 0.0;
+ return a;
+ }
+
+ to fail.
+4. src/slarray.c Allow ranges to index higher dimensional array.
+5. slsh/slsh.c: Updated to allow a user specified search path. See
+ slsh/README for more info.
+
+Changes since 1.4.6
+1. src/slclass.c: Change "-??-" to "- ?? -" to avoid its
+ interpretation as a trigraph. Miquel Garriga <miquel at icmab.es>
+2. src/mkfiles/makefile.all: If compiling with mingw32, use "cp"
+ instead of "copy". Miquel Garriga <miquel at icmab.es>
+3. src/sllimits.h: Increased the size of the local variable and
+ recursion stacks on 32 bit systems.
+4. src/slarrfun.c: "sum", "min", and "max" intrinsic functions added.
+ Since these may conflict with application defined function, they
+ have been placed in their own module. To get them, use
+ SLang_init_array_extra --- SLang_init_all will not pick up this
+ module. Version 2 of the library will add these functions to the
+ main array function module.
+5. src/sltermin.c: Work around a bug in the solaris 7+8 tset program
+ which improperly sets the TERMCAP environment variable
+ (Paananen Mikko <mikkopa at cs.tut.fi>).
+6. src/slprep.c: Added support for "#stop" and a few other useful
+ or convenient features. See comments at the top of slprep.c for
+ more details. (Mark Olesen <molesen at zeunastaerker.de>).
+7. src/<misc>.c: "const" qualifier added to several places to put
+ constant variables in rdata/text segment to be shared between
+ other processes. ("Andrew V. Samoilov" <samoilov at usb.zp.ua>)
+8. src/sldisply.c: If colors were defined using the "Sf" capability
+ instead of the "AF" capability, then assume those are specified in
+ BGR format instead of RGB. (Pavel Roskin <proski at gnu.org>)
+9. slsh/slsh.c: "status" was not declared if compiled with
+ SLSH_LIB_DIR defined. (mnoble at space.mit.edu)
+10. slsh/Makefile.g32: new file to allow slsh to be compiled with
+ mingw32.
+11. src/sldisply.c,sltermin.c: if running as setuid/setgid, then limit
+ access to the environment for such a process. <solar at openwall.com>.
+12. src/slstd.c: New intrinsic function _get_namespaces may be used to
+ get a list of currently defined namespaces.
+13. src/slstruct.c: better support for pushing and popping structures
+ from C via the SLang_push/pop_cstruct. See doc/text/cslang.txt
+ for details.
+14. slsh/Makefile.in: install target added
+15. src/slang.c: additional peep-hole optimizations added
+16. src/*.c: fixes it enable the library to be compiled without floating
+ support support.
+
+Changes since 1.4.5
+1. doc/tm/rtl/struct.tm: Typos in documentation for set_struct_fields
+ corrected by Douglas Burke <dburke at head-cfa.harvard.edu>.
+2. src/sldisply.c: VMS specific problem: SLang_TT_Write_FD was not
+ getting initialized (Hartmut Becker <Hartmut.Becker at compaq.com>).
+3. src/slarith.c: On a 64 bit system, it was possible that Int_Type
+ objects were not getting properly converted to Double_Type.
+4. src/sltoken.c: A unitialized memory reference fixed in the
+ error handling of an empty character declaration ('').
+5. src/slstd.c: call to _SLinit_slcomplex moved to slmath.c. This
+ means that one does not get complex number support unless math
+ support is also enabled. (suggested by Michael Noble
+ <mnoble at head-cfa.harvard.edu>)
+6. src/slclass.c: Make sure that when registering a class using
+ SLANG_VOID_TYPE, the reserved class ids are not used.
+7. src/slmisc.c, src/sltoken.c: moved SLatoi and friends from sltoken
+ to slmisc.c. This avoids linking in the interpreter when it is not
+ needed.
+8. doc/tm/rtl/array.tm: Documentation for the "where" function
+ corrected by <G.Milde at physik.tu-dresden.de>.
+9. src/slkeypad.c: support added for F11 and F12 keys
+10. src/slimport.c: Better handling of dlopen errors as suggested by
+ Michael Noble <mnoble at head-cfa.harvard.edu.
+11. src/slstruct.c: make sure field names have legal names.
+12. src/slistruct.c: SLns_add_istruct_table added.
+13. src/sltoken.c: New name-space specific functions added:
+ SLns_load_file, SLns_load_string
+ These may be used to load a file or a string into a specified
+ namespace. Simarily, the "eval" and "evalfile" functions may now
+ be given a second argument to specify a namespace.
+14. src/slstd.c: __eqs function added to test for "sameness" of
+ its arguments, __class_type returns information about how an
+ object is classified, __class_id to return its class id. See
+ examples/saveobj.sl for an example of the use of these functions.
+15. src/slarray.c: a 2-d array can nolonger be specified in-line as,
+ e.g., [[1,2],[3,4]]. This now produces a 1-d array: [1,2,3,4].
+16. src/slregexp.c: fix for case-insentive matches involving e.g.,
+ a\{1,3\} type regexps (Thomas Schultz <tststs at gmx.de>)
+17. src/slarray.c: Allow setting elements of pointer type arrays to
+ NULL, e.g., a[10] = NULL.
+18. src/slsignal.c: If CYGWIN, then assume posix signal handling works.
+19. src/slang.c: Do not allow an intrinsic function, variable, etc
+ table to be added twice.
+20. src/slarray.c: Added _isnull intrinsic for checking for NULL values of
+ array elements. This is useful since something like
+ "where(a==NULL)" does not check the individual elements, whereas
+ "where(_isnull(a))" does.
+21. src/sldisply.c: typo involving the initialization of Del_Eol_Str
+ for terminals that do not have such capability.
+ (Pavel Roskin <proski at gnu.org>)
+
+Changes since 1.4.4
+1. Added QNX specific patches and fixed some typos that prevented it
+ from compiling when _SLANG_OPTIMIZE_FOR_SPEED is 0. (Tijs Michels
+ <tijs at vimec.nl>).
+2. Make sure '#ifeval expr' evaluates up to the end of a line and no
+ further.
+3. src/sldisply.c: Do not look for pad info in the graphic charset
+ pairs string. Also, when comparing space characters, be sure to
+ take into account ACS. (Marek Paliwoda <paliwoda at inetia.pl>)
+4. Trivial code cleanups to avoid BCC 5.x warnings.
+5. src/mkfiles/makefile.all: BCC-specific tweaks (John Skilleter
+ <John.Skilleter at pace.co.uk>)
+6. SLang_push/pop_datatype made public
+7. src/slutty.c: if tty is not initialized and an attempt is made to
+ read from the tty, set errno to EBADF.
+8. src/slkeypad.c: New function SLkp_set_getkey_function. This may be
+ used to specify a different function to read keys.
+9. src/slcurses.c: If an invalid keysequence is entered, simply return the
+ characters of the sequence on successive getkey calls.
+10. src/slarray.c: Inline arrays of the form [1f, 0] were not working.
+11. src/sldisply.c: Make sure SLtt_get_screen size gets called by
+ SLtt_initialize.
+12. doc/tm/rtl/struct.tm: typeof in example for get_struct_field_names
+ corrected by Chris Baluta.
+13. modules/varray.c: example showing how a memory mapped array may be
+ created. It also illustrates the free_fun callback for arrays.
+14. examples/life.sl: a S-Lang implementation of Conway's life.
+15. src/slclass.c: SLclass_dup_object function added. Although
+ push/pop can be used to achieve a duplicated object, this function
+ makes it a little easier.
+16. src/slang.h: Prototyes involving "unsigned char" to represent data
+ types have been modified to use SLtype, which is typedefed to be
+ an unsigned char. V2 will use a different size for data types.
+17. Misc tweaks to aclocal.m4, src/Makefile.in, etc to support MacOSX.
+ I have not tested it on that system.
+18. The library may now be compiled under CYGWIN using the same
+ procedure as under Unix.
+19. src/slkeypad.c: Some xterm-specific escape sequences added by
+ Denis Zaitsev <zzz at cd-club.ru>.
+
+Changes since 1.4.3
+1. Fixed a bug that shows up on 64 bit BigEndian machines--- it
+ affected no others.
+2. Fixed potential problem in pre-parsing binary strings.
+3. Bug a fixed affecting only pure termcap-based systems. It has
+ been around a while, I am surprised that it took so long to be
+ discovered.
+
+Changes since 1.4.2
+1. If init_NAME_module_ns does not exist in a module, then try to
+ load init_NAME_module as long as the module is to be imported into
+ the Global namespace.
+2. src/sldisply.c: allow more than 200 rows and 250 columns. Who
+ uses such windows?
+3. Allow Void_Type to be specified for the data-type in array_map if the
+ function returns nothing.
+4. src/slarray.c: A statement such as [1:-1][[1:-1]] = [1:-1]; was
+ causing a core dump.
+5. src/sldisply.c: (Unix/VMS) SLsmg/SLtt routines will write using the file
+ descriptor SLang_TT_Write_FD, which, by default, is initialized to
+ fileno(stdout).
+6. src/slposio.c: New C API functions:
+ SLfile_get_fd returns the file descriptor associated with the
+ SLFile object.
+ SLfile_dup_fd: duplicate an SLFile object
+7. src/slposio.c: New intrinsics: dup_fd (dup a file descriptor)
+8. SLerrno.c: C API Function: SLerrno_set_errno.
+9. SLerrno.c: More errno values added.
+10. Raising complex types to powers supported.
+11. slang.c: current_namespace was returning "global" instead of
+ "Global" for the global namespace.
+12. slang.c: `use_namespace("X");define f();' was not placing `f' into
+ `X'.
+13. path_is_absolute fixed to return integer
+14. src/slarray.c: generate an error when an empty array is passed to
+ array_map.
+15. src/slarray.c: a=3; a[*] should return an array.
+16. Make sure setlocale(LC_NUMERIC,"C") gets called.
+17. slvideo.c: SLtt_set_cursor_visibility implemented for win32.
+18. slvideo.c: SLtt_get_screen_size corrected for win32 by Zusha P.
+19. configure: modified to not automatically assume that -ldl is
+ required for dlopen. In addition, molesen at zeunastaerker.de sent
+ patches for building dynamically linked library under irix.
+20. slsh/Makefile: generated by configure.
+21. modules/Makefile: generated by configure
+22. src/slimport.c: If no module path has been set, fall back on
+ $(prefix)/lib/slang/modules
+23. src/Makefile.in: DESTDIR support added by Brad <brad at comstyle.com>.
+24. src/Makefile.in: documentation is installed in $(prefix)/doc/slang
+ and no longer in $(prefix)/doc/slang/$(slang_version)
+25. sleep intrinsic can take a floating point number to sleep
+ fractional seconds.
+26. src/slang.c: fix SLang_run_hooks to accept a namespace qualifier.
+27. New modules added to the module directory: fcntl, select, termios.
+
+Changes since 1.4.1
+1. slang.c: Under certain conditions, the continue statement was not
+ properly handled in do..while statements. src/test/loops.sl added
+ for testing.
+2. slparse.c: avoid potential (rare?) infinite loop when slang error occurs
+ (Stanisła Bartkowski <sb at protest.com.pl>).
+3. slsmg.c: When SLsmg_init_smg is called, mark the display as trashed.
+4. It is now possible to add intrinsics to their own namespace via
+ new SLns_add* functions. Moreover, the import function now takes
+ an optional additional argument that specifies a namespace.
+5. New namespace intrinsics: use_namespace, current_namespace
+6. Changed inner-product algorithm to minimize the number of cache
+ misses.
+7. sldisply.c: Kanji specific patch from Jim Chen
+ <jimc at ns.turbolinux.com.cn>.
+8. sldisply.c: Assume that Eterm and rxvt are xterm-like (Michael
+ Jennings <mej at valinux.com>).
+9. sldostty.c: mouse support added by Gisle Vanem <giva at bgnett.no>.
+10. slsearch.c: avoid infinite loop if search string has no length.
+11. SCO elf support added by Mike Hopkirk <hops at sco.com>.
+12. slregexp.c: regexp \d+ was not working properly
+13. keyhash.c: typos involving USER_BLOCK keywords corrected.
+ (the use of USER_BLOCKs is discouraged).
+14. New intrinsic variable: _slang_doc_dir. This specifies the
+ installation location of the doc files.
+15. Make sure it can compile with SLTT_HAS_NON_BCE_SUPPORT set to 0.
+
+Changes since 1.4.0
+1. slw32tty.c: `v' key was not being handled on win32 systems. Also,
+ Shift-TAB will now generate ^@-TAB.
+2. New intrinsic function: strreplace. This is more flexible than
+ str_replace.
+3. VMSMAKE.COM: slstring added to list of files to get compiled.
+4. slsh/Makefile, modules/Makefile: added patch from Jim Knoble
+ <jmknoble at pobox.com> to create elf versions (make ELF=elf).
+5. AIX IBMC patches from Andy Igoshin <ai at vsu.ru>.
+6. autoconf/config.sub: tweaked to properly handle recent alpha
+ systems.
+7. If compiling on an alpha, add -mieee compiler flags.
+8. SLang_roll_stack and SLang_reverse_stack functions made public.
+9. SLang_free_function added. If you call SLang_pop_function, then when
+ finished, call SLang_free_function. This does nothing in 1.X but
+ may do something in 2.x.
+10. src/slrline.c: Keybindings for ESC O A, etc added.
+11. src/slsmg.c: SLsmg_write_nstring: avoid many loops if an extremely
+ large value is passed (> 0x7FFFFFFF).
+12. src/slregexp.c made thread safe
+13. src/slsmg.c: Cursor was not always properly positioned when
+ after SLsmg_touch_lines called.
+14. If terminal does not have erase to eol capability, then use spaces.
+15. doc/tm/strops.sl: doc for strcat updated to reflect its ability to
+ concatenate N strings.
+16. Documentation updated to indicate that floating point range arrays
+ are open intervals such that [a:b] does not include b. slarray.c
+ was modified to enforce this specification. Previously, whether
+ or not b was included in the interval was indeterminate.
+17. src/slsmg.c: bug involving SLsmg_set_screen_start fixed.
+18. src/slparse.c: parser was failing to catch misplaced `}'.
+
+Changes since 1.3.10
+1. If a floating point exception occurs and the OS allows the library
+ to handle it without forcing a longjmp, then SL_FLOATING_EXCEPTION
+ will get generated instead of SL_INTRINSIC_ERROR. Note: Linux
+ provides no way to handle floating point exceptions without
+ forcing a longjmp. In my opinion, this is a flaw.
+2. SLang_pop_double was returning the wrong value for short and
+ character types.
+3. New intrinsic: is_struct_type(X) ==> non-zero is X is a struct.
+4. typecast operation from user defined type to Struct_Type added.
+5. slkeypad.c: DOS/Windows DELETE_KEY definition added (Doug Kaufman
+ <dkaufman at rahul.net>)
+6. slposdir.c: Do not depend upon the existence of rmdir on VMS
+ systems.
+7. slang.c: abs, sign, mul2, chs, sqr were not being treated as
+ function calls.
+8. sldisply.c:SLtt_cls: If the terminal is a color terminal but
+ being used as a black and white terminal, then reset colors before
+ clearing.
+9. path_sans_extname intrinsic added.
+10. slimport.c: If module defines deinit_NAME, will be be called prior
+ to unloading the module. (Ulrich Dessauer <des at gmx.de>)
+
+Changes since 1.3.9
+0. typedef unsigned short SLsmg_Char_Type added to slang.h.
+ Applications that access SLsmg functions read/write_raw and
+ SLsmg_char_at should use SLsmg_Char_Type unstead of unsigned short
+ because this will be changed to unsigned long in version 2.0.
+
+1. Documentation patches from Vlad Harchev <hvv at hippo.ru> added.
+2. slstring.c: offsetof(SLstring,bytes) -->
+ offsetof(SLstring,bytes[0]) to avoid compiler warning on some
+ systems.
+3. slcmplex.c: an int was used where a double should have beed used.
+4. egcs g++ was optimizing slang.c:SLclass_push_ptr_obj away because
+ it was declared as inline. In my opinion, this is another g++ bug.
+5. sscanf intrinsic added. See docs.
+6. SLmake_lut rewritten to correct incorrect handling of ranges with a
+ hyphen at the end.
+7. Small bug involving non-BCE terminals in SLsmg_set_color_in_region
+ fixed.
+8. Functions SLcomplex_asinh/acosh/atanh implemented.
+9. install-elf will nolonger install .h files twice.
+10. @Struct_Type may be used to create a struct.
+12. X[i]++, X[i]-=Y, etc implemented.
+13. Much of slw32tty.c rewritten to fix several bugs in the win32 tty
+ support. In addition, if SLgetkey_map_to_ansi(1) has been called,
+ then function and arrow keys will produce escape sequences that
+ allow one to distinguish alt, ctrl, and shift function keys.
+14. OS/2 specific typo in slposdir.c corrected (Eddie Penninkhof
+ <wizball at xs4all.nl>).
+15. slang.c:add_slang_function: On the very rare occasion that this
+ function failed, memory would get freed twice.
+
+Changes since 1.3.8
+1. Color was not enabled on VMS.
+2. If MAKE_INTRINSIC was used to declare a function which takes
+ arguments, then a typecast error would result when the function was
+ called. New programs should not use MAKE_INTRINSIC since it
+ bypasses argument type-checking.
+3. src/sl-feat.h: SLTT_XTERM_ALWAYS_BCE variable added to force the
+ assumption of the bce (background-color-erase) capability of xterm.
+ The default is 0, which means to accept the terminfo setting.
+ To force it to 1 during run-time, set the COLORTERM_BCE environment
+ variable. This is useful when using, e.g., rxvt to login to a
+ solaris system where the terminfo file will probably not indicate
+ bce.
+4. SLw32tty.c:SLang_init_tty: Open CONIN$ instead of using
+ GetStdHandle. This is necessary if stdin has been redirected.
+5. SLposdir.c: Stat structure contains new field `st_opt_attrs' that
+ may be used to contain system specific information that `struct
+ stat' does not provide. In particular, under win32, this field
+ contains the file attributes, e.g., whether or not a file is
+ hidden.
+6. Appropriate typecasts added to avoid warnings on systems that do not
+ support `void *'.
+7. Characters in the range 128-255 are allowed in identifiers.
+8. Correction to the documentation for SLang_init_tty (Ricard Sierra
+ <irebulle at nexo.es>).
+9. SLANG_END_*_TABLE macros added to quiet silly egcs compiler warnings.
+10. typo in sltime.c caused it not to compile under Ultrix.
+11. Speed improvement of binary operations involving arrays,
+ particularly when used in conjunction with the __tmp function.
+12. traceback messages include the filename containing the function
+13. File local intrinsic variable `_auto_declare' added. If non-zero,
+ any undefined global variable will be given static scope.
+14. __uninitialize intrinsic function added.
+15. listdir was returning NULL on empty directories. It has been
+ changed to return String_Type[0]. It will return NULL upon error.
+16. slang.h: if __unix is defined, then also define __unix__ (Albert
+ Chin-A-Young <china at thewrittenword.com>).
+17. foreach using extended to File_Type objects. See documentation.
+18. Tweak to the inner-product operator such that if A is a vector,
+ and B is a 2-d matrix, then A will be regarded as a 2-d matrix
+ with 1 column.
+
+Changes since 1.3.7
+0. configure script updated to autoconf 2.13. If /usr/include/slang.h
+ exists, then the default prefix will be set to /usr.
+1. Compile error fixed if _SLANG_HAS_DEBUG_CODE is 0.
+2. Bug fix involving typecast(Array_Type, Any_Type).
+3. __IBMC__ patches from Eddie Penninkhof <wizball at xs4all.nl>.
+4. If A = Assoc_Type[] (Any_Type array), then A[x] automatically
+ dereferences the Any_Type object.
+5. Bug fixed involving Assoc_Type optimization cache.
+6. Tweaks to SLtt_smart_puts for improved performace.
+7. array_map modifed such that the first array in its argument list
+ controls the number of elements in the output array. This is a
+ backward compatible change and makes the function more flexible.
+8. Additional tweaks to speedup array inary functions if
+ _SLANG_OPTIMIZE_FOR_SPEED > 1.
+9. Patch from Thomas Henlich <henlich at mmers1.mw.tu-dresden.de> fixing
+ a problem with the `SLang_define_case' function, which allows
+ customization of the upper/lower case tables.
+10. strtrans and str_delete_chars intrinsic functions added.
+11. tweaks to interpreter for some additional speed.
+
+Changes since 1.3.6
+1. Added a modified version of a patch from Martynas Kunigelis
+ <martynas at diskena.dammit.lt> to allow writes to the lower left
+ corner.
+2. SIZEOF_LONG changed to 4 for VMS alpha systems (Jouk Jansen
+ <joukj at hrem.stm.tudelft.nl>).
+3. MSC patches from gustav at morpheus.demon.co.uk (Paul Moore). He also
+ contributed code for listdir with MSC.
+4. SLsmg.c: Background color erase tweaks for terminals that lack this
+ capability.
+5. Fixed a NULL pointer dereference when doing Struct_Type[2][0].
+6. Added slsh/scripts/ls and slsh/scripts/badlinks. `ls' is designed
+ for non-Unix systems and `badlinks' finds all symbolic links in
+ specified directories that point to non-existent files.
+7. SLang_Version_String and intrinsic variable _slang_version_string
+ added.
+8. stat_file modified under win32 such that a trailing `\' is stripped
+ if present.
+9. stat_is intrinsic modified to return a character instead of an
+ integer.
+10. The matrix-multiplication operator `#' now performs inner-products
+ on arrays, e.g., if A and B arrays:
+ A = A_i..jk
+ B = B_kl..m
+ Then, (A#B)_i..jl..m = A_i..jk B_kl..m where k is summed over.
+ This means that `#' is a matrix multiplication operator for 2-d
+ arrays, and acts as a dot-product operator for 1-d arrays.
+ In the process, it has been extended to complex numbers.
+
+11. _reshape intrinsic function added. Unlike `reshape', this
+ function creates a new array and returns it.
+12. Array indexing via characters works again, e.g., A['a'].
+
+Changes since 1.2.2
+0. New assignment operators: *= /= &= |=
+ The addition of these operators meant that some of the internal
+ byte-codes had to be modified. This change should only cause
+ problems with byte-compiled or preprocessed .sl files. As far as I
+ know, only the JED editors uses this feature. So, after upgrading
+ the library, and before running JED, do the equivalent of
+
+ rm $JED_ROOT/lib/*.slc
+
+ That is, delete the byte-compiled .slc files.
+
+1. Now the language supports `!if ... else' statements.
+2. New intrinsics:
+
+ __is_initialized: This may be used to see whether or
+ not a variable is initialized, e.g, __is_initialized (&variable);
+ __get_reference: Returns a reference to an object with a
+ specified name.
+ rmdir, rename, remove (slfile.c): these return 0 upon success, -1 upon
+ failure and set errno
+ getpid, getgid, getppid (slunix.c)
+ _typeof: This is similar to `typeof' except in the case of
+ arrays where it returns the data type of the array
+ __pop_args, __push_args: see documentation
+ fseek, ftell, and symbolic constants SEEK_END, SEEK_CUR, SEEK_SET
+ sleep
+ usage
+
+3. `Conj' function added to get the complex conjugate
+4. New array module that implementes additional array functions, e.g.,
+ transpose, matrix multiplication, etc... Use `SLang_init_array' to
+ initialize.
+5. An array such as [[1,2,3],[4,5,6]] is interpreted as a 2-row
+ 3-column array.
+6. Amiga patches from Jörg Strohmayer <j_s at gmx.de>.
+7. New table types:
+
+ SLang_IConstant_Type
+ SLang_DConstant_Type
+
+ These are useful for defining symbolic constants. See slmath.c and
+ slfile.c for examples of their use.
+
+8. A new pseudo-function: __tmp
+ This `function' takes a single argument, a variable, and returns
+ the value of the variable, and then undefines the variable. For
+ example,
+
+ variable x = 3;
+ variable y;
+ y = __tmp(x);
+
+ will result in `y' having a value of `3' and `x' will be undefined.
+ The purpose of this pseudo-function is to free any memory
+ associated with a variable if that variable is going to be
+ re-assigned. For example, consider:
+
+ variable x = [1:10:0.1];
+ x = 3*x^2 + 2;
+
+ At the time of the re-assignment of `x' in the last statement, two
+ arrays will exist. However,
+
+ x = 3*__tmp(x)^2 + 2;
+
+ results in only one array at the time of the assignment, because
+ the original array associated with `x' will have been deleted. This
+ function is a pseudo-function because a syntax error results if
+ used like
+
+ __tmp (sin(x));
+
+9. New low-level push/pop functions that are designed specifically
+ for use in constructing the push/pop methods of application
+ defined data types. These functions have names of the form:
+
+ SLclass_push_*_obj
+ SLclass_pop_*_obj
+
+ where * represents int, long, char, short, ptr, double, float.
+ See sltypes.c to see how they are used by, e.g., SLANG_INT_TYPE.
+
+10. New module import facility. See modules subdirectory for
+ examples. To enable this, use
+
+ SLang_init_module
+
+ in you application. Modules will be searched in the following order
+
+ 1. Along the path specified by the `set_import_module_path'
+ function, or by the C functiion SLang_set_module_load_path.
+ 2. Along the path given by the SLANG_MODULE_PATH environment
+ variable.
+ 3. Along a system dependent path, e.g., LD_LIBRARY_PATH
+ 4. In the current directory.
+
+ New interpreter intrinsics include:
+
+ import (String_Type MODULE_NAME);
+ set_import_module_path (String_Type PATH);
+ String_Type get_import_module_path ();
+
+11. New integer and floating point types added to the language. Now
+ all basic C signed and unsigned integer types are supported:
+
+ C bindings S-Lang bindings
+ ---------------------------------------
+ SLANG_CHAR_TYPE Char_Type
+ SLANG_UCHAR_TYPE UChar_Type
+ SLANG_SHORT_TYPE Short_Type
+ SLANG_USHORT_TYPE UShort_Type
+ SLANG_INT_TYPE Int_Type
+ SLANG_UINT_TYPE UInt_Type
+ SLANG_LONG_TYPE Long_Type
+ SLANG_ULONG_TYPE ULong_Type
+ SLANG_FLOAT_TYPE Float_Type
+ SLANG_DOUBLE_TYPE Double_Type
+
+ For example, `Long_Type[10]' creates an array of 10 longs.
+
+12. New intrinsic: set_struct_field. See function reference for more
+ info.
+
+----- snapshot slang1.3_981030 made available -----
+
+13. Type synonyms added:
+
+ Int16_Type, UInt16_Type (16 bit (un)signed integer)
+ Int32_Type, UInt32_Type (32 bit (un)signed integer)
+ Int64_Type, UInt64_Type (64 bit (un)signed integer)
+ Float32_Type (32 bit float)
+ Float64_Type (64 bit float)
+
+ Not all systems support 64 bit integers. These synonyms are
+ useful when one needs integers and floats of a definite size.
+
+14. array_sort changed to use qsort. The main reason for this is that
+ the previous sorting method was derived from a numerical recipes
+ merge sort.
+
+15. New namespace manipulation functions available. When a function
+ or variable is declared as `static', it is placed in the private
+ namespace associated with the object being parsed (a file). By
+ default, there is no way of getting at that function or variable
+ from outside the the file. However, the private namespace may be
+ given a name via the `implements' function:
+
+ implements ("A");
+
+ Then the private variables and functions of the namespace A may be
+ accessed via A->variable_name or A->function_name. The default
+ global namespace is called `Global'. For example, the intrinsic
+ function `message' is defined in the global namespace. One may
+ use either of the following forms to access it:
+
+ message ("hello");
+ Global->message ("hello");
+
+----- snapshot slang1.3_981104 made available -----
+
+16. New intrinsics:
+
+ strtok (See documentation)
+ length (Get the length of an object)
+
+17. New data type added: Any_Type. An array of such a type is capable
+ of holding any object, e.g.,
+
+ a = Any_Type [3];
+ a[0] = 1; a[1] = "string"; a[2] = (1 + 2i);
+
+ Dereferencing an Any_Type object returns the actual object. That
+ is, @a[1] produces "string".
+
+18. Associative arrays added. See documentation.
+19. New `foreach' statement. See the section on `foreach' in
+ doc/text/slang.txt as well as the examples in examples/assoc.sl
+ and src/calc.sl.
+20. Oops. sign function was broken.
+21. array_sort modified to also accept &function_name.
+
+----- snapshot slang1.3_981116 made available (1.3.4) -----
+
+22. Before, it was necessary for the aplication to to call
+ SLang_init_slassoc to enable associative array support. This is
+ nolonger necessary if associative array support is enabled in
+ sl-feat.h.
+
+23. Examples in the documentation modified to use foreach whenever a
+ simplification occurred.
+
+24. Max screen size for 32 bit systems inclreased to 256 rows.
+
+25. `private' keyword added to prevent access to an object via the
+ namespace. This works exactly like `static' except that `static'
+ objects may be accessed via the namespace.
+
+26. structure access methods now available for application defined
+ types (cl_sput, cl_sget). Also, note that array access methods
+ are also available. See slassoc.c for examples.
+
+27. If x is a string, then x[[a:b]] produces a string composed of the
+ characters x[a], ... x[b].
+
+29. New intrinsics:
+
+ listdir: This returns the filenames in a specified
+ directory as an array of strings.
+
+30. Source code for intrinsic functions reorganized in a more coherent
+ fashion. In particular, SLang_init_slfile and SLang_init_slunix
+ are obsolete (though still available) and applications should call
+ a combination of the new functions:
+
+ SLang_init_stdio() /* fgets, fopen, ... */
+ SLang_init_posix_process () /* getpid, kill, ... */
+ SLang_init_posix_dir () /* mkdir, stat, ... */
+
+ Note that `unix_kill' has been replaced by `kill'. So, if you use
+ unix_kill in your application, change it to `kill'.
+
+31. It is now safe to redefine an object while executing the object,
+ e.g., this is now ok:
+
+ define f(x) { eval ("define f(x) { return x; }"); }
+
+32. Binary strings added. This means that it is now possible to use
+ strings with embedded null characters. Too fully exploit this new
+ feature, `fread' and `fwrite' functions were added to the stdio
+ module. In addition `pack', `unpack', `sizeof_pack',
+ `pad_pack_format' were added for converting between binary strings
+ and other data types. See Stdio chapter of the documentation for
+ more information.
+
+33. New structure intrinsic: set_struct_fields. This is useful for
+ setting the fields of a structure without doing each one
+ individually.
+
+34. Interpreter now understands __FILE__ and __LINE__ as referring to
+ the file name and line number of the object being parsed.
+
+35. New intrinsic: array_map. This applies a function to each element
+ of an array and returns the result as an array.
+
+36. The documentation for the intrinsic functions has been updated and
+ organized into a more coherent form.
+
+37. New interface to C structures. See the documentation.
+
+38. Modifications to the interpreter integer types so that short and
+ int are equivalent whenever sizeof(short)==sizeof(int). Ditto for
+ int and long. This reduces the code size.
+
+39. NULL is equivalent to 0 in while and if statements, e.g.,
+
+ x = NULL;
+ if (x) { never_executed (); }
+ while (x) { never_executed (); }
+
+40. `public' made a keyword to for symmetry with `private' and
+ `static', e.g.,
+
+ public define a_public_function ();
+ public variable a_public_variable;
+
+41. semantics of `implements' modified such that the default variable
+ and function declarations are `static', i.e.,
+
+ define xxx (); % ==> public function
+ implements ("foo");
+ define yyy (); % ==> static function
+
+42. Patch from Martynas Kunigelis <kunimart at pit.ktu.lt> adding more
+ line and symbol drawing characters. Also a patch from
+ k-yosino at inatori.netsweb.ne.jp forcing a flush when disabling
+ use of the terminal's status line.
+
+--- Version 1.3.5 released ---
+
+43. Corrected the name of SLang_(sg)et_array_element to be consistent
+ with the documentation.
+
+44. Fixed a bug involving orelse and andelse statements when
+ _debug_info is non-zero.
+
+45. The _apropos intrinsic modified to work with namespaces. In fact,
+ it now returns an array of matches, or if called with out a
+ namespace argument, it returns values to the stack for backward
+ compatibility.
+
+46. strchop and strchopr functions modified to return arrays. (this
+ changes was actually made in 1.3.5).
+
+47. Semantics of strcompress modified to be more useful. The new
+ semantics are probably more natural and should pose no
+ compatibility problems.
+
+48. The `*' operator may be used in array index expressions and is
+ equivalent to `[:]', e.g., a[*,1] means all elements in column 1
+ of the 2d array.
+
+49. New intrinsics to convert bstrings <--> arrays:
+
+ bstring_to_array
+ array_to_bstring
+
+50. New timing intrinsics: tic(); toc(); times (); Also, unix_ctime
+ renamed to ctime (This change occurred in 1.3.5).
+
+51. strcat modified to accept more than 2 arguments:
+
+ strcat ("a", "b", ..., "c") ==> "ab...c";
+
+52. %S in format specifiers will convert the object to its string
+ representation and use it as %s.
+
+53. strtok defaults to using " \t\r\n\f" if called with one argument.
+
+54. fgetslines takes optional second argument that specifies the
+ number of lines to read.
+
+55. If typeof(A) is IStruct_Type, and the corresponding C pointer is
+ NULL, then pushing A will result in pushing NULL. This allows A
+ to be compared to NULL.
+
+56. More optimization of arithmetic operations to improve speed. My
+ tests indicate that the resulting code involving arithmetic
+ operations are about twice as fast as python (1.5) and about 20%
+ faster than perl 5.
+
+57. Patches from Andreas Kraft <kraft at fokus.gmd.de> disabling the
+ listdir intrinsic function if compiled with MSC. Apparantly, the
+ MSC compiler does not support posix functions such as opendir
+ (although other vendors, e.g, Borland, have no problem with this).
+
+58. `array_sort' intrinsic may be used without a comparison function.
+ See docs.
+
+59. Spelling errors in slang.tm corrected by Uichi Katsuta
+ <katsuta at cced.mt.nec.co.jp> (Thanks!).
+
+60. Default install prefix changed from /usr to /usr/local
+
+61. Changes made to SLtt/SLsmg code so that when a color definition is
+ made via, e.g., SLtt_set_color, then the SLsmg interface will be
+ get automatcally notified so that the next SLsmg_refresh will
+ produce the correct colors. In addition, SLsmg_touch_screen added.
+
+62. It is now possible to evaluate S-Lang expressions with the
+ S-Lang preprocessor e.g.,
+
+ #ifeval (_slang_version > 9900) || (x == 1)
+
+63. sl-feat.h: Patch from Jörg Strohmayer <j_s at gmx.de> to define
+ _SLANG_MAP_VTXX_8BIT=1 for AMIGA.
+
+64. New intrinsics:
+ strjoin. This joins elements of a string array.
+ localtime, gmtime
+
+65. New SLsmg function: SLsmg_reinit_smg. Instead of calling
+ SLsmg_reset_smg followed immediately by SLsmg_init_smg when
+ processing SIGWINCH signals, call SLsmg_init_smg instead. This
+ will allow SLsmg based code to properly redraw themselves when
+ running in a SunOS cmdtool window by working around a bug in
+ cmdtool.
+
+===========================================================================
+
+Changes since 1.2.1
+ 1. slcmd.c was not parsing characters in single quotes correctly,
+ e.g., 'a'.
+
+Changes since 1.2.0
+ 1. Oops. A NULL pointer could be referenced in slcmd.c.
+
+Changes since 1.0.3 beta
+
+-1. The SLKeyMap_List_Type structure has been modified to allow the
+ name of the keymap be be an arbitrary length. Unfortunately, this
+ change breaks backward compatibility. So, if you have programs
+ ^^^^^^^^^^^^^^^^^^^^
+ that are dynamically linked to previous BETA versions of 1.0, you
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ will have to recompile those applications!!!
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+0. The variable SLsmg_Newline_Moves has been renamed to
+ SLsmg_Newline_Behavior with the following interpretation:
+#define SLSMG_NEWLINE_IGNORED 0 /* default */
+#define SLSMG_NEWLINE_MOVES 1 /* moves to next line, column 0 */
+#define SLSMG_NEWLINE_SCROLLS 2 /* moves but scrolls at bottom of screen */
+#define SLSMG_NEWLINE_PRINTABLE 3 /* prints as ^J */
+
+1. Added patches from Joao Luis Fonseca <joaolf at centroin.com.br>
+ to src/mkfiles/makefile.all and a necessary OS/2 specific
+ declaration to slvideo.c. I also added the Watcom patches from
+ Bill McCarthy <WJMc at pobox.com> to makefile.all.
+2. The terminfo code is now aware of the complete set of terminfo
+ definitions. However, the screen management routines support a
+ small subset. (Eric W. Biederman <ebiederm+eric at npwt.net>).
+3. Improvements to the SLsmg scrolling alogorithm.
+4. SLang_process_keystring and SLang_make_keystring now return NULL upon
+ failure.
+5. SLcomplex_sqrt branch cut modifed to be consistent with FORTRAN.
+6. If the system supports vsnprintf and snprintf, they are used. The
+ assumption is that they return EOF upon failure. My linux man page
+ for these functions have conflicting statements regarding this.
+
+7. Simplified handling of memory managed types. Now it is possible to
+ pass the managed object directly to the intrinsic function. See
+ slfile.c for an explicit example of this technique. Similarly,
+ references may also be passed and the function SLang_assign_to_ref
+ may be used to assign values to the referenced object. This is
+ also illustrated in slfile.c.
+
+8. QNX specific tweak to slfile.c from Pavanas Abludo Incusus
+ <pavanas at ccia.com>.
+
+9. Fixed a problem where, e.g.,
+
+ x = Double_Type [7,8,9];
+ y = x[0,[:],[:]];
+
+ returned y = Double_Type[8*9] instead of the more intuitive result
+ Double_Type[8,9];
+
+10. SLcmd_Cmd_Table_Type structure changed to permit an unlimited
+ number of arguments. The changed should be backward compatible
+ except that a recompilation of the application will be necessary.
+11. New SLsmg function: SLsmg_set_color_in_region may be used to set
+ the color of a specified region. See demo/smgtest.c for an
+ example of how this is used. Another use would be to draw shadows
+ around a box.
+12. OS2 ICC patches from Eddie Penninkhof <eddie.penninkhof at tip.nl>.
+13. Grammar tweaked to make the pow (^) operator postfix-unary. This
+ makes more sense mathematically so that:
+
+ a^b^c ==> a^(b^c);
+ -(a)^b ==> -(a^b);
+
+14. New struct specific intrinsics:
+
+ get_struct_field_names
+ get_struct_field_value
+ _push_struct_field_values
+
+ See function reference for more information on these.
+
+Changes since 1.0.2 beta
+0. SLtt_init_video, SLtt_reset_video, SLsmg_resume_smg,
+ SLsmg_suspend_smg have been modifed to return 0 upon success, or -1
+ upon error.
+1. Configure script modified to report slang version as 1.0.x instead
+ of 1.0.0x.
+2. Bug fix involving automatic detection of color (Unix)
+3. slvideo.c bug fixed (WIN32, Thanks Chin Huang <cthuang at vex.net>)
+4. Slsignal modified so that fork is not used for CYGWIN32, suggested
+ by vischne at ibm.net.
+5. Solaris ELF patches integrated into configure.in. Now ELF support
+ is available for Linux and Solaris. Thanks Jan Hlavacek
+ <lahvak at math.ohio-state.edu>.
+6. The library now works with MING32 and should work with CYGWIN as
+ well. See INSTALL.pc and src/mkfiles/README for more information.
+ Do NOT use the configure script under these environments.
+7. A new IBMPC_SYSTEM function added that affects WIN32, MSDOS, and
+ OS/2 systems:
+
+ SLang_getkey_map_to_ansi (int enable);
+
+ If `enable' is non-zero, arrow and function keys will be mapped to
+ the ansi equivalents.
+8. The WIN32 terminal support has been modified to be more consistent with
+ the other platforms. In particular, mouse button press reporting
+ has been added (SLtt_set_mouse_mode), and bright color support
+ appears to have been fixed. Note: For MINGW32 and CYGWIN32, use
+ src/mkfiles/makefile.all. Do not use the Unix configure script
+ because WIN32 is NOT Unix.
+9. Several changes to slvideo.c that deals with the proper use of the
+ scroll region for DOS/Windows type systems.
+10. demo/smgtest.c has been enhanced.
+11. Some cleanup performed to src/slprepr.c
+12. WIN32 and WIN16 preprocessing symbols are defined when appropriate.
+
+Changes since 1.0.1 beta
+1. More VMS patches. Thanks Andy.
+
+Changes since 1.0.0 beta
+1. Fixed a bug in the automatic detection of color terminal
+2. Patches to get it to compile on OS2 and VMS
+3. Replaced \r\n in slarray.c with \n
+
+Changes since 0.99-38
+0. Many, many changes to the interpreter. See documentation.
+
+1. SLang_free_intrinsic_user_object shortened via define on VMS.
+2. Make sure slang.h does not defined REAL_UNIX_SYSTEM on OS/2.
+3. New search paths for termin directories include $HOME/.terminfo and
+ /usr/share/terminfo.
+4. SLsystem function added. This is a replacement for `system'. It
+ implements POSIX semantics for POSIX systems. Although Linux
+ claims to be a POSIX system, it's `system' routine is broken.
+5. color names color0 ... color7, brightcolor0, ... brightcolor7
+ added for Unix and VMS systems.
+
+Changes since 0.99-37
+1. SLang_input_pending returns -1 if Ctrl-Break pressed (DOS specific).
+2. SLtty_VMS_Ctrl_Y_Hook added for Ctrl-Y trapping. Keep in mind that
+ this is called from an AST.
+3. Documentation updates
+4. Fixed bug dealing with keymaps with escape sequences involving
+ characters with the high bit set.
+5. slkeypad code ported to DOS
+6. SLsmg_write_raw and SLsmg_read_raw functions added.
+7. Compilation error under QNX fixed.
+9. Small change involving SLang_flush_input.
+
+Changes since 0.99-36
+1. Oops fixed a bug in alternate character set handling when
+ SLtt_Use_Blink_For_ACS is set. This bug only affected DOSEMU.
+2. slvideo.c modification that affects DJGPP version of library. Now
+ the screen is saved and restored.
+3. Updates to slcurses.c by Michael Elkins.
+4. If a color called `default' is specified, the escape sequence to
+ set the default color will be sent. Be careful, not all terminals
+ support this feature. If your terminal supports it, e.g., rxvt,
+ then using
+
+ setenv COLORFGBG default
+
+ is a good choice.
+
+Changes since 0.99-35
+1. Fixed alt char set bug introduced in 0.99-35.
+2. New intrinsic: _stk_reverse
+3. New demos: keypad, smgtest, pager
+4. The environment variable COLORFGBG may be used to specify default
+ foreground background colors, e.g., in csh use:
+
+ setenv COLORFGBG "white;black"
+
+ to specify white on black as the default colors. This also means
+ that a color name of NULL or the empty string "" will get mapped to
+ the default color.
+5. Improved curses emulation provided by Michael Elkins
+ (me at muddcs.cs.hmc.edu).
+6. Small bug fix to SLang_flush_output provided by Balakrishnan k
+ <MDSAAA27 at giasmd01.vsnl.net.in>.
+7. Updated some documentation in doc/cslang.tex (Gasp).
+8. Update vmsmake.com file provided by Martin P.J. Zinser
+ (m.zinser at gsi.de).
+
+Changes since 0.99-34
+0. OS/2 video problem solved by Rob Biggar (rb14 at cornell.edu).
+
+1. The way the interpreter internally handles strings has changed.
+ This should not affect programs which utilize the library. Now all
+ strings returned by the function SLang_pop_string should be freed
+ after use. The SLang_pop_string function will always set the value
+ of the second parameter passed to it to a non-zero value. For this
+ reason, programs should use the new function SLpop_string and
+ always free the string returned by it after use.
+
+2. If SL_RLINE_NO_ECHO bit is set in the readline structure, the
+ user response will not be echoed.
+
+3. If terminal is xterm, the TERMCAP environment variable will be
+ ignored. This change was necessary because of the braindead
+ TERMCAP setting created by the latest version xterm.
+
+4. Some of the keymap routines were re-coded. Now it is possible to
+ have lowercase characters as part of the prefix character sequence.
+
+5. New modules. See demo/pager.c for information. See also the slrn
+ source code for a more sophisticated use.
+
+ SLscroll: may be useful for routines that deal with displaying
+ linked lists of lines.
+ SLsignal: POSIX signal interface for programs that use SLsmg and
+ SLtt modules. doc/signal.txt may also prove useful.
+ SLkeypad: Simplified interface to SLang keymaps.
+ SLerrno: System independ errno routines
+
+Changes since 0.99-33
+1. A couple of interpreter bug fixes.
+
+2. Some macros, e.g., MEMSET, removed from slang.h. I do not feel
+ that they belong there and it is unlikely that they are used by
+ others. I made them avalable in the file src/jdmacros.h for anyone
+ whose code depends on them.
+
+3. The functions jed_mem??? have been renamed to SLmem???.
+
+4. New intrinsic: _obj_type returns type information about object on top
+ of stack.
+
+Changes since 0.99-32
+1. appropriate header files added for VMS
+2. Oops. 0.99-32 introduced a bug positioning cursor. :(
+
+Changes since 0.99-31
+1. Simple minded curses emulation added. This should help those migrating
+ from curses. See slang/src/curses/*.c for sample curses demo programs
+ that the SLsmg routines can handle. See also slang/src/slcurses.c for
+ some wrapper functions.
+2. Changed <config.h> to "config.h" in all source files.
+3. If system lacks terminfo directories, it is compiled with termcap
+ support. This generalizes and replaces the test for NeXT.
+4. New functions for slang/src/sldisply.c:
+
+ void SLtt_get_screen_size (void);
+ SLtt_Char_Type SLtt_get_color_object (int);
+ void SLtt_set_color_fgbg (int, SLtt_Char_Type, SLtt_Char_Type);
+
+ The first function attempts to deduce the correct values of
+ SLtt_Screen_Rows and SLtt_Screen_Cols. This function is called by
+ sltt_get_terminfo.
+
+ New constants such as SLSMG_COLOR_BLACK, SLSMG_COLOR_RED, ... have been
+ added to slang.h to facilitate the use of SLtt_set_color_fgbg.
+
+5. Improved error messages
+6. ELF support. Do: make elf; make install-elf
+
+Changes since 0.99.30
+
+1. Small bug fixed that affects 64 bit machines with a certain byte
+ ordering.
+2. slutty.c: _POSIX_VDISABLE is used if defined.
+
+Changes since 0.99.29
+
+0. BIG change in handling keymaps. Specifically, this change effects the
+ change of the `f' field of the SLang_Key_Type structure. Before, this
+ was VOID_STAR, now it is a union. The new change is much more portable.
+ In addition, the function `SLang_define_key1' has been removed and
+ replaced by `SLkm_define_key'. See src/slrline.c for the use of this new
+ interface. For a short time, the old interface will be available if the
+ preprocessor symbol `SLKEYMAP_OBSOLETE' is defined when slang is compiled.
+ See jed and slrn source for more examples.
+
+1. SLang_getkey now reads from /dev/tty (unix).
+2. If the first argument to SLang_init_tty is -1, the current value of the
+ interrupt character will not be changed (unix).
+3. New intrinsic: time
+Changes since 0.99.28
+1. Oops! Horrible bug in src/slmemcmp fixed.
+2. slvideo: init_video modified to be more consistent with VMS/Unix routine.
+
+Changes since 0.99.27
+1. More changes to the configure script
+2. It looks like hpterm support is in place. This terminal has a glitch
+ that prevents efficient screen updating.
+3. New SLsmg function:
+
+ void SLsmg_write_color_chars (unsigned short *s, unsigned int len)
+
+ This function may be used to write a string of characters with
+ attributes.
+
+Changes since 0.99.26
+1. Slang now uses a configure script under Unix to configure itself.
+2. New intrinsic functions include _stk_roll, strchop, strchopr.
+3. Terminals which require an escape sequence to make their arrow keys work
+ are now sent the escape sequence.
+
+Changes since 0.99.25
+1. New SLsmg variables:
+ SLsmg_Newline_Moves
+ SLsmg_Backspace_Moves
+ These variables control the interpretation of newline and backspace
+ characters in smg.
+
+Changes since 0.99.24
+1. SLSMG_RTEE_CHAR, etc... added to OS/2 part of slang.h
+2. Small fix for aix-term
+
+Changes since 0.99.23
+0. The makefile for unix has been completely re-written.
+1. Some problems dealing with certain color terminals have been resolved.
+2. `g' generic type added to SLcmd.
+
+Changes since 0.99.22
+0. The Macro `VOID' has been removed. The whole point of this macro was to
+ mimick `void *' declarations for compilers that did not support such a
+ construct. Instead of `VOID *', slang.h now defines `VOID_STAR' and all
+ `VOID *' declarations have been renamed to `VOID_STAR'.
+
+ If you use the VOID macro in your application, you have two choices:
+
+ 1. Rename all occurances of VOID * to VOID_STAR
+ 2. Add: #define VOID void somewhere appropriate.
+
+1. \< and \> regular expressions added.
+
+Changes since 0.99.21
+1. Oops. I added too much linux stuff (see 3 below). Some of it backed
+ out to Linux only.
+
+Changes since 0.99.20
+1. Problem on some VMS systems which lack prototype for atof fixed.
+2. New function: SLtt_set_mouse_mode. This is used to turn on/off mouse
+ reporting on Unix and VMS systems.
+3. The terminal type `linux' is now recognized by the SLtt interface---
+ even if there is no termcap/terminfo entry for it.
+
+Changes since 0.99.19
+1. User definable types must now have object identification numbers larger
+ than 127. The lower limit used to be 100 but this comflicts with many
+ applications (as well as slang itself) using lower case letters as the
+ object number, e.g., create_array ('s', 10, 1); which creates an array
+ of 10 strings (object number 's' = 115).
+
+2. New intrinsic: array_info available.
+3. regular expression matching bug involving \{m,n\} expressions fixed.
+4. New module: slprepr.c. This gives programs the ability to use the slang
+ preprocessor.
+5. News slsmg functions: SLsmg_suspend_smg () and SLsmg_resume_smg ().
+ These are designed to be used before and after suspension. The SLsmg
+ state is remembered and a redraw is performed by the resume_smg function.
+6. The function `sltty_set_suspend_state' is now available for Unix
+ systems. It may be used to turn on/off processing of the suspend
+ character by the terminal driver.
+7. If SLtt_Try_Termcap is 0, the TERMCAP variable will not be parsed.
+8. SLang_TT_Read_FD variable is now available for unix. This is the file
+ descriptor used by SLang_getkey.
+9. New preprocessor symbols available:
+ SLMATH : If math functions are available
+ SLUNIX : If unix system calls are available
+ SLFILES : Stdio functions available
+ FLOAT_TYPE : Floating point version
+
+Changes since 0.99.18
+1. New intrinsic function: strcompress. This collapses a string by removing
+ repeated characters. For example,
+
+ define collapse (f)
+ {
+ while (str_replace (f, " ", ",")) f = ();
+ return strcompress (f, ",");
+ }
+
+ collapse (", ,a b c ,,,d e,f ");
+
+ returns: "a,b,c,d,e,f"
+
+2. QNX support added.
+3. New Functions (unix only): SLtt_tgetstr, SLtt_tgetnum, SLtt_tgetflag.
+4. Fixed parsing of Octal and Hex numbers so that incorrect values are
+ flagged as errors. Also, both lower and uppercase values may be used in
+ HEX numbers, e.g., 0xa == 0XA == 0Xa == 0xA.
+5. MS-Windows support added. Compile using makefile.msw. This creates
+ `wslang.lib'.
+6. New SLsmg functions: SLsmg_get_row, SLsmg_get_column. These return the
+ current position.
+
+Changes since 0.99.17
+1. I have added limited termcap support although slang is still a terminfo
+ based system. The support is provided via the TERMCAP environment
+ variable. If this variable exists and contains a termcap entry for which
+ there is no reference to another entry (via tc field), it will be used
+ to setup the terminal. If the TERMCAP variable does not exist, or it
+ refers to a file, terminfo is used instead. This is not really a
+ limitation since one can set this variable in a way that slang likes by
+ using `tset -s'.
+
+ The motivation for this support is two-fold:
+ a. Slang programs can now run inside the screen program which sets
+ the TERMCAP variable appropriately.
+ b. A user can now correct defective termcap entries (e.g., for Linux),
+ and have those corrections made available to slang via the `tset'
+ command, e.g., by putting something analogous to:
+
+ setenv TERMCAP /corrected/termcap/file/absolute/path/name
+ eval `tset -s terminal-name`
+
+ in the .login file.
+ c. This also means that I can distribute corrected termcap entries for
+ common terminals.
+
+Changes since 0.99.16
+1. Inadequate terminfo entries for `linux' terminal are compensated for.
+2. Terminals with the ``Magic cookie glitch'' are flagged as having an
+ unusable highlighting mode.
+
+changes since 0.99.15
+1. Better checking of parameters passed to search routines.
+2. Problem with line drawing characters fixed.
+
+changes since 0.99.14
+1. Ran code through purify. Fixed one problem reported in slkeymap.c
+2. Fixed a bug in sldisply.c regarding mono-attributes.
+3. Code ready for ELF
+changes since 0.99.13
+1. SLtt_Has_Alt_Charset variable added to xterm.c. This is motivated by the
+ sad, pathetic fact that although some termcap/terminfo databases suggest
+ that the terminal can do line drawing characters, the terminal cannot.
+2. SLsmg_write_nstring function added. This function may be used to write
+ only n characters of a string padding wit hblanks if necessary.
+3. If the environment variable COLORTERM exist, SLtt_get_terminfo will set
+ SLtt_Use_Ansi_Colors to 1.
+4. Sltt_set_cursor_visibility function added. If passed a zero integer value,
+ the cursor is hidden; otherwise, it is made visible.
+
+changes since 0.99.12
+1. SLsmg now uses the `te' and `ti' termcap entries if present. Apparantly
+ some terminals need to be put in cursor addressing mode. This also has
+ the effect of restoring the screen of the xterm to what it was before
+ the program was executed.
+2. For some types of code, slang is 20% faster! This is especially
+ noticeable for branching constructs inside tight loops or recursive
+ functions.
+
+changes since 0.99.10
+1. New version control added:
+
+ A new preprocessor symbol was added: SLANG_VERSION
+ This is a 6 digit integer of the form: abcdef
+ This corresponds to version number ab.cd.ef. So for version 0.99.11:
+ #define SLANG_VERSION 9911
+
+ In addition, the intrinsic variable `SLang_Version' was changed from a
+ string to an integer that has the value SLANG_VERSION. This also implies
+ that the interpreter variable _slang_version is now an integer.
+
+changes since 0.99.9
+1. The terminfo code failed to recognize the automatic margin flag. This
+ has been corrected. In addition, the display code nolonger resets the
+ character set upon initialization. This is considered to be a good thing.
+
+2. There is a new program in slang/doc called `texconv' that will produce a
+ nicely formatted ascii document from the tex formatted ones. In
+ addition, new documentation has been added: slang.tex which describes the
+ syntax of the slang programming language and cslang.tex which describes
+ the C interface to the library. The latter document is far from complete
+ but it is a start.
+
+3. A new variable declaration keyword has beed added: global_variable
+ This keyword is useful for declaring global variables from within
+ functions. Such a feature simplifies some scripts.
+
+4. The SLsmg line drawing functions are now in place.
+
+changes since 0.99.8
+1. \d may now be used in regular expressions to specify a digit. In addition,
+ \e specifies an escape character. So for example, `\e\[\d;\dH' matches
+ an ANSI cursor position escape sequence.
+2. Small bug in dealing with terminals that have automatic margins has been
+ fixed.
+3. When compiled with -DSLANG_TERMINFO will use terminfo. This means that
+ there is no need to link to termcap.
+
+changes since 0.99.7
+1. New function added to the readline package:
+ int SLang_rline_insert (char *s);
+ this may be used to stuff strings into the rline buffer. SLSC exploits
+ this feature.
+
+changes since 0.99.6
+
+1. ALL macros beginning with LANG have been changed to use SLANG as the
+ prefix. For example, the macro LANG_IVARIABLE has been renamed to
+ SLANG_IVARIABLE. If you have used one of these macros, please make the
+ change.
+
+2. Application defined types. See demo/complex.c for an example that
+ defines complex numbers and overloads the binary and unary operators to
+ work with them.
+
+changes since 0.99.5
+
+1. New interface for application defined objects. Functions include:
+
+ extern SLuser_Object_Type *SLang_pop_user_object (unsigned char);
+ extern void SLang_free_user_object (SLuser_Object_Type *);
+ extern void SLang_push_user_object (SLuser_Object_Type *);
+ extern SLuser_Object_Type *SLang_create_user_object (unsigned char type);
+
+ This means that S-Lang scripts do not have to worry about freeing
+ structures, arrays, etc... A consequence of this fact is that the
+ intrinsic function `free_array' has been removed. See examples of this
+ exciting new feature in slang/demo.
+
+2. Better documentation and examples. See slang/doc/*.* as well as examples
+ in slang/demo.
+
+3. Memory allocation macros have changed from MALLOC to SLMALLOC, etc...
+ Applications are encouraged to use these rather than `malloc' because by
+ compiling your application AND the slang library with the -DMALLOC_DEBUG
+ will link in code that checks if you have corrupted memory, freed
+ something twice, etc... Use the function `SLmalloc_dump_statistics' for
+ a report of memory consumption by your program.
+
+changes since 0.99.4
+1. cleaned up the source some and I changed the names of the hooks
+ user_whatever to `SLang_User_Whatever'. This makes them more consistent
+ with other external functions and variables and helps avoid name space
+ pollution.
+changes since 0.99.3
+* added screen management stuff
+* added a new help file reader (see help directory)
+* DOUBLE precision is now the default. I think that this makes more sense
+ for an interpreted langauge.
+* searching routines added.
+changes since 0.99.2
+* added low level tty support for VMS, DOS, and Unix
+* slang readline added
+* keymap support
+* files restructured so that programs can link, say, the readline library
+ and not get the whole interpreter linked in.
+
+changes since 0.99.1
+* obscure bug in regular expression fixed
+* optimizing performed for 10% speed increase in speed for some language
+ constructs
+
+changes since 0.99.0
+* semantics of the `switch' statement changed to be more C-like with the
+ addition of the `case' keyword. For example, one can write:
+
+ switch (ch)
+ { case 'A':
+ something ();
+ }
+ {
+ case 'B':
+ something_else ();
+ }
+ { case 3.14:
+ print ("Almost PI");
+ }
+ { case "hello":
+ print ("hi");
+ }
+
+ Note that one may mix data types without the possibility of a type
+ mismatch error.
+
+changes since 0.98:
+* matrix package added. Currently only matrix multiplication and addition
+ is supported. More functions will be added (determinants, inverse, etc..)
+ This support is provided by the `init_SLmatrix ()' call. This support
+ provides the following S-Lang intrinsics:
+
+ matrix_multiply, matrix_add
+
+* New S-Lang core intrinsic:
+
+ copy_array : copys the contents of one array to another
+
+changes since 0.97:
+
+* Double precision floating point supported.
+ Use the -DFLOAT_TYPE -DUSE_DOUBLE compiler flags to enable this.
+ Note that S-Lang does not support single precision and double precision
+ floating point number SIMULTANEOUSLY. You must choose one or the other
+ and stick with it!
+
+* Byte compiling is now more than simple preprocessing. This results in
+ about a 20% decrease in loading time. This also means that if you
+ rebuild your application, you MUST re-bytecompile.
+
+* New syntax added: Consider a function f that returns multiple values.
+ Then to assign these values to, say var_1, and var_2, simply write:
+
+ (var_1, var_2) = f ();
+
+ This is an alternative to:
+
+ f (); =var_2; =var_1;
+
+Changes since 0.96:
+
+ It is now possible to use short circuit boolean evaluation of logical
+ expressions is the `orelse' and `andelse' constructs. Previously, these
+ constructs were only available at the infix level. The new syntax looks
+ like (example taken from JED's rmail.sl):
+
+ if (orelse
+ {re_bsearch("^\\CFrom:.*<\\(.+\\)>");}
+ {re_bsearch("^\\CReply-To: *\\([^ ]+\\) *");}
+ {re_bsearch("^\\CFrom:.*<\\(.+\\)>");}
+ {re_bsearch("^\\CFrom: *\\([^ ]+\\) *");}
+ {re_bsearch("^\\cFrom +\\([^ ]+\\) *");}
+ )
+ {
+ from = rmail_complex_get_from(from);
+ }
+
+ Modified some of the array code to use handles to arrays instead of actual
+ arrays. This adds alot more protection for the use of arrays. The
+ downside is that there is a limit on the number of active arrays. This
+ limit has been set to a default value ot 256. An ``active'' array is an
+ array that has been created but not freed.
+
+ Fixed a parse error that occurred when an `if' statement imediately follow
+ the `:' in a switch statement.
+
+ putenv intrinsic added.
+
+ EXIT_BLOCK: if an exit block is declared, it is called just before the
+ function returns to its caller.
+
+It is now possible to perform assignments in variable declaration
+statements, e.g.,
+
+variable i = 0, imax = 10, n = strlen (name);
+
+Condition compilation of S-Lang source possible. See .sl files in the jed
+distribution.
+
+A bug which prevent assignment to a global C floating point variable was
+fixed.
+
+Changes to `calc':
+
+ `apropos' function added to calc.sl. For example, `apropos("str")'
+ creates a list of all intrinsic functions that contain the substring
+ "str" (strcmp, strcat, etc...)
+
+ Command line arguments are now loaded as S-Lang source files. This makes
+ it possible to create a Unix executable such as:
+
+ #! /usr/local/bin/calc
+
+ define hello_world () { print ("hello world"); }
+ loop (10) hello_world ();
+ quit ();
+}}}
diff --git a/DE401E0D5873000A.pkey b/DE401E0D5873000A.pkey
new file mode 100644
index 0000000..e612ac8
--- /dev/null
+++ b/DE401E0D5873000A.pkey
@@ -0,0 +1,25 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mQGiBEFNKCcRBAD8weX0gwBAfyBoCx2r1Q8GnVt5984cRquJkIHBM7Z6dr5pJKhk
+47u9Fhdi1FSwjAlnQUzxwxw1IGgyguncCy0WtKCeBQUCe9QZi1GuR/H4r02k69kf
+lG64TScYVZ9d5ZAe6G33jLrfCY0K5tWbTOZ5rt7uLyPJqR1XSb3eLnzPVwCg1O3f
+c1YBH9laAO8zqn6Grt+SWFEEAK0sK7WMmxwhaYGOSPa9iUpQhmCO15M79D7Ck5wu
+VofUEC4qxlFy5Uq3HGHK96hvktA8AbFNSVlZNHuFZpmRO3jgp8KIAqW6Vk9wa36z
+cZnTUSoQEVqjTSUBrU5irhZQp9bPXtQzRFRUjTe9w3IYJ9JO0VkVM2zUUWOYdcw9
+DBJRA/4o8ByiHgxQbKAGqF1m4ptRY4P99dJhW/gDt0P7V6gKFmIynE2Qm6MPYNn+
+AS5YvbC14rcUUbTVcYOPjvmBxim2Yc0EfoZ/oOqCqUhYrNmeVmBT61elnwAom4O1
+a3+ikz8NrIHsabN+o0OXtTXk+Lw4HojZ0Yvd2mWIggb5ulpBlrQjSm9obiBFLiBE
+YXZpcyA8ZGF2aXNAc3BhY2UubWl0LmVkdT6IRgQQEQIABgUCTMAbMwAKCRDoJFuJ
+IkTtqb7lAKCnsgbRFp4NTCocbiQKkLndJjk8vwCgkkGtDT7X6E+eCWvXgneI+2UD
+wUGIVwQTEQIAFwUCQU0oJwULBwoDBAMVAwIDFgIBAheAAAoJEN5AHg1YcwAKgqkA
+oK1j6+2hL66UNjGW+cSSVXAqYuzXAJ9NsoMV/SC0wv7M2HniPWuV63tmwrkBDQRB
+TSgoEAQAyF+zGjW4hR11oFcztSNrrlY/T5alJfXZi1+oMnqS5xfjicSvaehZ5LaX
+5E5X478pqg4rlbsGKQEW2EdWfxY0jhEcQx2q1GA5h13LUT9KR7SZ6aLho6R0DVmf
+ZLntcry9xNc8zxqqxrF0pu4L+UbSFpihAaulcsTc3a2ANUhog8sAAwUD/0CXRJKd
+t9wGEQrYk25AOm9JW1oYYY5Uv51RwiHMuC1m0cT8B4b35PWyckY5Oal25QVhXW+M
+m4ZibXFut1t1gDiPRLqsv4ELIXl4lHFcYuiR/WCayJaxxWMVYjU7JWXdjqAlpfp2
+wiwnkz9erAN2ajiy1hTSkECasdi5D2MscyFciEYEGBECAAYFAkFNKCgACgkQ3kAe
+DVhzAArCFgCfeqAZU3Pq00nmtCIw/TyLgmUPQRMAoMU6zgvTVPcvmZf2AkGQ8xou
+jiHp
+=Y/LQ
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/Makefile b/Makefile
index b278e8b..ed7445f 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,5 @@
PKG_NAME := slang
-URL := ftp://space.mit.edu/pub/davis/slang/v2.2/slang-2.2.4.tar.gz
+URL = https://www.jedsoft.org/releases/slang/slang-2.3.2.tar.bz2
+ARCHIVES =
include ../common/Makefile.common
diff --git a/NEWS b/NEWS
new file mode 100644
index 0000000..ab5dbd1
--- /dev/null
+++ b/NEWS
@@ -0,0 +1,578 @@
+NEWS for version 2.3.x -*-text-*-
+
+24 bit color support (new for version 2.3.1)
+============================================
+
+ The SLtt interface has been modified to support 24 bit (true)
+ colors. Until the next major release (version 3), this feature is
+ available for 64 bit Unix/VMS systems to keep binary compatibility.
+ Support for 32 bit systems will be added in version 3.
+
+ Since not all terminals support true color, and it is not supported
+ by terminfo, 24 bit color is disabled by default. A list of
+ terminals that support true color may be found at
+ <https://gist.github.com/XVilka/8346728>.
+
+ To indicate that a terminal supports true color, set the value of
+ the environment variable COLORTERM to either "24bit" or "truecolor",
+ e.g.,
+
+ export COLORTERM=truecolor
+
+ Then to use 24 bit color in applications such as jed and slrn, use a
+ 24bit RGB value in the form "#RRGGBB" as the name of the color.
+ For example, to set the color of the status line in jed to AliceBlue
+ (#F0F8FF) on a SlateGray (#708090) background, use
+
+ set_color ("status", "#F0F8FF", "#708090");
+
+ in the .jedrc file. In slrn, to set the color of the author name to
+ the above colors use
+
+ color author "#F0F8FF" "#708090"
+
+ in the .slrnrc file. Also note other character attributes may be
+ specified, e.g., "#F0F8FF;italics;underline".
+
+New Modules
+===========
+
+ 1. base64: A base64 encoder/decoder module
+ 2. chksum: A module for computing various checksums (currently md5
+ and sha1)
+ 3. stats: A statistics module
+ 4. histogram: A histogram module
+ 5. json: Encode/decode json structures
+
+Module Updates
+==============
+
+ stats-module: Added Anderson-Darling normality and
+ k-sample tests (version 2.3.1)
+
+Intrinsic Functions
+===================
+
+ The following intrinsic functions have been added for 2.3.x:
+
+ sincos : returns both sin and cos in one function call
+
+ get/setitimer: get/set an interval timer
+
+ wherefirstmin/max, wherelastmin/max: returns index for first/last
+ min/max values of an array
+
+ wherefirst_eq/ne/gt/lt/ge/le, where_last_eq/ne/gt/lt/ge/le:
+ returns first/last index of an array where the array value is
+ eq/ne/gt/lt/ge/le of a specified value. (version 2.3.1)
+
+ wherediff: returns indices where adjacient elements of an array
+ differ.
+
+ bstrjoin, bstrcat: like strjoin/strcat but for binary strings.
+
+ get_environ: returns an array of currently defined environment variables.
+
+ getrusage: Get resource usage
+
+ lchown: Change ownership of a symbolic link
+
+ get/set_printable_bstring_size: Get/set the length of the
+ printable representation of binary strings. (version 2.3.1)
+
+ statvfs: Intrinsic that wraps statvfs POSIX function that returns
+ file system statistics. (version 2.3.1)
+
+ _ftime: returns the number of (wallclock) seconds since an epoch
+ (version 2.3.1)
+
+ wchars_to_string/string_to_wchars: Convert a UTF-8 encoded string
+ to and from an array of Unicode characters. (version 2.3.1)
+
+ _array_byteswap: used to convert the values of an array from one
+ endianness to another (version 2.3.2)
+
+ The following functions have been enhanced:
+
+ array_map modified to support multiple return values.
+
+ is_substrbytes: Added support for an optional offset into the
+ string.
+
+ _push_struct_field_values: An optional argument may be used to
+ specify the fields to be pushed. (version 2.3.1)
+
+Interpreter Syntax
+==================
+
+ The step parameter was made optional for the _for statement.
+
+ Struct field names may be an arbitrary string:
+
+ X = struct {"some-field", some_other_field };
+ X.some_other_field = 3;
+ X."some-field" = 4;
+
+ String literals now support \uABCD to specify a 32 bit unicode
+ character. Previously, the braces were required (\u{ABCD}).
+ (version 2.3.1)
+
+ A reserved word may be used for a struct field name without quoting
+ it (version 2.3.2)
+
+
+slsh library (used by conforming slang apps such as jed, slrn, ...)
+===================================================================
+
+ fswalk.sl: Functions that facilitate walking the filesystem.
+
+ listfuns.sl: Set of functions dealing with lists and list-based
+ structures (e.g., heaps).
+
+ rearrange: Performs an in-place arrangement of values in an array
+ or list (defined in arrayfuns.sl).
+
+
+slsh
+====
+
+ Using "who" at the slsh> prompt will list the names/values of
+ variables and functions defined at the prompt.
+
+API News
+========
+
+ Note: The slang 2.3.x API is backward binary compatible with slang
+ 2.y.z.
+
+ Font attributes (italics, bold, underline, ...) may be enabled for
+ terminals that support them by using a color name with a qualifier:
+
+ SLtt_set_color ("menu", "white;italics", "blue");
+ SLtt_set_color ("comment", "black;underline;italics", "cyan");
+
+ SLang_init_tty: if flow control parameter is negative, the
+ terminal's flow control setting will not be changed.
+
+ New functions:
+
+ Functions for dealing with qualifiers passed to intrinsic
+ functions:
+ SLang_qualifier_exists;
+ SLang_get_int_qualifier;
+ SLang_get_long_qualifier;
+ SLang_get_double_qualifier;
+ SLang_get_string_qualifier;
+
+ Callback functions that allow an app additional hooks into the
+ slang readline functions:
+
+ SLrline_set_free_update_cb;
+ SLrline_set_update_clear_cb;
+ SLrline_set_update_preread_cb;
+ SLrline_set_update_postread_cb;
+ SLrline_set_update_width_cb;
+ SLrline_get_update_client_data;
+
+ Functions for dealing with interpreter associative arrays:
+
+ SLang_create_assoc;
+ SLang_push_assoc;
+ SLang_pop_assoc;
+ SLang_free_assoc;
+ SLang_assoc_put;
+ SLang_assoc_get;
+ SLang_assoc_key_exists;
+
+ Functions for dealing with interpreter list objects:
+
+ SLang_create_list;
+ SLang_list_append;
+ SLang_list_insert;
+ SLang_push_list;
+ SLang_pop_list;
+ SLang_free_list;
+
+ Functions for dealing with interpreter structures:
+
+ SLang_create_struct;
+ SLang_push_struct_field;
+ SLang_pop_struct_field;
+ SLang_pop_struct_fields;
+
+ Miscellaneous Functions:
+
+ SLstack_exch;
+ SLcompute_string_hash;
+ SLpath_getcwd;
+
+Unicode Support
+===============
+
+ Unicode tables were updated to version 10.0.0 (version 2.3.2)
+
+Miscellaneous
+=============
+
+ Support was added to support 32-bit terminfo database
+ entries introduced by ncurses 6.1 (version 2.3.2)
+
+=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=
+
+NEWS for version 2.2.x -*-text-*-
+
+Interpreter Enhancements
+========================
+
+ 1. The ternary expression was added:
+
+ expression = condition ? val1 : val2
+
+ If condition is non-zero, then expression = val1,
+ otherwise expression = val2
+
+ 2. The break and condition statements support an optional integer
+ that indicates how many loop levels the statement affects, e.g.,
+ the break statement in
+
+ while (1)
+ {
+ loop (10)
+ {
+ break 2;
+ }
+ }
+
+ will cause both loops to be terminated.
+
+ 3. Multiline strings have been added:
+
+ "This is a \
+ multiline \
+ string"
+
+ `This is
+ another multiline
+ string that
+ does not require
+ a \ for continuation`
+
+ 4. List_Type objects may be indexed using an array of indices
+ instead of just a single scalar index.
+
+ 5. (v2.2.3) Binary literal integers of the form 0bxx...x are supported.
+ Here, x is 0 or 1. The printf "%B" format specifier was added
+ to format integers as binary.
+
+ 6. (v2.2.3) The dereference operator (@) may be used in a structure
+ definition to include the fields from the dereferenced
+ structure, e.g.,
+
+ space = struct {x, y, z};
+ spacetime = struct {@space, t};
+
+ 7. (v2.2.3) Dereferencing a scalar or vector class type now
+ results in duplication of the object, e.g, @7 will produce 7.
+
+ 8. (v2.2.3) Mergesort was made the default sorting algorithm. See the
+ array_sort for details.
+
+Modules
+=======
+
+ 1. zlib: A module that wraps the popular z compression library.
+
+ 2. fork: A module that wraps the fork, exec*, and waitpid functions.
+
+ slsh/lib/process.sl utilizes this module to allow an
+ application to easily create subprocesses and pipelines.
+
+ 3. sysconf: Module that implements interfaces to the posix
+ sysconf, pathconf, etc. functions.
+
+ 4. (2.2.3) csv: A module that supports the reading and writing of
+ so-called Comma Separated Values files.
+
+Intrinsic Functions
+===================
+
+ The following intrinsic functions have been added for 2.2.x:
+
+ sumsq
+ equivalent to sum(x*x)
+
+ expm1
+ More accurate version of exp(x)-1 for x near 0.
+
+ log1p
+ More accurate version of log(1+x) for x near 0
+
+ list_to_array
+ Creates an array from a list.
+
+ string_matches
+ A convenient alternative to string_match and string_match_nth
+ functions.
+
+ strskipbytes (v2.2.3)
+ Skip a range of bytes in a byte string.
+
+ is_substrbytes (v2.2.3)
+ Like is_substr except this works with binary strings
+ containing embedded null characters.
+
+ strskipchar, strbskipchar (v2.2.3)
+ Analogous to C ch=*p++ and ch=*p-- for UTF-8 encoded strings.
+
+ _close
+ Close an integer descriptor
+ _fileno
+ Returns the descriptor as an integer
+
+ dup2, getsid, killpg, getpriority/setpriority
+ Wraps the corresponding system functions.
+
+ utime (v2.2.3)
+ Change a file's last access and modification time.
+
+ ldexp, frexp:
+ If x == a*2^b, where 0.5<=a<1.0 then (a,b)=frexp(x),
+ and x=ldexp(a,b).
+
+ islower, isupper, isxdigit, isalnum, isalpha, iscntrl, isprint,
+ isgraph, ispunct, isblank, isascii, isspace (v2.2.3):
+ Character classification functions.
+
+ list_append, list_join (v2.2.3)
+ Functions for merging two lists together.
+
+ ttyname (v2.2.3)
+ Get the name of the terminal
+
+ timegm (v2.2.3)
+ Inverse of gmtime
+
+ The following functions have been enhanced:
+
+ hypot
+ If given a single array argument, it returns the equivalent
+ of sqrt(sum(X*X)).
+
+ Support for N arrays added for e.g., the Euclidean norm in
+ an N dimensional space (v2.2.3)
+
+ _min, _max: (v2.2.3)
+ Added support for more than two elements.
+
+ polynom
+ The calling interface to this function was changed and
+ support added for arrays.
+
+ strjoin (v2.2.3)
+ delimiter made optional
+
+ strreplace (v2.2.3)
+ New usage designed to facilitate the most common case where
+ one wants to replace all the substrings.
+
+ strtrans (v2.2.3)
+ Additional character classes added (see documentation).
+
+ string_match, string_matches (v2.2.3)
+ The position argument made optional
+
+ The following string functions have been vectorized to act upon
+ arrays of strings (v2.2.3):
+
+ is_substr
+ str_delete_chars
+ strbytelen
+ strcharlen
+ strcmp
+ strcompress
+ strlen
+ strlow
+ strnbytecmp
+ strncharcmp
+ strncmp
+ strtrans
+ strtrim
+ strtrim_beg
+ strtrim_end
+ strup
+
+
+slsh
+====
+ slang readline enhancements:
+ New functions:
+ rline_up/down_hist
+ Behaves similar to zsh up/down-line-or-search functions (v2.2.3).
+
+ rline_call_editor
+ rline_edit_history
+ rline_edit_line
+ Call external editor for line/history editing. (v2.2.3)
+
+ Structure field completion. (v2.2.3)
+
+ Instead of scrolling horizontally when editing a line,
+ attempt to wrap the line. (v2.2.3)
+
+ setfuns.sl: Various set functions: unique, intersection,
+ complement,union (v2.2.3)
+
+Misc
+====
+
+ Unicode tables updated to version 5.1.
+
+=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x
+
+NEWS for version 2.1
+
+Building the library
+====================
+
+ `make install' installs the shared version of the library.
+ Previously `make install' installed just the static version and a
+ separate step (`make install-elf') was required to install the
+ shared version. Now, `make install-static' is necessary to install
+ the static one.
+
+Interpreter News
+=================
+
+Syntax enhancements:
+--------------------
+
+ 1. Short circuiting boolean operators:
+
+ if ((x == y) || (y == 3) && (x != 4)) ...
+
+ (orelse and andelse are deprecated)
+
+ 2. Structure definitions allow embdedded assignment expressions:
+
+ s = struct {x = 3, name="foo", a = [1:10]};
+
+ 3. Qualifiers (aka "keywords") added to the language:
+
+ save_file ("foo.c"; overwrite=1);
+ plot_points ([1:10], sin([1:10]); color="red", style="solid");
+
+ 3. Expressions such as (a < b < c) now interpreted to mean
+ (a<b)and(b<c).
+
+ 4. New keywords: ifnot, then
+
+ ifnot may be used instead of !if, which has been deprecated.
+ For "then" see the next item.
+
+ 5. Looping constructs support a "then" clause that will get
+ executed if the loop runs to completion, e.g.,
+
+ loop (20)
+ {
+ if (this ())
+ break; % The then clause will NOT get executed
+ }
+ then do_that ();
+
+ 6. A floating point array of exactly N elements may be created
+ using the form [a:b:#N], where the elements are uniformly
+ spaced and run from a to b, inclusive.
+
+ 7. References to array elements and structure fields are
+ supported, e.g., &A[3], &s.foo.
+
+ 8. An exception may be rethrown by calling "throw" without any
+ arguments:
+
+ try { something (); }
+ catch AnyError: { do_this (); throw; }
+
+New Intrinsic Functions:
+------------------------
+
+ wherenot(x) :
+ Equivalent to where (not(x))
+
+ _$(str) :
+ Evaluates strings with embedded "dollar" variables, e.g.,
+ _$("$TERM");
+
+ __push_list/__pop_list :
+ Push list items onto the stack
+
+ prod(x) :
+ Computes the product of an array a[0]*a[1]*...
+
+ minabs(x), maxabs(x):
+ Equivalent to min(abs(x)) and max(abs(x))
+
+ getpgrp,setgid, getpgid:
+ Get and set the process group (Unix)
+ setsid :
+ Create a new session
+
+API News
+========
+
+ Although not new I feel that this point should be stressed now
+ because it was not emphasized earlier: The SLarray_* functions that
+ deal with indices or sizes use `SLindex_Type' instead of `int'.
+ Currently, `SLindex_Type' is typedefed to be an `int', but this will
+ change in a future version. So for future compatibility, use
+ `SLindex_Type' instead of `int' in functions that deal with slang
+ arrays. Similarly, instead of using SLang_pop_int for obtaining an
+ array index, use SLang_pop_array_index. See the array-specific
+ examples in the documentation for more information.
+
+ There have been significant enhancements to the slang readline
+ interface. The interface has been opened up to the interpreter
+ allowing for such features as completion and a persistent history
+ mechanism. Applications wishing to take advantage of these features
+ should use the new function `SLrline_open2' instead of
+ `SLrline_open'. For an example, see how this function is used in
+ slsh/src/readline.c.
+
+ SLclass_patch_intrin_fun_table was added to facilitiate the patching
+ of intrinsic tables during runtime. If you have created dynamically
+ loaded modules, then you may have a good idea what this function is
+ for.
+
+ The SLang_Traceback variable is now interpreted as a bitmapped
+ integer providing greater flexibility and control over traceback
+ messages.
+
+ SLerr_throw was added to permit applications to mimic the semantics
+ of the `throw' statement.
+
+ SLang_verror_va was added to support calling the error routines with
+ a va_list argument.
+
+slsh enhancements
+=================
+
+ When configured to use slang's readline routines, new features
+ include filename completion and persistent history.
+
+ The profiler was rewritten to be much more friendly, flexible, and
+ more accurate.
+
+ struct_filter and struct_combine defined in structfuns.sl have been
+ made more flxible. See their documentation for more information.
+
+ A new function called readascii may be used for reading
+ non-binary (or so-called "ascii") data files.
+
+New modules
+===========
+
+ The following modules have been added:
+
+ iconv: Performs character-set conversion using the iconv library.
+ onig: A regular expression module using oniguruma RE library.
+ rand: A random number module
+
diff --git a/buildreq_add b/buildreq_add
index 1c0c3e1..040a4df 100644
--- a/buildreq_add
+++ b/buildreq_add
@@ -6,3 +6,4 @@ zlib-dev
onig-dev
libpng-dev
glibc-utils
+readline-dev
diff --git a/configure b/configure
new file mode 100644
index 0000000..8c29be1
--- /dev/null
+++ b/configure
@@ -0,0 +1 @@
+--with-readline=gnu
diff --git a/configure_misses b/configure_misses
new file mode 100644
index 0000000..2006b58
--- /dev/null
+++ b/configure_misses
@@ -0,0 +1,6 @@
+Configure miss: slsyswrap
+Configure miss: X
+Configure miss: round
+Configure miss: fpsetsticky in -lm
+Configure miss: ncurses5-config
+Configure miss: the iconv library and header files
\ No newline at end of file
diff --git a/options.conf b/options.conf
new file mode 100644
index 0000000..4cf9c49
--- /dev/null
+++ b/options.conf
@@ -0,0 +1,58 @@
+[package]
+name = slang
+url = https://www.jedsoft.org/releases/slang/slang-2.3.2.tar.bz2
+archives =
+giturl =
+
+[autospec]
+# build 32 bit libraries
+32bit = false
+# allow package to build with test failures
+allow_test_failures = false
+# unset %build ld_as_needed variable
+asneeded = false
+# this package is trusted enough to automatically update (used by other tools)
+autoupdate = false
+# extend flags with '-std=gnu++98
+broken_c++ = false
+# disable parallelization during build
+broken_parallel_build = false
+# this package is a library compatability package and only ships versioned library files
+compat = false
+# set conservative build flags
+conservative_flags = false
+# dev package requires the extras to be installed
+dev_requires_extras = false
+# pass -ffast-math to compiler
+fast-math = false
+# optimize build for speed over size
+funroll-loops = false
+# set flags to smallest -02 flags possible
+insecure_build = false
+# do not remove static libraries
+keepstatic = false
+# do not require autostart subpackage
+no_autostart = false
+# disable stripping binaries
+nostrip = false
+# optimize build for size over speed
+optimize_size = false
+# set profile for pgo
+pgo = false
+# set flags for security-sensitive builds
+security_sensitive = false
+# do not run test suite
+skip_tests = false
+# add .so files to the lib package instead of dev
+so_to_lib = false
+# configure build for avx2
+use_avx2 = false
+# configure build for avx512
+use_avx512 = false
+# add clang flags
+use_clang = false
+# configure build for lto
+use_lto = true
+# require package verification for build
+verify_required = true
+
diff --git a/release b/release
index aabe6ec..2bd5a0a 100644
--- a/release
+++ b/release
@@ -1 +1 @@
-21
+22
diff --git a/requires_add b/requires_add
new file mode 100644
index 0000000..ecd3915
--- /dev/null
+++ b/requires_add
@@ -0,0 +1,2 @@
+# This file contains additional runtime requirements that did not get
+# picked up automatically. One name per line, no whitespace.
diff --git a/requires_ban b/requires_ban
new file mode 100644
index 0000000..20ae780
--- /dev/null
+++ b/requires_ban
@@ -0,0 +1,2 @@
+# This file contains runtime requirements that get picked up but are
+# undesirable. One entry per line, no whitespace.
diff --git a/slang-2.3.2.tar.bz2.asc b/slang-2.3.2.tar.bz2.asc
new file mode 100644
index 0000000..6e5a162
--- /dev/null
+++ b/slang-2.3.2.tar.bz2.asc
@@ -0,0 +1,8 @@
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1
+Comment: See http://www.jedsoft.org/signature.html for more information
+
+iD8DBQBanIAS3kAeDVhzAAoRAqTBAKCWbHhxpGWBB9Y7ok++dYf3fvNKhgCdHh/w
+mNiG+4sJTfUC5x5EVr3S6kw=
+=ad4S
+-----END PGP SIGNATURE-----
diff --git a/slang.spec b/slang.spec
index ca03386..e4bf92b 100644
--- a/slang.spec
+++ b/slang.spec
@@ -2,23 +2,27 @@
# This file is auto-generated. DO NOT EDIT
# Generated by: autospec.py
#
+# Source0 file verified with key 0xDE401E0D5873000A (davis(a)space.mit.edu)
+#
Name : slang
-Version : 2.2.4
-Release : 21
-URL : ftp://space.mit.edu/pub/davis/slang/v2.2/slang-2.2.4.tar.gz
-Source0 : ftp://space.mit.edu/pub/davis/slang/v2.2/slang-2.2.4.tar.gz
+Version : 2.3.2
+Release : 22
+URL : https://www.jedsoft.org/releases/slang/slang-2.3.2.tar.bz2
+Source0 : https://www.jedsoft.org/releases/slang/slang-2.3.2.tar.bz2
+Source99 : https://www.jedsoft.org/releases/slang/slang-2.3.2.tar.bz2.asc
Summary : No detailed summary available
Group : Development/Tools
-License : GPL-2.0 GPL-2.0+
-Requires: slang-bin
-Requires: slang-lib
-Requires: slang-doc
-Requires: slang-data
+License : GPL-2.0+
+Requires: slang-bin = %{version}-%{release}
+Requires: slang-data = %{version}-%{release}
+Requires: slang-lib = %{version}-%{release}
+Requires: slang-man = %{version}-%{release}
BuildRequires : glibc-utils
BuildRequires : libpng-dev
BuildRequires : ncurses-dev
BuildRequires : onig-dev
BuildRequires : pcre-dev
+BuildRequires : readline-dev
BuildRequires : zlib-dev
Patch1: stateless.patch
@@ -30,7 +34,7 @@ upgrading from version 1, then you should read these appendices.
%package bin
Summary: bin components for the slang package.
Group: Binaries
-Requires: slang-data
+Requires: slang-data = %{version}-%{release}
%description bin
bin components for the slang package.
@@ -47,9 +51,11 @@ data components for the slang package.
%package dev
Summary: dev components for the slang package.
Group: Development
-Requires: slang-lib
-Requires: slang-bin
-Requires: slang-data
+Requires: slang-lib = %{version}-%{release}
+Requires: slang-bin = %{version}-%{release}
+Requires: slang-data = %{version}-%{release}
+Provides: slang-devel = %{version}-%{release}
+Requires: slang = %{version}-%{release}
%description dev
dev components for the slang package.
@@ -58,6 +64,7 @@ dev components for the slang package.
%package doc
Summary: doc components for the slang package.
Group: Documentation
+Requires: slang-man = %{version}-%{release}
%description doc
doc components for the slang package.
@@ -66,47 +73,55 @@ doc components for the slang package.
%package lib
Summary: lib components for the slang package.
Group: Libraries
-Requires: slang-data
+Requires: slang-data = %{version}-%{release}
%description lib
lib components for the slang package.
+%package man
+Summary: man components for the slang package.
+Group: Default
+
+%description man
+man components for the slang package.
+
+
%prep
-%setup -q -n slang-2.2.4
+%setup -q -n slang-2.3.2
%patch1 -p1
%build
-%configure --disable-static
-make V=1 %{?_smp_mflags} -j1
+export http_proxy=http://127.0.0.1:9/
+export https_proxy=http://127.0.0.1:9/
+export no_proxy=localhost,127.0.0.1,0.0.0.0
+export LANG=C
+export SOURCE_DATE_EPOCH=1561581391
+export GCC_IGNORE_WERROR=1
+export AR=gcc-ar
+export RANLIB=gcc-ranlib
+export NM=gcc-nm
+export CFLAGS="$CFLAGS -O3 -ffat-lto-objects -flto=4 "
+export FCFLAGS="$CFLAGS -O3 -ffat-lto-objects -flto=4 "
+export FFLAGS="$CFLAGS -O3 -ffat-lto-objects -flto=4 "
+export CXXFLAGS="$CXXFLAGS -O3 -ffat-lto-objects -flto=4 "
+%configure --disable-static --with-readline=gnu
+make %{?_smp_mflags} -j1
%check
+export LANG=C
export http_proxy=http://127.0.0.1:9/
export https_proxy=http://127.0.0.1:9/
-export no_proxy=intel.com,localhost
+export no_proxy=localhost,127.0.0.1,0.0.0.0
make runtests
%install
+export SOURCE_DATE_EPOCH=1561581391
rm -rf %{buildroot}
%make_install
%files
%defattr(-,root,root,-)
-/usr/lib64/slang/v2/modules/csv-module.so
-/usr/lib64/slang/v2/modules/fcntl-module.so
-/usr/lib64/slang/v2/modules/fork-module.so
-/usr/lib64/slang/v2/modules/iconv-module.so
-/usr/lib64/slang/v2/modules/onig-module.so
-/usr/lib64/slang/v2/modules/pcre-module.so
-/usr/lib64/slang/v2/modules/png-module.so
-/usr/lib64/slang/v2/modules/rand-module.so
-/usr/lib64/slang/v2/modules/select-module.so
-/usr/lib64/slang/v2/modules/slsmg-module.so
-/usr/lib64/slang/v2/modules/socket-module.so
-/usr/lib64/slang/v2/modules/sysconf-module.so
-/usr/lib64/slang/v2/modules/termios-module.so
-/usr/lib64/slang/v2/modules/varray-module.so
-/usr/lib64/slang/v2/modules/zlib-module.so
%files bin
%defattr(-,root,root,-)
@@ -114,24 +129,19 @@ rm -rf %{buildroot}
%files data
%defattr(-,root,root,-)
-/usr/share/doc/slsh/html/slshfun-1.html
-/usr/share/doc/slsh/html/slshfun-2.html
-/usr/share/doc/slsh/html/slshfun-3.html
-/usr/share/doc/slsh/html/slshfun-4.html
-/usr/share/doc/slsh/html/slshfun-5.html
-/usr/share/doc/slsh/html/slshfun-6.html
-/usr/share/doc/slsh/html/slshfun-7.html
-/usr/share/doc/slsh/html/slshfun-8.html
-/usr/share/doc/slsh/html/slshfun-9.html
-/usr/share/doc/slsh/html/slshfun.html
/usr/share/slsh/arrayfuns.sl
/usr/share/slsh/autoload.sl
+/usr/share/slsh/base64.sl
+/usr/share/slsh/chksum.sl
/usr/share/slsh/cmaps/cool.map
/usr/share/slsh/cmaps/coolwarm.map
/usr/share/slsh/cmaps/copper.map
+/usr/share/slsh/cmaps/cubicl.map
+/usr/share/slsh/cmaps/cubicyf.map
/usr/share/slsh/cmaps/drywet.map
/usr/share/slsh/cmaps/ds9b.map
/usr/share/slsh/cmaps/ds9sls.map
+/usr/share/slsh/cmaps/edge.map
/usr/share/slsh/cmaps/gebco.map
/usr/share/slsh/cmaps/globe.map
/usr/share/slsh/cmaps/gray.map
@@ -153,12 +163,19 @@ rm -rf %{buildroot}
/usr/share/slsh/csv.sl
/usr/share/slsh/fcntl.sl
/usr/share/slsh/fork.sl
+/usr/share/slsh/fswalk.sl
/usr/share/slsh/glob.sl
/usr/share/slsh/help/arrayfuns.hlp
+/usr/share/slsh/help/base64funs.hlp
+/usr/share/slsh/help/chksumfuns.hlp
/usr/share/slsh/help/cmdopt.hlp
/usr/share/slsh/help/csvfuns.hlp
/usr/share/slsh/help/forkfuns.hlp
+/usr/share/slsh/help/fswalk.hlp
/usr/share/slsh/help/glob.hlp
+/usr/share/slsh/help/histfuns.hlp
+/usr/share/slsh/help/jsonfuns.hlp
+/usr/share/slsh/help/listfuns.hlp
/usr/share/slsh/help/onigfuns.hlp
/usr/share/slsh/help/pcrefuns.hlp
/usr/share/slsh/help/pngfuns.hlp
@@ -171,8 +188,12 @@ rm -rf %{buildroot}
/usr/share/slsh/help/setfuns.hlp
/usr/share/slsh/help/slsmg.hlp
/usr/share/slsh/help/sockfuns.hlp
+/usr/share/slsh/help/statsfuns.hlp
/usr/share/slsh/help/structfuns.hlp
+/usr/share/slsh/histogram.sl
/usr/share/slsh/iconv.sl
+/usr/share/slsh/json.sl
+/usr/share/slsh/listfuns.sl
/usr/share/slsh/onig.sl
/usr/share/slsh/pcre.sl
/usr/share/slsh/png.sl
@@ -206,6 +227,10 @@ rm -rf %{buildroot}
/usr/share/slsh/slshrl.sl
/usr/share/slsh/slsmg.sl
/usr/share/slsh/socket.sl
+/usr/share/slsh/stats.sl
+/usr/share/slsh/statslib/ad_test.sl
+/usr/share/slsh/statslib/ks_test.sl
+/usr/share/slsh/statslib/kuiper.sl
/usr/share/slsh/stkcheck.sl
/usr/share/slsh/structfuns.sl
/usr/share/slsh/sysconf.sl
@@ -216,14 +241,52 @@ rm -rf %{buildroot}
%files dev
%defattr(-,root,root,-)
/usr/include/*.h
-/usr/lib64/*.so
-/usr/lib64/pkgconfig/*.pc
+/usr/lib64/libslang.so
+/usr/lib64/pkgconfig/slang.pc
%files doc
-%defattr(-,root,root,-)
+%defattr(0644,root,root,0755)
%doc /usr/share/doc/slang/*
-%doc /usr/share/man/man1/*
+/usr/share/doc/slsh/html/slshfun-1.html
+/usr/share/doc/slsh/html/slshfun-10.html
+/usr/share/doc/slsh/html/slshfun-11.html
+/usr/share/doc/slsh/html/slshfun-12.html
+/usr/share/doc/slsh/html/slshfun-13.html
+/usr/share/doc/slsh/html/slshfun-2.html
+/usr/share/doc/slsh/html/slshfun-3.html
+/usr/share/doc/slsh/html/slshfun-4.html
+/usr/share/doc/slsh/html/slshfun-5.html
+/usr/share/doc/slsh/html/slshfun-6.html
+/usr/share/doc/slsh/html/slshfun-7.html
+/usr/share/doc/slsh/html/slshfun-8.html
+/usr/share/doc/slsh/html/slshfun-9.html
+/usr/share/doc/slsh/html/slshfun.html
%files lib
%defattr(-,root,root,-)
-/usr/lib64/*.so.*
+/usr/lib64/libslang.so.2
+/usr/lib64/libslang.so.2.3.2
+/usr/lib64/slang/v2/modules/base64-module.so
+/usr/lib64/slang/v2/modules/chksum-module.so
+/usr/lib64/slang/v2/modules/csv-module.so
+/usr/lib64/slang/v2/modules/fcntl-module.so
+/usr/lib64/slang/v2/modules/fork-module.so
+/usr/lib64/slang/v2/modules/histogram-module.so
+/usr/lib64/slang/v2/modules/iconv-module.so
+/usr/lib64/slang/v2/modules/json-module.so
+/usr/lib64/slang/v2/modules/onig-module.so
+/usr/lib64/slang/v2/modules/pcre-module.so
+/usr/lib64/slang/v2/modules/png-module.so
+/usr/lib64/slang/v2/modules/rand-module.so
+/usr/lib64/slang/v2/modules/select-module.so
+/usr/lib64/slang/v2/modules/slsmg-module.so
+/usr/lib64/slang/v2/modules/socket-module.so
+/usr/lib64/slang/v2/modules/stats-module.so
+/usr/lib64/slang/v2/modules/sysconf-module.so
+/usr/lib64/slang/v2/modules/termios-module.so
+/usr/lib64/slang/v2/modules/varray-module.so
+/usr/lib64/slang/v2/modules/zlib-module.so
+
+%files man
+%defattr(0644,root,root,0755)
+/usr/share/man/man1/slsh.1
diff --git a/stateless.patch b/stateless.patch
index b845a21..21d570c 100644
--- a/stateless.patch
+++ b/stateless.patch
@@ -1,8 +1,8 @@
diff --git a/slsh/Makefile.in b/slsh/Makefile.in
-index b71b9bc..f558e78 100644
+index cba9d81..cb82774 100644
--- a/slsh/Makefile.in
+++ b/slsh/Makefile.in
-@@ -28,6 +28,7 @@ MKINSDIR = $(CONFIG_DIR)/autoconf/mkinsdir.sh
+@@ -32,6 +32,7 @@ MKINSDIR = $(CONFIG_DIR)/autoconf/mkinsdir.sh
# Where system-wide slsh.rc, scripts, and library files reside
#----------------------------------------------------------------------------
SLSH_CONF_DIR = @sysconfdir@
@@ -10,7 +10,7 @@ index b71b9bc..f558e78 100644
SLSH_LIB_DIR = $(datarootdir)/slsh
SLSH_HELP_DIR = $(SLSH_LIB_DIR)/help
SLSH_DOC_DIR = $(datarootdir)/doc/slsh
-@@ -56,7 +57,7 @@ MAN_DIR = @mandir@/man1
+@@ -60,7 +61,7 @@ MAN_DIR = @mandir@/man1
DEST_LIB_DIR = -L$(DESTDIR)@libdir@
DEST_BIN_DIR = $(DESTDIR)$(BIN_DIR)
DEST_MAN_DIR = $(DESTDIR)$(MAN_DIR)
@@ -19,40 +19,25 @@ index b71b9bc..f558e78 100644
DEST_SLSH_LIB_DIR = $(DESTDIR)$(SLSH_LIB_DIR)
DEST_SLSH_HELP_DIR = $(DESTDIR)$(SLSH_HELP_DIR)
DEST_SLSH_LOCALLIB_DIR = $(DESTDIR)$(SLSH_LOCALLIB_DIR)
-@@ -72,7 +73,7 @@ SHELL = /bin/sh
- INST_LIBS = $(DEST_LIB_DIR) $(RPATH) $(SLANG_INST_LIB) -lslang $(READLINE_LIB) $(OTHER_LIBS)
+@@ -80,7 +81,7 @@ SHELL = /bin/sh
+ INST_LIBS = $(DEST_LIB_DIR) $(RPATH) $(SLANG_INST_LIB) -lslang $(READLINE_LIB) $(DYNAMIC_LIBS)
DEFS = -DSLSH_CONF_DIR='"$(SLSH_CONF_DIR)"' -DSLSH_PATH='"$(SLSH_LIB_DIR)"' \
-DSLSH_CONF_DIR_ENV='$(SLSH_CONF_DIR_ENV)' -DSLSH_LIB_DIR_ENV='$(SLSH_LIB_DIR_ENV)' \
-- -DSLSH_PATH_ENV='$(SLSH_PATH_ENV)'
-+ -DSLSH_PATH_ENV='$(SLSH_PATH_ENV)' -DSLSH_DEF_DIR='"$(SLSH_DEF_DIR)"'
- SRC_LIBS = $(SLANG_SRCLIB) -lslang $(READLINE_LIB) $(OTHER_LIBS)
- #
- all: $(OBJDIR)/slsh_exe
+- -DSLSH_PATH_ENV='$(SLSH_PATH_ENV)' $(SLSYSWRAP_DEF)
++ -DSLSH_PATH_ENV='$(SLSH_PATH_ENV)' -DSLSH_DEF_DIR='"$(SLSH_DEF_DIR)"' $(SLSYSWRAP_DEF)
+ SDEFS = $(DEFS) -DSLSH_STATIC
+ SRC_LIBS = $(SLANG_ELFLIB) -lslang $(SLSYSWRAP_LIB) $(READLINE_LIB) $(DYNAMIC_LIBS)
+ STATIC_SRC_LIBS = $(SLANG_OBJLIB) -lslang $(SLSYSWRAP_LIB) $(READLINE_LIB) $(STATIC_LIBS)
diff --git a/slsh/slsh.c b/slsh/slsh.c
-index 9745543..78652b4 100644
+index 623c94a..12cbaf9 100644
--- a/slsh/slsh.c
+++ b/slsh/slsh.c
-@@ -54,7 +54,11 @@ static char *Slsh_Version = "0.8.6-0";
-
- #if defined(REAL_UNIX_SYSTEM) || defined(__APPLE__)
- /* # define DEFAULT_LIBRARY_PATH "/usr/local/share/slsh:/usr/local/lib/slsh:/usr/share/slsh:/usr/lib/slsh"; */
-+#ifdef SLSH_DEF_DIR
-+# define DEFAULT_CONF_PATH "/usr/local/etc:/usr/local/etc/slsh:/etc:/etc/slsh:" SLSH_DEF_DIR;
-+#else
- # define DEFAULT_CONF_PATH "/usr/local/etc:/usr/local/etc/slsh:/etc:/etc/slsh";
-+#endif
- # define USER_SLSHRC ".slshrc"
- #else
- # define DEFAULT_CONF_PATH NULL
-@@ -342,7 +346,11 @@ static int load_startup_file (int is_interactive)
+@@ -372,7 +372,7 @@ static int load_startup_file (const char *pgm, int is_interactive)
if (NULL == dir)
{
#ifdef SLSH_CONF_DIR
-+#ifdef SLSH_DEF_DIR
+- dir = SLSH_CONF_DIR;
+ dir = SLSH_CONF_DIR ":" SLSH_DEF_DIR;
-+#else
- dir = SLSH_CONF_DIR;
-+#endif
if (dir != NULL)
{
- status = try_to_load_file (dir, SLSHRC_FILE, NULL);
+ status = try_to_load_file (dir, (char *)SLSHRC_FILE, NULL);
diff --git a/symbols b/symbols
new file mode 100644
index 0000000..c100f36
--- /dev/null
+++ b/symbols
@@ -0,0 +1,619 @@
+libslang.so.2:SLANG2
+libslang.so.2:SLANG2.1.0
+libslang.so.2:SLANG2.1.1
+libslang.so.2:SLANG2.2.0
+libslang.so.2:SLANG2.2.1
+libslang.so.2:SLANG2.2.3
+libslang.so.2:SLANG2.3.0
+libslang.so.2:SLadd_app_unary_table
+libslang.so.2:SLadd_dconstant_table
+libslang.so.2:SLadd_fconstant_table
+libslang.so.2:SLadd_global_variable
+libslang.so.2:SLadd_iconstant_table
+libslang.so.2:SLadd_intrin_fun_table
+libslang.so.2:SLadd_intrin_var_table
+libslang.so.2:SLadd_intrinsic_function
+libslang.so.2:SLadd_intrinsic_variable
+libslang.so.2:SLadd_istruct_table
+libslang.so.2:SLadd_lconstant_table
+libslang.so.2:SLadd_llconstant_table
+libslang.so.2:SLadd_math_unary_table
+libslang.so.2:SLallocate_load_type
+libslang.so.2:SLang_add_cleanup_function
+libslang.so.2:SLang_add_interrupt_hook
+libslang.so.2:SLang_add_intrinsic_array
+libslang.so.2:SLang_assign_cstruct_to_ref
+libslang.so.2:SLang_assign_nametype_to_ref
+libslang.so.2:SLang_assign_to_ref
+libslang.so.2:SLang_assoc_get
+libslang.so.2:SLang_assoc_key_exists
+libslang.so.2:SLang_assoc_put
+libslang.so.2:SLang_autoload
+libslang.so.2:SLang_buffer_keystring
+libslang.so.2:SLang_byte_compile_file
+libslang.so.2:SLang_concat_slstrings
+libslang.so.2:SLang_copy_function
+libslang.so.2:SLang_create_array
+libslang.so.2:SLang_create_array1
+libslang.so.2:SLang_create_assoc
+libslang.so.2:SLang_create_keymap
+libslang.so.2:SLang_create_list
+libslang.so.2:SLang_create_mmt
+libslang.so.2:SLang_create_nslstring
+libslang.so.2:SLang_create_slstring
+libslang.so.2:SLang_create_struct
+libslang.so.2:SLang_define_case
+libslang.so.2:SLang_define_key
+libslang.so.2:SLang_do_key
+libslang.so.2:SLang_duplicate_array
+libslang.so.2:SLang_end_arg_list
+libslang.so.2:SLang_execute_function
+libslang.so.2:SLang_exit_error
+libslang.so.2:SLang_find_key_function
+libslang.so.2:SLang_find_keymap
+libslang.so.2:SLang_flush_input
+libslang.so.2:SLang_free_anytype
+libslang.so.2:SLang_free_array
+libslang.so.2:SLang_free_assoc
+libslang.so.2:SLang_free_cstruct
+libslang.so.2:SLang_free_function
+libslang.so.2:SLang_free_list
+libslang.so.2:SLang_free_mmt
+libslang.so.2:SLang_free_object
+libslang.so.2:SLang_free_ref
+libslang.so.2:SLang_free_slstring
+libslang.so.2:SLang_free_struct
+libslang.so.2:SLang_free_value
+libslang.so.2:SLang_generate_debug_info
+libslang.so.2:SLang_get_array_element
+libslang.so.2:SLang_get_double_qualifier
+libslang.so.2:SLang_get_error
+libslang.so.2:SLang_get_fileptr
+libslang.so.2:SLang_get_fun_from_ref
+libslang.so.2:SLang_get_function
+libslang.so.2:SLang_get_int_qualifier
+libslang.so.2:SLang_get_int_size
+libslang.so.2:SLang_get_int_type
+libslang.so.2:SLang_get_long_qualifier
+libslang.so.2:SLang_get_name_from_fileptr
+libslang.so.2:SLang_get_string_qualifier
+libslang.so.2:SLang_getkey
+libslang.so.2:SLang_guess_type
+libslang.so.2:SLang_handle_interrupt
+libslang.so.2:SLang_inc_mmt
+libslang.so.2:SLang_init_all
+libslang.so.2:SLang_init_array
+libslang.so.2:SLang_init_array_extra
+libslang.so.2:SLang_init_case_tables
+libslang.so.2:SLang_init_import
+libslang.so.2:SLang_init_ospath
+libslang.so.2:SLang_init_posix_dir
+libslang.so.2:SLang_init_posix_io
+libslang.so.2:SLang_init_posix_process
+libslang.so.2:SLang_init_signal
+libslang.so.2:SLang_init_slang
+libslang.so.2:SLang_init_slassoc
+libslang.so.2:SLang_init_slfile
+libslang.so.2:SLang_init_slmath
+libslang.so.2:SLang_init_slunix
+libslang.so.2:SLang_init_stdio
+libslang.so.2:SLang_init_tty
+libslang.so.2:SLang_input_pending
+libslang.so.2:SLang_is_defined
+libslang.so.2:SLang_list_append
+libslang.so.2:SLang_list_insert
+libslang.so.2:SLang_load_file
+libslang.so.2:SLang_load_file_verbose
+libslang.so.2:SLang_load_object
+libslang.so.2:SLang_load_string
+libslang.so.2:SLang_make_keystring
+libslang.so.2:SLang_object_from_mmt
+libslang.so.2:SLang_peek_at_stack
+libslang.so.2:SLang_peek_at_stack1
+libslang.so.2:SLang_peek_at_stack1_n
+libslang.so.2:SLang_peek_at_stack_n
+libslang.so.2:SLang_pop
+libslang.so.2:SLang_pop_anytype
+libslang.so.2:SLang_pop_array
+libslang.so.2:SLang_pop_array_index
+libslang.so.2:SLang_pop_array_of_type
+libslang.so.2:SLang_pop_assoc
+libslang.so.2:SLang_pop_bstring
+libslang.so.2:SLang_pop_char
+libslang.so.2:SLang_pop_complex
+libslang.so.2:SLang_pop_cstruct
+libslang.so.2:SLang_pop_datatype
+libslang.so.2:SLang_pop_double
+libslang.so.2:SLang_pop_fileptr
+libslang.so.2:SLang_pop_float
+libslang.so.2:SLang_pop_function
+libslang.so.2:SLang_pop_int
+libslang.so.2:SLang_pop_list
+libslang.so.2:SLang_pop_long
+libslang.so.2:SLang_pop_long_long
+libslang.so.2:SLang_pop_mmt
+libslang.so.2:SLang_pop_null
+libslang.so.2:SLang_pop_ref
+libslang.so.2:SLang_pop_short
+libslang.so.2:SLang_pop_slstring
+libslang.so.2:SLang_pop_strlen_type
+libslang.so.2:SLang_pop_struct
+libslang.so.2:SLang_pop_struct_field
+libslang.so.2:SLang_pop_struct_fields
+libslang.so.2:SLang_pop_uchar
+libslang.so.2:SLang_pop_uint
+libslang.so.2:SLang_pop_ulong
+libslang.so.2:SLang_pop_ulong_long
+libslang.so.2:SLang_pop_ushort
+libslang.so.2:SLang_pop_value
+libslang.so.2:SLang_process_keystring
+libslang.so.2:SLang_push
+libslang.so.2:SLang_push_anytype
+libslang.so.2:SLang_push_array
+libslang.so.2:SLang_push_array_index
+libslang.so.2:SLang_push_assoc
+libslang.so.2:SLang_push_bstring
+libslang.so.2:SLang_push_char
+libslang.so.2:SLang_push_complex
+libslang.so.2:SLang_push_cstruct
+libslang.so.2:SLang_push_datatype
+libslang.so.2:SLang_push_double
+libslang.so.2:SLang_push_float
+libslang.so.2:SLang_push_function
+libslang.so.2:SLang_push_int
+libslang.so.2:SLang_push_list
+libslang.so.2:SLang_push_long
+libslang.so.2:SLang_push_long_long
+libslang.so.2:SLang_push_malloced_string
+libslang.so.2:SLang_push_mmt
+libslang.so.2:SLang_push_null
+libslang.so.2:SLang_push_ref
+libslang.so.2:SLang_push_short
+libslang.so.2:SLang_push_string
+libslang.so.2:SLang_push_strlen_type
+libslang.so.2:SLang_push_struct
+libslang.so.2:SLang_push_struct_field
+libslang.so.2:SLang_push_uchar
+libslang.so.2:SLang_push_uint
+libslang.so.2:SLang_push_ulong
+libslang.so.2:SLang_push_ulong_long
+libslang.so.2:SLang_push_ushort
+libslang.so.2:SLang_push_value
+libslang.so.2:SLang_qualifier_exists
+libslang.so.2:SLang_remove_interrupt_hook
+libslang.so.2:SLang_reset_tty
+libslang.so.2:SLang_restart
+libslang.so.2:SLang_run_hooks
+libslang.so.2:SLang_set_abort_signal
+libslang.so.2:SLang_set_argc_argv
+libslang.so.2:SLang_set_array_element
+libslang.so.2:SLang_set_error
+libslang.so.2:SLang_set_module_load_path
+libslang.so.2:SLang_start_arg_list
+libslang.so.2:SLang_undefine_key
+libslang.so.2:SLang_ungetkey
+libslang.so.2:SLang_ungetkey_string
+libslang.so.2:SLang_verror
+libslang.so.2:SLang_verror_va
+libslang.so.2:SLang_vmessage
+libslang.so.2:SLarith_get_to_double_fun
+libslang.so.2:SLarray_contract_array
+libslang.so.2:SLarray_map_array
+libslang.so.2:SLarray_map_array_1
+libslang.so.2:SLatoi
+libslang.so.2:SLatol
+libslang.so.2:SLatoll
+libslang.so.2:SLatoul
+libslang.so.2:SLatoull
+libslang.so.2:SLbstring_create
+libslang.so.2:SLbstring_create_malloced
+libslang.so.2:SLbstring_create_slstring
+libslang.so.2:SLbstring_dup
+libslang.so.2:SLbstring_free
+libslang.so.2:SLbstring_get_pointer
+libslang.so.2:SLcalloc
+libslang.so.2:SLclass_add_app_unary_op
+libslang.so.2:SLclass_add_binary_op
+libslang.so.2:SLclass_add_math_op
+libslang.so.2:SLclass_add_typecast
+libslang.so.2:SLclass_add_unary_op
+libslang.so.2:SLclass_allocate_class
+libslang.so.2:SLclass_create_synonym
+libslang.so.2:SLclass_dup_object
+libslang.so.2:SLclass_get_class_id
+libslang.so.2:SLclass_get_datatype_name
+libslang.so.2:SLclass_is_class_defined
+libslang.so.2:SLclass_patch_intrin_fun_table
+libslang.so.2:SLclass_patch_intrin_fun_table1
+libslang.so.2:SLclass_pop_char_obj
+libslang.so.2:SLclass_pop_double_obj
+libslang.so.2:SLclass_pop_float_obj
+libslang.so.2:SLclass_pop_int_obj
+libslang.so.2:SLclass_pop_long_obj
+libslang.so.2:SLclass_pop_ptr_obj
+libslang.so.2:SLclass_pop_short_obj
+libslang.so.2:SLclass_push_char_obj
+libslang.so.2:SLclass_push_double_obj
+libslang.so.2:SLclass_push_float_obj
+libslang.so.2:SLclass_push_int_obj
+libslang.so.2:SLclass_push_llong_obj
+libslang.so.2:SLclass_push_long_obj
+libslang.so.2:SLclass_push_ptr_obj
+libslang.so.2:SLclass_push_short_obj
+libslang.so.2:SLclass_register_class
+libslang.so.2:SLclass_set_acopy_function
+libslang.so.2:SLclass_set_aelem_init_function
+libslang.so.2:SLclass_set_aget_function
+libslang.so.2:SLclass_set_anew_function
+libslang.so.2:SLclass_set_apush_function
+libslang.so.2:SLclass_set_aput_function
+libslang.so.2:SLclass_set_deref_function
+libslang.so.2:SLclass_set_destroy_function
+libslang.so.2:SLclass_set_eqs_function
+libslang.so.2:SLclass_set_foreach_functions
+libslang.so.2:SLclass_set_is_container
+libslang.so.2:SLclass_set_length_function
+libslang.so.2:SLclass_set_pop_function
+libslang.so.2:SLclass_set_push_function
+libslang.so.2:SLclass_set_sget_function
+libslang.so.2:SLclass_set_sput_function
+libslang.so.2:SLclass_set_string_function
+libslang.so.2:SLclass_typecast
+libslang.so.2:SLcmd_execute_string
+libslang.so.2:SLcomplex_abs
+libslang.so.2:SLcomplex_acos
+libslang.so.2:SLcomplex_acosh
+libslang.so.2:SLcomplex_asin
+libslang.so.2:SLcomplex_asinh
+libslang.so.2:SLcomplex_atan
+libslang.so.2:SLcomplex_atanh
+libslang.so.2:SLcomplex_cos
+libslang.so.2:SLcomplex_cosh
+libslang.so.2:SLcomplex_divide
+libslang.so.2:SLcomplex_exp
+libslang.so.2:SLcomplex_log
+libslang.so.2:SLcomplex_log10
+libslang.so.2:SLcomplex_pow
+libslang.so.2:SLcomplex_sin
+libslang.so.2:SLcomplex_sinh
+libslang.so.2:SLcomplex_sqrt
+libslang.so.2:SLcomplex_tan
+libslang.so.2:SLcomplex_tanh
+libslang.so.2:SLcomplex_times
+libslang.so.2:SLcompute_string_hash
+libslang.so.2:SLcurrent_time_string
+libslang.so.2:SLcurses_cbreak
+libslang.so.2:SLcurses_clearok
+libslang.so.2:SLcurses_delwin
+libslang.so.2:SLcurses_endwin
+libslang.so.2:SLcurses_getch
+libslang.so.2:SLcurses_has_colors
+libslang.so.2:SLcurses_initscr
+libslang.so.2:SLcurses_mvprintw
+libslang.so.2:SLcurses_mvwprintw
+libslang.so.2:SLcurses_newwin
+libslang.so.2:SLcurses_nil
+libslang.so.2:SLcurses_nodelay
+libslang.so.2:SLcurses_printw
+libslang.so.2:SLcurses_raw
+libslang.so.2:SLcurses_start_color
+libslang.so.2:SLcurses_subwin
+libslang.so.2:SLcurses_waddch
+libslang.so.2:SLcurses_waddnstr
+libslang.so.2:SLcurses_wattroff
+libslang.so.2:SLcurses_wattron
+libslang.so.2:SLcurses_wattrset
+libslang.so.2:SLcurses_wclear
+libslang.so.2:SLcurses_wclrtobot
+libslang.so.2:SLcurses_wclrtoeol
+libslang.so.2:SLcurses_wdelch
+libslang.so.2:SLcurses_wgetch
+libslang.so.2:SLcurses_winsch
+libslang.so.2:SLcurses_wmove
+libslang.so.2:SLcurses_wnoutrefresh
+libslang.so.2:SLcurses_wprintw
+libslang.so.2:SLcurses_wrefresh
+libslang.so.2:SLcurses_wscrl
+libslang.so.2:SLdeallocate_load_type
+libslang.so.2:SLdebug_calloc
+libslang.so.2:SLdebug_free
+libslang.so.2:SLdebug_malloc
+libslang.so.2:SLdebug_realloc
+libslang.so.2:SLdefine_for_ifdef
+libslang.so.2:SLdo_pop
+libslang.so.2:SLdo_pop_n
+libslang.so.2:SLdup_n
+libslang.so.2:SLerr_exception_eqs
+libslang.so.2:SLerr_new_exception
+libslang.so.2:SLerr_strerror
+libslang.so.2:SLerr_throw
+libslang.so.2:SLerrno_set_errno
+libslang.so.2:SLerrno_strerror
+libslang.so.2:SLexecute_function
+libslang.so.2:SLexpand_escaped_string
+libslang.so.2:SLextract_list_element
+libslang.so.2:SLfile_create_clientdata_id
+libslang.so.2:SLfile_create_fd
+libslang.so.2:SLfile_dup_fd
+libslang.so.2:SLfile_free_fd
+libslang.so.2:SLfile_get_clientdata
+libslang.so.2:SLfile_get_fd
+libslang.so.2:SLfile_pop_fd
+libslang.so.2:SLfile_push_fd
+libslang.so.2:SLfile_set_clientdata
+libslang.so.2:SLfile_set_close_method
+libslang.so.2:SLfile_set_dup_method
+libslang.so.2:SLfile_set_getfd_method
+libslang.so.2:SLfile_set_read_method
+libslang.so.2:SLfile_set_write_method
+libslang.so.2:SLfpu_clear_except_bits
+libslang.so.2:SLfpu_test_except_bits
+libslang.so.2:SLfree
+libslang.so.2:SLinterp_is_utf8_mode
+libslang.so.2:SLinterp_utf8_enable
+libslang.so.2:SLkm_define_key
+libslang.so.2:SLkm_define_keysym
+libslang.so.2:SLkm_define_slkey
+libslang.so.2:SLkm_set_free_method
+libslang.so.2:SLkp_define_keysym
+libslang.so.2:SLkp_getkey
+libslang.so.2:SLkp_init
+libslang.so.2:SLkp_set_getkey_function
+libslang.so.2:SLmake_lut
+libslang.so.2:SLmake_nstring
+libslang.so.2:SLmake_string
+libslang.so.2:SLmalloc
+libslang.so.2:SLmalloc_dump_statistics
+libslang.so.2:SLmath_hypot
+libslang.so.2:SLmemchr
+libslang.so.2:SLmemcmp
+libslang.so.2:SLmemcpy
+libslang.so.2:SLmemset
+libslang.so.2:SLns_add_app_unary_table
+libslang.so.2:SLns_add_dconstant
+libslang.so.2:SLns_add_dconstant_table
+libslang.so.2:SLns_add_fconstant
+libslang.so.2:SLns_add_hconstant
+libslang.so.2:SLns_add_hconstant_table
+libslang.so.2:SLns_add_iconstant
+libslang.so.2:SLns_add_iconstant_table
+libslang.so.2:SLns_add_intrin_fun_table
+libslang.so.2:SLns_add_intrin_var_table
+libslang.so.2:SLns_add_intrinsic_function
+libslang.so.2:SLns_add_intrinsic_variable
+libslang.so.2:SLns_add_istruct_table
+libslang.so.2:SLns_add_lconstant
+libslang.so.2:SLns_add_lconstant_table
+libslang.so.2:SLns_add_llconstant
+libslang.so.2:SLns_add_math_unary_table
+libslang.so.2:SLns_allocate_load_type
+libslang.so.2:SLns_create_namespace
+libslang.so.2:SLns_delete_namespace
+libslang.so.2:SLns_load_file
+libslang.so.2:SLns_load_string
+libslang.so.2:SLpath_basename
+libslang.so.2:SLpath_dircat
+libslang.so.2:SLpath_dirname
+libslang.so.2:SLpath_extname
+libslang.so.2:SLpath_file_exists
+libslang.so.2:SLpath_find_file_in_path
+libslang.so.2:SLpath_get_delimiter
+libslang.so.2:SLpath_get_load_path
+libslang.so.2:SLpath_getcwd
+libslang.so.2:SLpath_is_absolute_path
+libslang.so.2:SLpath_pathname_sans_extname
+libslang.so.2:SLpath_set_delimiter
+libslang.so.2:SLpath_set_load_path
+libslang.so.2:SLpop_string
+libslang.so.2:SLprep_delete
+libslang.so.2:SLprep_line_ok
+libslang.so.2:SLprep_new
+libslang.so.2:SLprep_set_comment
+libslang.so.2:SLprep_set_eval_hook
+libslang.so.2:SLprep_set_exists_hook
+libslang.so.2:SLprep_set_flags
+libslang.so.2:SLprep_set_prefix
+libslang.so.2:SLrealloc
+libslang.so.2:SLregexp_compile
+libslang.so.2:SLregexp_free
+libslang.so.2:SLregexp_get_hints
+libslang.so.2:SLregexp_match
+libslang.so.2:SLregexp_nth_match
+libslang.so.2:SLregexp_quote_string
+libslang.so.2:SLreverse_stack
+libslang.so.2:SLrline_add_to_history
+libslang.so.2:SLrline_bol
+libslang.so.2:SLrline_close
+libslang.so.2:SLrline_del
+libslang.so.2:SLrline_eol
+libslang.so.2:SLrline_get_echo
+libslang.so.2:SLrline_get_hscroll
+libslang.so.2:SLrline_get_keymap
+libslang.so.2:SLrline_get_line
+libslang.so.2:SLrline_get_point
+libslang.so.2:SLrline_get_tab
+libslang.so.2:SLrline_get_update_client_data
+libslang.so.2:SLrline_init
+libslang.so.2:SLrline_ins
+libslang.so.2:SLrline_move
+libslang.so.2:SLrline_open
+libslang.so.2:SLrline_open2
+libslang.so.2:SLrline_read_line
+libslang.so.2:SLrline_redraw
+libslang.so.2:SLrline_save_line
+libslang.so.2:SLrline_set_display_width
+libslang.so.2:SLrline_set_echo
+libslang.so.2:SLrline_set_free_update_cb
+libslang.so.2:SLrline_set_hscroll
+libslang.so.2:SLrline_set_line
+libslang.so.2:SLrline_set_point
+libslang.so.2:SLrline_set_tab
+libslang.so.2:SLrline_set_update_clear_cb
+libslang.so.2:SLrline_set_update_hook
+libslang.so.2:SLrline_set_update_postread_cb
+libslang.so.2:SLrline_set_update_preread_cb
+libslang.so.2:SLrline_set_update_width_cb
+libslang.so.2:SLroll_stack
+libslang.so.2:SLscroll_find_line_num
+libslang.so.2:SLscroll_find_top
+libslang.so.2:SLscroll_next_n
+libslang.so.2:SLscroll_pagedown
+libslang.so.2:SLscroll_pageup
+libslang.so.2:SLscroll_prev_n
+libslang.so.2:SLsearch_backward
+libslang.so.2:SLsearch_delete
+libslang.so.2:SLsearch_forward
+libslang.so.2:SLsearch_match_len
+libslang.so.2:SLsearch_new
+libslang.so.2:SLsig_block_signals
+libslang.so.2:SLsig_forbid_signal
+libslang.so.2:SLsig_unblock_signals
+libslang.so.2:SLsignal
+libslang.so.2:SLsignal_intr
+libslang.so.2:SLsmg_char_at
+libslang.so.2:SLsmg_cls
+libslang.so.2:SLsmg_draw_box
+libslang.so.2:SLsmg_draw_hline
+libslang.so.2:SLsmg_draw_object
+libslang.so.2:SLsmg_draw_vline
+libslang.so.2:SLsmg_embedded_escape_mode
+libslang.so.2:SLsmg_erase_eol
+libslang.so.2:SLsmg_erase_eos
+libslang.so.2:SLsmg_fill_region
+libslang.so.2:SLsmg_forward
+libslang.so.2:SLsmg_get_column
+libslang.so.2:SLsmg_get_row
+libslang.so.2:SLsmg_gotorc
+libslang.so.2:SLsmg_init_smg
+libslang.so.2:SLsmg_is_utf8_mode
+libslang.so.2:SLsmg_normal_video
+libslang.so.2:SLsmg_printf
+libslang.so.2:SLsmg_read_raw
+libslang.so.2:SLsmg_refresh
+libslang.so.2:SLsmg_reinit_smg
+libslang.so.2:SLsmg_reset_smg
+libslang.so.2:SLsmg_resume_smg
+libslang.so.2:SLsmg_reverse_video
+libslang.so.2:SLsmg_set_char_set
+libslang.so.2:SLsmg_set_color
+libslang.so.2:SLsmg_set_color_in_region
+libslang.so.2:SLsmg_set_screen_start
+libslang.so.2:SLsmg_set_terminal_info
+libslang.so.2:SLsmg_strbytes
+libslang.so.2:SLsmg_strwidth
+libslang.so.2:SLsmg_suspend_smg
+libslang.so.2:SLsmg_touch_lines
+libslang.so.2:SLsmg_touch_screen
+libslang.so.2:SLsmg_utf8_enable
+libslang.so.2:SLsmg_vprintf
+libslang.so.2:SLsmg_write_char
+libslang.so.2:SLsmg_write_chars
+libslang.so.2:SLsmg_write_color_chars
+libslang.so.2:SLsmg_write_nchars
+libslang.so.2:SLsmg_write_nstring
+libslang.so.2:SLsmg_write_raw
+libslang.so.2:SLsmg_write_string
+libslang.so.2:SLsmg_write_wrapped_string
+libslang.so.2:SLsnprintf
+libslang.so.2:SLstack_depth
+libslang.so.2:SLstack_exch
+libslang.so.2:SLstrcmp
+libslang.so.2:SLstrcpy
+libslang.so.2:SLstrncpy
+libslang.so.2:SLstruct_create_struct
+libslang.so.2:SLsystem
+libslang.so.2:SLsystem_intr
+libslang.so.2:SLtt_add_color_attribute
+libslang.so.2:SLtt_beep
+libslang.so.2:SLtt_begin_insert
+libslang.so.2:SLtt_bold_video
+libslang.so.2:SLtt_cls
+libslang.so.2:SLtt_del_eol
+libslang.so.2:SLtt_delete_char
+libslang.so.2:SLtt_delete_nlines
+libslang.so.2:SLtt_disable_status_line
+libslang.so.2:SLtt_enable_cursor_keys
+libslang.so.2:SLtt_end_insert
+libslang.so.2:SLtt_erase_line
+libslang.so.2:SLtt_flush_output
+libslang.so.2:SLtt_get_color_object
+libslang.so.2:SLtt_get_screen_size
+libslang.so.2:SLtt_get_terminfo
+libslang.so.2:SLtt_goto_rc
+libslang.so.2:SLtt_init_video
+libslang.so.2:SLtt_initialize
+libslang.so.2:SLtt_is_utf8_mode
+libslang.so.2:SLtt_narrow_width
+libslang.so.2:SLtt_normal_video
+libslang.so.2:SLtt_putchar
+libslang.so.2:SLtt_reset_scroll_region
+libslang.so.2:SLtt_reset_video
+libslang.so.2:SLtt_reverse_index
+libslang.so.2:SLtt_reverse_video
+libslang.so.2:SLtt_set_alt_char_set
+libslang.so.2:SLtt_set_color
+libslang.so.2:SLtt_set_color_fgbg
+libslang.so.2:SLtt_set_color_object
+libslang.so.2:SLtt_set_cursor_visibility
+libslang.so.2:SLtt_set_mono
+libslang.so.2:SLtt_set_mouse_mode
+libslang.so.2:SLtt_set_scroll_region
+libslang.so.2:SLtt_set_term_vtxxx
+libslang.so.2:SLtt_smart_puts
+libslang.so.2:SLtt_tgetent
+libslang.so.2:SLtt_tgetflag
+libslang.so.2:SLtt_tgetnum
+libslang.so.2:SLtt_tgetstr
+libslang.so.2:SLtt_tgoto
+libslang.so.2:SLtt_tigetent
+libslang.so.2:SLtt_tigetnum
+libslang.so.2:SLtt_tigetstr
+libslang.so.2:SLtt_tputs
+libslang.so.2:SLtt_utf8_enable
+libslang.so.2:SLtt_wide_width
+libslang.so.2:SLtt_write_string
+libslang.so.2:SLtt_write_to_status_line
+libslang.so.2:SLtty_set_suspend_state
+libslang.so.2:SLuchar_apply_char_map
+libslang.so.2:SLutf8_bskip_char
+libslang.so.2:SLutf8_bskip_chars
+libslang.so.2:SLutf8_compare
+libslang.so.2:SLutf8_decode
+libslang.so.2:SLutf8_enable
+libslang.so.2:SLutf8_encode
+libslang.so.2:SLutf8_encode_null_terminate
+libslang.so.2:SLutf8_extract_utf8_char
+libslang.so.2:SLutf8_is_utf8_mode
+libslang.so.2:SLutf8_skip_char
+libslang.so.2:SLutf8_skip_chars
+libslang.so.2:SLutf8_strlen
+libslang.so.2:SLutf8_strlo
+libslang.so.2:SLutf8_strup
+libslang.so.2:SLutf8_subst_wchar
+libslang.so.2:SLvsnprintf
+libslang.so.2:SLwchar_add_range_to_lut
+libslang.so.2:SLwchar_allocate_char_map
+libslang.so.2:SLwchar_apply_char_map
+libslang.so.2:SLwchar_bskip_range
+libslang.so.2:SLwchar_create_lut
+libslang.so.2:SLwchar_free_char_map
+libslang.so.2:SLwchar_free_lut
+libslang.so.2:SLwchar_in_lut
+libslang.so.2:SLwchar_isalnum
+libslang.so.2:SLwchar_isalpha
+libslang.so.2:SLwchar_isblank
+libslang.so.2:SLwchar_iscntrl
+libslang.so.2:SLwchar_isdigit
+libslang.so.2:SLwchar_isgraph
+libslang.so.2:SLwchar_islower
+libslang.so.2:SLwchar_isprint
+libslang.so.2:SLwchar_ispunct
+libslang.so.2:SLwchar_isspace
+libslang.so.2:SLwchar_isupper
+libslang.so.2:SLwchar_isxdigit
+libslang.so.2:SLwchar_set_wcwidth_flags
+libslang.so.2:SLwchar_skip_range
+libslang.so.2:SLwchar_strtolut
+libslang.so.2:SLwchar_tolower
+libslang.so.2:SLwchar_toupper
+libslang.so.2:SLwchar_wcwidth
diff --git a/testresults b/testresults
new file mode 100644
index 0000000..fb17d70
--- /dev/null
+++ b/testresults
@@ -0,0 +1,5 @@
+Total : 89
+Pass : 89
+Fail : 0
+Skip : 0
+XFail : 0
diff --git a/unit_tests_must_pass b/unit_tests_must_pass
deleted file mode 100644
index 4c31fe2..0000000
--- a/unit_tests_must_pass
+++ /dev/null
@@ -1 +0,0 @@
-fail:0
diff --git a/upstream b/upstream
index d7efc61..fabfc29 100644
--- a/upstream
+++ b/upstream
@@ -1 +1 @@
-75b2c90421d34d54246dfaaffe829b2d33cf733c/slang-2.2.4.tar.gz
+bbf7f2dcc14e7c7fca40868fd4b411a2bd9e2655/slang-2.3.2.tar.bz2
diff --git a/used_libs b/used_libs
new file mode 100644
index 0000000..1111e9a
--- /dev/null
+++ b/used_libs
@@ -0,0 +1,9 @@
+libc.so.6
+libdl.so.2
+libm.so.6
+libonig.so.5
+libpcre.so.1
+libpng16.so.16
+libreadline.so.7
+libtinfow.so.6
+libz.so.1
--
2.21.0
1 year, 8 months