copy-region-as-kill function works in much the same way as
kill-region function. Both are written so that two or more
kills in a row combine their text into a single entry. If you yank
back the text from the kill ring, you get it all in one piece.
Moreover, kills that kill forward from the current position of the
cursor are added to the end of the previously copied text and commands
that copy text backwards add it to the beginning of the previously
copied text. This way, the words in the text stay in the proper
copy-region-as-kill function makes
use of the
last-command variable that keeps track of the
previous Emacs command.