Extension Upgrade Tracking ========================== ext/standard ------------ Status: In Progress array.c ------- natsort(), natcasesort() Params API Either port strnatcmp() to support Unicode or maybe use ICU's numeric collation. Update: can't seem to get the right collation parameters to duplicate strnatcmp() functionality. Conclusion: port to support Unicode. string.c -------- hebrev(), hebrevc() Figure out if this is something we can use ICU for, internally. Check with Zeev. parse_str() Params API. How do we deal with encoding of the data? sscanf() Params API. Rest - no idea yet. strnatcmp(), strnatcasecmp() Params API. The rest depends on porting of strnatcmp.c strtr() Check on Derick's progress. wordwrap() Upgrade, do wordwrapping on codepoint (or glyph ?) level, maybe use additional whitespace chars instead of just space. Completed ========= array.c ------- array_change_key_case() array_chunk() array_combine() array_count_values() array_fill() array_filter() array_flip() array_key_exists() array_keys() array_map() array_merge() array_merge_recursive() array_multisort() array_product() array_push(), array_pop(), array_shift(), array_unshift() array_pad() array_rand() array_reduce() array_reverse() array_search() array_slice() array_splice() array_sum() array_values() array_unique() array_walk() array_walk_recursive() compact() count() extract() in_array() min() max() range() shuffle() end(), prev(), next(), reset(), current(), key() sort(), rsort() asort(), arsort() ksort(), krsort() usort(), uasort(), uksort() array_diff(), array_udiff() array_diff_assoc(), array_diff_uassoc(), array_udiff_assoc(), array_udiff_uassoc() array_diff_key(), array_diff_ukey() array_intersect(), array_uintersect() array_intersect_assoc(), array_uintersect_assoc() array_intersect_uassoc(), array_uintersect_uassoc() array_intersect_key(), array_intersect_ukey() string.c -------- addcslashes() addslashes() basename() bin2hex() chr() chunk_split() count_chars() dirname() explode() implode() levenshtein() localeconv() money_format() nl_langinfo() nl2br() ord() pathinfo() quotemeta() range() similar_text() str_pad() str_repeat() str_replace() stri_replace() str_rot13() str_shuffle() str_split() str_word_count() strcoll() strcspn() strip_tags() stripcslashes() stripslashes() stripos() stristr() strpbrk() strpos() strrchr() strripos() strrev() strrpos() strspn() strstr() strtok() strtolower() strtoupper() substr() substr_compare() substr_count() substr_replace() trim() ucfirst() ucwords() Zend Engine ----------- Status: In Progress TBD: debug_backtrace() Completed: class_exists() create_function() debug_print_backtrace() define() defined() each() error_reporting() extension_loaded() func_get_arg() func_get_args() func_num_args() function_exists() get_class() get_class_methods() get_class_vars() get_declared_classes() get_declared_interfaces() get_defined_constants() get_defined_functions() get_defined_vars() get_extension_funcs() get_included_files() get_loaded_extensions() get_object_vars() get_parent_class() get_resource_type() interface_exists() is_a() is_subclass_of() method_exists() property_exists() restore_error_handler() restore_exception_handler() set_error_handler() set_exception_handler() strcasecmp() strcmp() strlen() strncasecmp() strncmp() trigger_error() zend_thread_id() zend_version() vim: set et ts=4 sts=4: