Changes since 2.1.3 1. src/slang.c: The identifier syntax was not being checked for symbols added to the global namespace. 2. slsh/slsh.c: If ENV_SLSH_PATH is undefined, set it to SLSH_PATH 3. */mkfiles/*: Modified the various makefile.all files to facilitate mingw32 builds. Read INSTALL.pc for quick-start. 4. mkfiles/install.sl: Added a function to install the slang docs 5. src/slvideo.c: #define UNICODE so that wide-character functions are used instead of byte functions. Also codepage set to 65001 in unicode mode. 6. src/slvideo.c: Added SLtt_is_utf8_mode. 7. src/sltermin.c: Added support for new ncurses hex-encoded terminfo directories. 8. slsh/lib/tm/cmdopt.tm: Missing commas in the documentation for cmdopt_add. (Doug Burke). 9. src/slarrmisc.inc: Changed inner-product code to use block arrays to be more cache friendly. Since the block size is cpu-dependent, __get/set_innerprod_block_size functions have been added. The default value is controlled by a variable in src/sllimits.h. 10. modules/termios-module.c: Added additional termios constants (Laurent Perez). 11. src/slarray.c: Better optimization when indexing arrays with ranges. 12. src/slsignal.c: If SLsystem fails, set the interpreter's errno value accordingly. 13. modules/rand-module.c: A uniform random number generator module, which also provides generators for some well-known distributions. 14. src/*.c: Changed field name for SLang_Object_Type.data_type to o_data_type. 15. src/slang.c: Optimization tweaks to improved performance for small arrays and indexing via scalar indices. 16. doc/tm/rtl/stack.tm: Typos in the example for __pop_list corrected (Doug Burke). 17. src/slang.c: Improved optimizations for scalar arithmetic operations. 18. src/slarray.c: slices such as A[*,[0:-1],*] of multi-dimensional arrays were producing single dimension ones. 19. src/sltoken.c: Changed the semantics of the SLang_set_verbose_loading function. Previously this function accepted a zero or non-zero value to disable or enable loading messages for .sl files. Now this integer value is a bitmapped one: If bit 0 is set, loading messages will be generated for .sl files. If bit 1 is set, messages will be generated for dynamically loaded modules. 20. slsh/slsh.c: Calling slsh with -v will generate loading messages for both modules and slang files. I also created a new slsh-specific intrinsic called set_verbose_loading and bumped the slsh version number. 21. modules/cmaps: Added "ds9b" and "ds9sls" colormaps --- these correspond to analogous colormaps in saotng ds9. 22. utf8/tools/mktables: Characters with general category "Mc" or in the bi-directional category are nolonger flagged as combining characters. 23. utf8/tools/: Updated unicode database from 3.2 to 5.0 and recreated the internal character set tables. 24. src/slsmg.c: If an ambiguous-width unicode line drawing character is double width, then use a single-width alternative (Sugiyama). 25. src/slsignal.c: Call SLang_handle_interrupt when system calls are interrupted. 26. src/slarray.c: Speed improvements when transferring elements from one array to another via range indices, e.g., a = b[[1:9]]; 27. src/slarrfun.c: transpose of multi-dim non-scalar arrays was using unitialized memory. 28. src/slarray.c: Improved speed of binary arithmetic of range arrays. 29. src/slstd.c: atoi, atof, atol, atoll, and integer now accept an array arguments. 30. demo/pager.c: args swapped in call to memset (Dave Jones davej at redhat) 31. src/slstring.c: Move last used string in the hash table to the top if it is more than a few deep. 32. slsh/doc/tm/slsh.1: Added a small section to the slsh man page about customizing the readline environment. 33. slsh/etc/slsh.rc: changed dir_exists from static to private 34. src/slposio.c: The low level read/write functions should not be restarted when errno is EAGAIN. 35. src/sltoken.c: When run in verbose mode, SLns_load_file will display the name of the namespace the file is being loaded into when the namespace is not the Global one. 36. slsh/lib/require.sl: If the "feature" is a filename, then automatically "provide" that feature. 37. slsh/lib/tm/require.tm: Fixed the typos for the require function. 38. src/slstrops.c: Until `|' is supported in REs, glob_to_regexp cannot be made to produce a single RE that does not match leading dots. Hence, the glob expression "*X" will match ".X". 39. slsh/lib/glob.sl: Changed to compensate for modification to glob_to_regexp. That is, glob("*X") will not match the file ".X", which preserves the bahavior of the glob function. 40. src/slcommon.c: On win32 systems, if the codepage is 65001, then use UTF-8 mode (Thomas Wiegner). 41. src/slarray.c: Trivial change to avoid a warning in gcc about the possible use of an uninitialized variable. 42. slsh/slsh.c: Added -q, --quiet command line option to inhibit the printing of the startup messages. 43. slsh/lib/print.sl: Added pager[=val] and nopager qualifiers to the print function. Also if printing a single structure, each field will appear on a separate line. 44. src/slstrops.c, src/slbstr.c: Added count_char/byte_occurances function to count the number of occurances of a specific character or byte in a string. 45. src/slparse.c: &if was causing a SEGV. 46. src/slstd.c: Added get_float_format intrinsic. 47. doc/tm/Makefile: Added rules to make cref.pdf 48. slsh/lib/print.sl: Updated the usage message for the print function. 49. src/slang.h: Added __attribute_(format(printf)) to SLsnprintf prototype. 50. src/*.c: Function prototypes were changed from, e.g., char *SLang_create_slstring (char *); to char *SLang_create_slstring (SLFUTURE_CONST char *); where SLFUTURE_CONST is defined to have no value. As a result, these changes has no effect at present but will in a future version (slang-3) where SLFUTURE_CONST will be defined to be `const'. The use of `const' now would constitute a major API change, which is not permitted until a new major version is released. 51. src/slmisc.c: SLFUTURE_CONST added to SLextract_list_element prototype. 52. src/slang.h: Added SLFUTURE_CONST to arg_type field of SLcmd_Cmd_Type object. 53. src/slarith.c: The return value of fmod was being truncated to single precision. 54. doc/tm/cslang.tm: COLORTERM was used instead of COLORFGBG (Nathan Stratton Treadway). 55. configure,*/Makefile.in: Haiku systems do not require -lm. -lm was replaced */Makefile.in by @M_LIB@ which is not set from the configure script. (Scott McCreary) 56. src/slutty.c,src/slidsply.c: More Haiku-specific patches from Scott McCreary. 57. mkfiles/makefile.m32: Made changes to work with recent versions of mingw32 and added a silly hack to work-around CMD.EXE interpretation of '=' as whitespace on the command line. 58. doc/tm/rtl/rline.tm: New file containing documentation for intrinsic functions dealing with the slang readline interface. 59. slsh/lib/print.sl: If a string is passed as a file descriptor to the print function, then regard the string as a filename. 60. src/Makefile.in: Added _slang.h and sllimits.h as a global dependency. 61. slsh/lib/tm/print.tm: Documented the slsh print function. 62. slsh/lib/print.sl: Rewrote and simplified the code that prints to the various output "devices" by using a device-object. 63. autoconf/Makefile.in: Added src/Makefile.in as a dependency.