Timeline and If limitation...

Phil Thompson phil at riverbankcomputing.com
Fri May 9 10:47:13 BST 2025


On 09/05/2025 00:42, Matt Newell wrote:
> It seems impossible to enable sip code for older versions because you 
> can't
> test for any version in a timeline that may not be defined in the 
> installed
> version.
> 
> Specifically:
> 
> %If (- Qt_6_6_0)
> %Include my_std_optional.sip
> %End
> 
> fails with any qt/pyqt less than 6.6.0 because the timeline doesn't 
> contain
> that version.
> 
> Right now I have to test for the pyqt version ahead of time, define a 
> new
> feature, and disable that if the version isn't met.
> 
> I think it would be nice to have the %If feature when passed a range to
> have the following behavior:
> 
> %If (Qt_6_6_0 -)  # Evals to false if the tag/qualifier is not defined
> %If (- Qt_6_6_0) # Evals to true if the tag/qualifier is not defined
> 
> %If (Qt_6_5_0 - Qt_6_6_0) # Evals to false if neither is defined, true 
> if
> one or the other is defined and the tag is in the timeline above/equal 
> to
> the left value or below/equal to the right value.
> 
> Thanks,
> Matt Newell

Hmm - I thought that was the current behaviour. Can you try the attached 
patch just to see if the fix is that simple.

Thanks,
Phil
-------------- next part --------------
A non-text attachment was scrubbed...
Name: parser_manager.py.diff
Type: text/x-diff
Size: 518 bytes
Desc: not available
URL: <https://www.riverbankcomputing.com/pipermail/pyqt/attachments/20250509/504bd38a/attachment.diff>


More information about the PyQt mailing list