This week (43/2020) on the Issue Tracker
=========================================

Roassal (Visualisations) and Graphics:
--------------------------------
        - Load the new version of Roassal, which is 0.9.5
                https://github.com/pharo-project/pharo/pull/7461
        
        
        - Do not disable freetype text hinting in Cairo #7544
                https://github.com/pharo-project/pharo/pull/7544
        
        - 
7529-ImageReadWriter-should-raise-a-specialised-exception-and-not-Error #7530
                https://github.com/pharo-project/pharo/pull/7530
        
        
First Class Variables   
----------------------
We have now meta-objects that describe any Variable defined, be it a Global, 
Class
Var, instance Var, temp, and others. We are continuing to refine the model and 
start
to see where it can be used to generalise and simply.


- Improve DoIt
        DoIts were loosing the requestor scope on the level of the AST.
        With that now fixed, we will be able to access variables declared by
        the Playground from the debugger (and highlight them correctly) 
        These needs multiple steps to be enabled, here are two:
        
        Doit-RequestorScope #7511
                https://github.com/pharo-project/pharo/pull/7511
        
        DoIt-access-with-ReadVariable #7512
                We now read temps from the context with a general "read 
Variable named" method,
                this way it will be able to read and write WorkspaceVariable 
instances, too:
                https://github.com/pharo-project/pharo/pull/7512
        
        
- The new bytecodeset has a bytecode for "push the current process". This 
should be exposed
by the backend.  To be done: show how to implement "ThisProcessVariable".
        
        CompilerBackend-pushThisProcess #7513
                https://github.com/pharo-project/pharo/pull/7513

- Cleanup-referredInstVars #7541
        If you look at referredInstVars, it return names of indexed instance 
variables.
        No users, no test. With First Class Variables, we can do better as soon 
as we need it.
        (we should now operate in terms of Variable *objects* not names!)
        https://github.com/pharo-project/pharo/pull/7541

- Variables-isTempVariable #7524
        The last of the is* renamings. To be consistent with all the other 
is*Variable, we rename
        isTemp to isTempVariable (with deprecation)
        https://github.com/pharo-project/pharo/pull/7524
        
- Introduce ForeignVariable to model a unified access to variables #7527
        This gives a nice perspective on what will be possible with First Class 
Variables:
        Introduce special ForeignVariable to model a unified access to 
variables from any context.
        For example it will allow us to transparently use temps from the local 
context in doIt expressions.
        (This will avoid the rewrite to ThisContext tempNamed: to access 
variables in a DoitIn:)
        https://github.com/pharo-project/pharo/pull/7527


Breakpoints
===========
The improvements for Breakpoints are, too, driven by First Class Variables. 
e.g. Class Variables being
Objects and easy to query, we can implement VariableBreakpoint for Class 
Variables very easily:

        7421-Variable-breakpoints-do-not-work-on-class-variables #7531
                https://github.com/pharo-project/pharo/pull/7531


Variables will open *many* opportunities for cleanups here... e.g. we can unify 
all Variable Breakpoint
code to just operate on Variables. No nedd to check "if this is the name of a 
temp, do that, if that 
of an ivar, that other thing". As a first step, we did:

        MetaLinkResolver-simplify #7528
                Use the reflective API directly to discover Variables
                https://github.com/pharo-project/pharo/pull/7528

        VariableBreakPoint-package-merge #7542
                https://github.com/pharo-project/pharo/pull/7542

                
Compiler
========


        ScaledDecimal-readOnlyLiteral #7534
                Another step for compiling literals read-only that are referred 
to in the
                source. We are just missing Boxed Floats and large Integers 
after this:
                https://github.com/pharo-project/pharo/pull/7534
                        
        CaseOf-Remove-BackendError #7517
                The Design of the Opal Compiler, it was made as compatible to 
the
                old as possible. Including raising an error where it is better 
to
                fall back to just emit non-optimized code for #caseOf:  
                        https://github.com/pharo-project/pharo/pull/7517

        Cleanup-headerFlagForEncoder #7518
                Small cleanup of code that was just there to support the old 
Compiler
                https://github.com/pharo-project/pharo/pull/7518


Fluid Class Builder
---------------

Work continuous for the Fluid Class definitions:
        
7515-Fix-dependencies-introduced-by-tests-of-FluidClassBuilder #7516
        https://github.com/pharo-project/pharo/pull/7516
        
7490-definition-on-classDescription-can-be-simplified #7491
        https://github.com/pharo-project/pharo/pull/7491
        

        
Cleanups/Small Fixes / Comments
--------------------
And as always, we did some smaller cleanups and improvements:

Add backwards compatibility Pharo9 to Pharo8 #7502
        https://github.com/pharo-project/pharo/pull/7502
        
Fix #7507: Methods comments in Collection #7509
        https://github.com/pharo-project/pharo/pull/7509
        
Replace Character cr asString to String cr #7526
        https://github.com/pharo-project/pharo/pull/7526
        
Introduce symbolic platform independent name to the morphic keyDown and keyUp 
events #7508
        https://github.com/pharo-project/pharo/pull/7508

Reply via email to