When "smart indenting" is turned off, it creates a potential problem for the plain text source file when it is used by a different program such as another editor or a web browser. Consider a source file which looks like this in a fancy editor:
Code:
if (search && source) {
while (*search && *source) {
if (*search == '\\') { /**match escaped star**/
++search;
match = *search == '*' && *search == *source;
In a simple, plain text editor, if the same code looks like this:
Code:
if (search && source) {
while (*search && *source) {
if (*search == '\\') { /**match escaped star**/
++search;
match = *search == '*' && *search == *source;
it is clear that the programmer failed to rely on editor features but continued to indent as if they were there. A bad thing, since the result is no consistency, and in effect, no indentation. This is an important reality for thread posters on cboard to face, because they will be frequently pasting their code around outside of their friendly editor.
On a few remaining editors the tab key cannot create space-character indentation. On these editors, it is a good suggestion to avoid indentation based on space characters. On any other editors where the user has an option to choose whether the tab key creates space characters or tab characters, one should use what they feel most comfortable with. It will at least provide consistent plain text.