Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:71605 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 9533 invoked from network); 26 Jan 2014 22:28:04 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 26 Jan 2014 22:28:04 -0000 Authentication-Results: pb1.pair.com header.from=danack@basereality.com; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=danack@basereality.com; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain basereality.com from 209.85.220.177 cause and error) X-PHP-List-Original-Sender: danack@basereality.com X-Host-Fingerprint: 209.85.220.177 mail-vc0-f177.google.com Received: from [209.85.220.177] ([209.85.220.177:42680] helo=mail-vc0-f177.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 59/16-12631-3FB85E25 for ; Sun, 26 Jan 2014 17:28:03 -0500 Received: by mail-vc0-f177.google.com with SMTP id if11so2925696vcb.8 for ; Sun, 26 Jan 2014 14:28:01 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=UKq9hZbkqvSTXl9RkBp6+dbYcwfVyL2/N+L9fU/8cGM=; b=FLsclwVtrruenRQ1kDzD4mz8CLOXWl90lAq4qPz/B4mF/SqILfMcBNftyZsY7rr6Q/ ODuPhvPAUypJyhH3OqmFnNjg5j7Zqz/dMcSRtCP5+/GmbxLySgmGFCTDHrvEj1FDGMUd 3HzMeBgRBtNK+G+1gTcwV1ksFuz+bs2+4S3UPq/KjopNdGUoSXfI0MzIrIU7QF39Lcxx VabNEnShtntMNJA5byEXaXRl//Upwk2T6SjEvFwhIjp4Te2e3IqaOxAqE3EMBhaOmb1i BH+1gGvUrmEn8ygDeB9QY2xbtyYq1e6Ru83UmQhhWwjoMBvvAJosXC7L+FAR8/aB44lH JW7Q== X-Gm-Message-State: ALoCoQkTstzmxhSi44BS7hdETPTnA+WJBhmsmb0+pQMWpzol4rehLAlgxdkg33EFvrDo/rRcOkQd MIME-Version: 1.0 X-Received: by 10.52.26.148 with SMTP id l20mr316429vdg.28.1390775281318; Sun, 26 Jan 2014 14:28:01 -0800 (PST) Received: by 10.220.175.84 with HTTP; Sun, 26 Jan 2014 14:28:01 -0800 (PST) X-Originating-IP: [78.151.197.167] In-Reply-To: References: Date: Sun, 26 Jan 2014 22:28:01 +0000 Message-ID: To: Yasuo Ohgaki Cc: "internals@lists.php.net" Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable Subject: Re: [PHP-DEV] [VOTE] RFC: Multibyte Char Handling From: danack@basereality.com (Dan Ackroyd) Sorry, for rapid posting but I realise I should have been explicit in my last message. The RFC being voted on has "Backward Incompatible Changes: None." The referenced RFC which apparently would be included has: "Removed (deprecated) functions and reasons behind it mb_check_encoding() =96 Not that usable as it is advertised, period. First of all, validation in terms of encoding is just as same as filtering through the converter supplied with the same value for the input and output encoding. Thus just use mb_convert_encoding(). mb_convert_case() =96 Use mb_strtoupper(), mb_strtolower() and mb_strtotitl= e() mb_convert_kana() =96 This can't be standard-compliant. In addition, part of the functionality is already covered by Normalizer of intl extension, so we need to carefully consider what is actually needed here again. mb_convert_variables() =96 This can be implemented as a script. mb_decode_mimeheader() and mb_encode_mimeheader() =96 Non-standard complian= cy. mb_decode_numericentity() =96 Removed in favor of html_entity_decode(). mb_encode_numericentity() =96 Removed in favor of htmlentities() and htmlspecialchars(). mb_encoding_aliases() =96 Just unnecessary. mb_ereg_match() =96 Use mb_ereg() mb_ereg_search(), mb_ereg_search_getpos(), mb_ereg_search_getregs(), mb_ereg_search_init(), mb_ereg_search_pos(), mb_ereg_search_regs() and mb_ereg_search_setpos() =96 I rarely heard a script that actively uses these functions. They involve an internal state that is not visible to users, and thus it most likely causes confusion when used across the function calls. Need to be reimplemented as a class. mb_eregi() =96 Use mb_regex_options() and mb_ereg() mb_eregi_replace() =96 I wonder why this function was added in the first place because giving 'i' option to mb_ereg_replace() works in the same way. mb_detect_order(), mb_get_info(), mb_http_input(), mb_http_output(), mb_language() and mb_substitute_character() =96 ini_set() and ini_get() are your friends, I guess=85 mb_regex_encoding() =96 It is really confusing that the current mbstring allows two different encoding defaults for regex functions and the rest. Those settings are unified in the alternative version and so this is no longer necessary. mb_send_mail() =96 The behavior of this function relies on the pseudo-locale setting called =93mbstring.language=94 that supports just a limited set of possible locales. As not everyone can benefit from the function and most significant applications implement their own mail functions, I suppose this is no longer wanted. mb_strrchr() =96 Use mb_strrpos(). mb_strrichr() =96 Use mb_strripos()." None is not the same as a huge number of function changes. cheers Dan Ack On Sun, Jan 26, 2014 at 10:23 PM, Dan Ackroyd wrot= e: >> Compile mbstringp-ng as default compiled module, when mbstring-ng is rea= dy. > > How can people know what they're voting on when the module is > apparently not ready for use? > > The referenced RFC (https://wiki.php.net/rfc/altmbstring) is at least > slightly ambigous, and which parts of it are going to be included in > the 'Multibyte Char Handling' vote ? > > cheers > Dan > > On Sun, Jan 26, 2014 at 10:10 PM, Yasuo Ohgaki wrote= : >> Hi Dan, >> >> On Mon, Jan 27, 2014 at 6:59 AM, Dan Ackroyd wr= ote: >>> >>> This vote is not listed as 'In voting phase' on the RFC home page - >>> https://wiki.php.net/rfc >> >> >> Thank you. Updated >> >>> Also, as Nikic mentioned, this RFC has changed from the original >>> request to merging a different library into PHP, 3 days ago. Voting on >>> such a change in such a short time period seems wrong. >> >> >> I forgot a line for mbstring-ng implementation. >> I've fixed voting date and extended 4 days. >> >> Thank you. >> >> -- >> Yasuo Ohgaki >> yohgaki@ohgaki.net