[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

TeXtoIDL fix for IDL 5.3




We just upgraded to IDL 5.3 here, which broke that most useful of all
IDL user-written routines: TeXtoIDL.
(ftp://coma.berkeley.edu/pub/mcraig/idl/TeXtoIDL/)
I believe when it was first announced, one grateful user offered the
author (Matt Craig) his first-born.

Anyway, it turns out that RSI, in a fit of what can only be described
as morally degenerate programming, added a new function (strtok) to
the language, although they _didn't_ see fit to document this (it's
apparently part of the new string routines stregex, strjoin, strmatch,
and strsplit that are in IDL 5.3).  Of course, the TeXtoIDL routine
has its OWN strtok, which is then not called because of this name
clash.  The error, of course, doesn't show up anywhere near the strtok
call, but rather as a type conflict since the two versions of strtok
return immiscible results.  (Note to RSI: Would it REALLY be that
difficult to make all non-documented routines start with, say, "RSI_",
so that we poor users could easily avoid them?  And, while we're at
it, all	internal common blocks as well?)

In any event, the fix is to change all references (including the
declaration) of "strtok" in the TeXtoIDL package to a unique name,
such as t2i_strtok.  After this, all is well with the world.

Randall Smith
Smithsonian Astrophysical Observatory