[Development] A modest proposal: disable lower-case keywords (emit, foreach, forever, signals, slots) by default

Matthew Woehlke mwoehlke.floss at gmail.com
Fri Feb 28 16:24:32 CET 2020


On 27/02/2020 17.01, Allan Sandfeld Jensen wrote:
> On Thursday, 27 February 2020 21:43:33 CET Matthew Woehlke wrote:
>> On 27/02/2020 13.57, Thiago Macieira wrote:
>>> On Monday, 24 February 2020 03:30:25 PST André Somers wrote:
>>>> You seem to assume everyone used QtCreator as their IDE of choice. That
>>>> is
>>>> not a reasonable assumption I think.
>>>
>>> It is a reasonable feature request for ALL IDEs to understand what a Qt
>>> signal is.
>>
>> Really? You include github/gitlab/phabricator in that list? Vim? Notepad++?
> 
> I would be surprised if any of those didn't.

Really? Because only one of those *might* include code parsing abilities.

We aren't talking about recognizing `emit`. We're talking about being
able to inspect the following code:

  if (...)
  {
     this->update();
     this->changed();
  }

...and recognizing that the former is a "regular" method call, while the
latter is a signal emission. Which requires a code model that correctly
identifies the corresponding header *and* understands MOC's
meta-language. TTBOMK, *no* IDE's (or perhaps only QtC) currently do the
latter.

Conversely, `emit` works *even in non-IDE's*; notepad, cat, grep,
(github), etc.... Claiming that "the IDE can do just as good a job
marking signals as using `emit`" is just plain wrong, or at least,
missing the point.

-- 
Matthew


More information about the Development mailing list