|
Post by Robert on Aug 16, 2023 14:20:38 GMT -5
Hi George,
In the process of researching this issue with LOCATE, I ran into a limitation on Help that I am sure you know about, since it's been here since the day you revamped the Help stuff.
If I say HELP LOC it doesn't work, but HELP LOCATE does.
It appears that (probably) none of the abbreviations and alias names of primary commands were included in the Help index.
And YES, adding them all in would be a pain in the neck.
So, tell me. Assuming that this pain in the neck is actually doable, what would it take? Is there something I could do to help?
Suppose I read through the entire Help file and gave you a list of every abbreviation of every primary command as some kind of text file. Would that do it?
R
===> Here's a thought that might avoid some neck pain ...
Suppose I wrote a HELP.MACRO
Then, this macro could scan every macro argument looking for abbreviations of any type. Then, when found, the 'expansion' of the command would have both the short and long versions of each keyword, when more than one form existed.
Finally, an updated command would be issued with
SPF_CMD ("HELP " + updated_operand_list)
That way, it's just a macro, and doesn't require you to do anything. Main question is if a long-enough command line could be created. Is there an arbitrary limit on how many arguments you can create in a macro, OR how many can be specified on a HELP command?
|
|
|
Post by George on Aug 16, 2023 15:01:55 GMT -5
Robert: I checked out LOCATE in particular. The HnD file did not have the Aliases specified in the Topic Properties value as we defined it for the most recent HELP enhancements.
e.g LOCATE was set to P_LOCATE it should have been P_LOCATE_LOC_L
There are probably others, it you want I can send you the latest HnD file, you can browse/update the topic-IDs and correct them where appropriate.
George
|
|
|
Post by Robert on Aug 16, 2023 15:15:02 GMT -5
You must have some PB code that defines tables where the REAL abbreviations are held. To fix this the right way would require that source code as well as the HND and the topic ID's agree, so that everyone agrees with everyone else.
Then, I would need a quick write-up from you on how your HELP indexing works. I was involved somewhat when you first did it, but my memory doesn't go back that far. And, I would need to install the latest HnD shareware, so we were in sync with the same version.
So, not only would I have to update the topic ID's but I would need to edit *some* Help text to make sure the real, internal abbreviations and the topic ID's match the English documentation for each command.
It's a worthwhile pursuit, and as a "word guy" it's probably something I'm actually good at.
R
|
|
|
Post by George on Aug 16, 2023 15:28:42 GMT -5
One of the problems is that the HnD TopicID is a limited size, I think in the 25-30 char range.
And some of our alias lists are quite long, like EXCLUDE,EXCLUDED,EXC,EX,X
The table is in OBJPCmdT.INC, you'd have to sort on the PCmd# column to bring the aliases together.
The Topic-ID is simply P_name1_name2_name3
If you're ok, I'll pack something up for you.
George
|
|
|
Post by Robert on Aug 16, 2023 15:47:52 GMT -5
I believe the way to do it might be for the "topic ID" to *really* be a topic ID, and NOT an encoding of all the keywords. To do that, there would simply be a unique identifier of some kind, which in turn would be used to look up a topic-specific keyword list.
Example: For Exclude, the topic ID could be P_EXCLUDE or just EXCLUDE. Then, "EXCLUDE" would be used to look up in a keyword table for all the abbreviations. I need to figure out how the linkage is made. Is this something you do at HnD build time? I think this can be done but it needs to be finessed a bit.
R
|
|
|
Post by George on Aug 17, 2023 8:44:43 GMT -5
Robert: Go read the "$Install Guide.Doc" file, first section "Prepare the Documentation". It describes the current process. It uses a HnD tool to extract the topic-ids, a 3rd party program to extract the full raw text of the CHM file, a custom PB data manipulation program to massage the HnD extract along with the full text file, and finally custom code within the SPFLite HELP command to handle the final index file.
I'm not too inclined to tackle revising that to get a few more alias names into the Help, when we have what's needed to do that already.
George
|
|
|
Post by Robert on Aug 17, 2023 8:47:59 GMT -5
Can you tell me (or email me?) the PB code that defines all the aliases of all the commands? I am going to attempt a macro solution. I think it could work.
R
|
|
|
Post by George on Aug 17, 2023 11:44:51 GMT -5
Robert: There is no 'alias' table. The alias names are simply another entry in the command table that happen to contain the same data (i.e. routine name, operand names, Y/N values for characteristics etc.) Why maintain some secondary alias-table and the code to cross reference to the main command table? An extra primary entry handles it well and it's trivial to create the extra entries.
I'm not clear what functionality you're trying to add. Yes, we have some missing entries; what's wrong with just correcting that by editing the topic-IDs?
George
|
|
|
Post by Robert on Aug 17, 2023 12:45:01 GMT -5
I thought you said there was limited room in the topic ID's, like 30 characters.
If there IS enough room then no, there's nothing wrong with correcting them. But, I still believe it's worthwhile to do an exhaustive check of every command and every Help entry to make sure nothing is missed.
If I say HELP LOC and it fails but HELP LOCATE succeeds, then supporting HELP LOC is the functionality I am trying to add. This is not rocket science.
As far as the command table, maybe I can extract the command-name string and command-hander function and do a SORT on them and get the info I need. That is what I meant by an "alias" table. Just the underlying data that defines an alias. In this case, having two command table entries that point to the same handler IS the definition of an alias. That's all I need.
R
|
|
|
Post by George on Aug 17, 2023 13:07:35 GMT -5
Robert: I've reviewed and corrected the HnD command name entries, there were quite a few alias entries missing. I think that's all that's needed right now.
George
|
|
|
Post by Robert on Aug 17, 2023 14:45:50 GMT -5
I thought it was going to take more work than that. Thanks for looking into this. I will test this out as soon as you drop a new beta.
Also, I wanted to apologize for the tone of my last post. Looking back, I think it sounds a little snippy, which was not my intent.
R
|
|
|
Post by George on Aug 17, 2023 14:53:50 GMT -5
Robert: Next beta won't have it, it takes the full-blown release procedure to make it all come together.
George
|
|