Not sure what you are asking. Non-nil
indent-tabs-mode
means that Emacs can use TAB
chars instead of a number of consecutive SPC
chars. If the value is nil
in a given buffer then indentation by Emacs (e.g. automatic indentation) uses only SPC
chars. But even in that case there is nothing preventing you from inserting a TAB
char (e.g., using C-q TAB
).
What setq-default
does determines only the default behavior. In any given buffer (e.g., in any given mode), the value can be different from the default (aka global) value. It is the buffer-local value that determines the behavior (as described in the previous paragraph).
"Conversion" of TAB
chars to one or more consecutive SPC
chars happens if indent-tabs-mode
is nil
and you hit DEL
(the Backspace key) or you change the code in such a way that the appropriate indentation column changes. All that happens is that if a TAB
char needs to be removed to meet the new indentation level then SPC
chars replace it as needed. Existing TAB
chars that do not need to be removed to get proper indentation are not removed.
(On a different but related subject, be aware that you can replace all existing TAB
chars in a buffer by doing C-x h M-x untabify
.)