pike.git / CHANGES

version» Context lines:

pike.git/CHANGES:72:      o Unicode escapes.       Pike now understands the common way to escape unicode chars, using    \uxxxx and \Uxxxxxxxx escapes. These escapes works both in string    and character literals and in the preprocessor. The latter means    that unicode escapes can be used in identifiers, which is useful if    they contain characters that can't be represented raw in the source    code charset.    - o New (stricter) type checker for function calls. + o Stricter type checker for function calls.       The type checker for function calls is now based on the concept of    currification. This should provide for error messages that are more    easily understood. It also is much better att typechecking function    calls utilizing the splice (@) operator. The mechanisms used by the    typechecker are also made available as Pike.get_first_arg_type(),    Pike.low_check_call() and Pike.get_return_type().      o Added generic attributes for types.       Provides a method to hook into the type checker, so that it is    possible to make custom type checking.      o Stricter typing of strings.    -  The string type may now have an (optional) value range. Example: +  The string type may now have an optional value range.       string(0..255) bytes;      o Support for having multiple different active backend implementations.    FIXME: example?      o cpp       The preprocessor now supports macro expansion in the #include and #string    directives.    -  +  #include USER_SETTINGS +    o Destruct reason passed to lfun::destroy.       lfun::destroy now receives an integer flag that tells why the object    is being destructed, e.g. if it was an explicit call to destroy(),    running out of references, or reaped by the garbage collector.       These integers are defined in the new Object module as    DESCTRUCT_EXPLICIT, DESTRUCT_NO_REFS, DESTRUCT_GC and    DESTRUCT_CLEANUP.   
pike.git/CHANGES:125:   o Implicit and explicit create().       The compiler now supports defining classes with both an implicit    and an explicit create().      o Warnings for unused private symbols.       The compiler now checks that all symbols that have been declared    private actually are used.    +  class A (int i) +  { +  protected string j; +  protected void create(string j) +  { +  A::j = reverse(j); +  } +  } +    o Warnings for unused local variables.       The compiler now checks that all local variables are used.      o Unicode       Case information and the Unicode module are updated to Unicode    5.1.0.      o The keyword protected
pike.git/CHANGES:187:       Warnings for use of deprecated symbols can be turned off for a    segment of code with       #pragma no_deprecation_warnings       and turned on again with       #pragma deprecation_warnings    + o 7.4::blaha FIXME    -  + o Iterator->next() no longer optional. FIXME +  +    Extensions and New Functions   ----------------------------    - o getenv() and putenv() are now accessing and modifying the real + o exit() +  +  Exit now takes optional arguments to act as a werror in addition to +  exiting the process. +  +  exit(1, "Error while opening file %s: %s\n", path, strerror(errno())); +  + o getenv()/putenv() +  +  getenv() and putenv() are now accessing and modifying the real    environment.    - o undefinedp() and destructedp() have been added as more readable + o undefinedp()/destructedp() +  +  undefinedp() and destructedp() have been added as more readable    alternatives to zero_type().      o limit()       The new toplevel function limit(a, x, b) is a convenience function    that works like min(max(a,x),b).    - o exit() now takes optional extra arguments for easier error reporting. -  -  Example: -  exit(1, "Error while opening file %s: %s\n", path, strerror(errno())); -  +    o sprintf() and sscanf()    -  - sprintf() and related functions now attempt to perform -  compile-time argument checking. -  +     - sprintf() now attempts to lookup the name of the program when    formatting types of objects and programs.       - The new formatting directive %H can be used to format a string as    a binary holertih string.       > sprintf("%2H", "Hello");    (1) Result: "\0\5Hello"       - The new formatting directive %q can be used to format a atring as
pike.git/CHANGES:234:    line.       > sprintf("%q", "abc \x00 \" \' \12345");    (1) Result: "\"abc \\0 \\\" ' \\u14e5\""      o encode/decode value and programs       --with-portable-bytecode is now the default. Pike programs that have    been dumped on one architecture now can be decoded on another.    + o sscanf %H %[^-X] (!= %[^X-]) %[X-X] FIXME +  + o gethrtime, gethrvtime, gauge +  +  Added support for POSIX style timers using clock_gettime(3). Notably +  this fixes nice high resolution thread local cpu time and monotonic +  real time on reasonably modern Linux systems. +  +  There are new constants CPU_TIME_* and REAL_TIME_* in the System +  module to allow pike code to query various properties of the CPU and +  real time clocks in use. +    o ADT.BitBuffer       Added read() method that reads whole bytes from the buffer and    returns as a string.      o ADT.Queue    -  It is now possible to use sizeof() and values() on a Queue object. +  It is now possible to use sizeof() and values() on a Queue object to +  get the size of the queue and all elements in the queue as an array.      o ADT.Stack    -  Stack objects can now be cast to arrays. +  Stack objects can now be cast to arrays to get all elements on the +  stack.      o ADT.Struct       - New Item class SByte, SWord and SLong represents a signed byte,    word and longword respectively.       - The Item classes int8, uint8, int16, uint16, int32, uint32, int64    and uint64 are aliases for already existing Item classes.       - sizeof() now works for empty Struct objects.
pike.git/CHANGES:763:       - Bugfix to support robots.txt created on windows.       - User Agent change to "Mozilla 4.0 (PikeCrawler)"      o Web.RDF       - Added add_statement() method which allows new relations to be    added to an RDF set.    - o gethrtime, gethrvtime, gauge +     -  Added support for POSIX style timers using clock_gettime(3). Notably -  this fixes nice high resolution thread local cpu time and monotonic -  real time on reasonably modern Linux systems. -  -  There are new constants CPU_TIME_* and REAL_TIME_* in the System -  module to allow pike code to query various properties of the CPU and -  real time clocks in use. -  -  +    New modules / classes / methods added   -------------------------------------      o Fuse       FUSE (Filesystem in USErspace) provides a simple interface for    userspace programs to export a virtual filesystem to the Linux    kernel (and some other OS:es). FUSE also aims to provide a secure    method for non privileged users to create and mount their own    filesystem implementations.
pike.git/CHANGES:910:      o Stdio.File->set_peek_file_before_read_callback() is deprecated.         Incompatible changes   --------------------       These incompatible changes can be solved by adding #pike 7.6 to your    source file or starting Pike with -V7.6.    + o main() environment +  +  The main() method will no longer be given the environment as a +  mapping as third argument. Use an explicit call to getenv() instead. +    o Array.transpose_old       This function has been removed.      o _Charset       The parts of this internal module that were written in Pike    have moved to Locale.Charset.      o Crypto
pike.git/CHANGES:1022:    "inherit_level" has been added to many object indexing related    functions.      o .cmod:       Voidable pointer types are no longer promoted to mixed.      o Support for class symbols with storage in parent scope.    Also added support for aliased symbols.    + o Machine code backend for PPC64 FIXME +  + o Objectiv-C embedding framwork FIXME +    o Added %c and %C to get_all_args to get char * without    NUL characters (no 0 valued characters inside the string).       %c: char * Only narrow (8 bit) strings without NUL.    This is identical to %s.       %C: char * or NULL Only narrow (8 bit) strings without NUL, or 0         Building and installing   -----------------------      o Added ABI selection.       It's now possible to select whether to compile in 32bit or 64bit    mode at configure time by using the --with-abi option.    -  + o MinGW build possible. FIXME    -  +    New simplified method to write external C/C++ modules   -----------------------------------------------------       It's now suggested that you do not use the fairly complex 'pike    internal' style of external modules (configure.in with    AC_MODULE_INIT etc).       It's also no longer required that you have a configure script to use    pike -x module.   
pike.git/CHANGES:1095:         ----   modules/_Charset         New lib:   Protocols.LDAP module.pmod   -x test_pike    - New src: - embed/libpike - tmodule - Protocols.DNS_SD +     -  +    src:   files: FIXME   gmp: FIXME   java: FIXME   mysql: FIXME       - Machine code backend for PPC64 +     - Objectiv-C embedding framwork -  +    DLL for Windows?    - MinGW build possible. +       libpike.so      Wix      valgrind_hilfe and valgrind_just_verify      New malloc on Windows.      poll/epoll -  - Iterator->next() no longer optional. -  - sscanf %[^-X] (!= %[^X-]) %[X-X] -  - env argument to main() -  - 7.4::blaha +