That is much more elegant...
Record could take an additional argument, milliseconds, which is how far back in time to "rewind" the buffer. (Or a new record command with this behaviour.) "-1" or something could mean back to the max size of the buffer, which could be from the beginning if memory is large enough as Spike mentioned.