pike.git / CHANGES

version» Context lines:

pike.git/CHANGES:139:   o Unicode       Case information and the Unicode module are updated to Unicode    5.1.0.      o The keyword protected       The modifier protected is now an alias for the modifier static.    NOTE: In next release static will be deprecated.    + o extern declared variables +  +  Variables can now be declared as 'extern'. This means that +  inheriting classes must have them. They can be used like normal +  variables in the base class. +  +  Example: +  class A +  { +  extern int a; +  int dummy() { return ++a; } +  } +    o __attribute__ and __deprecated__       It's now possible to set custom attributes on types. This is    currently used to improve the argument checking for sprintf()    and related functions, and for marking symbols as deprecated.    eg:       __deprecated__ mixed obsolete_function();    __deprecated__(mixed) obsolete_return_value();    mixed fun(__deprecated__(mixed) obsolete_arg);
pike.git/CHANGES:185:   Extensions and New Functions   ----------------------------      o limit()       The new toplevel function limit(a, x, b) is a convenience function    that works like min(max(a,x),b).      o sprintf() and sscanf()    -  The format string for sprintf() and sscanf() et al is now -  syntax checked at compile-time, and the arguments after it -  are matched against it. +  - 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 +  a quoted string, quoting all control character and non-8-bit +  characters as well as quote characters. Like %O but always on one +  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 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.      o ADT.Stack
pike.git/CHANGES:718:       - 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 sprintf -  -  - 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 -  a quoted string, quoting all control character and non-8-bit -  characters as well as quote characters. Like %O but always on one -  line. -  -  > sprintf("%q", "abc \x00 \" \' \12345"); -  (1) Result: "\"abc \\0 \\\" ' \\u14e5\"" -  +    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.   
pike.git/CHANGES:814:    programs.       void main(int argc, array(string) argv)    {    mapping opts = Arg.parse(argv);    argv = opts[Arg.REST];    }      o GTK2    -  FIXME +  Wrapper for the GTK2 library. Not yet 100% completed, but usable.      o Kerberos       FIXME      o Protocols.DNS_SD       This module provides an interface to DNS Service Discovery. The    functionality of DNS-SD is described at <http://www.dns-sd.org/>.   
pike.git/CHANGES:973:    The Pike compiler is now executing in a pike function context    (rather than in an efun context), and it is possible to customize    some of its behaviour via inherit (rather than via handler objects).    As a consequence the compiler is now much closer to being thread-safe.      o The global variable next_timeout is no more. It has been replaced by    a backend-specific variable. Added backend_lower_timeout() for accessing    the new variable. This fixes issues GTK, GTK2 and sendfile had with the    new backend implementation.    -  NOTE! +     NOTE! C-API incompatibility! -  NOTE! +     NOTE! Changed the argument for backend callbacks! -  NOTE! -  NOTE! The argument is now a struct Backend_struct * when called -  NOTE! at entry (was NULL). -  NOTE! The argument is now NULL when called at exit (was 1). -  NOTE! +     -  +  The argument is now a struct Backend_struct * when called +  at entry (was NULL). +  The argument is now NULL when called at exit (was 1). +    o Pike_fp->context       Pike_fp->context is now a pointer to the current struct inherit    rather than a copy of it. This allows for easier access to    inherited symbols in C-code.    -  NOTE! -  NOTE! C-API incompatibility! -  NOTE! -  +    o Inherit level argument added to several object handling functions.       In order to implement subtyping of objects, an extra argument    "inherit_level" has been added to many object indexing related    functions.    -  NOTE! -  NOTE! C-API incompatibility! -  NOTE! + o .cmod:    - o bin/precompile.pike -  +     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.       - Building and installin - ---------------------- + 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 PIKE_PORTABLE_BYTECODE +     -  --with-portable-bytecode is now the default. Pike programs that have -  been dumped on one architecture now can be decoded on another. -  -  +    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:1128:      Iterator->next() no longer optional.      sscanf %O %H %[^-X] (!= %[^X-]) %[X-X]      env argument to main()      c-api: Added %c and %C to get_all_args to get char * with/without   NULL. (%c is an alias for %s but %C is new.)    - extern variables. -  +    7.4::blaha -  - Inherit::this and Inherit::this_program now works. -  +