When a buffer is special it means that it is controlled by a Lisp program, not by the user typing into it (although this can happen as well).
Special buffers are used for things like the `*jade*' or `*Info*' buffers (in fact most of the buffers whose names are surrounded by asterisks are special).
What the special attribute actually does is make sure that the buffer is
never truly killed (kill-buffer removes it from each window's
buffer-list but doesn't call destroy-buffer on it) and
modifications don't cause the `+' flag to appear in the status line.
t if the buffer is marked as being special.
nil means non-special, anything else
means special).
Another type of special buffer exists; the mildly-special buffer.
t (it is nil
by default) and the buffer is marked as being special, the
kill-buffer function is allowed to totally destroy the buffer.
Go to the first, previous, next, last section, table of contents.