[Tex/LaTex] LuaTeX nil value errors

errorsluatex

I tried to lualatex a document and got the following error:

! LuaTeX error ./luasseq.lua:377: attempt to index field 'wd' (a nil value)
stack traceback:
    ./luasseq.lua:377: in function 'sseq_register_size'
    <\directlua >:1: in main chunk.
l.2 \directlua0{sseq_register_size()}

l.373 \end{sseq}}
                 \end{center}

When I compiled the document at the beginning of May, this error didn't appear, and I haven't edited it since then (though I did upgrade from Ubuntu 10.10 to 11.04 in the meantime).

  1. Does anyone know what this error means?

  2. Any ideas how this error exists now when it didn't before? Has anyone else had problems with LuaTeX since updating Ubuntu? (I am certain the error was not there before because the document is an essay which I debugged and handed in before upgrading and haven't looked at since.)

Edit:

MWE:

\documentclass{article}
\usepackage{amsmath} 
\usepackage{luasseq}
\begin{document}
\mbox{
\begin{sseq}{0...3}{0...2}
\ssdrop{Z}
\end{sseq}}
\end{document}

The error message (quoted above) refers to line 377 of luasseq.lua, which reads

currobj.wd = tex.wd[sseqboxno]

So if tex.wd doesn't exist anymore, does that mean I need an updated version of luasseq.lua? I haven't found one — does anyone know if it exists?

Oh, and luatex --version gives me

a@dell:~$ luatex --version
This is LuaTeX, Version beta-0.65.0-2011041019 (rev 4033)
Copyright 2010 Taco Hoekwater, the LuaTeX Team.

Best Answer

The wd hints at the use of tex.wd, a field that does not exist any more in current versions of luatex. So, it looks like you now have a new luatex, but are running macros for a previous version. These should be updated as well.

I do not know of a new version of luasseq.lua, but replacing the problematic line and the two following ones with

currobj.wd = tex.box[sseqboxno].width
currobj.ht = (tex.box[sseqboxno].height+tex.box[sseqboxno].depth)
currobj.dp = tex.box[sseqboxno].depth

apparently fixes the problem.

Related Question