[PD] Spell checking / existence of a word

Nicolas Montgermont nicolas_montgermont at yahoo.fr
Tue Aug 5 19:43:34 CEST 2008


Hi Claude adn list,

Back again with my spelling function written in lua. I've got a problem 
in the terminal sometimes (pretty often in fact) :

error: lua: error in dispatcher:
[string "lspell"]:13: echo fhdkq | /sw/bin/ispell -a | grep \\*: Too 
many open files

when using my object "lspell.pd_lua", feeding the inlet with [symbol 
fhdkq( for example.
When this error appears the object is not working. This error occurs in 
groups : appearing for 5-20 seconds and disappearing for 10 - 60 seconds.
What exactly is this error?
I guess this is a kind of overflow of the usage lua can make of the 
terminal, but I was wandering if there is some workaround technique to 
avoid this?
Has someone an idea of the time one must wait between two usage of the 
same object?
My current code is:


local LSpell = pd.Class:new():register("lspell")

function LSpell:initialize(name, atoms)
    self.outlets = 1
    self.inlets = 1
    return true
end

function LSpell:in_1_symbol(s)
    local word = s

    local cmd = "echo " .. word .. " | /sw/bin/ispell -a | grep \\*"

    local p = assert(io.popen(cmd))

    local result = p:read("*all")
    if(string.len(result) ~= 0) then
      self:outlet(1, "symbol", {word})
      end

end

Thanks in advance,

Nicolas

-- 
http://nim.on.free.fr




More information about the Pd-list mailing list