pike.git / CHANGES

version» Context lines:

pike.git/CHANGES:16:    from the end instead. This is convenient to e.g. chop off the last    element in an array: a[..<1].      o New `[..] operator function.       Range operations have been separated from the `[] operator function    and are now handled by the new `[..] which provides greater control    for how the range bounds are specified. For compatibility, if there    is no `[..] then `[] is still called for range operations.    -  FIXME: Describe relation with Pike.INDEX_FROM_BEG/END & OPEN_BOUND. +  The `[..] callback will get four arguments, start value, start type, +  end value and end type. The type arguments is any of +  Pike.INDEX_FROM_BEG, Pike.INDEX_FROM_END or Pike.OPEN_BOUND. Here +  are a few examples of what input arguments different calls would +  generate.    -  +  [..] 0 OPEN_BOUND 0 OPEN_BOUND +  [1..] 1 INDEX_FROM_BEG 0 OPEN_BOUND +  [..2] 0 OPEN_BOUND 2 INDEX_FROM_BEG +  [3..4] 3 INDEX_FROM_BEG 4 INDEX_FROM_BEG +  [<5..] 5 INDEX_FROM_END 0 OPEN_BOUND +  [6..<7] 6 INDEX_FROM_BEG 7 INDEX_FROM_END +    o Generalized this and this_program.       It is now possible to refer to inherits in objects. Example:       class A {    int a;    void foo() { werror("A\n"); }    }    class B {    inherit A;
pike.git/CHANGES:151:    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       The modifier protected is now an alias for the modifier static. -  NOTE: In next release static will be deprecated. +  NOTE: In the 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    {
pike.git/CHANGES:178:    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);    __deprecated__(mixed) obsolete_variable;    +  +  __attribute__(deprecated)    FIXME: syntax for __attribute__      o __func__       The symbol __func__ now evaluates to the name of the current    function. Note that this name currently can differ from the    declared name in case of local functions (ie lambdas). Note    also that __func__ behaves like a litteral string, so implicit    string concatenation is supported. eg:       error("Error in " __func__ ".\n");    - o __dir__ + o __DIR__    -  FIXME +  __DIR__ is a new preprocessor symbol that resolves to the directory +  that the current file is placed in. Similar to how __FILE__ points +  out the file the code is placed in.      o #pragma {no_,}deprecation_warnings       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 Compatibility name spaces    - o Iterator->next() no longer optional. FIXME +  Older versions of a function can be reached through its version name +  space. For example the 7.4 version of the hash function can be +  called through 7.4::hash().    -  + o Iterator API    -  +  The iterator API method Iterator->next() is no longer optional. +  FIXME: Compatibility implications? +  +    Extensions and New Functions   ----------------------------      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()));   
pike.git/CHANGES:259:    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 sscanf %[^-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.
pike.git/CHANGES:340:    - Time objects now handle * and / with floats. A split() method has    been added for more advanced splitting. FIXME: Example       - A new formatting method format_ext_time_short() has been added to    Time objects.       - Timezones are now read from /etc/localtime, if available.      o CompilerEnvironment & CompilerEnvironment()->PikeCompiler    -  The Pike compiler has been refactored to be more object-oriented -  and more transparent. It is now possible to customize the compiler -  by overloading functions in the above two classes. +  The Pike compiler has been refactored to be more object-oriented and +  more transparent. It is now possible to customize the compiler by +  overloading functions in the above two classes. The compiler object +  used by Pike internally is available through +  DefaultCompilerEnvironment.      o Debug       The new function count_objects() will return the different kinds of    objects existing within the Pike process. Useful when trying to    pinpoint a leak of Pike objects.    - o DefaultCompilerEnvironment -  -  The CompilerEnvironment object used by Pike internally. -  +    o Error       The new function mkerror() will normalize any thrown value into a    proper error object (or 0).      o Filesystem       Traversion has been extended with two new create arguments. The    first one is a flag to supress errors and the other is a sorting    function which will be applied to the entries in every directory.