I like to set save-interprogram-paste-before-kill to t, so emacs does not clobber clipboard data without saving it. However, sometimes I have large data on the clipboard which I don't want to end up in emacs as the manual also warns: Optionally, you can change ‘save-interprogram-paste-before-kill’ to ‘t’. Then Emacs will first save the clipboard to its kill ring, preventing you from losing the old clipboard data—at the risk of high memory consumption if that data turns out to be large. How about a variable which allows the user to limit the size of data saved on the kill ring? Data larger than the limit is not copied. save-interprogram-paste-before-kill itself could specify this limit. If it's not t but a number then it's the limit as number of bytes or maybe kilobytes, because I imagine the user sets such a limit to at least a few hundred kilobytes or higher.