14.1 Killing from the Stack

Kill commands are Emacs commands that insert text into the “kill ring,” from which it can later be “yanked” by a C-y command. Three common kill commands in normal Emacs are C-k, which kills one line, C-w, which kills the region between mark and point, and M-w, which puts the region into the kill ring without actually deleting it. All of these commands work in the Calculator, too, although in the Calculator they operate on whole stack entries, so they “round up” the specified region to encompass full lines. (To copy only parts of lines, the M-C-w command in the Calculator will copy the region to the kill ring without any “rounding up”, just like the M-w command in normal Emacs.) Also, M-k has been provided to complete the set; it puts the current line into the kill ring without deleting anything.

The kill commands are unusual in that they pay attention to the location of the cursor in the Calculator buffer. If the cursor is on or below the bottom line, the kill commands operate on the top of the stack. Otherwise, they operate on whatever stack element the cursor is on. The text is copied into the kill ring exactly as it appears on the screen, including line numbers if they are enabled.

A numeric prefix argument to C-k or M-k affects the number of lines killed. A positive argument kills the current line and ‘n-1’ lines below it. A negative argument kills the ‘-n’ lines above the current line. Again this mirrors the behavior of the standard Emacs C-k command. Although a whole line is always deleted, C-k with no argument copies only the number itself into the kill ring, whereas C-k with a prefix argument of 1 copies the number with its trailing newline.

You can customize calc-kill-line-numbering to nil to exclude line numbering from kills and copies made by calc-kill and calc-copy-as-kill. This option does not affect calc kill and copy commands which operate on the region, as that would not make sense.