pike.git / CHANGES

version» Context lines:

pike.git/CHANGES:186:   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, and extra argument +  "inherit_level" has been added to many object indexing related +  functions. +  +  NOTE! +  NOTE! C-API incompatibility! +  NOTE! +    Extensions and New Functions      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); +  __deprecated__(mixed) obsolete_variable; +    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 #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 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.