Skip to content

Commit f8ec75a

Browse files
committed
Merge branch 'Pharo7.0' into 22830-Object-centric-metalink-integration
2 parents 64f9881 + aa3a1e6 commit f8ec75a

File tree

256 files changed

+2253
-16820
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

256 files changed

+2253
-16820
lines changed

CONTRIBUTING.md

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,21 +8,15 @@ If you found a bug or issue with Pharo please let us know. You can report bugs o
88
### How to report a bug
99
* Take the latest stable or latest development system, ideally using the latest virtual machine is better (check [download](https://pharo.org/download) page).
1010
* Make sure that you can reproduce the bug.
11-
* Send a mail to the mailing-list pharo-dev mailing if you are not sure, check if the bug was already reported on https://pharo.manuscript.com/
12-
* Open a bug entry on https://pharo.manuscript.com/
11+
* Send a mail to the mailing-list pharo-dev mailing if you are not sure, check if the bug was already reported on https://github.com/pharo-project/pharo/issues
12+
* Open a bug entry on https://github.com/pharo-project/pharo/issues
1313
* Do not forget to mention the virtual machine version, your OS and other crucial information
1414
* Follow your bug. Indeed it may happen that your bug is fixed by introducing another bug fix and you can verify and close it.
1515
* Watch the video from the [Pharo TechTalk February 2018](https://www.youtube.com/watch?v=VW7XrFjnbyw) for a step by step tutorial.
1616

1717
### How to propose a bug fix or enhancement
1818

19-
First check if your change has already been entered into [Manuscript](https://pharo.manuscript.com/), and consider watching the [overview video](https://vimeo.com/162493974) of the steps documented below. (Manuscript used to be called Fugbugz, you will see this old name used a lot instead)
20-
21-
#### Prerequisites
22-
23-
In order to propose a bug fix or enhancement for Pharo you need:
24-
25-
- An account for the [Manuscript Pharo Issue Tracker](https://pharo.manuscript.com/), so that you can change the status of an issue. This status changes is important because it will launches the monkey (a robot that will load and run the tests automatically).
19+
First check if your change has already been entered into the [issue tracker](https://github.com/pharo-project/pharo/issues), and consider watching the [overview video](https://vimeo.com/162493974) of the steps documented below.
2620

2721
#### Pharo 70 and git
2822

@@ -43,7 +37,7 @@ You also need an account on [SmalltalkHub](http://smalltalkhub.com/) with comm
4337
In summary you will do the following:
4438

4539
- Take the latest stable or latest development system, ideally using the latest virtual machine (check the [downloads](https://pharo.org/download)).
46-
- Do a fix for a given bug, or a new bug you entered on the [Manuscript issue tracker](https://pharo.manuscript.com/).
40+
- Do a fix for a given bug, or a new bug you entered on the [issue tracker](https://github.com/pharo-project/pharo/issues).
4741
- Create a code fix (ideally with a unit test exercising the working code)
4842
- Create a slice (group of packages):
4943
- Open the Monticello Browser.

Jenkinsfile

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,22 @@ def shell(params){
3030
def runTests(architecture, prefix=''){
3131
cleanWs()
3232
dir(env.STAGE_NAME) {
33-
unstash "bootstrap${architecture}"
34-
shell "bash -c 'bootstrap/scripts/run${prefix}Tests.sh ${architecture} ${env.STAGE_NAME}'"
35-
junit allowEmptyResults: true, testResults: "${env.STAGE_NAME}*.xml"
36-
archiveArtifacts allowEmptyArchive: true, artifacts: "${env.STAGE_NAME}*.xml", fingerprint: true
33+
try {
34+
unstash "bootstrap${architecture}"
35+
shell "bash -c 'bootstrap/scripts/run${prefix}Tests.sh ${architecture} ${env.STAGE_NAME}'"
36+
junit allowEmptyResults: true, testResults: "${env.STAGE_NAME}*.xml"
37+
archiveArtifacts allowEmptyArchive: true, artifacts: "${env.STAGE_NAME}*.xml", fingerprint: true
38+
}finally{
39+
// I am archiving the logs to check for crashes and errors.
40+
if(fileExists('PharoDebug.log')){
41+
shell "mv PharoDebug.log PharoDebug-${env.STAGE_NAME}.log"
42+
archiveArtifacts allowEmptyArchive: true, artifacts: "PharoDebug-${env.STAGE_NAME}.log", fingerprint: true
43+
}
44+
if(fileExists('crash.dmp')){
45+
shell "mv crash.dmp crash-${env.STAGE_NAME}.dmp"
46+
archiveArtifacts allowEmptyArchive: true, artifacts: "crash-${env.STAGE_NAME}.dmp", fingerprint: true
47+
}
48+
}
3749
}
3850
}
3951

bootstrap/scripts/4-build.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ ${VM} "${PHARO_IMAGE_NAME}.image" "${IMAGE_FLAGS}" eval --save "Smalltalk vm par
216216

217217
env 2>&1 > env.log
218218

219-
${VM} "${PHARO_IMAGE_NAME}.image" "${IMAGE_FLAGS}" eval --save "Metacello new baseline: 'Tonel';repository: 'github://pharo-vcs/tonel:v1.0.11';onWarning: [ :e | Error signal: e messageText in: e signalerContext ]; load: 'core'"
219+
${VM} "${PHARO_IMAGE_NAME}.image" "${IMAGE_FLAGS}" eval --save "Metacello new baseline: 'Tonel';repository: 'github://pharo-vcs/tonel:v1.0.12';onWarning: [ :e | Error signal: e messageText in: e signalerContext ]; load: 'core'"
220220
${VM} "${PHARO_IMAGE_NAME}.image" "${IMAGE_FLAGS}" eval --save "Metacello new baseline: 'Pharo';repository: 'tonel://${BOOTSTRAP_REPOSITORY}/src';onWarning: [ :e | Error signal: e messageText in: e signalerContext ]; load"
221221
${VM} "${PHARO_IMAGE_NAME}.image" "${IMAGE_FLAGS}" eval --save "FFIMethodRegistry resetAll. PharoSourcesCondenser condenseNewSources. Smalltalk garbageCollect"
222222
${VM} "${PHARO_IMAGE_NAME}.image" "${IMAGE_FLAGS}" clean --release

bootstrap/scripts/upload_to_files.pharo.org.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ set -ex
44

55
# I will use the name of the image to determine the vm version (because file name is in the format Pharo7.0.0-rc1)
66
#
7-
PHARO_NAME_PREFIX=$(find . -name "Pharo*.zip" | head -n 1 | cut -d'/' -f 2 | cut -d'-' -f 1-2)
7+
PHARO_NAME_PREFIX=$(find . -name "Pharo*-bootstrap*.zip" | head -n 1 | cut -d'/' -f 2 | cut -d'-' -f 1-2)
88
PHARO_SHORT_VERSION=$(echo "${PHARO_NAME_PREFIX}" | cut -d'-' -f 1 | cut -c 6- | cut -d'.' -f 1-2 | sed 's/\.//')
99

1010
destDir="/appli/files.pharo.org/image/${PHARO_SHORT_VERSION}/"

bootstrap/src/BaselineOfPharoBootstrapProcess.package/BaselineOfPharoBootstrapProcess.class/instance/baseline..st

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ baseline: spec
55
spec for: #common do: [
66
spec blessing: #baseline.
77
spec baseline: 'Tonel' with: [ spec
8-
repository: 'github://pharo-vcs/tonel:v1.0.11' ].
8+
repository: 'github://pharo-vcs/tonel:v1.0.12' ].
99
spec baseline: 'Hermes' with: [ spec
1010
repository: 'github://tesonep/hermes:v2.4.1';
1111
loads: 'core' ].

src/AST-Core/BISimpleFormatter.class.st

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -81,11 +81,6 @@ BISimpleFormatter >> codeStream: anObject [
8181
codeStream := anObject
8282
]
8383

84-
{ #category : #'public interface' }
85-
BISimpleFormatter >> containerWidth: anInteger [
86-
"nothing done on purpose"
87-
]
88-
8984
{ #category : #'public interface' }
9085
BISimpleFormatter >> format: aParseTree [
9186
originalSource := aParseTree source.

src/AST-Core/RBNullFormatter.class.st

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,6 @@ RBNullFormatter class >> formatAsYouReadPolicy: aBoolean [
3030
FormatAsYouReadPolicy := aBoolean
3131
]
3232

33-
{ #category : #'public interface' }
34-
RBNullFormatter >> containerWidth: anInteger [
35-
"doing nothing on purpose"
36-
]
37-
3833
{ #category : #'public interface' }
3934
RBNullFormatter >> format: aParseTree [
4035
^ aParseTree source

src/AST-Core/RBProgramNode.class.st

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -333,14 +333,7 @@ RBProgramNode >> evaluatedFirst: aNode [
333333

334334
{ #category : #accessing }
335335
RBProgramNode >> formattedCode [
336-
^ self formattedCodeWithMaxLineLength: 70
337-
]
338-
339-
{ #category : #accessing }
340-
RBProgramNode >> formattedCodeWithMaxLineLength: anInteger [
341-
^ self formatterClass new
342-
containerWidth: anInteger;
343-
format: self
336+
^ self formatterClass new format: self
344337
]
345338

346339
{ #category : #accessing }

src/Athens-Cairo/CairoLibrary.class.st

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ CairoLibrary >> unix32ModuleName [
2121
Look in a number of known locations, or LD_LIBRARY_PATH."
2222

2323
(#('/usr/lib/i386-linux-gnu' '/usr/lib32' '/usr/lib'),
24-
(((OSEnvironment current getEnv: 'LD_LIBRARY_PATH') ifNil: [ '' ]) substrings: ':'))
24+
((OSEnvironment current at: 'LD_LIBRARY_PATH' ifAbsent: [ '' ]) substrings: ':'))
2525
do: [ :path |
2626
| libraryPath |
2727
libraryPath := path asFileReference / 'libcairo.so.2'.
@@ -38,7 +38,7 @@ CairoLibrary >> unix64ModuleName [
3838
Look in a number of known locations, or LD_LIBRARY_PATH."
3939

4040
(#('/lib/x86_64-linux-gnu' '/usr/lib'),
41-
(((OSEnvironment current getEnv: 'LD_LIBRARY_PATH') ifNil: [ '' ]) substrings: ':'))
41+
((OSEnvironment current at: 'LD_LIBRARY_PATH' ifAbsent: [ '' ]) substrings: ':'))
4242
do: [ :path |
4343
| libraryPath |
4444
libraryPath := path asFileReference / 'libcairo.so.2'.

src/BaselineOfIDE/BaselineOfIDE.class.st

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,7 @@ BaselineOfIDE >> baseline: spec [
156156

157157
spec package: 'BlueInk-Core'.
158158

159+
spec package: 'Transcript-NonInteractive-Tests'.
159160
spec package: 'Collections-Tests'.
160161
spec package: 'Text-Tests'.
161162
spec package: 'Network-Tests'.
@@ -314,6 +315,7 @@ BaselineOfIDE >> baseline: spec [
314315
spec package: 'PerformMessageCommandLineHandler'.
315316
spec package: 'Pharo-Help'.
316317
spec package: 'PharoDocComment'.
318+
spec package: 'PharoDocComment-Tests'.
317319
spec package: 'Polymorph-Widgets-Rules'.
318320
spec package: 'ProfStef-Tests'.
319321
spec package: 'Random-Tests'.
@@ -477,6 +479,8 @@ spec group: 'General-Tests-Group' with: #(
477479
'System-Identification-Tests'
478480
'System-DependenciesTests'
479481
'System-BasicCommandLineHandler-Tests'
482+
'Transcript-NonInteractive-Tests'
483+
'PharoDocComment-Tests' "standalone"
480484
).
481485

482486
spec group: 'FuzzyMatcher-Core-Group' with: #(
@@ -841,7 +845,7 @@ BaselineOfIDE >> loadCalypso [
841845

842846
Metacello new
843847
baseline: 'Calypso';
844-
repository: 'github://pharo-ide/Calypso:v0.13.0/src';
848+
repository: 'github://pharo-ide/Calypso:v0.14.2/src';
845849
onConflict: [ :err | err useIncoming ];
846850
onUpgrade: [ :err | err useIncoming ];
847851
load: #('FullEnvironment' 'SystemBrowser' 'Tests').
@@ -855,7 +859,7 @@ BaselineOfIDE >> loadCalypso [
855859
BaselineOfIDE >> loadIceberg [
856860
Metacello new
857861
baseline: 'Iceberg';
858-
repository: 'github://pharo-vcs/iceberg:v1.4.1';
862+
repository: 'github://pharo-vcs/iceberg:v1.5.2';
859863
load.
860864
(Smalltalk classNamed: #Iceberg) enableMetacelloIntegration: true.
861865
(Smalltalk classNamed: #IcePharoPlugin) addPharoProjectToIceberg.

src/BlueInk-Core/BIConfigurableFormatter.class.st

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -475,10 +475,9 @@ BIConfigurableFormatter >> bracketWith: bracketString around: aBlock [
475475

476476
{ #category : #private }
477477
BIConfigurableFormatter >> characterSeparatorMethodSignatureFor: aMethodNode [
478-
^ [
479-
(self needsMethodSignatureOnMultipleLinesFor: aMethodNode)
480-
ifTrue: [ self newLine ]
481-
ifFalse: [ self space ] ]
478+
^ (self needsMethodSignatureOnMultipleLinesFor: aMethodNode)
479+
ifTrue: [ self newLine ]
480+
ifFalse: [ self space ]
482481
]
483482

484483
{ #category : #accessing }
@@ -491,11 +490,6 @@ BIConfigurableFormatter >> codeStream: anObject [
491490
codeStream := anObject
492491
]
493492

494-
{ #category : #'public interface' }
495-
BIConfigurableFormatter >> containerWidth: anInteger [
496-
self installNewValueInContext: {(#maxLineLength: -> anInteger)}
497-
]
498-
499493
{ #category : #private }
500494
BIConfigurableFormatter >> currentLineLength [
501495
^ codeStream position - lineStart
@@ -1213,7 +1207,7 @@ BIConfigurableFormatter >> privateFormatMethodPatternMonoLineFor: aMethodNode [
12131207
codeStream nextPutAll: key.
12141208
self space.
12151209
self visitNode: arg ]
1216-
separatedBy: (self characterSeparatorMethodSignatureFor: aMethodNode)
1210+
separatedBy: [ self characterSeparatorMethodSignatureFor: aMethodNode ]
12171211
]
12181212

12191213
{ #category : #private }
@@ -1233,7 +1227,7 @@ BIConfigurableFormatter >> privateFormatMethodPatternMultiLineFor: aMethodNode [
12331227
codeStream nextPutAll: key.
12341228
self space.
12351229
self visitNode: arg ]
1236-
separatedBy: (self characterSeparatorMethodSignatureFor: aMethodNode).
1230+
separatedBy: [ self characterSeparatorMethodSignatureFor: aMethodNode].
12371231
self newLines: 1
12381232
]
12391233

@@ -1447,6 +1441,16 @@ BIConfigurableFormatter >> visitLiteralNode: aLiteralNode [
14471441
ifTrue: [ self writeString: aLiteralNode sourceText ]
14481442
]
14491443

1444+
{ #category : #visiting }
1445+
BIConfigurableFormatter >> visitLiteralVariableNode: aLiteralVariableNode [
1446+
| binding |
1447+
binding := aLiteralVariableNode binding.
1448+
self writeString: binding key storeString, ' -> '.
1449+
aLiteralVariableNode binding value isLiteral
1450+
ifFalse: [ self writeString: '''<an unprintable nonliteral value>''' ]
1451+
ifTrue: [ self writeString: binding value asString ]
1452+
]
1453+
14501454
{ #category : #visiting }
14511455
BIConfigurableFormatter >> visitMessageNode: aMessageNode [
14521456
self visitNode: aMessageNode receiver.

src/BlueInk-Extras/BISettingPreviewer.class.st

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -179,8 +179,7 @@ BISettingPreviewer >> formatSourceCode [
179179
| source tree formatted |
180180
source := self compiledMethodFromSearchFields sourceCode.
181181
tree := RBParser parseMethod: source onError: [ :msg :pos | ^ self ].
182-
formatted := tree
183-
formattedCodeWithMaxLineLength: (self window value window value width / 9) integerPart asInteger. "It is a bit tricky but I get the width of the sourceCodePane like this..."
182+
formatted := tree formattedCode.
184183
sourceCodePane text: formatted
185184
]
186185

src/CodeImportCommandLineHandlers/EvaluateCommandLineHandler.class.st

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ EvaluateCommandLineHandler >> evaluateArguments [
107107
{ #category : #activation }
108108
EvaluateCommandLineHandler >> evaluateStdIn [
109109
| stdin |
110-
stdin := FileStream stdin ifNil: [ ^ self ].
110+
stdin := Stdio stdin ifNil: [ ^ self ].
111111
stdin atEnd ifTrue: [ ^ self ].
112112

113113
self flag: #todo. "the whole compilation machinery does not work with stdin directly, hence we load everything a buffer first"

src/Colors/Color.class.st

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1137,6 +1137,13 @@ Color >> basicPixelValueForDepth: d [
11371137
self error: 'unknown pixel depth: ' , d printString
11381138
]
11391139

1140+
{ #category : #'accessing - higher level' }
1141+
Color >> beOpaque [
1142+
"Set the transparency of the receiver to opaque, i.e. alpha to 1.0."
1143+
1144+
^ self alpha: 1.0
1145+
]
1146+
11401147
{ #category : #transformations }
11411148
Color >> blacker [
11421149

src/Compiler-Tests/package.st

Lines changed: 0 additions & 1 deletion
This file was deleted.

src/Compiler/AmbiguousSelectorDetected.class.st

Lines changed: 0 additions & 50 deletions
This file was deleted.

0 commit comments

Comments
 (0)