gdl icon indicating copy to clipboard operation
gdl copied to clipboard

clarifying details in HELP, /INFO

Open alaingdl opened this issue 3 years ago • 3 comments

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*'

alaingdl avatar Aug 30 '21 11:08 alaingdl

@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>" 

alaingdl avatar Sep 11 '21 10:09 alaingdl

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.

GillesDuvert avatar Sep 11 '21 14:09 GillesDuvert

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 ...

alaingdl avatar Sep 15 '21 15:09 alaingdl