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

Thiago Macieira thiago.macieira at intel.com
Fri Feb 21 17:42:10 CET 2020


On Friday, 21 February 2020 05:25:13 PST Giuseppe D'Angelo via Development 
wrote:
> * Qt 6.x
> ** Introduce opt-in ways to request lowercase keywords:
> -DQT_USE_KEYWORDS, CONFIG+=keywords, whatever. They do nothing.
> ** Default for user projects is still same as today (use lowercase).
> ** User projects get a deprecation warning unless they specify
> no_keywords and/or keywords. Specifying both keeps keywords.
> 
> * Qt 6.[x..x+3]
> ** Qt turns on no_keywords for itself (all code, examples, docs).
> ** Nothing changes for end-user code.
> 
> * Qt 6.(x+3)
> ** Default for user code becomes no_keywords.
> 
> Am I reading the original proposal correctly? The (x+3) here means that
> there'll be at least one LTS in the middle where behavior won't change
> for end-user applications.

The first step would be for both qmake and cmake projects to warn if the 
project doesn't declare keywords or no_keywords. Allow that to stay for 2 or 3 
years so projects do update to declare their choices. This can start right 
now, in 5.15.

At some point after that, change the default. Like, for example, in Qt 7.

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel System Software Products





More information about the Development mailing list