The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.
Your comments reminds me of when I went to USA as a high school exchange student: I pointed to the flower we call "Løvetann" in Norwegian, asking for its English name. My host family mother responded "Dandelion", and I remarked "That's the same name". My 13 year old "brother" looked like a big question mark, so I had to explain: "In French, that is", which did not really clear up things in his mind - he needed a more extensive explanation ("Tann" in Norwegain is "tooth".)
The fellow is called Andy Capp in Norway, but we have accepted the term term "cap" in its English form rather than the French form, so it comes naturally.
(Except that we imported the plural form "caps" as a singular noun, one "caps", two "capser". For unknown reasons, we have taken plural English forms as singular in several cases: Candy drops - "drops" is singular in Norwegian. A "slip of cloth", i.e. a tie, is called a "slips" in Norwegian. A military tank is a "tanks". These are terms recognized in dictionaries. We also have some informal "redefinitions": Lots of people will call any large truck a "trailer", even if it is not composed of a tractor and a trailer. That use of it is not yet recognized in the dictionaries, but maybe in ten years!)
We used that term a generation ago even in Norwegian, but it gradually went the same way as certain color names (or really: lack of color) do today. We found other words to describe such conditions. Young people today don't use the old term.
That is the same in English, isn't it? "Disabled" took over, then that became a charged term, and "challenged" took over. I have a slight feeling that even "challenged" is becoming somewhat charged nowadays (at least is some situations, like "complexion challenged"), so maybe we will see yet another term within a few years.
Translators of comic strips very often run into untranslatable puns and cultural hints, and have to make up completely new stories. Even for an "innocent" strip like Peanuts, one Norwegian translator told that about one third of the daily strips could not be used at all, and he had to make up new words. Some of them are brilliant and far funnier than the original - I've seen that both for Peanuts, Garfield and others.
The "B.C." strip, which is fundamentally based on puns, was published untranslated, but with a commentary field explaining the puns for readers less versed in English. I guess at least half of the strips would be impossible to translate in a literary sense.
I bolded the bit that's the problem. Spot it yet?
There are no quotes, and = is a valid filename character.
The upshot is this. If you add a file to your "Solution Folders" (a feature that has always been kludgy) and then rename it to include an = then the file will not get saved as part of the solution, meaning it won't be listed under solution folders next time you load.
I only discovered this because I needed to write a tool that could read the solution folder items from a solution file.
Probably someone that got moved from the Windows Update department?
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
If a person is using = in their file names then they don't deserve for their solution to work correctly anyway.
You talk like a Linux guy!
I was just ordered to remove case insensitive file name matching in this Windows specific tool that I will be maintaing: The routine looked for CMakeLists.txt, and I was told that anyone who uses a different casing for this file is simply doing it wrong - even though the file system explicitly is case insensitive. Case insensitive matching is "unnecessary" in this case, get rid of it!
Up until five to ten years ago, there was a heavy demand from the Linux community that file names should never contain space. We still have tools ported from Linux that crashes if they encounter a file name contianing space, with no way of quoting it properly from the outside because the tools derive the names of new file from it, without considering any qouting. One tool would even barf if it encountered a file with a space in the name even if that file was not referenced: The tool searched a directory, and crashed when trying to stat every file. So we had to make sure that noone put a (completely unrelated) file with a space in the name in any directory used with this tool.
A number of years ago, even Linux based software was forced to accept 8 bit characters (in ISO 8859 format) without stripping off the "parity bit" - but still there are lots of legacy tools that handle it poorly, and you may have to know all the different ways of quoting to get it right if you are working in a command shell. Today, even Linux (at least some distros!) even accept Unicode file names - but don't expect every application to handle it well!
Lots of businesses and organizations have names including a slash: A shareholder's company is in Norwegian an "aksjeselskap", an "A/S". Ships are often named by the kind of ship: "M/S Norway" is the SailingShip Norway, and so on. Such use of slashes in abbreviations are common in many European languages. Lots of Linux software will have problems if you use these organization names in file names. It used to be OK in DOS/Windows, but the pressure was too strong to accept ported *nix applications without adapting them at this point, so just to be kind to those *nix guys, DOS/Windows (sorry... DOS_Windows ...) introduced problems for the user by accepting the slash as an alternative path separator.
It has been claimed that the backslash was deliberately selected as the directory separator in DOS, rather than the forward slash, to avoid conflicts with traditional use of slash in names.
We may see that as a give-and-take: End user communities sacrified the slash in exchange for beyond-7bit-ASCII file names. Without the pressure from the Windows side, I am sure that Linux file names would have been at ASCII level even today.
If you manage to create a file name containing a wildcard (to non-computer people, calling a file "What to do now?" or "*** IMPORTANT POINTS ***" would be perfecly natural), you will run into problems.
In a CLI environment, names including a "&" (like in "Jonhs_Fish&Chips") may require quoting if used on the command line. Nor are ">" and "<" great as file name characters, as well as a number of other characters, e.g. used to identify alternate streams, or in some older file systems (non-Windows/*nix) file version.
Lots (but not all) of these restrictions are due to command line interfaces - the applications could have handled it, many don't but assume that e.g. a space terminates a file name (especially *nix born software).
But equal signs are still legal. You argue for restricting the set of "legal" file names even beyond that which is imposed by the file system itself. I think this is the wrong way to go. Ordinary people do not recognize the technical grounds for probiting any of these characters, and being told that that "they don't deserve for their solution to work correctly" because they use file names that make perfectly sense to them - and in this case even is a "technically" valid file name - is not the way I want software to move. It should rather go in the very opposite direction!
Ordinary people do not recognize the technical grounds for probiting any of these characters
Ordinary people won't be creating solutions in Visual Studio in the first place.
The point isn't that people shouldn't be able to use =, the point is that there shouldn't be a need to name a file with an = symbol in it. Can you provide a reasonable example of a filename that you would add to a Visual Studio project that contains = symbol?
Project names appear as file names. Why couldn't a project be called "Algorithmic proof that A^n + B^n = C^n is false for any n greater than 2"? Or "Overloads of ="?
"Overloads of >" would not be valid file/project name, but "Overloads of =" is. So the project file format should handle it. I am happy to see "qouting free" file names - I really hate the umpteen different ways of quoting, character escapes and the like - but that usually takes binary formats to handle. When old traditions and legacy pressures you to remain with the age old "ASCII philosophy", then you must provide the proper quoting and character escaping, no matter how ugly it looks.
At least modern .sln files use UTF-8 encoding, capable of representing arbitrary printable text without resorting to neither backslash escapes with octal codes, backslash with hex codes, backslash with code letters and special chars like \\, HTML character entities, Quoted Printable, base64 or possibly old style UUE, atob/btoa, StuffIt or whatever format you prefer for packing non-ASCII characters into an ASCII representation. I'm happy to avoid that, but why don't we go the full length, and go for binary TLV formats, to avoid all of these problems?
That's a fairly standard format for property files, and has been since the early days of Windows. Unfortunately when they moved to the modern file systems and allowed (more or less) any character in a filename, there were unforeseen consequences.
Yes but that "standard" was created long before the days of XML, and used by other manufacturers. And, to be fair to Microsoft, they have used XML in many other places, including Visual Studio project files.
I see the basic problem as caused by a "command line philosopy". There is a strong correlation between textual command line input and textual configuration files as input to a program system.
Configuration (and similar) info should be stored in some "binary" format. If you don't want to use a fullblown database, at least the configuration file should be built from Tag-Length-Value records, with an unrestricted Value field.
If, say, MS had promoted a basic TLV structure common to all system needing configuration info, a general reader/editor for this forma could be written, by MS or by anyone else. Such an editor could of course provide various export formats for use in Linux and other legacy systems, adding quoting as required by that format. But the authoritative file should be in the TLV format with no values - file names or others - being restricted by configuration file formats.