“! Bad character code (258).” error in package program.sty

I just added \usepackage{tikz}, and I got the "No room for new \dimen" error, which I was able to fix (I think) by just including the etex package as suggested at the link.

However, a different part of document is now giving errors. My document uses the program library, and I get this bad character error code in a style file that belongs to it. If I get rid of the tikz and etex libraries (and comment out my tikz figure code), the document compiles fine.

-

program uses \chardef to store the current "allocationnumber". This is not compatible with etex. It breaks as soon as more than 256 dimen are allocated:

\documentclass[]{article}

\usepackage{etex,ifthen}
\makeatletter
\@tempcnta=0
\whiledo{\@tempcnta<300}{%
\newdimen\mydimen

\usepackage{program}
\begin{document}
abc
\end{document}


That's a bug, so make a bug report.

-
I suspected as much. Can you point me to where bug reports for this sort of thing should be reported? I looked at ctan.org/tex-archive/macros/latex/contrib/program but there's no bug tracker there. Should I just email the author of the package? –  donatello Dec 8 '10 at 10:37
Yes sent an email. –  Ulrike Fischer Dec 8 '10 at 11:00

Since this is a bug (as Ulrike Fischer's answer says), there may be no way to fix this at the moment.

I managed to work around it by using the algorithmic package instead of the program package. This may be far from ideal if you prefer program's style though, but its good enough for me.

-
perhaps try to load program earlier: if it is loaded early enough the allocation number will still be small enough to fit in a \char. [For some reason I can't get \usepackage{program}\usepackage{tikz} to work in that order, but loading etex,tikz,program in that order seems to work. –  Bruno Le Floch Jun 25 '11 at 11:08