Code is supposed to be exact and "as-is". Sometimes, showing two spaces is important. In a comment, it is not possible to show code with  multiple   spaces. This became apparent in this answer (see comments).

EDIT: apparently this bug is larger then I thought: multiple spaces here are neither preserved in normal question text. Pity (though I couldn't find this reported before, I'd assume it is).

Workaround: use Alt+0160 (windows), or U+00A0 (Unicode NBSP), as I did in the example above.

share|improve this question
    
@voyλger nice alternative workaround (but try to select and copy it). –  Abel Nov 17 '09 at 22:05
    
@Abel: What is the problem? On FF, If I select the text and paste it I get the spaces on the pasted text. –  perbert Nov 17 '09 at 23:37
    
I used Opera (doesn't work). Now tested with IE (doesn't work) and FF (works). Looking at the code (<code>with </code><code> multiple </code><code> </code><code> spaces</code>) there are spaces (but most space is created by CSS), but when selecting they aren't "blue" in any browser, and only FF copies them. Interesting little browser quirks. –  Abel Nov 18 '09 at 13:37
    
@Abel: you are right, Chrome doesn't like it either. It must be because generally in HTML 1+ space becomes 1 space. I think that firefox's (pronounce it out loud, I dare you) is the correct behavior in this case. –  perbert Nov 21 '09 at 23:21
    
Firefox is correct in copying, but not in selecting. Unfortunately, the W3 and other standards bodies say little if anything about how selections are supposed to look (or what Ctrl-C should copy consecutively), that's totally up to the UI. –  Abel Nov 30 '09 at 0:05
3  
Couldn't code {white-space:pre-wrap} be added to the SE default stylesheets? –  Lauri Ranta Jul 7 '11 at 2:49
2  
This is still an issue, and now unicode nbsp doesn't work either (at least as far as I can test). –  Chris Down Dec 14 '11 at 16:09
    
I guess not, @Lri, as pre-wrap also enables newlines? Those don't get any love in comments. –  Arjan Mar 21 '12 at 17:15
    
@Arjan But aren't newlines removed before the CSS anyway? –  Lauri Ranta Mar 22 '12 at 6:21
    
No, @Lri, they are not. (See the HTML page source for this comment.) –  Arjan Mar 22 '12 at 6:52
1  
@Oded Can you at least post an explanation as to why it is status by design or declined instead of simply flooding the front page with your retagging? –  Lorem Ipsum Feb 22 '13 at 14:49
    
@LoremIpsum - Sorry, trying to close old old old bugs. Didn't mean to flood the front page. –  Oded Feb 22 '13 at 14:50
    
@Oded I don't mind the flooding; in fact, I'm happy the devs are closing/fixing bugs. However, without a comment/answer, I don't know if you mean "This is so old that changes since then have rendered it invalid" or "This is so lame that I don't care to respond" or "This is how it will be and I'm not going to fix it" –  Lorem Ipsum Feb 22 '13 at 23:12
add comment

3 Answers

up vote 6 down vote accepted

I've added this to our stylesheets:

code {
    white-space: pre-wrap; /* don't collapse multiple spaces in code */
}

– no idea why we never did that; it's an easy enough fix, and these days it's supported by all browsers. This is in the next build.

share|improve this answer
9  
Well, there is one reason... –  Tim Stone Feb 24 at 21:42
    
@TimStone Well if that was the reason we never did it, I assume someone would've answered here :) Yep, stupid me, this behavior is right there in the spec. I read it and I still missed it. –  balpha Feb 25 at 6:02
    
This is causing some problems in Firefox. –  animuson Mar 29 at 15:56
    
Thanks for the pointer, @animuson. Will look. –  balpha Mar 31 at 13:51
add comment

You do have a workarround:

`with `` multiple `` `` spaces`

Looks like

with  multiple   spaces

in a comment

share|improve this answer
    
wowch. I'd hate to hand parse my code to add that... –  Adam Davis Nov 17 '09 at 20:35
1  
Unfortunately, doesn't work any longer..., see: comment with `` multiple `` `` spaces –  Abel Dec 19 '11 at 15:24
1  
See this post for a working workaround –  CharlesB Feb 16 '12 at 9:01
add comment

In one of my comments I've suggested to apply sed s/ / /g… which looks completely stupid because spaces are not rendered properly (as you can (not) see).

Now, I've tested the CSS snipset provided in a comment by Lri:

code { white-space:pre-wrap; }

It does the job of fixing this. Why isn't this applied yet?

share|improve this answer
    
"Why isn't this applied yet?" >> my guess, it doesn't have priority. Which seems kinda odd for a site about coding though... –  Abel Mar 21 '12 at 8:26
    
Or, @Abel, as it also enables newlines? Those don't get any love in comments. –  Arjan Mar 21 '12 at 17:14
    
@Arjan: everything is filtered anyway for whatever illegal characters are disallowed. Can hardly think it's an issue to either replace spaces with non-breaking spaces, or to remove any \r\n. –  Abel Mar 21 '12 at 20:34
1  
Then I'd not vote for replacing spaces with non-breaking spaces, to avoid any issues with copying & pasting code fragments, @Abel. That may indeed make CSS with removing line breaks a good option then. (Though that might need some conversion of existing comments, if comments are sanitized upon saving rather than upon rendering.) –  Arjan Mar 21 '12 at 21:03
    
@Arjan: while I agree (and I think this is up to the implementers, if at all they want to do something about this), copy/pasting with nbsp's in it doesn't give me trouble with Visual Studio. Not sure of other editors though. –  Abel Mar 21 '12 at 21:13
1  
@Abel At least on OS X non-breaking spaces are not usually converted to normal spaces, and running code with them results in an error. –  Lauri Ranta Mar 22 '12 at 6:28
add comment

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .