Agena v. 6.1.3 (Update1, 11/10/2025, Alexander Walz) |
Readme/What's new |
AGENA LIBRARY CUMULATIVE UPDATE
Improvements
------------
6.1.3 Huntsville II Cumulative Library Update 1, October 11, 2025
- If any option is given to `tostringx`, then the function encloses any string present in its first argument in single quotes
and it also properly escapes any embedded quotes. This is useful when writing strings to a text file and reading them back
later. Example:
> io.writefile('strtab.txt', tostringx(["a\'ge\'na", "programming", "language"], true))
This new feature may be easier to use than setting the interpreter into proper mode with environ.kernel('enclose*') or
environ.aux.printenclosestrings and reset it later.
Installation
------------
This update can be used with all operating systems. You may need administrator rights to install this update.
Prerequisite
------------
Please have at least Agena 6.1.3 installed.
Solaris, UNIX, and Mac
----------------------
In Solaris, OpenSolaris, Linux, and Mac, the Agena installation can be found in /usr/agena. (This folder includes
at least the following subdirectories: data, doc, lib, schemes, and share). Please cd into this Agena main directory,
i.e. into /usr/agena.
Proceed with step `Unpack`.
Windows
-------
In Windows, your Agena installation might usually reside in
- <drive letter>:\Programs\Agena, or
- <drive letter>:\Program Files\Agena, or
- <drive letter>:\Program Files (x86)\Agena.
Please cd into this Agena subdirectory. Its contents is as follows (timestamps may vary):
26/07/2025 14:33 <DIR> .
26/07/2025 14:33 <DIR> ..
26/07/2025 14:33 <DIR> bin
26/07/2025 14:33 <DIR> data
26/07/2025 14:33 <DIR> doc
26/07/2025 14:33 <DIR> lib
26/07/2025 14:33 <DIR> share
26/07/2025 14:33 122,398 uninstall.exe
Proceed with step `Unpack`.
DOS
---
In DOS, locate the Agena directory that includes the licence and change.log files, and cd into this directory.
Please proceed with step `Unpack`.
Unpack
------
Copy this ZIP archive to your main Agena folder (see above) you just cd'ed into.
Please copy the lib/*.agn file(s) in the lib folder of this ZIP archive to the lib folder of your Agena
installation, overwriting the original file(s).
If present, copy the updated documentation in the doc directory of this ZIP archive to the doc folder of your
Agena installation, overwriting the original files. If present, please also copy scheme(s) files that may be
included in this update to the schemes folder.
Or just for short: in a shell, just issue the following statement after cd'ing:
unzip -o *update*
Really Updated ?
----------------
To check whether the update has been successfully installed: The start-up message should now include the word
`Update`, e.g.:
AGENA >> a.b.c Update n. (C) 2006-20xy http://agena.sourceforge.net.
That's it.
|
Agena v. 6.1.3 (7/10/2025, Alexander Walz) |
Readme/What's new |
6.1.3 Huntsville II, October 07, 2025
- `os.exit` now always properly shuts down the interpreter, preventing memory leaks, which could be quite severe in the past. The function cleans the cache stack (stack #7) properly before exiting, avoiding memory leaks, too.
- When exiting Agena with the `bye` statement or by pressing CTRL-C, Agena properly frees the cache stack, avoiding memory leaks.
- Introduced subtle changes to the Agena initialisation process preventing the garbage collector from messing up the start-up phase of the interpreter.
- The `curses` package might have issued a debugging message when exiting. This has been fixed.
- All editions now include updated, working scripts in the share\scripting folder.
- This release has been Valgrind-checked on x86 and x64 Linux to ensure there are no internal errors or memory leaks. Also tested the new edition on ARM64 where Valgrind does not report any issue any longer, especially on the start-up phase. |
Agena v. 4.12.5 (20/5/2025, Alexander Walz) |
Readme/What's new |
4.12.5 Merryville, May 20, 2025
- In the past, the bitshift operators <<< (left shift), >>> (right shift), <<<< (left rotation) and >>>> (right rotation) had different behaviour across platforms when a number at or beyond the +/-2^32 threshold has been processed. This has been changed and the results in these situations are now the same.
Likewise, `bytes.numto32` is now returning the same results on all platforms when casting a value at or beyond the +/-2^32 border.
This also benefits various functions in the `hashes` package as their returns are now the same across platforms, as well.
To check the new underflow or overflow behaviour, use `math.wrap`.
- New function `math.fmod` works and returns the same result as the binary `symmod` operator. It has just been added to facilitate porting C code to Agena.
- The results of `hashes.mix`, `hashes.crc32`, `hashes.crc8`, `hashes.reflect`, `hashes.parity`, `hashes.fibmod`, `hashes.interweave`, `hashes.jinteger` may now be different with out-of-range input, that is with arguments at or beyond the 2^32 threshold, depending on your platform. |
Comments
Alexander Walz
Sat, 13/05/2017 - 20:06
Permalink
Hello,
Add new comment