Monthly Archives: February 2016

Spotter Videos

You always wanted to understand how to get mega hyper productive with Spotter but you never dared to ask a question…

Watch the videos!

http://www.humane-assessment.com/blog/short-spotter-demos/?utm_source=twitterfeed&utm_medium=twitter&utm_campaign=Feed%3A+humane-assessment+%28The+humane+assessment+blog%29

And get dazzled ūüôā and change your way of working

Stef

IceCompiler

Hi,

I have downloaded a first version of IceCompiler, a small tool who allow run time checks embedding in pharo classes on Smalltalkhub at

http://smalltalkhub.com/#!/~AlainRastoul/IceCompiler

If some interested pharoers are willing to give me feedback on this package I would greatly appreciate.
This is not an announce but a request for feedback to advanced pharo users , since it is an alpha version with probably killing side effects.
There is no ConfigurationOf as of today(there will be), but there is no dependency and the package loads well in a fresh standard Pharo 5.0.

Checks are written in standard smalltalk methods with design-by-contract style pragmas like

<contract: invariant>
<contract: #ensured appliedTo: #( #add: )>
<contract: #required appliedTo: #( #add: )>

Contract method calls are compiled in specified classes (with subclasses) in order to make bullet-proofing run test phases of Pharo code/image
and to help in hard bug cases.

Before trying this package, please read the comments on smalltalk hub page, because if misused it may break your image, and do not use on standard important classes (Array, String, Dictionary, Collection etc.) … unless you like danger ūüôā

Many thanks in advance

regards,

Alain

Another Week of Enhancements

50610
17683 but right button (menu) is broken in process browser
https://pharo.fogbugz.com/f/cases/17683

17688 speedup RBSentNotImplementedRule
https://pharo.fogbugz.com/f/cases/17688

17065 Transcript has no context menu
https://pharo.fogbugz.com/f/cases/17065

17684 highlighting broken in message list (senders off / implementors of)
https://pharo.fogbugz.com/f/cases/17684
50609
17687 fix: changing class comments does not work
https://pharo.fogbugz.com/f/cases/17687

50607
17638 Browsing calls on BoxedFloat64 shows methods with reference to Float in the code
https://pharo.fogbugz.com/f/cases/17638

50606
16893 Update STON
https://pharo.fogbugz.com/f/cases/16893
50604
17540 Remove an empty protocol in hierarchy unselect the class
https://pharo.fogbugz.com/f/cases/17540

17681 Executing code inside process browser not working
https://pharo.fogbugz.com/f/cases/17681

17524 Invisible protocol icons
https://pharo.fogbugz.com/f/cases/17524

50603
17676 Building Pharo-5.0-Issue-Tracker-Image fails!!
https://pharo.fogbugz.com/f/cases/17676

16534 SimulateMouseSpecification broken
https://pharo.fogbugz.com/f/cases/16534

50602
17680 SessionManager 1.3
https://pharo.fogbugz.com/f/cases/17680

50601
17674 catalog command line installer needs to resume on warning
https://pharo.fogbugz.com/f/cases/17674

16020 Syntax Highlighting Rubric: First shows non-highlighted text, then color. Looks slow
https://pharo.fogbugz.com/f/cases/16020
50600
17620 WeakFinalizersTest>>#testNewFinalizationSupported (Cleanup needed)
https://pharo.fogbugz.com/f/cases/17620

17608 Failing on CI Server: ChunkImportTestCase>>#testImportAClassCategory
https://pharo.fogbugz.com/f/cases/17608

17640 Batch deletion of methods raise DNU in some cases
https://pharo.fogbugz.com/f/cases/17640

16756 ZnUnknownHttpVersion(Object)>>doesNotUnderstand: #response
https://pharo.fogbugz.com/f/cases/16756

50599
ConfigurationOfSessionManager
50597
17665 HDTestReport reports unexpected passes as successful
https://pharo.fogbugz.com/f/cases/17665

17570 Shortcuts to browse code are not available any more in some tools
https://pharo.fogbugz.com/f/cases/17570

17584 Broken menu in ChangesBrowsers code pane
https://pharo.fogbugz.com/f/cases/17584

50595
17541 PharoVM crash in Moose 6.0 image when hovering mouse pointer over Roassal View
https://pharo.fogbugz.com/f/cases/17541
50594
17649 Rename method in class side does not change class side methods in other classes
https://pharo.fogbugz.com/f/cases/17649

17648 WeakSet >>#asArray returns wrong result after some objects lifetime is finished
https://pharo.fogbugz.com/f/cases/17648

17647 Collection asArray “array variable is shadowed”
https://pharo.fogbugz.com/f/cases/17647

17628 OSEnvironment current “an UnixEnvironment” [Windows]
https://pharo.fogbugz.com/f/cases/17628
50593
17552 In Linux some shortcuts use alt, some others ctrl
https://pharo.fogbugz.com/f/cases/17552

17634 registerToMCAnnouncements has no no senders
https://pharo.fogbugz.com/f/cases/17634

17392 FreeType numCharMaps nil causes Array>>basicNew: to fail
https://pharo.fogbugz.com/f/cases/17392
50592
16993 Pharo crash if we sort a LinkedList
https://pharo.fogbugz.com/f/cases/16993

17593 matching meta with ctrl or command does not work if shortcut definitions contains shift
https://pharo.fogbugz.com/f/cases/17593

50590
17116 The same method is duplicated 5 times in the image
https://pharo.fogbugz.com/f/cases/17116

17623 Failing test on CI: AllocationTest>#testOutOfMemorySignal
https://pharo.fogbugz.com/f/cases/17623

17643 Evaluating variables while debugging may yield wrong values
https://pharo.fogbugz.com/f/cases/17643

17639 The example for SpecPreDebugWindow no longer works
https://pharo.fogbugz.com/f/cases/17639
50588
17619 Failing test on CI: CompiledMethodTest>>#testComparison
https://pharo.fogbugz.com/f/cases/17619

17625 The immediateSubclass… and variableSubclass method need comments
https://pharo.fogbugz.com/f/cases/17625

17605 Autofix raises DNU in QualityAssistant
https://pharo.fogbugz.com/f/cases/17605
50587
17602 duplicated UI processes while running tests from Nautilus
https://pharo.fogbugz.com/f/cases/17602

17630 CompiledMethodTest >> #testSelector asks for Author when run
https://pharo.fogbugz.com/f/cases/17630

17599 Refectory change method added diff does not take into account class side methods
https://pharo.fogbugz.com/f/cases/17599
50586
17604 Skip testNoOverlappingCodeEditorKeyBindings
https://pharo.fogbugz.com/f/cases/17604
50585
17445 Upload Simple Test Cases for String
https://pharo.fogbugz.com/f/cases/17445

17509 Color should handle its naming
https://pharo.fogbugz.com/f/cases/17509

17598 DelayExperimentalSpinScheduler should be the default delay scheduler
https://pharo.fogbugz.com/f/cases/17598

50580
17113 Context menu in SyntaxErrorDebugger broken
https://pharo.fogbugz.com/f/cases/17113

17558 Update Rubric: In Linux some shortcuts use alt, some others ctrl
https://pharo.fogbugz.com/f/cases/17558

17561 Add a release test to test the presence of critical classes in startup list
https://pharo.fogbugz.com/f/cases/17561

50579
17175 time profiler context menu shows deprecation warning
https://pharo.fogbugz.com/f/cases/17175

17519 Fix test for no package information for class side trait methods
https://pharo.fogbugz.com/f/cases/17519

17564 atomic pointers needs to be rolled as pointers when needed too
https://pharo.fogbugz.com/f/cases/17564

50578
17573 QualityAssistant v2.3.4
https://pharo.fogbugz.com/f/cases/17573

16866 DiffMorph with pretty print enabled wrongly shows diff markers for unformatted text
https://pharo.fogbugz.com/f/cases/16866
50577
17418 new breakpoint does not work on certain conditions
https://pharo.fogbugz.com/f/cases/17418

15839 class rename does not show changes that will be applied
https://pharo.fogbugz.com/f/cases/15839

17557 Update DependencyAnalyzer: In Linux some shortcuts use alt, some others ctrl
https://pharo.fogbugz.com/f/cases/17557

17569 Context menu in method pane is broken if no method is selected
https://pharo.fogbugz.com/f/cases/17569

50575
17555 Update FastTable: In Linux some shortcuts use alt, some others ctrl
https://pharo.fogbugz.com/f/cases/17555

17565 remove String>>#adaptToNumber:andSend:
https://pharo.fogbugz.com/f/cases/17565

50574
17281 Failing test: BlockClosureTest>>#testTallyInstructions
https://pharo.fogbugz.com/f/cases/17281

17553 missing classes in startup list
https://pharo.fogbugz.com/f/cases/17553

50573
17551 random fail on RubTextComposer>>recomposeFrom:to:delta:
https://pharo.fogbugz.com/f/cases/17551

17549 ChangesLog should subscribe weakly to SystemAnnouncer
https://pharo.fogbugz.com/f/cases/17549

17538 Remove dead SystemAnnouncer subscriptions
https://pharo.fogbugz.com/f/cases/17538

50571
GTInspector-Help
50570
16814 Critics Browser seriously broken
https://pharo.fogbugz.com/f/cases/16814

17545 StringMorph background part2
https://pharo.fogbugz.com/f/cases/17545
50559
17489 remove testSmoke
https://pharo.fogbugz.com/f/cases/17489

17463 NautilusUI>>#updatePackages MessageNotUnderstood: RPackage>>item
https://pharo.fogbugz.com/f/cases/17463

17459 #isInterruptedContextPostMortem should not be used
https://pharo.fogbugz.com/f/cases/17459

50568
17531 add #noteCompilationOfMethod:meta:
https://pharo.fogbugz.com/f/cases/17531

13209 StringMorph background
https://pharo.fogbugz.com/f/cases/13209

Pharo on Travis-CI

Hello everyone,
I haven’t had the time to officially announce it here, but some of you have already used or
contributed to this:
Pharo is officially supported on¬†Travis-CI! This means you can finally set “language: smalltalk” in
your .travis.yml in order to run tests for your GitHub-hosted Pharo projects on Travis-CI.
Peter has put together a blog post [1] that should get you started. For more information see [2].
If you have any bug reports or feature requests, please file an issue at [3].
Many thanks to Dale, Peter, Esteban and everyone else who contributed to smalltalkCI so far!
Happy testing!
Fabio (HPI student and smalltalkCI maintainer)

New Cog VMs available 

 

Hi All,
¬† ¬† first of all, apologies for the long wait for new VMs.¬† I know there are bugs that these VMs address and that it’s been 5 months since VMs were last made is something I regret.¬† The wait was due to my developing the 64-bit Spur Cog JIT VM which required surgery not just to the Cogit but also to Slang.¬† I beg your forgiveness.
¬† ¬†Secondly, the Mac VMs are much changed, using John McIntosh’s Cocoa support libraries.¬† The old Carbon UI VMs are history.¬† That means that Cog supports building on contemporary Mac OS releases.¬† These VMs were built on 10.9; I like the 3D look much more than the 10.10 one ;-).¬† The VMs are also signed, so installing them should be easier.
  Thirdly, these VMs include 64-bit JIT support.  There is an updated squeak trunk image at http://www.mirandabanda.org/files/Cog/SpurImages for you to try.  As yet the 64-bit Vms do not include an FFI plugin.  I hope to rectify this soon.
   Finally I have included Pharo Mac VMs, not to displace the official Pharo VMs, but to test my build process.  I hope that in very few months the svn repository will be moed to githup and that Esteban and I will build official VMs from the same repository.
CogVM binaries as per VMMaker.oscog-eem.1679/r3602
Include 64-bit Spur VMs for Mac OS X x64 and Linux x64. N.B. As yet these VMs
lack FFI support.
Move all Mac OS X VMs to the Cocoa libraries.  Minimum supported version should
be 10.6.x.  The Mac OS X VMs are signed and so should install properly without
having to disable the launch security checks.
Bug Fixes and Improvements:
General:
Add vmParameter 20 to answer the utc microseconds at startup.
CoInterpreter:
Remove the atCache from the CoInterpreter.¬† It’s of little benefit given the
Cogit.
ceSend: et al need to add looked up methods to the method cache, otherwise
methods only found through machine code sends will not be jitted.
Fix slip in maybeSelectorOfMethod: which will improve back traces
including methods containing pragmas (including primitives).
Modify secret primtiive 161, primitiveSetIdentityHash so that with 0 args it
answers whether an object has an identity hash.  This is vacuously true for V3,
but is meaningful in Spur.
Cogit:
Fix /horrible/ bug with primitive error codes and fixups.  The adjustment of the
initialPC to skip the primitive and error code, if any, was done after
generating fixups for backward branches, and hence these branches were bogus.
Object>>shallowCopy in Spur is subject to this, but amazingly enough it has not
surfaced before now.  Fix this by adjusting the initialPC before scanMethod
scans for fixups.
Fix bug in Spur machine-code at:put: on 32-bit bits objects; method failed to
fail for negative values.
Fill unused portions of methods with the stop instruction, not nop.
Explicitly initialize the code zone with stops. Explicitly clear the
reclaimed portion of the method zone after a compaction.
Include the reclaimed portion of the method zone in the I-cache flush
after a compaction: no point in leaving it in cache since it isn’t a
valid call/jump target.
Spur:
Maintain the survivor count on scavenge.
Fix start up of images containing >= 16 segments.  The old code assumed
numSegments < 16 and failed to grow the segment records, resulting in objects
in segments greater than 15 to not be swizzled, and a resulting crash.
Spur Cogit: Support CompiledMethod indexing in genPrimitiveAt[Put].  Hence fix
the regression in at:[put:] whereby in Spur one could access the literals part
of a method as bytes.
Add a machine-code primitive for objectAt: to provide fast literal and header
access on Spur.
Add 16-bit indexability to Spur.  Generate slimmer code for
positive32BitValueOf: on 64-bit Spur.
Fix a bug with out-of-place two-way become, which got the hash copy the wrong
way round.  By default, the hash stays with the reference in two-way become.
Fix what appears to be a compiler bug with in-place two-way-become by treating
the headers to be swapped so that remembered flags are swapped and hash bits
are swapped if required. This fixes a bug with in-place two-way become of
objects that are the same size on the heap.¬† One object’s contents would not
be updated correctly.
Implement ephemeron queue primitive.  Add an image flag that controls the
finalization support (StackInterpreter instVar newFinalization).  If unset,
finalization is as currently expected; WeakArray finalizes all WeakArrays in
its registries on each finalization (which does not scale!).  If set, then both
fired ephemerons and bereaved weak arrays are added to the finalization queue
and the finalization semaphore is signalled.  In this regime the image is
expected to send mourn to each element of the queue, and weak arrays will send
themselves finalize in mourn, side-stepping the finalizeValues steps and
rendering WeakArray’s FinalizationDependents and WeakRegistry obsolete.
The bit is set via
    Smalltalk vmParameterAt: 48
              put: ((Smalltalk vmParameterAt: 48) bitOr: 64).
Slang:
Fix bad regression in type inference from VMMaker.oscog-eem.1587.
returnTypeForSend:in: can only default return types to sqInt for unknown
selectors.  The rewrite in VMMaker.oscog-eem.1587 inadvertently defaulted the
return type of known methods whose return type was yet to be determined to
sqInt.  The fix is to only default to sqInt if there is no known method for the
given selector.  This fixes, for instance, the weird flipping of the type of
32-bit Spur’s headerWhileForwardingOf:,which should always be #sqLong.
Fix bad bug in type inferrence.  Avoid computing variable and return types
prematurely i.e. don’t derive types from as-yet-untyped methods.
Fix baaaad bug in node:typeCompatibleWith:inliningInto:in: which was looking
up the type of the formal parameter in inlining in the target method, not the
method being inlined!
Newspeak:
Fix bug in MNU for cogged dynamic super sends – should start looking for
#doesNotUnderstand: in the superclass not the receiver class. Unify MNU
lookup between absent and present receiver sends as a result.
Further fix outer send MNU by not confusing lkupClass and lkupClassTag.
Push setting lkupClassTag down to clarify it is for new cache entries.
Plugins:
Fix the FilePlugin’s unnecessary fullGC on Spur.
Include the file sync prim in the FilePrims plugin.
ThreadedFFIPlugin:
– ExternalAddress now are taken correctly (nor as ByteArray or Alien, because
  they are different beasts).
– allow pushing of pointers to any type (into a ByteArray, an ExternalAddress
  or an Alien), to allow passing parameters style int*, float*, etc.
– allow reading in memory to allow read chunks of ByteArray
Added ThreadedFFIPlugin>>#primitiveLoadSymbolFromModule (copy and adapt from
IA32ABIPlugin).
Fix coercion problems on FFI plugin (IA32 & ARM)
– character were not correctly mapped back
– floats were not being well checked
– external addressed needs to be treated as aliens for the purpose of coercing
  them as pointers (bad regression by Eliot)
Alien Plugins:
Fix missing primitive failure for Alien typeAt: 0 [put:].
Add word accessors to Alien.
_,,,^..^,,,_
best, Eliot

isSuspended!

Hi All,

¬† ¬†we have a serious misunderstanding in current versions of Squeak’s and Pharo’s Process>>isSuspended.
Squeak’s version reads

isSuspended
^myList isNil
Pharo’s reads
isSuspended
^myList isNil or: [ myList isEmpty ]
Process’s myList holds the list a process is on when it is not running.¬† There is only one running process at any one time, Processor activeProcess.¬† The active process’s myList is always nil, so Squeak’s and Pharo’s are both wrong for the active process.
Processor activeProcess isSuspended => true (!!!)
A process may be runnable, but not running (which follows form there being only one running process, the active process, at any one time).  If it is runnable but not running its list is one of the runnable process lists in the scheduler, e.g.
Processor waitingProcessesAt: Processor activePriority => a LinkedList()
Processor waitingProcessesAt: Processor lowestPriority => a LinkedList(a Process in ProcessorScheduler class>>idleProcess)
Here’s a couple of illustrative examples:
[Semaphore new wait] fork suspendingList
=> a LinkedList(a Process in [] in BlockClosure>>newProcess)
([Semaphore new wait] forkAt: Processor activePriority + 1) suspendingList
=> a Semaphore(a Process in [] in UndefinedObject>>DoIt)
In the first example above the new process isn’t running yet.¬† It’s runnable but hasn’t got a chance to run because the active process that created it is still running.¬† So the process’s list is Processor waitingProcessesAt: Processor activePriority.¬† In the second example the process has got to run, because, having higher priority, it has preempted the active process that created it.¬† So it suspends waiting on the semaphore.
So in fact, isSuspended should read something like
isSuspended
| myRunList |
myRunList := Processor waitingProcessesAt: priority.
^myList notNil and: [myList ~~ myRunList]
except that this isn’t atomic. But it isn’t the complete nonsense we have at the moment. Here’s an atomic version that answers the truth at the point that the question was asked:
isSuspended
| myPriority |
myPriority := priority.
^myList
ifNil: [false]
ifNotNil: [:list| list ~~ (Processor waitingProcessesAt: myPriority)]
We need tests like
self deny: Processor activeProcess isSuspended.

self deny: ([Semaphore new wait] forkAt: Processor activePriority) isSuspended.

self assert: ([Semaphore new wait] forkAt: Processor activePriority + 1) isSuspended.
Eliot

FFI related musings

 
While musing on FFI interfacing issues like C++ name mangling, I found
an interesting article "Beautiful Native Libraries" about the other
side of the fence of designing a nice library interface. I learnt some
things maybe of interest to others - perhaps for pushing upstream into
external libraries to ease their use by our FFI.
http://lucumr.pocoo.org/2013/8/18/beautiful-native-libraries/
Some of the ideas seem applicable to maybe one day helping the VM be
embeddable in other programs.

Also, for the occasional idea of in-Image parsing of C include files,
a link to a basic algorithm for macro expansion.
http://www.spinellis.gr/blog/20060626/

And while I haven't read the following, it was interesting to skim
"Calling conventions for different C++ compilers and operating
systems"
http://www.agner.org/optimize/calling_conventions.pdf

cheers -ben

The Pharo Unicode Project

Hi,

In Pharo we can deal with and represent any Unicode character and string, but there are still some important pieces of functionality missing.

The goal of the Pharo Unicode project is to gradually improve and expand Unicode support in Pharo. We started in December last year to lay the foundation and are now ready to go public with what we built.

The first delivery is an implementation of Unicode Normalization, together with an implementation of the Unicode Character Database.

Please read the following article for more information (the appendix explains how to get the code).

  An Implementation of Unicode Normalisation

  Streaming NFC, NFD, NFKC & NFKD, normalization QC and normalization preserving concatenation.

  https://medium.com/concerning-pharo/an-implementation-of-unicode-normalization-7c6719068f43#.qmy18gky0

The development branch also contains a work in progress implementation of Unicode Collation.

Much work remains to be done and contributions are more than welcome.

Sven & Henrik

BitTalk needs contributors

Jordi Delgado from Catalunya developed a torrent in pharo and here are some information… If you want to help contact Jordi.

 

MCHttpRepository
location: ‘http://smalltalkhub.com/mc/BitTalkDev/BitTalk/main’
user: ”
password: ”

I didn’t make it public because, after looking in detail to the code, I
think it needs a non-trivial effort to get improved.

It works, I mean, you can share files with it. For example, after
installing, open a workspace and try:

| locationString metainfoString torrent localPeer |
locationString:=’/home/n00ne/tmp’. “torrent file directory”
metainfoString:=’/home/n00ne/tmp/[kat.cr]mr.robot.s01e02.hdtv.x264.killers.ettv.torrent’.
“torrent file”
torrent:= BtTorrent metainfoFileString: metainfoString locationString:
locationString.
localPeer:= BtLocalPeer start.
localPeer addTorrent: torrent.
torrent start.
[torrent inspect] forkAt: Processor userBackgroundPriority .

PointerExplorer new openExplorerFor: ((BtLocalPeer allInstances) at: 1)

Jordi Delgado

 

More Enhancements

50567
17526 growMemoryByAtLeast: duplicated
https://pharo.fogbugz.com/f/cases/17526

17530 fix testDangerousClassesConditions
https://pharo.fogbugz.com/f/cases/17530

17242 String>>compare:caseSensitive seems to be failing for extended charset comparisons
https://pharo.fogbugz.com/f/cases/17242
50566
17521 recategorizing uncategorised method
https://pharo.fogbugz.com/f/cases/17521

17522 Failing test: ReleaseTest>>#testInstalledMethodsWithIncorrectTrailerKind
https://pharo.fogbugz.com/f/cases/17522

17479 Interval class comment mixes step/stop when explaining Instance Variables
https://pharo.fogbugz.com/f/cases/17479
50564
17366 wrong TempsNamesQCompress method trailer ?
https://pharo.fogbugz.com/f/cases/17366

17406 Renaming a class using the class menu “rename” option allows for non-capitalized class name
https://pharo.fogbugz.com/f/cases/17406
50563
17516 add #isFromSharedPool to OCLItteralVariable
https://pharo.fogbugz.com/f/cases/17516

17495 Decompiler cant decompile Object>>#instVarAt: due to error code
https://pharo.fogbugz.com/f/cases/17495

17508 Deprecate Unused Morph methods: submorphNamed: and submorphNamed: aName ifNone: aBlock
https://pharo.fogbugz.com/f/cases/17508
50562
17515 fix minimal Pharo shrinking build
https://pharo.fogbugz.com/f/cases/17515

17512 Spec should use FastTable
https://pharo.fogbugz.com/f/cases/17512

17501 ProcessTest>>testHighPriorityOverridesWaitTime intermittent failures
https://pharo.fogbugz.com/f/cases/17501

17035 The smallSaveIcon is the same as the smallSaveAsIcon
https://pharo.fogbugz.com/f/cases/17035

50561
17513 ThemeIcons>>#downloadFromUrl not working
https://pharo.fogbugz.com/f/cases/17513

17500 Implement class creation methods for new layouts
https://pharo.fogbugz.com/f/cases/17500

17491 find selector shows syntax error debugger
https://pharo.fogbugz.com/f/cases/17491
50560
16735 Replace Startup/Shutdown list with SessionManager
https://pharo.fogbugz.com/f/cases/16735

50557
17490 Command Line Handler test runner should print a small stack for failures and errors
https://pharo.fogbugz.com/f/cases/17490

50556
17496 add table for all defined method selectors and use it in code completion and syntax highlighting
https://pharo.fogbugz.com/f/cases/17496

50549
17466 testVisitXMLParserConfigurationWithVersion101 failing
https://pharo.fogbugz.com/f/cases/17466

17438 New Rubric Configuration
https://pharo.fogbugz.com/f/cases/17438

17454 QualityAssistant v2.3.3
https://pharo.fogbugz.com/f/cases/17454
50548
17474 adapt Athens to UnifiedFFI 0.11 (pointer arity logic)
https://pharo.fogbugz.com/f/cases/17474

17421 RubTextMethodLink and RubTextClassLink Leaks (TextStyling related)
https://pharo.fogbugz.com/f/cases/17421

17442 Improve Morph>>#flash
https://pharo.fogbugz.com/f/cases/17442

50546
17348 Enhance shortcut learnability
https://pharo.fogbugz.com/f/cases/17348

17452 UIManager has a test method …
https://pharo.fogbugz.com/f/cases/17452

17022 Return sequence not always emitted
https://pharo.fogbugz.com/f/cases/17022
50545
17296 Remove Delay>>otherwise:
https://pharo.fogbugz.com/f/cases/17296

17453 add #genForRBArgumentNode
https://pharo.fogbugz.com/f/cases/17453
50544
17423 PopupChoiceDialogWindow keyboard navigation
https://pharo.fogbugz.com/f/cases/17423

17435 ClassOrganisation>>#changeFromString: MNU for empty change
https://pharo.fogbugz.com/f/cases/17435
50543
17301 Morph>>#drawOnAthensCanvas: should only fill innerBounds
https://pharo.fogbugz.com/f/cases/17301

17384 RBNulllFormater>>#format: should not return nil
https://pharo.fogbugz.com/f/cases/17384

50541
17404 ExternalBrowser can not show meta class definition
https://pharo.fogbugz.com/f/cases/17404

17443 RubTextAreaExamples>>#show:while: should not use #displayWorldSafely
https://pharo.fogbugz.com/f/cases/17443

17457 Change Growl setting name to PopupNotifier
https://pharo.fogbugz.com/f/cases/17457
50538
17444 SVColorSelectorMorph should not use (World displayWorldSafely)
https://pharo.fogbugz.com/f/cases/17444

17408 The generic stack debugger defines double meaning for some keybindings when editing code
https://pharo.fogbugz.com/f/cases/17408

17335 We should add a #ffiSizeOf:
https://pharo.fogbugz.com/f/cases/17335

50537
17267 fix senders of #compactClassesArray
https://pharo.fogbugz.com/f/cases/17267

17077 ReleaseTest testMethodsWithUnboundGlobals fails for some slotexamples
https://pharo.fogbugz.com/f/cases/17077

50536
17425 unload BaselineOfFFINB
https://pharo.fogbugz.com/f/cases/17425

17427 deprecated Form class>>#unload
https://pharo.fogbugz.com/f/cases/17427

50535
17415 SimpleButtonMorph lacks #themeChanged
https://pharo.fogbugz.com/f/cases/17415

17357 Lost instance variables (AthensCairoPatternSurfacePaint)
https://pharo.fogbugz.com/f/cases/17357

17422 Rename FFI-NB to UnifiedFFI
https://pharo.fogbugz.com/f/cases/17422

50534
17419 Rename AthensCairoCanvas setAlpha: to drawWithAlpha:
https://pharo.fogbugz.com/f/cases/17419

17416 Integrate GTools version 3.9
https://pharo.fogbugz.com/f/cases/17416