pike.git
/
CHANGES
version
»
Context lines:
10
20
40
80
file
none
3
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.