-0), moving the other values down through the series of cut buffers,
-kill-ring-style. (This function is called @code{x-set-cut-buffer} in FSF
-Emacs.)
+0).
+
+Normally, the contents of the first cut buffer are simply replaced by
+@var{string}. However, if optional argument @var{push} is
+non-@code{nil}, the cut buffers are rotated. This means that the
+previous value of the first cut buffer moves to the second cut buffer,
+and the second to the third, and so on, moving the other values down
+through the series of cut buffers, kill-ring-style. There are 8 cut
+buffers altogether.
+
+Cut buffers are considered obsolete; you should use selections instead.
+
+This function has no effect if support for cut buffers was not compiled in.
+
+This function is called @code{x-set-cut-buffer} in FSF Emacs.