Pharo-dev
By thread
pharo-dev@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- 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
- 1 participants
- 144619 messages
Re: [Pharo-project] Was not able to update with #12304
by Stéphane Ducasse
Torsten
Could you retry to update but closing all the windows?
Because we do not have any problems we could reproduce and it may be a strange behavior of he classBuilder.
Stef
On Jan 16, 2011, at 8:27 PM, Torsten Bergmann wrote:
> I was not able to update from a core 1.2 #12300 - it stopped
> while loading #12304 with the crash below.
> The last hudson build was 2 days ago.
>
>
> Bye
> T.
>
> ClassBuilder(Object)>>doesNotUnderstand: #reshapeClass:toSuper:
> Receiver: a ClassBuilder
> Arguments and temporary variables:
> aMessage: reshapeClass: MultiNewParagraph toSuper: NewParagraph
> exception: MessageNotUnderstood: receiver of "reshapeClass:toSuper:" is nil
> resumeValue: nil
> Receiver's instance variables:
> environ: a SystemDictionary(lots of globals)
> classMap: nil
> instVarMap: an IdentityDictionary()
> progress: [:barValArg |
> | barVal return newBarSize |
> barVal := barValArg.
> ret...etc...
> maxClassIndex: 3
> currentClassIndex: 1
>
> [:oldSubclass |
> | newSubclass |
> copyOfOldTraitComposition := copyOfOldClassTraitComposition := nil.
> oldSubclass hasTraitComposition
> ifTrue: [copyOfOldTraitComposition := oldSubclass traitComposition copyTraitExpression].
> oldSubclass class hasTraitComposition
> ifTrue: [copyOfOldClassTraitComposition := oldSubclass class traitComposition copyTraitExpression].
> newSubclass := self reshapeClass: oldSubclass toSuper: newClass.
> self mutate: oldSubclass to: newSubclass.
> copyOfOldTraitComposition
> ifNotNil: [newSubclass setTraitComposition: copyOfOldTraitComposition].
> copyOfOldClassTraitComposition
> ifNotNil: [newSubclass class setTraitComposition: copyOfOldClassTraitComposition]] in ClassBuilder>>mutate:to:
> Receiver: a ClassBuilder
> Arguments and temporary variables:
> newClass: MultiNewParagraph
> copyOfOldTraitComposition: NewParagraph
> copyOfOldClassTraitComposition: #(nil nil)
> oldSubclass: nil
> newSubclass: nil
> Receiver's instance variables:
> environ: a SystemDictionary(lots of globals)
> classMap: nil
> instVarMap: an IdentityDictionary()
> progress: [:barValArg |
> | barVal return newBarSize |
> barVal := barValArg.
> ret...etc...
> maxClassIndex: 3
> currentClassIndex: 1
>
> Array(SequenceableCollection)>>do:
> Receiver: {MultiNewParagraph}
> Arguments and temporary variables:
> aBlock: [:oldSubclass |
> | newSubclass |
> copyOfOldTraitComposition := copyOfOld...etc...
> index: 1
> indexLimiT: 1
> Receiver's instance variables:
> {MultiNewParagraph}
>
> ClassBuilder>>mutate:to:
> Receiver: a ClassBuilder
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> environ: a SystemDictionary(lots of globals)
> classMap: nil
> instVarMap: an IdentityDictionary()
> progress: [:barValArg |
> | barVal return newBarSize |
> barVal := barValArg.
> ret...etc...
> maxClassIndex: 3
> currentClassIndex: 1
>
> [self mutate: oldClass to: newClass] in ClassBuilder>>recompile:from:to:mutate:
> Receiver: a ClassBuilder
> Arguments and temporary variables:
> oldClass: NewParagraph
> newClass: NewParagraph
> Receiver's instance variables:
> environ: a SystemDictionary(lots of globals)
> classMap: nil
> instVarMap: an IdentityDictionary()
> progress: [:barValArg |
> | barVal return newBarSize |
> barVal := barValArg.
> ret...etc...
> maxClassIndex: 3
> currentClassIndex: 1
>
> [:bar |
> progress := bar.
> aBlock value] in ClassBuilder>>informUserDuring:
> Receiver: a ClassBuilder
> Arguments and temporary variables:
> aBlock: [:barValArg |
> | barVal return newBarSize |
> barVal := barValArg.
> retur...etc...
> bar: [self mutate: oldClass to: newClass]
> Receiver's instance variables:
> environ: a SystemDictionary(lots of globals)
> classMap: nil
> instVarMap: an IdentityDictionary()
> progress: [:barValArg |
> | barVal return newBarSize |
> barVal := barValArg.
> ret...etc...
> maxClassIndex: 3
> currentClassIndex: 1
>
> [:bar | aBlock value: bar] in MorphicUIManager>>informUserDuring:
> Receiver: a MorphicUIManager
> Arguments and temporary variables:
> aBlock: [:barValArg |
> | barVal return newBarSize |
> barVal := barValArg.
> retur...etc...
> bar: [:bar |
> progress := bar.
> aBlock value]
> Receiver's instance variables:
> interactiveParser: nil
>
> [result := workBlock value: progress] in [[result := workBlock value: progress]
> on: ProgressNotification
> do: [:ex |
> ex extraParam isString
> ifTrue: [SystemProgressMorph uniqueInstance labelAt: progress put: ex extraParam].
> ex resume]] in ProgressInitiationException>>defaultMorphicAction
> Receiver: ProgressInitiationException:
> Arguments and temporary variables:
> progress: [:barValArg |
> | barVal return newBarSize |
> barVal := barValArg.
> ret...etc...
> result: #(nil)
> Receiver's instance variables:
> messageText: nil
> tag: nil
> signalContext: ProgressInitiationException(Exception)>>signal
> handlerContext: nil
> outerContext: nil
> workBlock: [:bar | aBlock value: bar]
> maxVal: 100
> minVal: 1
> aPoint: 765@496
> progressTitle: ''
>
> BlockClosure>>on:do:
> Receiver: [result := workBlock value: progress]
> Arguments and temporary variables:
> exception: ProgressNotification
> handlerAction: [:ex |
> ex extraParam isString
> ifTrue: [SystemProgressMorph un...etc...
> handlerActive: true
> Receiver's instance variables:
> outerContext: [[result := workBlock value: progress]
> on: ProgressNotification...etc...
> startpc: 83
> numArgs: 0
>
> [[result := workBlock value: progress]
> on: ProgressNotification
> do: [:ex |
> ex extraParam isString
> ifTrue: [SystemProgressMorph uniqueInstance labelAt: progress put: ex extraParam].
> ex resume]] in ProgressInitiationException>>defaultMorphicAction
> Receiver: ProgressInitiationException:
> Arguments and temporary variables:
> progress: [:barValArg |
> | barVal return newBarSize |
> barVal := barValArg.
> ret...etc...
> result: #(nil)
> Receiver's instance variables:
> messageText: nil
> tag: nil
> signalContext: ProgressInitiationException(Exception)>>signal
> handlerContext: nil
> outerContext: nil
> workBlock: [:bar | aBlock value: bar]
> maxVal: 100
> minVal: 1
> aPoint: 765@496
> progressTitle: ''
>
> BlockClosure>>ensure:
> Receiver: [[result := workBlock value: progress]
> on: ProgressNotification
> do: [:ex |
> ex extr...etc...
> Arguments and temporary variables:
> aBlock: [SystemProgressMorph close: progress]
> complete: nil
> returnValue: nil
> Receiver's instance variables:
> outerContext: ProgressInitiationException>>defaultMorphicAction
> startpc: 77
> numArgs: 0
>
> ProgressInitiationException>>defaultMorphicAction
> Receiver: ProgressInitiationException:
> Arguments and temporary variables:
> progress: [:barValArg |
> | barVal return newBarSize |
> barVal := barValArg.
> ret...etc...
> result: #(nil)
> Receiver's instance variables:
> messageText: nil
> tag: nil
> signalContext: ProgressInitiationException(Exception)>>signal
> handlerContext: nil
> outerContext: nil
> workBlock: [:bar | aBlock value: bar]
> maxVal: 100
> minVal: 1
> aPoint: 765@496
> progressTitle: ''
> ...
> --
> Neu: GMX De-Mail - Einfach wie E-Mail, sicher wie ein Brief!
> Jetzt De-Mail-Adresse reservieren: http://portal.gmx.net/de/go/demail
>
Jan. 17, 2011
Re: [Pharo-project] aligning morphs
by Gary Chambers
It seems you are asking for the scroll value before the layout has been
calculated.
(since the window hasn't received a fullbounds yet).
| m scroll |
m := PanelMorph new.
m
hResizing: #shrinkWrap;
vResizing: #spaceFill;
changeTableLayout;
listDirection: #leftToRight.
m addMorphBack: (Morph new
minWidth: 100;
hResizing: #shrinkWrap;
vResizing: #spaceFill).
scroll := GeneralScrollPane new
changeScrollerTableLayout;
scrollTarget: m.
scroll openInWindow.
scroll hScrollbar setValue: 1.0.
m addMorphBack: (Morph new
minWidth: 100;
hResizing: #shrinkWrap;
vResizing: #spaceFill).
"Recalculate bounds now for this example... not generally needed for
normal code!"
scroll fullBounds.
"****"
scroll hScrollbar value
Is not normally an issue, as you can see from inspecting the scroller after
being opened.
Regards, Gary
----- Original Message -----
From: "Tudor Girba" <tudor.girba(a)gmail.com>
To: <Pharo-project(a)lists.gforge.inria.fr>
Sent: Sunday, January 16, 2011 10:56 AM
Subject: Re: [Pharo-project] aligning morphs
Hi Gary,
I would like to implement a Finder-like behavior the GeneralScrollPane. For
this, I would need a way to control the scrolling so that every time I add a
new morph, the scroller scrolls (similar to
ScrollBar>>animateValue:duration: from OB).
The problem seems to be that the scrollbar value is not updated when I add a
new morph. Take a look at the code below. The result of the horizontal
scrollbar value at the end is 1.0, while it should be lower. Am I doing
something wrong, or is this a problem?
| m scroll |
m := PanelMorph new.
m
hResizing: #shrinkWrap;
vResizing: #spaceFill;
changeTableLayout;
listDirection: #leftToRight;
m addMorphBack: (Morph new
minWidth: 100;
hResizing: #shrinkWrap;
vResizing: #spaceFill).
scroll := GeneralScrollPane new
changeScrollerTableLayout;
scrollTarget: m.
scroll openInWindow.
scroll hScrollbar setValue: 1.0.
m addMorphBack: (Morph new
minWidth: 100;
hResizing: #shrinkWrap;
vResizing: #spaceFill).
scroll hScrollbar value
==> 1.0
Cheers,
Doru
On 11 Jan 2011, at 15:17, Gary Chambers wrote:
> A slight revision as this has highlighted an edge case in the original
> class
> as to when scrollbars are needed...
>
> Regards, Gary
>
> ----- Original Message ----- From: "Tudor Girba" <tudor.girba(a)gmail.com>
> To: <Pharo-project(a)lists.gforge.inria.fr>
> Sent: Tuesday, January 11, 2011 1:53 PM
> Subject: Re: [Pharo-project] aligning morphs
>
>
> Excellent!
>
> I tried the example and it works well. I will work with it in the
> following days.
>
> Cheers,
> Doru
>
>
> On 11 Jan 2011, at 14:39, Gary Chambers wrote:
>
>> Try the attached change set with the following example...
>> Let me know if any use and we'll get it integrated.
>>
>> |m|
>> m := PanelMorph new.
>> m
>> fillStyle: Color green;
>> hResizing: #spaceFill;
>> vResizing: #spaceFill;
>> changeTableLayout;
>> layoutInset: 8.
>> m addMorph: (Morph new
>> height: 160;
>> minWidth: 100;
>> hResizing: #spaceFill;
>> vResizing: #shrinkWrap).
>> GeneralScrollPane new
>> changeScrollerTableLayout;
>> scrollTarget: m;
>> openInWindow
>>
>>
>> Regards, Gary
>>
>> ----- Original Message ----- From: "Tudor Girba" <tudor.girba(a)gmail.com>
>> To: <Pharo-project(a)lists.gforge.inria.fr>
>> Sent: Monday, January 10, 2011 8:23 PM
>> Subject: Re: [Pharo-project] aligning morphs
>>
>>
>> Wow, that would be great! I cannot wait to test it.
>>
>> Cheers,
>> Doru
>>
>>
>> On 10 Jan 2011, at 16:50, Gary Chambers wrote:
>>
>>> I may get time later in the week to have a go with GeneralScrollPane to
>>> support the feature you desire... ;-)
>>>
>>> Regards, Gary
>>>
>>> ----- Original Message ----- From: "Tudor Girba" <tudor.girba(a)gmail.com>
>>> To: <Pharo-project(a)lists.gforge.inria.fr>
>>> Cc: <Pharo-project(a)lists.gforge.inria.fr>
>>> Sent: Monday, January 10, 2011 2:23 PM
>>> Subject: Re: [Pharo-project] aligning morphs
>>>
>>>
>>> Hi Gary,
>>>
>>> Thanks for the reply.
>>>
>>> So, what would be required for scrollbars to work with spaceFill? I
>>> would really need this feature, but I do not know how to go about it.
>>>
>>> Could you or anyone else provide some hints? Of course code would be
>>> even better. But at this moment hi ts would be helpful, too :)
>>>
>>> Cheers,
>>> Doru
>>>
>>>
>>>
>>> On Jan 10, 2011, at 13:04, "Gary Chambers" <gazzaguru2(a)btinternet.com>
>>> wrote:
>>>
>>>> Hi Doru,
>>>>
>>>> #spaceFill constraints are typically only used by table layouts.
>>>> ScrollPane is designed for fixed size contents, at present.
>>>> Might be nice to extend it to honour any #spaceFill of its single
>>>> target morph.
>>>> This would simplify usage of scrollers quite a bit!
>>>>
>>>> Regards, Gary
>>>>
>>>> ----- Original Message ----- From: "Tudor Girba"
>>>> <tudor.girba(a)gmail.com>
>>>> To: "Pharo-project(a)lists.gforge.inria.fr Development"
>>>> <pharo-project(a)lists.gforge.inria.fr>
>>>> Sent: Saturday, January 08, 2011 1:22 AM
>>>> Subject: [Pharo-project] aligning morphs
>>>>
>>>>
>>>>
>>>> Hi,
>>>>
>>>> I would need help with understanding the magic behind alignment in
>>>> Morphic.
>>>>
>>>> Take the example from below. Could anyone help me with what I should do
>>>> to have the morph stretch all the way horizontally?
>>>>
>>>> | scroll window morph |
>>>> scroll := ScrollPane new.
>>>> scroll
>>>> fillStyle: (SolidFillStyle color: Color blue);
>>>> vResizing: #spaceFill;
>>>> hResizing: #spaceFill.
>>>> morph := PanelMorph new.
>>>> morph
>>>> fillStyle: (SolidFillStyle color: Color yellow);
>>>> changeTableLayout;
>>>> listDirection: #topToBottom;
>>>> vResizing: #shrinkWrap;
>>>> hResizing: #spaceFill;
>>>> layoutInset: 10.
>>>> morph addMorphBack: (SimpleButtonMorph new width: 200; height: 200).
>>>> scroll scroller addMorph: morph.
>>>> window := SystemWindow new.
>>>> window addMorph: scroll fullFrame: (LayoutFrame fractions: (0 @ 0
>>>> corner: 1 @ 1)).
>>>> window openInWorld
>>>>
>>>>
>>>> Cheers,
>>>> Doru
>>>>
>>>>
>>>> --
>>>> www.tudorgirba.com
>>>>
>>>> "Every thing should have the right to be different."
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>
>> --
>> www.tudorgirba.com
>>
>> "Problem solving efficiency grows with the abstractness level of problem
>> understanding."
>>
>>
>>
>> <GeneralScrollPaneLayout.1.cs>
>
> --
> www.tudorgirba.com
>
> "Some battles are better lost than fought."
>
>
>
> <GeneralScrollPaneLayout.2.cs>
--
www.tudorgirba.com
"In a world where everything is moving ever faster,
one might have better chances to win by moving slower."
Jan. 17, 2011
[Pharo-project] Issue 3542 in pharo: Add SmalltalkImage>>#gcBiasToGrow: and friends to core
by pharo@googlecode.com
Status: Accepted
Owner: adrian.l...(a)gmail.com
Labels: Milestone-1.2
New issue 3542 by adrian.l...(a)gmail.com: Add SmalltalkImage>>#gcBiasToGrow:
and friends to core
http://code.google.com/p/pharo/issues/detail?id=3542
These methods were added through the dev image, but obviously should also
be present in a deployment configuration.
I also added initializeMemorySettingsProfileSeaside, which should give a
better GC behavior for Seaside apps.
Attachments:
gcbiastogrow.2.cs 6.7 KB
Jan. 17, 2011
Re: [Pharo-project] pharogenesis
by Norbert Hartl
On 16.01.2011, at 21:46, Stéphane Ducasse wrote:
> I would love to have all these versions in a database and that we can query them :)
>
I thought the same. But then I didn't think about database. Wouldn't that be possible if the environment SystemDictionary is in full use? Would it be possible to import a version into a SystemDictionary that reflects one version and that is accesible through the class via class history?. Or is this a rather stupid idea?
Norbert
> On Jan 16, 2011, at 12:26 PM, Max Leske wrote:
>
>> Hi Geert
>>
>> Pharogenesis is my bachelors thesis and I'm still not finished writing it. I'll let you know when I'm finished.
>>
>> In short: I'm hosting a git repository on github that contains the information from the changes and sources files starting at Squeak version 1 up to Squeak 4.0 and Pharo 1.0. The idea is to have a single point of entry to that information so that one could for instance find out about every change to a method back to its creation.
>>
>> To accomplish this I built an implementation of git called GitFS that uses Filesystem (it's based on GitForSqueak by Tony Garnock-Jones). You can find everything on Squeaksource: http://squeaksource.com/@gUSXOmZmeac-jt63/3ejuPFSA
>> In that repo is also the code I use to generate the repository.
>>
>> Feel free to use the code and the repo but keep in mind that I'm still working on it.
>>
>> Max
>>
>>
>>
>> On 16.01.2011, at 11:38, Geert Claes wrote:
>>
>>>
>>> Hi Max, Can you tell us a little bit about pharogenesis?
>>> --
>>> View this message in context: http://forum.world.st/pharogenesis-tp3219872p3219893.html
>>> Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
>>>
>>
>>
>
>
Jan. 17, 2011
[Pharo-project] Unsubscribing for Announcements
by Sean P. DeNigris
I really like Announcements! It's so much easier to update complex GUIs when
you can pass state :)
I hit one glitch when unsubscribing... The CollaborActive book suggests
unsubscribing in #delete. For complex UIs, this doesn't seem to work
because #delete is only called for the one morph that was deleted, not for
its submorphs (which may need to unsubscribe).
I tried this:
MyMorph>>delete
super delete. "Must come first. Deleting a submorph before self =
emergency evaluator"
aSubmorphThatNeedsToUnsubscribe delete.
SubmorphMentionedAbove>>delete
self inventory announcer unsubscribe: self.
super delete.
But it seems like a lot of work and coupling. Is there no hook that is
guaranteed to be called when a morph is going away - i.e. it or a morph in
the owner chain is being deleted?
Thanks.
Sean
--
View this message in context: http://forum.world.st/Unsubscribing-for-Announcements-tp3220751p3220751.html
Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
Jan. 17, 2011
[Pharo-project] 502 Bad Gateway
by HwaJong Oh
I have this error while copying mcz file from my directory repo to
pharoInbox.
It was working well a minute ago.
'HTTP/1.1 502 Bad Gateway
Date: Mon, 17 Jan 2011 02:20:01 GMT
Server: Apache/1.3.41 (Darwin) mod_jk/1.2.6 mod_ssl/2.8.31 OpenSSL/0.9.7l
PHP/4.4.9
Last-Modified: Fri, 22 Dec 2006 12:14:34 GMT
ETag: "ee86f-a68-458bcc2a"
Accept-Ranges: bytes
Content-Length: 2664
Connection: close
Content-Type: text/html<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<link rel="stylesheet" type="text/css" href="/squeaksource/style.css" />
<meta name="verify-v1"
content="aYJ5chz2x0fRQuxMBS4pW+Ikb7hgtaBsysf18Fbt3q8=" />
<title>SqueakSource</title>
</head>
<body>
<div id="container">
<div id="top">
</div>
<div id="sstoolbar">
http://www.squeaksource.com/ Home
http://www.squeaksource.com/ Projects
http://www.squeaksource.com/ Tags
http://www.squeaksource.com/ Members
http://www.squeaksource.com/ Groups
http://www.squeaksource.com/ Help
</div>
<div id="page">
<div id="navigation">
<div class="title">
Actions
</div>
<div class="item">
http://www.squeaksource.com/ Refresh
</div>
</div>
<div id="contents">
<h1>SqueakSource Down</h1>
<p style="font-weight: bold; margin-left: 20px; margin-right: 220px;
line-height: 1.5em">
SqueakSource is currently down. We are sorry for the inconvenience and
working on the problem. In the meantime you can still commit to a
directory repository on your disk and later copy the versions to
SqueakSource.</p>
<p>This service is brought to you for free: it is backed up daily.
Still, please make sure that you have your own proper backups and
note
that we cannot give any accessibility guarantees. However, if you
wish
you can set up your own SqueakSource server. It is self-hosted and
can
be downloaded from SqueakMap.</p>
<p>Please report any problems or suggestions to the Squeak
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-dev
Mailing-List . Enjoy!</p>
<p>We gratefully acknowledge the support of the
http://www.iam.unibe.ch/%7Escg/ Software Composition Group and
the http://www.unibe.ch/ University of Bern for hosting
this service.</p>
</div>
<div id="bottom">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="left">
http://validator.w3.org/check/referer XHTML
| http://jigsaw.w3.org/css-validator/check/referer CSS
</td>
<td align="right">It''s a sad day</td>
</tr>
</table>
</div>
</div>
</body>
</html>
'
--
View this message in context: http://forum.world.st/502-Bad-Gateway-tp3220636p3220636.html
Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
Jan. 17, 2011
Re: [Pharo-project] Issue 2704 in pharo: Tests for broken withNoLineLongerThan: behavior.
by pharo@googlecode.com
Comment #6 on issue 2704 by elpochod...(a)gmail.com: Tests for broken
withNoLineLongerThan: behavior.
http://code.google.com/p/pharo/issues/detail?id=2704
I have another implementation for this method, which I think may be a bit
cleaner (and also passes all tests)
withNoLineLongerThan: maxWidth
"Answer a string with the same content as receiver, but rewrapped so that
no line has more characters than the given number"
| res size left right limit next |
size := self size.
maxWidth isNumber not | (maxWidth < 1) ifTrue: [self error: 'too narrow'].
^self class new: size * (maxWidth + 1) // maxWidth "provision for
supplementary line breaks"
streamContents: [ :stream |
right := 1.
[right <= size] whileTrue:
[
left := self indexOfAnyOf: CSNonSeparators startingAt: right ifAbsent:
[ ^stream next: size - left + 1 putAll: self startingAt: left; contents ].
limit := left + maxWidth - 1.
(limit >= size) ifTrue: [ ^stream next: size - left + 1 putAll: self
startingAt: left; contents ].
next := left.
[ next - 1 <= limit ] whileTrue: [
right := next.
next := self indexOfAnyOf: CSSeparators startingAt: next + 1 ifAbsent:
[ (next = left) ifTrue: [ limit + 1] ifFalse: [ limit+2 ] ].
(CSLineEnders includes: (self at: right)) ifTrue: [ next := limit+2].
].
stream next: right - left putAll: self startingAt: left.
(right <= size) ifTrue: [ stream cr ].
]
].
Jan. 17, 2011
Re: [Pharo-project] pharogenesis
by Stéphane Ducasse
I would love to have all these versions in a database and that we can query them :)
On Jan 16, 2011, at 12:26 PM, Max Leske wrote:
> Hi Geert
>
> Pharogenesis is my bachelors thesis and I'm still not finished writing it. I'll let you know when I'm finished.
>
> In short: I'm hosting a git repository on github that contains the information from the changes and sources files starting at Squeak version 1 up to Squeak 4.0 and Pharo 1.0. The idea is to have a single point of entry to that information so that one could for instance find out about every change to a method back to its creation.
>
> To accomplish this I built an implementation of git called GitFS that uses Filesystem (it's based on GitForSqueak by Tony Garnock-Jones). You can find everything on Squeaksource: http://squeaksource.com/@gUSXOmZmeac-jt63/3ejuPFSA
> In that repo is also the code I use to generate the repository.
>
> Feel free to use the code and the repo but keep in mind that I'm still working on it.
>
> Max
>
>
>
> On 16.01.2011, at 11:38, Geert Claes wrote:
>
>>
>> Hi Max, Can you tell us a little bit about pharogenesis?
>> --
>> View this message in context: http://forum.world.st/pharogenesis-tp3219872p3219893.html
>> Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
>>
>
>
Jan. 16, 2011
Re: [Pharo-project] PharoKernel-1.2-12306
by Stéphane Ducasse
Excellent!!!
> Hi all,
>
> I updated the PharoKernel to work with the latest core image. What do
> we need to prepare automatic Hudson builds?
A script and a bunch of file.
Cyrille can you help pavel because it would be great to have PharoKernel built automatically :)
>
> https://gforge.inria.fr/frs/download.php/28150/PharoKernel-1.2-12306.zip
>
> -- Pavel
>
Jan. 16, 2011
Re: [Pharo-project] Was not able to update with #12304
by Stéphane Ducasse
thanks for reporting. We will have a look tomorrow morning.
Igor I imagine that this is related to the NewParagraph change we did.
Stef
On Jan 16, 2011, at 8:27 PM, Torsten Bergmann wrote:
> I was not able to update from a core 1.2 #12300 - it stopped
> while loading #12304 with the crash below.
> The last hudson build was 2 days ago.
>
>
> Bye
> T.
>
> ClassBuilder(Object)>>doesNotUnderstand: #reshapeClass:toSuper:
> Receiver: a ClassBuilder
> Arguments and temporary variables:
> aMessage: reshapeClass: MultiNewParagraph toSuper: NewParagraph
> exception: MessageNotUnderstood: receiver of "reshapeClass:toSuper:" is nil
> resumeValue: nil
> Receiver's instance variables:
> environ: a SystemDictionary(lots of globals)
> classMap: nil
> instVarMap: an IdentityDictionary()
> progress: [:barValArg |
> | barVal return newBarSize |
> barVal := barValArg.
> ret...etc...
> maxClassIndex: 3
> currentClassIndex: 1
>
> [:oldSubclass |
> | newSubclass |
> copyOfOldTraitComposition := copyOfOldClassTraitComposition := nil.
> oldSubclass hasTraitComposition
> ifTrue: [copyOfOldTraitComposition := oldSubclass traitComposition copyTraitExpression].
> oldSubclass class hasTraitComposition
> ifTrue: [copyOfOldClassTraitComposition := oldSubclass class traitComposition copyTraitExpression].
> newSubclass := self reshapeClass: oldSubclass toSuper: newClass.
> self mutate: oldSubclass to: newSubclass.
> copyOfOldTraitComposition
> ifNotNil: [newSubclass setTraitComposition: copyOfOldTraitComposition].
> copyOfOldClassTraitComposition
> ifNotNil: [newSubclass class setTraitComposition: copyOfOldClassTraitComposition]] in ClassBuilder>>mutate:to:
> Receiver: a ClassBuilder
> Arguments and temporary variables:
> newClass: MultiNewParagraph
> copyOfOldTraitComposition: NewParagraph
> copyOfOldClassTraitComposition: #(nil nil)
> oldSubclass: nil
> newSubclass: nil
> Receiver's instance variables:
> environ: a SystemDictionary(lots of globals)
> classMap: nil
> instVarMap: an IdentityDictionary()
> progress: [:barValArg |
> | barVal return newBarSize |
> barVal := barValArg.
> ret...etc...
> maxClassIndex: 3
> currentClassIndex: 1
>
> Array(SequenceableCollection)>>do:
> Receiver: {MultiNewParagraph}
> Arguments and temporary variables:
> aBlock: [:oldSubclass |
> | newSubclass |
> copyOfOldTraitComposition := copyOfOld...etc...
> index: 1
> indexLimiT: 1
> Receiver's instance variables:
> {MultiNewParagraph}
>
> ClassBuilder>>mutate:to:
> Receiver: a ClassBuilder
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> environ: a SystemDictionary(lots of globals)
> classMap: nil
> instVarMap: an IdentityDictionary()
> progress: [:barValArg |
> | barVal return newBarSize |
> barVal := barValArg.
> ret...etc...
> maxClassIndex: 3
> currentClassIndex: 1
>
> [self mutate: oldClass to: newClass] in ClassBuilder>>recompile:from:to:mutate:
> Receiver: a ClassBuilder
> Arguments and temporary variables:
> oldClass: NewParagraph
> newClass: NewParagraph
> Receiver's instance variables:
> environ: a SystemDictionary(lots of globals)
> classMap: nil
> instVarMap: an IdentityDictionary()
> progress: [:barValArg |
> | barVal return newBarSize |
> barVal := barValArg.
> ret...etc...
> maxClassIndex: 3
> currentClassIndex: 1
>
> [:bar |
> progress := bar.
> aBlock value] in ClassBuilder>>informUserDuring:
> Receiver: a ClassBuilder
> Arguments and temporary variables:
> aBlock: [:barValArg |
> | barVal return newBarSize |
> barVal := barValArg.
> retur...etc...
> bar: [self mutate: oldClass to: newClass]
> Receiver's instance variables:
> environ: a SystemDictionary(lots of globals)
> classMap: nil
> instVarMap: an IdentityDictionary()
> progress: [:barValArg |
> | barVal return newBarSize |
> barVal := barValArg.
> ret...etc...
> maxClassIndex: 3
> currentClassIndex: 1
>
> [:bar | aBlock value: bar] in MorphicUIManager>>informUserDuring:
> Receiver: a MorphicUIManager
> Arguments and temporary variables:
> aBlock: [:barValArg |
> | barVal return newBarSize |
> barVal := barValArg.
> retur...etc...
> bar: [:bar |
> progress := bar.
> aBlock value]
> Receiver's instance variables:
> interactiveParser: nil
>
> [result := workBlock value: progress] in [[result := workBlock value: progress]
> on: ProgressNotification
> do: [:ex |
> ex extraParam isString
> ifTrue: [SystemProgressMorph uniqueInstance labelAt: progress put: ex extraParam].
> ex resume]] in ProgressInitiationException>>defaultMorphicAction
> Receiver: ProgressInitiationException:
> Arguments and temporary variables:
> progress: [:barValArg |
> | barVal return newBarSize |
> barVal := barValArg.
> ret...etc...
> result: #(nil)
> Receiver's instance variables:
> messageText: nil
> tag: nil
> signalContext: ProgressInitiationException(Exception)>>signal
> handlerContext: nil
> outerContext: nil
> workBlock: [:bar | aBlock value: bar]
> maxVal: 100
> minVal: 1
> aPoint: 765@496
> progressTitle: ''
>
> BlockClosure>>on:do:
> Receiver: [result := workBlock value: progress]
> Arguments and temporary variables:
> exception: ProgressNotification
> handlerAction: [:ex |
> ex extraParam isString
> ifTrue: [SystemProgressMorph un...etc...
> handlerActive: true
> Receiver's instance variables:
> outerContext: [[result := workBlock value: progress]
> on: ProgressNotification...etc...
> startpc: 83
> numArgs: 0
>
> [[result := workBlock value: progress]
> on: ProgressNotification
> do: [:ex |
> ex extraParam isString
> ifTrue: [SystemProgressMorph uniqueInstance labelAt: progress put: ex extraParam].
> ex resume]] in ProgressInitiationException>>defaultMorphicAction
> Receiver: ProgressInitiationException:
> Arguments and temporary variables:
> progress: [:barValArg |
> | barVal return newBarSize |
> barVal := barValArg.
> ret...etc...
> result: #(nil)
> Receiver's instance variables:
> messageText: nil
> tag: nil
> signalContext: ProgressInitiationException(Exception)>>signal
> handlerContext: nil
> outerContext: nil
> workBlock: [:bar | aBlock value: bar]
> maxVal: 100
> minVal: 1
> aPoint: 765@496
> progressTitle: ''
>
> BlockClosure>>ensure:
> Receiver: [[result := workBlock value: progress]
> on: ProgressNotification
> do: [:ex |
> ex extr...etc...
> Arguments and temporary variables:
> aBlock: [SystemProgressMorph close: progress]
> complete: nil
> returnValue: nil
> Receiver's instance variables:
> outerContext: ProgressInitiationException>>defaultMorphicAction
> startpc: 77
> numArgs: 0
>
> ProgressInitiationException>>defaultMorphicAction
> Receiver: ProgressInitiationException:
> Arguments and temporary variables:
> progress: [:barValArg |
> | barVal return newBarSize |
> barVal := barValArg.
> ret...etc...
> result: #(nil)
> Receiver's instance variables:
> messageText: nil
> tag: nil
> signalContext: ProgressInitiationException(Exception)>>signal
> handlerContext: nil
> outerContext: nil
> workBlock: [:bar | aBlock value: bar]
> maxVal: 100
> minVal: 1
> aPoint: 765@496
> progressTitle: ''
> ...
> --
> Neu: GMX De-Mail - Einfach wie E-Mail, sicher wie ein Brief!
> Jetzt De-Mail-Adresse reservieren: http://portal.gmx.net/de/go/demail
>
Jan. 16, 2011