eintr: zap-to-char interactive

 
 8.1.1 The ‘interactive’ Expression
 ----------------------------------
 
 The interactive expression in the ‘zap-to-char’ command looks like this:
 
      (interactive "p\ncZap to char: ")
 
    The part within quotation marks, ‘"p\ncZap to char: "’, specifies two
 different things.  First, and most simply, is the ‘p’.  This part is
 separated from the next part by a newline, ‘\n’.  The ‘p’ means that the
 first argument to the function will be passed the value of a “processed
 prefix”.  The prefix argument is passed by typing ‘C-u’ and a number, or
 ‘M-’ and a number.  If the function is called interactively without a
 prefix, 1 is passed to this argument.
 
    The second part of ‘"p\ncZap to char: "’ is ‘cZap to char: ’.  In
 this part, the lower case ‘c’ indicates that ‘interactive’ expects a
 prompt and that the argument will be a character.  The prompt follows
 the ‘c’ and is the string ‘Zap to char: ’ (with a space after the colon
 to make it look good).
 
    What all this does is prepare the arguments to ‘zap-to-char’ so they
 are of the right type, and give the user a prompt.
 
    In a read-only buffer, the ‘zap-to-char’ function copies the text to
 the kill ring, but does not remove it.  The echo area displays a message
 saying that the buffer is read-only.  Also, the terminal may beep or
 blink at you.