W h i t e, White, S p a c e, Space, WhiteSpace?It is a unix tradition to distinguish tab from space and to fail silently when one is substituted for the other. I've always considered this a rather adult attitude, much like distinguishing upper-case letters from lower. A careful reading of the TheUnixHatersHandbook has given me some reason to doubt the wisdom of both distinctions. Still, wiki's TextFormattingRules require tabs before bullets. Those with browsers that can't handle that must check ConvertSpacesToTabs. -- WardCunningham
A Unix tradition? There's only one application that makes this distinction, and that is make. For a tradition you need at least two occurrences. ;-)
You wanted two occurrences? How about the cut utility? The default field delimiter is tab. Ladies and gentlemen, we have a tradition! -- JohnPassaniti
The only place where tab vs space causes problems for me is upon pasting info into Makefiles. I am still interested in seeing TabDelimitedTables implemented within a wiki - especially TheOriginalWiki. Is there any way I can help? I propose a syntax similar to bullet lists with additional tabs. Browsers handle the wrap and justification as needed. -- ChrisGarrod (Mining the OldWiki?)
Those with browsers that can't handle that must check ConvertSpacesToTabs.
There's a pretty straightforward migration path available here. Convert tabs to 3 spaces on output (for users with all browsers). Accept either tabs or triple-spaces on input. This is how TwikiClone works, and it seems to be trouble-free in operation. -- RogerBrowne
So how do you format code examples etc that require three or more spaces of indentation at the beginning of the line? For a better suggestion, see ImprovingConvertSpacesToTabs - just define some sequence like ->| to represent a tab.
On MeatballWiki, Cliff systematically removed the tab formatting because it was impossible to type on all our systems (esp. IE5). Instead, we do things like:
* Bullet list : Block quotation (removes the SimulatingBlockQuotes? hack)etc. Go to the http://usemod.com/cgi-bin/mb.pl?TextFormattingRules to see how this works. -- SunirShah
You know, this difference between the two wikis is really starting to irk me. Using IE5 on WikiWiki is a pain. Sadly, I'll bet that's probably part of the reason I still use IE4. -- ss
18 months later... Still using IE4 because of the tabs. -- ss
You can "type" tabs in IE5, you just have to copy & paste one. It's easy to do if you're adding to a bulleted list or similar that's already in the page, but if you're starting one from scratch you can just write it out in Notepad and then copy the whole thing into the Wiki edit box when it's ready. That also has the advantage of being in the Wiki editor for as little time as possible, reducing the risk of EditCollision?s.
Ahem. Depends on how you do the offline edit. If you capture the entire page content and then do your edits with a later full page replace you could certainly avoid the "EditCollision?" message, but nonetheless clobber a meanwhile updated content. Offline edits are safer if instead you do your original composition offline and then do judicious cut-and-pastes into the full page text.
has given me some reason to doubt the wisdom
Yes, for a long time I used tab to indent code (C, C++, HTML, etc.). Then people could use the preferences of their text editor to indent their favorite amount - 2 spaces, 4 spaces, 8 spaces, "at least 2 spaces and then however many more to get to the next tab stop", ... or whatever. See DontOverrideUserPreferences.
But JamieZawinski (see TabsVersusSpaces) and other SpacePerson?s (see ConvertTabsToSpaces) have almost convinced me to never use any tab characters when I write source code files. (Tab characters in strings should always be represented as '\t', never '').
-- DavidCary
Could this be solution?
<script language="JavaScript" type="text/javascript"> function fKeyDown() { if (event.keyCode == 9) { event.returnValue = false; document.selection.createRange().text = String.fromCharCode(9); } } </script>
imho, this whole problem stems from the decoupling of the programming language and the IDE. Compare v. languages where you have an IDE that is extremely language-specific, and you don't find yourself worrying about formatting problems such as tabbing - for example, I've never worried about tabbing in VisualStudio (vb, C++ or C#), MacromediaDreamweaver, IDLE, or JDevelop. I did, however, have to keep a close eye on things when coding C on nedit (didn't want to have to slug through the docs for Vi or Emacs). Many modern languages are getting more and more closely coupled to their IDEs, and imho this is the future - expressing complex concepts requires more than just spitting text into a file and hoping the compiler likes it - it requires feedback and quick access to local information, and graphical queues (cues?) beyond that provided by text. Would Java exception specs have been more palatable if functions had automatically defined their throws() based on the calls within? Exception specs are an important feature of static typing, but they are unworkable not because they're bad, but because they're a nuisance to type in. I don't know if it's even possible to develop VbClassic or LabView code outside of their IDEs.
Would Java exception specs have been more palatable if functions had automatically defined their throws() based on the calls within?
Even better would be if it automatically determined the type of functions and variables by how they were used within the function. Actually skip the IDE and have the compiler do that. Ohh, that's right, plenty of languages already do (OcamlLanguage HaskellLanguage). Perhaps we can view this from the other direction and decided that languages which need specialized IDEs in order to beable to write in them are severely BrokenAsDesigned?.