|
YAUT
"Life should not be a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside in a cloud of smoke, thoroughly used up, totally worn out, and loudly proclaiming “Wow! What a Ride!" - Hunter S Thompson - RIP
|
|
|
|
|
So I'm using visual studio and it seems to randomly replace spaces in my text with character 160 when i do clipboard operations with it. Not all the time, mind you, but I haven't figured out exactly what happens to make it do that yet.
Normally, I wouldn't care. Whitespace is whitespace, and it's all unicode right?
Well no. SQL's parser does not accept character 160 as whitespace. Worse, it gives you weird errors around it.
For example:
SET @cc = CASE @ch WHEN 9 THEN (((@cc - 1) / @tabWidth) + 1) * @tabWidth + 1 WHEN 10 THEN 1 WHEN 13 THEN 1 ELSE @cc END
This said I needed to declare the variable '@ch'
The real issue was that variable was surrounded by char# 160's
Do they not dogfood their tools? How am I the first person to run into this?
Real programmers use butterflies
|
|
|
|
|
I haven't seen that behavior but I will do some testing to see if it pops up. That will infuriating if it does because character 160 will likely cause isspace and isblank to fail and no longer be in compliance with standards : <cctype> (ctype.h) - C++ Reference[^]
"They have a consciousness, they have a life, they have a soul! Damn you! Let the rabbits wear glasses! Save our brothers! Can I get an amen?"
|
|
|
|
|
I just noticed it today. It's weird, and it isn't the SQL editor directly.
I have these ".template" files, like "CompiledTokenizer.sql.template" that generates sql output, but the template file itself uses ASP-like syntax with <%,<%= and %>
In this template I do a bunch of crazy things by walking state machines to render thousands of lines of stored proc code.
But when I'm pasting around that .template file is when the 160s crop up. Even if I paste into it from the SQL editor and then copy out of it, I'll get 160s.
The .template file isn't a recognized format by visual studio. I tried naming it .asp and even .aspx to give me so highlighting, but that only did the *client* code, and if anything I want the server code highlighted, so I just named it .template and editing it as a POTF instead of anything fancy.
I don't know if that has anything to do with it. I'm grasping.
Real programmers use butterflies
|
|
|
|
|
Try opening the files in Visual Studio's binary editor, and see if there's a UNICODE byte order mark at the beginning. If there is (marking the file as UTF-8, for example), that could be influencing the behavior of the editor.
Software Zen: delete this;
|
|
|
|
|
Wow. I've never seen VS inject non-breaking spaces in text files.
/ravi
|
|
|
|
|
I'd really like to know why, myself. It's infuriating.
Real programmers use butterflies
|
|
|
|
|
Are you sure it isn't something introduced by the clipboard itself? not VS?
|
|
|
|
|
What VS Version?
What do you get when you cross a joke with a rhetorical question?
The metaphorical solid rear-end expulsions have impacted the metaphorical motorized bladed rotating air movement mechanism.
Do questions with multiple question marks annoy you???
|
|
|
|
|
2019. It's up to date.
Real programmers use butterflies
|
|
|
|
|
I haven't seen this, though I haven't pasted much text.
What do you get when you cross a joke with a rhetorical question?
The metaphorical solid rear-end expulsions have impacted the metaphorical motorized bladed rotating air movement mechanism.
Do questions with multiple question marks annoy you???
|
|
|
|
|
Hi,
It sounds like you are using VSCode. It also sounds like you are accidentally holding down the shift key when hitting your spacebar. Shift-space in VSCode will produce a non-breaking space[^].
Best Wishes,
-David Delaune
|
|
|
|
|
I'm not using VS code, and not hitting SHIFT-space. This is happening when i copy (or paste?) from one editor window to another.
Real programmers use butterflies
|
|
|
|
|
Hmmm,
Is it a 0D followed by a 0A? Or just an 0A all by itself?
The Visual Studio 2019 editor should produce a \r\n (CRLF). The LF all by itself is really a Unix/Linux thing.
|
|
|
|
|
No, that's codes 13 and 10.
This is code 160.
The issue is not line breaks. It's inserting non-breaking spaces. in html. or &#A0 (not 0A)
Unrelated: Adding, I don't know why apps have so many problems with line breaks.
switch(currentChar) {
case '\n':
++line;
column = 1;
break;
case '\r':
column = 1;
break;
case '\t':
column = (((column-1)/tabWidth)+1)*tabWidth+1;
break;
default:
if(currentChar>31) ++column;
break;
}
That handles linebreaks regardless of platform and some other basic whitespace besides. easy peasy.
Real programmers use butterflies
|
|
|
|
|
honey the codewitch wrote: I don't know why apps have so many problems with line breaks There was some politics involved from the very top. (As to why notepad and other Windows text editors didn't support files with LF newlines).
|
|
|
|
|
Sounds like there is some kind of formatting happening.
Does it happen with dates or numbers?
|
|
|
|
|
I've only noticed it around my variables. Maybe because that's when SQL yells at me.
Real programmers use butterflies
|
|
|
|
|
What types are those variables?
|
|
|
|
|
They're just basic SQL procedure variables.
DECLARE (at)ch INT = -1
That shouldn't say (at) but this forum wants to link a poster named ch when i type it properly.
...
It has nothing to do with the language and everything to do with VS replacing spaces with non-breaking spaces.
Real programmers use butterflies
|
|
|
|
|
Ah yes. ASCII 160 which equates to HTML's non-breaking space, i.e. . As a SQL developer I'm constantly having to fix data from people copying from a web page and pasting into Excel / Word and then copying from there and inserting the values into a database table.
Kelly Herald
Software Developer
|
|
|
|
|
The thing is microsoft is putting this stuff in my content that's coming from plain text files (well .template files, but it's not like there's a VS handler for them)
Real programmers use butterflies
|
|
|
|
|
Greetings Have you submitted a bug report preferably w/ reproducible steps or even the entire project or a GIF of the recorded screen They recommended ScreenToGIF to myself - Kind Regards
|
|
|
|
|
I haven't. Honestly i've got a lot going on right now and I don't really want to take the time to submit to the black hole or "/dev/null" that is Microsoft's bug tracking.
If they were responsive in the past, I may make it more of a priority but they haven't been and I won't.
Real programmers use butterflies
|
|
|
|
|
It seems to be a feature, not a bug: MS rich text editors prefer non-breaking spaces to "maintain the correct spacing format".
I never ran into this specific problem, however I sometimes use a little tool to delete any non-plain-text representation of data present on the clipboard, e.g. when the target app does not provide a "paste as plain text" option.
Luc Pattyn [My Articles]
If you can't find it on YouTube try TikTok...
|
|
|
|