diff --git a/RELEASE-NOTES b/RELEASE-NOTES index 4b1f9cf..053785a 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -11,22 +11,19 @@ * nga-c: split device code into separate source files * use hashed dictionary search by default * removed words deprecated in 2022.8 -* new example: konilo-wiki.retro +* new example: converting konilo wiki blocks to HTML +* new example: double cell math (32-bit cells) * GNUmakefile fix from drakonis * addition of an i/o device for handling some errors -* fixed `f:tan` and `f:cos` -* added `file:read/bytes` and `file:write/bytes` +* fixed `f:tan` and `f:cos` (thanks to Doug Bell) * Casket HTTP server is much, much faster - -================================================================ - -Development Notes: - -It is likely that starting with this release, the source -distribution will default to building an executable from -the amalgamation (example/amalgamate.retro) rather than -rebuilding the image with each build. A new Makefile target -will be added for those wanting or needing to build a -custom ngaImage. +* Support internal translation of UTF8 and UTF32 + +New words: + + file:read/bytes file:write/bytes file:read/c + file:write/c err:set-handler err:set-defaults + err:dso err:dsu fill + ================================================================ diff --git a/doc/Glossary-Concise.txt b/doc/Glossary-Concise.txt index 63bb399..6af3978 100644 --- a/doc/Glossary-Concise.txt +++ b/doc/Glossary-Concise.txt @@ -778,9 +778,21 @@ Return `TRUE` if the value is zero, or `FALSE` otherwise. eq? D: nn-f A: - F: - Compare two values for equality. Returns `TRUE` if they are equal or `FALSE` otherwise. +err:dso D: - A: - F: - +Error handler for data stack overflow + +err:dsu D: - A: - F: - +Error handler for data stack underflow. + err:notfound D: - A: - F: - Vectored. Error handler. Called when a word is not found by `interpret`. +err:set-defaults D: - A: - F: - +Set the default error handlers for various conditions. + +err:set-handler D: an- A: - F: - +Set error handler for error code N. + f:* D: - A: - F: FF-F Multiply two floating-point numbers, returning the result. diff --git a/doc/Glossary-Names-and-Stack.txt b/doc/Glossary-Names-and-Stack.txt index dd472ec..efee23e 100644 --- a/doc/Glossary-Names-and-Stack.txt +++ b/doc/Glossary-Names-and-Stack.txt @@ -258,7 +258,11 @@ e:put D: e- A: - F: - e:to-f D: e- A: - F: -n e:zero? D: e-f A: - F: - eq? D: nn-f A: - F: - +err:dso D: - A: - F: - +err:dsu D: - A: - F: - err:notfound D: - A: - F: - +err:set-defaults D: - A: - F: - +err:set-handler D: an- A: - F: - f:* D: - A: - F: FF-F f:+ D: - A: - F: FF-F f:- D: - A: - F: FF-F diff --git a/doc/Glossary.html b/doc/Glossary.html index 5e40d48..4fda413 100644 --- a/doc/Glossary.html +++ b/doc/Glossary.html @@ -1910,6 +1910,20 @@ $a $b eq?
Data: -
+Addr: -
+Float: -
Error handler for data stack overflow
+Class: | class:word |
Namespace: | err |
Interface Layer: | all |
Data: -
+Addr: -
+Float: -
Error handler for data stack underflow.
+Class: | class:word |
Namespace: | err |
Interface Layer: | all |
Data: -
Addr: -
@@ -1917,6 +1931,20 @@
Vectored. Error handler. Called when a word is not found by `interpret`.
Class: | class:word |
Namespace: | err |
Interface Layer: | all |
Data: -
+Addr: -
+Float: -
Set the default error handlers for various conditions.
+Class: | class:word |
Namespace: | err |
Interface Layer: | all |
Data: an-
+Addr: -
+Float: -
Set error handler for error code N.
+Class: | class:word |
Namespace: | err |
Interface Layer: | all |
Data: -
Addr: -
diff --git a/doc/Glossary.txt b/doc/Glossary.txt
index 30c47c3..c9206dc 100644
--- a/doc/Glossary.txt
+++ b/doc/Glossary.txt
@@ -2966,6 +2966,28 @@ Example #1:
------------------------------------------------------------------------
+err:dso
+
+ Data: -
+ Addr: -
+ Float: -
+
+Error handler for data stack overflow
+
+Class: class:word | Namespace: err | Interface Layer: all
+------------------------------------------------------------------------
+
+err:dsu
+
+ Data: -
+ Addr: -
+ Float: -
+
+Error handler for data stack underflow.
+
+Class: class:word | Namespace: err | Interface Layer: all
+------------------------------------------------------------------------
+
err:notfound
Data: -
@@ -2977,6 +2999,28 @@ Vectored. Error handler. Called when a word is not found by `interpret`.
Class: class:word | Namespace: err | Interface Layer: all
------------------------------------------------------------------------
+err:set-defaults
+
+ Data: -
+ Addr: -
+ Float: -
+
+Set the default error handlers for various conditions.
+
+Class: class:word | Namespace: err | Interface Layer: all
+------------------------------------------------------------------------
+
+err:set-handler
+
+ Data: an-
+ Addr: -
+ Float: -
+
+Set error handler for error code N.
+
+Class: class:word | Namespace: err | Interface Layer: all
+------------------------------------------------------------------------
+
f:*
Data: -
diff --git a/doc/words.tsv b/doc/words.tsv
index ce1ed70..750af04 100644
--- a/doc/words.tsv
+++ b/doc/words.tsv
@@ -258,7 +258,11 @@ e:put e- - - Display an encoded number. class:word {n/a} {n/a} e rre
e:to-f e- - -n Decode an encoded floating-point value. class:word {n/a} {n/a} e rre
e:zero? e-f - - Return `TRUE` if the value is zero, or `FALSE` otherwise. class:word {n/a} {n/a} e rre
eq? nn-f - - Compare two values for equality. Returns `TRUE` if they are equal or `FALSE` otherwise. class:primitive #1 #2 eq?\n $a $b eq? {n/a} global all
+err:dso - - - Error handler for data stack overflow class:word {n/a} {n/a} err all
+err:dsu - - - Error handler for data stack underflow. class:word {n/a} {n/a} err all
err:notfound - - - Vectored. Error handler. Called when a word is not found by `interpret`. class:word {n/a} {n/a} err all
+err:set-defaults - - - Set the default error handlers for various conditions. class:word {n/a} {n/a} err all
+err:set-handler an- - - Set error handler for error code N. class:word {n/a} {n/a} err all
f:* - - FF-F Multiply two floating-point numbers, returning the result. class:word .3.1415 .22 f:* {n/a} f rre
f:+ - - FF-F Add two floating-point numbers, returning the result. class:word .3.1 .22 f:+ {n/a} f rre
f:- - - FF-F Subtract F2 from F1 returning the result. class:word .22.3 .0.12 f:- {n/a} f rre