comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » TeXtoIDL fix for IDL 5.3
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Switch to threaded view of this topic Create a new topic Submit Reply
TeXtoIDL fix for IDL 5.3 [message #18935] Thu, 17 February 2000 00:00 Go to next message
Randall Smith is currently offline  Randall Smith
Messages: 4
Registered: November 1998
Junior Member
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
Re: TeXtoIDL fix for IDL 5.3 [message #19025 is a reply to message #18935] Fri, 18 February 2000 00:00 Go to previous message
marc schellens[1] is currently offline  marc schellens[1]
Messages: 183
Registered: January 2000
Senior Member
William Thompson wrote:
>
> "Mark Hadfield" <m.hadfield@niwa.cri.nz> writes:
>
>> Randall Smith <rsmith@kracko.harvard.edu> wrote in message
>> news:owemabj2db.fsf@kracko.harvard.edu...
>>>
>>>
>>>
>>> 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).
>
>> It's even more irritatingly trivial than that. They added strtok, then
>> decided to call it strsplit, but instead of renaming it they wrote strsplit
>> as a wrapper. Strsplit's code, in its entirety, is:
>
>> function strsplit, string, pattern, _ref_extra=extra
>
>> if (n_params() eq 1) then return, strtok(string, _extra=extra) $
>> else return, strtok(string, pattern, _extra=extra)
>
>> end
>
> That's because people complained that there was already a long-standing routine
> in the IDL Astronomy Library called strsplit, so RSI renamed it strtok.
> However, because they had already advertised that they were adding strsplit,
> they provided this wrapper. Now people are complaining about strtok. I guess
> you just can't win. ;^)
>
> William Thompson

I think the problem here is, that they didn't document it.
Greetings,
:-) marc
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic: Re: high resolution coastlines
Next Topic: using IDLgrMpeg ?

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Wed Oct 08 13:42:50 PDT 2025

Total time taken to generate the page: 0.00658 seconds