<div dir="ltr"><div>Ah OK, I just blocked my image, restarted it, checked change of MorphicExtras package vs trunk and now all seems OK...<br></div>So it was indeed an abnormal image state. I should have tracked the bug before I killed the image, too bad.<br><div><div><div class="gmail_extra"><br><div class="gmail_quote">2017-12-01 1:49 GMT+01:00 David T. Lewis <span dir="ltr"><<a href="mailto:lewis@mail.msen.com" target="_blank">lewis@mail.msen.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I see MorphicExtras-nice.218 in trunk, and my image is updated to include it,<br>
so I do not think there is a problem.<br>
<br>
Maybe you are seeing a local package-cache issue, or the image cache. For me,<br>
doing "MCFileBasedRepository flushAllCaches" sometimes helps.<br>
<br>
Dave<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
On Fri, Dec 01, 2017 at 01:34:09AM +0100, Nicolas Cellier wrote:<br>
> There's somthing fishy here...<br>
> This mcz does not appear when I browse repository<br>
> <a href="http://source.squeak.org/trunk" rel="noreferrer" target="_blank">http://source.squeak.org/trunk</a> and I cannot upload a configuration with<br>
> this version...<br>
> That's why I republished (copied) but it does not seem to change anything???<br>
><br>
> 2017-12-01 1:30 GMT+01:00 <<a href="mailto:commits@source.squeak.org">commits@source.squeak.org</a>>:<br>
><br>
> > Nicolas Cellier uploaded a new version of MorphicExtras to project The<br>
> > Trunk:<br>
> > <a href="http://source.squeak.org/trunk/MorphicExtras-nice.218.mcz" rel="noreferrer" target="_blank">http://source.squeak.org/<wbr>trunk/MorphicExtras-nice.218.<wbr>mcz</a><br>
> ><br>
> > ==================== Summary ====================<br>
> ><br>
> > Name: MorphicExtras-nice.218<br>
> > Author: nice<br>
> > Time: 26 November 2017, 11:17:28.596315 pm<br>
> > UUID: c781b24f-85b2-4fca-941a-<wbr>dd8c2852a640<br>
> > Ancestors: MorphicExtras-dtl.217<br>
> ><br>
> > Change fancy categorization of FancyMailComposition methods.<br>
> ><br>
> > My arbitrary categorization might be less than perfect, but at least this<br>
> > makes testNoSpecialCategories pass.<br>
> ><br>
> > =============== Diff against MorphicExtras-dtl.217 ===============<br>
> ><br>
> > Item was changed:<br>
> > + ----- Method: FancyMailComposition>><wbr>addAttachment (in category<br>
> > 'actions') -----<br>
> > - ----- Method: FancyMailComposition>><wbr>addAttachment (in category '-- all<br>
> > --') -----<br>
> > addAttachment<br>
> > | file fileResult fileName |<br>
> > textEditor<br>
> > ifNotNil: [self hasUnacceptedEdits ifTrue: [textEditor<br>
> > accept]].<br>
> ><br>
> > (fileResult := StandardFileMenu oldFile)<br>
> > ifNotNil:<br>
> > [fileName := fileResult directory fullNameFor:<br>
> > fileResult name.<br>
> > file := FileStream readOnlyFileNamed: fileName.<br>
> > file ifNotNil:<br>
> > [file binary.<br>
> > self messageText:<br>
> > ((MailMessage from: self<br>
> > messageText asString)<br>
> > addAttachmentFrom:<br>
> > file withName: fileResult name; text).<br>
> > file close]] !<br>
> ><br>
> > Item was changed:<br>
> > + ----- Method: FancyMailComposition>><wbr>breakLines:atWidth: (in category<br>
> > 'private') -----<br>
> > - ----- Method: FancyMailComposition>><wbr>breakLines:atWidth: (in category<br>
> > '-- all --') -----<br>
> > breakLines: aString atWidth: width<br>
> > "break lines in the given string into shorter lines"<br>
> > | result atAttachment |<br>
> ><br>
> > result := WriteStream on: (String new: (aString size * 50 // 49)).<br>
> ><br>
> > atAttachment := false.<br>
> > aString asString linesDo: [ :line | | start end |<br>
> > (line beginsWith: '====') ifTrue: [ atAttachment := true ].<br>
> > atAttachment ifTrue: [<br>
> > "at or after an attachment line; no more wrapping<br>
> > for the rest of the message"<br>
> > result nextPutAll: line. result cr ]<br>
> > ifFalse: [<br>
> > (line beginsWith: '>') ifTrue: [<br>
> > "it's quoted text; don't wrap it"<br>
> > result nextPutAll: line. result cr. ]<br>
> > ifFalse: [<br>
> > "regular old line. Wrap it to multiple<br>
> > lines"<br>
> > start := 1.<br>
> > "output one shorter line each time<br>
> > through this loop"<br>
> > [ start + width <= line size ] whileTrue: [<br>
> ><br>
> > "find the end of the line"<br>
> > end := start + width - 1.<br>
> > [end >= start and: [ (line at:<br>
> > (end+1)) isSeparator not ]] whileTrue: [<br>
> > end := end - 1 ].<br>
> > end < start ifTrue: [<br>
> > "a word spans the entire<br>
> > width!!"<br>
> > end := start + width - 1 ].<br>
> ><br>
> > "copy the line to the output"<br>
> > result nextPutAll: (line copyFrom:<br>
> > start to: end).<br>
> > result cr.<br>
> ><br>
> > "get ready for next iteration"<br>
> > start := end+1.<br>
> > (line at: start) isSeparator<br>
> > ifTrue: [ start := start + 1 ].<br>
> > ].<br>
> ><br>
> > "write out the final part of the line"<br>
> > result nextPutAll: (line copyFrom: start<br>
> > to: line size).<br>
> > result cr.<br>
> > ].<br>
> > ].<br>
> > ].<br>
> ><br>
> > ^result contents!<br>
> ><br>
> > Item was changed:<br>
> > + ----- Method: FancyMailComposition>><wbr>breakLinesInMessage: (in category<br>
> > 'private') -----<br>
> > - ----- Method: FancyMailComposition>><wbr>breakLinesInMessage: (in category<br>
> > '-- all --') -----<br>
> > breakLinesInMessage: message<br>
> > "reformat long lines in the specified message into shorter ones"<br>
> > self flag: #TODO. "Maybe deprecated"<br>
> > message body mainType = 'text' ifTrue: [<br>
> > "it's a single-part text message. reformat the text"<br>
> > | newBodyText |<br>
> > newBodyText := self breakLines: message bodyText atWidth:<br>
> > 72.<br>
> > message body: (MIMEDocument contentType: message body<br>
> > contentType content: newBodyText).<br>
> ><br>
> > ^self ].<br>
> ><br>
> > message body isMultipart ifTrue: [<br>
> > "multipart message; process the top-level parts. HACK:<br>
> > the parts are modified in place"<br>
> > message parts do: [ :part |<br>
> > part body mainType = 'text' ifTrue: [<br>
> > | newBodyText |<br>
> > newBodyText := self breakLines: part<br>
> > bodyText atWidth: 72.<br>
> > part body: (MIMEDocument contentType: part<br>
> > body contentType content: newBodyText) ] ].<br>
> > message regenerateBodyFromParts. ].!<br>
> ><br>
> > Item was changed:<br>
> > + ----- Method: FancyMailComposition>>menuGet:<wbr>shifted: (in category<br>
> > 'interface') -----<br>
> > - ----- Method: FancyMailComposition>>menuGet:<wbr>shifted: (in category '--<br>
> > all --') -----<br>
> > menuGet: aMenu shifted: shifted<br>
> ><br>
> > aMenu addList: {<br>
> > {'find...(f)' translated. #find}.<br>
> > {'find selection again (g)' translated.<br>
> > #findAgain}.<br>
> > #-.<br>
> > {'accept (s)' translated. #accept}.<br>
> > {'send message' translated. #submit}}.<br>
> ><br>
> > ^aMenu.!<br>
> ><br>
> > Item was changed:<br>
> > + ----- Method: FancyMailComposition>><wbr>messageText (in category<br>
> > 'accessing') -----<br>
> > - ----- Method: FancyMailComposition>><wbr>messageText (in category '-- all<br>
> > --') -----<br>
> > messageText<br>
> > "return the current text"<br>
> > ^messageText.<br>
> > !<br>
> ><br>
> > Item was changed:<br>
> > + ----- Method: FancyMailComposition>><wbr>messageText: (in category<br>
> > 'accessing') -----<br>
> > - ----- Method: FancyMailComposition>><wbr>messageText: (in category '-- all<br>
> > --') -----<br>
> > messageText: aText<br>
> > "change the current text"<br>
> > messageText := aText.<br>
> > self changed: #messageText.<br>
> > ^true!<br>
> ><br>
> > Item was changed:<br>
> > + ----- Method: FancyMailComposition>><wbr>morphicOpen (in category 'user<br>
> > interface') -----<br>
> > - ----- Method: FancyMailComposition>><wbr>morphicOpen (in category '-- all<br>
> > --') -----<br>
> > morphicOpen<br>
> > "open an interface for sending a mail message with the given<br>
> > initial<br>
> > text "<br>
> > | textMorph buttonsList sendButton attachmentButton |<br>
> > morphicWindow := SystemWindow labelled: 'Mister Postman'.<br>
> > morphicWindow model: self.<br>
> > textEditor := textMorph := PluggableTextMorph<br>
> > on: self<br>
> > text: #messageText<br>
> > accept: #messageText:<br>
> > readSelection: nil<br>
> > menu: #menuGet:shifted:.<br>
> > morphicWindow addMorph: textMorph frame: (0 @ 0.1 corner: 1 @ 1).<br>
> > buttonsList := AlignmentMorph newRow.<br>
> > sendButton := PluggableButtonMorph<br>
> > on: self<br>
> > getState: nil<br>
> > action: #submit.<br>
> > sendButton<br>
> > hResizing: #spaceFill;<br>
> > vResizing: #spaceFill;<br>
> > label: 'send message';<br>
> > setBalloonText: 'Accept any unaccepted edits and add this<br>
> > to the queue of messages to be sent';<br>
> > onColor: Color white offColor: Color white.<br>
> > buttonsList addMorphBack: sendButton.<br>
> ><br>
> > attachmentButton := PluggableButtonMorph<br>
> > on: self<br>
> > getState: nil<br>
> > action: #addAttachment.<br>
> > attachmentButton<br>
> > hResizing: #spaceFill;<br>
> > vResizing: #spaceFill;<br>
> > label: 'add attachment';<br>
> > setBalloonText: 'Send a file with the message';<br>
> > onColor: Color white offColor: Color white.<br>
> > buttonsList addMorphBack: attachmentButton.<br>
> ><br>
> > morphicWindow addMorph: buttonsList frame: (0 @ 0 extent: 1 @ 0.1).<br>
> > morphicWindow openInWorld!<br>
> ><br>
> > Item was changed:<br>
> > + ----- Method: FancyMailComposition>>mvcOpen (in category 'user<br>
> > interface') -----<br>
> > - ----- Method: FancyMailComposition>>mvcOpen (in category '-- all --')<br>
> > -----<br>
> > mvcOpen<br>
> > | textView sendButton |<br>
> ><br>
> > mvcWindow := StandardSystemView new<br>
> > label: 'Mister Postman';<br>
> > minimumSize: 400@250;<br>
> > model: self.<br>
> ><br>
> > textView := PluggableTextView<br>
> > on: self<br>
> > text: #messageText<br>
> > accept: #messageText:.<br>
> > textEditor := textView controller.<br>
> ><br>
> > sendButton := PluggableButtonView<br>
> > on: self<br>
> > getState: nil<br>
> > action: #submit.<br>
> > sendButton label: 'Send'.<br>
> > sendButton borderWidth: 1.<br>
> ><br>
> > sendButton window: (1@1 extent: 398@38).<br>
> > mvcWindow addSubView: sendButton.<br>
> ><br>
> > textView window: (0@40 corner: 400@250).<br>
> > mvcWindow addSubView: textView below: sendButton.<br>
> ><br>
> > mvcWindow controller open.<br>
> ><br>
> ><br>
> > !<br>
> ><br>
> > Item was changed:<br>
> > + ----- Method: FancyMailComposition>>open (in category 'user interface')<br>
> > -----<br>
> > - ----- Method: FancyMailComposition>>open (in category '-- all --') -----<br>
> > open<br>
> > "open an interface"<br>
> ><br>
> > ^ Project current<br>
> > dispatchTo: self<br>
> > addPrefixAndSend: #Open<br>
> > withArguments: {}<br>
> > !<br>
> ><br>
> > Item was changed:<br>
> > + ----- Method: FancyMailComposition>>perform:<wbr>orSendTo: (in category<br>
> > 'private') -----<br>
> > - ----- Method: FancyMailComposition>>perform:<wbr>orSendTo: (in category '--<br>
> > all --') -----<br>
> > perform: selector orSendTo: otherTarget<br>
> ><br>
> > (self respondsTo: selector)<br>
> > ifTrue: [^self perform: selector]<br>
> > ifFalse: [^otherTarget perform: selector]<br>
> ><br>
> > !<br>
> ><br>
> > Item was changed:<br>
> > + ----- Method: FancyMailComposition>><wbr>sendMailMessage: (in category<br>
> > 'MailSender interface') -----<br>
> > - ----- Method: FancyMailComposition>><wbr>sendMailMessage: (in category '--<br>
> > all --') -----<br>
> > sendMailMessage: aMailMessage<br>
> > self messageText: aMailMessage text!<br>
> ><br>
> > Item was changed:<br>
> > + ----- Method: FancyMailComposition>><wbr>smtpServer (in category 'MailSender<br>
> > interface') -----<br>
> > - ----- Method: FancyMailComposition>><wbr>smtpServer (in category '-- all<br>
> > --') -----<br>
> > smtpServer<br>
> > ^MailSender smtpServer!<br>
> ><br>
> > Item was changed:<br>
> > + ----- Method: FancyMailComposition>>subject (in category 'accessing')<br>
> > -----<br>
> > - ----- Method: FancyMailComposition>>subject (in category 'access') -----<br>
> > subject<br>
> ><br>
> > ^ subject<br>
> ><br>
> > !<br>
> ><br>
> > Item was changed:<br>
> > + ----- Method: FancyMailComposition>>subject: (in category 'accessing')<br>
> > -----<br>
> > - ----- Method: FancyMailComposition>>subject: (in category 'access') -----<br>
> > subject: x<br>
> ><br>
> > subject := x.<br>
> > self changed: #subject.<br>
> > ^true!<br>
> ><br>
> > Item was changed:<br>
> > + ----- Method: FancyMailComposition>>to (in category 'accessing') -----<br>
> > - ----- Method: FancyMailComposition>>to (in category 'access') -----<br>
> > to<br>
> ><br>
> > ^to!<br>
> ><br>
> > Item was changed:<br>
> > + ----- Method: FancyMailComposition>>to: (in category 'accessing') -----<br>
> > - ----- Method: FancyMailComposition>>to: (in category 'access') -----<br>
> > to: x<br>
> ><br>
> > to := x.<br>
> > self changed: #to.<br>
> > ^true<br>
> > !<br>
> ><br>
> ><br>
> ><br>
<br>
><br>
<br>
<br>
</div></div></blockquote></div><br></div></div></div></div>