b’ in an Interactive Expression

The next argument in the interactive expression starts with a lower case ‘b’. (This is different from the code for append-to-buffer, which uses an upper-case ‘B’. See The Definition of append-to-buffer.) The lower-case ‘b’ tells the Lisp interpreter that the argument for insert-buffer should be an existing buffer or else its name. (The upper-case ‘B’ option provides for the possibility that the buffer does not exist.) Emacs will prompt you for the name of the buffer, offering you a default buffer, with name completion enabled. If the buffer does not exist, you receive a message that says “No match”; your terminal may beep at you as well.

The new and simplified code generates a list for interactive. It uses the barf-if-buffer-read-only and read-buffer functions with which we are already familiar and the progn special form with which we are not. (It will be described later.)