Pharo-dev
By thread
pharo-dev@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- 144612 messages
[Pharo12] Simpler sourcePointer encoding
by Marcus Denker
Hi,
After simplifying the CompiledMethodTrailer, let's look at what is stored there. It is an integer that encodes
1) which file? .sources or .changes ? and 2) the position in the file.
So for two files we need one bit. So we could just shift the position by one and then use the last bit, if it is 1, we
are .changes.
But if you look at the code... it looks strange. I think this is for compatibility, without a bootstrap, changes like
these are hard to do.
So this is the old code:
fileIndexFromSourcePointer: anInteger
"Return the index of the source file which contains the source chunk addressed by anInteger"
^ (anInteger bitAnd: 16r1000000) ~= 0
ifTrue: [ 1 "sources file" ]
ifFalse: [ anInteger >= 16r1000000
ifTrue: [ 2 "changes file" ]
ifFalse: [ 0 "compatibility with StandardSourceFileArray" ] ]
filePositionFromSourcePointer: anInteger
"Return the position of the source chunk addressed by anInteger"
| hi lo |
hi := anInteger // 33554432.
lo := anInteger \\ 16777216.
^ ((anInteger bitAnd: 16777216) ~= 0 or: [ anInteger < 16777216 "compatibility with StandardSourceFileArray" ])
ifTrue: [ hi * 16777216 + lo "sources file" ]
ifFalse: [ (hi - 1) * 16777216 + lo "changes file" ]
sourcePointerFromFileIndex: index andPosition: position
"Return a sourcePointer encoding the given file index and position"
| hi lo |
(index = 1 or: [index = 2])
ifFalse: [self error: 'invalid source file index'].
position < 0 ifTrue: [self error: 'invalid source code pointer'].
hi := position // 16r1000000 *2 + index.
lo := position \\ 16r1000000.
^ hi * 16r1000000 + lo
While this is the "just shift by one and use the last bit" version:
fileIndexFromSourcePointer: anInteger
"Return the index of the source file which contains the source chunk addressed by anInteger"
"1 is sources file, 2 is changes file"
^ (anInteger bitAnd: 1) + 1
filePositionFromSourcePointer: anInteger
"Return the position of the source chunk addressed by anInteger, just shift by one"
^ anInteger >> 1
sourcePointerFromFileIndex: index andPosition: position
"Return a sourcePointer encoding the given file index and position"
(index = 1 or: [index = 2])
ifFalse: [self error: 'invalid source file index'].
position < 0 ifTrue: [self error: 'invalid source code pointer'].
"we shift the position by one and set the last bit for .changes"
^ (position << 1) bitOr: index - 1
The PR https://github.com/pharo-project/pharo/pull/13583 was merged in Pharo12 last week.
Marcus
May 2, 2023
ESUG Presentation deadline is 1st of JUNE!
by stephane ducasse
Hello people
do not wait the last moment, it will help the organizers.
ESUG 2023 Call for Presentations
28.8.2023 to 01.9.2023
Lyon France
https://esug.github.io <https://esug.github.io/>
https://esug.github.io/2023-Conference/conf2023.html
Deadline for submission is 1 st of June!
ESUG is the premium and fun conference around smalltalk technologies.
You can support the ESUG conference in many different ways:
- Sponsor the conference. New sponsoring packages are described at http://www.esug.org/supportesug/becomeasponsor/
- Submit a talk, a software or a paper to one of the events. See below.
- Attend the conference. We'd like to beat the previous record of attendance (180 people at Koln 2019)!
- Students can get free registration and hosting if they enroll into the the Student Volunteers program. See below.
## Developers Forum: International Smalltalk Developers Conference
We are looking for YOUR experience on using Smalltalk. You will have 30 min for presentations and 45 min for hands-on tutorials.
The list of topics for the normal talks and tutorials includes, but is not limited to the following:
- XP practices, Development tools, Experience reports
- Model driven development, Web development, Team management
- Meta-Modeling, Security, New libraries & frameworks
- Educational material, Embedded systems and robotics
- SOA and Web services, Interaction with other programming languages
- Teaching Pearls and Show us Your Business
New this year!!! We added two types of sessions in addition to the regular talks and show us your projects sessions.
Show your business 10 min session (Get prepared!!)
Teaching pearls : we want some session on how to teach some design aspects. We want your tip and tricks to teach Smalltalk or OOP.
We expect to have several 10 to 15 min sessions aggregated.
### How to submit?
Make a Pull Request here https://github.com/ESUG/esug.github.io/tree/source/2023-Conference/talks
[Or but only if you are not connected to the world⦠send an email to stephane.ducasse(a)inria.fr <mailto:stephane.ducasse@inria.fr>]
Title: [ESUG 2023] Please follow the template below the email will be automatically processed!
Name:
Email:
Abstract:
Bio:
Esug-list mailing list -- esug-list(a)lists.esug.org <mailto:esug-list@lists.esug.org>
To unsubscribe send an email to esug-list-leave(a)lists.esug.org <mailto:esug-list-leave@lists.esug.org>
May 1, 2023
ESUG 2023 student volunteer program!
by stephane ducasse
Please distribute to the community and more
Call for Student Volunteers
Student volunteers help keep the conference running smoothly; in return, they have free accommodations, while still having most of the time to enjoy the conference.
Pay attention: the places are limited so do not wait till the last minute to apply.
Conference details:
Send an email to stephane.ducasse at inria.fr <http://inria.fr/> and Oleksandr Zaitsev <olk.zaytsev(a)gmail.com <mailto:olk.zaytsev@gmail.com>> with:
Title: [ESUG 2023 Student]
name, gender, university/school, country, email address
short description of you and why you are interested in participating
For which period is accommodation covered? Accommodation is covered from Sunday 27.8.2023 to 01.9.2023 (including nights from Sunday to Monday and from Thursday to Friday). Students will be hosted in student rooms. ESUG additionally covers for the lunches during the week and one dinner.
Duties include handling registration as people arrive at the conference, filling coffee machines, collecting presentation slides for ESUG right after the presentation is given, being present at an information desk to answer questions, and generally being helpful. Student volunteering makes the conference better, takes a fairly small amount of time and doesn't significantly interfere with enjoying and learning from the conference. Please Note, this role requires discipline and constant attention to all attendees.
Information about hotel
Student Volunteer rooms are booked at (to be announced). If you are student volunteer, do not book yourself, we have arranged the booking already!
_______________________________________________
May 1, 2023
Re: [Pharo12] Simplify CompiledMethod trailer: just support fixed sourcePointers
by sean@clipperadams.com
Thanks for the detailed explanation. Little behind the scenes improvements like this are always so interesting and appreciated, even if not immediately visible during normal usage.
April 29, 2023
This week (17/2023) on the Pharo Issue Tracker
by Marcus Denker
# Pharo 11
- Refactor block ensure during termination to allow override #13534
https://github.com/pharo-project/pharo/pull/13534
# Pharo 12
## Small Improvements
- Small cleanup #bitShift:, #<< and #<< #13523
https://github.com/pharo-project/pharo/pull/13523
- Clean info of MethodChangeRecord #13519
https://github.com/pharo-project/pharo/pull/13519
- remove some methods that are just copied from a superclass #13504
https://github.com/pharo-project/pharo/pull/13504
- Some RPackage cleanups #13505
https://github.com/pharo-project/pharo/pull/13505
- Adding inspector transmission node #510
https://github.com/pharo-spec/NewTools/pull/510
## Protocol
- Use #protocolOfSelector: in CompiledMethod>>#category #13457
https://github.com/pharo-project/pharo/pull/13457
- Improve ClassDescription>>#addAndClassifySelector:withMethod:inProtocol: #13533
https://github.com/pharo-project/pharo/pull/13533
- Fix case were method is in a class but not in a protocol #13572
https://github.com/pharo-project/pharo/pull/13572
- Simplify ClassOrganization>>removeElement: and remove protocol if empty #13530
https://github.com/pharo-project/pharo/pull/13530
- Classify method before installing them #13539
https://github.com/pharo-project/pharo/pull/13539
- Make Protocol announcements use real protocols #13506
https://github.com/pharo-project/pharo/pull/13506
## AST
- Style literal arrays #13502
https://github.com/pharo-project/pharo/pull/13502
- Do not hardcode stylers #13537
https://github.com/pharo-project/pharo/pull/13537
- AST: cleanup scanner #13562
https://github.com/pharo-project/pharo/pull/13562
- AST: kill multiple keyword token #13554
https://github.com/pharo-project/pharo/pull/13554
- AST: cleanup compiler API (and clients) #13520
https://github.com/pharo-project/pharo/pull/13520
- AST: cleanup extension methods from OpalCompiler #13514
https://github.com/pharo-project/pharo/pull/13514
## Compiler
- Compiler: doSemanticAnalysis yourself #13517
https://github.com/pharo-project/pharo/pull/13517
- add new test RBCodeSnippet class>>#badScanner with special scanner hacks #13553
https://github.com/pharo-project/pharo/pull/13553
- Add compiler option to not optimise special sends #13569
https://github.com/pharo-project/pharo/pull/13569
- Factorize some code in recompilation management #13551
https://github.com/pharo-project/pharo/pull/13551
- Scope: generalize target class #13540
https://github.com/pharo-project/pharo/pull/13540
- RBMethodMode: compiledMethod sould be a simple accessor #13525
https://github.com/pharo-project/pharo/pull/13525
- Detach compilationContext a little #13511
https://github.com/pharo-project/pharo/pull/13511
- Reduce usage of compilationContext from IR* Classes #13513
https://github.com/pharo-project/pharo/pull/13513
## CompiledMethod trailer cleanup
- Compiler: Cleanup trailer for the frontend #13575
https://github.com/pharo-project/pharo/pull/13575
- Compiler: Cleanup for trailer removal in IRByteCodeGenerator #13565
https://github.com/pharo-project/pharo/pull/13565
- Cleanup: do not reference CompiledMethodTrailer in ReflectiveMethod #13564
https://github.com/pharo-project/pharo/pull/13564
- Cleanup: Fuel does not need to use #copyWithTrailerBytes: #13560
https://github.com/pharo-project/pharo/pull/13560
- Cleanup-instanceCreationCompiledMethod #13559
https://github.com/pharo-project/pharo/pull/13559
- Do not use #trailer to read the sourcePointer #13558
https://github.com/pharo-project/pharo/pull/13558
- getSourceFromFile-return-nil #13556
https://github.com/pharo-project/pharo/pull/13556
- Cleanup: CompiledMethodTrailer should not create methods #13555
https://github.com/pharo-project/pharo/pull/13555
- CompiledMethodTrailer-Cleanup-even-more #13550
https://github.com/pharo-project/pharo/pull/13550
- CompiledMethodTrailer: more cleanup, do not use it for #endPC #13546
https://github.com/pharo-project/pharo/pull/13546
- CompiledMethodTrailer: remove #VarLengthSourcePointer support #13545
https://github.com/pharo-project/pharo/pull/13545
- CompiledMethodTrailer: use 4 bytes as sourcePointer #13527
https://github.com/pharo-project/pharo/pull/13527
- Cleanup-Tests-CompiledMethodTrailer #13528
https://github.com/pharo-project/pharo/pull/13528
- Cleanup-CompiledMethod-Source-Embedding #13522
https://github.com/pharo-project/pharo/pull/13522
- remove all unsused encodings from CompiledMethodTrailer. #13510
https://github.com/pharo-project/pharo/pull/13510
- CompiledMethod simplification: remove the last user of #copyWithSource: #13507
https://github.com/pharo-project/pharo/pull/13507
## Improve Tests
- Commit-Deprecation-Rewrites #13567
https://github.com/pharo-project/pharo/pull/13567
- Make shift tests more robust #13570
https://github.com/pharo-project/pharo/pull/13570
- Small cleanings in tests #13576
https://github.com/pharo-project/pharo/pull/13576
- Ensure ThreadedFFI tests terminate all launched processes #13538
https://github.com/pharo-project/pharo/pull/13538
- Make sure class parser tests clean the system #13536
https://github.com/pharo-project/pharo/pull/13536
- Reflectivity: make tests more reliable (and fix a bug) #13544
https://github.com/pharo-project/pharo/pull/13544
April 28, 2023
[Pharo12] Simplify CompiledMethod trailer: just support fixed sourcePointers
by Marcus Denker
Hi,
We did (im Pharo12) a simplification of how method trailers are handled. Below is the class comment of the now Deprecated and empty
class CompiledMethodTrailer.
The issue https://github.com/pharo-project/pharo/issues/13512 has a list of all the intermediate steps done.
==========
CompiledMethodTrailer was removed in Pharo12
It was responsible for encoding and decoding various kinds of compiled method trailer data, but that had many downsides:
⢠variable length trailers forced often called methods like CompiledMethod>>#endPC to instantiate an instance
⢠setting a sourcePointer that required a different length trailer (e.g embedding sources) needed to create a new compiled method and do a become
⢠to avoid that, the compiler supported to use an existing trailer and delegated instance creation of CompiledMethod to it.
⢠using 1 byte for the trailer kind lead to the need use Variable length encoding already for our ~40MB source file for some methods.
All in all, the CompiledMethodTrailer added a lot of complexity for nothing.
What do we do now?
⢠use use a fixed-length trailer (see #trailerSize)
⢠writing and reading that is not that complex (see #setSourcePointer, #sourcePointer:)
Q: I used to hand a trailer to the compiler, what should I do now?
The compiler now creates always CompiledMethods with a fixed, but empty trailer. Just use #sourcePointer to set it after.
Q: I used to clear the trailer using #copyWithTrailerBytes:, what should I do now?
There is now #cearSourcePointer. Just use #copy before if you want a copy.
Q: I want to have a non-installed method, but with source code.
The compiler now sets a #source property (and setting a source pointer via #sourcePointer: removes it).
If you use the compiler, you need to do nothing special anymore! All methods come with source via the property by default.
April 28, 2023
This week (16/2023) on the Pharo Issue Tracker
by Marcus Denker
We merged ~60 PRs this week.
# Pharo 11
- Backport #13426: Make protocol of super method a priority in MethodClassifier #13432
https://github.com/pharo-project/pharo/pull/13432
- Use fixed spec version for Pharo 11 #13445
https://github.com/pharo-project/pharo/pull/13445
## GIT/Iceberg (for Pharo 12, too)
- 1279 merge menu should indicate the sense of the action #1680
https://github.com/pharo-vcs/iceberg/pull/1680
- Remove unused variable #1695
https://github.com/pharo-vcs/iceberg/pull/1695
- Fix for adding a SSH credential from UI raises an Error #1638
https://github.com/pharo-vcs/iceberg/pull/1638
- Use ED25519 keys as default instead of RSA to improve security and follow new GitHub standards #1649
https://github.com/pharo-vcs/iceberg/pull/1649
- [fix] prevent Iceberg window to crash when the registry is empty #1670
https://github.com/pharo-vcs/iceberg/pull/1670
- Fix for issue #11969 in pharo repository: Better description "packages unloaded packages #1672
https://github.com/pharo-vcs/iceberg/pull/1672
#Pharo 12
## Enhancements
- Completion menu: some love on the detail window #13473
https://github.com/pharo-project/pharo/pull/13473
- Use Pharo12 branch of Spec and NewTools #13460
https://github.com/pharo-project/pharo/pull/13460
- Fix random failure of Ombu in windows. #13448
https://github.com/pharo-project/pharo/pull/13448
- Make protocol of super method a priority in MethodClassifier #13426
https://github.com/pharo-project/pharo/pull/13426
- Cut dependency from CommandLine to UIManager #13431
https://github.com/pharo-project/pharo/pull/13431
- Fix typo introduced in merge #13446
https://github.com/pharo-project/pharo/pull/13446
- Added inspector extensions for RPackage #509
https://github.com/pharo-spec/NewTools/pull/509
## RPackage and SystemOrganizer
- Synch bug in RPackage removal #13496
https://github.com/pharo-project/pharo/pull/13496
## Protocol and Categories
- Keep pushing protocols usage #13443
https://github.com/pharo-project/pharo/pull/13443
- Add some tests on classifications of methods #13485
https://github.com/pharo-project/pharo/pull/13485
- Rename #removeMethodTag: into #removeProtocolIfEmpty: #13492
https://github.com/pharo-project/pharo/pull/13492
- Make #renameProtocolNamed:toBe: manage nils #13480
https://github.com/pharo-project/pharo/pull/13480
- Cleaning of #classify:inProtocolNamed: #13454
https://github.com/pharo-project/pharo/pull/13454
- Deprecate comment management of ClassOrganization #13464
https://github.com/pharo-project/pharo/pull/13464
- Remove ClassOrganization>>#silentlyRenameProtocolNamed:toBe: in favor of always announcing the rename #13458
https://github.com/pharo-project/pharo/pull/13458
- Improve ClassOrganization copy #13453
https://github.com/pharo-project/pharo/pull/13453
- Do not use #classComment #1376
https://github.com/pharo-spec/Spec/pull/1376
## Compiler: Syntax Hightlight
- SHRBTextStyler class>>#blueStyleTable distinguish some variables #13501
https://github.com/pharo-project/pharo/pull/13501
- Improve style for parenthesis, comments and syntax error #13491
https://github.com/pharo-project/pharo/pull/13491
- CodeSnippet: industrialize the testing of the styler #13490
https://github.com/pharo-project/pharo/pull/13490
- add SHRBStyleAttributionTest>>#testErrorStyle #13489
https://github.com/pharo-project/pharo/pull/13489
- Faulty code: improve highlight and icons #13486
https://github.com/pharo-project/pharo/pull/13486
- Fix bug in parenthesis highlight #13467
https://github.com/pharo-project/pharo/pull/13467
## Compiler: AST
- AST: starting visiting comments #13421
https://github.com/pharo-project/pharo/pull/13421
- Snippet: test more comments and fix some #13500
https://github.com/pharo-project/pharo/pull/13500
- Add support to deprecate globals #13348
https://github.com/pharo-project/pharo/pull/13348
- Compiler: expose the AST #13487
https://github.com/pharo-project/pharo/pull/13487
## Compiler
- Snippets: rename (and negate) isMethod to isScripting #13499
https://github.com/pharo-project/pharo/pull/13499
- Vocabulary: propose "script" in compiler #13301
https://github.com/pharo-project/pharo/pull/13301
- OpalCompiler: permit clients to use receiver: after context: as (a noop) #13498
https://github.com/pharo-project/pharo/pull/13498
- Introduce annotations #13449
https://github.com/pharo-project/pharo/pull/13449
- Use Compiler not #copyWithTrailerBytes #13488
https://github.com/pharo-project/pharo/pull/13488
- Directly update source pointer without creating an additional compiled method #13484
https://github.com/pharo-project/pharo/pull/13484
- remove-embeddSourceInTrailer #13481
https://github.com/pharo-project/pharo/pull/13481
- Compiler: remove #optionEmbeddSources #13479
https://github.com/pharo-project/pharo/pull/13479
- Compiler: explicit the need of requestor scope #13472
https://github.com/pharo-project/pharo/pull/13472
- Kill VariableNotDeclared #13471
https://github.com/pharo-project/pharo/pull/13471
- Factorize UndeclaredVariableErrors #13470
https://github.com/pharo-project/pharo/pull/13470
- Debug can recompile doit and uninstalled method #13469
https://github.com/pharo-project/pharo/pull/13469
- Cleanup OpalCompiler & CompilationContext #13423
https://github.com/pharo-project/pharo/pull/13423
- Compiler: simplify DoIt #13398
https://github.com/pharo-project/pharo/pull/13398
- faulty code: test runtimeSyntaxError #13422
https://github.com/pharo-project/pharo/pull/13422
- Rubric editors (thus calypso) execute doit actions in faulty mode #13450
https://github.com/pharo-project/pharo/pull/13450
- Debugger: can handle new exceptions UndeclaredVariableRead&UndeclaredVariableWrite #508
https://github.com/pharo-spec/NewTools/pull/508
- StTestDebuggerProvider class>>#compileMissingClassContextBuilder use permitUndeclared: #506
https://github.com/pharo-spec/NewTools/pull/506
- add missing SpCodeScriptingInteractionModel>>#needRequestorScope #1378
https://github.com/pharo-spec/Spec/pull/1378
- Spec2-Code: declare 'playground'-related capabilities as a compiler requestor #1377
https://github.com/pharo-spec/Spec/pull/1377
## Cleanups
- Refactoring BlockClosureTest >> testCannotReturn #13459
https://github.com/pharo-project/pharo/pull/13459
## Trivial
- use {} instead of Array with:with: #13483
https://github.com/pharo-project/pharo/pull/13483
- use nested and expression #13475
https://github.com/pharo-project/pharo/pull/13475
- use and expression instead of ifTrueifFalse #13477
https://github.com/pharo-project/pharo/pull/13477
- use and expression instead of ifTrueifFalse #13463
https://github.com/pharo-project/pharo/pull/13463
- Use {} instead of "Array with:" for some usages #13461
https://github.com/pharo-project/pharo/pull/13461
April 21, 2023
This week (15/2023) on the Pharo Issue Tracker.
by Marcus Denker
We merged ~ 80 PRs, closing 33 issues.
# Pharo 11
Release is getting closer...
- Use Microdown 2.4.0 and BeautifulComments 1.0.0 (preparing for release) #13388
https://github.com/pharo-project/pharo/pull/13388
- use fixed NewTools version #13412
https://github.com/pharo-project/pharo/pull/13412
- provide compatibility with old finalisation mechanism #13410
https://github.com/pharo-project/pharo/pull/13410
- Remove usage of old primitive 91 #13427
https://github.com/pharo-project/pharo/pull/13427
- 12885-Objectassert-fails-with-non-booleans-contradicting-its-own-comment #13251
https://github.com/pharo-project/pharo/pull/13251
- Calypso: check if node is nil before calling isCommentNode and cie #13418
https://github.com/pharo-project/pharo/pull/13418
- fix: ensure right method side (class vs instance) is chosen when looking through history
https://github.com/pharo-vcs/iceberg/pulse
- NewTools-Debugger-Breakpoints-Tools leaves the image in a dirty state. #504
https://github.com/pharo-spec/NewTools/pull/504
# Pharo12
Cleanups continue. The image is now ~5MB smaller due to the protocol cleanup and code removal.
## Fixes
- Weekly Pharo11 sync #13429
https://github.com/pharo-project/pharo/pull/13429
- ClyJumpToTestMethodCommand>>#generateTestMethodNamed:in: use good protocol #13396
https://github.com/pharo-project/pharo/pull/13396
- Completion can extends keyword messages #13402
https://github.com/pharo-project/pharo/pull/13402
- Fix bug in syntaxt highlighting of comments #13319
https://github.com/pharo-project/pharo/pull/13319
- Refactoring rotten green test on Context #13411
https://github.com/pharo-project/pharo/pull/13411
- EpiceaBrowsers: stop catching all errors #13425
https://github.com/pharo-project/pharo/pull/13425
- Make protocol of super method a priority in MethodClassifier #13426
https://github.com/pharo-project/pharo/pull/13426
- 9778-InstructionStream-selectorToSendOrSelf-returns-GlobalVariable-bindings-too #13417
https://github.com/pharo-project/pharo/pull/13417
- Striked through symbols who are names of a deprecated global #13341
https://github.com/pharo-project/pharo/pull/13341
## Bootrap
- Remove dead code in Bootstrap #13435
https://github.com/pharo-project/pharo/pull/13435
- Use date and time as Stdio windows file name distinguisher #13299
https://github.com/pharo-project/pharo/pull/13299
- Cut dependency from Collection-Streams to UIManager #13406
https://github.com/pharo-project/pharo/pull/13406
- Fix dependies of RPackage-Core #13407
https://github.com/pharo-project/pharo/pull/13407
## CI / Tests
- Clean MCMethodDefinitionTest #13376
https://github.com/pharo-project/pharo/pull/13376
- Clean ClassRenameFixTest #13360
https://github.com/pharo-project/pharo/pull/13360
- Finish to cut 'Tests' package #13338
https://github.com/pharo-project/pharo/pull/13338
- Cleanup: Better ratio of commented classes #13329
https://github.com/pharo-project/pharo/pull/13329
- Add logs on Debugger-Oups-Tests to find error #13390
https://github.com/pharo-project/pharo/pull/13390
- FluidClassBuilder tests should clean the system #13404
https://github.com/pharo-project/pharo/pull/13404
- Remove ClassFactoryForTestCaseTest>>#testDuplicateClassWithNewName #13405
https://github.com/pharo-project/pharo/pull/13405
- CompiledCodeTest>>#testMessages should not assume order of elements #13438
https://github.com/pharo-project/pharo/pull/13438
## Compiler: ASTCache
- ASTCache: use a double weak dictionary #13379
https://github.com/pharo-project/pharo/pull/13379
- ASTCache>>#at:put: prevent TOCTOU when cleaning the cache #13408
https://github.com/pharo-project/pharo/pull/13408
- refactor ASTCache #13378
https://github.com/pharo-project/pharo/pull/13378
## Compiler: CompiledMethods
- Compiled methods: keep the source #13359
https://github.com/pharo-project/pharo/pull/13359
- Compiled method drop last property #13386
https://github.com/pharo-project/pharo/pull/13386
## Compiler
- Try to move workspace variables further (lite) #13393
https://github.com/pharo-project/pharo/pull/13393
- Compiler: remove OCASTTranslator subclasses #13352
https://github.com/pharo-project/pharo/pull/13352
- AST: fix node positions, and test them systematically #13350
https://github.com/pharo-project/pharo/pull/13350
- Faulty code importers: use new compiler API #13397
https://github.com/pharo-project/pharo/pull/13397
- OCASTSemanticAnalyzer chose the value of superOf of super-sends #13394
https://github.com/pharo-project/pharo/pull/13394
- OpalCompiler restore undeclared menu on the playground #13392
https://github.com/pharo-project/pharo/pull/13392
- implements RBBlockErrorNode>>#argumentNames #13384
https://github.com/pharo-project/pharo/pull/13384
## ClassOrganizer/Protocol Cleanup
- Introduce CompiledMethod>>#isClassified #13444
https://github.com/pharo-project/pharo/pull/13444
- Move class comment export to ClassDescription #13382
https://github.com/pharo-project/pharo/pull/13382
- Remove ClassDescription>>basicOrganization #13385
https://github.com/pharo-project/pharo/pull/13385
- Remove ClassOrganization>>hasOrganizedClass #13346
https://github.com/pharo-project/pharo/pull/13346
- Some cleanings protocol announcements and announcements #13381
https://github.com/pharo-project/pharo/pull/13381
- Rename Protocol class>>#ambiguous into #traitConflictName #13369
https://github.com/pharo-project/pharo/pull/13369
- Make protocols an array in ClassOrganization #13356
https://github.com/pharo-project/pharo/pull/13356
- Always announce creation of new protocols #13358
https://github.com/pharo-project/pharo/pull/13358
- Simplify protocol removals #13334
https://github.com/pharo-project/pharo/pull/13334
- Remove #protocolsOfSelector: and implement #protocolOfSelector: #13383
https://github.com/pharo-project/pharo/pull/13383
- Change Protocol to use an array for methodSelectors directly #13415
https://github.com/pharo-project/pharo/pull/13415
- Remove the need to give a SystemOrganizer to SystemDictionary #13314
https://github.com/pharo-project/pharo/pull/13314
## Simple Cleanups
- extract return from Float>>#asApproximateFractionAtOrder: #13400
https://github.com/pharo-project/pharo/pull/13400
- extract return from Rectangle>>#quickMerge: and use self class #13372
https://github.com/pharo-project/pharo/pull/13372
- rename truncation and roundoff to truncation and round off protocol in Rectangle #13375
https://github.com/pharo-project/pharo/pull/13375
- use and: expression instead of ifTrue:ifFalse: expression #13362
https://github.com/pharo-project/pharo/pull/13362
- extract return from Number>>#raisedTo: and add some tests #13355
https://github.com/pharo-project/pharo/pull/13355
- Cleanup-Define-subclassresponsability Boolean and Number #13416
https://github.com/pharo-project/pharo/pull/13416
- use and: expresion instead of ifTrue:ifFalse: expression #13439
https://github.com/pharo-project/pharo/pull/13439
- use and: expresion instead of ifTrue:ifFalse: expression in AST-Core #13441
https://github.com/pharo-project/pharo/pull/13441
April 17, 2023
This week (13/2023) on the Pharo Issue Tracker
by Marcus Denker
#This week (13/2023) on the Pharo Issue Tracker.
We merged around 100 Pull Reuests this week (Pharo11 and Pharo12)
To see the state of not yet merged PRs easier, we added a GitHub Board
https://github.com/orgs/pharo-project/projects/34
To see what is happing in Pharo11 and Pharo12, we are staring to check if Kanban style boards can help
Pharo11: https://github.com/orgs/pharo-project/projects/35
Pharo12: https://github.com/orgs/pharo-project/projects/38
#Pharo 11
## Epemerons
- Move weak dictionaries to new finalization #13212
https://github.com/pharo-project/pharo/pull/13212
## Fixes
- Update find sdl2 #13031
https://github.com/pharo-project/pharo/pull/13031
- Playground not able to evaluate simple #timesRepeat: #13321
https://github.com/pharo-project/pharo/pull/13321
- Handle Cmd/Ctrl + right arrow during completion. #13217
https://github.com/pharo-project/pharo/pull/13217
- Added new text selection for pharo #13231
https://github.com/pharo-project/pharo/pull/13231
- Fast table should not manage keydown as keystroke #13214
https://github.com/pharo-project/pharo/pull/13214
- Socket error handling can get in a loop #13228
https://github.com/pharo-project/pharo/pull/13228
- SDL2 on MacOS required to postpone focus #12946
https://github.com/pharo-project/pharo/pull/12946
- KeyboardKey class>>#initializeKeyFromCharacterCompatibilityTable maps 3 characters incorrectly #13211
https://github.com/pharo-project/pharo/pull/13211
- Fix selection of multiword #13218
https://github.com/pharo-project/pharo/pull/13218
- Fix the UI of the spotter by outlining the input field. Fix pharo/#10993 #421
https://github.com/pharo-spec/NewTools/pull/421
- Fix DNU trimBoth on non-strings #1372
https://github.com/pharo-spec/Spec/pull/1372
## Cleanups
- StFilterFuzzy>>#applyFilterWithQuery send missing #takeFirst: #13242
https://github.com/pharo-project/pharo/pull/13242
- 12165-ReAbstractRule-mentions-missing-help-in-class-comment #13252
https://github.com/pharo-project/pharo/pull/13252
- Replace allProtocols by protocols #1373
https://github.com/pharo-spec/Spec/pull/1373
- SpCodePresenter>>#evaluate source code is string #1371
https://github.com/pharo-spec/Spec/pull/1371
## Speed
- do not compute message sends dependencies in browser dependencies tool #13268
https://github.com/pharo-project/pharo/pull/13268
#Pharo12
- Weekly P11 sync in P12 #13253
https://github.com/pharo-project/pharo/pull/13253
## Fixes
- 4969-Epicea-Reverting-a-class-remove-looses-class-comment #13332
https://github.com/pharo-project/pharo/pull/13332
- hotfix ClassTest>>#testCommentSourcePointer #13281
https://github.com/pharo-project/pharo/pull/13281
- Fix #13246 class comments can get lost when commiting code #13276
https://github.com/pharo-project/pharo/pull/13276
- Finder: Ignoring combinations selector for collections #13226
https://github.com/pharo-project/pharo/pull/13226
## Compiler
- Faulty Code: compiler honor failBlock #13261
https://github.com/pharo-project/pharo/pull/13261
- Faulty code: improve error block node #13264
https://github.com/pharo-project/pharo/pull/13264
- RBNotice: add isSyntaxError and make it easier to sort them #13344
https://github.com/pharo-project/pharo/pull/13344
- Faulty code: forbid read of undeclared variables #13238
https://github.com/pharo-project/pharo/pull/13238
- Faulty code: don't permit undeclared by default #13286
https://github.com/pharo-project/pharo/pull/13286
- Compiler simplify OCSemanticScope #13303
https://github.com/pharo-project/pharo/pull/13303
- Faulty parser: better faulty literal (byte) arrays #13300
https://github.com/pharo-project/pharo/pull/13300
- Some compiler cleanup #13302
https://github.com/pharo-project/pharo/pull/13302
- Faulty code: make undeclared write resumable with the right value #13297
https://github.com/pharo-project/pharo/pull/13297
- Faulty code: add permitUndeclared #13280
https://github.com/pharo-project/pharo/pull/13280
- Faulty code: move code reparator to RBNotice #13277
https://github.com/pharo-project/pharo/pull/13277
- Snippets: split badExpressions into 3 methods #13263
https://github.com/pharo-project/pharo/pull/13263
- Faulty code: various undeclared cleanups #13248
https://github.com/pharo-project/pharo/pull/13248
- Faulty code: inspect notice #13243
https://github.com/pharo-project/pharo/pull/13243
- Cleanup some compiler clients #13235
https://github.com/pharo-project/pharo/pull/13235
- Faulty code: forbid write to undeclared variables #13201
https://github.com/pharo-project/pharo/pull/13201
- Faulty code snippet: test evaluation #13223
https://github.com/pharo-project/pharo/pull/13223
- Compiler: replace parseForRequestor by checkNotice #13222
https://github.com/pharo-project/pharo/pull/13222
## SystemOrganizer Cleanup
- Remove the need to give a SystemOrganizer to SystemDictionary #13314
https://github.com/pharo-project/pharo/pull/13314
- Remove SystemOrganisation global #13306
https://github.com/pharo-project/pharo/pull/13306
- Remove references to SystemOrganization #13271
https://github.com/pharo-project/pharo/pull/13271
- Remove references to SystemOrganizer #13259
https://github.com/pharo-project/pharo/pull/13259
- Make RPackageOrganizer polymorphic with SystemOrganizer #13258
https://github.com/pharo-project/pharo/pull/13258
- RPackageOrganizer should not call system organizer global but keep a reference #13245
https://github.com/pharo-project/pharo/pull/13245
- Rename SystemOrganizer "elements" into "Behavior" #13206
https://github.com/pharo-project/pharo/pull/13206
##Protocol vs Category
- Protocol: Rename "category" into protocol in rules #13203
https://github.com/pharo-project/pharo/pull/13203
- Rename some "category" into protocol in code export #13190
https://github.com/pharo-project/pharo/pull/13190
- Remove usage of Protocol>>#canBeRemoved #13311
https://github.com/pharo-project/pharo/pull/13311
- Remove nullProtocolName #13333
https://github.com/pharo-project/pharo/pull/13333
- Use Protocol>>#unclassified instead of #defaultName #13331
https://github.com/pharo-project/pharo/pull/13331
- Remove class AllProtocol #13289
https://github.com/pharo-project/pharo/pull/13289
- Remove ClassOrganization>>allProtocol #13275
https://github.com/pharo-project/pharo/pull/13275
- hotfix: add missing return in ClassOrganization>>#ensureProtocol: #13278
https://github.com/pharo-project/pharo/pull/13278
- Protocols: Allow to compile a method with a real protocol #13247
https://github.com/pharo-project/pharo/pull/13247
- Rename #methodsInProtocolNamed: into #methodSelectorsInProtocol: #13257
https://github.com/pharo-project/pharo/pull/13257
- Remove ClassOrganization>>allProtocolNames #13256
https://github.com/pharo-project/pharo/pull/13256
- Inline protocol organizer #13187
https://github.com/pharo-project/pharo/pull/13187
- ProtocolOrganizer: Inline more behavior into ClassOrganization #13234
https://github.com/pharo-project/pharo/pull/13234
## Refactoring Engine
- [Refactoring] push down method in some classes driver #13175
https://github.com/pharo-project/pharo/pull/13175
- Refactor: insert new class refactoring #13216
https://github.com/pharo-project/pharo/pull/13216
- 13215-RB-RBRefactoringChangeTesttestPerformChangeMetaclass #13221
https://github.com/pharo-project/pharo/pull/13221
## CI / Bootstrap
- Skip windows broken tests #13308
https://github.com/pharo-project/pharo/pull/13308
- Remove PBOldExtendedBootstrap #13290
https://github.com/pharo-project/pharo/pull/13290
- Bootstrap: allow to authetificate github requests during the bootstrap #13279
https://github.com/pharo-project/pharo/pull/13279
- Declare global variables Display, World and ActiveWorld #13236
https://github.com/pharo-project/pharo/pull/13236
## Small Cleanups
- unskip #testPerformChangeClass #13213
https://github.com/pharo-project/pharo/pull/13213
- Remove some unecessary not from the kernel #13197
https://github.com/pharo-project/pharo/pull/13197
- Faulty code: fix syntax error on empty closers #13262
https://github.com/pharo-project/pharo/pull/13262
- SettingBrowser class>>viewAllSettings has no senders and is broken #13288
https://github.com/pharo-project/pharo/pull/13288
- Restore comment of MockForCompilation #13293
https://github.com/pharo-project/pharo/pull/13293
- remove Deprecated11 #13291
https://github.com/pharo-project/pharo/pull/13291
- Fix some deprecated sends #13287
https://github.com/pharo-project/pharo/pull/13287
- Remove dependency of Collections-Abstract/Sequenceable over Random-Core #13294
https://github.com/pharo-project/pharo/pull/13294
- Extract SourceFileArrayTest to System-Sources-Tests #13307
https://github.com/pharo-project/pharo/pull/13307
- Do not disable system announcements during rpackage tests #13298
https://github.com/pharo-project/pharo/pull/13298
- Clean ChangeSetClassChangesTest #13317
https://github.com/pharo-project/pharo/pull/13317
- Remove deprecated modelwants steps in in p12 #13325
https://github.com/pharo-project/pharo/pull/13325
- Finish to cut 'Tests' package #13338
https://github.com/pharo-project/pharo/pull/13338
- Cleanup small cleanups in baseline of base libraries package #13327
https://github.com/pharo-project/pharo/pull/13327
- Deprecate OneShotArmed / doOnlyOnce: mechanism in ProtoObject (P12) #13320
https://github.com/pharo-project/pharo/pull/13320
- Cleanup: Move as "Arrayed" tagged test classes from generic "Collections-Tests" package to specific "Collections-Native-Tests" package #13336
https://github.com/pharo-project/pharo/pull/13336
- Fix and load SystemCommands tests #13340
https://github.com/pharo-project/pharo/pull/13340
- Remove general help package from the repo #13339
https://github.com/pharo-project/pharo/pull/13339
- extract return and use and: expression. add some tests #13343
https://github.com/pharo-project/pharo/pull/13343
- deprecate classesThatImplementAllOf: method. fix: #12832 #13266
https://github.com/pharo-project/pharo/pull/13266
- PositionableStream>>nextChunkText is dead code #13232
https://github.com/pharo-project/pharo/pull/13232
- This commit simplifies some conditionals using isEmpty followed by an #ifTrue:[ifFalse:] #13200
https://github.com/pharo-project/pharo/pull/13200
- Move runarray to collections support #13140
https://github.com/pharo-project/pharo/pull/13140
April 7, 2023
Pharo 11 release soon: Please check Issue Tracker
by Marcus Denker
Hi,
Pharo11 us now frozen for a while, it seems we are on a good way to release soon.
This is always a good time to clean up the issue tracker.
Please check especially the issues you opend
https://github.com/pharo-project/pharo/issues
Github often fails to close the isssue even though it is correctly set as to be closed in the PR.
And often bugs are fixed due to a duplicate issue tracker entry or as part of other work.
As we do not timeout issues anymore, we rely on everyone to help to keep this in a somewhat sane stateâ¦
Marcus
April 5, 2023