Utilities → updateFromServerAlternatively, you can evaluate:
Utilities updateFromServer
The following is also handy if you want to upgrade only up to a specific version:
Utilities updateFromServerThroughUpdateNumber: 10300
ScriptLoader loadOBworld menu->open...Preference Browser. Got to "developer image" category and disable "ecompletionSmartCharacters"Installer squeaksource project: 'OCompletion'; install: 'OCLoader'If OmniBrowser is not recognizing it, just evaluate OCompletionTable lookForOB.
There is also a paper explaining how it works and why it is better than ECompletion.
ctrl-space(Preferences dictionaryOfPreferences at: #showDeprecationWarnings) preferenceValue: true.SHWorkspace new contents: 'contents'; openLabel: 'TASKS'.
| mc fileToLoad version | mc := Smalltalk at: #MCHttpRepository ifPresent: [:repoClass | repoClass location: 'www.squeaksource.com/Installer' user: 'squeak' password: 'squeak']. fileToLoad := mc readableFileNames detect: [ :aFile | aFile beginsWith:'Installer-sd.3' ] ifNone: [ nil ]. version := mc versionFromFileNamed: fileToLoad. version workingCopy repositoryGroup addRepository: mc. mc creationTemplate: mc asCreationTemplate. version load.
NB: Installer provides a high-level interface to specify load scripts.
ScriptLoader new installingUniverseNumber with Number>>chf but have Monticello recognize it as being part of my Money package.Put it in a method-category named *money. MC gathers all extension methods that are in categories named like *package.
If you directly open code critics, it will analyze the whole smalltalk system!
| pkg | pkg := PackageInfo named: 'Saphir'. pkg classes do: [:class | class category: 'Coral' ]. pkg methods collect: [:method | method actualClass organization classify: method methodSymbol under: #'*coral' ]
SystemNavigation default browseAllSelect: [:method | method sendsToSuper ] SystemNavigation default browseMethodsWithSourceString: 'super'
class := Collection.
SystemNavigation default
browseMessageList: (class withAllSubclasses gather: [ :each |
each methodDict associations
select: [ :assoc | assoc value sendsToSuper ]
thenCollect: [ :assoc | MethodReference class: each selector: assoc key ] ])
name: 'Supersends of ' , class name , ' and its subclasses'The refactoring browser way:
((BrowserEnvironment new forClasses: (Collection withAllSubclasses)) selectMethods: [:method | method sendsToSuper]) open
Integer[:aClass| aClass methodDict keys select: [:aMethod | (aClass superclass canUnderstand: aMethod) not ]] value: Integer
[:aClass| aClass methodDict keys select: [:aMethod | (aClass>>aMethod) isAbstract ]] value: Number
Smalltalk allTraitsSmalltalk allClasses select: [:each | each hasTraitComposition ]SystemNavigation default browseAllUnimplementedCallsAlso Smalllint: open > code critics on a category will do it.
| tr | tr := TestRunner new. ToolBuilder open: tr. tr categoryAt: (tr categoryList indexOf: 'SCGPier') put: true; "etc" selectAllClasses; runAll.
If you have an older image, just evaluate Installer ss project: 'Pharo'; install: 'SUnitGUI'.
The test runner will normally prompt you for the package to check for coverage. To eliminate this prompt, you can explicitly declare the package(s) to be covered on the class side of your test class as follows:
packageNamesUnderTest
^ #('SplitJoin')To indicate that a particular method should not be considered in the coverage check, simply add the annotation: <ignoreForCoverage> To exclude whole classes within a package from consideration for coverage, define a class side method on your test class called classNamesNotUnderTest:
classNamesNotUnderTest
^ #('GUI' 'README')'hello world' asSet ...(WriteStream with: String new) nextPutAll: 'hello world' asSet; contents[ ... ] on: Error do: [ ... ]Time millisecondsToRun: aBlockTimeProfileBrowser spyOn: [ ... ].(Delay forSeconds: 5) wait.Be sure to load MethodWrappers3.9 for the 3.9 squeak image.
An alternative is to use http://www.squeaksource.com/ObjectsAsMethodsWrap.html which implements run:with:in:# instead of subclassing CompiledMethod.
'self form storeString'.The result will (should) be usable to recreate the image. For example (self here is the ByteString):
(SketchMorph withForm: (Compiler evaluate: self)) openInWorld
(SketchMorph fromFile: 'sq.png') openInWorldself layoutChangedDoes not seem to work ...
(FileDirectory default newFileNamed: 'tmp.txt') nextPutAll: 'stuff'; close. (FileDirectory default oldFileNamed: 'tmp.txt') contents.
FileList2 modalFolderSelectorScriptLoader loadLatestPackage: 'AST' from: 'http://www.squeaksource.com/AST'. ScriptLoader loadLatestPackage: 'Refactoring-Core' from: 'http://www.squeaksource.com/RefactoringEngine'. ScriptLoader loadLatestPackage: 'SmaCC' from: 'http://www.squeaksource.com/SmaccDevelopment'. ScriptLoader loadLatestPackage: 'SmaCCDev' from: 'http://www.squeaksource.com/SmaccDevelopment'.
Be sure that SmaCC is up-to-date first! NB: The first two are already in the Pharo-dev images Warning: SmaCC-Development is for Squeak 3.8 — don’t use it
SampledSound class>>soundNamed: and comment out the self inform:(RBParser parseExpression: '3+4') explore [explore it]re search: aString instead of re matches: aStringself inform: "..."