Monthly Archives: November 2015

Automata frameworks

Mike Filonov from PharoCloud published an automata frameworks for microservice management :).

See example at:

Some more enhancements!

17151 MCWorkingCopyBrowser needs some love

17154 Add a highlight to tempvar declarations when they are unused

15543 Add a menu to add the Meta catalog of Pharo to MC

17091 SpecDebugger has unused vars

17143 With QA warning for uninitialised Variables, we can remove it from the Compiler

17104 Cleaning Komitter code

17038 DebugActionExecuted should be triggered for every debugging action

17115 DNU when draging an element of PopupChoiceDialogWindow.

17102 two tests in SugsMenuBuilderTest failing
17142 Break needs to be after senders in suggestion menu

17141 Ones BreakPoints need to de-install *before* the node, no after

17063 Rename superclass does not update Nautilus classdefinition pane for subclasses

16712 Completion: Dont try Globals as completion for string values

17139 Breakpoints: add once / condition to method menu

17138 Watchpoint on variable if assignment is not compiled correctly

17137 remove suggestion entry “Delete Watchpoint History”
17136 [cleanup] remove unused PackageTreeGroupNodeModel

17135 WatchpointTests>>#testTimestamp

17106 better MethodDictionary comment

17130 Morph+BorderedMorph SystemWindow Protocol cleanup

17080 Special Object Array does not hold the right Processor association

17131 styling for watchpoints on variable node happens twice

17129 Watchpoint window should also be able to uninstall a watchpoint

17128 remove unused class TransformWithLayoutMorphForMultipleEditors

17114 ChangeSorterModel has invalid method ref in removeMethod: inClass:
17098 Improve Date class API

17127 Fix watchpoints

17125 Metadata-less compatibility with FileTree

17126 Watchpoint window should use Watchpoint start/stop API instead of Install/Uninstall

17123 allowing start and stop recording for watchpoints

16361 There are some empty packages

17121 Allow breakpoint on everything
17111 RBPatternParser and cascade messages

17122 Allow watchpoints on variables

17120 Improve the UI for seeing watchpoints

17118 debug menu in Nautilus source text pane when in class definition state.
17103 support for watchpoint with optionWeakAfter metalink

17107 Strange effect after opening the Debugger: sometimes two UI processes

17105 Have a minimal UI for seeing watchpoints

17101 clean AnnotationRequest

17100 DropEvent should not check the type in #sentTo:

17045 Auto-completion should not be used when typing numbers

13756 Delay scheduling deadlock

17097 add support for #value for MessageSend #after

17087 Nautilus: remove setting #useExperimentalFastTable

17096 Watchpoints

17095 small code critique cleanup in NautilusCommon

17094 Small code critique cleanup in Morphic-Widgets-Tabs

17090 Opening debugger API cleanup. Part3

16936 Desktop Background Image changes aspect ratio whenever the Pharo World window does

17082 Opening debugger API cleanup. Part2

17093 use Set #parseOptions: in Opal

17092 Make ensure: wrapping optional for #after on sends
17081 remove PackageTreeNautilusUI

17085 QualityAssistant v2.1

17078 Dont transform method argument access extra tempVars for to:do: transformations

17069 Opening debugger API cleanup. Part1

17044 Rename superclass does not make subclasses packages dirty

16988 GTExample depends on Nautilus

17008 Failing test: ClassTest testClassRespectsPolymorphismWithTrait

17076 text pane of Nautilus is always returns true for #hasUnacceptedEdits after opening the browser

17075 MockTranscript does not understand #stepGlobal

17050 SHTextStyler>>styleInBackgroundProcess: spawns too many processes

17070 fix: link with reification twice installed
16760 Dictionary>>= breaks when comparing identity and non-identity dictionaries

17071 merge all methods of PackageTreeNautilusUI into NautilusUI

17064 Add new SystemAnnouncement for “parent class name changed”

17073 wrong arrow icon in Group Manager
17068 fix debug highlight of breakpoints

17067 Breakpoint #removeAll
17053 Merge DialogGroupManagerWithPackagesSelectionUI into DialogGroupManagerUI

17059 builder style API for Breakpoint

17058 recompile whole image after compiler change
13854 frameSize calculated wrongly for #lineSegmentsDo:

17055 simplify Breakpoint API and menu entries a little

17052 Small cleanup GroupManager model

17051 browsing a method directly via spotter does not show visualization of breakpoints if it has any breakpoint
17049 Morphic-Core cleanup

17048 visualization of breakpoints logic on nautilus ui + reset logic to support remove all breakpoints on a method

17039 Broken context menu in MessageBrowsers code pane
17046 announce link remove + fix DNU when Nautilus has no method selected

17032 ExternalBrowser should be able to show class definitions

17040 Morph HalosEnabled variable is not use.

17043 Use uppercase for breakpoint menu item labels in suggestions

17010 MultistateButtonMorph to use announcement instead of #triggerEvent:

17037 Simplify suggestions for Breakpoints

17027 nil out instanceVariables and remove accessor

17033 Visualization of Breakpoints

17030 ExternalBrowser can not switch back to the instance side
17025 unify naming: break, not halt

17023 Do not update instanceVariables ivar

17020 PackageWidget has un-used packagesListElements variable
17011 #instVarNames should get data from layout

17018 Wrong Documention in WidgetExamples

17019 Add a dedicated MethodContainsBreakAction

17012 simplify Class>>#copy

17016 multiple close window shortcuts

17013 improve #isUsed
16916 QualityAssistant v2.0
17006 Remove usage of when:send:to in NECMenuMorph

17003 Remove usage of triggerEvent: #extent … in ImageMorph

16925 Monticello does not take into account RPackage model

17002 EyeInspectorTest assumes that EyeInspector is the default inspector

17005 text pane of Nautilus is always returns true for #hasUnacceptedEdits

17004 Unify Breakpoint with Breakpoint2

17001 new rubric configuration
17000 Breakpoints per method using meta links

16960 fix DNU hasBindingOf:

16998 Loading old monticello files throws UTF8InvalidText

16992 deprecate methodDictAddSelectorSilently:withMethod:

16952 Change class template creation

16975 versionner (Object>>#name)

16997 Update to Catalog 0.11 (Easy loading, setting to switch of catalog spotter integration)

16994 GrowlMorph position improvement

16995 StandardWindow>>#flash should not block the UI thread

16986 folding PackageWidget into AbstractPackageWidget, ClassWidget into AbstractClassWidget and rest

16991 fix: be able to invalidate the whole image (classes and metaclasses)

16985 #methodDictAddSelectorSilently:withMethod: not needed

16990 Class definition got broken

16989 simplify installing reflective method

16983 add <disableReflectivity> pragma, use to to be able to put links on the whole Kernel

16982 New ConfigurationOfRubric available

16984 fixed menu on category in nautilus

16981 Round the top corners of MenuTitleMorph if the menu itself uses rounded corners

16973 clean all methods of point

16891 MethodWidget should use a dictionary to store selected methods (Was: FT: Multi selection can happen when it should not)

16980 Folding CategoryWidget into superclass

16979 Integrate latest version of Catalog browser 12.11.2015

16971 fix: support primitive methods wit arguments

16918 Cant configure a tree to auto refresh when a node is folded and then unfolded

16908 wrong source node for pc in mustBeBooleanInMagic

16970 Cleaning Graphics-Shapes categorisation

16967 Inspecting the Scopes presentation of some ProgramNodes results in an exception

16963 Smalltalk globals not needed for smart suggestions of OCLiteralValiable

16953 Clean Point Reciprocal comment and improving class comment!

16941 Slots can not have non-latin names

16965 Smalltalk globals cleaned in system navigator and organiser and TClass

16966 Invalidate whole image: more fixes

14109 When removing an ivar from a class, all packages of classes that are subclasses are Dirty

16952 Change class template creation

15542 Monticello marks a package dirty if you install an extension method package with a name starting with the first packages name

16958 Fix name analysis RF

16954 Smalltalk globals cleaning in ProtoObject and Tools

16956 DNU from Syntaxhighligher tries to parse method in VersionBrowser

16932 Rename NewVersionBrowser

16951 criticbrowsers syntaxhighlight broken

16949 SystemWindow activation refactoring
16946 revert 16814: Monkey completely broken

16832 Some Morph improvements
16814 Critics Browser seriously broken

16923 Improve OrderedCollection comment.

16935 Source Sans and Code fonts do not support non-latin characters (symbols or cyrillic)

16940 better tearDown ReflectiveMethodTest
16934 Some ImageForms become transparent when dragging them

16917 No way to prevent radio button from desactivating

16930 NewVersionBrowser: issue with browsing versions of class side methods

16706 TextModel with Rubric Widgets dont update TextModels selection

16933 experiment: skip FLContextSerializationTest>>testDoIt

16931 wrong “method class” for trait methods from a trait method changerecord

16489 Monticello browser doesnt update others after adding repo

16743 MCStReader cannot read trait definitions

16910 Improve Dictionary comment

16518 AST based Syntax Coloring: Semantic analysis problems

16635 Rename layout to classLayout (step 3 use new accessors)

16911 UTF8InvalidText should be subclass of Error instead of Exception

16906 SmallInteger>>fromString:radix: purpose?

16902 Improve Array comment

16905 Remove activeOnlyOnTop Ivar from SystemWindow

16896 Update Nautiluss title when we Rename the browed class.

16904 Comment for CollapsedMorph

16909 Improve Interval comment

16907 Can not inspect doIt methods


Hi all,

Marcus, Miguel Campusano and me have been working the last few weeks on getting breakpoints and watchpoints working for Pharo 5. Since a few days we have functionality that works for many cases and that is easily accessible. It’s really cool, I urge you to try it out!

In Nautilus in the methods list you can add a breakpoint to a method, as well as a breakpoint that triggers once, or a breakpoint that takes a condition. (The last is still a bit complicated. Marcus promised that he will clean that up :-).) Also in the code pane the suggestions menu allows you to add a breakpoint to expressions. They will be highlighted in red, and an icon appears in the gutter. Clicking it removes the breakpoint and  also bringing up the suggestions menu allows you to remove them.

Watchpoints are a simple mechanism to log the results of specific expressions. In the code pane the suggestions menu allows you to set a watchpoint. The expression is highlighted in red and in the gutter a green ball appears. Click it and you will have a simple UI that shows the last values recorded. (Actually the watchpoint records every execution and never throws anything away, so this can become a memory hog, be careful.) You can remove the watchpoint from the UI and from the suggestions menu.

In our experiments we found both very useful and powerful, try them out and be sure to tell us if there are any problems 


Installing Chronos Manager is dead easy just open configuration browser/ catalog browser and load it from there and it will also add a menu entry at the world menu.

Hope you like it much more to come 🙂




I quickly wrote yet another small tool to work faster with Pharo. I call it 
"QuickAccess" - it's some kind of "ScriptManager 2.0" allowing you
to quickly access actions (defined as code scripts) via Spotter, Menu, Button, etc. 

You can load it from Spotter/Catalog in Pharo 5.0 beta.

The following video demonstrates how to use it:

The defined structure including the scripts can be exported to a file 
and send around. So far it is "complete" for my own requirements - if you
feel something is missing you can contribute and help moving it forward.

The repo is at!/~TorstenBergmann/QuickAccess
Contact me with your STHub account if you need access.

The tool has some similarities with Playground/script cache, but GT tools
lack the category structuring for scripts that you find in QuickAccess.
It might be an inspiration for a future unified script management solution
in Playground.

Have fun!


RenoirSt 2.0 is out

RenoirSt 2.0.0 released!

RenoirSt is a CSS management system where CSS elements are plain objects. More about RenoirSt on Entreprise Pharo book: Here is the announce made by Gabriel Cotelli.

I’m announcing a new official release of RenoirSt.

– Issue #33 :@font-face rules support
– Issue #48 URL relatives to style sheet
– Issue #49 Improved test portability
– Issue #51 Missing HTML5 tags support
– Issue #53 Improve CssAttributeReference for String fallbacks
– Issue #54 Add special selectors for headings
– Issue #57 Add explanation of how to use the library as a dependency.
– Issue #59 Updated tutorial
– Issue #60 Add shortcut for not:
– Issue #61 Add BoxShadow support

See the changes in:

Enhancements, enhancements and enhancements

It is fascinating to see Pharo improved daily and steadily.

Thanks all the contributors for all these good energy.

16894 Better generator class comment

16881 MCLazyVersion: avoid aggressive fetch of version info

16900 Small Nautilus cleanup

16884 Update FastTable (see description to know more)
16892 Zn Update October 2015

16898 MNU: Point>>@

16899 StartupPreferencesLoader makes new unimplemented calls in the minimal Pharo
16890 remove ClassesIconsCache and GroupsIconsCache from Nautilus

16897 Metaclass>>#name has two critics

16889 Inst Var Refactoring-Accessors generate source with linefeeds

16895 New test for binary selector support
16883 Highlight in Senders of… throws a MNU if the search term was found in a class comment

16818 Renaming a Class triggers debugger

16886 Quick access at startup preferences folder

16254 Failing test: ReleaseTest>>testLocalMethodsOfTheClassShouldNotBeRepeatedInItsTraits

16880 #tearDown for ReflectivityControlTest
16850 RingChunkImporter>>#removedMethod:with: calls: addRemovedSelector:

15969 move method refactoring does not work anymore

16836 Cant remove an instance variable and a trait in one step

16876 Improve speed of OrderedDictionary>>#atRandom:

16874 RBRefersToClassRule should handle classes that are not in method dict

16856 Any KeyboardFocus change in the HandMorph should be announced
16863 Make expandMacros more consistent with general use

16462 BIConfigurableFormatter should not use asString

16862 1px missing on Nautilus UI

16864 DNU on running tests from nautilus (on non TestCase subclass)

16802 MessageBrowser does not unregister itself for system announcements

16869 move all messages #emphasizeScanner from Text-Core package to Text-Scanning

16868 Monticello Browser does not unregister itself for system announcements
16847 assert: should not raise an error with a non-boolean argument

16859 Automatic removing of temporary variable leaves a blank character

10808 Bad behavior on FileOut/FileIn tool when using traits

16536 Fix VSReleaseDevelopmentVersionCommandTest>>#testResolveSymbolicVersionsIn

16835 Error when removing a trait in a class being browsed

16841 MethodClassifier should classify on pragma

16855 Class template mentions poolDictionary

16842 Recategorize example -> examples

16845 Collection do not need initialization anymore

16852 SocketStream class>>#finger: calls unimplemented call getLine

16840 Each browser has its own classifier

16819 dropping a “.changes” file on the world does not open changes browser

16837 Refactor AboutDialogWindow
16849 unimplemented call in OCCompilerASTPlugin class>>#transform: in minimal Pharo

16788 PluggableDictionary, SmallDictionary fixes and tests

16853 ZipFileMember>>#uncompressDataTo: calls unimplemented message #proceed

16829 Nautilus should use font size for layout
16844 TextConverter seems not to be using poolDictionary EventSensorConstants

16848 unimplemented call in MetacelloToolbox>>#baselineNamed:

16838 Missing return caret in RBVariableReferencedOnceRule>>basicCheck

16851 SMTPClient class>>#deliver:usingServer: should be in the package Network-Mail

16808 inspect decompiled method with breakpoint

16771 Morphic “debug drawing error” broken

16834 implement Nautilus class>>emptyCommentWarning:

16437 World Contents Menu should have a maximum string length for its elements

16830 fix known locales initialization

16825 make standalone Gofer-UI package

16821 broken ArraydCollection>>#writeOnGZIPByteStream:

16820 rename “node” to “entity” in RFReification

16828 implement doNop

16827 #sourceInterval should work for every RBNode – Yes even RBArrayNode

16826 GrafPort font methods should be moved to the package Graphics-Fonts

16823 Color>>#fillRectangle:on: should be in Graphics-Canvas

16831 unimplemented call in MCFileTreeAbstractReader>>#packageProperties