[Tickets #6625] imp/lib/SpellChecker/aspell.php test for ecode broken
bugs at horde.org
bugs at horde.org
Fri Apr 18 21:11:59 UTC 2008
DO NOT REPLY TO THIS MESSAGE. THIS EMAIL ADDRESS IS NOT MONITORED.
Ticket URL: http://bugs.horde.org/ticket/6625
-----------------------------------------------------------------------
Ticket | 6625
Created By | liamr at umich.edu
Summary | imp/lib/SpellChecker/aspell.php test for ecode broken
Queue | IMP
Version | FRAMEWORK_3
Type | Bug
State | Unconfirmed
Priority | 1. Low
Milestone |
Patch |
Owners |
+New Attachment | aspell.log
-----------------------------------------------------------------------
liamr at umich.edu (2008-04-18 17:11) wrote:
per http://marc.info/?l=imp&m=120853832309748&w=2
I think I've tracked the issue down. IMP is looking for aspell to exit
with a code of "0" to decide whether the spellcheck works.
imp/lib/SpellChecker/aspell.php ~ ln 67:
if (($ecode = proc_close($process)) != 0) {
require_once 'PEAR.php';
if ($this->_encoding) {
$err = String::convertCharset($err, $this->_encoding,
$charset);
}
return PEAR::raiseError('spellcheck failed: ' . $err,
$ecode);
}
proc_close() doesn't return results you think it's returning. See...
http://us2.php.net/manual/en/function.proc-close.php
http://bugs.php.net/bug.php?id=17538
Apparently, it's especially faulty if you compiled php with
--enable-sigchild, which you're told to do if you're trying to use oracle
on linux.
The debugging stubs I placed in aspell.php clearly show that aspell is
being invoked, and is returning the expected output. If I change..
proc_close($process)) != 0
to look for -1, spellchecking works just dandy.
More information about the bugs
mailing list