Path: csiph.com!weretis.net!feeder6.news.weretis.net!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!news.iecc.com!.POSTED.news.iecc.com!nerds-end From: mertesthomas@gmail.com Newsgroups: comp.compilers Subject: Seed7 Release 2019-08-19 Date: Thu, 22 Aug 2019 09:45:58 -0700 (PDT) Organization: Compilers Central Lines: 107 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <19-08-002@comp.compilers> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="15507"; mail-complaints-to="abuse@iecc.com" Keywords: available, OOP Posted-Date: 22 Aug 2019 14:23:15 EDT X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com Xref: csiph.com comp.compilers:2351 Hello, I have released a new version of Seed7: seed7_05_20190819.tgz The download is here: https://sourceforge.net/projects/seed7/files In the Seed7 programming language new statements and operators can be declared easily. Types are first class objects and therefore templates/generics need no special syntax. Object orientation is used when it brings advantages and not in places when other solutions are more obvious. Seed7 is covered by the GPL (and LGPL for the Seed7 runtime library). Changelog: - Interpreter and compiler have been improved to work correct, when a derived struct overrides an element of the parent struct. Many thanks go to Zachary Menzies, for reporting this error and for providing a test program. - A definition of SQL_DRIVER_NOPROMPT has been added to db_odbc.h. Many thanks go to Brett Senior for pointing out a fatal compilation error in sql_odbc.c, when compiling Seed7 version 2019-08-18 under Debian Linux. - In the FAQ the explanation, why Seed7 uses UTF-32, has been improved. An explanation of the database abstraction layer, which provides an database independent API, has also been added to the FAQ. - In the manual the chapter about the deprecated function removeAnyFile() has been replaced by a chapter about the function removeTree(). - The program db7.sd7 (Database Inspector) has been improved quote a table name from the catalog when doing a select. - The program sql7.sd7 has been improved to allow the execution of SQL statements from a file. The function getSqlStatement has been added, which reads a semicolon terminated SQL statement from a file. - The library tar.s7i has been improved to accept extended headers with meta data (PAX format) also when a tar file is opened as file system with openTar(). The function readMinimumOfHead has been improved to do this. - A code page for JIS X 0201 encoding has been added to charsets.s7i. - The program err.sd7 has been improved to contain test cases, where UTF-16 surrogate characters and non Unicode characters are written as Seed7 string escape sequences. - In sql_oci.c the function sqlOpenOci() has been improved to allow opening a database with host name, port and database name. This way a database can be opened without an entry in tnsnames.ora. The type connectDataRecord and the function setupConnectData() have been added to sql_oci.c. - The functions sqlOpenMy (in sql_my.c) and sqlOpenPost (in sql_post.c) have been improved to allow opening a database with host name, port and database name. Now host, port and dbName are parameters. Before the functions split the parameter dbName into host and database name. Specifying a port was not possible. - In sql_odbc.c the function sqlOpenOdbc() has been improved to allow opening a database with ODBC driver name, server name and database name. This way a database can be opened without specifying a data source in the ODBC Data Source Administrator (in the Control Panel). The type connectDataRecord and the functions getRegularName(), wstriSearchCh(), wstriSearch(), connectToServer(), connectToDriver() and driverConnect() have been added to sql_odbc.c. A definition of SQL_NEED_DATA has been added to db_odbc.h. - In sql_rtl.c the function sqlErrMessage() has been improved to allow database error messages encoded in UTF-8. - The function sqlOpen() has been removed from sql_rtl.c. - The function width() has been added to string.s7i and seed7_05.s7i. This function computes the sum of the character widths in a string. A character width can be 0 (for control characters), 1 (for normal printable characters) and 2 (for fullwidth characters, e.g. KANJI). - The library console.s7i has been improved to use the function width(), to work correct with fullwidth characters (where the width of a character is 2). - Documentation comments have been improved in sql_base.s7i, bytedata.s7i, unicode.s7i, integer.s7i and str_rtl.c. - Interpreter and compiler have been improved to support the new actions SQL_OPEN_FIRE, SQL_OPEN_LITE, SQL_OPEN_MY, SQL_OPEN_OCI, SQL_OPEN_ODBC and SQL_OPEN_POST. The support for the action SQL_OPEN has been removed. - The program chkccomp.c and the makefiles mk_mingw.mak, mk_mingc.mak, mk_msys.mak and mk_nmake.mak have been changed to avoid the warning "unknown conversion type character 'l' in format", when compiling with the MinGW C compiler. The macro FORMAT_LL_TRIGGERS_WARNINGS is used to avoid the usage of the format length modifier ll. - In error.c the function print_stri has been improved to write UTF-16 surrogate characters or non Unicode characters as Seed7 string escape sequences. - The unused functions con_beep() and con_setfont() have been removed from con_con.c and con_win.c. - The new macro ESC_SEQUENCE_MAX_LEN has been defined in striutl.h. This macro is used in error.c and str_rtl.c to define the local buffer escapeBuffer. - Changes have been done in stat_win.c and stat_win.c to reduce the number of MinGW C compiler warnings. - Log functions have been added or improved in sctlib.c, sql_fire.c, sql_my.c, sql_oci.c, sql_odbc.c and sql_post.c. - The example program chkdb.sd7 has been improved to write better error messages. - In reflib.c the function ref_select() has been improved to work correct, when a derived struct overrides an element of the parent struct. Regards, Thomas Mertes -- Seed7 Homepage: http://seed7.sourceforge.net 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.