Most likely I pressed Edit instead of the "reply with quoted text".

If you don't have the original text of your post, I fear it is lost. Sorry about that.
I've edited the post above to reflect that something is missing, and below is my reply to avoid confusion about who wrote it.
Quote:
Code:
If :SomeFunction(%x%,%y%) = something
{ ...
This would give the ability to do 'OR' or 'AND' s as they could be programmed into the Function.
That's a good alternative. Right now, I'm leaning toward something like the following because of its simplicity and the fact that it makes scripts more readable and maintainable:
Code:
Gosub, FindColor, X, Y, Blue
...
FindColor, OutputX ByRef, OutputY ByRef, ColorToSearchFor
...
In the above, X and Y would be automatically treated as variable names rather than literal strings because the FindColor subroutine declares them as ByRef. By contrast, the word "Blue" is treated as a literal string because ColorToSearchFor is not declared as ByRef.
By the way, I don't know if ByRef is the best keyword to use. I thought maybe "output" or "ref" or something else might be better. Another way is to have any parameter whose name starts with Output to be treated this way. However, there are reasons other than passing back info to the caller that one would want to pass variables by reference, so the word output is probably not very good in that respect.
Quote:
If the function is not found (#include/typed in) in the script, Autohokey should try to find the function in an external library. I wouldn't expect GoSub to perform this activity.
That's more ambitious than what I had in mind, but it's something to think about for the future.
Quote:
If the person puts hotstring and or hotkeys in the function then Autohotkey should perform some kind of 'overloading' of the hotkeys. Again GoSub should not be expected to handle this idea.
For now, hotstrings and hotkeys will stay global because the complexity of having them be local doesn't seem to justify the limited uses of such a feature.
Quote:
If a GUI screen is placed in the function (I'm not sure of this) but would not it's controls or routines (eg. GuiClose:) have to be kept separate from the main script's GUI.
These are all good ideas, but their complexity (for now) is outside the scope of the project. This is partially based the goal of keeping AutoHotkey small in size.
Thanks for taking the time to comment.