09e4bcc464
20221218: - Examples for reading from the keyboard have been added to the manual. - In src/read_me.txt and src/read_me.htm the description "compiling Seed7 under windows with cl from MSVC" has been improved. The description of possible C compiler warnings has also been improved. - Support for the ternary operator ?: has been added to the types bitset, color, duration and time. - The graphic keyboard test program gkbd.sd7 has been improved to support super/windows keys. - Definitions of KEY_SUPER, KEY_LEFT_SUPER and KEY_RIGHT_SUPER have been added to the libraries keybd.s7i and keydescr.s7i. - The tls.s7i library has been improved to reopen a socket if the old session cannot be reused. - In gif.s7i a small error in reading a GIF header has been fixed. - The compiler (s7c.sd7) has been improved: - Unsupported Seed7 compiler options trigger a warning now. - Better optimizations for abs(), mdiv and mod are done. - More integer overflow checks of abs(), <<, *, div, mdiv, mod and rem are optimized away (with option -oc3). - More division by zero checks are optimized away. - Computing the range of possible integer results for abs(), bitLength(), log2(), log10(), sqrt() +, -, <<, >>, - (negate), * and ?: (ternary operator) has been improved. This also helps in reducing the number of integer overflow checks. - The statistics about integer overflow checks and division checks have been improved. - A warning is written at a catch of otherwise when checks for an exception have been suppressed (this is done with -w2). - The code coverage of the integer tests in chkint.sd7 and chkovf.sd7 has been increased. Now, all code in comp/int_act.s7i is tested (except code for non-twos-complement computers). - Several tests in chkint.sd7 have been refactored to avoid optimizations that skip tests (Expressions are compared with intExpr(value) instead of just value). - Documentation comments have been improved in time.s7i. - The graphic driver for windows (drw_win.c) has been improved: - Windows are now created with a size that includes decorations. - The windows class is registered with with RegisterClassExW() now. This triggers the creation of Unicode windows (where keypresses return Unicode characters). - A function to draw filled chords (drwPFArcChord) under windows has been added. - An empty window is just created once on initialization and stored globally. - The graphic keyboard driver for windows (gkb_win.c) has been improved: - The function getc(GRAPH_KEYBOARD) now returns Unicode characters. - Dead keys are returned directly and are not combined with the next character pressed (this combining can be done by the program). - Holding down a windows/super key and pressing a cursor key is supported now (this resizes and moves the current active window). In this case the program now receives KEY_RESIZE characters (if they have been requested with selectInput()). - Combinations of CTRL + ALT + letter are now recognized correctly (CTRL is preferred over ALT in combinations with a letter). - The combination of cursor, function and mouse keys with modifier keys now prefers SHIFT over the other modifiers and CTRL over ALT. - The recognition of button presses in gkbButtonPressed() has been improved to also work for Unicode characters. - Now wide char functions (CreateWindowW(), CreateWindowExW(), MapVirtualKeyW(), PeekMessageW(), GetMessageW()) are used and only correctly received messages are processed. - The lowest four bits of a system command (wParam of WM_SYSCOMMAND message) are ignored now. - Macros are used to recognize mouse wheel and xbuttons. - Macro definitions have been added, as some C compilers do not provide them. - The graphic keyboard drivers (gkb_win.c and gkb_x11.c) have been improved to support super/windows keys. - The support for the unused action CHR_CONV has been removed. - The number of C compiler warnings has been reduced. - Unnecessary initialisations and assignments have been removed in several C files. - Usages of strcpy() and wcscpy() have been reduced. - In hshlib.c the hash table for-loops have been adjusted to process the elements in the same succession as in compiled programs. The code has also been simplified. - The program chkccomp.c has been improved: - Now, a backup copy of the source file (e.g. ctest123.cbak) is created if a test program fails. - Now, an empty output of a test program is recognized and the test is repeated (Some anti-virus software of Windows may trigger this). - Now, it considers wasm files for an Emscripten build. - The macros os_setmode, os_fdopen and os_fileno are determined. - Usages of isatty(), fdopen() and fileno() have been replaced by os_isatty(), os_fdopen() and os_fileno() respectively. - Some fixes for Emscripten have been done: - The files mk_emccl.mak and mk_emccw.mak have been adjusted for the newest version of Emscripten. Now, there is source information in a stack trace, and the stack size used by Emscipten has been increased. - In chkccomp.c wasm files are considered now. - The size of functions has been reduced in chkchr.sd7, chkint.sd7 and chkstr.sd7. This avoids a stack overflow in Node.js. - Logging functions have been added or improved in drw_win.c, gkb_win.c, gkb_x11.c and intlib.c. |
||
---|---|---|
.. | ||
files | ||
distinfo | ||
Makefile | ||
pkg-descr | ||
pkg-plist |