gdl
gdl copied to clipboard
clarifying details in HELP, /INFO
It is great the message when starting GDL was upgraded ! thanks.
But we mention in it to do : HELP, /INFO
and we do have to clarify/correct it !
* HELP, /INTERNAL_LIB_GDL for a list of all internal library functions/procedures.
* HELP, /LIB Additional subroutines are written in GDL language, look for *.pro files (e.g. in CVS in src/pro/).
(first line gives nothing; second line gives pro/func written in C++ !)
And we can maybe mention it can be filterer out, e.g. : GDL> help, /lib, name='*hdf*'
@GillesDuvert Thanks ! I am slow and quite busy but I made progress in #1102 :) and the situation is now quite clear for me.
In envt.cpp
I need to re-write a new GetString() to have a result without the "<Expression>" or to change something into AssureGlobalKW() (if using that, the message is of poor quality)
The change will affect few others places around
Around line 800 in gdlhelp.cpp :
- solution 1 :
AssureGlobalKW(outputIx);
but the output is not smart - solution 2
if (!e->GlobalKW(outputIx))
e->Throw("Expression must be named variable in this context: " + e->GetString(outputIx)+".");
but today the Throw() will come with a prefixed extra "<Expression>"
OK, I would say HELP/INFO is not so important, #1102 is a middle-time problem but no showstopper, #1089 is really a problem but HISTOGRAM needs to be rewritten as it is 20 times slower than IDL (let's say I do it...). We should reconsider #1102 afterwards, because it is strange that this kind of error happens now and not since a few years.
Does someone remember why we still have a HELP, /INTERNAL_LIB_GDL
?
The HELP, /LIB
is doing the same.
I am ready to remove it ...
What is important for me is to be able to do :
HELP, /LIB, output=list (OK)
HELP, /LIB, name='*hdf*' (OK)
HELP, /LIB, name='*hdf*', out=list_hdf (KO now)
And a comment on the comment by @GillesDuvert : crashing on HELP, output='bad'
because nobody tries that and I have the bad mind to think on such potential issue ... going to a obscur throw in Envt.cpp ...