Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:100882 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 95604 invoked from network); 12 Oct 2017 17:18:47 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 12 Oct 2017 17:18:47 -0000 Authentication-Results: pb1.pair.com header.from=cmbecker69@gmx.de; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=cmbecker69@gmx.de; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmx.de designates 212.227.17.22 as permitted sender) X-PHP-List-Original-Sender: cmbecker69@gmx.de X-Host-Fingerprint: 212.227.17.22 mout.gmx.net Received: from [212.227.17.22] ([212.227.17.22:50778] helo=mout.gmx.net) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id B8/F9-49033-3F3AFD95 for ; Thu, 12 Oct 2017 13:18:45 -0400 Received: from [192.168.2.106] ([79.243.124.218]) by mail.gmx.com (mrgmx101 [212.227.17.168]) with ESMTPSA (Nemesis) id 0MV1wf-1dlz371kmj-00YPJt for ; Thu, 12 Oct 2017 19:18:40 +0200 To: PHP Internals Message-ID: Date: Thu, 12 Oct 2017 19:18:41 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: de-DE Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:IXdeaaUpfffCz1eErRmXog/eivnMDVR0y/nDy8mRTcg0K6jBR2r ApcrAFrwWFJ/j5bjKW3PtXN0ID7kvtrBtTF7Rhy0M9v18XW1vwlWMmJKsst9zf4XWO9VQDJ Sz6p1SNuoPPJWabMFGD4ZMnYMF8KeChEWsXhHDwM8IzAjOObY0FTjfNOr20iC4JzWTMfZXC tX9onhJ7/hA+dwJhugxrg== X-UI-Out-Filterresults: notjunk:1;V01:K0:cSTSIf1DsNE=:YS/0MHc8aGIZUHoktlSYzw sv2GZwF+23yaICHaVsNEAgTso5pCReGMVtyG+ZYp7cK+m27X/S91rZqBLivEEAn157L9K1Wkl FrHIlYkfRi/jZ1TBwDAbJKFz+IciiKSUvVnMaR80uMeoZ0zcCRWuZjdRgpwZHkBP7eEckvfzF ls0LTMQEh7xyjc9dksQLUX+KolSs8QfXujtQHdcrAlTPzX4uXY5DOQ+NnckiOuntdSHqNZ2uY g5+JPvpz52HScbEFOb1bJQoMlYr/7NDqGO7FQaIefQgs/oVikFB9sc279moPOCB/3eI4a7Tq7 ClRLTFGwDbHD3PXcoGL1DIA3forEAtRG3ciCSnAIoqbF0jK5TcszM6T8ZFXtro4j5DqOMPmIo 6o7V8LaB/YZDBh+A6PhU1EqsiHlzorxhAP9Isy3Rv7Sw3p8YP6Kxxq/j4ZgDO+fb3NxsF9CI/ jQSAYV5UlohM5JNIrTiQKMHfUVjOerHKdyIf4wRVxeJNMoiDYb9f/viGHxY5rhpIAeCMkzCK/ xejk4qya2kiRzMUL367A7I+frJT7B1P9Ms/FcyUNm9QCv1UMPlBlY6qF3BZECzTSTcfG9ZQPK yJ0rx0PsS1c4Fcj/aZDdTcAUXPlfXq2ALQ05HyeFTmLMcNgmBjG88cVolHfBpv1P24Zw7GS63 pIC8E/GVNblWLYmCM/zRn3XRuSZb2SmLDLO02UelN8t67QGAFg58keQ2IDeA92UKsDIGF9tLD mJRrecuglVfOuvP7Y+xdb6IxwwUxxwZ22kNiNXSicqfu744NMaQHGsCWoB/yMVg08vROQyJ2L aMKFfrh/QutwFnQyEMSpdyCHfGsOofIJwkY5wUZgu8vm0M+5PY= Subject: Enchant 2 From: cmbecker69@gmx.de ("Christoph M. Becker") Hi! I've noticed the other day that Enchant 2.0.0 has been released in August[1]. ext/enchant does not support Enchant 2 yet, however. Only a few fixes are necessary to make it compile[2], but there is an issue regarding the PHP functions enchant_broker_set_dict_path() and enchant_broker_get_dict_path(), which rely on enchant_broker_get_param() which has been completely removed. Instead there is now a single function to specify the path where to look for the dictionary files: enchant_set_prefix_dir()[3]. Apparently, it would be possible to store the individual paths internally, and to call enchant_set_prefix_dir() whenever a dictionary is requested or checked for existence, thus retaining the old functionality. I have some doubts if this would be sensible, though, because enchant_broker_(s|g)et_dict_path() only supported the Ispell and Myspell/Hunspell back-ends anyway. Instead it may be more reasonable to introduce a new PHP function enchant_set_prefix_dir() which would directly map to the C function with the same name. Depending on whether ext/enchant had been compiled with Enchant 1 and 2, respectively, the other function(s) would not be available. If done this way, the constants PHP_ENCHANT_MYSPELL and PHP_ENCHANT_ISPELL should neither be available, if compiled with Enchant 2, because they are only useful for enchant_broker_(s|g)et_dict_path(). Somewhat related to supporting Enchant 2 would be the question if we can lift the requirements to Enchant 1.6.0 (released 2010-04-01). This version introduced enchant_get_version() (which is still there in Enchant 2), and would allow us to simplify and clean the libenchant version info in PHP info[4]. Thoughts? Would that require an RFC? [1] [2] [3] [4] -- Christoph M. Becker