-
Patch-level release 1.7.4
08/08/2024 at 03:45 • 0 commentsThis patch-level release adds search capabilities to zeptoed and fixes a number of bugs, including bugs in zeptoed,
fat32::path-exists?
andfat32::root-path-exists?
(which would previously cause crashes when attempting to search for an entry in a subdirectory),pio::jmp+>
(which would previously not properly compile to flash),value
(which would previously cause crashes on boot if avalue
in RAM was not aligned properly), and initialization of RAM storage on bootup (which would previously cause crashes on boot if the last variable or buffer in RAM did not align the RAMhere
pointer). -
Patch-level release 1.7.3
08/03/2024 at 01:19 • 0 commentsThis patch-level release adds the word
more
( ? xt -- ? ), which is a general-purpose pager which breaks console output into screenfuls displayed one at a time. It also allows the user to exit out of the word whose output is being paged after each screenful is displayed. Note thatmore
is not compatible with zeptocom.js or e4thcom because it expects a full ANSI terminal implementation that will respond to queries for terminal dimensions and cursor coordinates, which xterm.js, used by zeptocom.js, and e4thcom do not support. Also note thatmore
is compatible with ANSI text colors and UTF-8. -
Patch-level release 1.7.2
08/01/2024 at 04:04 • 0 commentsThis patch-level release introduces a pager in the words
more-words
,more-words-in
,more-lookup
, andmore-lookup-in
, counterparts ofwords
,words-in
,lookup
, andlookup-in
, and fixes a bug where pressing backspace when the input buffer is empty will place an extraneous$7F
(i.e. DEL) on the data stack. Note that the words with a pager must not be used when using zeptocom.js or e4thcom as they query the terminal for its size, and when using zeptocom.js or e4thcom they never get a response due to the limitations of the terminal's implementation. Additionally, inmore-words
,more-lookup
,words
, andlookup
, duplicate modules in the search order are ignored, changing the behavior where when in theforth
module entries of theforth
module would be displayed twice. -
Bug-fix release 1.7.1.1
07/30/2024 at 03:51 • 0 commentsThis bug-fix release fixes an issue with
import-from
andbegin-imports-from
where subsequent module imports will break already-imported words and can result in undefined behavior. -
Patch-level release 1.7.1
07/29/2024 at 03:50 • 0 commentsThis patch-level release fixes a major bug affecting memory management (amongst other things) in zeptoed, introduces
with-{create,open}-{file,dir}-at(-root)-path
words for conveniently accessing filesystems with safer handling of open files and directories, and modifiesfat32-tools
to use these words. -
Minor release 1.7.0
07/27/2024 at 22:44 • 0 commentsThis minor release adds explicit closing of files and directories to zeptoforth. Previously one could simply forget about files and directories after being done with them, but at the same time one had to be careful about removing files and directories and truncating files while they were still in use. Now one must close files and directories once one is done with them. This is done with
fat32::close-file
andfat32::close-dir
respectively.Note that previous code that used
oo::destroy
to destroy file and directory objects (as it should have, and in many places did not) strictly speaking does not need changing, asoo::destroy
has been implemented to call these words for open files and directories. However, it is recommended to add calls tofat32::close-file
andfat32::close-dir
prior to callingoo::destroy
to make this explicit.One key warning is that simply disposing of a file or directory without closing or destroying it and then reusing its space will now result in undefined behavior, because open files and directories are now maintained as doubly-linked lists and reusing their space without closing or destroying them first will corrupt these lists.
-
Bug-fix release 1.6.4.3
07/27/2024 at 01:08 • 0 commentsThis release changes
buffer:
anduser-buffer:
so that the buffers they allot are properly cell-aligned, eliminating any raison d'être foraligned-buffer:
anduser-aligned-buffer:
; this bringsbuffer:
in line with how it functions in ANS Forth. It also fixes major performance bugs, which particularly manifest themselves under load, and bugs in the handling of tabs and Unicode in zeptoed (note that under sufficient load zeptoed does still have lag, and hence under such conditions it is inadvisable to hold down keys for extended period of times). -
Bug-fix release 1.6.4.2
07/21/2024 at 00:15 • 0 commentsThis bug-fix release fixes seconds since 1970 to time and date conversion, which previously did not properly take leap months into account (e.g. it reported that today's date was Sunday, 21 July 2024 rather than the correct Saturday, 20 July 2024 because 2024 happens to be a leap year). This bug affected setting of the current time and date by NTP.
-
Bug-fix release 1.6.4.1
07/20/2024 at 00:13 • 0 commentsThis bug-fix release fixes an important bug in
import-from
andbegin-imports-from
where looking up the imported words would leave a single cell of garbage on the stack. It also addsfat32-tools::enable-echo
andfat32-tools::disable-echo
for enabling and disabling echoing of code while loading code from files (note that echoing is enabled by default). -
Patch-level release 1.6.4
07/15/2024 at 03:36 • 0 commentsThis patch-level release modifies
fat32-tools::included
,fat32-tools::include
, andfat32-tools::load-file
so as to echo code being evaluated to the console as it is being evaluated, so if an uncaught exception occurs the user will be able to see the code that was being evaluated when it occurred.