Posted by
Marcus Denker-4 on
Oct 30, 2020; 8:21am
URL: https://forum.world.st/This-week-44-2020-on-the-Issue-Tracker-tp5124235.html
NewTools and Spec merge
====================
https://github.com/pharo-project/pharo/pull/7510
v0.4.5
- StInspector and StDebugegr now uses a paginator to better show miller collumns.
- Some minor bugfixes
- Activated CI
NewTools v0.4.4
- new tool SystemReporter (thanks Stef)
- some changes on debugger inspector ui, looking to make things more pleasant.
- fixes pharo-spec/NewTools#120
- fixes pharo-spec/NewTools#113
- fixes #6940
- fixes #7456
- fixes #7453
- fixes #7451
Spec2 v0.7.5
- SpFilterWithListPresenter was renamed to SpFilteringListPresenter.
- lists and trees now use displayIcon: to answer an icon instead icons:.
- new presenters SpPaginatorPresenter and SpMillerPaginatorPresenter.
- Add decoration attributes to SpStringTableColumn
- several fixes to SpMillerColumnPresenter.
- fixes pharo-spec/Spec#952
- fixes pharo-spec/Spec#940
- fixes pharo-spec/Spec#954
- fixes pharo-spec/Spec#929
- fixes pharo-spec/Spec#871
- ... and several other bugfixes
Breakpoints
===========
Some fixes related to styling.
Merge-MetaLinkStyler #7596
https://github.com/pharo-project/pharo/pull/7596
535-Variable-Breakpoints-Wrong-Icon-in-gutter #7551
https://github.com/pharo-project/pharo/pull/7551First Class Variables
=====================
6001-isTemp-might-fail-on-Pharo-AST #7586
This PR intruduces UnresolvedVariable. When the AST is created by the parser, it sets all Variables to this kind.
This allows us to
- get a meaningful answer to all is*Variable checks: false (as it is not eg. a temp yet)
- visitor works correctly and falls back to #visitVariable node no need for any ifs
- nice errror messages if you try to generate code
https://github.com/pharo-project/pharo/pull/7586Read-Only Literals
==================
isReadOnlyLiteral-Float-Integer #7553
Float and Integers are now read-only if they are referened from the code and not immediate
https://github.com/pharo-project/pharo/pull/7553
7592-add-beRecursivelyReadOnlyObject #7593
We have beReadOnlyObject, but often it makes sense to set an Object recursively read-only.
One example we see with literal arrays: right now we just make the outer array read-only, but
we should recurse into it and make all the content read-only, too.
Based on the RecursiveWriteBarrier package by khinsen, with small improvements:
- after we merged #7590 , we do not need the exception handler anymore
- instead of using instVarNamed:, we should use #instanceVariables and
then the reflective read/write API of the first class variable objects
https://github.com/pharo-project/pharo/pull/75937589-isReadOnlyObject-and-beReadOnlyObject-are-not-consistent-wrt-immediate-objects #7590
1 isReadOnlyObject returns true, but calling #beReadOnlyObject raises an error.
#isReadOnlyObject has an explicit check for this case in the fallback code, we should
add the same to #beReadOnlyObject.
https://github.com/pharo-project/pharo/pull/75907591-We-have-isImmediateClass-add-isImmediateObject #7594
https://github.com/pharo-project/pharo/pull/7594Variables-use-pushLiteral #7597
For both MetaLinks and Slots we added code in the past to not use pushLiteral: directly.
The idea was that this would be needed for read-only litereals.
But the implementation of read-only literals is now that only literals are compiled read-only,
we can use the literal frame to e.g. reference Variables or MetaLinks without any problem.
https://github.com/pharo-project/pharo/pull/7597
Fluid Class Definition
=======================
ChangeGreaterThanIntoGreaterGreaterForFluidClass #7606
https://github.com/pharo-project/pharo/pull/7606
7602-preparing-fluid-syntax-changes #7603
https://github.com/pharo-project/pharo/pull/7603
7598-SpPresenter-class-does-not-display-instanceVariableNames- #7601
https://github.com/pharo-project/pharo/pull/7601
Small cleanups in FluidClassBuilder package #7577
https://github.com/pharo-project/pharo/pull/7577
Cleanup FluidClassBuilder-Tests package #7579
https://github.com/pharo-project/pharo/pull/7579
Graphics
=========
Add support for mesh gradients to Athens #7546
https://github.com/pharo-project/pharo/pull/7546
Fix crashes and memory leaks in OSSDL2AthensRenderer #7543
https://github.com/pharo-project/pharo/pull/7543
Fixes
=====
DNU in RubCurrentLineBarDecorator for #compose #7552
https://github.com/pharo-project/pharo/pull/7552
7582-New-Release-of-Microdown--v105 #7583
https://github.com/pharo-project/pharo/pull/7583
isClean-using-CleanBlockChecker #7540
#isClean was implemented using abstractBytecodeMessagesDo: which is slow due to trapping MessageNotUnderstood
and creating messages for every bytecode.
This PR adds a dedicated CleanBlockChecker that checks for the bytecodes and stops scanning as soon as it
determines a block to not be clean.
In addition, we move the testIsClean from OCClosureTest to BlockClosureTest and remove the example code
from #isClean (the test now has that).
https://github.com/pharo-project/pharo/pull/7540
Cleanup for Fonts
==================
FontProviderAbstract should be renamed to AbstractFontProvider #7609
https://github.com/pharo-project/pharo/pull/7609
FontFamilyMemberAbstract should be renamed to AbstractFontFamilyMember #7611
https://github.com/pharo-project/pharo/pull/7611
FontFamilyAbstract should be renamed to AbstractFontFamily #7605
https://github.com/pharo-project/pharo/pull/7605
Cleanup FreeTypeCache #7561
https://github.com/pharo-project/pharo/pull/7561
Cleanup FreeTypeCacheLinkedList #7565
https://github.com/pharo-project/pharo/pull/7565
Remove unnecessary comment in FreeTypeCacheConstants #7563
https://github.com/pharo-project/pharo/pull/7563
Small cleanup in FontFamilyAbstract #7567
https://github.com/pharo-project/pharo/pull/7567
Cleanup FreeTypeGlyphRenderer #7559
https://github.com/pharo-project/pharo/pull/7559
Cleanup FreeTypeSubPixelAntiAliasedGlyphRenderer #7557
https://github.com/pharo-project/pharo/pull/7557
Small cleanup in FreeTypeFontProvider #7548
https://github.com/pharo-project/pharo/pull/7548
Cleanup Fonts-Abstract package #7555
https://github.com/pharo-project/pharo/pull/7555
Misc Small Cleanups
=============
Cleanup ExternalType>>#cleanupUnusedTypes #7569
https://github.com/pharo-project/pharo/pull/7569
Simplify Form>>#bitsSize #7571
https://github.com/pharo-project/pharo/pull/7571
Cleanup Flashback-Decompiler-Tests package #7581
https://github.com/pharo-project/pharo/pull/7581Simplify Socket>>#dataAvailable #7573
https://github.com/pharo-project/pharo/pull/7573
Use ifNil: in BitBlt>>#fillColor: #7575
https://github.com/pharo-project/pharo/pull/7575Move SystemAnnouncement extensions from Calypso #7538
Calypso introduced nice methods for SystemAnnouncement like affectsMethod: , affectsClass:.
They can be reused by other tools to analyze system changes. And therefore they should be packaged
together with Announcement classes.
https://github.com/pharo-project/pharo/pull/7538