Earlier quoted context omitted.
Windows key + dot, then type in warning / if it was among the last ones you used, use the arrow keys, and hit Enter to insert it. If you use whatever OS other than Windows, I'm sure there are similar flows available if you search for it. And since it's just Unicode, I'm sure there are numpad based keybinds available too.
TIL that winkey+dot in kde launchs the emoji selector ... but it is copied into the clipboard, so more keystrokes
Usability Improvements in GCC 15
141–150 of 231 posts
Re: Usability Improvements in GCC 15
#142Using a hierarchy to show template errors is brilliant and I'm sort of surprised compilers haven't always done that. I was investigating C++-style templates for a hobby language of mine and SFINAE is an important property to make them work in realistic codebases, but leads to exactly this problem. When a compile error occurs, there isn't a single cause, or even a linear chain of causes, but an potentially arbitrarily…
I really wish templates didn't work on a dumb "replace at call site until something compiles" manner. All template requirements should be verified at the function definition, not at every call site. There is concepts. But they are so unwieldy.
(But Rust traits works like that)
Re: Usability Improvements in GCC 15
#143Earlier quoted context omitted.
Embedded compiler vendors and UNIXes want a possibly slightly patched C or C++ compiler, maybe with an extra back-end bolted on. I'm talking about use-cases like Rust and Zig and Swift, projects which want a solid optimizing back-end but their own front-end and tooling.
gccrs is a rust implementation for gcc. Just because Rust developers don't want their users to be fully free doesn't mean there are any problems with gcc. And clang is developed by Apple which is a huge warning sign by itself.
Re: Usability Improvements in GCC 15
#144Earlier quoted context omitted.
The number of significant software projects which are licensed as GPLv2- only , and which are therefore incompatible with GPLv3, can probably be counted on one hand. Normal GPLv2 projects are licensed – as instructed by the text in the license itself – as “GPLv2 or later ”. Which means that any normal GPLv2-licensed software can be relicensed to GPLv3, and can therefore be combined with any other GPLv3-licensed progr…
For GPL v2 only, let's start the list with Linux and Git... The "or later" has been used in creative ways, like relicencing all the Wikipedia content, or the Affero to AGPL transition. Nothing shady, but unexpected. Do you trust RMS to avoid doing shady things in the later GPL licence? I do, but he is not longer in the FSF. Do you trust the current members of the FSF to avoid doing shady things in the later GPL licen…
If you're worried about the other direction (i.e. a hypothetical GPLv4 that had some bizarre restriction like "all users must donate to the FSF"), the "or any later version" means that as long as you don't decide to update the license you use yourself, people can continue to use it under the GPLv2 or v3 indefinitely.
Re: Usability Improvements in GCC 15
#145Earlier quoted context omitted.
Alternatively, if you join a Stallman-led Free Software project and hope he'll accept your ideas for making life easier for proprietary vendors, you're gonna have a bad time. I mean, the GNU Emacs FAQ for MS Windows ( https://www.gnu.org/software/emacs/manual/html_mono/efaq-w32... ) says: > It is not our goal to “help Windows users” by making text editing on Windows more convenient. We aim to replace proprietary soft…
But the person you're responding to never said he was shocked or disappointed by the views; he just said the views are bad/counterproductive.
Re: Usability Improvements in GCC 15
#146Usability improvement request for this article: don't hijack the browser back button :P
Browser makers should straight up remove the JS API for interacting with history. There are legitimate uses for it, but the malicious actors far outweigh the good ones at this point. Just remove it.
Re: Usability Improvements in GCC 15
#147Already looking forward to `grep`ing warning emojis in output. What's next? Poop emoji for errors?
my $line = "infinite-loop-linked-list.c:30:10: warning: infinite loop [CWE-835] [-Wanalyzer-infinite-loop]";
grammar gcc {
token filename { + };
token linenumber { \d+ };
token colnumber { \d+ };
token severity { info|warning|error };
token message { .* $$ };
regex diagnostic {
[\:]
[\:]
[\:]\s
[\:]\s
};
token TOP { };
}
say gcc.parse($line);
which when run produces the obvious output: 「infinite-loop-linked-list.c:30:10: warning: infinite loop [CWE-835] [-Wanalyzer-infinite-loop]」
diagnostic => 「infinite-loop-linked-list.c:30:10: warning: infinite loop [CWE-835] [-Wanalyzer-infinite-loop]」
filename => 「infinite-loop-linked-list.c」
linenumber => 「30」
colnumber => 「10」
severity => 「warning」
message => 「infinite loop [CWE-835] [-Wanalyzer-infinite-loop]」
I’ll leave handling filenames containing colons as an exercise for the reader.The emoji just focus the reader’s eye on the most critical line of the explanation.
Re: Usability Improvements in GCC 15
#148Earlier quoted context omitted.
gccrs is a rust implementation for gcc. Just because Rust developers don't want their users to be fully free doesn't mean there are any problems with gcc. And clang is developed by Apple which is a huge warning sign by itself.
And gccrs is not really very widely used and is not the "official" Rust compiler. The Rust project chose to base their compiler on LLVM, for good technical reasons. That's bad news for the GCC project.
Re: Usability Improvements in GCC 15
#149Earlier quoted context omitted.
Browser makers should straight up remove the JS API for interacting with history. There are legitimate uses for it, but the malicious actors far outweigh the good ones at this point. Just remove it.
I mean, without `history.pushState()` and `window.onpopstate` things wouldn't be as nice. Ok, I guess one could do about everything with `location.hash = ...` and `window.onhashchange`, like in the before times. But the server will not get the hash part of the URL so a link to such an page can't be server side rendered and has to fetch the actual page content in JavaScript, evaluating the hash. When I browse things l…
Re: Usability Improvements in GCC 15
#150Earlier quoted context omitted.
Yet another reason why I'm not a fan of Richard Stallman. Most of the decisions he made over the past 25 years have been self-defeating and led directly to the decline of the influence of his own movement. It's not that "the GCC project" avoided that for ideological reason, Stallman was personally a veto on that issue for years, and his personal objection led to several people quitting the project for LLVM, with a co…
I think that's an unreasonable lens for viewing his work. Of course he values purity over practicality. That's his entire platform. His decision making process always prioritizes supporting Free Software over proprietary efforts, pragmatism be damned. Expecting Stallman to make life easier for commercial vendors is like expecting PETA to recommend a good foie gras farm. That's not what they do.
No, this is giving him too much credit. His stance on gcc wasn't just purity over pragmatism, it was antithetical to Free Software. The entire point of Free Software is to let users modify the software to make it more useful to them, there is no point to Free Software if that freedom doesn't exist - I might as well use proprietary software then, it makes no difference.
Stallman fought tooth and nail to make gcc harder for the end user to modify, he directly opposed letting users make their tools better for them. He claims it was for the greater good, but in practice he was undermining the whole reason for free software to exit. And for what? It was all for nothing anyway, proprietary software hasn't relied on the compiler as the lynchpin of its strategy for decades.