I want to bind this function to
M-w, so that it copies the region if one is selected, otherwise it copies the whole line silently, without having any other side-effects like moving the cursor to some other places.
I saw some examples, but they all do some additional stuff that I don't like, like moving the cursor to the next line.
I'm not an expert in Elisp, but some functions I saw might be buggy, because their bodies contain
"\n", to refer to "newline", which is obviously wrong, because not all systems use this convention.