The macro facility is useful, but how about providing a scripting feature too?
It would be great to be able to write and edit TextPad scripts - my vote would be to follow the simple but effective model used by the old DOS version of Lotus-123 .. remember it?
The idea was that you could access the application menu with the "\" key, and select items with each item's escape character; and keybord control was described in curly brackets .. {UP}, {DN}, {CTRL-V}
EXAMPLE-1: To copy selected text, and paste it into the File-Open dialog, and then press ENTER (the ~ character) ..
{CTRL-C}{\fo}{CTRL-V}~
These scripts can also be recursive if they can be made to call themselves and observe elementary if-then-else logic.
EXAMPLE-2: portion of standard formatting of SQL statement, assuming comments delimited with // ..
{\sr} //open replace-all dialog, to use RegExp
(\<select\>){TAB}\n\U\1\n{ALT-A} //each SELECT in upper case on its own line
(\<from\>){TAB}\n\U\1\n{ALT-A} //each FROM in upper case on its own line
^[ \t]+{TAB}\t\t //replace leading spaces and tabs with 2-tab indent
Just an idea - hope this helps