current-kill function looks complex, but as usual, it can
be understood by taking it apart piece by piece. First look at it in
(defun current-kill (n &optional do-not-move) "Rotate the yanking point by N places, and then return that kill." (let varlist body...)
This function takes two arguments, one of which is optional. It has a documentation string. It is not interactive.