This week (43/2020) on the Issue Tracker

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

This week (43/2020) on the Issue Tracker

Marcus Denker-4
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