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