every command string is a little piece of code itself. You can call as many procs and commands in it as you wish.:
CODE
window;
columnLayout;
button -command "printBla; repeatLast -ac printBla";
showWindow;
proc printBla()
{
print "bla!\n";
}
Of course If you want a pretty text to appear in the Recent-command-list you have to use the -addCommandLabel flag as well! But you could put that on the annotation of the button as well. Then you could apply your annotation variable to the button and to the addCommandLabel...