|
PRAGMA PROGRAM REFERENCE MANUAL
|
Index
|
All Operation
|
|
Expand All ADDENDUM
|
REMOVE NAMES
|
RMN
|
Standard Interactive-only Verb
|
General Vocabulary Operation
|
Target =
|
Renames an application to have invisible names. The new names generated are not only invisible, they are untypable and totally invalid in all places where an item name is requested. WARNING! Before using this utility MAKE A BACKUP of your vocab. There is NO WAY that invisible names can be made visible again. YOU HAVE BEEN WARNED!
|
REMOVE NAMES Type top name of tree to rename LV, LF, or LN to list items, or RETURN if no more -> etc.
|
SEE ALSO: / SELECTIVE SAVE
|
DISCUSSION
REMOVE NAMES renames an application to have invisible names. The new names generated are not only invisible, they are untypable, and totally invalid in all places where an item name is requested. A verb thus processed can no longer be altered. Once items have had their names removed, they no longer show up on any listing operations, nor do they show up on a RECAP ALL. They seem to have vanished, yet they are still there. Also, when an item is processed, in addition to having its name removed, all label names, comments, object names, and object prompts are removed. None of this affects the operation of the verb. And of course, ALL of this activity is completely and totally IRREVERSIBLE.
REMOVE NAMES operates by processing trees of user items, similar to the way SELECTIVE SAVE and TRANSLATE TO C work. First, you "mark" trees of items that you want to have the names removed from. Generally, these will be parts of your application that you wish to keep prying eyes out of. For instance, those parts where you have put calls to CHECK SECURITY. Also, every item used by the items typed in (in other words, the full tree), gets marked to be processed too. You may mark as many trees this way as you wish. When you are done, a lone key will send you to the next step.
You are then asked if you want to UNMARK all of the files, and the nouns of their definitions. This may be useful if you only want to protect some verbs, but still want to allow others to write new verbs that access your files. It allows you to automatically unmark all files at once, without having to type in each file name one by one.
Next, you may UNMARK some trees to PREVENT them from having their names removed. This is useful in the case of utility verbs. You may only want to protect the application verbs, and leave the utility verbs used by them visible, so that others may use them in new verbs.
After unmarking as many trees as necessary, and then pressing a lone , you arrive at the final step. You may then UNMARK as many INDIVIDUAL items as required. These items (if they are verbs) are NOT processed as a tree, but ONLY the single items specified will by unmarked. This may also be used to unmark some files individually, in case you chose NOT to unmark all files automatically as described above. Files, when unmarked via this method ARE unmarked for their full tree (the tree of a file includes the nouns of its definition); thus you do not have to also unmark all of their nouns one by one. It may also be used to unmark individual verbs without also unmarking their full tree in case this is required.
When processing an application this way, it is necessary to remember to provide a valid verb name to be typed at START to allow one to enter the application. Remember that RMN will remove all names from the complete tree as marked. If you mark EVERYTHING this way, there will be NO valid verb names left that can be typed at START. So, for each application, or for each verb that is necessary to type at START, you should first make ANOTHER verb, just above it. These new verbs will have only one line; they will only call the real startup verb of the application (the old name you used to type at START). You then RENAME the old verb (the original startup verb) to be something else, and then RENAME the new verb to be the same as what the old name used to be. The new name (that now has the original old name) should then be preserved when performing a REMOVE NAMES. You will NOT type this name in when marking trees. Instead, the original verb (that now has some new name) is used to mark trees. Using this procedure, you will provide a startup verb name, that can be typed at START, and it will contain only one line, the name of the original verb (that used to be the startup verb, but was subsequently renamed), and that verb name will be blank. Thus, this startup verb cannot be altered or modified in some way to bypass any aspect of your security.
If you should try to TRANSLATE TO C some verbs that have had their names removed, the resulting C code will not compile. Of course, you will probably not even get to this step, as verbs without names probably have calls to CHECK SECURITY, and TRANSLATE TO C will not operate in this case. But if there were no CHS calls, this is what would happen.
WARNING Once you have performed a REMOVE NAMES you cannot show whatever you removed. Do NOT use REMOVE NAMES on your master application.
YOU HAVE BEEN WARNED.
|
|
|
CustomWare® is a registered trademark of CustomWare Designs, Inc. All rights reserved.
CustomWare® is a registered servicemark of CustomWare Designs, Inc. All rights reserved.
All images and designs on this web site are copyrighted© 2021.
v
t
|
|