[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

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})


Thanks in advance,



More information about the Pd-list mailing list