# RETRO 12.2019.6 This is the changelog for the development builds of Retro. I am currently planning to have the next release occur in June 2019. ## Bug Fixes ## Build - parallel builds now work - refactor Makefile - support for adding custom code to an image at build time (see package/list) - only build the toolchain and `retro` binary by default - fix an issue with rebuilding of image ## Core Language - remove `set:from-results` - add `if;` - add `-if;` - add `hook` - add `set-hook` - add `unhook` - add `)` - `c:put` primitive is a hookable word - `set:` is now `array:` ## I/O and Extensions ### Floating Point - add f:adepth - add f:between? - add f:case - add f:dec - add f:drop-pair - add f:dup-pair - add f:dump-astack - add f:dump-stack - add f:inc - add f:limit - add f:max - add f:min - add f:nip - add f:pop - add f:push - add f:rot - add f:sign - add f:E1 - add f:-shift - add f:+shift - add f:signed-sqrt - add f:+encode - add f:-encode - add f:signed-square - improved f:tuck - improved f:over - u: is now e: - f:to-u -> f:to-e - u:-INF -> e:-INF - u:-inf? -> e:-inf? - u:INF -> e:INF - u:MAX -> e:MAX - u:MIN -> e:MIN - u:NAN -> e:NAN - u:clip -> e:clip - u:inf? -> e:inf? - u:max? -> e:max? - u:min? -> e:min? - u:n? -> e:n? - u:nan? -> e:nan? - u:to-f -> e:to-f - u:zero? -> e:zero? - add e:put ### Unix - add unix:count-files-in-cwd - add unix:for-each-file - add unix:get-cwd - add unix:time ## Nga ## Interfaces - use strlcpy, strlcat instead of strcpy and strcat - include copies of the above for users of glibc - add retro-compiler - add random number generator ### retro - add random number generator - add `-u filename` startup parameter to allow selection of image file - add `image:save` - add `sys:name` - will now display an error and exit on stack over/underflow ### retro-compiler - new interface for creating turnkey executables on bsd, linux ### retro-ri - support switching between multiple copies of the image - add random number generator - add image:save ### native - add port i/o words - add cmos rtc driver - add serial port driver - now builds properly on openbsd - add ata driver - add block editor - rewrite vga text driver in retro ## Tools - use strlcpy, strlcat instead of strcpy and strcat - retro-extend: cleaner output - retro-extend: remove unused code - retro-extend: allow multiple files - retro-extend: reduce memory usage - retro-extend: fix potential buffer overrun - muri: remove the unused `c` directive - add retro-describe ## Other ## Documentation - add a collection of papers - refactor glossary tool - add HTML version of the Glossary - add more concise text copies of the Glossary - add man pages - add BUILDING.md - add missing descriptions - add RETRO-Book.md ## Examples - add Abort.forth - add ANS-PICK-ROLL.forth - add atua-gophermap.forth - add Block-Editor.forth - add Buffer.forth - add CaptureOutput.forth - add CloseParen.forth - add DisplayNames.forth - add EDA.forth - add EvaluateString.forth - add export-as-html.forth - add FloatVar.forth - add Forget.forth - add HTML.forth - add KeyValueStore.forth - add Marker.forth - add NamingQuotes.forth - add NetFetch.forth - add paste.forth - add PasteToSprunge.forth - add retro-extend.forth - add retro-embedimage.forth - add SaveAndRestoreStack.forth - add share.forth and shared.forth - add strip-html.forth - add TokiPona-Translate.forth - add uuencode.forth - add uudecode.forth - fix test block in defstruct.forth - switch to dvorak key bindings in Roo.forth - remove Hooks.forth (now in core language) - improved edit.forth from Kiyoshi - Casket-HTTP now supports server side scripting ## Final Notes