Seed7 Release 2021-05-30

Thomas Mertes <>
Sun, 30 May 2021 23:25:45 -0700 (PDT)

          From comp.compilers

Related articles
Seed7 Release 2021-05-30 (Thomas Mertes) (2021-05-30)
| List of all articles for this month |

From: Thomas Mertes <>
Newsgroups: comp.compilers
Date: Sun, 30 May 2021 23:25:45 -0700 (PDT)
Organization: Compilers Central
Injection-Info:; posting-host=""; logging-data="48541"; mail-complaints-to=""
Keywords: OOP, available
Posted-Date: 31 May 2021 12:06:13 EDT

I have released a new version of Seed7: seed7_05_20210530.tgz
The download is here:
Seed7 is also at GitHub:
The Seed7 programming language has many interesting concepts, which
are explained at its Homepage:

Notable changes in this release are:
- Support to read and write PPM images has been added.
- The pv7.sd7 picture viewer for BMP-, GIF-, JPEG-, PNG- and PPM-images has been introduced.
- The Windows graphics driver has been improved to allow non-modal resizing and moving of windows.

- The example program pv7.sd7 has been added. It is a picture viewer for several graphic formats (BMP, GIF, JPEG, PNG and PPM).
- The new library ppm.s7i has been added. This library supports reading and writing images with the binary PPM image file format.
- The functions setWindowName() and selectInput() have been added to graph.s7i.
- Now, a program might be notified when a window is resized. With selectInput() the notification can be switched on and off. If a window has been resized, reading from the graphic KEYBOARD returns KEY_RESIZE (if the resize notification is switched on).
- The libraries keybd.s7i and keydescr.s7i have been improved to define KEY_RESIZE (this key is sent optionally, if a window is resized).
- The program gkbd.sd7 has been improved to also show KEY_RESIZE.
- The Windows graphics driver has been improved to allow non-modal resizing and moving of windows (while being resized or moved, the program continues to run).
- A scaling variant of the function put() has been added to draw.s7i. This function is used by pv7.sd7 to scale an image.
- The FAQ has been improved to explain that Seed7 does not use "do what I mean" heuristics (because they may fail in unpredictable ways).
- A bitset example has been added to the manual.
- In chkarr.sd7 tests for the 'times' operator have been added and the tests for array assignment have been improved.
- Tests for the str() function have been added to chkstr.sd7.
- The test programs chkarr.sd7 and chkstr.sd7 have been improved to increase the code coverage of the Seed7 run-time library.
- The compile time functions prc_include() (in prclib.c) and find_include_file() (in libpath.c) have been adjusted to fail if they are called at runtime.
- In drw_win.c the function drwCapture() has been improved to release the screen device context. This avoids a resource leak. Additionally, the stretch blt mode is now set with SetStretchBltMode().
- The program chkccomp.c has been improved to consider the X11 extension Xrender. Now definitions of HAS_XRENDER_EXTENSION and X11_XRENDER_DLL might be written to version.h.
- Interpreter and compiler have been improved to support the new actions DRW_PUT_SCALED, DRW_SETWINDOWNAME and GKB_SELECT_INPUT.
- The graphic drivers drw_x11.c and drw_win.c have been improved to enlarge the drawing area when a window is enlarged.
- The functions resize(), setResizeReturnsKey(), drwPutScaled() and drwSetWindowName() have been added to drw_win.c, drw_x11.c.
- The functions gkbSelectInput(), drwPutScaled() and drwSetWindowName() have been added to drw_dos.c, drw_emc.c and drw_drv.h.
- The functions resizeBottomAndRight(), resizeTopAndLeft(), startMoveWindow(), processMouseMove() and gkbSelectInput() have been added to gkb_win.c.
- The functions handleConfigure(), configureDoesResize() and gkbSelectInput() have been added to gkb_x11.c
- The functions gkb_select_input(), drw_put_scaled() and drw_setWindowName() have been added to drwlib.c and drwlib.h.
- The handling of events in gkb_x11.c has been improved to handle ConfigureNotify events. These events are used when a window is resized.
- In drw_win.c the function drwOpen() has been improved to accept Unicode window names.
- In drw_x11.c the function redraw() has been improved to avoid compiler warnings.
- Documentation comments have been added to functions in bitset.s7i.
- The function XStoreName() and the functions of the Xrender extension have been added to x11_x.h and fwd_x11.c.
- The makefiles mk_emccl.mak and mk_emccw.mak have been adjusted for the newest version of Emscripten.

Thomas Mertes

Seed7 Homepage:
Seed7 - The extensible programming language: User defined statements
and operators, abstract data types, templates without special
syntax, OO with interfaces and multiple dispatch, statically typed,
interpreted or compiled, portable, runs under linux/unix/windows.

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.