1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-25 09:34:11 +00:00
Commit Graph

117 Commits

Author SHA1 Message Date
Pietro Cerutti
34be04994c lang/seed7: update to 05_20180821
20180821:
- In fil_dos.c in the function setupFiles the handling of ctrl-c has
  been improved such that ctrl-c is sent immediate (without the need to
  press return afterwards). Additionally redirected stdin, stdout and
  stderr files are switched to binary mode now.
- In the compiler (in comp/const.s7i) the actions BIN_XOR, ENU_ICONV2,
  ENU_ORD2, INT_ICONV1 and INT_ICONV3 have been added to the list of
  special actions.
- The batch files bin/call_gcc.bat and bin/call_ar.bat have been
  improved to set environment variables with the command 'set'. This
  is necessary to execute them successfully under Wine.
- The description of log, log10 and log2 in the manual has been
  improved.
- In flt_rtl.c the functions fltLog, fltLog10 and fltLog2 have been
  added. This functions are based on the original functions log(),
  log10() and log2() and work according to IEEE 754.
- The configuration values LOG_FUNCTION_OKAY, LOG10_FUNCTION_OKAY and
  LOG2_FUNCTION_OKAY have been added to cc_conf.s7i.
- The configuration value HAS_LOG2 has been removed from cc_conf.s7i.
- The compiler (s7c) has been improved to use the functions fltLog,
  fltLog10 and fltLog2.
- In comp/inline.s7i the functions push_inline_func_param,
  pop_inline_func_param, push_inline_proc_param and
  pop_inline_proc_param have been improved to support inline functions
  with 'attr' parameters.
- The example program diff7.sd7 has been improved.
- Documentation comments have been improved in math.s7i and tar.s7i.
- In chkflt.sd7 the tests for the operators 'parse' and 'sci' and for
  the function str() have been improved.
- The program chkccomp.c has been improved to define the macros
  POW_OF_NEGATIVE_OKAY, LOG_OF_NAN_OKAY, LOG_OF_ZERO_OKAY,
  LOG_OF_NEGATIVE_OKAY, LOG10_OF_NAN_OKAY, LOG10_OF_ZERO_OKAY,
  LOG10_OF_NEGATIVE_OKAY, LOG2_OF_NAN_OKAY, LOG2_OF_ZERO_OKAY,
  LOG2_OF_NEGATIVE_OKAY, MEMCMP_RETURNS_SIGNUM and
  WMEMCMP_RETURNS_SIGNUM.
- In chkccomp.c the function determineFseekFunctions has been improved
  to make tests that actually use fseek() and ftell().
- Calls of logFunction have been added in cmd_rtl.c, str_rtl.c,
  strlib.c and striutl.c.
- In bstlib.c the function bst_cmp() has been improved to be based on
  bstCmp().
- The functions strCompare(), str_cmp() and bstCmp() have been
  improved to use different code depending on MEMCMP_RETURNS_SIGNUM
  and WMEMCMP_RETURNS_SIGNUM.
- In s7c.sd7 the function canTakeAddress has been improved to return
  FALSE for a CONSTENUMOBJECT.
2018-09-10 12:54:57 +00:00
Pietro Cerutti
b6a3b7af13 lang/seed7: update to 05_20180708
20180708:
- The operating system DOS is supported (with DJGPP) again. The tests
  have been done with Dosbox.
- In the compiler (in comp/const.s7i) the actions BIN_AND and BIN_OR
  have been added to the list of special actions. This way the
  functions rotLeft and rotRight (from bin32.s7i and bin64.s7i) are
  implemented as inline functions. This reduces the runtime of sha256
  (from msgdigest.s7i) by 44% (measured with gcc and valgrind, when
  reading data from 200 https connections). The cpu-time of the whole
  test program was reduced by 17%.
- In msgdigest.s7i the functions md4, md5, sha1, sha224 and sha256
  have been improved to use an index for words instead of an index
  for chunks. This simplifies the conversion to 32-bit words.
- In comp/action.s7i the function process_action has been improved to
  use a case-statement instead of multiple if-statements. This reduces
  the runtime of process_action by 39% (measured with gcc and valgrind,
  when the compiler compiles itself). The runtime of the compiler is
  reduced by 2.5%.
- The contents of the libraries enable_input.s7i and enable_output.s7i
  have been moved to the library enable_io.s7i.
- The library comp/expr_util.s7i has been renamed to comp/expr_utl.s7i.
- The program chkccomp.c has been improved to search 64-bit functions
  for fseek() and ftell(). The findings are stored in version.h with
  the macros _FILE_OFFSET_BITS, OS_OFF_T_SIZE, os_off_t, os_fseek and
  os_ftell.
- In chkflt.sd7 the tests for float shift and logarithm of 0.0 have
  been improved.
- The file src/read_me.txt has been updated.
- In chkccomp.c the functions isNullDevice, initializeNullDevice,
  determineStatFunctions, determineOsFunctions and numericProperties
  have been improved.
- The program chkccomp.c has been improved to work for PostgreSQL
  versions 9.6, 10 and 11.
- In cmd_rtl.c the function getOsCwd has been improved to assure that
  PATH_DELIMITER is used as path delimiter.
- In flt_rtl.c the functions fltDigits and fltSci have been improved,
  to work correct, when printf() with format %f and %e and a huge
  precision crashes. Additionally fltSci() has been improved to work
  correct, when the number of exponent digits written with format %f is
  not fixed.
- In con_wat.c the functions kbdShut and conWrite have been improved
  and the functions term_descr_equal, tcset_term_descr, kbd_init,
  doWriteConsole and doCPuts have been added.
- The functions handleIntSignal, readCharChkCtrlC and filPipe have been
  added to fil_dos.c.
- The function drwConvPointList has been added to drw_dos.c.
- The definitions of volumeListType, IS_VOLUME_LIST and
  openVolumeList() have been moved from dir_win.h to the new file
  vol_drv.h
- In traceutl.c the function prot_cstri has been improved to optionally
2018-07-16 15:32:20 +00:00
Pietro Cerutti
83120e0c21 lang/seed7: update to 05_20180601
20180601:
- The library tls.s7i has been improved to support the server_name
  extension and to process handshake messages, that extend over several
  tls message records. Additionally TLS version 1.2 is used now.
- The library x509cert.s7i has been improved to accept a validity with
  times in GeneralizedTime data elements (additionally to times in
  UTCTime data elements).
- The library browser.s7i has been improved to support calling Safari
  under Mac OS X.
- Tests for the functions environment(), getenv() and setenv() have
  been added to chkcmd.sd7.
- A test that checks the sorting of an array of strings has been added
  to chkstr.sd7. This checks the compare() function for strings.
- The compiler s7c has been improved to create better code for the
  option -tf (trace functions). Now the trace functions are added after
  the declarations (such that older C compilers will accept this also).
- In chkflt.sd7 tests for NaN have been grouped together.
- In chkovf.sd7 tests for the binomial coefficient have been split into
  groups.
- The program chkccomp.c has been improved to define the macros
  LIMITED_CSTRI_LITERAL_LEN, LIMITED_ARRAY_LITERAL_LEN,
  DECLARE_OS_ENVIRON, USE_GET_ENVIRONMENT, INITIALIZE_OS_ENVIRON,
  DEFINE_WGETENV, DEFINE_WSETENV, os_environ, os_getenv, os_setenv,
  os_putenv, DELETE_PUTENV_STRING, DEFINE_WSTATI64_EXT,
  DEFINE_STRUCT_STATI64_EXT, DEFINE_FSTATI64_EXT, os_lstat, os_stat,
  os_fstat, os_stat_struct, os_fstat_struct, HAS_SELECT and HAS_MMAP.
- In int_rtl.c the macro DECIMAL_DIGITS has been improved to work with
  unsigned numbers.
- In str_rtl.c the function strCmpGeneric() has been changed back to
  the old behaviour. Now strCmpGeneric() and strCompare() have again
  the same behaviour. It has turned out that sorting an array of
  strings worked wrong, when the program was compiled.
- In pcs_win.c the function prepareCommandLine has been improved and
  the function copyQuotedPart has been added. Now the command line
  created for CreateProcessW() has fewer quoted parameters. Now
  parameters that contain a space or a quotation (") or a control
  character or a character byond ASCII are quoted. All other parameters
  are not quoted.
- Definitions of USE_MMAP, os_environ, os_fstat, DEFINE_WSTATI64_EXT,
  os_lstat, os_stat, os_stat_orig, os_stat_struct, os_fstat_struct,
  DEFINE_WSETENV, os_setenv, os_putenv and USE_DIRENT have been removed
  from the makefiles.
- In several files usages of USE_MMAP have been replaced by usages of
  HAS_MMAP.
- The file read_me.txt has been updated.
- In chkccomp.c the functions checkForLimitedArrayLiteralLength() and
  determineStatFunctions() have been added and the functions
  determineEnvironDefines() and determineBigIntDefines() have been
  improved. Now the test for the GMP library enforces static linking.
- The macros DEFINE_MATHERR_FUNCTION and DEFINE__MATHERR_FUNCTION have
  been improved to define if matherr() or _matherr() should be defined.
- Log functions have been improved in big_gmp.c, big_rtl.c and
  int_rtl.c.

20180513:
- In the manual descriptions of the binomial coefficient and of several
  conversion functions have been improved.
- The bas7.sd7 (basic interpreter) example program has been improved to
  use case statements with strings.
- The operator &:= has been added to the libraries bitsetof.s7i and
  bitset.s7i.
- The function rand() has been added to the library hashsetof.s7i. This
  function returns a random element from a hash set.
- The compiler (s7c) has been improved to generate code that uses
  memcpy or memmove to copy and create arrays of simple value types
  (e.g. array integer). The destruction of arrays of simple value types
  has also been simplified.
- The compiler has been improved to optimize the action SET_RAND.
- The compiler optimizations for the actions SET_DIFF, SET_UNION and
  SET_UNION_ASSIGN has been improved.
- In the compiler (in comp/const.s7i) the actions BLN_ICONV1,
  BLN_ICONV3, CHR_ICONV3 and SET_RAND have been added to the list of
  special actions. The compiler implements functions, which just call
  one of the special actions as inline functions.
- Interpreter and compiler have been improved to support the actions
  HSH_RAND_KEY and SET_INTERSECT_ASSIGN.
- Tests for the functions card() and rand() for the type set of string
  have been added to chkset.sd7.
- Tests for intersection assignments ( &:= ) have been added to
  chkset.sd7.
- In s7c.sd7 the code to call C compiler and linker has been
  refactored.
- The compiler has been improved (in comp/prc_act.s7i) to use the
  function hshIdxDefault0() instead of hshIdxWithDefault() for case
  statements with hashsets.
- The code generation of the compiler has been improved to trigger the
  signal SIGFPE with a call of triggerSigfpe().
- The compiler has been improved to insert diagnostic line information
  (e.g.: #line 64 "logfile.s7i") into code for the actions ARR_CPY,
  BLN_AND, BLN_OR, ITF_CPY, PRC_IF, PRC_IF_ELSIF, PRC_IF_NOOP
- The compiler has been improved to insert diagnostic line information
  for inlined functions.
- The configuration values in cc_conf.s7i have been improved.
  SWITCH_WORKS_FOR_INT64TYPE, CC_OPT_OPTIMIZE_1, CC_OPT_OPTIMIZE_2 and
  CC_OPT_OPTIMIZE_3 have been added. SYSTEM_DB_LIBS has been renamed
  to ADDITIONAL_SYSTEM_LIBS. HAS_SIGACTION, SIGNAL_RESETS_HANDLER and
  DO_SIGFPE_WITH_DIV_BY_ZERO have been removed.
- The program chkccomp.c has been improved. Now it determines the name
  of the NULL device (/dev/null or NUL:), the system socket library
  (unix sockets or winsocket), the method to read directories, the
  bigInteger implementation used (big_rtl.c or big_gmp.c) and the
  support for switch statements with 64-bit values.
- Documentation comments have been added or improved in bigint.s7i,
  integer.s7i, bitsetof.s7i, bitset.s7i, hashsetof.s7i, cc_conf.s7i,
  fil_rtl.c, dir_drv.h, cmd_rtl.c, set_rtl.c, str_rtl.c and striutl.c.
- In set_rtl.c the function setIntersect() has been improved to create
  a smaller intersection result, if possible.
- In set_rtl.c the function setIntersectAssign has been added.
- In setlib.c the function set_intersect_assign has been added.
- In hsh_rtl.c the functions get_helem_elem, get_hash_elem, hshRand
  and hshIdxDefault0 have been added.
- In hshlib.c the functions get_helem_elem, get_hash_elem and
  hsh_rand_key have been added.
- In gkb_x11.c and gkb_win.c the function find_window() has been
  improved to use hshIdxDefault0() instead of hshIdxWithDefault().
- In big_gmp.c the function bigDivRem has been improved to initialize
  the remainder.
- In str_rtl.c and strlib.c the function strelem_memcmp has been
  renamed to memcmp_strelem.
- In str_rtl.c the function strCmpGeneric has been changed to avoid
  calls of memcmp_strelem(), when the string sizes differ. This
  differs from the behaviour of strCompare, but the difference is not
  important, because strCmpGeneric() is only used for string
  comparisons of hash keys (in compiled programs).
- In striutl.c the function conv_to_cstri has been rewritten to return
  the C string, when the function succeeds, and to work without the
  parameter err_info.
- In striutl.c the function stri_to_bstriw has been rewritten to use
  an err_info parameter.
- In striutl.c the functions with loop unrolling inspired by Duff's
  device have been rewritten.
- In striutl.c the loops in conv_to_cstri, stri_to_cstri and
  conv_to_os_stri have been optimized.
- The macro castIntTypeForSwitch has been introduced to support C
  compilers, that do not support switch statements with 64-bit values.
- Definitions of NULL_DEVICE, USE_GETADDRINFO, USE_WINSOCK and
  BIGINT_LIB_DEFINE have been removed from the makefiles.

20180401:
- The new library logfile.s7i has been added. It defines the interface
  logFile. A logFile works like a normal file unless the log file
  has the value STD_NULL. When a logFile has the value STD_NULL string
  expressions written to the logFile are not evaluated. This reduces
  the overhead, when logging is turned off.
- The bas7.sd7 (basic interpreter) example program has been improved.
  The logging is now done via the new logFile type. This improves the
  performance, when no logging is done. Several DATA statements in one
  line are processed correctly now. Support for IF GOSUB and DISPLAY
  statements and for the function COMMAND$ has been added.
- Tests of nested bigInteger for loops have been added to chkbig.sd7.
- A test with the assignment of a hash variable to itself have been
  added to chkhsh.sd7.
- Tests of the replace function have been added to chkstr.sd7.
- In striutl.c the functions conv_from_os_stri, cstri8_to_stri and
  cstri8_buf_to_stri have been improved. Now they call realloc()
  only, when the size has changed. This improves the performance of
  conv_from_os_stri by 32% (measured with gcc and valgrind, when
  reading a directory).
- In str_rtl.c the function strUtf8ToStri has been improved to call
  realloc() only, when the size has changed.
- In cmd_rtl.c the functions add_stri_to_array and
  complete_stri_array have been renamed to addStriToRtlArray and
  completeRtlStriArray respectively. The renamed functions have also
  been improved to work with a simpler parameter list. Together with
  the improvement of conv_from_os_stri this improves the performance
  of cmdLs by 14% (measured with gcc and valgrind, when reading a
  directory).
- In cmdlib.c the function cmd_ls has been rewritten to be based on
  cmdLs. The functions cmp_mem and read_dir have been removed.
- In cmdlib.c the main loop in the function toArrayType has been
  optimized for performance.
- In str_rtl.c the function add_stri_to_array has been renamed to
  addCopiedStriToRtlArray and the function completeRtlStriArray has
  been introduced. The code of addCopiedStriToRtlArray has also been
  improved to work with a simpler parameter list.
- In strlib.c the function add_stri_to_array has been renamed to
  addCopiedStriToArray and the functions freeStriArray and
  completeStriArray have been introduced. The code of
  addCopiedStriToArray has also been improved to work with a simpler
  parameter list.
- The compiler has been improved to optimize the action HSH_CONTAINS,
  when the hash table is constant and contains one element.
- In the compiler (in comp/const.s7i) the actions BLN_ORD, CHR_ICONV1,
  CHR_ORD and INT_ODD have been added to the list of special actions.
  The compiler implements functions, which just call one of the
  special actions as inline functions. This allows optimizations for
  the boolean and char random number generator.
- The compiler (s7c) has been improved (in comp/destr.s7i) to define
  interface destructors, which take all possible implementation
  types into account. Additionally a switch statement is used instead
  of an if-then-else chain. Double entries are also avoided now.
- The function strChRepl has been added to str_rtl.c.
- The compiler has been improved to use strChRepl instead of strRepl,
  to optimize split operations.
- Unnecessary function parameters have been removed in several
  include files of the compiler.
- In flt_rtl.c the function doubleToCharBuffer has been improved to
  determine the integer value of the exponent without calling
  strtol().
- The function freeRtlStriArray has been added to arr_rtl.c.
- Several #define flags in pol_sel.c have been improved.
- The macro CSTRI_LITERAL_TO_STRI has been defined in striutl.h and
  used in analyze.c, arr_rtl.c, cmd_rtl.c, cmd_unx.c, infile.c,
  pcs_unx.c and pcs_win.c.
- Calls of logError have been added to functions in cmd_rtl.c,
  con_inf.c, prclib.c, soc_rtl.c, tim_dos.c, tim_rtl.c, tim_unx.c and
  tim_win.c.
- Documentation comments have been added or improved in cmdlib.c,
  int_rtl.c and tim_rtl.c.
2018-06-04 13:41:59 +00:00
Pietro Cerutti
67107f0681 lang/seed7: update to 05_20180304
20180304:
- In fil_rtl.c and ut8_rlt.c the functions filLineRead, filWordRead,
  ut8LineRead and ut8WordRead have been improved to use
  getc_unlocked() instead of getc(). This way the performance of the
  functions has been improved by a factor of 2 (filLineRead has been
  measured with gcc and valgrind).
- In listutl.c the performance of the function copy_list has been
  improved by 15% (measured with gcc and valgrind).
- In getf.s7i the performance of the function readf has been improved
  by a factor of 4 (measured with gcc and valgrind).
- The functions free_helem and free_hash in hshlib.c have been
  improved to stop searching for helems as soon as the last helem
  has been freed. This improves the performance free_hash by 36%
  (measured with gcc and valgrind).
- In fil_rtl.c the function read_and_alloc_stri and filGets have been
  improved to have less usages of err_info and num_of_chars_read.
- In soc_rtl.c the function receive_and_alloc_stri has been improved
  to have less usages of err_info and better logError messages.
- In hsh_rtl.c and hshlib.c the function create_hash has been
  improved to use memset to initialize empty hash tables.
- The functions bstCmp, genericCmp, ptrCmp, rflCmp and typCmp have
  been improved to use a result variable named signumValue.
- Interpreter and compiler have been improved to support the actions
  ACT_ICONV1, ACT_ICONV3, INT_ICONV1, INT_ICONV3 and REF_HSHLENGTH.
- The libraries integer.s7i, bin32.s7i, bin64.s7i, category.s7i and
  graph.s7i have been improved to use the new primitive actions.
- The function boolean(), which converts a string to a boolean value,
  has been added to boolean.s7i.
- The function char(), which converts a string to a char value, has
  been added to char.s7i.
- The function float(), which converts a string to a float value, has
  been added to float.s7i.
- The compiler has been improved to support the actions ACT_GEN and
  TYP_VARFUNC.
- The compiler now uses the function process_call_by_name_expr to
  create code for loop conditions, loop bodies and other call by name
  parameters.
- The functions process_match and process_inline_param have been
  added to the compiler.
- The compiler has been improved to implement functions, which just
  call one of the special actions HSH_CONTAINS, HSH_EXCL, HSH_INCL,
  HSH_KEYS, SET_BASELIT, SET_CONV, SET_ELEM, SET_EXCL, SET_INCL,
  SET_NOT_ELEM, as inline functions. This allows optimizations for
  the types set of char and set of string.
- The compiler has been improved to optimize the action HSH_CONTAINS,
  when the hash table is constant.
- The compiler optimizations for the actions SET_ELEM and
  SET_NOT_ELEM have been improved.
- A test, that checks for-loops over hash tables, has been added to
  chkhsh.sd7.
2018-03-05 09:36:29 +00:00
Pietro Cerutti
bf4704053c lang/seed7: update to 05_20180107
20180107
- Interpreter and compiler have been improved to allow support
  for case statements with hashsets in the when parts. This allows
  e.g. case statements with string, bigInteger, type and other
  expressions.
- Several discrepancies between s7 and s7c have been fixed. Many
  thanks go to "tipd bmp" who sent a example programs to show the
  discrepancies. Thanks also for finding a bug in the manual.
- The following type conversion functions from integer have been
  introduced: bigInteger(), bigRational(), bitset(), boolean(),
  char(), float(), rational() and complex(). This fits to the
  existing conversion functions bin32() and bin64().
- The files bigrat.s7i, filesys.s7i, int_act.s7i, s7c.sd7, chkdb.sd7,
  dnafight.sd7, printpi1.sd7, printpi2.sd7 and savehd7.sd7 have been
  adjusted to use bigInteger() instead of the conv operator to
  convert an integer to a bigInteger.
- The function bigRational, which converts a string to a bigRational
  number, has been added to bigrat.s7i.
- The function rational, which converts a string to a rational
  number, has been added to rational.s7i.
- In rational.s7i the operator 'parse' has been improved to convert
  a string with a decimal number to a rational number.
- The functions float2Bits and bits2Float in bin32.s7i and bin64.s7i
  are deprecated and will be removed in a future version. The
  functions bin32(), bin64() and float() can be used instead to
  convert between float and bits in IEEE 754 representation.
- The programs bas7.sd7 and chkbin.sd7 have been changed to use the
  functions bin32(), bin64() and float() instead of float2Bits and
  bits2Float.
- Definitions of the operators |:= and &:= have been added to
  hashsetof.s7i.
- The library seed7_05.s7i has been improved to support case
  statements which consist just of an otherwise part.
- The program chkprc.sd7 has been improved to check integer and char
  case statements with otherwise part.
- The program chkprc.sd7 has been improved to check string,
  bigInteger and float case statements with and without otherwise
  part.
- The program chkbig.sd7 has been improved to check the bigInteger()
  conversion function.
- The program chkflt.sd7 has been improved to check the float()
  conversion function.
- Interpreter and compiler have been improved to support the actions
  BIG_ICONV1, BIG_ICONV3, BLN_ICONV1, BLN_ICONV3, CHR_ICONV1,
  CHR_ICONV3, FLT_ICONV1, FLT_ICONV3, SET_ICONV1, SET_ICONV3 and
  REF_ALLOC_VAR.
- The handling of CONSTENUMOBJECT and VARENUMOBJECT objects in
  s7c.sd7 has been improved.
- The functions initCaseLabelsOfWhen, initCaseLabelsOfCase and
  initCaseLabels have been added to s7c.sd7.
2018-01-08 10:40:52 +00:00
Pietro Cerutti
99985805d8 lang/seed7: update to 05_20170915 2017-10-27 12:11:39 +00:00
Mark Linimon
3d4e0b20c4 Sort ARCHS. While here, pet portlint.
Approved by:	portmgr (tier-2 blanket)
2017-06-27 00:05:15 +00:00
Pietro Cerutti
ff42e1580f lang/seed7: include orphaned pkg-plist items, bump PORTREVISION 2017-05-04 13:30:23 +00:00
Pietro Cerutti
873a113ffa lang/seed7: update to 05_20170501
With this update, lang/seed7 depends on a number of database client libraries
(MySQL, SQLite, unixODBC and PostgreSQL). The reason for this is that the
configuration stage doesn't allow to specify which database drivers to use, but
rather automatically links against what's installed. This would cause
non-tracked dependencies in the case the user building the port happens to have
any of the drivers installed at build time.

20170501:
- The example program diff7.sd7 has been added. This program compares
  two files line by line.
- The example program hd.sd7 has been added. This program writes a
  hexdump of a given file.
- The functions sha384 and sha512 have been added to msgdigest.s7i.
- The compiler has been improved to optimize expressions like
  bin64(aBigExpression mod aPowerOfTwo).
- The library vectorfont.s7i has been improved to allow scaling of
  vector fonts.
- The dialog element passwordField has been added to cgidialog.s7i.
  The passwordField dialog element allows entering a password without
  readable echo.
- The function readPassword has been added to editline.s7i.
- In array.s7i the for-until loops for arrays have been improved to
  work correct, when the until-condition uses the for variable.
- In cli_cmds.s7i the functions getCommandParameter,
  getUnixCommandParameter and getDosCommandParameter has been
  improved to recognize when a closing quote is missing.
- In cli_cmds.s7i in the function processCommand the handling of
  external commands with redirection of stdin has been improved.
- The functions xyArray and scale have been added to graph.s7i.
- In seed7_05.s7i the exception DATABASE_ERROR has been introduced.
- The programs sql7.sd7 and chkdb.sd7 have been improved to use the
  new exception DATABASE_ERROR.
- A parse operator for dbCategory has been added to sql_base.s7i.
- The pictures return_pic and right_arrow_pic have been added to
  pic32.s7i and pic16.s7i.
- The function checkBinBinaryWithBigMod has been added to chkbin.sd7.
  This function checks the optimizations done with expressions like
  bin64(aBigExpression mod aPowerOfTwo).
- In tls.s7i the type securityParameters has been renamed to
  tlsParameters. The functions showMsg and showMsgType have been
  renamed to showTlsMsg respectively showTlsMsgType.
- In tls.s7i the generation of CLIENT_HELLO, SERVER_HELLO,
  CERTIFICATE, SERVER_HELLO_DONE, CLIENT_KEY_EXCHANGE,
  CHANGE_CIPHER_SPEC, FINISHED, ALERT and APPLICATION_DATA messages
  has been improved.
- In int_act.s7i the types addSubElementType and
  addSubElementListType have been renamed to addSubIntElementType
  respectively addSubIntListType.
- In the compiler (in big_act.s7i, function process_const_big_mod)
  the handling of the bigInteger mod operator, when the divisor is a
  power of two, has been improved. Now a temporary result is freed.
- In the compiler (in big_act.s7i, function process_const_big_mult)
  the handling of the bigInteger multiplication with a negated power
  of two has been improved. Now a temporary result is freed.
- The functions generateAddSubParamList and evaluateConstants have
  been added to comp/big_act.s7i.
- The function optimize_bin_binary_of_big_mod has been added to the
2017-05-04 13:19:04 +00:00
Pietro Cerutti
1f841fa447 lang/seed7: update to 05_20170129
20170129:
- The new library filesys.s7i has been added. It defines the interface
  fileSys. Files of TAR, ZIP and JAR achives and files from FTP and
  the operating system can be accessed via the fileSys interface. The
  file system changes are work in progress.
- The libraries tar.s7i, zip.s7i, ftp.s7i and osfiles.s7i have been
  adjusted to implement the new interface fileSys.
- Definitions of the types fileType, filePermission and fileMode have
  been moved from osfiles.s7i to the new library filesys.s7i.
- A definition of the file system osFiles has been added to
  osfiles.s7i.
- In ftp.s7i the interface ftpFileSys has been added. This interface
  extends fileSys with the functions listDir, getActiveMode,
  setActiveMode, getAsciiTransfer and setAsciiTransfer.
- The functions retrieve and store have been removed from ftp.s7i and
  the function open (to open a file) has been added.
- The new library ftpserv.s7i has been created. This library allows,
  that the backend of an FTP server is also a file system. Most of
  the contents of ftpserv.s7i has been moved from ftpserv.sd7.
- The functions setUpHead, tarTell, tarXtract and tarCreate have been
  moved from tar.s7i to the new library tar_cmds.s7i.
- The conversion functions bin32 and float have been added to
  bin32.s7i. This functions convert values between single precision
  float and bin32.
- The conversion functions bin64 and float have been added to
  bin64.s7i. This functions convert values between double precision
  float and bin64.
- The functions getBitLsb and getBitsLsb have been added to
  bitdata.s7i. This functions read bits from a file in the direction
  from LSB (least significant bit) to MSB (most significant bit).
- The operator |:= has been added to the libraries bitsetof.s7i and
  bitset.s7i.
- The type void has been improved to allow writing a void value.
  This allows that calc7.sd7 can execute procedures.
- The new library inflatefile.s7i has been added. It allows to
  uncompress data from a file with the Inflate algorithm. In contrast
  to inflatefile.s7i the functions from inflate.s7i assume that the
  compressed data is in a string.
- A test of the tar header checksum has been added to tar.s7i.
- A support for long link paths has been added to tar.s7i.
- The function readMinimumOfHead has been added to tar.s7i. With this
  function opening a tar archive can be done faster.
- The functions fileMode and getMTime in zip.s7i have been improved
  to recognize modes and times from different operating systems.
- In zip.s7i the function rposOfMagic has been improved to work with
  one call of seek() and one gets(). This way the function is faster,
  when the file is not a ZIP file.
- In zip.s7i the functions get_local_header, get_central_header and
  get_end_of_central_directory have been improved to read the fixed
  size part of the header with one statement and to convert the data
  afterwards. This improves the performance of get_central_header by
  about 10%.
- In zip.s7i a map of extra header fields has been introduced.
- In zip.s7i the function getContent has been renamed to getFile.
  Additionally the function has been improved to work when the local
  header does not contain the compressed size. In this case the new
  library inflatefile.s7i is used.
- The function timestamp1601ToTime has been added to time.s7i.
- A test for the operator |:= has been added to chkset.sd7.
- The function filGets in fil_rtl.c has been improved to recognize a
  request to read zero characters earlier. This improves this special
  case a little bit, without a negative effect on the normal case.
- The function uintCard has been added to int_rtl.c.
- The computation of the mode in the function fileAttr2UnixMode in
  stat_win.c has been improved.
- The program ftp7.sd7 has been improved to work with the new
  ftpFileSys interface.
- The program ftpserv.sd7 has been improved to work with the new
  library ftpserv.s7i.
- In seed7_05.s7i the function to convert an integer to a string with
  a given base has been improved.
- Interpreter and compiler have been improved to support the actions
  BIN_CARD, SET_UNION_ASSIGN and STR_FOR.
- In the compiler (s7c) the generation of inline code for the actions
  STR_RANGE and STR_SUBSTR has been improved. When some parameters are
  constant checks can be done at compile-time instead of run-time.
- In drw_x11.c the function redraw() has been improved and the new
  function setupBackup() has been added. This changes have been done
  to handle EXPOSE events correctly, when backing store has the value
  WhenMapped.
- In runerr.c the functions continue_question, run_error, empty_value
  and var_required have been changed to allow the repacement of the
  current exception with a new one.
- The function str_for has been added to strlib.c.
2017-01-30 12:44:27 +00:00
Pietro Cerutti
0ceaa4516a lang/seed7: update to 05_20161231
20161231:
- The function toArray has been added to the libraries bitset.s7i,
  bitsetof.s7i and hashsetof.s7i. This function creates an array
  with all values from a given set.
- Experimental functions to access TAR and ZIP archives as file system
  have been added to tar.s7i and zip.s7i. This is work in progress, so
  the API might change.
- The compiler has been improved to work correctly with a C++ compiler
  backend (Now it uses strRaiseError insead of intRaiseError) for the
  code generated for BIN_RADIX and INT_RADIX.
- The compiler has been improved to use sigaction(), when available
  (HAS_SIGACTION is TRUE).
- The compiler has been improved to reactivate the signal handler,
  when necessary (SIGNAL_RESETS_HANDLER is TRUE).
- Testcases for the parse function with whitespace and control
  characters have been added to chkbig.sd7.
- in big_gmp.c the functions bigParse and bigParseBased have been
  improved, to raise RANGE_ERROR when whitespace characters are in the
  string.
- The configuration values HAS_SIGACTION and SIGNAL_RESETS_HANDLER
  have been added to cc_conf.s7i.
- The program chkccomp.c has been improved to define
  SIGNAL_RESETS_HANDLER.
- The function checkMoveDirectory has been removed from chkccomp.c.
- In several files the literal 8 has been replaced by CHAR_BIT, when 8
  refers to the number of bits is a char.
- Several integer literals have been replaced by defined constants.
- Documentation comments have been added or improved in bitset.s7i,
  bitsetof.s7i, hashsetof.s7i, cc_conf.s7i, ftp.s7i, tar.s7i, zip.s7i,
  arrlib.c, arr_rtl.c, big_rtl.c, conlib.c, dll_unx.c, dll_win.c,
  fillib.c, fil_rtl.c, heaputl.c, hshlib.c, hsh_rtl.c, numlit.c,
  numutl.c, pcs_unx.c, pcs_win.c, pol_dos.c, pollib.c, pol_sel.c,
  pol_unx.c, sctlib.c, setlib.c, set_rtl.c, str_rtl.c and typlib.c.

20161204:
- A description, how compiler optimizations can reduce the potential
  of integer overflow, has been added to the manual.
- Documentation comments have been improved in cc_conf.s7i,
  integer.s7i, int_rtl.c, stat_win.c and tim_win.c.
- The compiler has been improved to optimize expressions, where
  several terms are added or subtracted in combination with the
  functions succ or pred. It is possible to combine adjacent constant
  terms at compile time. This simplifies overflow checks.
- The compiler has been improved to optionally generate programs,
  that trace function calls. This is activated with the option -tf.
- Checks have been added to chkint.sd7, where several terms are added
  in combination with the functions succ or pred.
- The functions wstati64Ext (in stat_win.c) and alternate_utime (in
  tim_win.c) have been improved to avoid the strange time adjustments
  of windows for Daylight Saving Time: For the same file different
  times are retrieved respectively set in summer and winter. Now the
  times do not depend on the time when they are retrieved or set.
- In stat_win.c a check for wildcards in a path has been removed from
  wstati64Ext.
- The performance of dirRead in dir_rtl.c has been improved by 10%
  (measured with gcc and valgrind). A smarter check for the
  directories . and .. reduces the CPU time used.
- In cmd_rtl.c the functions remove_dir and copy_dir have been
  improved with a smarter check for the directories . and .. to
  reduce the CPU time used.
- The function getSearchPath in cmd_rtl.c has been improved to work
  correctly, when there is no environment variable named PATH.
- Definitions of macros to check the st_mode field of struct stat
  (e.g. S_ISDIR, S_ISREG, etc.) have been moved from fil_rtl.h to
  stat_drv.h.
- The program chkccomp.c has been improved to work correct, when
  C compiler options are separated by linefeeds (\n). In this case the
  linefeeds are replaced by spaces. The linefeeds are used in
  cc_conf.s7i to allow the definition of SYSTEM_DB_LIBS as an array of
  database libraries.
- In sudo.c the call of ShellExecute() has been replaced by a call of
  ShellExecuteA().
- A definition of FMT_T, a printf format for time_t values, has been
  added to common.h.
- The makefile mk_clangw.mak has been improved to use the library
  extension ".lib".
- Calls of logFunction and logError have been added or improved in
  cmd_rtl.c, cmd_win.c, gkb_win.c, flt_rtl.c, int_rtl.c, pcslib.c,
  reflib.c, rfllib.c, stat_win.c and tim_win.c.
- In dir_rtl.c the function readVolumeName has been improved to
  consider only directories as volumes.
- In int_rtl.c the functions uint_mult, uint2_mult and uint2_add
  have been renamed to uintMult, uint2Mult and uint2Add respectively.
- In stat_win.c the functions filetime_to_unixtime and
  fileattr_to_unixmode have been renamed to fileTime2UnixTime and
  fileAttr2UnixMode respectively.
- In tim_win.c the function alternate_utime has been improved to
  avoid calling os_utime_orig, because the utime functions of Windows
  do different time adjustments for the same time in summer and
  winter.
2017-01-02 17:47:52 +00:00
Pietro Cerutti
9af570eb34 lang/seed7: update to 05_20161031
- The examples about multiple dispatch in the FAQ and in the manual
  have been changed.
- In dir_win.c the functions opendir and wopendir have been improved
  to work correctly, when a volume is empty. FindFirstFile returns
  INVALID_HANDLE_VALUE, when the path refers to an empty volume
  (a directory that does not contain the . and .. directories).
  After FindFirstFile fails GetFileAttributesEx is used to recognize
  empty volumes.
- In stat_win.c the function wstati64Ext has been improved to
  recognize empty volumes correctly. Now GetFileAttributesEx is used
  instead of FindFirstFile to get information about a file.
- The function openVolumeList has been moved from cmd_win.c and
  cmd_unx.c to dir_win.c.
- The definition of volumeListType has been moved from cmd_drv.h to
  dir_win.h.
- In str_rtl.c the function strAppendN has been improved to work
  correctly, when an appended string is identical to the destination
  or a slice of it. There was already code to handle this case, but
  this code could access freed memory in rare situations.
- The makefiles mk_nmake.mak and mk_msvc.mak have been changed to
  include the file 'macros' before the macro SYSTEM_DB_LIBS is used.
- Rand functions have been added to bin32.s7i and bin64.s7i.
- The compiler has been improved to optimize the float shift
  operators << and >> .
- Documentation comments have been improved in float.s7i,
  integer.s7i, osfiles.s7i, big_gmp.c, big_rtl.c, bstlib.c and
  bst_rtl.c.
2016-11-23 12:39:53 +00:00
John Marino
6fd38bbcad lang/seed7: Fix ports ncurses header inclusion
seed7 can only find the base ncurses headers, so augment the CFLAGS
so it can find the headers for the ncurses library it uses.

Approved by:	ncurses blanket
2016-11-20 00:06:14 +00:00
Pietro Cerutti
6b54361030 lang/seed7: update to 05_20161002
20161002:
- Definitions of float shift operators << and >> have been added to
  float.s7i (A << B is equivalent to A * 2.0 ** B and A >> B is
  equivalent to A / 2.0 ** B).
- Checks for the operators << and >> have been added to chflt.sd7.
- Interpreter and compiler have been improved to support the primitiv
  actions FLT_LSHIFT and FLT_RSHIFT.
- The example program find7.sd7 has been added. This program is an
  utility to search for files and file contents.
- Documentation comments have been added to arrlib.c, biglib.c,
  blnlib.c, bstlib.c, fillib.c, pcslib.c, prclib.c, prglib.c and
  strlib.c.
2016-10-03 13:49:37 +00:00
Pietro Cerutti
e4de22cc95 lang/seed7: update to 05_20160831
- The Seed7 runtime library has been improved to allow paths longer
  than PATH_MAX (260) characters under Windows.
- The program sydir7.sd7 has been improved. Now it is avoided to copy
  a file, when source and destination differ only by date. The
  option -c has been added. With -c the source is copied and files
  that are missing in the source are removed from the destination.
- The function readVolumeName in dir_rtl.c has been improved to allow
  extended length paths (This paths exist under Windows and have a
  prefix of \\?\ ).
- The functions opendir and wopendir in dir_win.c have been improved
  to allow paths longer than 260.
- In the library seed7_05.s7i the undocumented function xalloc has
  been removed.
- The function printArgv has been added to arr_rtl.c to improve the
  logging.
- The program chkccomp.c has been improved to write settings to
  always use the directory functions from dir_win.c under Windows.
- The function adjustCwdForShell has been added to cmd_rtl.c. This
  function sets the current working directory to something acceptable
  by cmd.exe.
- In stat_win.c the function wstati64 has been renamed to wstati64Ext
  and improved to call the original stat function, when possible.
- The new file stat_drv.h has been added. In this file a prototype
  of wstati64Ext is defined when necessary.
- The program wrdepend.c has been improved to work correctly, when
  the INCLUDE_OPTIONS macro contains newline characters.
- Calls of logFunction have been added to arr_rtl.c, cmd_rtl.c,
  dir_rtl.c, executl.c, fil_rtl.c, pcs_win.c, runerr.c, sctlib.c,
  sigutl.c, stat_win.c and striutl.c.
- Calls of logError have been added to arrlib.c, blnlib.c, cmd_rtl.c,
  conlib.c, dir_win.c, drwlib.c, enulib.c, fil_rtl.c, itflib.c,
  lstlib.c, prclib.c, reflib.c and striutl.c.
2016-09-02 08:26:56 +00:00
Pietro Cerutti
7cbf0d7841 lang/seed7: update to 05_20160731
- The bas7.sd7 (basic interpreter) example program has been improved.
  Support for CVD, CVDMBF, CVS, CVSMBF, HPLOT, MKD$, MKDMBF$, MKS$,
  MKSMBF$, PLOT, SCREEN, SHARED and VARPTR$ has been improved.
  Creating Cga, Ega and Vga images from arrays has been improved to
  work also for float and double arrays.
- The functions bin32, compare, hashCode, float2Bits, bits2Float,
  float2MbfBits and mbfBits2Float have been added to bin32.s7i. The
  functions fourBytesLeToBin32 and fourBytesBeToBin32 have been
  removed (The new function bin32 can be used instead).
- The functions bin64, compare, hashCode, float2Bits, bits2Float,
  float2MbfBits and mbfBits2Float have been added to bin64.s7i. The
  functions eightBytesLeToBin64 and eightBytesBeToBin64 have been
  removed (The new function bin64 can be used instead).
- The program chkbin.sd7 has been added. This program checks the
  correctness of the functions float2Bits, bits2Float, float2MbfBits,
  mbfBits2Float, str, radix and RADIX.
- Checks for the function decompose have been added to chkflt.sd7.
- The compiler has been improved optimize expressions where several
  terms are added or subtracted. It is possible to combine adjacent
  constant terms at compile time. This simplifies overflow checks.
- The compiler has been improved to store NaN values as bin64
  literals.
- The calc7 example program has been improved to support bin32 and
  bin64 functions.
- The function decompose and the type floatElements have been added
  to the library float.s7i. The function decompose splits a float into
  a normalized fraction and an integral exponent for 2. The result
  of decompose uses the type floatElements.
- The function integer (it converts a string to an integer) has been
  added to integer.s7i.
- In the library seed7_05.s7i the undocumented function xalloc has
  been replaced by the function create.
- The functions uintCmp and uintCmpGeneric have been added to
  int_rtl.c.
- The configuration value FREXP_INFINITY_NAN_OKAY has been added to
  cc_conf.s7i.
- The primitive action FLT_A2TAN has been renamed to FLT_ATAN2 in
  interpreter, compiler and runtime library.
- Documentation comments have been improved in bitdata.s7i, arrlib.c,
  binlib.c, bstlib.c, bst_rtl.c, fillib.c, kbdlib.c, literal.c.
- Interpreter and compiler have been improved to support the primitiv
  actions BIN_CMP, FLT_BITS2DOUBLE, FLT_BITS2SINGLE, FLT_DECOMPOSE,
  FLT_DOUBLE2BITS and FLT_SINGLE2BITS.
- The program chkccomp.c has been improved to define
  FREXP_INFINITY_NAN_OKAY and to work for PostgreSQL version 9.5.
2016-08-29 12:26:43 +00:00
Pietro Cerutti
443707c4c6 lang/seed7: update to 05_20160630
- The bas7.sd7 (basic interpreter) example program has been improved.
  Support for CVSMBF, CVDMBF, FLASH, FRE, GR, HGR, HOME, HTAB,
  INVERSE, NORMAL, TEXT, PR# and VTAB has been added. Support for
  CLEAR, COLOR, GET, INPUT, LOG, SQR and RUN has been improved.
  Some keywords can now be used as label.
- Documentation comments have been added or improved in several files.
- Definitions of the operator @:= have been added to bitset.s7i,
  bitsetof.s7i and hashsetof.s7i.
- The compiler has been improved optimize expressions like
  factor*base**exponent when the base is a power of two.
- In x509cert.s7i the constant stdCertificate has been improved to
  have a new validity (until end of 2017).
- In drw_win.c the function privateConsole has been improved to
  determine a private console window (A cmd.exe console that was
  invoked implizit when the program started) more reliable. This
  avoids that an already existing console (from which the program was
  started) is accidentally hidden.
- The function redraw in drw_x11.c has been improved to ignore NULL
  windows (EXPOSE events can arrive after a window has been freed).
- The function drwFree in drw_x11.c has been improved to free also the
  backup pixmap.
- Compiler and interpreter have been improved to support the action
  REF_ALLOC_INT.
- Checks for factor*base**exponent when the base is a power of two
  have been added to chkflt.sd7.
- Checks with several summands in a chain and checks of the
  subtraction of integer.first have been added to chkint.s7i.
- First steps have been done for a compiler optimization of adding
  and subtracting several summands in a chain.
- Occurances of nodeValue and MDULEOBJECT have been removed from
  interpreter and runtime library.
- The function prg_find has been removed from prglib.c.
- The function ref_find has been removed from reflib.c.
- The support for the actions PRG_FIND and REF_FIND has been removed
  from the interpreter.
- Function and variable definitions in setpaths.c and wrdepend.c have
  been changed to static definitions.
2016-07-01 13:07:55 +00:00
Pietro Cerutti
649d5fceac lang/seed7: update to 05_20160531
Changes:
- Documentation comments have been added or improved in many files.
- The compiler (s7c) has been improved to start C compiler and linker
  direct and not via a shell (except when the compiler must be started
  with a script).
- The program chkccomp.c has been improved to use consecutive numbers
  for test program files.
- The program chkccomp.c has been improved to show the progress of the
  tests done.
- The experimental function startProcess, with files to redirect, has
  been added to process.s7i.
- The functions childStdIn, childStdOut and childStdErr have been
  added to process.s7i.
- The function shellParameters has been added to shell.s7i.
- The function noEmptyStrings has been added to seed7_05.s7i.
- A conv operator to convert an interface object to a specific
  implementation type has been added to seed7_05.s7i.
- The compiler (s7c) has been improved to support the new conv
  operator defined in seed7_05.s7i.
- In cc_conf.s7i the configuration values CC_OPT_DEBUG_INFO,
  CC_FLAGS, LINKER_FLAGS, SYSTEM_LIBS, SYSTEM_CONSOLE_LIBS,
  SYSTEM_DRAW_LIBS and SYSTEM_DB_LIBS have been changed to be arrays
  of strings instead of strings.
- In cc_conf.s7i the configuration values CALL_C_COMPILER_FROM_SHELL,
  CC_ERROR_FILDES, REDIRECT_FILDES_1, REDIRECT_FILDES_2 and
  NULL_DEVICE have been added.
- In cc_conf.s7i the configuration value REDIRECT_C_ERRORS has been
  removed.
- Interpreter and compiler have been improved to support the actions
  PCS_CHILD_STDERR, PCS_CHILD_STDIN, PCS_CHILD_STDOUT, FIL_PIPE and
  FIL_OPEN_NULL_DEVICE.
- The function analyzeProg in analyze.c has been improved to have less
  usages of the global variable prog.
- The functions in chkccomp.c have been changed to static functions.
- The program chkccomp.c has been improved to define
  POPEN_SUPPORTS_CLOEXEC_MODE, FOPEN_SUPPORTS_CLOEXEC_MODE,
  HAS_FCNTL_SETFD_CLOEXEC and HAS_PIPE2.
- The function filPipe has been added to fil_unx.c and fil_win.c.
- In fil_rtl.c the functions filOpen and filPopen have been improved
  to open files with the CLOEXEC flag, when possible.
- The function filOpenNullDevice has been added to fil_rtl.c.
- The functions init_findid, init_entity and init_sysvar have been
  changed to use a progType parameter.
- The functions pcsStart in pcs_unx.c and pcs_win.c have been improved
  to have parameters for stdin, stdout and stderr.
- The functions pcsChildStdErr, pcsChildStdIn and pcsChildStdOut have
  been added to pcs_rtl.c.
. The functions pcs_childStdErr, pcs_childStdIn and pcs_childStdOut
  have been added to pcslib.c.
- In src/read_me.txt descriptions of SEARCH_PATH_DELIMITER.
2016-06-01 13:55:55 +00:00
Pietro Cerutti
32ca74e267 lang/seed7: update to 05_20160430
Changes:
- The makefile mk_clangw.mak has been improved, such that compilation
  with newer versions of clang under windows works better.
- Tests for integer parse have been added to chkexc.sd7.
- The function doRemove in chkccomp.c has been improved to write
  nothing to the console.
- The function showErrors has been added to chkccomp.c.
- In actutl.c the functions searchAction and findAction have been
  improved to use fewer parameters and the function getActIllegal
  has been added.
- In chkccomp.c the function writeReadBufferEmptyMacro has been
  improved to optionally use _get_stream_buffer_pointers() to define
  the macro read_buffer_empty.
- The operator 'char conv' has been improved to check if the integer
  fits in a character.
- Documentation comments have been improved in float.s7i, poll.s7i,
  actlib.c actutl.c, big_gmp.c, big_rtl.c, bln_rtl.c, bst_rtl.c,
  chr_rtl.c, cmd_rtl.c, dir_dos.c, dir_win.c, drw_rtl.c, fltlib.c,
  flt_rtl.c, int_rtl.c, pcs_rtl.c, pollib.c, pol_sel.c, pol_unx.c,
  prg_comp.c, rfl_data.c, setlib.c, set_rtl.c and str_rtl.c.
- Calls of logFunction have been added to functions in cmdlib.c and
  flt_rtl.c,.
- Calls of logError have been added to functions in actlib.c,
  biglib.c, bstlib.c, chrlib.c, cmdlib.c, drwlib.c, fillib.c,
  fltlib.c, hshlib.c, intlib.c, pcslib.c, pollib.c, prglib.c,
  rfl_data.c, rfllib.c, sctlib.c, setlib.c, strlib.c and typlib.c.
2016-05-20 15:38:52 +00:00
Dmitry Marakasov
4e942b6419 - Fix trailing whitespace in pkg-descrs, categories [g-n]*
Approved by:	portmgr blanket
2016-05-19 10:44:11 +00:00
Pietro Cerutti
777955df30 lang/seed7: update to 05_20160330
Changes:

- The makefile mk_clangw.mak has been added. This makefile supports
  compilation under Windows with the clang compiler.
- The experimental function parentDir has been added to osfiles.s7i.
- The experimental function getServerCertificate has been added to
  tls.s7i.
- The compiler (s7c) has been improved to use the function
  strAppendN, when two or more strings are appended to a string.
- Tests for string append (operator &:= ) have been added to
  chkstr.sd7.
- The function strAppendN has been added to str_rtl.c.
- The function strCopy in str_rtl.c has been simplified.
- The program chkccomp.c has been improved to write a definition of
  CHAR_BIT, when it is not defined in limits.h.
- Several files have been changed to use CHAR_BIT instead of the
  literal 8.
- in chkccomp.c several string literals have been changed to wide
  string literals (e.g. L"abc" instead of "abc").
- In several files integer literals have been replaced by contants or
  #define macros.
- The function __mulodi4 has been added to int_rtl.c. This function
  is used by clang under Windows, but unfortunately is not part of the
  runtime library. This situation is recognized by chkccomp.c and the
  function __mulodi4 in int_rtl.c is used instead.
2016-04-08 09:16:10 +00:00
Pietro Cerutti
b2d9aa469e lang/seed7: update to 05_20160229
Changes:

- The function fltCmp in flt_rtl.c has been improved to work correct
  in the case that isnan returns neither 0 nor 1 (Many thanks go to
  Arnel L. for reporting this problem).
- The function determineGetaddrlimit in chkccomp.c has been improved
  to include <sys/types.h> before <sys/resource.h>. FreeBSD needs
  that to work correctly (Many thanks go to Pietro Cerutti for
  providing a fix and explaining the background).
- The function getOsCwd has been added to cmd_rtl.c. With this
  function it is possible to read (e.g. under Linux) a current
  working directory that is longer than PATH_MAX.
- Documentation comments have been improved in encoding.s7i.
- The program chkccomp.c has been improved to write definitions of
  USE_DIRENT, USE_DIRWIN, OS_WIDE_DIR_INCLUDE_DIR_H, os_DIR,
  os_dirent_struct, os_opendir, os_readdir, os_closedir,
  INCLUDE_SYS_UTIME, os_utimbuf_struct, USE_ALTERNATE_UTIME,
  os_utime_orig, os_utime, os_chdir, OS_GETCWD_MAX_BUFFER_SIZE,
  os_getcwd, os_mkdir, os_rmdir, OS_CHMOD_INCLUDE_IO_H, os_chmod,
  os_remove, os_rename, os_system, os_fopen, os_popen, os_pclose,
  DEFINE_WGETENV, os_getenv
- The functions keys_helem and values_helem in hshlib.c and
  hsh_rtl.c have been improved to use a loop instead of a tail
  recursion. For compilers that don't recognize the tail recursion
  this results in a speed improvement (Gcc recognizes tail
  recursions so there is no speed improvement).
- The functions free_helem and free_hash in hsh_rtl.c have been
  improved to stop searching for helems as soon as the last helem
  has been freed.
- The functions helem_data_to_list and helem_key_to_list have been
  improved to use a loop instead of a tail recursion (see above).
2016-03-08 11:20:23 +00:00
Pietro Cerutti
fe905235c7 land/seed7: better patch for missing uint64_t 2016-02-23 12:49:42 +00:00
John Marino
92295a547c lang/seed7: document ncurses requirement (USES+=ncurses)
approved by:	infrastructure blanket
2016-02-08 19:31:12 +00:00
Pietro Cerutti
5c86446f98 lang/seed7: take back this port, update to 05_20160130.
Release notes:
http://sourceforge.net/projects/seed7/files/seed7/seed7_05_20160130/relnote_20160130.txt
2016-02-05 16:31:10 +00:00
Jimmy Olgeni
41a7072cfb Typos, whitespace and capitalization fixes (G-P). 2015-09-20 20:54:08 +00:00
Pietro Cerutti
c020107379 - Reset maintainership of my ports 2014-12-10 22:29:14 +00:00
Baptiste Daroussin
77cba41a62 Cleanup plist 2014-10-27 15:23:30 +00:00
Pietro Cerutti
b3a83969da - Update to 05_20140907
Changes:
  * The function setSearchPath has been added to the library
    process.s7i.
  * The compiler has been improved to write an error message, when the
    sets of a case-statement overlap. Until now this situation was only
    recognized by the C compiler.
  * The interpreter has been improved to raise an exception, when the
    current value of a case-statement is element of two sets.
  * There have been changes in the libraries makedata.s7i and make.s7i.
  * The macro expansion in makedata.s7i has been changed. Now all macro
    expansions (except the expansions of internal macros) are done with
    the function applyMacros.
  * In makedata.s7i the function applyMacros has been improved to
    process the makefile macro functions wildcard, error and warning.
  * The functions evalFunction and getMacro, that where used to do
    macro expansion when the makefile is read, have been removed.
  * The code to read the definition of recursively expanded variables
    has been changed to do no macro expansion. This macros are expanded
    when they are used.
  * The library make.s7i has been improved to read the parameters
    for the commands rm, cp, and mv as Unix shell parameters (with the
    function getUnixCommandParameter).
  * The library make.s7i has been improved to read the parameters
    for the commands del, copy, xcopy and move as Dos/Windows batch
    parameters (with the function getDosCommandParameter).
  * Interpreter and compiler have been improved to support the action
    CMD_SET_SEARCH_PATH.
  * The batch file bin/call_gcc.bat has been changed to work correctly,
    when it is called from any directory.
  * Writing error messages in error.c has been changed to use prot_...
    functions instead of printf.
2014-09-10 06:58:49 +00:00
Pietro Cerutti
2cac42ef5a - Update to 05_20140817
Changelog:

  * The chapter about files in the manual has been improved.
  * Variants of the for-each-loop with an until condition have been
    added to array.s7i.
  * The parse operator for characters has been improved to accept only
    strings with a length of 1.
  * The function trimValue has been introduced. This function trims a
    string such that it can be converted to a specified type.
  * The exception handlers for RANGE_ERROR have been removed from the
    functions read and readln in enable_input.s7i. The functions read
    and readln now raise range RANGE_ERROR when the conversion to the
    target type fails.
  * Occurances of io_ok, io_error, io_empty and io_filled have been
    removed from the libraries. This undocumented feature was not used
    for years. The function succeeds and the functions read and readln
    with default value are better suited for error checking, when data
    is read.
  * The exception handlers in interpreter and compiler have been
    improved to allow an otherwise part.
  * The function succeeds has been introduced. This function executes
    a statement and returns TRUE when no exception occurs.
  * The example programs nicoma.sd7 and savehd7.sd7 have been improved
    to use the new function succeeds.
  * The parse operator for float has been changed to raise RANGE_ERROR
    when leading whitespace is found.
  * The library make.s7i has been improved to accept the commands
    erase, xcopy, mv, move and rem.
  * The library makedata.s7i has been improved to accept the macro
    functions subst and patsubst.
  * The reading of rules in makedata.s7i has been improved to read
    commands without macro substitution. The macros in commands are
    substituted just before the commands are executed.
  * The make functions in make.s7i have been changed to raise
    FILE_ERROR when a command fails.
  * The function applyMacros in makedata.s7i has been improved to
    accept macro functions and the shorthands of patsubst.
  * The function replaceSuffixes in makedata.s7i has been improved to
    accept pattern substitution with the % character.
  * In the library make.s7i the logging has been removed from the
    functions doRm, doCp, doPwd, doEcho, doCd, doMake, doOneCommand,
    doCommands and processCommand.
  * The program chkflt.sd7 has been adjusted to work with the strict
    parse operator for float.
  * Interpreter and compiler have been improved to support the actions
    PRC_BLOCK_CATCH_ALL and PRC_BLOCK_OTHERWISE.
  * The program sudo.c has been improved to work without upper limit
    for the parameter length.
  * The functions checkIfOutsideRange and negate have been added to
    int_act.s7i.
2014-08-28 10:36:27 +00:00
Pietro Cerutti
7d89615715 - Update to 05_20140803
Changes:

  * The handling of ctrl-c has been changed to work better under
    windows.
  * The runtime of the function intPowOvfChk in int_rtl.c has been
    reduced to 57% (measured with gcc and valgrind).
  * The generation of code in the compiler for the action INT_POW has
    been improved. When the base is a negative power of two the
    exponentiation is done with a shift instead of a call of intPow
    (respectively intPowOvfChk).
  * The overflow checking for INT_POW in the compiler has been
    improved. When base or exponent is known the overflow checking is
    done with inline code and intPow is called instead of intPowOvfChk.
  * Documentation comments have been added to bitsetof.s7i
  * Tests for ** have been added to chkint.sd7 and chkovf.st7
  * The tests for * and *:= in chkovf.st7 have been reorganized.
  * An interrupt_flag has been introduced in the interpreter. This flag
    is used for exception handling and for signal handling. Exceptions
    set interrupt_flag and fail_flag (with the macro set_fail_flag).
    Signals set only the interrupt_flag (file sigutl.c). The
    interrupt_flag is handled in exec_action (file exec.c).
  * The functions signal_name, handle_signals, handle_segv_signal,
    handle_term_signal and activate_signal_handlers in sigutl.c have
    been improved.
  * The functions continue_question, write_curr_position and
    show_signal in runerr.c have been improved.
  * The functions handle_int_signal, readChar, doGetcFromTerminal,
    doGetsFromTerminal, doLineRead, doLineReadFromTerminal, doWordRead,
    doWordReadFromTerminal, filGetcChkCtrlC, filGetsChkCtrlC,
    filHasNextChkCtrlC, filLineReadChkCtrlC and filWordReadChkCtrlC
    have been added to fil_rtl.c. This functions support reading from
    a terminal with a check for ctrl*c. This functions are used by the
    interpreter (file intlib.c).
  * Tracing has been added to functions in int_rtl.c.
  * Configuration defines for CTRL_C_SENDS_EOF,
    SIGNAL_HANDLER_CAN_DO_IO and INT64TYPE_NO_SUFFIX_BUT_CAST have been
    added to makefiles.
2014-08-04 12:04:58 +00:00
Pietro Cerutti
364a875e6d - Update to 05_20140720
Changes:

  * The compiler has been improved to generate overflow checking code
    by default. The generation of overflow checking code can be
    switched off with the option -so.
  * The exception OVERFLOW_ERROR has been introduced. It is raised by
    the interpreter and by compiled programs when an integer overflow
    occurs.
  * A paragraph about integer overflow and the installation of Seed7
    has been added to the FAQ.
  * The chapter about exceptions in the manual has been improved.
  * The program chkovf.sd7, which checks the recogition of integer
    overflows, has been added.
  * Checks for +, -, *, rem, mod, <<, +:=, -:=, *:=, succ, pred, incr
    and decr have been added to chkint.sd7.
  * Checks for the lpad operator have been added to chkstr.sd7.
  * The compiler option -r has been replace by the option -sr.
  * The program calc7.sd7 has been improved to report MEMORY_ERROR and
    OVERFLOW_ERROR.
  * The library make.s7i has been improved such that make7.sd7 accepts
    echo (and echo.) statements without parameters.
  * The function eof has been defined for the type tlsFile in tls.s7i.
  * The function gets in tls.s7i has been improved.
  * The function getHttp in gethttp.s7i has been improved to avoid an
    endless loop when eof has been reached.
  * The function memcpy_from_strelem has been added to striutl.c. This
    function uses loop unrolling inspired by Duff's device and a trick
    with a binary or (|=) to check for allowed values.
  * The functions filWrite, socWrite and bstParse have been changed
    to use memcpy_from_strelem. The reduction in runtime has been
    measured with gcc and valgrind. The runtime of filWrite, socWrite
    and bstParse has been reduced to 53%, 61% and 56% respectively.
  * Documentation comments have been added to integer.s7i, bin32.s7i,
    intlib.c and striutl.c.
  * The compiler has been improved to generate overflow checking code
    for *, <<, >>, *:=, <<:= and >>:= .
  * The generation of overflow checking code for the operators rem and
    mod has been improved.
  * Checks for overflow, division by zero, numeric error and index out
    of bounds in compiled programs now use the macros ovfChk, divChk,
    numChk and idxChk. This macros inform the C compiler about the
    unlikeliness of an exception.
  * The function fltIPow has been improved to avoid a signed integer
    overflow, when the exponent is the most negative integer.
  * The primitive actions INT_ULSHIFT and INT_ULSHIFT_ASSIGN have been
    added and supported in interpreter and compiler.
  * A version of the function uint_rand, which uses 128-bit integers,
    has been added to int_rtl.c.
  * The function raise_error3 in runerr.c has been renamed to
    interprRaiseError.
  * The configuration values INT128TYPE, UINT128TYPE and MACRO_DEFS
    have been added to cc_conf.s7i. The configuration value
    SIGILL_ON_OVERFLOW has been replaced with OVERFLOW_SIGNAL.
  * The functions constValueIsEqual, checkRangeFromZero,
    process_const_int_lshift, process_const_int_lshift_assign,
    process_const_int_rshift_assign, process_const_int_mult,
    process_const_int_mult_assign, process_const_int_ulshift_assign,
    process_const_int_ulshift and process_const_int_urshift_assign
    have been added to int_act.s7i.
  * The function intExpr in chkbig.sd7, chkexc.sd7, chkint.sd7 and
    chkstr.sd7 has been changed to make sure that the C compiler
    cannot evaluate it at compile time.
  * The runtime of the functions str_lpad, strLpad and strLpadTemp has
    been improved.
2014-07-21 08:34:26 +00:00
Pietro Cerutti
6b5bcc894a - Update to 05_20140706
Changes:
  * The interpreter has been improved to recognize integer overflow.
    Now the exception NUMERIC_ERROR is raised, when a program triggers
    an integer overflow. The checks for overflow are done in software,
    but the overhead is small. With overflow checks the interpreter
    needs 0.5% (zero point five percent) more run-time to execute the
    program chkint.sd7 (verified with gcc and valgrind).
  * A chapter about the Seed7 Structured Syntax Description (S7SSD)
    has been added to the manual.
  * The for-until-loops in bitset.s7i and bitsetof.s7i have been
    improved such that the for-variable has the correct value, when it
    is used in the until-condition.
  * The function replaceN has been added to string.s7i. This function
    does replacements until no occurance of the target string is left.
    This function is used by toStdPath to replace multiple occurances
    of a character by one occurance (replace("/a///b////c", "//", "/")
    returns "/a/b/c").
  * The program calc.sd7 has been renamed to calc7.sd7.
  * The program calc7.sd7 has been changed to accept the commands
    'quit' and 'exit'. This commands can be used to exit the program.
    The possibility to leave the program with an empty input line has
    been removed.
  * The program calc7.sd7 has been improved to write the name of the
    exception, when it has been raised.
  * The compiler has been improved to allow the generation of overflow
    checking code. Overflow checking code can be generated for the
    operators +, -, **, +:= and -:= and the functions abs, succ, pred,
    incr and decr. Until the rest of the functions is implemented and
    enough tests have been added to chkint.sd7 the functionality is
    switched off.
  * The template FOR_UNTIL_DECLS has been added to forloop.s7i. This
    template defines for-loops with a condition.
  * The function abs has been moved from the library math.s7i to the
    library float.s7i.
  * Checks for addition, subtraction, multiplication, power and abs
    have been added to chkint.sd7.
  * In the compiler the statements to write the C prototypes have been
    moved from s7c.sd7 to functions in the files comp/xxx_act.s7i
    (xxx is the abbreviation for the corresponding primitive type).
  * The functions getReference getParameterAsReference have been added
    to comp/expr_util.s7i.
  * The function isit_bool from objutl.c has been replaced by the macro
    isit_bool (defined in objutl.h). This improves the speed of the
    interpreter.
  * The function set_card has been improved to call setCard, which
    computes the cardinality of a set much quicker.
2014-07-08 07:29:30 +00:00
Pietro Cerutti
8d1ecbb00a - Update to 05_20140615
Changes:

  * The makefile mk_freebsd.mk has been changed to work with the new
    version of chkccomp.c. Thanks go to Pietro Cerutti for pointing out
    the problem.
  * The self extracting Seed7 package for windows has been improved to
    use gcc version 4.8.1 instead of 4.5.0.
  * The new function removeTree, which removes a directory tree, has
    been introduced in osfiles.s7i. The function removeAnyFile, which
    has been used for the same purpose, is deprecated. Deprecated
    functions will be removed in a future version.
  * Checks for hash tables with character keys have been added to
    chkhsh.sd7.
  * The test program "chkcmd.sd7" has been added. This program checks
    functions that copy, move and remove files. Note that windows has
    race conditions when files are copied, moved and removed quickly in
    succession. This bug of windows cannot be fixed in a runtime
    library.
  * The function temp_name_in_dir has been added to striutl.c.
  * The typedef of socketType in common.h has been changed such that
    socketType is always int.
  * Functions in soc_rtl.c, pol_sel.c and pol_unx.c have been changed
    to use the type os_socketType.
  * Tracing statements in hsh_rtl.c, cmd_rtl.c, drw_win.c and drw_x11.c
    have been changed to use the FMT_ strings from common.h. This way
    the tracing is more portable.
  * Under Windows the functions cmdRemoveFile and cmdRemoveTree now
    rename a file before it is removed. When the renaming fails the
    directory is left intact. This avoids half removed directory trees
    under Windows, when a process has the current working directory
    somewhere in the directory that is to be removed. The renaming also
    lowers the probability of race conditions under Windows, but they
    still can happen.
  * The function checkMoveDirectory has been added to chkccomp.c.
  * The target make7 has been added to the makefiles. With 'make make7'
    an executable of the make7 program is generated and placed in
    seed7/bin.
2014-06-23 12:40:05 +00:00
Pietro Cerutti
e35cf64a81 - Update to 05_20140601
* The compiler has been refactored. Code has been moved from s7c.sd7
    to several compiler libraries. The compiler libraries are licensed
    with the GPL and can be found in seed7/lib/comp. The refactored
    compiler is the first compiler of the 3.0 series.
  * The chapter in the manual about the foreign function interface has
    been improved.
  * Checks for parse and str have been added to chkflt.sd7 and
    chkint.sd7.
  * In chkccomp.c code has been moved from main() to the new functions
    numericSizes and numericProperties.
  * Usages of the macro logError have been added to cmd_rtl.c and
    cmd_unx.c.
  * The stack size defined in mk_mingc.mak, mk_mingw.mak, mk_msys.mak
    and mk_nmake.mak has been changed from 4194304 to 8388608.
  * The function cstri_buf_to_stri has been added to striutl.c.
  * The generation of float literals in the compiler has been improved
    to avoid that precision is lost.
  * Interpreter and compiler have been improved to support the actions
    BLN_EQ and BLN_NE.
2014-06-03 08:07:48 +00:00
Pietro Cerutti
031ec1d25b - Update to 05_20140518
Changes:

  * Errors in con_wat.c and drw-dos.c have been fixed (thanks to
    "Rugxulo" for the help to fix them).
  * The function str in duration.s7i has been improved to work for
    negative durations.
  * The library tar.s7i has been improved to work with the old file
    format that does not use the magic value "ustar".
  * The function bigToInt16 has been added to big_rtl.c and big_gmp.c.
  * The macros with format strings in common.h have been renamed.
    Now the macros have shorter names (starting with FMT_ and F_).
    The macros define formats for various integer sizes. This formats
    are independend from the actual C compiler and C runtime library.
  * The function bigLog10 in big_rtl.c has been improved to work
    correctly when BIGDIGIT_SIZE is small.
  * The program chkccomp.c has been improved to define
    LOCALTIME_WORKS_SIGNED, when localtime can process negative times.
  * The program chkccomp.c has been improved to write the define
    directives to the file specified with the first parameter.
  * The function intParse in int_rtl.c has been improved to accept the
    most negative number.
  * The function timSetLocalTZ in tim_rtl.c has been changed to avoid
    raising an exception when LOCALTIME_WORKS_SIGNED is not defined and
    the time is before 1970-01-01. In this case the daylight saving
    time flag is set to FALSE.
2014-05-19 09:42:31 +00:00
Pietro Cerutti
0b545030ba - Update to 05_20140420
Changes

  * The answer concerning Unicode support in the FAQ has been improved.
  * The chapters in the manual that describe the types integer,
    bigInteger, rational, bigRational and float have been improved.
  * The function log10 has been added to the libraries integer.s7i and
    bigint.s7i. This function computes the truncated base 10 logarithm.
  * The operator sci has been added to the libraries integer.s7i,
    bigInteger.s7i, bigrat.s7i and rational.s7i. This operator converts
    a number to a string in scientific notation. Halfway cases are
    rounded away from zero.
  * The function round10 has been added to the libraries rational.s7i
    and bigrat.s7i. It rounds halfway cases away from zero.
  * The function str has been improved in the libraries rational.s7i
    and bigrat.s7i. Now the function converts to a string with a
    decimal representation (e.g.: "1.25"). When repeating decimals are
    recognizend they are enclosed in parentheses.
  * The operator digits has been improved in the libraries rational.s7i
    and bigrat.s7i. Now the operator rounds halfway cases away from
    zero.
  * Documentation comments have been improved in bigint.s7i, float.s7i,
    rational.s7i, bigrat.s7i, char.s7i, big_gmp.c and fltlib.c.
  * Definitions of the constants integer.first and integer.last have
    been added to integer.s7i.
  * In bigrat.s7i and rational.s7i the function reduce has been
    improved to accept Infinity and NaN.
  * The function strDateTime has been added to time.s7i.
  * A definition of INTTYPE_DECIMAL_SIZE has been added to s7c.sd7 and
    common.h.
  * The function bigGcd in big_rtl.c has been improved to make sure
    that the greatest common divisor is positive or zero.
  * Checks for log10, **, +:= and -:= have been added to chkbig.sd7.
  * The checks for log2 have been improved and checks for log10 have
    been added to chkint.sd7.
  * Checks for the function str have been added to chkflt.sd7.
  * The compiler has been improved to use the functions
    bigIPowSignedDigit and bigGrowSignedDigit to optimize the operators
    **, +:= and -:= for bigInteger operands.
  * The compiler has been improved to support the actions INT_LOG10 and
    BIG_LOG10.
  * The function isPureFunction in the compiler has been improved.
  * The functions bigGrowSignedDigit and bigLog10 have been added to
    big_rtl.c and big_gmp.c.
  * The program chkccomp.c has been improved to write definitions of
    the macros isinf, DOUBLE_DECIMAL_EXPONENT_DIGITS, FLOAT_STR_FORMAT,
    FLOAT_STR_LARGE_NUMBER, DOUBLE_STR_FORMAT, DOUBLE_STR_LARGE_NUMBER,
    FLOAT_MANTISSA_FACTOR, FLOAT_MANTISSA_SHIFT, DOUBLE_MANTISSA_FACTOR
    and DOUBLE_MANTISSA_SHIFT.
  * The functions fltDgts and fltSci in flt_rtl.c have been changed to
    raise RANGE_ERROR when the precision is negative.
  * The function fltStri in flt_rtl.c has been improved to write a
    reasonable number of fractional digits.
  * The functions getMantissaAndExponent, setMantissaAndExponent and
    doubleToCharBuffer have been added to flt_rtl.c.
  * The function intLog10 has been added to int_rtl.c.
  * The function stri_to_wstri has been renamed to stri_to_utf16.
  * The functions stri_to_wstri_buf and wstri_buf_to_stri have been
    added to striutl.c.
2014-05-12 10:15:07 +00:00
Pietro Cerutti
53abdbc4c5 - Update to 05_20140420
Changes:
  * The chapter in the manual about the foreign function interface has
    been improved.
  * A paragraph about regular expressions and lexical scanner functions
    has been added to the FAQ.
  * The handling of the actions CHR_CLIT and INT_STRI in the compiler
    has been improved. The string buffers for chrCLitToBuffer and
    intStrToBuffer use the correct alignment now.
  * In big_rtl.c the functions bigParseBasedPow2 and bigParseBased2To36
    have been added and bigParseBased has been changed to call them.
    This improves the conversion of a string to a bigInteger, when the
    base is a power of two. Valgrind measurements of the function
    bigParseBased in chkbig.sd7 show a speed improvement with a factor
    of 239.
  * The macros memcpy_to_strelem and memset_to_strelem (defined in
    striutl.h) have been turned into functions (defined in striutl.c).
  * The unrolling in memcpy_to_strelem and memset_to_strelem has been
    changed from 8 times to 32 times. This improves the performance
    for big data amounts by 16% (Measured with valgrind and gcc).
  * Usages of the macros memcpy_to_strelem and memset_to_strelem in
    bst_rtl.c, fil_rtl.c, soc_rtl.c and str_rtl.c have been turned into
    usages of the corresponding functions.
  * Calls of cstri_expand, ustri_expand, cstri_expand2 and
    ustri_expand2 in analyze.c, chr_rtl.c, flt_rtl.c, infile.c,
    str_rtl.c and striutl.c have been turned into calls of
    memcpy_to_strelem.
  * The functions (macros) cstri_expand, ustri_expand, cstri_expand2
    and ustri_expand2 have been removed from striutl.c and striutl.h.
  * The functions doCompileAndLink, compileAndLinkWithOptionsOk,
    compileAndLinkOk, appendToFile and detemineDatabaseDefines have
    been added to chkccomp.c. The function compilationOkay has been
    replaced by compileAndLinkOk.
2014-04-22 15:25:22 +00:00
Pietro Cerutti
939166e4ab - Update to 05_20140406
* The chapters in the manual about primitive actions and the foreign
    function interface have been improved.
  * The names of the C types used in interpreter and runtime library
    have been refactored to use camel case.
  * The elements in the unions valueUnion (in data.h) and rtlValueUnion
    (in data_rtl.h and s7c.sd7) have been refactored to use names with
    camel case.
  * The library bigint.s7i has been changed to define the operators
    radix and RADIX with the actions BIG_radix and BIG_RADIX. This
    results in a significant performance improvement when large numbers
    are converted.
  * Interpreter and compiler have been improved to support the actions
    BIG_radix and BIG_RADIX.
  * Testcases for the operators radix and RADIX have been added to
    chkbig.sd7.
  * The compiler has been improved to do an optimization for the action
    INT_MDIV when the divisor is known at compile time. When the
    dividend is known to be positive or zero it is casted to an
    unsigned integer and the quotient is casted back to a signed
    integer. Dividing an unsigned integer by a constant is known to be
    faster than dividing a signed integer.
  * The functions bigRadix, bigRadixPow2, bigRadix2To36 and
    uBigDivideByDigit have been added to big_rtl.c
  * The function bigRadix has been added to big_gmp.c.
  * The functions stri_to_cstri8_buf and cstri8_buf_to_stri have been
    added to striutl.c.
  * In traceutl.c the function mapTraceFlags has been improved to work
    correctly when the parameter trace_level defines several options.
  * The function printTraceOptions has been added to traceutl.c.
  * In arr_rtl.c the definition of getArgv has been improved to use
    less #ifdef directives in the function body.
2014-04-15 07:23:58 +00:00
Pietro Cerutti
d5b97643e1 - Update to 05_20140316
Changes:

  * The documentation file doc/install.txt has been improved to describe
    the command 'make install'.
  * The chapter about the foreign function interface in the manual has
    been improved.
  * In striutl.h the macros os_stri_alloc and os_stri_free have been
    improved to use a stack like allocation. Allocations done with
    os_stri_alloc must be freed with os_stri_free in the reverse order
    of their creation. The new macros reduce the runtime of
    stri_to_os_stri and cp_to_os_path to 66% of the old time. This
    reduces the time used by operating system calls. E.g.: The CPU time
    used by the program sydir7 is reduced to 83% of the old time.
  * The targets 'install' and 'uninstall' have been added to makefile,
    mk_linux.mak, mk_osx.mak, mk_clang.mak, mk_cygw.mak, mk_mingw.mak,
    mk_msys.mak, mk_nmake.mak, mk_msvc.mak, mk_bcc32.mak and
    mk_bccv5.mak.
  * The program setwpath.c has been added. This program sets the search
    path (PATH variable) under Windows.
  * The obsolete target 'hi' has been removed from the makefiles.
  * The functions initEmulatedCwd, cmdSetenv (both in cmd_rtl.c),
    setEmulatedCwd (in striutl.c) and freeArgVector (in cmd_unx.c) have
    been adjusted to work with the stack like allocation of
    os_stri_alloc and os_stri_free.
  * The functions heapAllocOsStri and heapFreeOsStri have been added to
    striutl.c.
  * Usages of MAX_SYMLINK_PATH_LENGTH in cmd_rtl.c have been replaced
    with MAX_OS_STRI_LEN.
2014-03-17 12:47:37 +00:00
Pietro Cerutti
68c52bf292 - Update to 05_20140302
Changes:

  * The function setSockOpt and the constant SO_REUSEADDR have been
    added to sockbase.s7i. Many thanks go to Domingo Alvarez Duarte
    for pointing out that this functionality was missing.
  * The function openInetListener in listener.s7i has been improved
    to succeed when the socket is reused (it calls setSockOpt with
    SO_REUSEADDR now).
  * The functions opendir and wopendir in dir_win.c and the function
    opendir in dir_dos.c have been improved to check for the maximum
    path length supported by Windows and DOS.
  * The functions act_string and act_okay have been removed from
    actutl.c.
  * The function exec_action in exec.c has been improved to use
    get_primact instead of act_okay. This results in a significant
    performance improvement in the case when WITH_ACTION_CHECK is
    defined and the option -tc is used.
  * The function str1Split has been removed from strlib.c.
  * Documentation comments have been added to arr_rtl.c, arrutl.c,
    cmd_unx.c, cmd_win.c, dir_dos.c, dir_rtl.c, dir_win.c, kbd_inf.c,
    kbd_poll.c, scanner.c and ut8_rtl.c.
  * Interpreter and compiler have been improved to support the action
    SOC_SET_OPT_BOOL.
2014-03-13 13:10:30 +00:00
Pietro Cerutti
140a1d1269 - Update to 05_20140216
Changes:

  * A new numeric escape sequence for string literals has been
    introduced. A backslash followed by an integer literal and a
    semicolon is interpreted as character with the specified ordinal
    number. E.g.: "abc\128;def". With the old numeric escape sequence
    this would be "abc\128\def". Terminating the escape sequence
    with ; instead of \ improves the readability, especially when
    escape sequences follow each other. Instead of "\8\\12\\7\8\9\\\"
    it is now possible to write "\8;\12;\7;8\9;\\" The old escape
    sequence is still supported, but it is deprecated and should not
    be used. Future versions will warn about the deprecated escape
    sequence.
  * The conversion functions 'bytes' and 'bytes2Int' in bytedata.s7c
    have been improved to support all combinations of signedness and
    endianess.
  * The functions bStriBe and bStriLe have been removed from
    bstring.s7i. The function 'bytes' in bytedata.s7c can be used as
    replacement.
  * Checks for lowestSetBit and UNSIGNED conversions with the
    functions 'bytes' and 'bytes2Int' have been added to chkint.sd7.
  * Checks for UNSIGNED conversions with the functions 'bytes' and
    'bytes2BigInt' have been added to chkbig.sd7.
  * Checks for the function rand have been added to chkset.sd7.
  * The parser has been improved to write error messages when the
    source file contains unexpected UTF-8 continuation bytes, solitary
    UTF-8 start bytes, extended control codes from the C1 set or an
    UTF-16 byte order mark.
  * In tar.s7i the functions getoct, putspc and putoct have been
    improved. The computation of the size of padding data has also
    been improved.
  * The compiler has been improved to optimize string initialisations
    with the function strZero. StrZero creates a string of arbitrary
    length with '\0;' (zero) bytes.
  * The compiler has been improved to optimize integer exponentiation
    (action INT_POW). Now the multiplication pattern is determined at
    compile time and the number of multiplications is reduced.
  * The performance of the function setCard in set_rtl.c has been
    improved by a factor of 2.5.
  * The performance of the function setRand in set_rtl.c has been
    improved by a factor of 2.3.
  * Loop unrolling inspired by Duff's device has been introduced in
    striutl.h. The unrolling is used for tight loops which copy byte
    data to Seed7 strings in fil_rtl.c, soc_rtl.c and bst_rtl.c. The
    performance improvement has been verified with gcc and valgrind.
  * The example program err.sd7, which checks compile time error
    messages, has been improved.
  * The old way to store the data of constant bigIntegers has been
    removed from compiler and runtime library.
  * The buffers used in intRadix and intRadixPow2 (file int_rtl.c) have
    been enlarged to fit for the most negative number with a base of 2.
  * In itflib.c the functions itf_cpy and itf_cpy2 have been fixed to
    work correctly, when the destination is converted from a struct to
    an interface.
  * In traceutl.c the tracing of characters has been improved in the
    functions prot_char, prot_os_stri, prot_stri_unquoted and
    prot_bstri.
  * In ut8_rtl.c the function ut8Getc has been improved to use smarter
    checks for ranges of characters.
  * The deprecated variant of the function str, which has a second
    parameter to specify a numeric base, has been removed. The
    operators radix and RADIX can be used instead.
  * Interpreter and compiler have been improved to support the new
    actions INT_BYTES_BE, INT_BYTES_LE, INT_BYTES_BE_2_INT and
    INT_BYTES_LE_2_INT. The functions intBytesBe, int_bytesBe,
    intBytesLe, int_bytesLe, intBytesBe2Int, int_bytesBe2Int,
    intBytesLe2Int and int_bytesLe2Int have been added.
  * Support for the actions BIG_CLIT, INT_TO_BSTRI_BE, INT_TO_BSTRI_LE,
    INT_BYTES_BE_2_UINT and INT_BYTES_LE_2_UINT has been removed from
    interpreter and compiler. The functions bigImport, bigCLit,
    big_clit, intToBStriBe, int_toBStriBe, intToBStriLe, int_toBStriLe,
    intBytesBe2UInt, int_bytes_be_2_uint, intBytesLe2UInt and
    int_bytes_le_2_uint have been removed.
2014-02-17 10:58:31 +00:00
Pietro Cerutti
c1bd27e21e - Update to 05_20140202
Changes:

    * The manual chapter describing the foreign function interface has
      been improved.
    * The handling of Unicode in the console has been improved. Cursor
      positioning and writing Unicode strings to the desired position
      works now also under Linux.
    * A strict checking of all strings, that are passed to C functions,
      has been introduced. Zero bytes and non Unicode characters in the
      original string raise the exception RANGE_ERROR now.
    * The performance of several loops in the runtime library has been
      improved. Now the loops use indices instead of pointer increments
      and they work downward towards an index of zero. This allows C
      compilers to do more optimizations (verified with gcc and
      valgrind).
    * The enumeration types signedness and endianess have been added to
      bytedata.s7c.
    * The conversion functions bytes, bytes2Int and bytes2BigInt have
      been added to bytedata.s7c. The new function allow conversions
      to and from signed and unsigned byte strings with big- and
      little-endian byte order. This functions replace the less flexible
      functions bytesLe2Int, bytesBe2Int, bytesLe and bytesBe.
    * The functions bStriBe, bStriLe, bStriBe2BigInt and bStriLe2BigInt
      have been moved from bytedata.s7c to bstring.s7i.
    * The performance of the functions int16AsTwoBytesLe,
      int32AsFourBytesLe, int64AsEightBytesLe int16AsTwoBytesBe,
      int32AsFourBytesBe and int64AsEightBytesBe has been improved.
    * Documentation comments have been added or improved in cc_conf.s7i,
      bytedata.s7i, environment.s7i, sockbase.s7i, actutl.c, big_rtl.c,
      big_gmp.c, biglib.c cmd_rtl.c, con_inf.c, con_win.c, con_wat.c,
      int_rtl.c, intlib.c, soc_rtl.c, striutl.c and syvarutl.c.
    * The program chk_all.sd7 has been improved to check several
      compiler options and to allow that the output of interpreted and
      compiled compiler differs. The difference of the generated C code
      is okay, when the execution of the compiled programs results in
      the same output.
    * The compiler (s7c) has been improved to do more optimizations for
      the action BIG_REM (operator rem).
    * The compiler has been improved to count inserted and suppressed
      range checks.
    * Interpreter, compiler and runtime library have been improved to
      allow bstrings with slices. This is used by the compiler to
      reduce the memory used for constant bstrings.
    * The compiler has been improved to store the data of constant
      bigIntegers in bstrings.
    * Checks for div, rem, mdiv and mod have been added to chkbig.sd7.
    * Checks for float division by zero have been added to chkexc.sd7.
    * Checks for float parse have been added to chkflt.sd7.
    * In con_inf.c, con_win.c and con_wat.c the function conText has
      been replaced by conWrite. ConWrite takes an UTF-32 string and
      writes it to the console. If stdout is redirected an UTF-8 string
      is written to the destination file.
    * The function gen_act_ptr_table has been added to actutl.c. This
      function creates act_ptr_table and removes double entries from it.
    * The functions intBytesBe2UInt and intBytesLe2UInt have been added
      to int_rtl.c.
    * Interpreter and compiler have been improved to support the new
      actions INT_BYTES_BE_2_UINT and INT_BYTES_LE_2_UINT.
    * Checks for the function sigaction() and for integer division and
      remainder have been added to chkccomp.c.
    * The configuration values ALLOW_BSTRITYPE_SLICES,
      CHECK_INT_REM_BY_ZERO and CHECK_INT_REM_ZERO_BY_ZERO have been
      added to cc_conf.s7i, chkccomp.c, cmd_rtl.c and s7c.sd7.
    * Several versions of timAwait in tim_unx.c have been improved to
      restart calls of poll(), ppoll() and select().
    * A check for the character '=' in the environment variable name has
      been added to the function cmdSetenv (in cmd_rtl.c).
    * In striutl.c the functions stri_compress, stri_export_utf8 and
      cp_to_cstri8 have been improved and renamed to conv_to_cstri
      conv_to_cstri8 and stri_to_cstri8 respectively. Interpreter and
      runtime library have been improved to use the new function names.
    * The function stri_to_cstri and the macro free_cstri8 have been
      added to striutl.c.
    * The functions conv_to_cstri, conv_to_cstri8, stri_to_cstri8 and
      stri_to_bstri have been improved to use an err_info parameter.
2014-02-03 15:32:50 +00:00
Pietro Cerutti
0f8a442d92 - Update to 20140119
Changes:

  * The library tdes.s7i with TDES (Triple DES respectively 3DES)
    cipher support has been added.
  * The library tls.s7i has been improved to allow encoding with TDES
    (3DES) and to accept the handshake message CertificateRequest.
  * The function drwGetImage has been added to drw_dos.c (thanks to
    "Rugxulo" for pointing out, that it was missing).
  * Checks for mdiv and mod have been added to chkbig.sd7.
  * The compiler (s7c) has been improved to do more optimizations for
    the action BIG_MOD (operator mod). Now the functions bigLowerBits
    and bigLowerBitsTemp are used when the divisor is a power of two.
  * The compiler has been improved to optimize if-statements, when the
    condition is constant.
  * The compiler has been improved to optimize the action BIG_MDIV
    (operator mdiv) correctly, when the divisor is a negated power of
    two (e.g. n div -8). The generated code now corresponds to the
    Seed7 expression -dividend >> log(-divisor).
  * New functions to open files have been introduced in various
    libraries. The new functions are openUtf8, openUtf16, openEcho,
    openLine, openTee, openMore, openUpper, openLower, openReverse,
    openWindow and openField. The new functions have been added as
    replacement for the functions open_utf8, open_utf16, open_echo,
    open_line, open_tee, open_more, open_upper, open_lower,
    open_reverse, open_window and open_field. The old functions are
    still supported, but they are deprecated and should not be used.
    Deprecated functions will be removed in a future version.
  * The example programs have been changed to use the new functions
    to open files.
  * Documentation comments have been added or improved in cipher.s7i,
    clib_file.s7i, external_file.s7i, shell.s7i, utf8.s7i, utf16.s7i,
    unicode.s7i, bytedata.s7i, big_gmp.c, biglib.c, big_rtl.c,
    cmdlib.c, cmd_rtl.c, fillib.c, fil_rtl.c, intlib.c, int_rtl.c,
    strlib.c, str_rtl.c and entutl.c.
  * The functions bigLowerBits and bigLowerBitsTemp have been added
    to big_rtl.c and big_gmp.c.
  * The free list management in big_rtl.c and big_gmp.c has been
    improved to allow the configuration of a maximum free list length.
  * The function bigMultAssign1 has been added to big_rtl.c. This
    function is used by bigMultAssign when the factor is just one
    bigdigit.
  * The function bigLog2BaseLShift has been renamed to
    bigLog2BaseIPow in big_rtl.c, big_gmp.c and s7c.sd7.
  * The function getValue for boolean values has been added to
    progs.s7i. Interpreter, compiler and runtime library have been
    improved to support it.
  * the management of types in the runtime library has been improved.
    Now they are attached to the corresponding program. This way they
    can be freed by prgDestr().
2014-01-20 10:26:49 +00:00
Pietro Cerutti
e7716bd0d4 - Update to 05_20140105
Changes:

  * The library des.s7i with DES (Data Encryption Standard) cipher
    support has been added.
  * The library tls.s7i has been improved to support block ciphers
    and encoding with DES.
  * The functions blockSize and decode have been added to cipher.s7i
    and arc4.s7i.
  * The the functions str, rotLeft and rotRight and the operators
    radix, RADIX, ~ and ><:= have been added to bin32.s7i.
  * Support to write bin32 values has been added to bin32.s7i.
  * The new library unicode.s7i, with functions to convert between
    Unicode encodings, has been added.
  * The functions utf16beToStri, utf16leToStri, utf7ToStri and
    replaceUtf16SurrogatePairs have been improved and moved from
    charsets.s7i to unicode.s7i. The functions striToUtf8 and
    utf8ToStri have been moved from string.s7i to unicode.s7i. The
    functions striToUtf16be and striToUtf16le have been added to
    unicode.s7i.
  * The actions FLT_MINUS, INT_MINUS and BIG_MINUS have been renamed
    to FLT_NEGATE, INT_NEGATE and BIG_NEGATE respectively.
  * The library gethttps.s7i has been improved to accept links to
    HTTP.
  * The operator symbols ~ and ><:= have been added to syntax.s7i.
  * Checks for -, mdiv, << and >> have been added to chkbig.sd7.
  * The compiler (s7c) has been improved to do more optimizations for
    the actions BIG_DIV, BIG_LSHIFT, BIG_RSHIFT, BIG_MDIV, BIG_MULT,
    BIG_NEGATE and CHR_CLIT.
  * The function charLiteral has been added to the compiler.
  * The compiler has been improved to avoid the generation of long
    lines for bigInteger literals.
  * The function bigMinus has been renamed bigNegate and the function
    bigNegateTemp has been added to big_gmp.c and big_rtl.c.
  * A check for the keyword 'restrict' has been added to chkccomp.c.
  * The function chrCLitToBuffer has been added to chr_rtl.c.
  * Interpreter, compiler and runtime library have been improved to
    support the action INT_XOR_ASSIGN.
  * The functions utf8_char (literal.c), utf8_to_stri (striutl.c),
    utf8_bytes_missing (striutl.c), strUtf8ToStri (str_rtl.c) and
    ut8Getc (in ut8_rtl.c) have been improved to check for ranges
    of characters instead of bit patterns. This improves the
    performance of UTF-8 conversions by up to 6%.
  * The functions freeArgVector and genArgVector have been added to
    cmd_unx.c.
2014-01-08 16:48:25 +00:00
Pietro Cerutti
0bc079ccd5 - Update to 05_20131124
Changes:

  * The new library pic_util.s7i has been added. It contains utility
    functions for pictures. A picture is a simple way to describe
    graphic images as readable text. A picture is an array of strings,
    where every character describes the color of a pixel.
  * The programs castle.sd7, mahjong.sd7, pairs.sd7, panic.sd7,
    shisen.sd7, sokoban.sd7 and sudoku7.sd7 have been adjusted to use
    pic_util.s7i.
  * The pictures in pic16.s7i and pic32.s7i have been adjusted to be
    useable by pic_util.s7i.
  * The pictures cancel_pic, folder_pic and reset_pic have been added
    to pic16.s7i and pic32.s7i.
  * A function to convert a pixmap image to BMP format has been added
    to draw.s7i.
  * The function getPixelColor has been added to draw.s7i.
  * In the example programs all usages of the function clear without
    parameters have been replaced with clear(black). The function
    clear without parameters is deprecated.
  * Interpreter and compiler have been improved to support the actions
    DRW_GETIMAGE and DRW_GETIMAGEPIXEL.
  * The performance of the function strCLit in str_rtl.c has been
    improved by a factor of 10.
  * The function init_bstri_constants in s7c.sd7 has been improved to
    use the function c_literal instead of cCharLiteral. This way it
    cannot happen that a sequence like ??( is interpreted as trigraph
    sequence. As a side effect the performance has been improved also.
  * The function init_win_constants in s7c.sd7 has been improved to
    call getImage instead of getPixel. This improves the performance
    dramatically.
  * The functions prc_return and prc_return2 in prclib.c have been
    improved to avoid using block_body when it is NULL.
  * Spelling errors in chlog.txt, faq.htm, faq.txt, install.txt,
    manual.htm, manual.txt, problems.txt read_me.txt, src/read_me.txt,
    flistutl.c, flistutl.h, heaputl.c, heaputl.h and striutl.c have
    been fixed.
  * The function drwGetImage has been added to drw_x11.c and
    drw_win.c.
  * The function drwGetImagePixel has been added to drw_rtl.c.
  * The program chkccomp.c has been improved to write defines for
    NO_EMPTY_STRUCTS, HAS_SYMLINKS and HAS_FIFO_FILES to version.h.
2013-11-25 12:34:53 +00:00
Pietro Cerutti
427fb79bb3 - Update to 05_20131110
Changes:

  * Compiler and runtime library have been improved to work on Sparc
    64-bit machines under OpenBSD. Thanks go to Brian Callahan, for
    his support and for providing access to his Sparc 64-bit machine.
  * The FAQ explanation concerning portability has been improved.
  * The new library cc_conf.s7i has been added. This library manages
    configuration values for C compiler and runtime.
  * The compiler has been improved to use the library cc_conf.s7i.
  * The chapter about the defines used in version.h has been improved
    in src/read_me.txt.
  * The type rtlGenerictype has been renamed to generictype in the
    files of the runtime library. Now compiler and runtime library
    both use the name generictype.
  * The function checkForLimitedStringLiteralLength, a check for
    trigraph sequences and checks for the presence of getrlimit()
    and siglongjmp() have been added to chkccomp.c.
  * The function setupStack has been added to cmd_rtl.c. This function
    tries to raise the stack limit to STACK_SIZE.
  * Usages of USE_SIGSETJMP have been renamed to HAS_SIGSETJMP.
  * The table key_code has been improved in kbd_inf.c and kbd_poll.c.
    Now the erase char of the terminal interface (VERASE) is always
    returned as backspace (KEY_BS respectively '\8\'). This improves
    the behavior under Cygwin.
  * The function utf8_init has been changed in kbd_inf.c and
    kbd_poll.c to assume UTF-8 mode when no locale environment
    variable is set.
  * The function msgDigest in msgdigest.s7i has been changed to use
    in-parameters.
  * The function configValue has been moved from osfiles.s7i to
    cc_conf.s7i.
  * The macro REALLOC_STRI_SIZE_SMALLER has been added to heaputl.h.
    Several usages of REALLOC_STRI_SIZE_OK in the runtime library have
    been changed to usages of REALLOC_STRI_SIZE_SMALLER.
  * The compiler has been improved to initialize boolean and
    enumeration elements of structs with the values value.boolvalue
    respectively value.enumvalue. This is necessary to work correctly
    on big-endian systems.
  * Interpreter and compiler have been improved to support the actions
    ACT_EQ and ACT_NE.
2013-11-11 10:50:46 +00:00
Pietro Cerutti
b8e00ee129 - Update to 05_20131027
Changes:

  * Compiler and runtime library have been improved to support
    big-endian systems. Thanks go to Brian Callahan, for his support
    and for providing access to his PowerPC Macintosh under OpenBSD.
  * The list of source files and the chapter about the defines used in
    version.h have been improved in src/read_me.txt.
  * The library tls.s7i has been improved to avoid raising an
    exception, when the remote side closes the socket.
  * The program chkccomp.c has been improved to write defines for
    CHECK_INT_DIV_BY_ZERO, INT_DIV_BY_ZERO_SIGNALS and
    DO_SIGFPE_WITH_DIV_BY_ZERO to version.h.
  * Documentation comments have been added or improved in fillib.c,
    int_rtl.c, soclib.c, tim_dos.c, tim_unx.c, tim_win.c, ut8lib.c,
    ut8_rtl.c, tls.s7i and bytedata.s7i.
  * The generic compare functions bigCmpGeneric, bstCmpGeneric,
    chrCmpGeneric, intCmpGeneric, rflCmpGeneric, setCmpGeneric,
    strCmpGeneric and typCmpGeneric have been improved to work
    endianness neutral. Now they work correct on little- and
    big-endian systems.
  * The generic create functions bigCreateGeneric, bstCreateGeneric,
    drwCreateGeneric, rflCreateGeneric, setCreateGeneric,
    strCreateGeneric and itfCreateGeneric have been improved to work
    endianness neutral. Now they work correct on little- and
    big-endian systems.
  * The new generic copy functions bigCpyGeneric, bstCpyGeneric,
    drwCpyGeneric, fltCpyGeneric, rflCpyGeneric, setCpyGeneric and
    strCpyGeneric have been added. This functions work endianness
    neutral.
  * The new generic destroy functions bigDestrGeneric,
    drwDestrGeneric, rflDestrGeneric, setDestrGeneric and
    strDestrGeneric have been added. This functions work endianness
    neutral.
  * The functions uintCmpGeneric, intCreateGeneric and intDestrGeneric
    have been renamed to genericCmp, genericCreate respectively
    genericDestr.
  * The functions genericCpy, ptrCmp, ptrCmpGeneric, ptrCpyGeneric and
    ptrCreateGeneric have been added to int_rtl.c.
  * The function cmdConfigValue in cmd_rtl.c has been improved to
    support the config value DO_SIGFPE_WITH_DIV_BY_ZERO.
  * The handling of the option -l in processOptions (file s7.c) has
    been improved to work endianness neutral.
  * Several functions have been optimized:
    In infile.c:   get_file_name and get_file_name_ustri
    In prg_comp.c: prgSyobject
    In rfllib.c:   rfl_elemcpy and rfl_idx
    In rfl_data.c: rflElemcpy, rflIdx and rflTail
  * The function get_ident and the macro IDENT_TABLE have been changed
    to have an additional progtype argument.
  * The function typNum in typ_data.c has been improved to use a
    hashtable.
  * In typlib.c the functions typ_num and typ_str have been improved
    to call typNum respectively typStr.
  * Support for the actions ACT_ICONV and ACT_ORD has been added to
    interpreter, compiler and runtime library.
  * The function id_string2 has been added to datautl.c, and used in
    ref_data.c and typ_data.c.
2013-10-28 13:06:43 +00:00
Pietro Cerutti
65fd407a2b - Update to 05_20131013
Changes:

    20131013:
    - Libraries for TLS (Transport Layer Security), SSL (Secure Sockets
      Layer) and HTTPS (HyperText Transfer Protocol Secure) support have
      been added. The new libraries are: arc4.s7i, asn1.s7i, cipher.s7i,
      gethttps.s7i, hmac.s7i, pkcs1.s7i, tls.s7i and x509cert.s7i.
    - Comparison operators for < (proper subset) and > (proper superset)
      have been added to hashsetof.s7i.
    - The type digestAlgorithm and the functions msgDigest, blockSize
      and digestSize have been added to msgdigest.s7i.
    - The function hex has been added to bytedata.s7i.
    - The example program castle.sd7 has been improved to avoid, that
      an item can be dropped on an illegal place.
    - The library make.s7i has been improved to accept the option -p for
      the cp command.
    - Documentation comments have been added to sockbase.s7i,
      socket.s7i, atom.c, entutl.c, soclib.c, soc_rtl.c and striutl.c.
    - The padding in the message digest functions of msgdigest.s7i has
      been corrected. Now the functions pad nothing instead of 64 bytes,
      when the message length is 55 (mod 64).
    - The function getHttp in gethttp.s7i has been improved to use
      a case-insensitive comparison for HTTP header field names.
    - In exec.c the functions eval_arg_list and dump_arg_list have been
      improved to avoid reading from freed memory. This occured in very
      rare cases.
    - The functions find_action (in actutl.c), fltParse (in flt_rtl.c),
      cmdConfigValue (in cmd_rtl.c) and find_sysvar (in syvarutl.c)
      have been improved to use the macros MAX_STRI_EXPORT_LEN and
      max_utf8_size.
    - Interpreter and runtime library have been improved to ignore the
      signal SIGPIPE. Writing to a broken pipe or socket raises the
      exception FILE_ERROR instead.
    - The functions bln_and and bln_or in blnlib.c have been improved
      to return either SYS_TRUE_OBJECT or SYS_FALSE_OBJECT.
    - The program chkccomp.c has been improved to determine the
      alignment used by malloc and whether an access to unaligned memory
      succeeds.
    - Usages of ALLOC_CHUNK in flistutl.h have been improved to allocate
      aligned memory the same way as malloc returns aligned memory.
    - The program chkccomp.c has been improved to define the macro
      'inline', when the C compiler does not support the keyword inline.
    - Occurances of 'INLINE' have been replaced with 'inline' in the
      files analyze.c, atom.c, big_gmp.c, big_rtl.c, chr_rtl.c, exec.c,
      findid.c, infile.c, int_rtl.c, numlit.c, parser.c, rfl_data.c,
      scanner.c, striutl.c, strlib.c, str_rtl.c, syntax.c and ut8_rtl.c.

    20130929:
    - The functions bStriLe, bytesLe, bStriBe and bytesBe have been
      added to bytedata.s7i. This functions convert an integer to a
      sequence of bytes.
    - The compiler has been improved to generate inline code for the
      action STR_PUSH. This action is used when a character is appended
      to a string (with the operator &:= ).
    - The function sendGet has been added to gethttp.s7i.
    - The functions str_yy_mm_dd and str_hh_mm_ss have been added to
      time.s7i.
    - Checks for +:= and -:= have been added to chkbig.sd7.
    - Checks for bytesBe and bytesLe have been added to chkint.sd7.
    - Checks for & and &:= have been added to chkstr.sd7.
    - The function doLocalDeclsOfStatement has been added to the
      compiler. This function is used to simplify the processing
      of various statements.
    - The functions that process the statement actions BIG_GROW,
      BIG_LSHIFT_ASSIGN, BIG_MULT_ASSIGN, BIG_RSHIFT_ASSIGN,
      BIG_SHRINK, BLN_CPY, CHR_CPY, CHR_GROW, CHR_SHRINK, ENU_CPY,
      FIL_CPY, FLT_CPY, FLT_DIV_ASSIGN, FLT_GROW, FLT_MULT_ASSIGN,
      FLT_SHRINK, INT_AND_ASSIGN, INT_CPY, INT_GROW, INT_LSHIFT_ASSIGN,
      INT_MULT_ASSIGN, INT_OR_ASSIGN, INT_RSHIFT_ASSIGN, INT_SHRINK,
      INT_URSHIFT_ASSIGN, REF_CPY, RFL_INCL, SET_EXCL, SET_INCL,
      SOC_CPY, STR_PUSH and TYP_CPY in the compiler have been
      simplified.
    - The functions int_toBStriBe and int_toBStriLe have been added to
      intlib.c.
    - The functions intToBStriBe and intToBStriLe have been added to
      int_rtl.c
    - In big_rtl.c and big_gmp.c the functions bigFromBytesBe and
      bigFromBytesLe have been renamed to bigFromByteBufferBe
      respectively bigFromByteBufferLe.
    - The performance of the functions bst_cmp (in bstlib.c), bstCmp
      (in bst_rtl.c) and strMult (in str_rtl.c) has been improved.
    - The macro 'unlikely' has been added to functions in bst_rtl.c.
2013-10-17 08:36:28 +00:00
Baptiste Daroussin
888ab73a81 Add NO_STAGE all over the place in preparation for the staging support (cat: lang) 2013-09-20 19:53:09 +00:00