Pharo-dev
By thread
pharo-dev@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- November
- October
- September
- 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
- 2 participants
- 144634 messages
[pharo-project/pharo-core] 36483e: 60196
by GitHub
Branch: refs/heads/6.0
Home: https://github.com/pharo-project/pharo-core
Commit: 36483e309d746cb796ae363a3a5a1555c5c2883a
https://github.com/pharo-project/pharo-core/commit/36483e309d746cb796ae363a…
Author: Jenkins Build Server <board(a)pharo-project.org>
Date: 2016-08-31 (Wed, 31 Aug 2016)
Changed paths:
M AST-Core.package/RBScanner.class/instance/private-scanning/stripComment.st
A AST-Tests-Core.package/RBScannerTest.class/instance/next/testNextWithTwoDoubleQuotesInComment.st
A AST-Tests-Core.package/RBScannerTest.class/instance/next/testNextWithTwoDoubleQuotesInCommentGetError.st
R BlueInk-Extras.package/BIInspector.class/README.md
R BlueInk-Extras.package/BIInspector.class/class/build ui buttons/buildOpenBIInspectorButton.st
R BlueInk-Extras.package/BIInspector.class/class/button behavior/openBIInspectorButtonAction.st
R BlueInk-Extras.package/BIInspector.class/class/button behavior/openBIInspectorButtonLabel.st
R BlueInk-Extras.package/BIInspector.class/class/button behavior/openBIInspectorButtonState.st
R BlueInk-Extras.package/BIInspector.class/class/settings/dialogOpenBIInspector.st
R BlueInk-Extras.package/BIInspector.class/class/settings/settingsOn_.st
R BlueInk-Extras.package/BIInspector.class/class/specs/defaultSpec.st
R BlueInk-Extras.package/BIInspector.class/definition.st
R BlueInk-Extras.package/BIInspector.class/instance/accessing/classSearchField.st
R BlueInk-Extras.package/BIInspector.class/instance/accessing/compiledMethodFromSearchFields.st
R BlueInk-Extras.package/BIInspector.class/instance/accessing/formattedCheckBox.st
R BlueInk-Extras.package/BIInspector.class/instance/accessing/methodSearchField.st
R BlueInk-Extras.package/BIInspector.class/instance/accessing/settingsTree.st
R BlueInk-Extras.package/BIInspector.class/instance/accessing/sourceCodePane.st
R BlueInk-Extras.package/BIInspector.class/instance/api/formatSourceCode.st
R BlueInk-Extras.package/BIInspector.class/instance/api/initialExtent.st
R BlueInk-Extras.package/BIInspector.class/instance/api/title.st
R BlueInk-Extras.package/BIInspector.class/instance/event handling/whenASettingChanged.st
R BlueInk-Extras.package/BIInspector.class/instance/event handling/whenSelectorAccepted.st
R BlueInk-Extras.package/BIInspector.class/instance/initialization/initializeWidgets.st
R BlueInk-Extras.package/BIInspector.class/instance/item creation/buildClassSearchField.st
R BlueInk-Extras.package/BIInspector.class/instance/item creation/buildFormattedCheckBox.st
R BlueInk-Extras.package/BIInspector.class/instance/item creation/buildMethodSearchField.st
R BlueInk-Extras.package/BIInspector.class/instance/item creation/buildSettingsTreeModel.st
R BlueInk-Extras.package/BIInspector.class/instance/item creation/buildSourceCodePane.st
R BlueInk-Extras.package/BIInspector.class/instance/item creation/displayNodeFor_.st
R BlueInk-Extras.package/BIInspector.class/instance/testing/selectorAndClassAreCorrect.st
A BlueInk-Extras.package/BISettingPreviewer.class/README.md
A BlueInk-Extras.package/BISettingPreviewer.class/class/build ui buttons/buildOpenBIInspectorButton.st
A BlueInk-Extras.package/BISettingPreviewer.class/class/button behavior/openBIInspectorButtonAction.st
A BlueInk-Extras.package/BISettingPreviewer.class/class/button behavior/openBIInspectorButtonLabel.st
A BlueInk-Extras.package/BISettingPreviewer.class/class/button behavior/openBIInspectorButtonState.st
A BlueInk-Extras.package/BISettingPreviewer.class/class/settings/dialogOpenBIPreviewer.st
A BlueInk-Extras.package/BISettingPreviewer.class/class/settings/settingsOn_.st
A BlueInk-Extras.package/BISettingPreviewer.class/class/specs/defaultSpec.st
A BlueInk-Extras.package/BISettingPreviewer.class/definition.st
A BlueInk-Extras.package/BISettingPreviewer.class/instance/accessing/classSearchField.st
A BlueInk-Extras.package/BISettingPreviewer.class/instance/accessing/compiledMethodFromSearchFields.st
A BlueInk-Extras.package/BISettingPreviewer.class/instance/accessing/formattedCheckBox.st
A BlueInk-Extras.package/BISettingPreviewer.class/instance/accessing/methodSearchField.st
A BlueInk-Extras.package/BISettingPreviewer.class/instance/accessing/settingsTree.st
A BlueInk-Extras.package/BISettingPreviewer.class/instance/accessing/sourceCodePane.st
A BlueInk-Extras.package/BISettingPreviewer.class/instance/api/formatSourceCode.st
A BlueInk-Extras.package/BISettingPreviewer.class/instance/api/initialExtent.st
A BlueInk-Extras.package/BISettingPreviewer.class/instance/api/title.st
A BlueInk-Extras.package/BISettingPreviewer.class/instance/event handling/whenASettingChanged.st
A BlueInk-Extras.package/BISettingPreviewer.class/instance/event handling/whenSelectorAccepted.st
A BlueInk-Extras.package/BISettingPreviewer.class/instance/initialization/initializeWidgets.st
A BlueInk-Extras.package/BISettingPreviewer.class/instance/item creation/buildClassSearchField.st
A BlueInk-Extras.package/BISettingPreviewer.class/instance/item creation/buildFormattedCheckBox.st
A BlueInk-Extras.package/BISettingPreviewer.class/instance/item creation/buildMethodSearchField.st
A BlueInk-Extras.package/BISettingPreviewer.class/instance/item creation/buildSettingsTreeModel.st
A BlueInk-Extras.package/BISettingPreviewer.class/instance/item creation/buildSourceCodePane.st
A BlueInk-Extras.package/BISettingPreviewer.class/instance/item creation/displayNodeFor_.st
A BlueInk-Extras.package/BISettingPreviewer.class/instance/testing/selectorAndClassAreCorrect.st
R Nautilus-Tests.package/NautilusTest.class/instance/tests/testCorrespondingMethods.st
R Nautilus-Tests.package/NautilusTest.class/instance/tests/testCorrespondingTestClass.st
R Nautilus-Tests.package/NautilusTest.class/instance/tests/testCorrespondingTestMethod.st
A Nautilus-Tests.package/NautilusUtilsTest.class/README.md
A Nautilus-Tests.package/NautilusUtilsTest.class/definition.st
A Nautilus-Tests.package/NautilusUtilsTest.class/instance/accessing/stubClass.st
A Nautilus-Tests.package/NautilusUtilsTest.class/instance/accessing/stubTestClass.st
A Nautilus-Tests.package/NautilusUtilsTest.class/instance/tests/testCorrespondingTestCase.st
A Nautilus-Tests.package/NautilusUtilsTest.class/instance/tests/testCorrespondingTestMethod.st
A Nautilus-Tests.package/NautilusUtilsTest.class/instance/tests/testCorrespondingTestedMethods.st
A Nautilus-Tests.package/NautilusUtilsTest.class/instance/tests/testTransformSelectorForComparison.st
A Nautilus-Tests.package/NautilusUtilsTestStub.class/README.md
A Nautilus-Tests.package/NautilusUtilsTestStub.class/class/instance creation/one_two_.st
A Nautilus-Tests.package/NautilusUtilsTestStub.class/class/instance creation/untestedOne_two_.st
A Nautilus-Tests.package/NautilusUtilsTestStub.class/definition.st
A Nautilus-Tests.package/NautilusUtilsTestStub.class/instance/accessing/one.st
A Nautilus-Tests.package/NautilusUtilsTestStub.class/instance/accessing/oneTwo_.st
A Nautilus-Tests.package/NautilusUtilsTestStub.class/instance/accessing/one_.st
A Nautilus-Tests.package/NautilusUtilsTestStub.class/instance/accessing/one_two_.st
A Nautilus-Tests.package/NautilusUtilsTestStub.class/instance/accessing/two.st
A Nautilus-Tests.package/NautilusUtilsTestStub.class/instance/accessing/two_.st
A Nautilus-Tests.package/NautilusUtilsTestStub.class/instance/accessing/untestedOne.st
A Nautilus-Tests.package/NautilusUtilsTestStub.class/instance/accessing/untestedOneTwo_.st
A Nautilus-Tests.package/NautilusUtilsTestStub.class/instance/accessing/untestedOne_.st
A Nautilus-Tests.package/NautilusUtilsTestStub.class/instance/accessing/untestedOne_two_.st
A Nautilus-Tests.package/NautilusUtilsTestStub.class/instance/accessing/untestedTwo.st
A Nautilus-Tests.package/NautilusUtilsTestStub.class/instance/accessing/untestedTwo_.st
A Nautilus-Tests.package/NautilusUtilsTestStubTest.class/README.md
A Nautilus-Tests.package/NautilusUtilsTestStubTest.class/definition.st
A Nautilus-Tests.package/NautilusUtilsTestStubTest.class/instance/accessing/stubClass.st
A Nautilus-Tests.package/NautilusUtilsTestStubTest.class/instance/instance creation/newStub.st
A Nautilus-Tests.package/NautilusUtilsTestStubTest.class/instance/tests/testOne.st
A Nautilus-Tests.package/NautilusUtilsTestStubTest.class/instance/tests/testOneTwo.st
A Nautilus-Tests.package/NautilusUtilsTestStubTest.class/instance/tests/testTwo.st
A Nautilus-Tests.package/NautilusUtilsTestStubUntested.class/README.md
A Nautilus-Tests.package/NautilusUtilsTestStubUntested.class/definition.st
A Nautilus.package/AbstractMethodIconAction.class/instance/accessing/iconForTestResultOf_.st
M Nautilus.package/AbstractNautilusUI.class/instance/announcement registration/registerToTestAnnouncements.st
M Nautilus.package/AbstractNautilusUI.class/instance/icon caches/removeFromMethodsIconsCache_.st
A Nautilus.package/AbstractNautilusUI.class/instance/system announcements/testRan_.st
R Nautilus.package/AbstractNautilusUI.class/instance/system announcements/testRunned_.st
A Nautilus.package/AbstractNautilusUI.class/instance/updating/updateCategoryAndMethodList.st
A Nautilus.package/AbstractNautilusUI.class/instance/updating/updateCategoryAndMethodList_.st
M Nautilus.package/MethodIsTestAction.class/instance/order/privateActionIcon.st
M Nautilus.package/MethodWithCorrespondingTestAction.class/instance/order/privateActionIcon.st
M Nautilus.package/NautilusUI.class/class/menus behavior/runTestForAMethod_notifying_.st
A NautilusCommon.package/NautilusUtils.class/README.md
A NautilusCommon.package/NautilusUtils.class/class/utilities/correspondingTestCaseOf_.st
A NautilusCommon.package/NautilusUtils.class/class/utilities/correspondingTestMethodOf_.st
A NautilusCommon.package/NautilusUtils.class/class/utilities/correspondingTestedMethodsOf_.st
A NautilusCommon.package/NautilusUtils.class/class/utilities/isErrorTest_.st
A NautilusCommon.package/NautilusUtils.class/class/utilities/isFailedTest_.st
A NautilusCommon.package/NautilusUtils.class/class/utilities/isPassedTest_.st
A NautilusCommon.package/NautilusUtils.class/class/utilities/isTestMethod_.st
A NautilusCommon.package/NautilusUtils.class/definition.st
R NautilusCommon.package/extension/CompiledMethod/instance/correspondingMethods.st
M NautilusCommon.package/extension/CompiledMethod/instance/correspondingTestMethod.st
A NautilusCommon.package/extension/CompiledMethod/instance/correspondingTestedMethods.st
R NautilusCommon.package/extension/CompiledMethod/instance/hasErrorTest.st
R NautilusCommon.package/extension/CompiledMethod/instance/hasFailedTest.st
R NautilusCommon.package/extension/CompiledMethod/instance/hasPassedTest.st
A NautilusCommon.package/extension/CompiledMethod/instance/isErrorTest.st
A NautilusCommon.package/extension/CompiledMethod/instance/isFailedTest.st
A NautilusCommon.package/extension/CompiledMethod/instance/isPassedTest.st
M NautilusCommon.package/extension/CompiledMethod/instance/isTestMethod.st
A NautilusCommon.package/extension/RGClassDescriptionDefinition/instance/correspondingTestCase.st
R NautilusCommon.package/extension/RGMethodDefinition/instance/correspondingMethods.st
M NautilusCommon.package/extension/RGMethodDefinition/instance/correspondingTestMethod.st
A NautilusCommon.package/extension/RGMethodDefinition/instance/correspondingTestedMethods.st
R NautilusCommon.package/extension/RGMethodDefinition/instance/hasErrorTest.st
R NautilusCommon.package/extension/RGMethodDefinition/instance/hasFailedTest.st
R NautilusCommon.package/extension/RGMethodDefinition/instance/hasPassedTest.st
A NautilusCommon.package/extension/RGMethodDefinition/instance/isErrorTest.st
A NautilusCommon.package/extension/RGMethodDefinition/instance/isFailedTest.st
A NautilusCommon.package/extension/RGMethodDefinition/instance/isPassedTest.st
M NautilusCommon.package/extension/RGMethodDefinition/instance/isTestMethod.st
R NautilusCommon.package/extension/RGMethodDefinition/instance/literals.st
R NautilusCommon.package/extension/RGMethodDefinition/instance/numArgs.st
M NautilusCommon.package/extension/String/instance/transformSelectorForComparison.st
R NautilusCommon.package/extension/TClassDescription/instance/correspondingForTest.st
A NautilusCommon.package/extension/TClassDescription/instance/correspondingTestCase.st
A NautilusCommon.package/extension/TestCase/class/clearResultOfTestMethod_.st
R NautilusCommon.package/extension/TestCase/class/correspondingClass.st
A NautilusCommon.package/extension/TestCase/class/correspondingClassTested.st
A NautilusCommon.package/extension/TestCase/class/correspondingTestCase.st
M RPackage-Tests.package/RPackageOrganizerTest.class/instance/utility/quadrangleClass.st
A Ring-Core-Kernel.package/RGMethodDefinition.class/instance/accessing/numArgs.st
A Ring-Core-Kernel.package/RGMethodDefinition.class/instance/literals/literals.st
R ScriptLoader60.package/ScriptLoader.class/instance/pharo - scripts/script60195.st
A ScriptLoader60.package/ScriptLoader.class/instance/pharo - scripts/script60196.st
R ScriptLoader60.package/ScriptLoader.class/instance/pharo - updates/update60195.st
A ScriptLoader60.package/ScriptLoader.class/instance/pharo - updates/update60196.st
M ScriptLoader60.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st
Log Message:
-----------
60196
18974 A Nautilus fix to support class method tests
https://pharo.fogbugz.com/f/cases/18974
18991 asClass in RPackageTest
https://pharo.fogbugz.com/f/cases/18991
18989 asClass in BlueInk
https://pharo.fogbugz.com/f/cases/18989
19011 Integrate two double quotes inside comments
https://pharo.fogbugz.com/f/cases/19011
http://files.pharo.org/image/60/60196.zip
Aug. 31, 2016
[pharo-project/pharo-core]
by GitHub
Branch: refs/tags/60196
Home: https://github.com/pharo-project/pharo-core
Aug. 31, 2016
SUnit improvements need review and feedback
by Denis Kudriashov
Hi.
I am working on SUnit improvements. I open issue 19015
<https://pharo.fogbugz.com/f/cases/19015/Tests-should-never-hang-and-leave-f…>.
Slice is inbox which waits your review and feedback.
I was trying to address three problems:
*1) Tests should never hang. They should be always executed within time
limit.*
I give them 10 minutes for now to not change existing behaviour of tests.
At next step it should be really reduced to ~100 milliseconds (?).
Any TestCase could redefine time limit by method #defaultTimeLimit.
Or it could be specified directly in test code by
self timeLimit: 10 seconds
(could be changed at any time of test execution).
To implement this logic special watch dog process is running for given test
suite to control execution time of tests. It is single process for full
test suite.
*2) When test completes all forked processes should be terminated.*
If your tested code produced zombie processes SUnit will take care about
destroying all such garbage.
(it not means that you don't need to clean table in #tearDown but any code
could be broken and running tests should not produce dirty system).
*3) Any failures inside forked processes should not spawn debugger while
running tests.*
Only when we debug tests we need debugger on forked failed processes.
During normal run SUnit should prevent such "background debuggers" and mark
such tests as failed.
To implement this behaviour SUnit will handle errors from forked processes
by suspending them and collecting them in special collection.
I introduce TestFailedByForkedProcess error to signal these kind of
problems at the end of tests. This error is resumable and resume will opens
debuggers of suspended failures (in fact it will resume suspended
processes).
So to debug background failures you will need extra Proceed action on
debugger when TestFailedByForkedProcess is signalled.
But in normal run such tests will be just failed by
TestFailedByForkedProcess error.
*Now details on how it is done:*
I introduce special process specific variable CurrentExecutionEnvironment.
It is not installed by default and as default value it returns
DefaultExecutionEnvironment instance.
This variable is inheritable. If your install concrete environment into
process it will be installed to any child process.
So value of variable is instance of ExecutionEnvironment subclasses and you
can install it by:
anYourExecutionEnvironment beActiveDuring: aBlock
When block completes previous environment is restored.
For default environment there is class side method:
DefaultExecutionEnvironment beActiveDuring: aBlock
And to reset current environment to default:
DefaultExecutionEnvironment beActive.
SUnit introduces TestExecutionEnvironment which implements all described
behaviour for time limits and forked processes.
To activate environment there is new method #runCaseManaged. And submitted
slice uses it instead of simple runCase.
TestCase>>runCaseManaged
CurrentExecutionEnvironment runTestCase: self
DefaultExecutionEnvironment will install new TestExecutionEnvironment and
delegate processing to it. And if TestExecutionEnvironment is already
active it will just process new test case.
Now monkey has problem in checking slice (annoying timeout for loading).
So I can't see real system impact. But it should not stop you from review
:))
I think it is very important features for all our tests. And environment
idea will lead to very interesting future.
Best regards,
Denis
Aug. 31, 2016
Re: [Pharo-dev] About the non-use of Announcer in Bloc
by Glenn Cavarlé
Hi Denis,
> Problem that concurrent modification of OrderedCollection could just fail.
> You will got debugger.
Yes, effectively, if there are multiple threads that try to add an handler
on the same element at the same time, this could just fail.
To me, it is not a problem, it is just a rule: the scene graph is not
thread-safe.
When a developper have to do this kind of specific stuff, he has to know
that it is really not recommended and that he has to manage concurrency by
hand.
But yes, he could use #runLater:.
Maybe, Bloc will have to provide kind of Task (using TaskIt?) with a
specific api to ease ui synchronization using concurrency (later).
> In that case what to do if I need to be sure that I really subscribe on
> event and only after this continue my business logic process?
Weird use case, you mean that sometime your business behavior declared after
a subscription needs that the subscription have to be called before
continue?
Please can you be more explicit? For what i understand, it look like a
workaround or a conception issue.
> Very simple example: I want one shot handler for MouseMove to highlight
> element once to see that my mouse was moved around.
> So my handler will highlight target element and unsubscribe it
> immediately.
> Problem that if you do it on OrderedCollection during iteration you could
> skip one of the handlers. And probably some failures are also possible
> (debugger again).
Yes, thanks for pointing this issue, i didn't remember that #select:thenDo:
uses the index at each iteration.
I will update that using (handlers select:[...]) do:[...] instead. Since
#select: create a new collection, there should not be any problem.
> But in practice we never share any announcer instance. We always hide it
> inside owner object. ValueHolder is not specific example.
> Also ValueHolder is kind of active model for UI application which could be
> shared between different views. And when it will be modified in one view
> another view will be updated automatically.
I know what is a ValueHolder and how data binding is usefull in GUI.
I didn't say that NewValueHolder and Announcer are not good and i don't
think that, i just asked myself about why the use of Announcer in
NewValueHolder make it 5x slower only to ensure that it is thread-safe while
in most cases, all stuff is done in one thread.
It is why i didn't use NewValueHolder in Bloc. (I commited tests between
NewValueHolder and BlObservableProperty in Bloc-Tests).
If performances was not a critical issue in Bloc, obviously i would have
used NewValueHolder and Announcer because there are well done and well
tested.
> I wondering what the source of this constraint? Does Morphic follows it? I
> guess not, but all Pharo works quite well with it.
Just move you mouse quickly on screen and think about how many
MouseMoveEvent are generated by the system.
Yes, Morphic follows it. Morphic doesn't use Announcer for UI events and
concurrent modifications of a morph seems to be not thread-safe.
-----
Glenn Cavarlé
--
View this message in context: http://forum.world.st/About-the-non-use-of-Announcer-in-Bloc-tp4913008p4913…
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
Aug. 31, 2016
Re: [Pharo-dev] why is gt playground not saving the code
by Andrei Chis
On Wed, Aug 31, 2016 at 12:32 PM, Nicolai Hess <nicolaihess(a)gmail.com>
wrote:
>
>
> 2016-08-31 12:00 GMT+02:00 Peter Uhnák <i.uhnak(a)gmail.com>:
>
>> At this point Iâve lost cumulatively hours and hours of work due to
>> Playground not saving the code; so every time I crash I lose.
>>
>>
>>
>> In the picture below the code was demonstrably executed and yet itâs not
>> in the history and if I would crash (which happens several times a day in
>> âstableâ pharo 5) I would lose it. Not to mention that way too often I see
>> duplicate events in the history with identical codeâ¦
>>
>>
>>
>>
>>
>
> This was discussed a couple of time and we even had some bug-entries.
> But it is working that way "by-design".
> I don't understand why, but the current content is not shown in the
> history, only if you close the current playground window *withouth*
> deleteing the content.
>
I do not remember the previous discussion in details but I think we should
consider this a bug.
I'll open a bug report and try to dig the previous discussion about this
topic.
Cheers,
Andrei
> If the content is not shown in the history, it may be still in the
> play-cache folder.
>
>
>
>> Peter
>>
>
>
Aug. 31, 2016
Re: [Pharo-dev] why is gt playground not saving the code
by Nicolai Hess
2016-08-31 12:00 GMT+02:00 Peter Uhnák <i.uhnak(a)gmail.com>:
> At this point Iâve lost cumulatively hours and hours of work due to
> Playground not saving the code; so every time I crash I lose.
>
>
>
> In the picture below the code was demonstrably executed and yet itâs not
> in the history and if I would crash (which happens several times a day in
> âstableâ pharo 5) I would lose it. Not to mention that way too often I see
> duplicate events in the history with identical codeâ¦
>
>
>
>
>
This was discussed a couple of time and we even had some bug-entries.
But it is working that way "by-design".
I don't understand why, but the current content is not shown in the
history, only if you close the current playground window *withouth*
deleteing the content.
If the content is not shown in the history, it may be still in the
play-cache folder.
> Peter
>
Aug. 31, 2016
[pharo-project/pharo-core]
by GitHub
Branch: refs/tags/60195
Home: https://github.com/pharo-project/pharo-core
Aug. 31, 2016
[pharo-project/pharo-core] 9d68e3: 60195
by GitHub
Branch: refs/heads/6.0
Home: https://github.com/pharo-project/pharo-core
Commit: 9d68e35455cae474b2ec8b645213c3dd32b9bed7
https://github.com/pharo-project/pharo-core/commit/9d68e35455cae474b2ec8b64…
Author: Jenkins Build Server <board(a)pharo-project.org>
Date: 2016-08-31 (Wed, 31 Aug 2016)
Changed paths:
M Collections-Abstract.package/Collection.class/instance/testing/ifEmpty_.st
M Collections-Abstract.package/Collection.class/instance/testing/ifNotEmpty_.st
M Kernel-Tests.package/FractionTest.class/instance/tests - conversions/testIsPowerOfTwo.st
A Kernel-Tests.package/SemaphoreTest.class/instance/tests/testWaitTimeDuration.st
A Kernel-Tests.package/SemaphoreTest.class/instance/tests/testWaitTimeDurationWithCompletionAndTimeoutBlocks.st
M Kernel.package/Fraction.class/instance/testing/isPowerOfTwo.st
M Kernel.package/Point.class/instance/extent functions/scaleTo_.st
A Kernel.package/Semaphore.class/instance/communication/wait_.st
A Kernel.package/Semaphore.class/instance/communication/wait_onCompletion_onTimeout_.st
A Polymorph-Widgets-Rules.package/IconHardcodedMessageRule.class/README.md
A Polymorph-Widgets-Rules.package/IconHardcodedMessageRule.class/definition.st
A Polymorph-Widgets-Rules.package/IconHardcodedMessageRule.class/instance/accessing/group.st
A Polymorph-Widgets-Rules.package/IconHardcodedMessageRule.class/instance/accessing/name.st
A Polymorph-Widgets-Rules.package/IconHardcodedMessageRule.class/instance/accessing/severity.st
A Polymorph-Widgets-Rules.package/IconHardcodedMessageRule.class/instance/initialization/initialize.st
A Polymorph-Widgets-Rules.package/IconShortcutRule.class/README.md
A Polymorph-Widgets-Rules.package/IconShortcutRule.class/definition.st
A Polymorph-Widgets-Rules.package/IconShortcutRule.class/instance/accessing/group.st
A Polymorph-Widgets-Rules.package/IconShortcutRule.class/instance/accessing/name.st
A Polymorph-Widgets-Rules.package/IconShortcutRule.class/instance/accessing/severity.st
A Polymorph-Widgets-Rules.package/IconShortcutRule.class/instance/initialization/initialize.st
R ScriptLoader60.package/ScriptLoader.class/instance/pharo - scripts/script60194.st
A ScriptLoader60.package/ScriptLoader.class/instance/pharo - scripts/script60195.st
R ScriptLoader60.package/ScriptLoader.class/instance/pharo - updates/update60194.st
A ScriptLoader60.package/ScriptLoader.class/instance/pharo - updates/update60195.st
M ScriptLoader60.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st
A Text-Core.package/Text.class/instance/accessing/includesSubstring_.st
A Text-Core.package/Text.class/instance/accessing/includesSubstring_caseSensitive_.st
A Text-Tests.package/TextAndTextStreamTest.class/instance/tests/testIncludesSubstring.st
A Text-Tests.package/TextAndTextStreamTest.class/instance/tests/testIncludesSubstringCaseSensitive.st
Log Message:
-----------
60195
18033 Fraction isPowerOfTwo does too much work
https://pharo.fogbugz.com/f/cases/18033
19012 Added rules for icons
https://pharo.fogbugz.com/f/cases/19012
19013 Semaphore wait protocol based on duration
https://pharo.fogbugz.com/f/cases/19013
19005 Collection>>#ifEmpty: has useless return and wrong comment
https://pharo.fogbugz.com/f/cases/19005
18990 Text missing #includesSubstring: and includesSubstring:caseSensitive:
https://pharo.fogbugz.com/f/cases/18990
http://files.pharo.org/image/60/60195.zip
Aug. 31, 2016
Re: [Pharo-dev] About Pharo 60
by Peter Uhnak
On Wed, Aug 31, 2016 at 12:00:30PM +0200, Yuriy Tymchuk wrote:
> Ok, now I know what I want.
>
> I want a better way to document. Because Iâm trying to write a documentation about my stuff, but there are too many disconnected ways to do that. Iâm trying to always have reasonable class comments. But sometimes you need a more general description, so you write help topics which are disconnected from class comments. Yes, we can add help topics generated from class comments but thatâs too weak. Additionally I version my projects on github, so I want t doc there in readme, or on a wiki. Whatâs more I think that itâs a good idea to export doc to the web. Because when someone mentioned package manifest I started to google for it and could not find anything.
>
> My suggestions:
> - write comments in pillar and slowly add pillar support to enrich comment (documentation) styles
> - add a possibility to reference classes/methods and help topics from pillar comments
> - have exporters to generate html documentation about a project based on comments and help topics
> - then I will be able to add a hook to Icebeg telling it: ok, on commit also generate a doc and export it as MarkDown (because we can) and commit it as a README or as a wiki entry or whatever.
>
> This way we will have interconnected documentation in the image, and if it should be placed somewhere else we export it.
+14.
Knowing that I cannot verify that the documentation is sync with code is very discouraging to even start writing the docs. When I was writing a chapter for agile visualization, I had the examples as independent scripts which I could execute (I believe Pillar has added executable examples since then).
But there are more things than examples, e.g. a Travis could run "docs verification" that would look at all the code (so even method and class name references) and made sure they exist and are not, say, deprecated. As Pillar provides you with a real syntax tree this might not be so hard.
At least personally the above could be a real value for me with Pillar, because up until now it was just another document format (and there's a lot of better ones) with poor infrastructure. But deep integration with Pharo could make it really valuable, and we are getting there.
> - then I will be able to add a hook to Icebeg telling it: ok, on commit also generate a doc and export it as MarkDown (because we can) and commit it as a README or as a wiki entry or whatever.
so close :) https://github.com/peteruhnak/IconFactory/blob/master/repository/BaselineOf…
Peter
Aug. 31, 2016
why is gt playground not saving the code
by Peter Uhnák
At this point Iâve lost cumulatively hours and hours of work due to Playground not saving the code; so every time I crash I lose.
In the picture below the code was demonstrably executed and yet itâs not in the history and if I would crash (which happens several times a day in âstableâ pharo 5) I would lose it. Not to mention that way too often I see duplicate events in the history with identical codeâ¦
Peter
Aug. 31, 2016