Skip to content

Releases: evs38/golded-plus

golded-plus-1.1.5-20260827 (unicode)

Pre-release

Choose a tag to compare

@evs38 evs38 released this 27 Aug 00:06

Second snapshot of the unicode branch, following up
golded-plus-1.1.5-20260825 with what its testers found and what a
review of the first snapshot's own code turned up.

Fixed since the previous snapshot:

  • The window layer measured text in bytes where it meant screen
    columns. A UTF-8 language file crashed GoldED+ on every start — the
    window-title buffer was sized in columns and filled in bytes — and
    menu items drew one character per byte. Titles, menus, the pick
    lists, the help text, the wrap margin and the origin line now all
    measure in columns, and the origin line is no longer cut through the
    middle of a character on its way into the message base.
  • Emoji. Width tables are generated from Unicode 17.0 instead of a
    2018 snapshot, text is measured by grapheme cluster — an emoji with
    a skin tone, a joined family or a flag counts as one character — and
    the cursor steps over such a character in one move. On Windows,
    characters outside the BMP were cut to sixteen bits and drew as an
    unrelated glyph or nothing; they are written whole now, the way the
    console at hand can draw them (conhost and Windows Terminal each
    accept a different form; GOLDED_CONSOLE=cells|stream overrides the
    guess if it comes out wrong).
  • The spell checker converted words through whatever charset
    conversion happened to be active instead of the one to its
    dictionary, so in a UTF-8 session an 8-bit dictionary never matched
    anything.
  • Three places that write a message out did not say which conversion
    to use and inherited whatever ran before — carbon copies, file
    export, the SOUP import.
  • The charset a message declares is recognised by one function
    everywhere, so the message list now decodes header fields for every
    declaration the reader accepts: CHRS, CHARSET, CODEPAGE, I51,
    X-Charset.
  • TAGLINECHAR takes a whole character rather than its first byte,
    and the GoldED+ mark in the status line is chosen by the charset of
    the session rather than at compile time.
  • Reading a message from an 8-bit echo no longer runs a full iconv
    conversion per character.

The full list is in docs/notework.txt; what is known and deliberately
left for later is in docs/todowork.txt.

Archives

Each contains the binaries, file_id.diz and the licence and
documentation. Binary names follow the usual convention — gedwin
/gnwin/rddtwin for MSVC, gedcyg/gncyg/rddtcyg for mingw, with
64 appended on the 64-bit builds.

win32-cygwin and win64-cygwin are native Win32/Win64 binaries built
with the mingw-w64 cross compiler that Cygwin ships; they need no
cygwin1.dll. The linux-amd64 deb is built on Ubuntu 26.04 this
time, like the arm64 one.

This is a testing snapshot, not a stable release.

golded-plus-1.1.5-20260825 (unicode)

Pre-release

Choose a tag to compare

@evs38 evs38 released this 25 Aug 22:36

Snapshot of the unicode branch: GoldED+ holds text in UTF-8 internally.

Set XLATLOCALSET UTF-8 to use it. This is about the operating system —
console, filenames, editing — not about the wire: messages still go into
the base in whatever XLATEXPORT says, and a UTF-8 session announces
them as CHRS level 4 per FSC-0054.

Charset conversion now uses, in this order, whichever is available:
iconv, the operating system's own converter (the Win32 codepage API on
Windows, ULS on OS/2), and only where neither exists the compiled-in
tables.

Two new keywords: XLATCONFIGSET (the charset GoldED+'s own files are
in, golded.cfg and the language file with it) and XLATAREASET (the
charset area descriptions are in, which usually come from the tosser's
area file).

Among the fixes that stand on their own: a message list showed the
subject in the wrong charset whenever the message did not use the one
the area imports; a search for two words separated by a space found
nothing; Backspace in an input field deleted a whole word; and CWSDPMI
is packed with the DOS distribution again, without which the archive
held binaries that will not start on a bare DOS.

The full list is in docs/notework.txt.

Archives

Each contains the binaries, file_id.diz and the licence and
documentation. Binary names follow the usual convention — gedwin
/gnwin/rddtwin for MSVC, gedcyg/gncyg/rddtcyg for mingw, with
64 appended on the 64-bit builds.

win32-cygwin and win64-cygwin are native Win32/Win64 binaries built
with the mingw-w64 cross compiler that Cygwin ships; they need no
cygwin1.dll.

This is a testing snapshot, not a stable release.